From 1dc0c6b24f2fced8ebbfa486d20b19364b4eb7a6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:39:19 +0200 Subject: [PATCH 001/162] New translations classclass.md (French) --- .../docusaurus-plugin-content-docs/current/API/ClassClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/ClassClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/ClassClass.md index 9d1cb639f79189..b1b0365605edcc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/ClassClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/ClassClass.md @@ -160,8 +160,8 @@ Vous pouvez passer un ou plusieurs paramètres optionnels *param*, qui seront pa :::note Notes -- Si `.new()` est appelé sur une [classe singleton](../Concepts/classes.md#singleton-classes) qui a déjà été instanciée, l'instance singleton est retournée, et non une nouvelle instance. -- Si `.new()` est appelé sur une classe inexistante, une erreur est retournée. + - Si `.new()` est appelé sur une [classe singleton](../Concepts/classes.md#singleton-classes) qui a déjà été instanciée, l'instance singleton est retournée, et non une nouvelle instance. + - Si `.new()` est appelé sur une classe inexistante, une erreur est retournée. ::: From 068119744b9a9f6faa409e73c1615c9609cac215 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:39:41 +0200 Subject: [PATCH 002/162] New translations document.md (French) --- .../current/API/Document.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/Document.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/Document.md index f026e9fde75c7c..e5c0997f07ca47 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/Document.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/Document.md @@ -320,8 +320,8 @@ Cette propriété est en **lecture seule**. La propriété `.original` renvoie l'élément cible d'un fichier alias, d'un raccourci ou d'un lien symbolique. L'élément cible peut être : -- un objet File -- un objet Folder + - un objet File + - un objet Folder Pour les fichiers sans alias, la propriété retourne le même objet File que le fichier. @@ -585,8 +585,8 @@ La fonction `.getText()` retourne le con Optionnellement, vous pouvez indiquer le jeu de caractères à utiliser pour la lecture du contenu. Vous pouvez passer soit : -- dans *charSetName*, une chaîne contenant le nom de jeu standard (par exemple "ISO-8859-1" ou "UTF-8"), -- ou dans *charSetNum*, l'ID MIBEnum (numéro) du nom du jeu standard. + - dans *charSetName*, une chaîne contenant le nom de jeu standard (par exemple "ISO-8859-1" ou "UTF-8"), + - ou dans *charSetNum*, l'ID MIBEnum (numéro) du nom du jeu standard. > Pour consulter la liste des jeux de caractères pris en charge par 4D, veuillez vous reporter à la description de la commande `CONVERT FROM TEXT`. From c57d89355adf85b0ddf600848e86aee7f5071488 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:39:56 +0200 Subject: [PATCH 003/162] New translations classclass.md (Spanish) --- .../docusaurus-plugin-content-docs/current/API/ClassClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/ClassClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/ClassClass.md index 513d2fdda8fdee..516b88ef8f1386 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/ClassClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/ClassClass.md @@ -160,8 +160,8 @@ Puede pasar uno o más parámetros opcionales *param*, que se pasarán a la [fun :::note Notas -- Si se llama a `.new()` en una [clase singleton](../Concepts/classes.md#singleton-classes) que ya ha sido instanciada, se devuelve la instancia singleton, no una nueva instancia. -- Si se llama a `.new()` en una clase inexistente, se devuelve un error. + - Si se llama a `.new()` en una [clase singleton](../Concepts/classes.md#singleton-classes) que ya ha sido instanciada, se devuelve la instancia singleton, no una nueva instancia. + - Si se llama a `.new()` en una clase inexistente, se devuelve un error. ::: From 81e041de6402d93ba71f0bdef40d7d26bdf70c7c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:40:17 +0200 Subject: [PATCH 004/162] New translations document.md (Spanish) --- .../current/API/Document.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/Document.md b/i18n/es/docusaurus-plugin-content-docs/current/API/Document.md index 8372233057679f..944900df8642e6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/Document.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/Document.md @@ -320,8 +320,8 @@ Esta propiedad es de **solo lectura**. La propiedad `.original` devuelveel elemento de destino para un alias, un acceso directo o un archivo de enlace simbólico. El elemento objetivo puede ser: -- un objeto File -- un objeto de la carpeta + - un objeto File + - un objeto de la carpeta Para los archivos sin alias, la propiedad devuelve el mismo objeto File que el archivo. @@ -585,8 +585,8 @@ La función `.getText()` devuelve el con Opcionalmente, puede designar el conjunto de caracteres que se utilizará para leer el contenido. Puede pasar: -- en *charSetName*, una cadena que contiene el nombre del conjunto estándar (por ejemplo "ISO-8859-1" o "UTF-8"), -- o en *charSetNum*, el ID MIBEnum (número) del nombre del conjunto estándar. + - en *charSetName*, una cadena que contiene el nombre del conjunto estándar (por ejemplo "ISO-8859-1" o "UTF-8"), + - o en *charSetNum*, el ID MIBEnum (número) del nombre del conjunto estándar. > Para conocer la lista de los conjuntos de caracteres que soporta 4D, consulte la descripción del comando `CONVERT FROM TEXT`. From d6def9a9b70f5c23385c239462b19637a4d1dd9b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:40:33 +0200 Subject: [PATCH 005/162] New translations classclass.md (Japanese) --- .../docusaurus-plugin-content-docs/current/API/ClassClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/ClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/ClassClass.md index 30be85fda23689..f17dade9988946 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/ClassClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/ClassClass.md @@ -160,8 +160,8 @@ title: Class :::note 注記 -- すでにインスタンス化されている [シングルトンクラス](../Concepts/classes.md#シングルトンクラス) に対して `.new()` を呼び出すと、新しいインスタンスではなくシングルトンインスタンスが返されます。 -- 存在しないクラスを対象に `.new()` を呼び出した場合、エラーが返されます。 + - すでにインスタンス化されている [シングルトンクラス](../Concepts/classes.md#シングルトンクラス) に対して `.new()` を呼び出すと、新しいインスタンスではなくシングルトンインスタンスが返されます。 + - 存在しないクラスを対象に `.new()` を呼び出した場合、エラーが返されます。 ::: From 2e99faa83f4c4a446115fc9599a855904e7ba59f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:40:54 +0200 Subject: [PATCH 006/162] New translations document.md (Japanese) --- .../current/API/Document.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/Document.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/Document.md index 1b71686ebb69e1..cb7edf57941cd8 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/Document.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/Document.md @@ -320,8 +320,8 @@ title: Document クラス `.original` プロパティは、エイリアス、ショートカット、シンボリックリンクファイルのターゲット要素を返します。 ターゲット要素は以下のいずれかです: ターゲット要素は以下のいずれかです: -- File オブジェクト -- Folder オブジェクト + - File オブジェクト + - Folder オブジェクト エイリアスでないファイルについては、プロパティは同じファイルオブジェクトをファイルとして返します。 @@ -585,8 +585,8 @@ $copy:=$source.copyTo(Folder("/PACKAGE");fk overwrite) 任意で、コンテンツの読み取りに使用する文字セットを渡します。 これには、次の二つの方法があります: -- *charSetName* に標準の文字セット名を含んだ文字列 ("ISO-8859-1" や "UTF-8" など) を渡します。 -- *charSetNum* に標準の文字セット名の MIBEnum ID (倍長整数) を渡します。 + - *charSetName* に標準の文字セット名を含んだ文字列 ("ISO-8859-1" や "UTF-8" など) を渡します。 + - *charSetNum* に標準の文字セット名の MIBEnum ID (倍長整数) を渡します。 > 4D によってサポートされている文字セットの一覧については、`CONVERT FROM TEXT` コマンドを参照ください。 From 54e7b5b6faf017303c55fe23ae5d0d4a7feb8607 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:41:08 +0200 Subject: [PATCH 007/162] New translations classclass.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/current/API/ClassClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/ClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/ClassClass.md index 51b288575d7208..ff6661f192e020 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/ClassClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/ClassClass.md @@ -160,8 +160,8 @@ Você pode passar um ou mais parâmetros *param* opcionais, que serão passados :::note Notas -- Se `.new()` for chamado em uma [singleton class](../Concepts/classes.md#singleton-classes) que já tenha sido instanciada, a instância singleton será retornada, e não uma nova instância. -- Se `.new()` for chamado em uma classe inexistente, será retornado um erro. + - Se `.new()` for chamado em uma [singleton class](../Concepts/classes.md#singleton-classes) que já tenha sido instanciada, a instância singleton será retornada, e não uma nova instância. + - Se `.new()` for chamado em uma classe inexistente, será retornado um erro. ::: From 95635fd68d512a789803b181826edea64f1a7b26 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:41:31 +0200 Subject: [PATCH 008/162] New translations document.md (Portuguese, Brazilian) --- .../current/API/Document.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/Document.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/Document.md index d474fd0e038e34..e7f4dff58d6d8f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/Document.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/Document.md @@ -320,8 +320,8 @@ Essa propriedade é **somente leitura**. A propriedade `.original` retorna o elemento de destino para um alias, um atalho ou um arquivo de link simbólico. O elemento alvo pode ser: -- um objeto File -- um objeto folder + - um objeto File + - um objeto folder Para arquivos não-alias, a propriedade retorna o mesmo objeto de arquivo que o arquivo. @@ -585,8 +585,8 @@ A função `.getText()` retorna o conte Opcionalmente, você pode designar o conjunto de caracteres a ser usado na leitura do conteúdo. Você pode passar também: -- em *charSetName*, uma string que contém o nome padrão definido (por exemplo "ISO-8859-1" ou "UTF-8"), -- ou em *charSetNum*, o MIBEnum ID (número) do nome de configuração padrão. + - em *charSetName*, uma string que contém o nome padrão definido (por exemplo "ISO-8859-1" ou "UTF-8"), + - ou em *charSetNum*, o MIBEnum ID (número) do nome de configuração padrão. > Para a lista de conjuntos de caracteres suportados por 4D, consulte a descrição do comando `CONVERT FROM TEXT`. From 0dfebeadc448ba04ac82d853abbf3f4af462b415 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:42:01 +0200 Subject: [PATCH 009/162] New translations smtptransporterclass.md (French) --- .../current/API/SMTPTransporterClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md index 098475b2abbeec..325787d945631f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md @@ -100,8 +100,8 @@ La propriété `.keepAlive` contient From 8046b6eb705306b6f4305ec7fdb28e0a330f9cbe Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:42:12 +0200 Subject: [PATCH 010/162] New translations webformclass.md (French) --- .../current/API/WebFormClass.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md index d16c4e85d76af2..3d92f3b48c546e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebFormClass.md @@ -55,8 +55,8 @@ La fonction `.disableState()` d Cette fonction ne fait rien si : -- l'*état* n'est actuellement pas activé dans le formulaire web, -- l'*état* n'existe pas pour le formulaire web. + - l'*état* n'est actuellement pas activé dans le formulaire web, + - l'*état* n'existe pas pour le formulaire web. Si vous [activez](#enablestate) ou désactivez plusieurs états dans la même fonction utilisateur, toutes les modifications sont envoyées en même temps au client une fois que la fonction se termine. @@ -80,8 +80,8 @@ La fonction `.enableState()` act Cette fonction ne fait rien si : -- l'*état* a déjà été activé sur le formulaire web, -- l'*état* n'existe pas pour le formulaire web. + - l'*état* a déjà été activé sur le formulaire web, + - l'*état* n'existe pas pour le formulaire web. Si vous activez ou [désactivez](#disablestate) plusieurs états dans la même fonction utilisateur, toutes les modifications sont envoyées en même temps au client une fois que la fonction se termine. From 92b371d1126ec62e750fca58ef5f006a93829b24 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:42:27 +0200 Subject: [PATCH 011/162] New translations smtptransporterclass.md (Spanish) --- .../current/API/SMTPTransporterClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md index 9b93abeaf870fe..c2aac8d8067a35 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md @@ -100,8 +100,8 @@ La propiedad `.keepAlive` contiene From f21e5edaa00d4676492595fa9bd288fa69d34283 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:42:36 +0200 Subject: [PATCH 012/162] New translations webformclass.md (Spanish) --- .../current/API/WebFormClass.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md index b22060e96f189f..c6b433cd74a1d7 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebFormClass.md @@ -55,8 +55,8 @@ La función `.disableState()` d Esta función no hace nada si: -- el *estado* no está habilitado actualmente en el formulario web, -- el *estado* no existe para el formulario web. + - el *estado* no está habilitado actualmente en el formulario web, + - el *estado* no existe para el formulario web. Si [activa](#enablestate) o desactiva varios estados en la misma función usuario, todas las modificaciones se envían al mismo tiempo al cliente una vez finalizada la función. @@ -80,8 +80,8 @@ La función `.enableState()` act Esta función no hace nada si: -- el *estado* ya ha sido activado en el formulario web, -- el *estado* no existe para el formulario web. + - el *estado* ya ha sido activado en el formulario web, + - el *estado* no existe para el formulario web. Si activa o [desactiva](#disablestate) varios estados dentro de la misma función usuario, todas las modificaciones se envían al mismo tiempo al cliente una vez que la función termina. From 8fcea441ecdc6559672d09c7f7b037a72faabd79 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:42:52 +0200 Subject: [PATCH 013/162] New translations smtptransporterclass.md (Japanese) --- .../current/API/SMTPTransporterClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md index 7d998df44714c1..6609af77779e06 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md @@ -100,8 +100,8 @@ SMTPステータスコードについての詳細は [こちらのページ](htt SMTP接続は、以下の場合に自動的に閉じられます: -- `.keepAlive` プロパティが true (デフォルト) の場合には、`transporter` オブジェクトが消去された時。 -- `.keepAlive` プロパティが false の場合には、各 `.send( )` 関数が実行された後。 + - `.keepAlive` プロパティが true (デフォルト) の場合には、`transporter` オブジェクトが消去された時。 + - `.keepAlive` プロパティが false の場合には、各 `.send( )` 関数が実行された後。 From 98e677e544f7980574e564fab03f9489d4e2d4bc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:43:15 +0200 Subject: [PATCH 014/162] New translations smtptransporterclass.md (Portuguese, Brazilian) --- .../current/API/SMTPTransporterClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md index 6e63bfc3fc3252..293adb31fe2f7b 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/SMTPTransporterClass.md @@ -100,8 +100,8 @@ A propriedade `.keepAlive` contém From 2d86cbde0db00e20d01339f73f90c446e56ea7ba Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:43:27 +0200 Subject: [PATCH 015/162] New translations websocketclass.md (French) --- .../current/API/WebSocketClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketClass.md index 97ee1a22f9519e..e8b5a0245406bc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketClass.md @@ -86,8 +86,8 @@ La fonction `4D.WebSocket.new()` crée e Dans *url*, indiquez l'URL à laquelle le serveur WebSocket répondra. Les modèles d'URL suivants peuvent être utilisés : -- `ws://host[:port]path[?query]` pour les connexions standard -- `wss://host[:port]path[?query]` pour les connexions TLS sécurisées + - `ws://host[:port]path[?query]` pour les connexions standard + - `wss://host[:port]path[?query]` pour les connexions TLS sécurisées Si la connexion n'est pas possible, un objet `null` est renvoyé et une erreur est générée (que vous pouvez intercepter à l'aide d'une méthode installée avec `ON ERR CALL`). @@ -95,8 +95,8 @@ Si la connexion n'est pas possible, un objet `null` est renvoyé et une erreur e Dans *connectionHandler*, vous pouvez transmettre un objet contenant des fonctions de callback à appeler selon les événements de connexion, ainsi que le type de données et les en-têtes à gérer. -- Les callbacks sont automatiquement appelées dans le contexte du formulaire ou du worker qui initie la connexion. -- La WebSocket reste valide tant que le formulaire ou le worker n'est pas fermé. + - Les callbacks sont automatiquement appelées dans le contexte du formulaire ou du worker qui initie la connexion. + - La WebSocket reste valide tant que le formulaire ou le worker n'est pas fermé. | Propriété | Type | Description | | ----------- | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -236,8 +236,8 @@ La fonction `.terminate()` refer Dans *code*, vous pouvez passer un code d'état expliquant pourquoi la connexion est fermée (voir aussi [WebSocket Connection Close Code in the RFC6455](https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5)) : -- S'il n'est pas spécifié, le code de fermeture de la connexion est automatiquement fixé à 1000 pour une fermeture normale, ou à une autre valeur standard dans la plage 1001-1015 qui indique la raison réelle de la fermeture de la connexion. -- Si elle est spécifiée, la valeur de ce paramètre de code remplace le réglage automatique. La valeur doit être un nombre entier. Soit 1000, soit un code personnalisé compris entre 3000 et 4999. Si vous spécifiez la valeur du \*code \* , vous devez également spécifier une *reason*. + - S'il n'est pas spécifié, le code de fermeture de la connexion est automatiquement fixé à 1000 pour une fermeture normale, ou à une autre valeur standard dans la plage 1001-1015 qui indique la raison réelle de la fermeture de la connexion. + - Si elle est spécifiée, la valeur de ce paramètre de code remplace le réglage automatique. La valeur doit être un nombre entier. Soit 1000, soit un code personnalisé compris entre 3000 et 4999. Si vous spécifiez la valeur du \*code \* , vous devez également spécifier une *reason*. Dans *reason*, vous pouvez passer une chaîne de caractères décrivant la raison pour laquelle la connexion est fermée. From f22999b1f78e14dd088e65a6e13a11c826161130 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:43:32 +0200 Subject: [PATCH 016/162] New translations websocketserverclass.md (French) --- .../current/API/WebSocketServerClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md index f9e929fbc81107..aca94359426e7e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md @@ -29,13 +29,13 @@ Voir également [cet article de blog](https://blog.4d.com/new-built-in-websocket Pour créer et gérer votre serveur WebSocket dans 4D, vous devrez utiliser deux classes intégrées à 4D : -- cette classe (`4D.WebSocketServer`) pour gérer le serveur lui-même, -- la classe [`4D.WebSocketConnection`](WebSocketConnectionClass.md) pour gérer les connexions et les messages. + - cette classe (`4D.WebSocketServer`) pour gérer le serveur lui-même, + - la classe [`4D.WebSocketConnection`](WebSocketConnectionClass.md) pour gérer les connexions et les messages. De plus, vous devrez créer deux classes utilisateurs qui contiendront les fonctions de callback : -- une classe utilisateur pour gérer les connexions serveur, -- une classe utilisateur pour gérer les messages. + - une classe utilisateur pour gérer les connexions serveur, + - une classe utilisateur pour gérer les messages. Vous devez [créer le serveur WebSocket](#4dwebsocketservernew) dans un [worker](../Develop/processes.md#worker-processes) pour maintenir la connexion en vie. @@ -387,8 +387,8 @@ Par défaut, si aucune valeur *timeout* n'est définie, la fonction initialise l Si une valeur *timeout* est définie : -- lorsque le temps d'attente est atteint, détruit de force la socket. -- si *timeout* = 0, détruit de force la socket sans trame de fermeture ni d'échange de paquets FIN, et le fait instantanément sans délai d'attente. + - lorsque le temps d'attente est atteint, détruit de force la socket. + - si *timeout* = 0, détruit de force la socket sans trame de fermeture ni d'échange de paquets FIN, et le fait instantanément sans délai d'attente. From a3a3e136401f03e3ec043971bf85757f6c5b7589 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:43:48 +0200 Subject: [PATCH 017/162] New translations websocketclass.md (Spanish) --- .../current/API/WebSocketClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketClass.md index 54894c3af956cc..e89f0eed941e0f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketClass.md @@ -86,8 +86,8 @@ La función `4D.WebSocket.new()` crea y En *url*, pase la URL a la que responderá el servidor WebSocket. Se pueden utilizar los siguientes patrones de URL: -- `ws://host[:port]path[?query]` para conexiones estándar -- `wss://host[:port]path[?query]` para conexiones seguras TLS + - `ws://host[:port]path[?query]` para conexiones estándar + - `wss://host[:port]path[?query]` para conexiones seguras TLS Si la conexión no es posible, se devuelve un objeto `null` y se genera un error (que puede interceptar utilizando un método instalado con `ON ERR CALL`). @@ -95,8 +95,8 @@ Si la conexión no es posible, se devuelve un objeto `null` y se genera un error En *connectionHandler*, puede pasar un objeto que contenga funciones de retrollamada a ser llamadas según los eventos de conexión, así como el tipo de datos y encabezados a manejar. -- Las retrollamadas se llaman automáticamente en el contexto del formulario o worker que inicia la conexión. -- El WebSocket será válido siempre y cuando el formulario o trabajador no esté cerrado. + - Las retrollamadas se llaman automáticamente en el contexto del formulario o worker que inicia la conexión. + - El WebSocket será válido siempre y cuando el formulario o trabajador no esté cerrado. | Propiedad | Tipo | Descripción | | ----------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -236,8 +236,8 @@ La función `.terminate()` cierr En *code*, puede pasar un código de estado que explique por qué se está cerrando la conexión (ver también [WebSocket Connection Close Code in the RFC6455](https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5)): -- Si no se especifica, el código de cierre de la conexión se establece automáticamente en 1000 para un cierre normal o, en caso contrario, en otro valor estándar del rango 1001-1015 que indique la razón real por la que se cerró la conexión. -- Si se especifica, el valor de este parámetro de código anula el ajuste automático. El valor debe ser un número entero. O 1000, o un código personalizado en el rango 3000-4999. Si especifica un valor *code*, también debe especificar un valor *reason*. + - Si no se especifica, el código de cierre de la conexión se establece automáticamente en 1000 para un cierre normal o, en caso contrario, en otro valor estándar del rango 1001-1015 que indique la razón real por la que se cerró la conexión. + - Si se especifica, el valor de este parámetro de código anula el ajuste automático. El valor debe ser un número entero. O 1000, o un código personalizado en el rango 3000-4999. Si especifica un valor *code*, también debe especificar un valor *reason*. En *reason*, puede pasar una cadena que describa por qué se está cerrando la conexión. From 2b9443efe1625d5a5948ec685761b54d1e2cce86 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:43:52 +0200 Subject: [PATCH 018/162] New translations websocketserverclass.md (Spanish) --- .../current/API/WebSocketServerClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md index dd24f32e2a209e..7a39dc1916d619 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md @@ -29,13 +29,13 @@ Ver también [esta entrada de blog](https://blog.4d.com/new-built-in-websocket-s Para crear y manejar su Servidor WebSocket en 4D, tendrá que utilizar dos clases 4D integradas: -- esta clase (`4D.WebSocketServer`) para gestionar el propio servidor, -- la clase [`4D.WebSocketConnection`](WebSocketConnectionClass.md) para administrar conexiones y mensajes. + - esta clase (`4D.WebSocketServer`) para gestionar el propio servidor, + - la clase [`4D.WebSocketConnection`](WebSocketConnectionClass.md) para administrar conexiones y mensajes. Además, tendrá que crear dos clases de usuario que contendrán funciones de retrollamada: -- una clase usuario para gestionar las conexiones al servidor, -- una clase usuario para gestionar mensajes. + - una clase usuario para gestionar las conexiones al servidor, + - una clase usuario para gestionar mensajes. Debe [crear el servidor WebSocket](#4dwebsocketservernew) dentro de un [worker](../Develop/processes.md#worker-processes) para mantener viva la conexión. @@ -387,8 +387,8 @@ De forma predeterminada, si no se establece un valor *timeout*, la función inic Si se establece un valor de *timeout*: -- cuando se alcanza el tiempo de espera, destruye forzosamente el socket. -- si *timeout* = 0, destruye el socket de forma forzada sin cerrar los frames ni intercambiar paquetes fin, y lo hace al instante sin esperar. + - cuando se alcanza el tiempo de espera, destruye forzosamente el socket. + - si *timeout* = 0, destruye el socket de forma forzada sin cerrar los frames ni intercambiar paquetes fin, y lo hace al instante sin esperar. From 593dc12724fc85c6ae945ab80e909bc377315958 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:07 +0200 Subject: [PATCH 019/162] New translations webformclass.md (Japanese) --- .../current/API/WebFormClass.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md index 5cab3d46d6789e..4263a51c3caa38 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebFormClass.md @@ -56,8 +56,8 @@ Webフォームのコンポーネント (構成要素) とは、これらの Web この関数は、以下の場合には何もしません: -- Webフォーム上で *state* が現在有効ではない。 -- Webフォーム上で *state* が存在しない。 + - Webフォーム上で *state* が現在有効ではない。 + - Webフォーム上で *state* が存在しない。 同じユーザー関数内で複数の state を [有効化](#enablestate) または無効化した場合、すべての変更は関数の終了時に一括してクライアントに送信されます。 @@ -82,8 +82,8 @@ Webフォームの state に関する詳細については、[developer.qodly.co この関数は、以下の場合には何もしません: -- Webフォーム上で *state* がすでに有効である。 -- Webフォーム上で *state* が存在しない。 + - Webフォーム上で *state* がすでに有効である。 + - Webフォーム上で *state* が存在しない。 同じユーザー関数内で複数の state を有効化または [無効化](#disablestate)した場合、すべての変更は関数の終了時に一括してクライアントに送信されます。 From 252647fabc2020c29e44d614431bd16c55a09933 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:15 +0200 Subject: [PATCH 020/162] New translations websocketclass.md (Japanese) --- .../current/API/WebSocketClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketClass.md index eacb93bd59f35f..fde54ce68e3b01 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketClass.md @@ -86,8 +86,8 @@ WebSocketオブジェクトは、以下のプロパティと機能を提供し *url*には、WebSocketサーバーが応答する URL を渡します。 以下の URLパターンが使用できます: -- 標準接続用: `ws://host[:port]path[?query]` -- TLSセキュア接続用: `wss://host[:port]path[?query]` + - 標準接続用: `ws://host[:port]path[?query]` + - TLSセキュア接続用: `wss://host[:port]path[?query]` 接続できない場合、`null` オブジェクトが返され、エラーが生成されます (このエラーは `ON ERR CALL` で実装したメソッドによってインターセプトできます)。 @@ -95,8 +95,8 @@ WebSocketオブジェクトは、以下のプロパティと機能を提供し *connectionHandler* には、接続イベントに応じて呼び出されるコールバック関数のほか、処理するデータ型やヘッダーを含むオブジェクトを渡すことができます。 -- コールバックは、接続を開始したフォームまたはワーカーのコンテキストで自動的に呼び出されます。 -- フォームまたはワーカーが閉じられていない限り、WebSocket は有効です。 + - コールバックは、接続を開始したフォームまたはワーカーのコンテキストで自動的に呼び出されます。 + - フォームまたはワーカーが閉じられていない限り、WebSocket は有効です。 | プロパティ | 型 | 説明 | | ----------- | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -236,8 +236,8 @@ This.headers.Cookie:="yummy_cookie=choco; tasty_cookie=strawberry" *code* には、接続を閉じる理由を説明するステータスコードを渡すことができます ([RFC6455 の WebSocket Connection Close Code](https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5) も参照ください): -- 指定しなかった場合、接続のクローズコードは自動的に設定されます: 通常終了の場合は 1000、そうでない場合は、接続が切断された実際の理由を示す 1001〜1015 の標準値。 -- 指定された場合、この code パラメーターの値は自動設定の値をオーバーライドします。 値は整数でなくてはなりません。 1000、または 3000-4999 の範囲のカスタムコードが利用できます。 *code* を指定する場合は、*reason* の値も指定する必要があります。 + - 指定しなかった場合、接続のクローズコードは自動的に設定されます: 通常終了の場合は 1000、そうでない場合は、接続が切断された実際の理由を示す 1001〜1015 の標準値。 + - 指定された場合、この code パラメーターの値は自動設定の値をオーバーライドします。 値は整数でなくてはなりません。 1000、または 3000-4999 の範囲のカスタムコードが利用できます。 *code* を指定する場合は、*reason* の値も指定する必要があります。 *reason* には、接続を閉じる理由を説明するテキストを渡すことができます。 From c6d63d5b7467252b693d222d1e04008e74eecf93 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:20 +0200 Subject: [PATCH 021/162] New translations websocketserverclass.md (Japanese) --- .../current/API/WebSocketServerClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md index 14752f7a1265e9..84edc11d112719 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md @@ -29,13 +29,13 @@ WebSocketプロトコルは、WebSocketサーバーとクライアント (Webブ 4D で WebSocketサーバーを作成し、扱うには、4Dビルトインクラスを 2つ使用する必要があります。 -- このクラス (`4D.WebSocketServer`) は、サーバー自体を管理するためのものです。 -- [`4D.WebSocketConnection`](WebSocketConnectionClass.md) クラスを使用して、接続とメッセージを管理します。 + - このクラス (`4D.WebSocketServer`) は、サーバー自体を管理するためのものです。 + - [`4D.WebSocketConnection`](WebSocketConnectionClass.md) クラスを使用して、接続とメッセージを管理します。 さらに、2つのユーザークラスを作成し、コールバック関数を定義する必要があります: -- サーバー接続を処理するためのユーザークラス -- メッセージを処理するためのユーザークラス + - サーバー接続を処理するためのユーザークラス + - メッセージを処理するためのユーザークラス 接続を維持するため、[WebSocketサーバーの作成](#4dwebsocketservernew) は [ワーカー](../Develop/processes.md#worker-プロセス) 内にて行う必要があります。 @@ -387,8 +387,8 @@ Function broadcast($ws : 4D.WebSocketConnection; $message:text) *timeout* 値が設定されている場合: -- 待機時間に達したら強制的にソケットを破棄します。 -- *timeout* = 0 の場合、クローズフレームや、FINパケットの交換なしで、強制的かつ即座にソケットを破棄します。 + - 待機時間に達したら強制的にソケットを破棄します。 + - *timeout* = 0 の場合、クローズフレームや、FINパケットの交換なしで、強制的かつ即座にソケットを破棄します。 From acfc91d9ad16d7daf208d0e0796b139ec2c518ae Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:31 +0200 Subject: [PATCH 022/162] New translations webformclass.md (Portuguese, Brazilian) --- .../current/API/WebFormClass.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md index 72094b45cc78fb..4b46b5c6dcc890 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebFormClass.md @@ -55,8 +55,8 @@ A função `.disableState()` de Essa função não faz nada se: -- o *estado* não está habilitado no momento no formulário Web, -- o *estado* não existe para o formulário Web. + - o *estado* não está habilitado no momento no formulário Web, + - o *estado* não existe para o formulário Web. Se você [enable](#enablestate) ou desativar vários estados na mesma função de usuário, todas as modificações são enviadas em simultâneo, para o cliente quando a função termina. @@ -80,8 +80,8 @@ A função `.enableState()` ativ Essa função não faz nada se: -- o *estado* já foi ativado no formulário Web, -- o *estado* não existe para o formulário Web. + - o *estado* já foi ativado no formulário Web, + - o *estado* não existe para o formulário Web. Se você ativar ou [desativar](#disablestate) vários estados dentro da mesma função de usuário, todas as modificações serão enviadas ao mesmo tempo, para o cliente quando a função terminar. From 15f685dfac56c6a6bb9fd97ba3da10505e094c04 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:36 +0200 Subject: [PATCH 023/162] New translations websocketclass.md (Portuguese, Brazilian) --- .../current/API/WebSocketClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketClass.md index e6033ed940d735..ca94ba2f4d4146 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketClass.md @@ -86,8 +86,8 @@ A função `4D.WebSocket.new()` cria e Em *url*, passe o URL ao qual o servidor WebSocket responderá. Podem ser utilizados os seguintes padrões de URL: -- `ws://host[:port]path[?query]` para ligações padrão -- `wss://host[:port]path[?query]` para conexões TLS seguras + - `ws://host[:port]path[?query]` para ligações padrão + - `wss://host[:port]path[?query]` para conexões TLS seguras Se a ligação não for possível, é devolvido um objeto `null` sendo gerado um erro (que pode ser intersetado através de um método instalado com `ON ERR CALL`). @@ -95,8 +95,8 @@ Se a ligação não for possível, é devolvido um objeto `null` sendo gerado um Em *connectionHandler*, você pode passar um objeto que contém funções de callback a serem chamadas de acordo com eventos de conexão, bem como o tipo de dados e os cabeçalhos a serem tratados. -- As chamadas de retorno são chamadas automaticamente no contexto do formulário ou do worker que inicia a ligação. -- O WebSocket será válido enquanto o formulário ou o worker não for fechado. + - As chamadas de retorno são chamadas automaticamente no contexto do formulário ou do worker que inicia a ligação. + - O WebSocket será válido enquanto o formulário ou o worker não for fechado. | Propriedade | Tipo | Descrição | | ----------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -236,8 +236,8 @@ A função `.terminate()` fecha Em *code*, você pode passar um código de estado explicando porque a conexão está sendo fechada (consulte também [WebSocket Connection Close Code in the RFC6455](https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5)): -- Se não for especificado, um código de fechamento da conexão será automaticamente definido como 1000 para um fechamento normal ou, caso contrário, como outro valor padrão no intervalo 1001-1015 que indique o motivo real pelo qual a conexão foi fechada. -- Se especificado, o valor desse parâmetro de código substitui a configuração automática. O valor deve ser um número inteiro. Ou 1000, ou um código personalizado no intervalo 3000-4999. Se você especificar um valor *code*, também deverá especificar um valor *reason*. + - Se não for especificado, um código de fechamento da conexão será automaticamente definido como 1000 para um fechamento normal ou, caso contrário, como outro valor padrão no intervalo 1001-1015 que indique o motivo real pelo qual a conexão foi fechada. + - Se especificado, o valor desse parâmetro de código substitui a configuração automática. O valor deve ser um número inteiro. Ou 1000, ou um código personalizado no intervalo 3000-4999. Se você especificar um valor *code*, também deverá especificar um valor *reason*. Em *reason*, você pode passar uma frase descrevendo porque a conexão está sendo fechada. From 26cfb15ce5d980a0ec2461bb69f8367827f2861e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:40 +0200 Subject: [PATCH 024/162] New translations websocketserverclass.md (Portuguese, Brazilian) --- .../current/API/WebSocketServerClass.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md index 4fd51bb7b34faa..50a87f6cc1943a 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/WebSocketServerClass.md @@ -29,13 +29,13 @@ Consulte também [esta postagem no blog](https://blog.4d.com/new-built-in-websoc Para criar e manipular seu servidor WebSocket em 4D, é preciso usar duas classes embutidas em 4D: -- essa classe (`4D.WebSocketServer`) para gerenciar o próprio servidor, -- a classe [`4D.WebSocketConnection`](WebSocketConnectionClass.md) para gerir as ligações e as mensagens. + - essa classe (`4D.WebSocketServer`) para gerenciar o próprio servidor, + - a classe [`4D.WebSocketConnection`](WebSocketConnectionClass.md) para gerir as ligações e as mensagens. Além disso, terá de criar duas classes de utilizador que conterão funções de retorno de chamada: -- uma classe de usuário para tratar as ligações ao servidor, -- uma classe de usuário para tratar as mensagens. + - uma classe de usuário para tratar as ligações ao servidor, + - uma classe de usuário para tratar as mensagens. Você deve [criar o servidor WebSocket](#4dwebsocketservernew) em um [worker](../Develop/processes.md#worker-processes) para manter a conexão ativa. @@ -387,8 +387,8 @@ Por padrão, se nenhum valor de *timeout* for definido, a função inicializa o Se um valor *timeout* for definido: -- quando o tempo de espera é alcançado, a força destrói o meio. -- se *timeout* = 0, forçando a destruir o soquete sem fechar quadros ou trocar pacotes finos, e instantaneamente sem tempo de espera. + - quando o tempo de espera é alcançado, a força destrói o meio. + - se *timeout* = 0, forçando a destruir o soquete sem fechar quadros ou trocar pacotes finos, e instantaneamente sem tempo de espera. From 7392654ead3ddff6e303140dae9379d69b98c73b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:53 +0200 Subject: [PATCH 025/162] New translations tls.md (French) --- i18n/fr/docusaurus-plugin-content-docs/current/Admin/tls.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Admin/tls.md b/i18n/fr/docusaurus-plugin-content-docs/current/Admin/tls.md index 15fa3a1edc3888..1a00f13c69ea54 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Admin/tls.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Admin/tls.md @@ -136,10 +136,10 @@ Pour obtenir un certificat numérique : 2. Etablissez une demande de certificat à l’aide de la commande `GENERER DEMANDE CERTIFICAT.` 3. Envoyez la demande de certificat à l’autorité de certification que vous avez choisie. - Pour remplir la demande de certificat, il vous sera peut-être nécessaire de contacter l’autorité de certification. Les autorités de certification vérifient la réalité des informations qui leur ont été transmises. La demande de certificat est générée dans un BLOB au format PKCS encodé en base64 (format PEM). Ce principe autorise le copier-coller des clés sous forme de texte et leur envoi par E-mail en toute sécurité, sans risque d’altération de leur contenu. Vous pouvez donc par exemple sauvegarder le BLOB contenant la demande de certificat dans un document texte (à l’aide de `BLOB VERS DOCUMENT`), puis l’ouvrir et copier-coller son contenu dans un E-mail ou un formulaire Web destiné à l’autorité de certifica + Pour remplir la demande de certificat, il vous sera peut-être nécessaire de contacter l’autorité de certification. Les autorités de certification vérifient la réalité des informations qui leur ont été transmises. La demande de certificat est générée dans un BLOB au format PKCS encodé en base64 (format PEM). Ce principe autorise le copier-coller des clés sous forme de texte et leur envoi par E-mail en toute sécurité, sans risque d’altération de leur contenu. Vous pouvez donc par exemple sauvegarder le BLOB contenant la demande de certificat dans un document texte (à l’aide de `BLOB VERS DOCUMENT`), puis l’ouvrir et copier-coller son contenu dans un E-mail ou un formulaire Web destiné à l’autorité de certifica 4. Une fois que vous avez reçu votre certificat, créez un fichier texte que vous nommerez “cert.pem” et copiez dans ce fichier le contenu du certificat. - Vous pouvez recevoir votre certificat sous plusieurs formes (généralement via un E-mail ou un formulaire HTML). 4D accepte tous les formats de texte de la plate-forme pour les certificats (macOS, PC, Linux, etc.). En revanche, le certificat doit être au format [PEM](#format), *c'est-à-dire*, PKCS encodé en base64. + Vous pouvez recevoir votre certificat sous plusieurs formes (généralement via un E-mail ou un formulaire HTML). 4D accepte tous les formats de texte de la plate-forme pour les certificats (macOS, PC, Linux, etc.). En revanche, le certificat doit être au format [PEM](#format), *c'est-à-dire*, PKCS encodé en base64. > Les caractères de fins de ligne CR ne sont pas pris en charge. Vous devez utiliser CRLF ou LF. From 6c5a7ada293577bc32cac0702acd12dc910337f6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:55 +0200 Subject: [PATCH 026/162] New translations webadmin.md (French) --- .../current/Admin/webAdmin.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md b/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md index 87bace3ccb1808..3c407cc2d8f7ab 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md @@ -17,7 +17,7 @@ Par défaut, le serveur web `WebAdmin` ne démarre pas automatiquement. Il faut Vous pouvez configurer le server web `WebAdmin` pour qu'il se lance au démarrage de 4D ou 4D Server (avant l'ouverture d'un projet). -- Si vous utilisez une application 4D avec une interface, sélectionnez **Fichier > Administration Web > Propriétés...**. + - Si vous utilisez une application 4D avec une interface, sélectionnez **Fichier > Administration Web > Propriétés...**. ![alt-text](../assets/en/Admin/waMenu1.png) @@ -25,7 +25,7 @@ Cochez l'option **Lancer le serveur WebAdmin au démarrage** dans la boîte de d ![alt-text](../assets/en/Admin/waSettings.png) -- Que vous utilisiez une application 4D avec ou sans interface, vous pouvez activer le lancement automatique au démarrage en utilisant l'argument suivant dans *L'interface de ligne de commande* : + - Que vous utilisiez une application 4D avec ou sans interface, vous pouvez activer le lancement automatique au démarrage en utilisant l'argument suivant dans *L'interface de ligne de commande* : ``` open ~/Desktop/4D.app --webadmin-auto-start true @@ -71,8 +71,8 @@ Quand cette option est cochée, il est possible de se connecter au serveur `WebA **Notes :** -- Les connections HTTP autres que sur localhost ne sont jamais acceptées. -- Même si cette option est activée, quand [HTTPS Accepté](#accept-https) est activé et que la configuration TLS est valide, les connections sur localhost se font via HTTPS. + - Les connections HTTP autres que sur localhost ne sont jamais acceptées. + - Même si cette option est activée, quand [HTTPS Accepté](#accept-https) est activé et que la configuration TLS est valide, les connections sur localhost se font via HTTPS. #### Port HTTP @@ -94,11 +94,11 @@ Chemin du dossier qui contient les fichiers de certificat TLS. Par défaut, le c Statut ou format du fichier de logs des requêtes HTTP (HTTPDebugLog_*nn*.txt, stocké dans le dossier "Logs" de l'application. --*nn* représente le numéro du fichier). Les options suivantes sont disponibles : -- **Désactivé** (valeur par défaut) -- **Avec tous les body** - activé avec toutes les parts des body des requêtes et réponses -- **Sans les body** - activé sans les parts des body (la taille du body est indiquée) -- **Avec les body des requêtes** - activé avec les parts des body uniquement dans les requêtes -- **Avec la réponse corps** - activé avec les parts des body uniquement dans les réponses + - **Désactivé** (valeur par défaut) + - **Avec tous les body** - activé avec toutes les parts des body des requêtes et réponses + - **Sans les body** - activé sans les parts des body (la taille du body est indiquée) + - **Avec les body des requêtes** - activé avec les parts des body uniquement dans les requêtes + - **Avec la réponse corps** - activé avec les parts des body uniquement dans les réponses #### Clé d'accès @@ -108,9 +108,9 @@ La configuration d'une clé d'accès est obligatoire pour débloquer l'accès au Une clé d'accès est similaire à un mot de passe, mais sans login associé. -- Pour définir une nouvelle clé d'accès, cliquez sur le bouton **Définir**, entrez une chaîne de caractères et cliquez sur **OK**. Une fois fait, le label du bouton devient **Modifier**. -- Pour modifier la clé d'accès, cliquez sur **Modifier**, entrez la nouvelle clé d'accès et cliquez sur **OK**. -- Pour supprimer la clé d'accès, cliquez sur **Modifier**, laissez le champ d'entrée vide et cliquez sur **OK**. + - Pour définir une nouvelle clé d'accès, cliquez sur le bouton **Définir**, entrez une chaîne de caractères et cliquez sur **OK**. Une fois fait, le label du bouton devient **Modifier**. + - Pour modifier la clé d'accès, cliquez sur **Modifier**, entrez la nouvelle clé d'accès et cliquez sur **OK**. + - Pour supprimer la clé d'accès, cliquez sur **Modifier**, laissez le champ d'entrée vide et cliquez sur **OK**. #### Activer l'accès à Qodly Studio @@ -145,9 +145,9 @@ Voici un exemple : ## Authentification et Session -- Lorsqu'on accède à une page de gestion web en entrant une URL et sans identification préalable, une authentification est nécessaire. L'utilisateur doit entrer la [clé d'accès](#access-key) dans une fenêtre d'authentification. Si aucune clé d'accès n'a été définie dans les propriétés `WebAdmin`, aucun accès via URL n'est possible. + - Lorsqu'on accède à une page de gestion web en entrant une URL et sans identification préalable, une authentification est nécessaire. L'utilisateur doit entrer la [clé d'accès](#access-key) dans une fenêtre d'authentification. Si aucune clé d'accès n'a été définie dans les propriétés `WebAdmin`, aucun accès via URL n'est possible. -- Qand une page d'administration web est ouverte directement depuis un menu 4D ou 4D Server, tel que **Enregistrements> Data Explorer**ou**Fenêtre> Explorateur de données**(4D Server), l'accès est autorisé sans authentification. + - Qand une page d'administration web est ouverte directement depuis un menu 4D ou 4D Server, tel que **Enregistrements> Data Explorer**ou**Fenêtre> Explorateur de données**(4D Server), l'accès est autorisé sans authentification. Une fois l'accès autorisé, une [session web](WebServer/sessions.md) est créée avec les privilèges "WebAdmin" sur l'application 4D. Tant que la session courante a le privilège "WebAdmin", le composant `WebAdmin` sert les pages demandées dans les requêtes. From 897581f65f6f05eba4002b95040170a3c9125842 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:57 +0200 Subject: [PATCH 027/162] New translations backup.md (French) --- .../docusaurus-plugin-content-docs/current/Backup/backup.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/backup.md b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/backup.md index 0f00392b4b4173..5dbfc30b8b7e4b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/backup.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/backup.md @@ -15,9 +15,9 @@ Une sauvegarde peut être déclenchée de trois manières : ## Sauvegarde manuelle 1. Choisissez la commande **Sauvegarde...** dans le menu **Fichier** de 4D. - La fenêtre de sauvegarde s'affiche: - ![](../assets/en/Backup/backup01.png) - Vous pouvez voir l'emplacement du dossier de sauvegarde en utilisant le menu déroulant à côté de la zone "Destination de la sauvegarde". Cet emplacement est défini dans la Page **Sauvegarde/Configuration** des Propriétés de la base. + La fenêtre de sauvegarde s'affiche: + ![](../assets/en/Backup/backup01.png) + Vous pouvez voir l'emplacement du dossier de sauvegarde en utilisant le menu déroulant à côté de la zone "Destination de la sauvegarde". Cet emplacement est défini dans la Page **Sauvegarde/Configuration** des Propriétés de la base. - Vous pouvez également sélectionner [Centre de sécurité et de maintenance](MSC/overview.md) de 4D et afficher la [Page Sauvegarde](MSC/backup.md). From 3ac493699eaa38735fb214a62166d41e1da05c39 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:44:59 +0200 Subject: [PATCH 028/162] New translations log.md (French) --- .../fr/docusaurus-plugin-content-docs/current/Backup/log.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/log.md b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/log.md index 76e9471bfbb7de..2dc5f81bd88a41 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/log.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/log.md @@ -44,13 +44,13 @@ Vous pouvez à tout moment savoir si votre application utilise un fichier d’hi Pour créer un fichier d’historique : 1. Dans la page **Backup/Configuration** des Paramètres de structure, cochez l'option **Use Log** . - Le programme affiche une boîte de dialogue standard d'ouverture/création de fichier. Le programme affiche une boîte de dialogue standard d'ouverture/création de fichier. + Le programme affiche une boîte de dialogue standard d'ouverture/création de fichier. Le programme affiche une boîte de dialogue standard d'ouverture/création de fichier. 2. Conservez le nom par défaut ou renommez-le, puis sélectionnez l'emplacement du fichier. - Si vous disposez d'au moins deux disques durs, il est recommandé de placer le fichier journal sur un disque autre que celui contenant le projet d'application. En cas de perte du disque dur de l'application, vous pouvez toujours rappeler votre fichier journal. + Si vous disposez d'au moins deux disques durs, il est recommandé de placer le fichier journal sur un disque autre que celui contenant le projet d'application. En cas de perte du disque dur de l'application, vous pouvez toujours rappeler votre fichier journal. 3. Cliquez sur **Enregistrer**. - Le disque et le nom du fichier journal ouvert sont maintenant affichés dans la zone **Use Log** de la boîte de dialogue. Vous pouvez cliquer sur cette zone pour afficher un menu contextuel contenant le chemin d'accès au journal sur le disque. + Le disque et le nom du fichier journal ouvert sont maintenant affichés dans la zone **Use Log** de la boîte de dialogue. Vous pouvez cliquer sur cette zone pour afficher un menu contextuel contenant le chemin d'accès au journal sur le disque. 4. Validez la boîte de dialogue des Propriétés. From 6a6852988c9121db15ccb3312ab31b6f00d69fe5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:03 +0200 Subject: [PATCH 029/162] New translations restore.md (French) --- .../current/Backup/restore.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/restore.md b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/restore.md index 9a46dd9286a671..afa6d06b767f25 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/restore.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/restore.md @@ -5,12 +5,12 @@ title: Restitution 4D vous permet de récupérer l’intégralité des données d’une application en cas d’incident, quelles que soient ses causes. Deux catégories principales d’incidents peuvent se produire : -- L’arrêt inopiné de l'application pendant son exploitation. Cet incident peut se produire à cause d’une coupure de courant, la panne d’un élément du système, etc. Dans ce cas, en fonction de l’état courant du cache de données au moment de l’incident, la récupération de l'application peut nécessiter différentes opérations : - - Si le cache était vide, l'application s’ouvre normalement. Toutes les modifications apportées à l'application ont été enregistrées. Ce cas ne nécessite aucune opération particulière. - - Si le cache contenait des opérations, le fichier de données est intact mais il est nécessaire d’intégrer le fichier d’historique courant. - - Si le cache était en cours d’écriture, le fichier de données est probablement endommagé. Il est nécessaire de restituer la dernière sauvegarde et d’intégrer le fichier d’historique courant. + - L’arrêt inopiné de l'application pendant son exploitation. Cet incident peut se produire à cause d’une coupure de courant, la panne d’un élément du système, etc. Dans ce cas, en fonction de l’état courant du cache de données au moment de l’incident, la récupération de l'application peut nécessiter différentes opérations : + - Si le cache était vide, l'application s’ouvre normalement. Toutes les modifications apportées à l'application ont été enregistrées. Ce cas ne nécessite aucune opération particulière. + - Si le cache contenait des opérations, le fichier de données est intact mais il est nécessaire d’intégrer le fichier d’historique courant. + - Si le cache était en cours d’écriture, le fichier de données est probablement endommagé. Il est nécessaire de restituer la dernière sauvegarde et d’intégrer le fichier d’historique courant. -- La perte de fichier(s) de l'application. Cet incident peut être causé par des secteurs défectueux sur le disque contenant l'application, un virus, une erreur de manipulation, etc. Il est nécessaire de restituer la dernière sauvegarde puis d’intégrer éventuellement l’historique courant. Pour savoir si une application a été endommagée à la suite d’un incident, il suffit de la relancer avec 4D. Le programme effectue un auto-diagnostic et précise les opérations de réparation à effectuer. En mode automatique, ces opérations sont effectuées directement, sans intervention de l’utilisateur. Si une stratégie de sauvegarde régulière a été mise en place, les outils de récupération de 4D vous permettront (dans la plupart des cas) de retrouver l'application dans l’état exact où elle se trouvait avant l’incident. + - La perte de fichier(s) de l'application. Cet incident peut être causé par des secteurs défectueux sur le disque contenant l'application, un virus, une erreur de manipulation, etc. Il est nécessaire de restituer la dernière sauvegarde puis d’intégrer éventuellement l’historique courant. Pour savoir si une application a été endommagée à la suite d’un incident, il suffit de la relancer avec 4D. Le programme effectue un auto-diagnostic et précise les opérations de réparation à effectuer. En mode automatique, ces opérations sont effectuées directement, sans intervention de l’utilisateur. Si une stratégie de sauvegarde régulière a été mise en place, les outils de récupération de 4D vous permettront (dans la plupart des cas) de retrouver l'application dans l’état exact où elle se trouvait avant l’incident. > 4D peut lancer automatiquement des procédures de récupération des applications après incident. Ces mécanismes sont gérés à l’aide de deux options accessibles dans la Page **Sauvegarde/Sauvegarde & et Restitution** de la fenêtre des Propriétés. Pour plus d'informations, reportez-vous au paragraphe [Restitution automatique](settings.md#automatic-restore-and-log-integration).\ > Si l'incident résulte d'une opération inappropriée effectuée sur les données (suppression d'un enregistrement par exemple), vous pouvez tenter de réparer le fichier de données à l'aide de la fonction "rollback" du fichier d'historique.\ @@ -25,12 +25,12 @@ Intégration manuelle de l’historique La restitution via une boîte de dialogu Pour restituer manuellement une application via une boîte de dialogue standard : 1. Lancez l’application 4D et choisissez la commande **Restituer...** dans le menu **Fichier**. - Il n'est pas obligatoire qu'un projet d'application soit ouvert. - OU BIEN - Exécutez la commande `RESTORE` depuis une méthode de 4D. - Une boîte de dialogue standard d’ouverture de fichiers apparaît. + Il n'est pas obligatoire qu'un projet d'application soit ouvert. + OU BIEN + Exécutez la commande `RESTORE` depuis une méthode de 4D. + Une boîte de dialogue standard d’ouverture de fichiers apparaît. 2. Désignez le fichier de sauvegarde (.4bk) ou le fichier de sauvegarde de l’historique (.4bl) à restituer et cliquez sur **Ouvrir**. - Un boîte de dialogue apparaît, vous permettant de désigner l’emplacement auquel vous souhaitez que les fichiers soient restitués . Un boîte de dialogue apparaît, vous permettant de désigner l’emplacement auquel vous souhaitez que les fichiers soient restitués . Vous pouvez afficher le chemin : + Un boîte de dialogue apparaît, vous permettant de désigner l’emplacement auquel vous souhaitez que les fichiers soient restitués . Un boîte de dialogue apparaît, vous permettant de désigner l’emplacement auquel vous souhaitez que les fichiers soient restitués . Vous pouvez afficher le chemin : ![](../assets/en/Backup/backup07.png) From 0340888c44d9cf8074943e26801d6993aec9b2f3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:05 +0200 Subject: [PATCH 030/162] New translations settings.md (French) --- .../current/Backup/settings.md | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/settings.md b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/settings.md index 0a26400cd28e63..34d711987f2faa 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Backup/settings.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Backup/settings.md @@ -5,9 +5,9 @@ title: Paramètres de sauvegarde Les paramètres de sauvegarde sont définis sur trois pages dans la [boîte de dialogue des Paramètres](../settings/overview.md). Vous pouvez définir : -- la périodicité des sauvegardes automatiques -- les fichiers à inclure dans chaque sauvegarde -- les fonctionnalités avancées permettant d'exécuter des tâches automatiques + - la périodicité des sauvegardes automatiques + - les fichiers à inclure dans chaque sauvegarde + - les fonctionnalités avancées permettant d'exécuter des tâches automatiques > Les propriétés définies dans cette boîte de dialogue sont écrits dans le fichier *Backup.4DSettings*, stocké dans le [dossier Settings](../Project/architecture.md#settings-user). @@ -23,16 +23,16 @@ Les paramètres des sauvegardes périodiques sont définis dans la Page **Sauveg Les options regroupées dans cet onglet permettent de définir et de paramétrer des sauvegardes périodiques automatiques de l'application. Vous pouvez choisir un paramétrage standard rapide ou personnaliser entièrement la périodicité. Diverses options apparaissent en fonction de la valeur définie dans le menu **Sauvegarde automatique** : -- **Jamais** : la fonction de sauvegarde périodique est inactivée. -- **Toutes les heures** : programme une sauvegarde automatique par heure, à partir de la prochaine heure. -- **Toutes les semaines** : programme une sauvegarde automatique par semaine. Une zone de saisie vous permet d'indiquer l’heure à laquelle la sauvegarde doit être déclenchée. -- **Tous les mois** : programme une sauvegarde automatique par mois. Deux zones de saisie supplémentaires vous permettent d'indiquer le jour et l'heure de la sauvegarde. -- **Tous les mois** : programme une sauvegarde automatique par mois. Deux zones de saisie supplémentaires vous permettent d'indiquer le jour du mois et l'heure de la sauvegarde. -- **Personnalisée** : permet de configurer des sauvegardes périodiques "sur-mesure". Lorsque vous sélectionnez cette, plusieurs zones de saisie supplémentaires apparaissent : - - **Toutes les N heure(s)** : permet de programmer des sauvegardes sur une base horaire. Vous pouvez saisir une valeur comprise entre 1 et 24. - * **Tous les jours** : programme une sauvegarde automatique par jour. Saisissez par exemple 1 si vous souhaitez une sauvegarde quotidienne. Lorsque vous cochez cette option, vous devez indiquer l’heure à laquelle la sauvegarde doit être déclenchée. - * **Toutes les N semaine(s), jour à N** : permet de programmer des sauvegardes sur une base hebdomadaire. Saisissez 1 si vous souhaitez une sauvegarde hebdomadaire. Lorsque vous cochez cette option, vous devez indiquer le ou les jour(s) de la semaine et l’heure à laquelle chaque sauvegarde doit être déclenchée. Vous pouvez cocher un ou plusieurs jour(s) de la semaine. Par exemple, vous pouvez utiliser cette option pour définir deux sauvegardes hebdomadaires : une le mercredi et une le vendredi. - * **Tous les N mois, Ne jour à N** : permet de programmer des sauvegardes sur une base mensuelle. Saisissez 1 si vous souhaitez une sauvegarde mensuelle. Lorsque vous cochez cette option, vous devez indiquer le jour de chaque mois auquel la sauvegarde doit être déclenchée, ainsi que l’heure de déclenchement. + - **Jamais** : la fonction de sauvegarde périodique est inactivée. + - **Toutes les heures** : programme une sauvegarde automatique par heure, à partir de la prochaine heure. + - **Toutes les semaines** : programme une sauvegarde automatique par semaine. Une zone de saisie vous permet d'indiquer l’heure à laquelle la sauvegarde doit être déclenchée. + - **Tous les mois** : programme une sauvegarde automatique par mois. Deux zones de saisie supplémentaires vous permettent d'indiquer le jour et l'heure de la sauvegarde. + - **Tous les mois** : programme une sauvegarde automatique par mois. Deux zones de saisie supplémentaires vous permettent d'indiquer le jour du mois et l'heure de la sauvegarde. + - **Personnalisée** : permet de configurer des sauvegardes périodiques "sur-mesure". Lorsque vous sélectionnez cette, plusieurs zones de saisie supplémentaires apparaissent : + - **Toutes les N heure(s)** : permet de programmer des sauvegardes sur une base horaire. Vous pouvez saisir une valeur comprise entre 1 et 24. + * **Tous les jours** : programme une sauvegarde automatique par jour. Saisissez par exemple 1 si vous souhaitez une sauvegarde quotidienne. Lorsque vous cochez cette option, vous devez indiquer l’heure à laquelle la sauvegarde doit être déclenchée. + * **Toutes les N semaine(s), jour à N** : permet de programmer des sauvegardes sur une base hebdomadaire. Saisissez 1 si vous souhaitez une sauvegarde hebdomadaire. Lorsque vous cochez cette option, vous devez indiquer le ou les jour(s) de la semaine et l’heure à laquelle chaque sauvegarde doit être déclenchée. Vous pouvez cocher un ou plusieurs jour(s) de la semaine. Par exemple, vous pouvez utiliser cette option pour définir deux sauvegardes hebdomadaires : une le mercredi et une le vendredi. + * **Tous les N mois, Ne jour à N** : permet de programmer des sauvegardes sur une base mensuelle. Saisissez 1 si vous souhaitez une sauvegarde mensuelle. Lorsque vous cochez cette option, vous devez indiquer le jour de chaque mois auquel la sauvegarde doit être déclenchée, ainsi que l’heure de déclenchement. > Les basculements entre l'heure standard et l'heure d'été peuvent affecter temporairement le planificateur automatique et déclencher la sauvegarde suivante avec un décalage d'une heure. Cela ne se produit qu'une seule fois et les sauvegardes ultérieures sont lancées à l'heure prévue. @@ -48,15 +48,15 @@ La Page Sauvegarde/Configuration des Propriétés permet de désigner les fichie Cette zone permet de désigner les fichiers et/ou dossiers à copier lors de la prochaine sauvegarde. -- **Data** : fichier de données de l'application. Lorsque cette option est cochée, les éléments suivants sont automatiquement sauvegardés en même temps que les données : - - le fichier journal courant de l'application (le cas échéant), - - le dossier `Settings` complet situé [à côté du fichier de données](../Project/architecture.md#settings-user-data) (le cas échéant), c'est-à-dire *les paramètres utilisateur pour les données*. -- **Structure** : fichiers et dossiers du projet d'application. Dans le cas de projets compilés, cette option permet de sauvegarder le fichier .4dz. Dans le cas de projets compilés, cette option permet de sauvegarder le fichier .4dz. -- **Fichier de structure utilisateur (uniquement pour les bases binaires)** : *fonctionnalité obsolète* -- **Attachments** : cette zone permet de désigner un ensemble de fichiers et/ou de dossiers à sauvegarder en même temps que l'application. Ces fichiers peuvent être de tout type (documents ou modèles de plug-ins, étiquettes, états, images, etc.). Vous pouvez désigner soit des fichiers individuels, soit des dossiers dont le contenu sera intégralement sauvegardé. Chaque élément joint est listé avec son chemin d’accès complet dans la zone “Fichiers joints”. - - **Supprimer** : retire de la liste des fichiers joints l’élément sélectionné. - - Gestion du fichier d'historique En cas de restitution, le dossier sera récupéré avec sa structure interne. Vous pouvez désigner tout dossier ou volume connecté au poste, à l’exception du dossier contenant les fichiers de l'application. - - **Ajouter fichier...** : affiche une boîte de dialogue permettant de sélectionner un fichier à joindre à la sauvegarde. + - **Data** : fichier de données de l'application. Lorsque cette option est cochée, les éléments suivants sont automatiquement sauvegardés en même temps que les données : + - le fichier journal courant de l'application (le cas échéant), + - le dossier `Settings` complet situé [à côté du fichier de données](../Project/architecture.md#settings-user-data) (le cas échéant), c'est-à-dire *les paramètres utilisateur pour les données*. + - **Structure** : fichiers et dossiers du projet d'application. Dans le cas de projets compilés, cette option permet de sauvegarder le fichier .4dz. Dans le cas de projets compilés, cette option permet de sauvegarder le fichier .4dz. + - **Fichier de structure utilisateur (uniquement pour les bases binaires)** : *fonctionnalité obsolète* + - **Attachments** : cette zone permet de désigner un ensemble de fichiers et/ou de dossiers à sauvegarder en même temps que l'application. Ces fichiers peuvent être de tout type (documents ou modèles de plug-ins, étiquettes, états, images, etc.). Vous pouvez désigner soit des fichiers individuels, soit des dossiers dont le contenu sera intégralement sauvegardé. Chaque élément joint est listé avec son chemin d’accès complet dans la zone “Fichiers joints”. + - **Supprimer** : retire de la liste des fichiers joints l’élément sélectionné. + - Gestion du fichier d'historique En cas de restitution, le dossier sera récupéré avec sa structure interne. Vous pouvez désigner tout dossier ou volume connecté au poste, à l’exception du dossier contenant les fichiers de l'application. + - **Ajouter fichier...** : affiche une boîte de dialogue permettant de sélectionner un fichier à joindre à la sauvegarde. ### Emplacement des fichiers de sauvegarde @@ -82,22 +82,22 @@ La modification des options de sauvegarde et de restauration est facultative. Le ### Paramètres généraux -- **Conserver uniquement les N derniers fichiers de sauvegarde** : ce paramètre permet d’activer et de configurer le mécanisme de suppression des fichiers de sauvegarde les plus anciens, afin d’éviter tout risque de saturation du volume. Le principe de fonctionnement est le suivant : après avoir terminé la sauvegarde courante, 4D efface l’archive la plus ancienne si celle-ci est localisée au même endroit que l’archive à sauvegarder et porte le même nom (vous pouvez, pour des raisons d’économie de place, demander que l’archive la plus ancienne soit effacée avant la sauvegarde). + - **Conserver uniquement les N derniers fichiers de sauvegarde** : ce paramètre permet d’activer et de configurer le mécanisme de suppression des fichiers de sauvegarde les plus anciens, afin d’éviter tout risque de saturation du volume. Le principe de fonctionnement est le suivant : après avoir terminé la sauvegarde courante, 4D efface l’archive la plus ancienne si celle-ci est localisée au même endroit que l’archive à sauvegarder et porte le même nom (vous pouvez, pour des raisons d’économie de place, demander que l’archive la plus ancienne soit effacée avant la sauvegarde). Si, par exemple, le nombre de jeux est fixé à 3, les trois premières sauvegardes créent successivement les archives MaBase-0001, MaBase-0002 et MaBase-0003. Lors de la quatrième sauvegarde, l’archive MaBase-0004 est créée alors que l’archive MaBase-0001 est supprimée. Par défaut, le mécanisme de suppression des jeux est activé et 4D conserve 3 jeux de sauvegarde. Pour ne pas activer le mécanisme, désélectionnez l’option. > Ce paramètre concerne à la fois les sauvegardes de l'application et les sauvegardes de l’historique. -- **Sauvegarder uniquement si le fichier de données a été modifié** : lorsque cette option est cochée, 4D déclenche les sauvegardes périodiques uniquement si des données ont été ajoutées, modifiées ou supprimées depuis la dernière sauvegarde. Dans le cas contraire, la sauvegarde prévue est annulée et reportée à l’échéance suivante. Aucune erreur n’est générée ; le report est toutefois indiqué dans le Journal des sauvegardes. Cette option permet notamment d’économiser du temps machine sur la sauvegarde d'applications principalement utilisées en consultation. A noter qu'elle ne prend pas en compte les éventuelles modifications apportées au fichier de structure ou aux fichiers joints. + - **Sauvegarder uniquement si le fichier de données a été modifié** : lorsque cette option est cochée, 4D déclenche les sauvegardes périodiques uniquement si des données ont été ajoutées, modifiées ou supprimées depuis la dernière sauvegarde. Dans le cas contraire, la sauvegarde prévue est annulée et reportée à l’échéance suivante. Aucune erreur n’est générée ; le report est toutefois indiqué dans le Journal des sauvegardes. Cette option permet notamment d’économiser du temps machine sur la sauvegarde d'applications principalement utilisées en consultation. A noter qu'elle ne prend pas en compte les éventuelles modifications apportées au fichier de structure ou aux fichiers joints. > Ce paramètre concerne à la fois les sauvegardes de l'application et les sauvegardes de l’historique. -- **Effacer la sauvegarde la plus ancienne avant sauvegarde / après sauvegarde** : cette option n’est utilisée que si l’option “Conserver uniquement les N derniers fichiers de sauvegarde” est cochée. Elle vous permet de spécifier si 4D doit commencer par effacer l’archive la plus ancienne avant d’effectuer une sauvegarde (option **avant**) ou si l’effacement doit être effectué après la sauvegarde (option **après**). Pour que ce mécanisme fonctionne, l’archive la plus ancienne ne doit pas avoir été renommée ou déplacée. + - **Effacer la sauvegarde la plus ancienne avant sauvegarde / après sauvegarde** : cette option n’est utilisée que si l’option “Conserver uniquement les N derniers fichiers de sauvegarde” est cochée. Elle vous permet de spécifier si 4D doit commencer par effacer l’archive la plus ancienne avant d’effectuer une sauvegarde (option **avant**) ou si l’effacement doit être effectué après la sauvegarde (option **après**). Pour que ce mécanisme fonctionne, l’archive la plus ancienne ne doit pas avoir été renommée ou déplacée. -- **Si la sauvegarde échoue** : cette option permet de définir le mécanisme de prise en charge des échecs des sauvegardes (sauvegarde impossible). Lorsqu’une sauvegarde est impossible, 4D permet d’effectuer une nouvelle tentative. - - Périodicité Elle revient à annuler la sauvegarde ayant échoué. Une erreur est générée. - - **Réessayer dans N seconde(s), minute(s) ou heure(s)** : lorsque cette option est cochée, une nouvelle tentative de sauvegarde est effectuée à l’issue du délai défini. Ce mécanisme permet d’anticiper certaines circonstances bloquant la sauvegarde. Vous pouvez fixer un délai en secondes, minutes ou heures à l’aide du menu correspondant. Si la nouvelle tentative échoue également, une erreur est générée et l’échec est inscrit dans les zones de statut de la dernière sauvegarde et dans le Journal des sauvegardes. - - **Annuler l’opération au bout de N tentatives** : ce paramètre permet de définir le nombre de fois que le module de sauvegarde réessaiera de lancer la sauvegarde en cas d’échec. Si, à l’issue du nombre d’essais défini, la sauvegarde n’a pas pu être effectuée, elle est annulée et l’erreur 1401 est générée (“Le nombre maximal de tentatives de sauvegarde est atteint, la sauvegarde automatique est temporairement désactivée”). Dans ce cas, aucune nouvelle sauvegarde automatique ne sera lancée tant que l’application n’aura pas été redémarrée ou qu’une sauvegarde manuelle n’aura été effectuée avec succès. + - **Si la sauvegarde échoue** : cette option permet de définir le mécanisme de prise en charge des échecs des sauvegardes (sauvegarde impossible). Lorsqu’une sauvegarde est impossible, 4D permet d’effectuer une nouvelle tentative. + - Périodicité Elle revient à annuler la sauvegarde ayant échoué. Une erreur est générée. + - **Réessayer dans N seconde(s), minute(s) ou heure(s)** : lorsque cette option est cochée, une nouvelle tentative de sauvegarde est effectuée à l’issue du délai défini. Ce mécanisme permet d’anticiper certaines circonstances bloquant la sauvegarde. Vous pouvez fixer un délai en secondes, minutes ou heures à l’aide du menu correspondant. Si la nouvelle tentative échoue également, une erreur est générée et l’échec est inscrit dans les zones de statut de la dernière sauvegarde et dans le Journal des sauvegardes. + - **Annuler l’opération au bout de N tentatives** : ce paramètre permet de définir le nombre de fois que le module de sauvegarde réessaiera de lancer la sauvegarde en cas d’échec. Si, à l’issue du nombre d’essais défini, la sauvegarde n’a pas pu être effectuée, elle est annulée et l’erreur 1401 est générée (“Le nombre maximal de tentatives de sauvegarde est atteint, la sauvegarde automatique est temporairement désactivée”). Dans ce cas, aucune nouvelle sauvegarde automatique ne sera lancée tant que l’application n’aura pas été redémarrée ou qu’une sauvegarde manuelle n’aura été effectuée avec succès. Ce paramètre est utile notamment pour éviter qu’en cas d’impossibilité prolongée de la sauvegarde (nécessitant une intervention humaine), l’application n’effectue inutilement de nombreuses tentatives au détriment de ses performances. Par défaut, ce paramètre n’est pas coché. > 4D considère qu’une sauvegarde a échoué si l'application n’était pas lancée au moment théorique de la sauvegarde automatique périodique. @@ -106,17 +106,17 @@ La modification des options de sauvegarde et de restauration est facultative. Le Ces options s’appliquent aux fichiers de sauvegarde principaux et aux fichiers de sauvegarde de l’historique. -- **Segment Size (Mb)** 4D allows you to segment archives, i.e., to cut it up into smaller sizes. Ce fonctionnement permet par exemple de stocker une sauvegarde sur plusieurs volumes (DVDs, usb, etc.). Au moment de la restitution, 4D fusionnera automatiquement les segments. Chaque segment est appelé MonApplication[xxxx-yyyy].4BK, où xxxx représente le numéro de la sauvegarde et yyyy celui du segment. Par exemple, les trois segments de la sixième sauvegarde de la base MonApplication seront appelés MonApplication[0006-0001].4BK, MonApplication[0006-0002].4BK et MonApplication[0006-0003].4BK. + - **Segment Size (Mb)** 4D allows you to segment archives, i.e., to cut it up into smaller sizes. Ce fonctionnement permet par exemple de stocker une sauvegarde sur plusieurs volumes (DVDs, usb, etc.). Au moment de la restitution, 4D fusionnera automatiquement les segments. Chaque segment est appelé MonApplication[xxxx-yyyy].4BK, où xxxx représente le numéro de la sauvegarde et yyyy celui du segment. Par exemple, les trois segments de la sixième sauvegarde de la base MonApplication seront appelés MonApplication[0006-0001].4BK, MonApplication[0006-0002].4BK et MonApplication[0006-0003].4BK. Le menu **Taille du segment** est une combo box permettant de définir la taille en Mo de chaque segment de sauvegarde. Vous pouvez choisir une des tailles prédéfinies ou saisir une taille spécifique entre 0 et 2048. Si vous passez 0, aucune segmentation n’est effectuée (équivaut à la valeur **Aucune**). -- **Compression Rate** By default, 4D compresses backups to help save disk space. En contrepartie, la phase de compression des fichiers peut ralentir sensiblement les sauvegardes dans le cas de la manipulation de gros volumes de données. En contrepartie, la phase de compression des fichiers peut ralentir sensiblement les sauvegardes dans le cas de la manipulation de gros volumes de données. - - **Aucun** : aucune compression n’est appliquée. La sauvegarde peut être sensiblement plus rapide mais les fichiers d’archives sont plus volumineux sur le disque. - - **Normal** (par défaut) : cette option constitue un compromis vitesse de sauvegarde/taille des archives. - - **Elevé** : le taux de compression maximal est appliqué aux archives. Les fichiers d’archives prennent le moins de place possible sur le disque mais la sauvegarde peut être sensiblement ralentie. + - **Compression Rate** By default, 4D compresses backups to help save disk space. En contrepartie, la phase de compression des fichiers peut ralentir sensiblement les sauvegardes dans le cas de la manipulation de gros volumes de données. En contrepartie, la phase de compression des fichiers peut ralentir sensiblement les sauvegardes dans le cas de la manipulation de gros volumes de données. + - **Aucun** : aucune compression n’est appliquée. La sauvegarde peut être sensiblement plus rapide mais les fichiers d’archives sont plus volumineux sur le disque. + - **Normal** (par défaut) : cette option constitue un compromis vitesse de sauvegarde/taille des archives. + - **Elevé** : le taux de compression maximal est appliqué aux archives. Les fichiers d’archives prennent le moins de place possible sur le disque mais la sauvegarde peut être sensiblement ralentie. -- **Taux d’entrelacement et Taux de redondance** 4D peut générer des archives à l’aide d’algorithmes spécifiques, basés sur des mécanismes d’optimisation (entrelacement) et de sécurisation (redondance). Vous pouvez paramétrer ces mécanismes en fonction de vos besoins. Les menus associés à ces options vous permettent de choisir un taux **Faible**, **Moyen**, **Elevé** ou **Aucun** (défaut). - - **Taux d’entrelacement** : l’entrelacement consiste à stocker les données dans des secteurs non contigus afin de limiter les risques en cas d’endommagement des secteurs. Plus le taux est élevé, plus la sécurité est élevée ; en contrepartie, le traitement des données consomme davantage de mémoire. - - **Taux de redondance** : la redondance permet de sécuriser les données présentes dans un fichier en répétant plusieurs fois les mêmes informations. Plus le taux est élevé, plus le fichier est sécurisé, mais plus le stockage est lent et la taille du fichier importante. + - **Taux d’entrelacement et Taux de redondance** 4D peut générer des archives à l’aide d’algorithmes spécifiques, basés sur des mécanismes d’optimisation (entrelacement) et de sécurisation (redondance). Vous pouvez paramétrer ces mécanismes en fonction de vos besoins. Les menus associés à ces options vous permettent de choisir un taux **Faible**, **Moyen**, **Elevé** ou **Aucun** (défaut). + - **Taux d’entrelacement** : l’entrelacement consiste à stocker les données dans des secteurs non contigus afin de limiter les risques en cas d’endommagement des secteurs. Plus le taux est élevé, plus la sécurité est élevée ; en contrepartie, le traitement des données consomme davantage de mémoire. + - **Taux de redondance** : la redondance permet de sécuriser les données présentes dans un fichier en répétant plusieurs fois les mêmes informations. Plus le taux est élevé, plus le fichier est sécurisé, mais plus le stockage est lent et la taille du fichier importante. ### Restitution automatique et intégration des journaux @@ -138,11 +138,11 @@ Aucune boîte de dialogue n’est présentée à l’utilisateur, l’opération > En cas de restitution automatique, seuls les éléments suivants sont restitués : > -> - Fichier .4DD -> - Fichier .4DIndx -> - Fichier .4DSyncData -> - Fichier .4DSyncHeader -> - Dossier External Data +> - Fichier .4DD +> - Fichier .4DIndx +> - Fichier .4DSyncData +> - Fichier .4DSyncHeader +> - Dossier External Data > > Si vous souhaitez obtenir les fichiers joints ou les fichiers de projet, vous devez effectuer une [restauration manuelle](restore.md#manually-restoring-a-backup-standard-dialog). From 813f714d2670ec3ec521acfd971456237a45ecd5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:18 +0200 Subject: [PATCH 031/162] New translations tls.md (Spanish) --- i18n/es/docusaurus-plugin-content-docs/current/Admin/tls.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Admin/tls.md b/i18n/es/docusaurus-plugin-content-docs/current/Admin/tls.md index 7adebf523e0bdb..2d671775b082ef 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Admin/tls.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Admin/tls.md @@ -136,10 +136,10 @@ Para obtener un certificado digital: 2. Utilice el comando `GENERATE CERTIFICATE REQUEST` para emitir una solicitud de certificado. 3. Envíe la solicitud de certificado a la autoridad de certificación elegida. - Para llenar una solicitud de certificado, es posible que tenga que ponerse en contacto con la autoridad de certificación. La autoridad de certificación comprueba que la información transmitida es correcta. La petición de certificado se genera en un BLOB utilizando el formato PKCS codificado en base64 (formato PEM). Este principio permite copiar y pegar las llaves como texto y enviarlas por correo electrónico sin modificar el contenido de la llave. Por ejemplo, puede guardar el BLOB que contiene la solicitud de certificado en un documento de texto (usando el comando `BLOB TO DOCUMENT`), luego abrir y copiar y pegar su contenido en un correo electrónico o un formulario Web para ser enviado a la autoridad de certificación. + Para llenar una solicitud de certificado, es posible que tenga que ponerse en contacto con la autoridad de certificación. La autoridad de certificación comprueba que la información transmitida es correcta. La petición de certificado se genera en un BLOB utilizando el formato PKCS codificado en base64 (formato PEM). Este principio permite copiar y pegar las llaves como texto y enviarlas por correo electrónico sin modificar el contenido de la llave. Por ejemplo, puede guardar el BLOB que contiene la solicitud de certificado en un documento de texto (usando el comando `BLOB TO DOCUMENT`), luego abrir y copiar y pegar su contenido en un correo electrónico o un formulario Web para ser enviado a la autoridad de certificación. 4. Una vez que tenga el certificado, cree un archivo de texto llamado "cert.pem" y pegue en él el contenido del certificado. - Puede recibir un certificado de diferentes maneras (normalmente por correo electrónico o formulario HTML). 4D acepta todos los formatos de texto relacionados con la plataforma para los certificados (macOS, PC, Linux, etc.). Sin embargo, el certificado debe estar en [formato PEM](#format), *es decir,*, PKCS codificado en base64. + Puede recibir un certificado de diferentes maneras (normalmente por correo electrónico o formulario HTML). 4D acepta todos los formatos de texto relacionados con la plataforma para los certificados (macOS, PC, Linux, etc.). Sin embargo, el certificado debe estar en [formato PEM](#format), *es decir,*, PKCS codificado en base64. > Los caracteres de fin de línea CR no se soportan por sí solos; debe utilizar CRLF o LF. From 6518f61e268f580217676a91b7473508f1af6da2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:21 +0200 Subject: [PATCH 032/162] New translations webadmin.md (Spanish) --- .../current/Admin/webAdmin.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md b/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md index c5f9761b457de6..7108ada0d3da2f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md @@ -18,7 +18,7 @@ servidor web `WebAdmin` no se lanza. Es necesario configurar el lanzamiento al i Puede configurar el servidor web `WebAdmin` para que se lance al inicio de la aplicación 4D o 4D Server (antes de que se cargue cualquier proyecto). -- Si utiliza una aplicación 4D con interfaz, seleccione la opción de menú **Archivo > Administración web > Parámetros....**. + - Si utiliza una aplicación 4D con interfaz, seleccione la opción de menú **Archivo > Administración web > Parámetros....**. ![alt-text](../assets/en/Admin/waMenu1.png) @@ -26,7 +26,7 @@ Seleccione la opción **Iniciar servidor WebAdmin al inicio** en la caja de diá ![alt-text](../assets/en/Admin/waSettings.png) -- Tanto si utiliza la aplicación 4D con o sin interfaz, puede habilitar el modo de inicio automático utilizando el siguiente argumento *Interfaz de línea de comandos*: + - Tanto si utiliza la aplicación 4D con o sin interfaz, puede habilitar el modo de inicio automático utilizando el siguiente argumento *Interfaz de línea de comandos*: ``` open ~/Desktop/4D.app --webadmin-auto-start true @@ -72,8 +72,8 @@ Cuando esta opción está seleccionada, podrá conectarse al servidor web `WebAd **Notas:** -- Nunca se aceptan conexiones con HTTP que no sean localhost. -- Incluso si esta opción está activada, cuando [HTTPS aceptada](#accept-https) está activada y la configuración TLS es válida, las conexiones localhost utilizan HTTPS. + - Nunca se aceptan conexiones con HTTP que no sean localhost. + - Incluso si esta opción está activada, cuando [HTTPS aceptada](#accept-https) está activada y la configuración TLS es válida, las conexiones localhost utilizan HTTPS. #### Puerto HTTP @@ -95,11 +95,11 @@ Ruta de la carpeta donde se encuentran los archivos del certificado TLS. Por def Estado o formato del archivo de registro de peticiones HTTP (HTTPDebugLog_*nn*.txt, almacenado en la carpeta "Logs" de la aplicación -- *nn* es el número de archivo). Las siguientes opciones están disponibles: -- **Desactivado** (por defecto) -- **Con todas las partes del body** - activado con las partes del cuerpo en respuesta y petición -- \*\*Sin las partes del body \*\* - activado sin partes del cuerpo (se indica el tamaño del cuerpo) -- **Con los cuerpos de las peticiones** - activado con la partes del cuerpo únicamente en las peticiones -- **Con la respuesta body** - activado con la partes del cuerpo únicamente en las respuestas + - **Desactivado** (por defecto) + - **Con todas las partes del body** - activado con las partes del cuerpo en respuesta y petición + - \*\*Sin las partes del body \*\* - activado sin partes del cuerpo (se indica el tamaño del cuerpo) + - **Con los cuerpos de las peticiones** - activado con la partes del cuerpo únicamente en las peticiones + - **Con la respuesta body** - activado con la partes del cuerpo únicamente en las respuestas #### Llave de acceso @@ -109,10 +109,10 @@ La configuración de una llave de acceso es obligatoria para desbloquear el acce Una llave de acceso es similar a una contraseña pero no está asociada a un inicio de sesión. -- Para definir una nueva llave de acceso: haga clic en el botón **Definir**, introduzca la cadena de la llave de acceso en la caja de diálogo y haga clic en **OK**. La etiqueta del + - Para definir una nueva llave de acceso: haga clic en el botón **Definir**, introduzca la cadena de la llave de acceso en la caja de diálogo y haga clic en **OK**. La etiqueta del botón se convierte en **Modificar**. -- Para modificar la llave de acceso: haga clic en el botón **Modificar**, introduzca la nueva cadena de la llave de acceso en la caja de diálogo y haga clic en **OK**. -- Para eliminar la llave de acceso: haga clic en el botón **Modificar**, deje vacía el área de la llave de acceso y haga clic en **OK**. + - Para modificar la llave de acceso: haga clic en el botón **Modificar**, introduzca la nueva cadena de la llave de acceso en la caja de diálogo y haga clic en **OK**. + - Para eliminar la llave de acceso: haga clic en el botón **Modificar**, deje vacía el área de la llave de acceso y haga clic en **OK**. #### Activar el acceso a Qodly Studio @@ -148,9 +148,9 @@ Ejemplo: ## Autenticación y sesión -- Cuando se accede a una página de gestión web introduciendo una URL y sin identificación previa, se requiere una autenticación. El usuario debe introducir la [llave-de-acceso](#access-key) en una ventana de autenticación. Si la llave de acceso no fue definida en la configuración de `WebAdmin`, no es posible el acceso vía URL. + - Cuando se accede a una página de gestión web introduciendo una URL y sin identificación previa, se requiere una autenticación. El usuario debe introducir la [llave-de-acceso](#access-key) en una ventana de autenticación. Si la llave de acceso no fue definida en la configuración de `WebAdmin`, no es posible el acceso vía URL. -- Cuando se accede a una página de gestión web directamente desde un elemento de menú de 4D o 4D Server (como **Registros > Explorador de datos** o **Ventana > Explorador de datos** (4D Server)), el acceso se concede sin autenticación, el usuario se autentifica automáticamente. + - Cuando se accede a una página de gestión web directamente desde un elemento de menú de 4D o 4D Server (como **Registros > Explorador de datos** o **Ventana > Explorador de datos** (4D Server)), el acceso se concede sin autenticación, el usuario se autentifica automáticamente. Una vez concedido el acceso, se crea una [sesión web](WebServer/sessions.md) con el privilegio "WebAdmin" en la aplicación 4D. Mientras la sesión actual tenga el privilegio "WebAdmin", el componente `WebAdmin` entrega las páginas solicitadas. From 1e1cc30d9ac2526e93dff8aa3ba30516a25af4fc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:23 +0200 Subject: [PATCH 033/162] New translations backup.md (Spanish) --- .../docusaurus-plugin-content-docs/current/Backup/backup.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Backup/backup.md b/i18n/es/docusaurus-plugin-content-docs/current/Backup/backup.md index 40e923ec89b02a..08b1ccee83c19f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Backup/backup.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Backup/backup.md @@ -15,9 +15,9 @@ Una copia de seguridad puede iniciarse de tres maneras: ## Copia de seguridad manual 1. Seleccione el elemento **Copia de seguridad...** en el menú **Archivo** de 4D. - La ventana de copia de seguridad aparece: - ![](../assets/en/Backup/backup01.png) - Puede ver la ubicación de la carpeta de copia de seguridad usando el menú emergente junto al área de "destino de copia de seguridad". Esta ubicación se define en la página **Copia de seguridad/configuración** de las Propiedades de la base. + La ventana de copia de seguridad aparece: + ![](../assets/en/Backup/backup01.png) + Puede ver la ubicación de la carpeta de copia de seguridad usando el menú emergente junto al área de "destino de copia de seguridad". Esta ubicación se define en la página **Copia de seguridad/configuración** de las Propiedades de la base. - También puede abrir el [Centro de mantenimiento y seguridad](MSC/overview.md) de 4D y mostrar la [página de copias de seguridad](MSC/backup.md). From e34f205dd810753f1045be534f448c1e4c82f2bb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:26 +0200 Subject: [PATCH 034/162] New translations log.md (Spanish) --- .../es/docusaurus-plugin-content-docs/current/Backup/log.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Backup/log.md b/i18n/es/docusaurus-plugin-content-docs/current/Backup/log.md index a1928eb9c339be..dabda388707050 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Backup/log.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Backup/log.md @@ -44,13 +44,13 @@ Puede averiguar si su aplicación utiliza un archivo de historial en cualquier m Para crear un archivo de historial: 1. En la página **Copia de seguridad/Configuración** de las Propiedades de estructura, marque la opción **Utilizar el archivo de historial**. - El programa muestra una caja de diálogo estándar de abrir/nuevo archivo. Por defecto, el archivo de historial se llama *data.journal*. + El programa muestra una caja de diálogo estándar de abrir/nuevo archivo. Por defecto, el archivo de historial se llama *data.journal*. 2. Mantenga el nombre por defecto o cambie el nombre, y luego seleccione la ubicación del archivo. - Si tiene al menos dos discos duros, se recomienda colocar el archivo de historial en un disco distinto al que contiene el proyecto de aplicación. Si se pierde el disco duro de la aplicación, aún puede recuperar su archivo de historial. + Si tiene al menos dos discos duros, se recomienda colocar el archivo de historial en un disco distinto al que contiene el proyecto de aplicación. Si se pierde el disco duro de la aplicación, aún puede recuperar su archivo de historial. 3. Presione **Guardar**. - El disco y el nombre del archivo de historial abierto se muestran ahora en el área **Utilizar historial** de la caja de diálogo. Puede hacer clic en esta área para que aparezca un menú emergente con la ruta del historial en el disco. + El disco y el nombre del archivo de historial abierto se muestran ahora en el área **Utilizar historial** de la caja de diálogo. Puede hacer clic en esta área para que aparezca un menú emergente con la ruta del historial en el disco. 4. Valide la caja de diálogo de las Propiedades. From 63d59dd0df8d26ca39d61149d40cdeca66e63992 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:30 +0200 Subject: [PATCH 035/162] New translations restore.md (Spanish) --- .../current/Backup/restore.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Backup/restore.md b/i18n/es/docusaurus-plugin-content-docs/current/Backup/restore.md index d9b48effafebcb..1fb388c12979ef 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Backup/restore.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Backup/restore.md @@ -5,12 +5,12 @@ title: Restaurar 4D le permite restaurar conjuntos enteros de datos de una aplicación en caso de que se presente un incidente, independientemente de sus causas. Pueden producirse dos categorías principales de incidentes: -- La parada inesperada de la aplicación mientras está en uso. Este incidente puede producirse por un corte de luz, un fallo de un elemento del sistema, etc. En este caso, dependiendo del estado actual de la caché de datos en el momento del incidente, la restauración de la aplicación puede requerir diferentes operaciones: - - Si la caché estaba vacía, la aplicación se abre normalmente. Se registraron todos los cambios realizados en la aplicación. Este caso no requiere ninguna operación particular. - - Si la caché contiene operaciones, el archivo de datos está intacto pero requiere integrar el archivo de historial actual. - - Si la caché estaba en proceso de escritura, es probable que el archivo de datos esté dañado. Hay que restaurar la última copia de seguridad e integrar el archivo de historial actual. + - La parada inesperada de la aplicación mientras está en uso. Este incidente puede producirse por un corte de luz, un fallo de un elemento del sistema, etc. En este caso, dependiendo del estado actual de la caché de datos en el momento del incidente, la restauración de la aplicación puede requerir diferentes operaciones: + - Si la caché estaba vacía, la aplicación se abre normalmente. Se registraron todos los cambios realizados en la aplicación. Este caso no requiere ninguna operación particular. + - Si la caché contiene operaciones, el archivo de datos está intacto pero requiere integrar el archivo de historial actual. + - Si la caché estaba en proceso de escritura, es probable que el archivo de datos esté dañado. Hay que restaurar la última copia de seguridad e integrar el archivo de historial actual. -- La pérdida de archivo(s) de la aplicación. Este incidente puede producirse por sectores defectuosos en el disco que contiene la aplicación, un virus, un error de manipulación, etc. Hay que restaurar la última copia de seguridad y luego integrar el archivo de historial actual. Para saber si una aplicación ha sido dañada tras un incidente, basta con relanzarla con 4D. El programa realiza un auto diagnóstico y detalla las operaciones de reparación a realizar. En modo automático, estas operaciones se realizan directamente sin ninguna intervención por parte del usuario. Si se ha puesto en marcha una estrategia regular de copias de seguridad, las herramientas de restauración de 4D le permitirán (en la mayoría de los casos) recuperar la aplicación en el estado exacto en que se encontraba antes del incidente. + - La pérdida de archivo(s) de la aplicación. Este incidente puede producirse por sectores defectuosos en el disco que contiene la aplicación, un virus, un error de manipulación, etc. Hay que restaurar la última copia de seguridad y luego integrar el archivo de historial actual. Para saber si una aplicación ha sido dañada tras un incidente, basta con relanzarla con 4D. El programa realiza un auto diagnóstico y detalla las operaciones de reparación a realizar. En modo automático, estas operaciones se realizan directamente sin ninguna intervención por parte del usuario. Si se ha puesto en marcha una estrategia regular de copias de seguridad, las herramientas de restauración de 4D le permitirán (en la mayoría de los casos) recuperar la aplicación en el estado exacto en que se encontraba antes del incidente. > 4D puede lanzar procedimientos automáticamente de recuperación de las aplicaciones tras los incidentes. Estos mecanismos se gestionan mediante dos opciones disponibles en la página **Backup/Backup y Restauración** de las Propiedades. Para más información, consulte el párrafo [Restauración automática](settings.md#automatic-restore-and-log-integration).\ > Si la incidencia es el resultado de una operación inadecuada realizada sobre los datos (eliminación de un registro, por ejemplo), puede intentar reparar el archivo de datos utilizando la función "rollback" en el archivo de historial. Esta función está disponible en la página [Retroceder](MSC/rollback.md) del CSM. @@ -24,11 +24,11 @@ La restauración manual de las copias de seguridad puede realizarse a través de Para restaurar manualmente una aplicación a través de una caja de diálogo estándar: 1. Elija **Restituir...** en el menú de la aplicación 4D **Archivo**. - It is not mandatory that an application project be open. - OR Execute the `RESTORE` command from a 4D method. - Aparece una caja de diálogo estándar de apertura de archivos. + It is not mandatory that an application project be open. + OR Execute the `RESTORE` command from a 4D method. + Aparece una caja de diálogo estándar de apertura de archivos. 2. Seleccione un archivo de copia de seguridad (.4bk) o un archivo de copia de seguridad del historial (.4bl) que desee restaurar y haga clic en **Abrir**. - Aparece una caja de diálogo que permite especificar la ubicación donde se restaurarán los archivos. Por defecto, 4D restaura los archivos en una carpeta llamada *Nomarchivo* (sin extensión) situada junto al archivo. Puede mostrar la ruta de acceso: + Aparece una caja de diálogo que permite especificar la ubicación donde se restaurarán los archivos. Por defecto, 4D restaura los archivos en una carpeta llamada *Nomarchivo* (sin extensión) situada junto al archivo. Puede mostrar la ruta de acceso: ![](../assets/en/Backup/backup07.png) From 450e138ec0bc8e822f9528b1141367afbede491e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:32 +0200 Subject: [PATCH 036/162] New translations settings.md (Spanish) --- .../current/Backup/settings.md | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Backup/settings.md b/i18n/es/docusaurus-plugin-content-docs/current/Backup/settings.md index 8bd1e434af9ce1..9d6b3f2706ff8c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Backup/settings.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Backup/settings.md @@ -5,9 +5,9 @@ title: Parámetros de la copia de seguridad Los parámetros de copia de seguridad se definen a través de tres páginas en el [cuadro de diálogo de los parámetros](../settings/overview.md). Puede definir: -- la periodicidad de las copias de seguridad automáticas -- los archivos a incluir en cada copia de seguridad -- las funcionalidades avanzadas permiten ejecutar tareas automáticas + - la periodicidad de las copias de seguridad automáticas + - los archivos a incluir en cada copia de seguridad + - las funcionalidades avanzadas permiten ejecutar tareas automáticas > Las propiedades definidas en esta caja de diálogo se escriben en el archivo *Backup.4DSettings*, guardado en la carpeta [Settings](../Project/architecture.md#settings-user). @@ -23,16 +23,16 @@ Los parámetros de copia de seguridad periódicos se definen en la página **Bac Las opciones que se encuentran en esta pestaña le permiten establecer y configurar las copias de seguridad periódicas automáticas de la aplicación. Puede elegir una configuración rápida estándar o puede personalizarla completamente. Aparecen varias opciones en función de la elección realizada en el menú **Copia de seguridad automática**: -- **Nunca**: la función de copia de seguridad programada está inactiva. -- **Cada hora**: programa una copia de seguridad automática cada hora, a partir de la hora siguiente. -- Backups periódicos A continuación, puede introducir la hora a la que debe comenzar la copia de seguridad. -- **Todas las semanas**: programa una copia de seguridad automática cada semana. Dos áreas de entrada adicionales le permiten indicar el día y la hora en que debe comenzar la copia de seguridad. -- **Todos los meses**: programa una copia de seguridad automática cada mes. Dos áreas de entrada adicionales le permiten indicar el día del mes y la hora en que debe comenzar la copia de seguridad. -- **Personalizado**: sirve para configurar las copias de seguridad automáticas "a medida". Al seleccionar esta opción, aparecen varias áreas de entrada adicionales: - - **Cada X hora(s)**: permite programar las copias de seguridad con una base horaria. Puede introducir un valor entre 1 y 24. - * **Cada X día(s) a las x**: permite programar las copias de seguridad con una base diaria. Por ejemplo, introduzca 1 si desea realizar una copia de seguridad diaria. Cuando esta opción está marcada, debe introducir la hora a la que debe comenzar la copia de seguridad. - * **Cada X semana(s) a las x**: permite programar las copias de seguridad con una base semanal. Introduzca 1 si desea realizar una copia de seguridad semanal. Cuando esta opción está marcada, debe introducir el día(s) de la semana y la hora que debe comenzar la copia de seguridad. Si lo desea, puede seleccionar varios días de la semana. Por ejemplo, puede utilizar esta opción para definir dos copias de seguridad semanales: una el miércoles y otra el viernes. - * **Cada X mes(es), X día a x**: Permite programar copias de seguridad de forma mensual. Introduzca 1 si desea realizar una copia de seguridad mensual. Cuando esta opción está marcada, debe indicar el día de cada mes y la hora a la cual debe comenzar la copia de seguridad. + - **Nunca**: la función de copia de seguridad programada está inactiva. + - **Cada hora**: programa una copia de seguridad automática cada hora, a partir de la hora siguiente. + - Backups periódicos A continuación, puede introducir la hora a la que debe comenzar la copia de seguridad. + - **Todas las semanas**: programa una copia de seguridad automática cada semana. Dos áreas de entrada adicionales le permiten indicar el día y la hora en que debe comenzar la copia de seguridad. + - **Todos los meses**: programa una copia de seguridad automática cada mes. Dos áreas de entrada adicionales le permiten indicar el día del mes y la hora en que debe comenzar la copia de seguridad. + - **Personalizado**: sirve para configurar las copias de seguridad automáticas "a medida". Al seleccionar esta opción, aparecen varias áreas de entrada adicionales: + - **Cada X hora(s)**: permite programar las copias de seguridad con una base horaria. Puede introducir un valor entre 1 y 24. + * **Cada X día(s) a las x**: permite programar las copias de seguridad con una base diaria. Por ejemplo, introduzca 1 si desea realizar una copia de seguridad diaria. Cuando esta opción está marcada, debe introducir la hora a la que debe comenzar la copia de seguridad. + * **Cada X semana(s) a las x**: permite programar las copias de seguridad con una base semanal. Introduzca 1 si desea realizar una copia de seguridad semanal. Cuando esta opción está marcada, debe introducir el día(s) de la semana y la hora que debe comenzar la copia de seguridad. Si lo desea, puede seleccionar varios días de la semana. Por ejemplo, puede utilizar esta opción para definir dos copias de seguridad semanales: una el miércoles y otra el viernes. + * **Cada X mes(es), X día a x**: Permite programar copias de seguridad de forma mensual. Introduzca 1 si desea realizar una copia de seguridad mensual. Cuando esta opción está marcada, debe indicar el día de cada mes y la hora a la cual debe comenzar la copia de seguridad. > Los cambios de la hora estándar a la hora de verano podrían afectar temporalmente al programador automático y activar la siguiente copia de seguridad con un cambio de hora de una hora. Esto ocurre sólo una vez y las siguientes copias de seguridad se ejecutan a la hora prevista. @@ -48,15 +48,15 @@ La página Copia de seguridad/Configuración de las Propiedades permite designar Esta área le permite determinar qué archivos y/o carpetas deben copiarse durante la siguiente copia de seguridad. -- **Datos**: archivo de datos de la aplicación. Cuando esta opción está marcada, los siguientes elementos se copian automáticamente al mismo tiempo que los datos: - - el archivo de historial actual de la aplicación (si existe), - - la carpeta `Settings` completa situada [junto al archivo de datos](../Project/architecture.md#settings-user-data) (si existe), es decir, *los parámetros usuario para los datos*. -- **Estructura**: carpetas y archivos proyecto de la aplicación. En el caso de proyectos compilados, esta opción permite hacer una copia de seguridad del archivo .4dz. Cuando esta opción está marcada, se hace una copia de seguridad automática de la carpeta completa `Settings` situada [en el mismo nivel que la carpeta Project](../Project/architecture.md#settings-user), es decir, los *parámetros usuario*. -- **Archivo de estructura usuario (sólo para bases binaria)**: *funcionalidad obsoleta* -- **Adjuntos**: esta área permite especificar un conjunto de archivos y/o carpetas que se respaldarán al mismo tiempo que la aplicación. Estos archivos pueden ser de cualquier tipo (documentos o plantillas de plug-ins, etiquetas, informes, imágenes, etc.). Puede definir archivos individuales o carpetas cuyo contenido se respaldará completamente. Cada elemento adjunto aparece con su ruta de acceso completa en el área "Adjuntos ". - - **Eliminar**: retira el archivo seleccionado de la lista de archivos adjuntos. - - Gestión del archivo de historial En el caso de una restitución, la carpeta se recuperará con su estructura interna. Puede seleccionar toda carpeta o volumen conectado a la máquina, a excepción de la carpeta que contiene los archivos de la aplicación. - - **Añadir archivo...**: muestra una caja de diálogo que permite seleccionar un archivo para añadirlo a la copia de seguridad. + - **Datos**: archivo de datos de la aplicación. Cuando esta opción está marcada, los siguientes elementos se copian automáticamente al mismo tiempo que los datos: + - el archivo de historial actual de la aplicación (si existe), + - la carpeta `Settings` completa situada [junto al archivo de datos](../Project/architecture.md#settings-user-data) (si existe), es decir, *los parámetros usuario para los datos*. + - **Estructura**: carpetas y archivos proyecto de la aplicación. En el caso de proyectos compilados, esta opción permite hacer una copia de seguridad del archivo .4dz. Cuando esta opción está marcada, se hace una copia de seguridad automática de la carpeta completa `Settings` situada [en el mismo nivel que la carpeta Project](../Project/architecture.md#settings-user), es decir, los *parámetros usuario*. + - **Archivo de estructura usuario (sólo para bases binaria)**: *funcionalidad obsoleta* + - **Adjuntos**: esta área permite especificar un conjunto de archivos y/o carpetas que se respaldarán al mismo tiempo que la aplicación. Estos archivos pueden ser de cualquier tipo (documentos o plantillas de plug-ins, etiquetas, informes, imágenes, etc.). Puede definir archivos individuales o carpetas cuyo contenido se respaldará completamente. Cada elemento adjunto aparece con su ruta de acceso completa en el área "Adjuntos ". + - **Eliminar**: retira el archivo seleccionado de la lista de archivos adjuntos. + - Gestión del archivo de historial En el caso de una restitución, la carpeta se recuperará con su estructura interna. Puede seleccionar toda carpeta o volumen conectado a la máquina, a excepción de la carpeta que contiene los archivos de la aplicación. + - **Añadir archivo...**: muestra una caja de diálogo que permite seleccionar un archivo para añadirlo a la copia de seguridad. ### Carpeta de destino del archivo de copia de seguridad @@ -82,22 +82,22 @@ La modificación de las opciones de copia de seguridad y restauración es opcion ### Parámetros generales -- **Conservar únicamente los últimos X archivos de copia de seguridad**: este parámetro activa y configura el mecanismo utilizado para eliminar los archivos de copia de seguridad más antiguos, lo que evita el riesgo de saturar la unidad de disco. Esta funcionalidad opera de la siguiente manera: una vez finalizado el backup actual, 4D elimina el archivo más antiguo si se encuentra en la misma ubicación que el archivo del que se está haciendo el backup y tiene el mismo nombre (puede solicitar que el archivo más antiguo se elimine antes del backup para ahorrar espacio). + - **Conservar únicamente los últimos X archivos de copia de seguridad**: este parámetro activa y configura el mecanismo utilizado para eliminar los archivos de copia de seguridad más antiguos, lo que evita el riesgo de saturar la unidad de disco. Esta funcionalidad opera de la siguiente manera: una vez finalizado el backup actual, 4D elimina el archivo más antiguo si se encuentra en la misma ubicación que el archivo del que se está haciendo el backup y tiene el mismo nombre (puede solicitar que el archivo más antiguo se elimine antes del backup para ahorrar espacio). Si, por ejemplo, el número de conjuntos se define en 3, las tres primeras copias de seguridad crean los archivos MyBase-0001, MyBase-0002 y MyBase-0003 respectivamente. Durante la cuarta copia de seguridad, se crea el archivo MyBase-0004 y se elimina MyBase-0001. Por defecto, el mecanismo de eliminación de conjuntos está activado y 4D guarda 3 conjuntos de copia de seguridad. Para desactivar el mecanismo, basta con deseleccionar la opción. > Este parámetro se refiere tanto a las copias de seguridad de la aplicación como de los archivos del historial. -- **Copia de seguridad sólo si el archivo de datos ha sido modificado**: cuando se marca esta opción, 4D inicia las copias de seguridad programadas sólo si se han añadido, modificado o eliminado datos desde la última copia de seguridad. De lo contrario, la copia de seguridad programada se cancela y se pospone hasta la siguiente copia de seguridad programada. No se genera ningún error; sin embargo, el diario de copias de seguridad señala que la copia de seguridad se ha pospuesto. Esta opción también permite ahorrar tiempo de máquina para la copia de seguridad de las aplicaciones utilizadas principalmente para su visualización. Tenga en cuenta que al activar esta opción no se tienen en cuenta las modificaciones realizadas en los archivos de estructura o en los archivos adjuntos. + - **Copia de seguridad sólo si el archivo de datos ha sido modificado**: cuando se marca esta opción, 4D inicia las copias de seguridad programadas sólo si se han añadido, modificado o eliminado datos desde la última copia de seguridad. De lo contrario, la copia de seguridad programada se cancela y se pospone hasta la siguiente copia de seguridad programada. No se genera ningún error; sin embargo, el diario de copias de seguridad señala que la copia de seguridad se ha pospuesto. Esta opción también permite ahorrar tiempo de máquina para la copia de seguridad de las aplicaciones utilizadas principalmente para su visualización. Tenga en cuenta que al activar esta opción no se tienen en cuenta las modificaciones realizadas en los archivos de estructura o en los archivos adjuntos. > Este parámetro se refiere tanto a las copias de seguridad de la aplicación como de los archivos del historial. -- **Eliminar el archivo de copia de seguridad más antiguo antes/después de la copia de seguridad**: esta opción sólo se utiliza si la opción "Conservar sólo los últimos X archivos de copia de seguridad" está marcada. Especifica si 4D debe comenzar borrando el archivo más antiguo antes de iniciar la copia de seguridad (**antes** opción) o si el borrado debe tener lugar una vez finalizada la copia de seguridad (opción **después**). Para que este mecanismo funcione, el archivo más antiguo no debe haber sido renombrado o movido. + - **Eliminar el archivo de copia de seguridad más antiguo antes/después de la copia de seguridad**: esta opción sólo se utiliza si la opción "Conservar sólo los últimos X archivos de copia de seguridad" está marcada. Especifica si 4D debe comenzar borrando el archivo más antiguo antes de iniciar la copia de seguridad (**antes** opción) o si el borrado debe tener lugar una vez finalizada la copia de seguridad (opción **después**). Para que este mecanismo funcione, el archivo más antiguo no debe haber sido renombrado o movido. -- **Si falla la copia de seguridad**: esta opción permite configurar el mecanismo utilizado para gestionar las copias de seguridad fallidas (copia de seguridad imposible). Cuando no se puede realizar una copia de seguridad, 4D le permite realizar un nuevo intento. - - **Reintentar en la siguiente fecha y hora programada**: esta opción sólo tiene sentido cuando se trabaja con copias de seguridad automáticas programadas. Equivale a anular la copia de seguridad fallida. Se genera un error. - - **Reintentar después de X segundo(s), minuto(s) u hora(s)**: cuando se marca esta opción, se ejecuta un nuevo intento de copia de seguridad después del periodo de espera. Este mecanismo permite anticipar ciertas circunstancias que pueden bloquear la copia de seguridad. Puede establecer un periodo de espera en segundos, minutos u horas utilizando el menú correspondiente. Si el nuevo intento también falla, se genera un error y se anota el fallo en el área de estado de la última copia de seguridad y en el archivo del diario de copias de seguridad. - - **Cancelar la operación después de X intentos**: este parámetro se utiliza para definir el número máximo de intentos de copia de seguridad fallidos. Si la copia de seguridad no se ha realizado con éxito una vez alcanzado el número máximo de intentos establecido, se cancela y se genera el error 1401 ("Se ha alcanzado el número máximo de intentos de copia de seguridad; la copia de seguridad automática está temporalmente desactivada"). En este caso, no se intentará realizar una nueva copia de seguridad automática mientras no se haya reiniciado la aplicación o se haya realizado con éxito una copia de seguridad manual. + - **Si falla la copia de seguridad**: esta opción permite configurar el mecanismo utilizado para gestionar las copias de seguridad fallidas (copia de seguridad imposible). Cuando no se puede realizar una copia de seguridad, 4D le permite realizar un nuevo intento. + - **Reintentar en la siguiente fecha y hora programada**: esta opción sólo tiene sentido cuando se trabaja con copias de seguridad automáticas programadas. Equivale a anular la copia de seguridad fallida. Se genera un error. + - **Reintentar después de X segundo(s), minuto(s) u hora(s)**: cuando se marca esta opción, se ejecuta un nuevo intento de copia de seguridad después del periodo de espera. Este mecanismo permite anticipar ciertas circunstancias que pueden bloquear la copia de seguridad. Puede establecer un periodo de espera en segundos, minutos u horas utilizando el menú correspondiente. Si el nuevo intento también falla, se genera un error y se anota el fallo en el área de estado de la última copia de seguridad y en el archivo del diario de copias de seguridad. + - **Cancelar la operación después de X intentos**: este parámetro se utiliza para definir el número máximo de intentos de copia de seguridad fallidos. Si la copia de seguridad no se ha realizado con éxito una vez alcanzado el número máximo de intentos establecido, se cancela y se genera el error 1401 ("Se ha alcanzado el número máximo de intentos de copia de seguridad; la copia de seguridad automática está temporalmente desactivada"). En este caso, no se intentará realizar una nueva copia de seguridad automática mientras no se haya reiniciado la aplicación o se haya realizado con éxito una copia de seguridad manual. Este parámetro es útil para evitar un caso en el que un problema prolongado (que requiera la intervención humana) que impidiera la realización de una copia de seguridad hubiera llevado a la aplicación a intentar repetidamente la copia de seguridad en detrimento de su rendimiento general. Por defecto, este parámetro no está seleccionado. > 4D considera que una copia de seguridad ha fallado si la aplicación no se ha iniciado en el momento en que se ha programado la realización de la copia de seguridad automática. @@ -106,18 +106,18 @@ La modificación de las opciones de copia de seguridad y restauración es opcion Estas opciones se aplican a los archivos de copia de seguridad principales y a los archivos de copia de seguridad del historial. -- **Segment Size (Mb)** 4D allows you to segment archives, i.e., to cut it up into smaller sizes. Este funcionamiento permite, por ejemplo, almacenar una copia de seguridad en varios discos diferentes (DVD, dispositivos usb, etc.). Durante la restauración, 4D fusionará automáticamente los segmentos. Cada segmento se llama MyApplication[xxxx-yyyy].4BK, donde xxxx es el número de copia de seguridad e yyyy es el número de segmento. Por ejemplo, los tres segmentos de la copia de seguridad de la base MyApplication se llaman MyApplication[0006-0001].4BK, MyApplication[0006-0002].4BK y MyApplication[0006-0003].4BK. + - **Segment Size (Mb)** 4D allows you to segment archives, i.e., to cut it up into smaller sizes. Este funcionamiento permite, por ejemplo, almacenar una copia de seguridad en varios discos diferentes (DVD, dispositivos usb, etc.). Durante la restauración, 4D fusionará automáticamente los segmentos. Cada segmento se llama MyApplication[xxxx-yyyy].4BK, donde xxxx es el número de copia de seguridad e yyyy es el número de segmento. Por ejemplo, los tres segmentos de la copia de seguridad de la base MyApplication se llaman MyApplication[0006-0001].4BK, MyApplication[0006-0002].4BK y MyApplication[0006-0003].4BK. El menú **Tamaño del segmento** es un combo box que permite establecer el tamaño en MB de cada segmento de la copia de seguridad. Puede elegir uno de los tamaños preestablecidos o introducir un tamaño específico entre 0 y 2048. Si se pasa 0, no se produce ninguna segmentación (esto equivale a pasar **Ninguna**). -- **Compression Rate** By default, 4D compresses backups to help save disk space. Sin embargo, la fase de compresión de archivos puede ralentizar notablemente las copias de seguridad cuando se trata de grandes volúmenes de datos. La opción **Tasa de compresión** permite ajustar la compresión de los archivos: - - **Ninguna:** no se aplica ninguna compresión de archivos. La copia de seguridad es más rápida, pero los archivos son considerablemente más grandes. - - **Rápido** (por defecto): esta opción es un compromiso entre la velocidad de la copia de seguridad y el tamaño del archivo. - - **Compactado**: la tasa de compresión máxima se aplica a los archivos. Los ficheros de archivos ocupan el menor espacio posible en el disco, pero la copia de seguridad se ralentiza notablemente. + - **Compression Rate** By default, 4D compresses backups to help save disk space. Sin embargo, la fase de compresión de archivos puede ralentizar notablemente las copias de seguridad cuando se trata de grandes volúmenes de datos. La opción **Tasa de compresión** permite ajustar la compresión de los archivos: + - **Ninguna:** no se aplica ninguna compresión de archivos. La copia de seguridad es más rápida, pero los archivos son considerablemente más grandes. + - **Rápido** (por defecto): esta opción es un compromiso entre la velocidad de la copia de seguridad y el tamaño del archivo. + - **Compactado**: la tasa de compresión máxima se aplica a los archivos. Los ficheros de archivos ocupan el menor espacio posible en el disco, pero la copia de seguridad se ralentiza notablemente. -- **Tasa de entrelazamiento y tasa de redundancia** + - **Tasa de entrelazamiento y tasa de redundancia** 4D genera archivos utilizando algoritmos específicos que se basan en mecanismos de optimización (entrelazamiento) y seguridad (redundancia). Puedes configurar estos mecanismos en función de sus necesidades. Los menús asociados a estas opciones contienen índices de **Bajo**, **Medio**, **Alto** y **Ninguno** (por defecto). - - **Tasa de entrelazamiento**: el entrelazamiento consiste en almacenar los datos en sectores no adyacentes para limitar los riesgos en caso de daño de los sectores. Cuanto mayor sea la tasa, mayor será la seguridad; sin embargo, el procesamiento de datos utilizará más memoria. - - **Tasa de redundancia**: la redundancia permite asegurar los datos presentes en un fichero repitiendo varias veces la misma información. Cuanto mayor sea la tasa de redundancia, mayor será la seguridad de los archivos; sin embargo, el almacenamiento será más lento y el tamaño de los archivos aumentará en consecuencia. + - **Tasa de entrelazamiento**: el entrelazamiento consiste en almacenar los datos en sectores no adyacentes para limitar los riesgos en caso de daño de los sectores. Cuanto mayor sea la tasa, mayor será la seguridad; sin embargo, el procesamiento de datos utilizará más memoria. + - **Tasa de redundancia**: la redundancia permite asegurar los datos presentes en un fichero repitiendo varias veces la misma información. Cuanto mayor sea la tasa de redundancia, mayor será la seguridad de los archivos; sin embargo, el almacenamiento será más lento y el tamaño de los archivos aumentará en consecuencia. ### Restauración automática e integración de registros @@ -139,11 +139,11 @@ El usuario no ve ninguna caja de diálogo; la operación es completamente autom > En el caso de una restauración automática, sólo se restauran los siguientes elementos: > -> - archivo .4DD -> - archivo .4DIndx -> - archivo .4DSyncData -> - archivo .4DSyncHeader -> - Carpeta External Data +> - archivo .4DD +> - archivo .4DIndx +> - archivo .4DSyncData +> - archivo .4DSyncHeader +> - Carpeta External Data > > Si desea obtener los archivos adjuntos o los archivos del proyecto, debe realizar una [restauración manual](restore.md#manually-restoring-a-backup-standard-dialog). From 6a36dff617a3bb9eeb2bf460ed82a4141caf27db Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:44 +0200 Subject: [PATCH 037/162] New translations tls.md (Japanese) --- i18n/ja/docusaurus-plugin-content-docs/current/Admin/tls.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Admin/tls.md b/i18n/ja/docusaurus-plugin-content-docs/current/Admin/tls.md index 406ec78af6a64c..5572429b815406 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Admin/tls.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Admin/tls.md @@ -136,11 +136,11 @@ HTTPサーバーで TLS接続を受け入れるには、HTTPS を有効化しな 2. 証明書のリクエストを発行するために `GENERATE CERTIFICATE REQUEST` コマンドを使用します。 3. その証明書リクエストを選択された認証機関へ送ります。 - 証明書リクエストを記入する際、認証機関への問い合わせが必要となる場合があります。 認証機関は送信されてきた情報が正確なものかを確認します。 その証明書リクエストは base64 で暗号化された PKCSフォーマット (PEMフォーマット) を用いて BLOB に作成さ れます。 この原理を使用すると、テキストとしてキーをコピー&ペーストできます。キーの内容を修正せずに認証機関に提出します。 たとえば、テキストドキュメントに証明書リクエストを含んでいる BLOB を保存します (`BLOB TO DOCUMENT` コマンドを使用)。そして、コンテンツを開き、それをコピーして、認証機関へ送信するメールまたは Webフォームにペーストします。 + 証明書リクエストを記入する際、認証機関への問い合わせが必要となる場合があります。 認証機関は送信されてきた情報が正確なものかを確認します。 その証明書リクエストは base64 で暗号化された PKCSフォーマット (PEMフォーマット) を用いて BLOB に作成さ れます。 この原理を使用すると、テキストとしてキーをコピー&ペーストできます。キーの内容を修正せずに認証機関に提出します。 たとえば、テキストドキュメントに証明書リクエストを含んでいる BLOB を保存します (`BLOB TO DOCUMENT` コマンドを使用)。そして、コンテンツを開き、それをコピーして、認証機関へ送信するメールまたは Webフォームにペーストします。 4. 証明書を取得したら、"cert.pem" という名前でテキストファイルを作成し、その証明書の内容をそのファイルへコピーします。 - 証明書は様々な方法で受け取ることができます (通常は Eメールまたは HTML形式で受け取ります)。 証明書を取得したら、"cert.pem" という名前でテキストファイルを作成し、その証明書の内容をそのファイルへコピーします。 - 証明書は様々な方法で受け取ることができます (通常は Eメールまたは HTML形式で受け取ります)。 4D accepts all platform-related text formats for certificates (macOS, PC, Linux, etc.). ただし、証明書は [PEMフォーマット](#形式)、*つまり* base64 で PKCSエンコードされている必要があります。 + 証明書は様々な方法で受け取ることができます (通常は Eメールまたは HTML形式で受け取ります)。 証明書を取得したら、"cert.pem" という名前でテキストファイルを作成し、その証明書の内容をそのファイルへコピーします。 + 証明書は様々な方法で受け取ることができます (通常は Eメールまたは HTML形式で受け取ります)。 4D accepts all platform-related text formats for certificates (macOS, PC, Linux, etc.). ただし、証明書は [PEMフォーマット](#形式)、*つまり* base64 で PKCSエンコードされている必要があります。 > CR改行コードは、それ単体ではサポートされていません。改行コードは CRLF または LF を使用してください。 From 972d5c1764b54293177b9e968369c05407a5f05c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:47 +0200 Subject: [PATCH 038/162] New translations webadmin.md (Japanese) --- .../current/Admin/webAdmin.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Admin/webAdmin.md b/i18n/ja/docusaurus-plugin-content-docs/current/Admin/webAdmin.md index 81090d6fc2c115..657829ce598c98 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Admin/webAdmin.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Admin/webAdmin.md @@ -17,7 +17,7 @@ WebAdmin 内部コンポーネントは、"WebAdmin" 権限を持つユーザー `WebAdmin` Webサーバーは、4D または 4D Server アプリケーションの起動時 (プロジェクトの読み込み前) に開始するように設定できます。 -- インターフェースを持つ 4Dアプリケーションを使用している場合は、**ファイル > Web管理 > 設定...** メニュー項目を選択します。 + - インターフェースを持つ 4Dアプリケーションを使用している場合は、**ファイル > Web管理 > 設定...** メニュー項目を選択します。 ![alt-text](../assets/en/Admin/waMenu1.png) @@ -25,7 +25,7 @@ Web管理設定ダイアログボックスで、**WebAdmin サーバーをスタ ![alt-text](../assets/en/Admin/waSettings.png) -- ヘッドレスの 4Dアプリケーションを使用しているかにかかわらず、以下の *コマンドライン・インターフェース* の引数を使用して、自動スタートアップを有効にすることができます: + - ヘッドレスの 4Dアプリケーションを使用しているかにかかわらず、以下の *コマンドライン・インターフェース* の引数を使用して、自動スタートアップを有効にすることができます: ``` open ~/Desktop/4D.app --webadmin-auto-start true @@ -71,8 +71,8 @@ Web管理の設定ダイアログボックスを開くには、**ファイル **注:** -- ローカルホスト以外による HTTP接続は受け付けません。 -- このオプションがチェックされていても、[HTTPSを受け入れる](#httpsを受け入れる) がチェックされていて、TLS の設定が有効な場合、ローカルホストの接続は HTTPS を使用します。 + - ローカルホスト以外による HTTP接続は受け付けません。 + - このオプションがチェックされていても、[HTTPSを受け入れる](#httpsを受け入れる) がチェックされていて、TLS の設定が有効な場合、ローカルホストの接続は HTTPS を使用します。 #### HTTP ポート @@ -94,11 +94,11 @@ TLS証明書ファイルが置かれているフォルダーのパスです。 HTTPリクエストログファイル (アプリケーションの "Logs" フォルダーに格納されている HTTPDebugLog_*nn*.txt (nn はファイル番号)) の状態やフォーマットを指定します。 次のオプションから選択することができます: -- **無効化** (デフォルト) -- **bodyパーツを全て** - レスポンスおよびリクエストのボディパーツを含める形で有効化。 -- **bodyパーツを含めない** - ボディパーツを含めない形で有効化 (ボディザイズは提供されます) -- **リクエストのbody** - リクエストのボディパーツのみを含める形で有効化。 -- **レスポンスのbody** - レスポンスのボディパーツのみを含める形で有効化。 + - **無効化** (デフォルト) + - **bodyパーツを全て** - レスポンスおよびリクエストのボディパーツを含める形で有効化。 + - **bodyパーツを含めない** - ボディパーツを含めない形で有効化 (ボディザイズは提供されます) + - **リクエストのbody** - リクエストのボディパーツのみを含める形で有効化。 + - **レスポンスのbody** - レスポンスのボディパーツのみを含める形で有効化。 #### アクセスキー @@ -108,9 +108,9 @@ HTTPリクエストログファイル (アプリケーションの "Logs" フォ アクセスキーはパスワードに似ていますが、ログインとは関係ありません。 -- 新しいアクセスキーを定義するには、**定義** ボタンをクリックし、ダイアログボックスにアクセスキーの文字列を入力して **OK** をクリックします。 すると、ボタンラベルが **編集** に変わります。 -- アクセスキーを編集するには、**編集** ボタンをクリックし、ダイアログボックスに新しいアクセスキーの文字列を入力して **OK** をクリックします。 -- 新しいアクセスキーを削除するには、**編集** ボタンをクリックし、ダイアログボックスのアクセスキー欄を空にして **OK** をクリックします。 + - 新しいアクセスキーを定義するには、**定義** ボタンをクリックし、ダイアログボックスにアクセスキーの文字列を入力して **OK** をクリックします。 すると、ボタンラベルが **編集** に変わります。 + - アクセスキーを編集するには、**編集** ボタンをクリックし、ダイアログボックスに新しいアクセスキーの文字列を入力して **OK** をクリックします。 + - 新しいアクセスキーを削除するには、**編集** ボタンをクリックし、ダイアログボックスのアクセスキー欄を空にして **OK** をクリックします。 #### Qodly Studio へのアクセスを有効化する @@ -145,9 +145,9 @@ HTTPリクエストログファイル (アプリケーションの "Logs" フォ ## 認証とセッション -- 事前に本人確認せずに URL経由で Web管理ページにアクセスした場合、認証が必要になります。 ユーザーは、認証ダイアログボックスに [アクセスキー](#アクセスキー) を入力する必要があります。 `WebAdmin` 設定でアクセスキーが定義されていない場合には、URL経由のアクセスはできません。 + - 事前に本人確認せずに URL経由で Web管理ページにアクセスした場合、認証が必要になります。 ユーザーは、認証ダイアログボックスに [アクセスキー](#アクセスキー) を入力する必要があります。 `WebAdmin` 設定でアクセスキーが定義されていない場合には、URL経由のアクセスはできません。 -- 4D または 4D Server のメニュー項目 (**レコード > データエクスプローラー** または **ウィンドウ > データエクスプローラー** (4D Server) など) から Web管理ページに直接アクセスした場合、アクセスは認証なしで許可され、ユーザーは自動的に認証されます。 + - 4D または 4D Server のメニュー項目 (**レコード > データエクスプローラー** または **ウィンドウ > データエクスプローラー** (4D Server) など) から Web管理ページに直接アクセスした場合、アクセスは認証なしで許可され、ユーザーは自動的に認証されます。 アクセスが許可されると、4Dアプリケーション上に "WebAdmin" 権限を持つ Web[セッション](WebServer/sessions.md) が作成されます。 カレントセッションが "WebAdmin" 権限を持っている限り、`WebAdmin` コンポーネントは要求されたページを提供します。 From ee5a975dacb5ed6ecdc906ad51d0506ec587bd61 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:49 +0200 Subject: [PATCH 039/162] New translations backup.md (Japanese) --- .../docusaurus-plugin-content-docs/current/Backup/backup.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/backup.md b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/backup.md index d94e3563bc7cad..d5e271b622314a 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/backup.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/backup.md @@ -15,9 +15,9 @@ title: バックアップ ## 手動バックアップ 1. 4D の **ファイル** メニューから **バックアップ...** を選択します。 - バックアップウインドウが表示されます: - ![](../assets/en/Backup/backup01.png) - "バックアップファイルの保存先" エリアの隣のポップアップメニューを使用して、バックアップファイルの保存場所を確認することができます。 この場所はデータベース設定の **バックアップ/設定** ページにて、設定されています。 + バックアップウインドウが表示されます: + ![](../assets/en/Backup/backup01.png) + "バックアップファイルの保存先" エリアの隣のポップアップメニューを使用して、バックアップファイルの保存場所を確認することができます。 この場所はデータベース設定の **バックアップ/設定** ページにて、設定されています。 - 4D の [Maintenance & Security Center (MSC)](MSC/overview.md) を開いて、[バックアップページ](MSC/backup.md) から操作することもできます。 From 0075d5ed531a278690dc424b65136d00e5f22b59 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:51 +0200 Subject: [PATCH 040/162] New translations log.md (Japanese) --- .../ja/docusaurus-plugin-content-docs/current/Backup/log.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/log.md b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/log.md index 8da36eeea7f7c8..86b24cc19d6392 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/log.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/log.md @@ -44,13 +44,13 @@ title: ログファイル (.journal) ログファイルを作成するには、次の手順に従ってください: 1. ストラクチャー設定の **バックアップ/設定** ページで、**ログを使用** オプションを選択します。 - 標準の "ファイルを開く/新規作成" ダイアログボックスが表示されます。 ログファイルにはデフォルトで *data.journal* という名前が付けられます。 + 標準の "ファイルを開く/新規作成" ダイアログボックスが表示されます。 ログファイルにはデフォルトで *data.journal* という名前が付けられます。 2. デフォルトの名前を使用するか、またはその名前を変更し、次にファイルの保管場所を選択します。 - 2つ以上のハードドライブが存在する場合は、アプリケーションプロジェクトが保管されているディスク以外の場所にログファイルを保存することをお勧めします。 これにより、アプリケーションが保管されているハードドライブが破損した場合でも、ログファイルを呼び出すことができます。 + 2つ以上のハードドライブが存在する場合は、アプリケーションプロジェクトが保管されているディスク以外の場所にログファイルを保存することをお勧めします。 これにより、アプリケーションが保管されているハードドライブが破損した場合でも、ログファイルを呼び出すことができます。 3. **保存** をクリックします。 - 開いたログファイルのアクセスパスと名前がダイアログボックスの **ログを使用** エリアに表示されます。 このエリアをクリックすると、ポップアップメニューが表示され、ディスク上のフォルダーを確認できます。 + 開いたログファイルのアクセスパスと名前がダイアログボックスの **ログを使用** エリアに表示されます。 このエリアをクリックすると、ポップアップメニューが表示され、ディスク上のフォルダーを確認できます。 4. ストラクチャー設定ダイアログボックスを確定します。 From 328aa66fede7c665e54e92d5303ebec8171c819a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:56 +0200 Subject: [PATCH 041/162] New translations restore.md (Japanese) --- .../current/Backup/restore.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/restore.md b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/restore.md index e241a990369607..6986d96dadd991 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/restore.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/restore.md @@ -5,12 +5,12 @@ title: 復元 問題が発生したときは、一連のアプリケーションファイル全体を復元することができます。 主に 2つのカテゴリの問題が発生する可能性があります: -- アプリケーションが使用中に予期せず終了された。 この問題は電力の切断、システムのエラー等により発生する可能性があります。 この場合、問題が発生した瞬間のデータキャッシュの状態により、アプリケーションの復旧には異なる手順が必要となります: - - キャッシュが空の場合、アプリケーションを問題なく開くことができます。 アプリケーションに対しておこなわれた変更はデータファイルに記録されています。 この場合には、特別な手順は必要ありません。 - - キャッシュに未保存の処理が含まれている場合、データファイルは損傷していませんが、カレントのログファイルを統合する必要があります。 - - キャッシュの内容をデータファイルに書き込み中だった場合、データファイルはおそらく損傷しています。 最新のバックアップから復元をおこない、カレントのログファイルを統合する必要があります。 + - アプリケーションが使用中に予期せず終了された。 この問題は電力の切断、システムのエラー等により発生する可能性があります。 この場合、問題が発生した瞬間のデータキャッシュの状態により、アプリケーションの復旧には異なる手順が必要となります: + - キャッシュが空の場合、アプリケーションを問題なく開くことができます。 アプリケーションに対しておこなわれた変更はデータファイルに記録されています。 この場合には、特別な手順は必要ありません。 + - キャッシュに未保存の処理が含まれている場合、データファイルは損傷していませんが、カレントのログファイルを統合する必要があります。 + - キャッシュの内容をデータファイルに書き込み中だった場合、データファイルはおそらく損傷しています。 最新のバックアップから復元をおこない、カレントのログファイルを統合する必要があります。 -- アプリケーションファイルを失った。 この問題はアプリケーションが配置されたディスク上のセクターが読み書き不能になった、あるいはウィルス、操作ミス等により発生します。 最新のバックアップから復元をおこない、カレントのログファイルを統合する必要があります。 問題発生後にアプリケーションが損傷しているかどうかを見分けるには、4D でアプリケーションを起動します。 4Dは自己検証をおこない、必要な復元処理手順を示します。 自動モードの場合、この処理はユーザーのアクションなしで直接実行されます。 定期的なバックアップがおこなわれていれば、4D の復元ツールを使用して (ほとんどの場合) 問題が発生する直前の状態までアプリケーションを復旧することができます。 + - アプリケーションファイルを失った。 この問題はアプリケーションが配置されたディスク上のセクターが読み書き不能になった、あるいはウィルス、操作ミス等により発生します。 最新のバックアップから復元をおこない、カレントのログファイルを統合する必要があります。 問題発生後にアプリケーションが損傷しているかどうかを見分けるには、4D でアプリケーションを起動します。 4Dは自己検証をおこない、必要な復元処理手順を示します。 自動モードの場合、この処理はユーザーのアクションなしで直接実行されます。 定期的なバックアップがおこなわれていれば、4D の復元ツールを使用して (ほとんどの場合) 問題が発生する直前の状態までアプリケーションを復旧することができます。 > 問題発生後に、自動で 4Dのアプリケーション復旧処理を起動することができます。 このメカニズムは、ストラクチャー設定の **バックアップ/バックアップ&復旧** ページで利用できるオプションを使用して管理します。 詳細は [自動復元](settings.md#自動復元とログの統合) を参照してください。\ > 問題が、データに対しておこなわれた不適切な処理の結果引き起こされた場合 (たとえば誤ってレコードを削除した等)、ログファイルの "ロールバック" 機能を使用してデータファイルを復旧できます。 この機能は MSC の [ロールバック](MSC/rollback.md) ページから利用できます。 @@ -24,12 +24,12 @@ title: 復元 標準ダイアログボックスを使用してアプリケーションを手動復元するには: 1. 4Dアプリケーションを開始し、**ファイル** メニューから **復元...** を選択します。 - アプリケーションプロジェクトが開かれている必要はありません。 - または
- 4Dメソッドから `RESTORE` コマンドを実行します。 - 標準のファイルを開くダイアログボックスが表示されます。 + アプリケーションプロジェクトが開かれている必要はありません。 + または
+ 4Dメソッドから `RESTORE` コマンドを実行します。 + 標準のファイルを開くダイアログボックスが表示されます。 2. 復元するバックアップファイル (.4bk) またはログバックアップファイル (.4bl) を選択し、**開く** をクリックします。 - 復元したファイルを配置する場所を指定するために、以下のダイアログボックスが表示されます: デフォルトで 4Dは アーカイブと同階層にアーカイブ名と同じ名前 (拡張子なし) のフォルダーを作成し、ファイルを復元します。 場所が表示されているエリアをクリックして、パスを確認することができます: + 復元したファイルを配置する場所を指定するために、以下のダイアログボックスが表示されます: デフォルトで 4Dは アーカイブと同階層にアーカイブ名と同じ名前 (拡張子なし) のフォルダーを作成し、ファイルを復元します。 場所が表示されているエリアをクリックして、パスを確認することができます: ![](../assets/en/Backup/backup07.png) @@ -39,7 +39,7 @@ title: 復元 カレントログファイル、または、バックアップファイルと同じ番号を持つログバックアップファイルが同じフォルダーに存在する場合、4D はその内容を検証します。 データファイル中に無い処理がログファイルに含まれていれば、その処理を統合するかどうか 4D が尋ねてきます。 **データベースが完全でない場合、最新のログを統合する** オプションが選択されている場合、統合処理は自動でおこなわれます ([自動復元](settings.md#自動復元とログの統合) 参照)。 4. (任意) **OK** をクリックして、復元したアプリケーションにログファイルを統合します。 - 復元と統合が正しく実行されると、4D は処理が成功したことを通知するダイアログを表示します。 + 復元と統合が正しく実行されると、4D は処理が成功したことを通知するダイアログを表示します。 5. **OK** をクリックします。 保存先フォルダーが表示されます。 バックアップ時のファイルの位置にかかわらず、4D はすべてのバックアップファイルをこのフォルダーに配置します。 これにより、ファイルを探す手間が省けます。 From 36ab8489f4a772bb3911b783e213c8d462e387a6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:45:58 +0200 Subject: [PATCH 042/162] New translations settings.md (Japanese) --- .../current/Backup/settings.md | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/settings.md b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/settings.md index 27421e3394a7c9..c28b98d4c1ef79 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Backup/settings.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Backup/settings.md @@ -5,9 +5,9 @@ title: バックアップ設定 バックアップ設定の定義は、[ストラクチャー設定ダイアログボックス](../settings/overview.md) 内で 3ページにわたっています。 次の設定がおこなえます: -- 自動バックアップ用のスケジューラー設定 -- 各バックアップに含めるファイル -- 自動タスクの実行を可能にする高度な設定 + - 自動バックアップ用のスケジューラー設定 + - 各バックアップに含めるファイル + - 自動タスクの実行を可能にする高度な設定 > このダイアログボックスで定義された設定は *Backup.4DSettings* ファイルに書き込まれ、[Settings フォルダー](Project/architecture.md#settings-ユーザー) に保存されます。 @@ -23,16 +23,16 @@ title: バックアップ設定 このページにあるオプションを使用して、アプリケーションの自動バックアップのスケジュールを設定できます。 標準のクイック設定、または完全なカスタマイズを選択できます。 **自動バックアップ** メニューでの選択に基づき、さまざまなオプションが表示されます: -- **しない**: スケジュールに基づくバックアップは無効となります。 -- **毎時**: 次の時間以降、毎時間ごとに自動バックアップをおこないます。 -- **毎日**: 日に一回自動バックアップをおこないます。 バックアップを何時に開始するかを設定します。 -- **毎週**: 週に一回自動バックアップをおこないます。 バックアップを開始する曜日と時刻を入力するエリアが表示されます。 -- **毎月**: 月に一回自動バックアップをおこないます。 バックアップを開始する日付と時刻を入力するエリアが表示されます。 -- **カスタマイズ**: 自動バックアップを詳細にスケジュールする場合に使用します。 このオプションを選択すると、複数の入力エリアが表示されます: - - **X 時間ごと**: 時間単位でバックアップの間隔をスケジュールできます。 1から24までの値を設定できます。 - * **X 日ごと**: 日単位でバックアップの間隔をスケジュールできます。 たとえば、毎日バックアップをおこなうには 1 と設定します。 このオプションを選択した場合、バックアップが開始される時刻を設定しなければなりません。 - * **X 週ごと**: 週単位でバックアップの間隔をスケジュールできます。 たとえば、毎週バックアップをおこなうには 1 と設定します。 このオプションを選択した場合、バックアップを開始する曜日と時刻を設定しなければなりません。 複数の曜日を選択することもできます。 たとえば、毎週水曜日と金曜日にバックアップをするようプログラムできます。 - * **X 月ごと**: 月単位でバックアップの間隔をスケジュールできます。 たとえば、毎月バックアップをおこなうには 1 と設定します。 このオプションを選択した場合、バックアップを開始する日付と時刻を設定しなければなりません。 + - **しない**: スケジュールに基づくバックアップは無効となります。 + - **毎時**: 次の時間以降、毎時間ごとに自動バックアップをおこないます。 + - **毎日**: 日に一回自動バックアップをおこないます。 バックアップを何時に開始するかを設定します。 + - **毎週**: 週に一回自動バックアップをおこないます。 バックアップを開始する曜日と時刻を入力するエリアが表示されます。 + - **毎月**: 月に一回自動バックアップをおこないます。 バックアップを開始する日付と時刻を入力するエリアが表示されます。 + - **カスタマイズ**: 自動バックアップを詳細にスケジュールする場合に使用します。 このオプションを選択すると、複数の入力エリアが表示されます: + - **X 時間ごと**: 時間単位でバックアップの間隔をスケジュールできます。 1から24までの値を設定できます。 + * **X 日ごと**: 日単位でバックアップの間隔をスケジュールできます。 たとえば、毎日バックアップをおこなうには 1 と設定します。 このオプションを選択した場合、バックアップが開始される時刻を設定しなければなりません。 + * **X 週ごと**: 週単位でバックアップの間隔をスケジュールできます。 たとえば、毎週バックアップをおこなうには 1 と設定します。 このオプションを選択した場合、バックアップを開始する曜日と時刻を設定しなければなりません。 複数の曜日を選択することもできます。 たとえば、毎週水曜日と金曜日にバックアップをするようプログラムできます。 + * **X 月ごと**: 月単位でバックアップの間隔をスケジュールできます。 たとえば、毎月バックアップをおこなうには 1 と設定します。 このオプションを選択した場合、バックアップを開始する日付と時刻を設定しなければなりません。 > 夏時間と標準時の切り替えがある場合にはスケジューラーが一時的に影響され、次のバックアップ実行が 1時間ずれる場合があります。 このずれは一回限りであり、その後のバックアップはスケジュール時間どおりに実行されます。 @@ -48,15 +48,15 @@ title: バックアップ設定 このエリアでは、次回のバックアップ時にコピー対象とするファイルやフォルダーを指定します。 -- **データ**: アプリケーションのデータファイル。 このオプションが選択されている場合、次のものがデータとともにバックアップされます: - - データベースのカレントログファイル (あれば) - - [データファイルの隣に置かれた](../Project/architecture.md#settings-フォルダー) `Settings` フォルダー (あれば)。これは *データファイル用のユーザー設定* を格納しています。 -- **ストラクチャー**: アプリケーションの Project フォルダーとファイル。 プロジェクトがコンパイルされている場合には、このオプションは .4dz ファイルをバックアップします。 このオプションがチェックされていると、[Project フォルダーと同階層に置かれた](../Project/architecture.mdsettings-ユーザー) `Settings` フォルダーが自動でバックアップされます。これは、*ユーザー設定* を格納しています。 -- **ユーザーストラクチャー(バイナリデータベースのみ)**: *廃止予定* -- **添付**: このエリアでは、アプリケーションと同時にバックアップの対象とするファイルやフォルダーを指定します。 ここではどのようなタイプのファイル (ドキュメントやプラグイン、テンプレート、ラベル、レポート、ピクチャーなど) でも指定できます。 個々のファイル、または丸ごとバックアップするフォルダーを個々に設定できます。 添付エリアには、設定されたファイルのパスが表示されます。 - - **削除**: 選択したファイルを添付エリアから取り除きます。 - - **フォルダー追加...**: バックアップに追加するフォルダーを選択するダイアログボックスを表示します。 復元の場合、フォルダーがその内容物とともに復元されます。 アプリケーションファイルを含むフォルダーを除き、すべてのフォルダーやマシンに接続されたボリュームを選択できます。 - - **ファイル追加...**: バックアップに追加するファイルを選択するダイアログボックスを表示します。 + - **データ**: アプリケーションのデータファイル。 このオプションが選択されている場合、次のものがデータとともにバックアップされます: + - データベースのカレントログファイル (あれば) + - [データファイルの隣に置かれた](../Project/architecture.md#settings-フォルダー) `Settings` フォルダー (あれば)。これは *データファイル用のユーザー設定* を格納しています。 + - **ストラクチャー**: アプリケーションの Project フォルダーとファイル。 プロジェクトがコンパイルされている場合には、このオプションは .4dz ファイルをバックアップします。 このオプションがチェックされていると、[Project フォルダーと同階層に置かれた](../Project/architecture.mdsettings-ユーザー) `Settings` フォルダーが自動でバックアップされます。これは、*ユーザー設定* を格納しています。 + - **ユーザーストラクチャー(バイナリデータベースのみ)**: *廃止予定* + - **添付**: このエリアでは、アプリケーションと同時にバックアップの対象とするファイルやフォルダーを指定します。 ここではどのようなタイプのファイル (ドキュメントやプラグイン、テンプレート、ラベル、レポート、ピクチャーなど) でも指定できます。 個々のファイル、または丸ごとバックアップするフォルダーを個々に設定できます。 添付エリアには、設定されたファイルのパスが表示されます。 + - **削除**: 選択したファイルを添付エリアから取り除きます。 + - **フォルダー追加...**: バックアップに追加するフォルダーを選択するダイアログボックスを表示します。 復元の場合、フォルダーがその内容物とともに復元されます。 アプリケーションファイルを含むフォルダーを除き、すべてのフォルダーやマシンに接続されたボリュームを選択できます。 + - **ファイル追加...**: バックアップに追加するファイルを選択するダイアログボックスを表示します。 ### バックアップファイル保存先 @@ -82,22 +82,22 @@ title: バックアップ設定 ### 一般設定 -- **最新のバックアップのみ保存 X バックアップファイル**: このパラメーターを有効にすると、指定された数の最新バックアップファイルだけが保持され、古いバックアップファイルは削除されます。 この機能は以下のように動作します: バックアップ処理が完了したら、アーカイブが作成されたのと同じ場所、同じ名前のもっとも古いアーカイブを削除します。ディスクスペースを確保するため、バックアップ前に削除するよう、削除のタイミングを変更することもできます。 + - **最新のバックアップのみ保存 X バックアップファイル**: このパラメーターを有効にすると、指定された数の最新バックアップファイルだけが保持され、古いバックアップファイルは削除されます。 この機能は以下のように動作します: バックアップ処理が完了したら、アーカイブが作成されたのと同じ場所、同じ名前のもっとも古いアーカイブを削除します。ディスクスペースを確保するため、バックアップ前に削除するよう、削除のタイミングを変更することもできます。 たとえば、3世代のファイルを保持するよう設定している場合、最初の 3回のバックアップで MyBase-0001、MyBase-0002、MyBase-0003 が作成され、 4回目のバックアップで MyBase-0004 が作成されたのちに MyBase-0001 が削除されます。 この設定はデフォルトで有効になっており、4D は 3世代のバックアップを保持します。 このメカニズムを無効にするには、チェックボックスの選択を外します。 > このパラメーターは、アプリケーションおよびログファイル両方のバックアップに影響します。 -- **データファイルが更新された場合のみバックアップを行う**: このオプションが選択された場合、前回のバックアップ以降にデータが追加・変更・削除された場合のみ、4D は定期的なバックアップを開始します。 そうでない場合、定期的なバックアップはキャンセルされ、次回のスケジュールまで延期されます。 エラーは生成されませんが、バックアップジャーナルにはバックアップが延期された旨記録されます。 このオプションを使用すれば、主に参照目的で使用されているアプリケーションのバックアップに消費されるマシン時間を節約できます。 ストラクチャーや添付ファイルに対して変更がおこなわれていても、データファイルの更新としては扱われない旨注意してください。 + - **データファイルが更新された場合のみバックアップを行う**: このオプションが選択された場合、前回のバックアップ以降にデータが追加・変更・削除された場合のみ、4D は定期的なバックアップを開始します。 そうでない場合、定期的なバックアップはキャンセルされ、次回のスケジュールまで延期されます。 エラーは生成されませんが、バックアップジャーナルにはバックアップが延期された旨記録されます。 このオプションを使用すれば、主に参照目的で使用されているアプリケーションのバックアップに消費されるマシン時間を節約できます。 ストラクチャーや添付ファイルに対して変更がおこなわれていても、データファイルの更新としては扱われない旨注意してください。 > このパラメーターは、アプリケーションおよびログファイル両方のバックアップに影響します。 -- **最も古いバックアップファイルを削除**: このオプションは "最新のバックアップのみ保存 X バックアップファイル" が有効になっている場合のみ使用されます。 このオプションを使用して、最も古いバックアップファイルを削除するタイミングを設定します。選択肢は **バックアップ前**、あるいは **バックアップ後** です。 このオプションが機能するには、バックアップファイルが名称変更されたり、移動されたりしていてはなりません。 + - **最も古いバックアップファイルを削除**: このオプションは "最新のバックアップのみ保存 X バックアップファイル" が有効になっている場合のみ使用されます。 このオプションを使用して、最も古いバックアップファイルを削除するタイミングを設定します。選択肢は **バックアップ前**、あるいは **バックアップ後** です。 このオプションが機能するには、バックアップファイルが名称変更されたり、移動されたりしていてはなりません。 -- **バックアップ失敗時**: このオプションを使用して、バックアップ失敗時の処理を設定できます。 バックアップが実行できなかった場合、4D では再試行することが可能です。 - - **次回の予定された日付と時刻に再試行する**: このオプションは、定期的な自動バックアップを設定されている場合にのみ意味があります。 失敗したバックアップはキャンセルされます。 エラーが生成されます。 - - **指定時間経過後に再試行**: このオプションが選択されていると、設定された待ち時間経過後にバックアップを再試行します。 このメカニズムを使用すると、バックアップをブロックするような特定の状況に対応することが可能となります。 秒、分、あるいは時間単位で待ち時間を設定できます。 次のバックアップ試行にも失敗するとエラーが生成され、ステータスエリアに失敗状況が表示され、バックアップジャーナルにも記録されます。 - - **操作をキャンセル X 試行後**: このパラメーターを使用して、バックアップ試行の失敗最大数を設定できます。 この最大数に達してもバックアップが正しく実行できなかった場合、バックアップはキャンセルされ、エラー 1401 ("バックアップ試行の最大数に達しました。自動バックアップは無効になります") が生成されます。 この場合、データベースを再起動するか、手動バックアップが成功するまで自動バックアップはおこなわれません。 + - **バックアップ失敗時**: このオプションを使用して、バックアップ失敗時の処理を設定できます。 バックアップが実行できなかった場合、4D では再試行することが可能です。 + - **次回の予定された日付と時刻に再試行する**: このオプションは、定期的な自動バックアップを設定されている場合にのみ意味があります。 失敗したバックアップはキャンセルされます。 エラーが生成されます。 + - **指定時間経過後に再試行**: このオプションが選択されていると、設定された待ち時間経過後にバックアップを再試行します。 このメカニズムを使用すると、バックアップをブロックするような特定の状況に対応することが可能となります。 秒、分、あるいは時間単位で待ち時間を設定できます。 次のバックアップ試行にも失敗するとエラーが生成され、ステータスエリアに失敗状況が表示され、バックアップジャーナルにも記録されます。 + - **操作をキャンセル X 試行後**: このパラメーターを使用して、バックアップ試行の失敗最大数を設定できます。 この最大数に達してもバックアップが正しく実行できなかった場合、バックアップはキャンセルされ、エラー 1401 ("バックアップ試行の最大数に達しました。自動バックアップは無効になります") が生成されます。 この場合、データベースを再起動するか、手動バックアップが成功するまで自動バックアップはおこなわれません。 このパラメーターは、人による介入が必要となるような問題があり、バックアップ試行が自動的に繰り返されることにより全体的なパフォーマンスに影響するようなケースで使用できます。 デフォルトでこのオプションは選択されていません。 > 定期的なバックアップが実行される予定時刻にアプリケーションが起動されていなかった場合、4D はバックアップが失敗したものとして扱います。 @@ -106,20 +106,20 @@ title: バックアップ設定 これらのオプションはメインのバックアップファイルとログバックアップファイルに適用されます。 -- **セグメントサイズ (MB)**: + - **セグメントサイズ (MB)**: 4D ではアーカイブをセグメントに分割することができます。 この振る舞いにより、たとえばバックアップファイルを複数の異なるディスク (DVDやUSBデバイス等) に格納できます。 復元時、4D はセグメントを自動的に統合します。 各セグメントには MyApplication[xxxx-yyyy].4BK といった名称がつけられます (xxxx はバックアップ番号、yyyy はセグメント番号)。 たとえば、MyApplication のバックアップが 3つのセグメントに分割されると、次のような名前になります: MyApplication[0006-0001].4BK、MyApplication[0006-0002].4BK、MyApplication[0006-0003].4BK **セグメントサイズ** はコンボボックスであり、各セグメントのサイズを MB単位で設定できます。 メニューから定義済み値を選択するか、0~2048 の値を入力できます。 0 を指定するとセグメント化はされません (**なし** を指定したのと同じ)。 -- **圧縮率**: + - **圧縮率**: デフォルトで 4D はバックアップファイルを圧縮してディスクスペースを節約します。 しかし大量のデータがある場合、ファイルの圧縮処理はバックアップにかかる時間を長くします。 **圧縮率** オプションを使用してファイルの圧縮モードを調整できます: - - **なし**: ファイルの圧縮はおこなわれません。 バックアップは早くおこなわれますが、ファイルサイズは大きくなります。 - - **速度** (デフォルト): このオプションはバックアップの速度とアーカイブサイズのバランスが考慮されたものです。 - - **圧縮率**: アーカイブに最大の圧縮率が適用されます。 アーカイブファイルはディスク上で最小のサイズとなりますが、バックアップの速度は低下します。 + - **なし**: ファイルの圧縮はおこなわれません。 バックアップは早くおこなわれますが、ファイルサイズは大きくなります。 + - **速度** (デフォルト): このオプションはバックアップの速度とアーカイブサイズのバランスが考慮されたものです。 + - **圧縮率**: アーカイブに最大の圧縮率が適用されます。 アーカイブファイルはディスク上で最小のサイズとなりますが、バックアップの速度は低下します。 -- **インターレース率と冗長率**: + - **インターレース率と冗長率**: 4D は、最適化 (インターレース) とセキュリティ (冗長) メカニズムに基づく特定のアルゴリズムを使用してアーカイブを生成します。 これらのメカニズムを必要に応じて設定できます。 これらのオプションのメニューには低・中・高・なし (デフォルト) の選択肢があります。 - - **インターレース率**: インターレースとはデータを連続しない領域に書き込むことにより、セクター損傷の際のリスクを低減させるものです。 率を上げることでリスクがより低減されますが、データの処理により多くのメモリが必要となります。 - - **冗長率**: 冗長は同じ情報を複数回繰り返すことで、ファイル中のデータを保護するものです。 冗長率を高くするとよりファイルが保護されます。しかし書き込みは遅くなり、ファイルサイズも増大します。 + - **インターレース率**: インターレースとはデータを連続しない領域に書き込むことにより、セクター損傷の際のリスクを低減させるものです。 率を上げることでリスクがより低減されますが、データの処理により多くのメモリが必要となります。 + - **冗長率**: 冗長は同じ情報を複数回繰り返すことで、ファイル中のデータを保護するものです。 冗長率を高くするとよりファイルが保護されます。しかし書き込みは遅くなり、ファイルサイズも増大します。 ### 自動復元とログの統合 @@ -141,11 +141,11 @@ title: バックアップ設定 > 自動復元の場合、復元されるのは次の要素に限られます: > -> - .4DD ファイル -> - .4DIndx ファイル -> - .4DSyncData ファイル -> - .4DSyncHeader ファイル -> - External Data フォルダー +> - .4DD ファイル +> - .4DIndx ファイル +> - .4DSyncData ファイル +> - .4DSyncHeader ファイル +> - External Data フォルダー > > 添付ファイルやプロジェクトファイルを取得したい場合、[手動の復元](restore.md#手動でバックアップから復元する-標準ダイアログ) をおこなう必要があります。 From ce3d9ecc60bdc5f92f09131dae1dffd422fbf370 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:14 +0200 Subject: [PATCH 043/162] New translations tls.md (Portuguese, Brazilian) --- i18n/pt/docusaurus-plugin-content-docs/current/Admin/tls.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Admin/tls.md b/i18n/pt/docusaurus-plugin-content-docs/current/Admin/tls.md index 3b2b5311c29433..09f97c6e267e9a 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Admin/tls.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Admin/tls.md @@ -136,10 +136,10 @@ Para obter um certificado digital: 2. Use o comando `GENERATE CERTIFICATE REQUEST` para emitir uma petição de certificado. 3. Envie a petição de certificado à autoridade de certificação escolhida. - Para preencher uma petição de certificado, pode ser necessário entrar em contato com a autoridade de certificação. A autoridade checa que a informação transmitida seja correta. A petição de certificado é gerada em um BLOB usando o formato PKCS codificado em base64 (formato PEM). Esse princípio permite que copie e cole as chaves como texto e as envie via E-mail sem modificar o conteúdo da chave. Por exemplo pode salvar o BLOB que contém a petição de certificado em um documento texto (usando o comando `BLOB TO DOCUMENT`), e então abrir e copiar e colar seu conteúdo em um mail ou um formulário web a ser enviado para a autoridade de certificação. + Para preencher uma petição de certificado, pode ser necessário entrar em contato com a autoridade de certificação. A autoridade checa que a informação transmitida seja correta. A petição de certificado é gerada em um BLOB usando o formato PKCS codificado em base64 (formato PEM). Esse princípio permite que copie e cole as chaves como texto e as envie via E-mail sem modificar o conteúdo da chave. Por exemplo pode salvar o BLOB que contém a petição de certificado em um documento texto (usando o comando `BLOB TO DOCUMENT`), e então abrir e copiar e colar seu conteúdo em um mail ou um formulário web a ser enviado para a autoridade de certificação. 4. Quando tiver o certificado, crie um arquivo texto chamado "cert.pem" e cole seu conteúdo do certificado dentro dele. - Pode receber um certificado de várias maneiras (geralmente por email ou formulário HTML). 4D accepts all platform-related text formats for certificates (macOS, PC, Linux, etc.). No entanto, o certificado deve estar no formato [PEM](#format), *ou seja,*, PKCS codificado em base64. + Pode receber um certificado de várias maneiras (geralmente por email ou formulário HTML). 4D accepts all platform-related text formats for certificates (macOS, PC, Linux, etc.). No entanto, o certificado deve estar no formato [PEM](#format), *ou seja,*, PKCS codificado em base64. > Caracteres CR final de linha não são compatíveis em si; deve usar ou CRLF ou LF. From 0bbf94246fe6cbd02b1bda9dcef4b5a5e592bbd8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:17 +0200 Subject: [PATCH 044/162] New translations webadmin.md (Portuguese, Brazilian) --- .../current/Admin/webAdmin.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Admin/webAdmin.md b/i18n/pt/docusaurus-plugin-content-docs/current/Admin/webAdmin.md index 9264cf9add7935..8f64054f66540e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Admin/webAdmin.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Admin/webAdmin.md @@ -18,7 +18,7 @@ servidor web `WebAdmin` no se lanza. Precisa configurar o lançamento ao início Pode configurar o servidor web `WebAdmin` para que se lance ao início da aplicação 4D ou 4D Server (antes de que se carregue qualquer projeto). -- Se utilizar uma aplicação 4D con interface, selecione a opção de menu **Arquivo > Administração web > Propriedades...**. + - Se utilizar uma aplicação 4D con interface, selecione a opção de menu **Arquivo > Administração web > Propriedades...**. ![alt-text](../assets/en/Admin/waMenu1.png) @@ -26,7 +26,7 @@ Selecione a opção **Iniciar WebAdmin ao iniciar** na caixa de diálogo de par ![alt-text](../assets/en/Admin/waSettings.png) -- Se usar uma aplicação 4D que tenha ou não interface, pode habilitar o modo de inicio automático utilizando o argumento abaixo *Interface de linha de comandos*: + - Se usar uma aplicação 4D que tenha ou não interface, pode habilitar o modo de inicio automático utilizando o argumento abaixo *Interface de linha de comandos*: ``` open ~/Desktop/4D.app --webadmin-auto-start true @@ -72,8 +72,8 @@ Quando esta opção for marcada, pode conectar ao servidor web `WebAdmin` atrav **Notas:** -- Conexões com HTTP outras que localhost nunca são aceitas. -- Mesmo se esta opção for marcada, quando [Accept HTTPS](#accept-https) for marcado e a configuração TLS for válida, as conexões localhost vão usar HTTPS. + - Conexões com HTTP outras que localhost nunca são aceitas. + - Mesmo se esta opção for marcada, quando [Accept HTTPS](#accept-https) for marcado e a configuração TLS for válida, as conexões localhost vão usar HTTPS. #### Porta HTTP @@ -95,11 +95,11 @@ Rota da pasta onde o certificado TLS está localizado. Como padrão, a rota da p O estado ou formato do arquivo de registro da petição HTTP (HTTPDebugLog_*nn*.txt, armazenada na pasta "Logs" da aplicação -- *nn* é o número do arquivo). As opções abaixo estão disponíveis: -- **Desactivado** (por defecto) -- **Com todas as partes do corpo** - habilitado com partes do cuerpo das petições e respostas -- **Sem as partes do corpo** - ativado sem partes do corpo (se indica o tamanho do corpo) -- **Com os corpos das petições** - ativado com as partes do corpo unicamente nas petições -- **Com a resposta corpos** - ativado com as partes do corpo unicamente nas respostas + - **Desactivado** (por defecto) + - **Com todas as partes do corpo** - habilitado com partes do cuerpo das petições e respostas + - **Sem as partes do corpo** - ativado sem partes do corpo (se indica o tamanho do corpo) + - **Com os corpos das petições** - ativado com as partes do corpo unicamente nas petições + - **Com a resposta corpos** - ativado com as partes do corpo unicamente nas respostas #### Chave de acesso @@ -109,10 +109,10 @@ A configuração de uma chave de acesso é obrigatória para desbloquear o acess Uma chave de acesso é parecida a uma senha, mas não está associada com um login. -- Para definir uma nova chave de acesso: clique no botão **Definir**, introduza a string da chave de acesso na caixa de diálogo e clique em **OK**. La etiqueta del + - Para definir uma nova chave de acesso: clique no botão **Definir**, introduza a string da chave de acesso na caixa de diálogo e clique em **OK**. La etiqueta del botón se convierte en **Modificar**. -- Para modificar a chave de acesso: clique no botão **Modificar**, introduza a nova string da chave de acesso na caixa de diálogo e clique em **OK**. -- Para eliminar a chave de acesso: clique no botão**Modificar**, deixe vazia a área daa chave de acesso e clique em **OK**. + - Para modificar a chave de acesso: clique no botão **Modificar**, introduza a nova string da chave de acesso na caixa de diálogo e clique em **OK**. + - Para eliminar a chave de acesso: clique no botão**Modificar**, deixe vazia a área daa chave de acesso e clique em **OK**. #### Ativar o acesso a Qodly Studio @@ -147,9 +147,9 @@ Exemplo: ## Autenticação e sessão -- Quando acessar uma página de gestão entrando uma URL e sem identificação prévia, uma autenticação é exigida. O usuário deve introduzir a [chave-de-acesso](#access-key) em uma janela de autenticação. Se a chave de acesso nâo foi definida na configuração de `WebAdmin`, não é possível o acesso via URL. + - Quando acessar uma página de gestão entrando uma URL e sem identificação prévia, uma autenticação é exigida. O usuário deve introduzir a [chave-de-acesso](#access-key) em uma janela de autenticação. Se a chave de acesso nâo foi definida na configuração de `WebAdmin`, não é possível o acesso via URL. -- Quando uma página de gerenciamento é acessada diretamentee de um item menu 4D ou 4D Servidor (tal como **Records > Data Explorer** ou **Window > Data Explorer** (4D Server)), o acesso é garantido sem autenticação, e o usuário é autenticado automaticamente + - Quando uma página de gerenciamento é acessada diretamentee de um item menu 4D ou 4D Servidor (tal como **Records > Data Explorer** ou **Window > Data Explorer** (4D Server)), o acesso é garantido sem autenticação, e o usuário é autenticado automaticamente Quando o acesso é concedido, uma [sessão web](WebServer/sessions.md) com o privilégio "WebAdmin" é criado na aplicação 4D. Enquanto a sessão atual tiver o privilégio "WebAdmin", o componente `WebAdmin` entrega páginas solicitadas. From 517fe1dfe1fa0e506dc84a4a2facee0e66cf9777 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:19 +0200 Subject: [PATCH 045/162] New translations backup.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/current/Backup/backup.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/backup.md b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/backup.md index 03648997f6a124..4321b1f3592282 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/backup.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/backup.md @@ -15,9 +15,9 @@ Uma cópia de segurança pode ser iniciada de três maneiras: ## Cópia de segurança manual 1. Selecione o comando **Backup...** no menu 4D **File**. - A janela de backup é exibida: - ![](../assets/en/Backup/backup01.png) - Você pode ver o local da pasta de backup usando o menu pop-up ao lado da área "Backup destination". Essa localização é definida na página de **Backup/Configuração** das Configurações do Banco de Dados. + A janela de backup é exibida: + ![](../assets/en/Backup/backup01.png) + Você pode ver o local da pasta de backup usando o menu pop-up ao lado da área "Backup destination". Essa localização é definida na página de **Backup/Configuração** das Configurações do Banco de Dados. - Você também pode abrir o [Centro de segurança e manutenção](MSC/overview.md) de 4D e exibir a [Página de backup](MSC/backup.md). From 2f8d95e6359fa254cf73297d26303667badf0c8b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:21 +0200 Subject: [PATCH 046/162] New translations log.md (Portuguese, Brazilian) --- .../pt/docusaurus-plugin-content-docs/current/Backup/log.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/log.md b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/log.md index d7b7588ec95c88..655e99aeb31122 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/log.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/log.md @@ -44,13 +44,13 @@ Você pode descobrir se o seu aplicativo utiliza um arquivo de log a qualquer mo Para criar um arquivo de histórico: 1. Na página **Cópia de segurança/Configuração** das Propriedades do banco de dados, marque a opção **Utilizar o arquivo de histórico**. - O programa exibe um caixa de diálogo abrir/novo arquivo. Por padrão, o arquivo de log é chamado *data.journal*. + O programa exibe um caixa de diálogo abrir/novo arquivo. Por padrão, o arquivo de log é chamado *data.journal*. 2. Mantém o nome padrão ou renomeia, e daí seleciona o local do arquivo. - Se tiver pelo menos dois discos duros, é recomendado que coloque o arquivo de histórico no disco que não tenha seu banco de dados. Se perder o disco duro do banco de dados, poderá então recuperar o arquivo de histórico. + Se tiver pelo menos dois discos duros, é recomendado que coloque o arquivo de histórico no disco que não tenha seu banco de dados. Se perder o disco duro do banco de dados, poderá então recuperar o arquivo de histórico. 3. Clique em **Salvar**. - O disco e o nome do arquivo de histórico aberto agora estão exibidos na área Usar histórico da caixa de diálogo. Pode clicar nessa área para exibir um menu pop-up contendo a rota de histórico no disco. + O disco e o nome do arquivo de histórico aberto agora estão exibidos na área Usar histórico da caixa de diálogo. Pode clicar nessa área para exibir um menu pop-up contendo a rota de histórico no disco. 4. Valide a caixa de diálogo das Propriedades. From b3581fe77be0b0fd8540ae5119a3c7347bdb223c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:24 +0200 Subject: [PATCH 047/162] New translations restore.md (Portuguese, Brazilian) --- .../current/Backup/restore.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/restore.md b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/restore.md index 33d3e943270871..038ecc03e9654f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/restore.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/restore.md @@ -5,12 +5,12 @@ title: Restaurar um backup 4D lhe permite restaurar conjuntos inteiros de dados de um banco de dados no caso de que se apresente um incidente, independentemente da causa do mesmo. Podem ocorrer dois tipos principais de incidentes: -- A parada inesperada do banco enquanto estiver em uso. Esse incidente pode ocorrer por causa de uma falha de energia, erro em um elemento do sistema, etc. Esse incidente pode ocorrer por causa de uma falha de energia, erro em um elemento do sistema, etc. This incident can occur because of a power outage, system element failure, etc. In this case, depending on the current state of the data cache at the moment of the incident, the restore of the database can require different operations: - - Se a cache estiver vazia, o banco de dados abre normalmente. Quaisquer mudanças feitas no banco de dados foram registradas. Este caso não exige nenhuma operação particular - - Se a cache conter operações, o arquivo de dados está intacto mas exige integrar o arquivo de histórico atual. - - Se a cache estiver no processo de ser escrita, o arquivo de dados está provavelmente danificado. When restoring a backup and integrating the current log file in a encrypted database: + - A parada inesperada do banco enquanto estiver em uso. Esse incidente pode ocorrer por causa de uma falha de energia, erro em um elemento do sistema, etc. Esse incidente pode ocorrer por causa de uma falha de energia, erro em um elemento do sistema, etc. This incident can occur because of a power outage, system element failure, etc. In this case, depending on the current state of the data cache at the moment of the incident, the restore of the database can require different operations: + - Se a cache estiver vazia, o banco de dados abre normalmente. Quaisquer mudanças feitas no banco de dados foram registradas. Este caso não exige nenhuma operação particular + - Se a cache conter operações, o arquivo de dados está intacto mas exige integrar o arquivo de histórico atual. + - Se a cache estiver no processo de ser escrita, o arquivo de dados está provavelmente danificado. When restoring a backup and integrating the current log file in a encrypted database: -- A perda de um ou mais arquivos do banco de dados. This incident can occur because of defective sectors on the disk containing the database, a virus, manipulation error, etc. The last backup must be restored and then the current log file must be integrated. O último backup deve ser restaurado e o arquivo de histórico atual deve ser integrado. Para saber se um banco de dados foi danificado depois de um incidente, basta relançar o banco de dados com 4D. O programa realiza um autodiagnóstico e detalha as operações de restauração necessárias. Em modo automático, essas operações são realizadas diretamente sem precisar de ajuda da parte do usuário. Se usar uma estratégia de backup regulares, as ferramentas de restauração de 4D permite recuperar (na maioria dos casos) o banco de dados na mesma situação que estava antes do incidente. + - A perda de um ou mais arquivos do banco de dados. This incident can occur because of defective sectors on the disk containing the database, a virus, manipulation error, etc. The last backup must be restored and then the current log file must be integrated. O último backup deve ser restaurado e o arquivo de histórico atual deve ser integrado. Para saber se um banco de dados foi danificado depois de um incidente, basta relançar o banco de dados com 4D. O programa realiza um autodiagnóstico e detalha as operações de restauração necessárias. Em modo automático, essas operações são realizadas diretamente sem precisar de ajuda da parte do usuário. Se usar uma estratégia de backup regulares, as ferramentas de restauração de 4D permite recuperar (na maioria dos casos) o banco de dados na mesma situação que estava antes do incidente. > 4D pode lançar procedimentos automaticamente para recuperar os bancos de dados depois de um incidente. Esses mecanismos são gerenciados usando duas opções disponíveis na página **Backup/Backup & Restore** das Configurações. Para obter mais informações, consulte o parágrafo [Restaurador automático](settings.md#automatic-restore-and-log-integration).\ > Se o incidente for resultado de uma operação inadequada realizada nos dados (eliminação de um registro, por exemplo), você pode tentar reparar o arquivo de dados usando a função "rollback" no arquivo de log. Esta função está disponível na página [Rollback](MSC/rollback.md) do MSC. @@ -24,12 +24,12 @@ A restauração manual de backups pode ser realizada via a caixa de diálogo de Para restaurar um banco de dados manualmente via uma caixa de diálogo padrão: 1. Escolha **Restaurar...** no menu **Arquivo** do aplicativo 4D. - Não é obrigatório que um banco de dados seja aberto. - OU - Execute o comando `RESTORE` a partir de um método 4D. - Uma caixa de diálogo de abertura de arquivos vai aparecer. + Não é obrigatório que um banco de dados seja aberto. + OU + Execute o comando `RESTORE` a partir de um método 4D. + Uma caixa de diálogo de abertura de arquivos vai aparecer. 2. Selecione um arquivo de backup (.4bk) ou um arquivo de backup de log (.4bl) para ser restaurado e clique em **Abrir**. - Aparece um diálogo que permite especificar o local onde os arquivos serão restaurados. Por padrão, o 4D restaura os arquivos em uma pasta chamada *Archivename* (sem extensão) localizada ao lado do arquivo. Pode exibir a rota: + Aparece um diálogo que permite especificar o local onde os arquivos serão restaurados. Por padrão, o 4D restaura os arquivos em uma pasta chamada *Archivename* (sem extensão) localizada ao lado do arquivo. Pode exibir a rota: ![](../assets/en/Backup/backup07.png) From 8fd54d26e63df5ad4877d08a703b7de9bb1708cc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:26 +0200 Subject: [PATCH 048/162] New translations settings.md (Portuguese, Brazilian) --- .../current/Backup/settings.md | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/settings.md b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/settings.md index 105b92b67971e9..e2a56805ae3b0f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Backup/settings.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Backup/settings.md @@ -5,9 +5,9 @@ title: Backups periódicos As configurações de backup são definidas através de três páginas na [caixa de diálogo Configurações](../settings/overview.md). Pode estabelecer: -- a periodicidade das cópias de segurança automáticas -- os arquivos a incluir em cada backup -- as funcionalidades avançadas que permitem executar tarefas automáticas + - a periodicidade das cópias de segurança automáticas + - os arquivos a incluir em cada backup + - as funcionalidades avançadas que permitem executar tarefas automáticas > As propriedades definidas nesta caixa de diálogo são escritas no arquivo *Backup.4DSettings*, guardado na pasta [Settings](../Project/architecture.md#settings-user). @@ -23,16 +23,16 @@ As configurações de backup do agendador são definidas na página **Backup/Per As opções encontradas nessa aba permitem estabelecer e configurar as cópias de segurança automáticas programadas do banco de dados. Pode escolher uma configuração rápida padrão ou pode personalizá-la completamente. Várias opções aparecem dependendo da escolha feita no menu **Backup automático**: -- **Nunca**: A função de cópia de segurança agendada está inativa. -- **Cada hora**: Programa um backup automático a cada hora, começando com a próxima hora. -- **Todos os dias**: Programa um backup automático todo dia. Pode então digitar a hora quando o backup deve começar. -- **Toda semana**: Programa um backup automático toda semana. Duas áreas de entrada adicionais lhe permitem indicar o dia e a hora em que deve começar a cópia de segurança. -- **Todos os meses**: Programa uma cópia de segurança automática todos os meses. Duas áreas de entrada adicionais lhe permitem indicar o dia do mês e a hora em que deve começar a cópia de segurança. -- **Personalizado**: sirve para configurar las copias de seguridad automáticas "a medida". Quando selecionar esta opção, várias áreas de entradas aparecem: - - **Cada X hora(s)**: Permite programar as cópias de segurança com frequência horária. Pode digitar um valor entre 1 e 24. - * **Todos os X dia(s) no x**: permite backups de programação diariamente. Por exemplo, introduza 1 se quiser realizar uma cópia de segurança diária. Quando esta opção estiver marcada, deve digitar a hora quando o backup deve começar. - * **A cada X semana(s) no x**: permite backups de programação semanais. Digite 1 se quiser realizar o backup 1 vez por semana. Quando essa opção estiver marcada, deve digitar o dia da semana e a hora em que quer começar o backup. Pode selecionar vários dias da semana se quiser. Por exemplo. pode usar essa opção para estabelecer dois backups por semana: um nas quartas feiras e outro nas sextas. - * **Cada X mes(es), X día a x**: Permite programar copias de seguridad de forma mensual. Digite 1 se quiser realizar uma cópia de segurança mensal. Quando essa opção estiver marcada, tem que indicar o dia do mês e a hora em que o backup deve começar. + - **Nunca**: A função de cópia de segurança agendada está inativa. + - **Cada hora**: Programa um backup automático a cada hora, começando com a próxima hora. + - **Todos os dias**: Programa um backup automático todo dia. Pode então digitar a hora quando o backup deve começar. + - **Toda semana**: Programa um backup automático toda semana. Duas áreas de entrada adicionais lhe permitem indicar o dia e a hora em que deve começar a cópia de segurança. + - **Todos os meses**: Programa uma cópia de segurança automática todos os meses. Duas áreas de entrada adicionais lhe permitem indicar o dia do mês e a hora em que deve começar a cópia de segurança. + - **Personalizado**: sirve para configurar las copias de seguridad automáticas "a medida". Quando selecionar esta opção, várias áreas de entradas aparecem: + - **Cada X hora(s)**: Permite programar as cópias de segurança com frequência horária. Pode digitar um valor entre 1 e 24. + * **Todos os X dia(s) no x**: permite backups de programação diariamente. Por exemplo, introduza 1 se quiser realizar uma cópia de segurança diária. Quando esta opção estiver marcada, deve digitar a hora quando o backup deve começar. + * **A cada X semana(s) no x**: permite backups de programação semanais. Digite 1 se quiser realizar o backup 1 vez por semana. Quando essa opção estiver marcada, deve digitar o dia da semana e a hora em que quer começar o backup. Pode selecionar vários dias da semana se quiser. Por exemplo. pode usar essa opção para estabelecer dois backups por semana: um nas quartas feiras e outro nas sextas. + * **Cada X mes(es), X día a x**: Permite programar copias de seguridad de forma mensual. Digite 1 se quiser realizar uma cópia de segurança mensal. Quando essa opção estiver marcada, tem que indicar o dia do mês e a hora em que o backup deve começar. > As mudanças de hora padrão para hora de verão podem afetar temporariamente ao programador automático e ativar a próxima cópia de segurança com uma diferença de uma hora. Isso acontece só uma vez e os próximos backups rodam na hora prevista. @@ -48,15 +48,15 @@ A página Cópia de segurança| Configuração das propriedades do banco de dado Essa área lhe permite determinar quais os arquivos ou pastas que devem ser copiados durante o backup. -- **Dados**: Arquivo de dados do aplicativo. Quando esta opção for marcada, o arquivo de histórico do banco de dados, se existir, recebe um backup na mesma hora que os dados. - - o arquivo de histórico atual da aplicação (se houver), - - a pasta `Settings` completa localizada [ao lado do arquivo de dados](../Project/architecture.md#settings-user-data) (se existir), ou seja, os *parâmetros usuário para os dados*. -- **Estructura**: carpetas y archivos proyecto de la aplicación. No caso de bancos de dados compilados, essa opção permite fazer o backup do arquivo .4dz. Quando esta opção estiver marcada, uma cópia de segurança é feita automaticamente da pasta completa Settings situada [no mesmo nível que a pasta Project](../Project/architecture.md#settings-user), ou seja, *os parâmetros usuário*, é backup automaticamente. -- **Arquivo de estrutura usuário (só para bancos binários)**: *funcionalidade obsoleta* -- **Arquivos anexos**: Esta área permite especificar um conjunto de arquivos e/ou pastas para serem copiados em backup ao mesmo tempo que o aplicativo. Esses arquivos podem ser de qualquer tipo (documentos ou modelos de plug-ins, etiquetas, relatórios, imagens, etc). Pode estabelecer arquivos ou pastas individuais cujos conteúdos serão respaldados completamente. Cada elemento anexado é listado com sua rota de acesso completa na área "Anexos". - - **Eliminar**: retira o arquivo selecionado da lista de arquivos anexos. - - **Adicionar pasta...**: Mostra uma caixa de diálogo que permite selecionar uma pasta para adicionar à cópia de segurança. No caso de uma restauração, a pasta vai recuperar sua estrutura interna. Pode selecionar toda pasta ou volume conectado à máquina, exceto a pasta que conter os arquivos do banco de dados. - - **Adicionar pasta...**: Mostra uma caixa de diálogo que permite selecionar um arquivo para adicionar à cópia de segurança. + - **Dados**: Arquivo de dados do aplicativo. Quando esta opção for marcada, o arquivo de histórico do banco de dados, se existir, recebe um backup na mesma hora que os dados. + - o arquivo de histórico atual da aplicação (se houver), + - a pasta `Settings` completa localizada [ao lado do arquivo de dados](../Project/architecture.md#settings-user-data) (se existir), ou seja, os *parâmetros usuário para os dados*. + - **Estructura**: carpetas y archivos proyecto de la aplicación. No caso de bancos de dados compilados, essa opção permite fazer o backup do arquivo .4dz. Quando esta opção estiver marcada, uma cópia de segurança é feita automaticamente da pasta completa Settings situada [no mesmo nível que a pasta Project](../Project/architecture.md#settings-user), ou seja, *os parâmetros usuário*, é backup automaticamente. + - **Arquivo de estrutura usuário (só para bancos binários)**: *funcionalidade obsoleta* + - **Arquivos anexos**: Esta área permite especificar um conjunto de arquivos e/ou pastas para serem copiados em backup ao mesmo tempo que o aplicativo. Esses arquivos podem ser de qualquer tipo (documentos ou modelos de plug-ins, etiquetas, relatórios, imagens, etc). Pode estabelecer arquivos ou pastas individuais cujos conteúdos serão respaldados completamente. Cada elemento anexado é listado com sua rota de acesso completa na área "Anexos". + - **Eliminar**: retira o arquivo selecionado da lista de arquivos anexos. + - **Adicionar pasta...**: Mostra uma caixa de diálogo que permite selecionar uma pasta para adicionar à cópia de segurança. No caso de uma restauração, a pasta vai recuperar sua estrutura interna. Pode selecionar toda pasta ou volume conectado à máquina, exceto a pasta que conter os arquivos do banco de dados. + - **Adicionar pasta...**: Mostra uma caixa de diálogo que permite selecionar um arquivo para adicionar à cópia de segurança. ### Pasta de destino de arquivo de cópia de segurança @@ -82,22 +82,22 @@ Modificar as opções de cópia de segurança e restauração é opcional. Seus ### Parâmetros gerais -- **Mantenha apenas os últimos arquivos de backup X**: Este parâmetro ativa e configura o mecanismo usado para excluir os arquivos de backup mais antigos. que evita o risco de saturar a unidade de disco. Esta funcionalidade opera da seguinte maneira: uma vez finalizado o backup atual, 4D elimina o arquivo mais antigo se for encontrado no mesmo local que o arquivo do qual se está fazendo o backup e tiver o mesmo nome (pode solicitar que o arquivo mais antigo se elimine antes do backup para poupar espaço). + - **Mantenha apenas os últimos arquivos de backup X**: Este parâmetro ativa e configura o mecanismo usado para excluir os arquivos de backup mais antigos. que evita o risco de saturar a unidade de disco. Esta funcionalidade opera da seguinte maneira: uma vez finalizado o backup atual, 4D elimina o arquivo mais antigo se for encontrado no mesmo local que o arquivo do qual se está fazendo o backup e tiver o mesmo nome (pode solicitar que o arquivo mais antigo se elimine antes do backup para poupar espaço). Se, por exemplo, o número de conjuntos se definir como 3, as três primeiras cópias de segurança criam os arquivos MyBase-0001, MyBase-0002 e MyBase-0003 respectivamente. Durante o quarto backup, o arquivo MyBase-0004 é criado e MyBase-0001 é apagado. Como padrão, o mecanismo de eliminação de conjuntos está ativado e 4D salva 3 conjuntos de cópias de segurança. Para desativar o mecanismo, simplesmente desmarque a opção. > Esse parâmetro se refere tanto a aplicações quanto aos arquivos de registro. -- **Fazer Cópia de segurança só se o arquivo de dados tiver sido modificado**: Quando marcar esta opção, 4D inicia as cópias de segurança programadas apenas se os dados tiverem sido adicionados, modificados ou excluídos desde a última cópia de segurança. Senão, o backup programado é cancelado e abandonado até o próximo backup programado. Nenhum erro é gerado, entretanto o diário de cópias de segurança assinala que a cópia de segurança foi adiada. Esta opção também permite poupar tempo de máquina para a cópia de segurança de aplicações utilizados principalmente para visualização. Lembre que ao ativar esta opção não se levam em consideração as modificações realizadas nos arquivos de estrutura ou nos arquivos anexos. + - **Fazer Cópia de segurança só se o arquivo de dados tiver sido modificado**: Quando marcar esta opção, 4D inicia as cópias de segurança programadas apenas se os dados tiverem sido adicionados, modificados ou excluídos desde a última cópia de segurança. Senão, o backup programado é cancelado e abandonado até o próximo backup programado. Nenhum erro é gerado, entretanto o diário de cópias de segurança assinala que a cópia de segurança foi adiada. Esta opção também permite poupar tempo de máquina para a cópia de segurança de aplicações utilizados principalmente para visualização. Lembre que ao ativar esta opção não se levam em consideração as modificações realizadas nos arquivos de estrutura ou nos arquivos anexos. > Esse parâmetro se refere tanto a aplicações quanto aos arquivos de registro. -- **Excluir arquivo de backup mais antigo antes de/após backup**: Esta opção só é usada se a opção "Manter apenas os últimos X arquivos de backup" estiver marcada. Especifica se o 4D deve começar apagando o arquivo mais antigo antes de iniciar o backup (opção **before**) ou se a exclusão deve ocorrer após a conclusão do backup (opção **after**). Para que os mecanismos funcionem, o arquivo mais velho não deve ser renomeado nem movido. + - **Excluir arquivo de backup mais antigo antes de/após backup**: Esta opção só é usada se a opção "Manter apenas os últimos X arquivos de backup" estiver marcada. Especifica se o 4D deve começar apagando o arquivo mais antigo antes de iniciar o backup (opção **before**) ou se a exclusão deve ocorrer após a conclusão do backup (opção **after**). Para que os mecanismos funcionem, o arquivo mais velho não deve ser renomeado nem movido. -- **Se a cópia de segurança falhar**: Esta opção permite definir o mecanismo usado para lidar com cópias de segurança falhadas (cópia de segurança impossível). Quando uma cópia de segurança não puder ser realizada, 4D deixa que realize uma nova tentativa. - - **Tente novamente na próxima data e hora agendadas**: essa opção só faz sentido quando trabalhar com backups automáticos programados. Equivale a anular a cópia de segurança que falhou. Um erro é gerado. - - **Tentar novamente após X segundo(s), minuto(s) ou hora(s)**: Quando esta opção é marcada, uma nova tentativa de backup é executada após o período de espera. Este mecanismo permite antecipar certas circunstancias que possam bloquear a cópia de segurança. Pode estabelecer um período de espera em segundos, minutos ou horas utilizando o menu correspondente. Se a nova tentativa também falhar, um erro é gerado e a falha é notada na área de status do último backup e no arquivo de histórico de backup. - - **Cancele a operação após X tentativas**: Este parâmetro é usado para definir o número máximo de tentativas de backup falhadas. Se o backup não tiver sido realizado com sucesso depois do número máximo de tentativas estabelecido tiver sido alcançado, ele será cancelado e o erro 1401 é gerado ("Número máximo de tentativas de backup foi alcançado; backup automático foi desativado temporariamente"). Nesse caso, não se fará mais backups automáticos até que a aplicação seja reiniciada ou um backup manual se realize com sucesso. + - **Se a cópia de segurança falhar**: Esta opção permite definir o mecanismo usado para lidar com cópias de segurança falhadas (cópia de segurança impossível). Quando uma cópia de segurança não puder ser realizada, 4D deixa que realize uma nova tentativa. + - **Tente novamente na próxima data e hora agendadas**: essa opção só faz sentido quando trabalhar com backups automáticos programados. Equivale a anular a cópia de segurança que falhou. Um erro é gerado. + - **Tentar novamente após X segundo(s), minuto(s) ou hora(s)**: Quando esta opção é marcada, uma nova tentativa de backup é executada após o período de espera. Este mecanismo permite antecipar certas circunstancias que possam bloquear a cópia de segurança. Pode estabelecer um período de espera em segundos, minutos ou horas utilizando o menu correspondente. Se a nova tentativa também falhar, um erro é gerado e a falha é notada na área de status do último backup e no arquivo de histórico de backup. + - **Cancele a operação após X tentativas**: Este parâmetro é usado para definir o número máximo de tentativas de backup falhadas. Se o backup não tiver sido realizado com sucesso depois do número máximo de tentativas estabelecido tiver sido alcançado, ele será cancelado e o erro 1401 é gerado ("Número máximo de tentativas de backup foi alcançado; backup automático foi desativado temporariamente"). Nesse caso, não se fará mais backups automáticos até que a aplicação seja reiniciada ou um backup manual se realize com sucesso. Este parâmetro é útil para evitar um caso em que um problema prolongado (que exija a intervenção humana) que impedisse a realização de uma cópia de segurança levasse a aplicação a tentar repetidamente a cópia de segurança, comprometendo seu rendimento geral. Como padrão, esse parâmetro não é marcado. > 4D considera um backup como tendo falhado se o banco de dados não tiver sido lançado na hora que estava programada o backup automático. @@ -106,20 +106,20 @@ Modificar as opções de cópia de segurança e restauração é opcional. Seus Essas opções se aplicam aos arquivos de cópia de segurança principais e aos arquivos de cópia de segurança do histórico. -- **Tamanho do Segmento (Mb)** + - **Tamanho do Segmento (Mb)** 4D permite que você segmente arquivos, ou seja, para cortá-lo em tamanhos menores. Esse funcionamento permite, por exemplo, armazenar uma cópia de segurança em vários discos diferentes (DVD, dispositivos usb pendrive, etc). Durante a restauração, 4D vai fusionar automaticamente os segmentos. Segment Size (Mb) 4D allows you to segment archives, i.e., to cut it up into smaller sizes. This behavior allows, for example, the storing of a backup on several different disks (DVDs, usb devices, etc.). O menu **Tamanho do Segmento** é uma caixa de combinação que permite que você defina o tamanho em MB para cada segmento do backup. Pode escolher um dos tamanhos pré-estabelecidos ou digitar um tamanho específico entre 0 e 2048. Se você passar 0, nenhum segmento ocorre (isso é o equivalente a passar **Nenhum**). -- **Taxa de Compressão** + - **Taxa de Compressão** Por padrão, o 4D comprime os backups para ajudar a economizar espaço em disco. Entretanto, a fase de compressão de arquivo pode retardar o processo de backup quando lidar com grandes volumes de dados. A opção **Taxa de Compressão** permite ajustar a compressão de arquivo: - - **Nenhum:** Não se aplica compressão de arquivos. O backup é mais rápido, mas os arquivos são bem maiores. - - **Rápido** (padrão): Essa opção é um compromisso entre a velocidade de backup e tamanho de arquivo. - - **Compact**: A taxa máxima de compressão é aplicada aos arquivos. Os arquivos ocupam o mínimo espaço possível no disco, mas o backup é mais lento. + - **Nenhum:** Não se aplica compressão de arquivos. O backup é mais rápido, mas os arquivos são bem maiores. + - **Rápido** (padrão): Essa opção é um compromisso entre a velocidade de backup e tamanho de arquivo. + - **Compact**: A taxa máxima de compressão é aplicada aos arquivos. Os arquivos ocupam o mínimo espaço possível no disco, mas o backup é mais lento. -- **Taxa de Interlúção e Taxa de Redundância** + - **Taxa de Interlúção e Taxa de Redundância** 4D gera arquivos usando algoritmos específicos que são baseados nos mecanismos de otimização (intercrição) e segurança (redundância). Pode estabelecer esses mecanismos de acordo com suas necessidades. Os menus para essas opções contêm as taxas **Baixo**, **Médio**, **Alto** e **Nenhum** (padrão). - - **Taxa de Entrelaçamento**: O Interlacing consiste de armazenar dados em setores não adjacentes para limitar riscos no caso de danos de setor. Quanto maior a taxa, maior a segurança; entretanto, o processamento de dados usa mais memória. - - **Taxa de redundância**: Redundância permite a segurança de dados presentes em um arquivo ao repetir a mesma informação várias vezes. Quanto maior a taxa de redundância, melhor a segurança, mas o armazenamento é mais lento e o tamanho dos arquivos aumenta. + - **Taxa de Entrelaçamento**: O Interlacing consiste de armazenar dados em setores não adjacentes para limitar riscos no caso de danos de setor. Quanto maior a taxa, maior a segurança; entretanto, o processamento de dados usa mais memória. + - **Taxa de redundância**: Redundância permite a segurança de dados presentes em um arquivo ao repetir a mesma informação várias vezes. Quanto maior a taxa de redundância, melhor a segurança, mas o armazenamento é mais lento e o tamanho dos arquivos aumenta. ### Restauro automático e integração de registos @@ -141,11 +141,11 @@ O usuário não vê uma caixa de diálogo, a operação é automática. O objeti > No caso de uma restauração automática, somente os seguintes elementos são restaurados: > -> - ficheiro .4DD -> - ficheiro .4DIndx -> - .4DSyncData file -> - ficheiro .4DSyncHeader -> - Pasta External Data +> - ficheiro .4DD +> - ficheiro .4DIndx +> - .4DSyncData file +> - ficheiro .4DSyncHeader +> - Pasta External Data > > Se quiser obter os arquivos anexados ou os arquivos do projeto, você deve realizar uma [restauração manual](restore.md#manually-restoring-a-backup-standard-dialog). From 4d18fd188fd1179ed04e1ff02b0a79019309441a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:42 +0200 Subject: [PATCH 049/162] New translations dt_object.md (French) --- .../current/Concepts/dt_object.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md index b88508734d8617..3924c360e26858 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md @@ -42,18 +42,18 @@ Les objets doivent avoir été instanciés, sinon toute tentative de lecture ou L'instanciation d'un objet peut se faire de l'une des manières suivantes : -- using the [`New object`](../commands-legacy/new-object.md) command, +- en utilisant la commande [`New object`](../commands-legacy/new-object.md), - en utilisant l'opérateur `{}`. :::info -Several 4D commands and functions return objects, for example [`Database measures`](../commands-legacy/database-measures.md) or [`File`](../commands/file.md). Dans ce cas, il n'est pas nécessaire d'instancier explicitement l'objet, le langage 4D le fait pour vous. +Plusieurs commandes et fonctions 4D renvoient des objets, par exemple [`Database measures`](../commands-legacy/database-measures.md) ou [`File`](../commands/file.md). Dans ce cas, il n'est pas nécessaire d'instancier explicitement l'objet, le langage 4D le fait pour vous. ::: ### Commande `New object` -The [`New object`](../commands-legacy/new-object.md) command creates a new empty or prefilled object and returns its reference. +La commande [`New object`](../commands-legacy/new-object.md) crée un nouvel objet vide ou pré-rempli et renvoie sa référence. Exemples : @@ -110,8 +110,8 @@ $col:=$o.col[5] //6 Vous pouvez créer deux types d'objets : -- regular (non-shared) objects, using the [`New object`](../commands-legacy/new-object.md) command or object literal syntax (`{}`). Ces objets peuvent être modifiés sans contrôle d'accès spécifique mais ne peuvent pas être partagés entre les process. -- Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. shared objects, using the [`New shared object`](../commands-legacy/new-shared-object.md) command. +- des objets ordinaires (non partagés), en utilisant la commande [`New object`](../commands-legacy/new-object.md) ou la syntaxe littérale des objets (`{}`). Ces objets peuvent être modifiés sans contrôle d'accès spécifique mais ne peuvent pas être partagés entre les process. +- des objets partagés, en utilisant la commande [`New shared object`](../commands-legacy/new-shared-object.md). Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. L'accès à ces objets doit être contrôlé via des structures `Use...End use`. Pour plus d'informations, consultez la section [Objets et collections partagés](shared.md). ## Propriétés From 5e68484835a537715088bfb1d8bde2ccd8b0e3a9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:46:51 +0200 Subject: [PATCH 050/162] New translations error-handling.md (French) --- .../current/Concepts/error-handling.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md index a7fb251244b7df..32022371b21029 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md @@ -25,7 +25,7 @@ Il est fortement recommandé d'installer une méthode globale de gestion des err De nombreuses fonctions des classes 4D, telles que `entity.save()` ou `transporter.send()`, retournent un objet *status*. Cet objet permet de stocker les erreurs "prévisibles" dans le contexte d'exécution, telles qu'un mot de passe invalide, une entité verrouillée, etc., qui ne stoppe pas l'exécution du programme. Cette catégorie d'erreurs peut être gérée par du code habituel. -D'autres erreurs "imprévisibles" peuvent inclure une erreur en écriture sur le disque, une panne de réseau ou toute interruption inattendue. This category of errors generates exceptions defined by [a *code*, a *message* and a *signature*](#error-codes) and needs to be handled through an error-handling method or a `Try()` keyword. +D'autres erreurs "imprévisibles" peuvent inclure une erreur en écriture sur le disque, une panne de réseau ou toute interruption inattendue. Cette catégorie d'erreurs génère des exceptions définies par [un *code*, un *message* et une *signature*](#error-codes) et doit être gérée par une méthode de gestion des erreurs ou un mot-clé `Try()`. ## Installer une méthode de gestion des erreurs @@ -97,7 +97,7 @@ Dans une méthode de gestion d'erreur personnalisée, vous avez accès à plusie 4D gère automatiquement un certain nombre de variables appelées [**variables système**](variables.md#system-variables), répondant à différents besoins. ::: -- the [`Last errors`](../commands/last-errors.md) command that returns a collection of the current stack of errors that occurred in the 4D application. +- la commande [`Last errors`](../commands/last-errors.md) qui renvoie une collection avec la pile courante d'erreurs survenues dans l'application 4D. - la commande `Call chain` qui renvoie une collection d'objets décrivant chaque étape de la chaîne d'appel de méthode dans le process en cours. #### Exemple @@ -153,7 +153,7 @@ Try (expression) : any | Undefined Si une erreur s'est produite pendant son exécution, elle est interceptée et aucune fenêtre d'erreur n'est affichée, qu'une [méthode de gestion des erreurs](#installer-une-methode-de-gestion-des-erreurs) ait été installée ou non avant l'appel à `Try()`. Si *expression* retourne une valeur, `Try()` retourne la dernière valeur évaluée, sinon elle retourne `Undefined`. -You can handle the error(s) using the [`Last errors`](../commands/last-errors.md) command. Si *expression* génère une erreur dans une pile d'appels `Try()`, le flux d'exécution s'arrête et retourne au dernier `Try()` exécuté (le premier trouvé en remontant dans la pile d'appels). +Vous pouvez traiter les erreurs en utilisant la commande [`Last errors`](../commands/last-errors.md). Si *expression* génère une erreur dans une pile d'appels `Try()`, le flux d'exécution s'arrête et retourne au dernier `Try()` exécuté (le premier trouvé en remontant dans la pile d'appels). :::note @@ -229,8 +229,8 @@ Le code placé entre les mots-clés `Try` et `Catch` est d'abord exécuté, puis - Si aucune erreur n'est levée, l'exécution du code se poursuit après le mot clé `End try` correspondant. Le code placé entre les mots-clés `Catch` et `End try` n'est pas exécuté. - Si l'exécution du bloc de code génère une *erreur non différée*, le flux d'exécution s'arrête et exécute le bloc de code `Catch` correspondant. -- If the code block calls a method that throws a *deferred error*, the execution flow jumps directly to the corresponding `Catch` code block. -- If a deferred error is directly thrown from the `Try` block, the execution flow continues until the end of the `Try` block and does not execute the corresponding `Catch` block. +- Si le bloc de code appelle une méthode qui lance une *erreur différée*, le flux d'exécution passe directement au bloc de code `Catch` correspondant. +- Si une erreur différée est directement lancée depuis le bloc `Try`, le flux d'exécution continue jusqu'à la fin du bloc `Try` et n'exécute pas le bloc `Catch` correspondant. :::note @@ -240,11 +240,11 @@ Si une erreur *différée* est générée en dehors du bloc `Try`, l'exécution :::info -For more information on *deferred* and *non-deferred* errors, please refer to the [`throw`](../commands-legacy/throw.md) command description. +Pour plus d'informations sur les erreurs *différées* et *non différées*, veuillez vous référer à la description de la commande [`throw`](../commands-legacy/throw.md). ::: -Dans le bloc de code `Catch`, vous pouvez gérer la ou les erreur(s) en utilisant les commandes de gestion des erreurs standard. The [`Last errors`](../commands/last-errors.md) function contains the last errors collection. Vous pouvez [déclarer une méthode de gestion des erreurs](#installer-une-methode-de-gestion-des-erreurs) dans ce bloc de code, auquel cas elle est appelée en cas d'erreur (sinon la boîte de dialogue d'erreur 4D est affichée). +Dans le bloc de code `Catch`, vous pouvez gérer la ou les erreur(s) en utilisant les commandes de gestion des erreurs standard. La fonction [`Last errors`](../commands/last-errors.md) contient la collection des dernières erreurs. Vous pouvez [déclarer une méthode de gestion des erreurs](#installer-une-methode-de-gestion-des-erreurs) dans ce bloc de code, auquel cas elle est appelée en cas d'erreur (sinon la boîte de dialogue d'erreur 4D est affichée). :::note @@ -285,14 +285,14 @@ Function createInvoice($customer : cs.customerEntity; $items : Collection; $invo ``` -## Error codes +## Codes d'erreur -Exceptions that interrupt code execution are returned by 4D but can have different origins such as the OS, a device, the 4D kernel, a [`throw`](../commands-legacy/throw.md) in your code, etc. An error is therefore defined by three elements: +Les exceptions qui interrompent l'exécution du code sont renvoyées par 4D mais peuvent avoir différentes origines telles que le système d'exploitation, un périphérique, le noyau 4D, un [`throw`](../commands-legacy/throw.md) dans votre code, etc. Une erreur est donc définie par trois éléments : -- a **component signature**, which is the origin of the error (see [`Last errors`](../commands/last-errors.md) to have a list of signatures) -- a **message**, which explains why the error occurred -- a **code**, which is an arbitrary number returned by the component +- une **signature du composant**, qui est l'origine de l'erreur (voir [`Last errors`](../commands/last-errors.md) pour avoir la liste des signatures) +- un **message**, qui explique pourquoi l'erreur s'est produite +- un **code**, qui est un numéro arbitraire renvoyé par le composant -The [4D error dialog box](../Debugging/basics.md) displays the code and the message to the user. +La [boîte de dialogue d'erreur 4D](../Debugging/basics.md) affiche le code et le message à l'utilisateur. -To have a full description of an error and especially its origin, you need to call the [`Last errors`](../commands/last-errors.md) command. When you intercept and handle errors using an [error-handling method](#installing-an-error-handling-method) in your final applications, use [`Last errors`](../commands/last-errors.md) and make sure you log all properties of the *error* object since error codes depend on the components. +Pour obtenir une description complète d'une erreur et surtout de son origine, vous devez appeler la commande [`Last errors`](../commands/last-errors.md). Lorsque vous interceptez et traitez des erreurs à l'aide d'une [méthode de traitement des erreurs](#installing-an-error-handling-method) dans vos applications finales, utilisez [`Last errors`](../commands/last-errors.md) et veillez à enregistrer toutes les propriétés de l'objet *error*, car les codes d'erreur dépendent des composants. From 957d4567ca613cc1cdae43042d7e0e51763a1fde Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:47:52 +0200 Subject: [PATCH 051/162] New translations flow-control.md (French) --- .../current/Concepts/flow-control.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/flow-control.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/flow-control.md index 6d1c25461cd9d0..3ee720767c645f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/flow-control.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/flow-control.md @@ -38,7 +38,7 @@ A noter que l'élément `Else` est optionnel, vous pouvez écrire : End if ``` -La structure `If...Else...End if` permet à votre méthode de choisir dans une alternative, en fonction du résultat, TRUE ou FALSE, d’un test (une expression booléenne). Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. Si l’expression booléenne est FALSE, les instructions suivant la ligne Else sont exécutées. Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. +La structure `If...Else...End if` permet à votre méthode de choisir dans une alternative, en fonction du résultat, TRUE ou FALSE, d’un test (une expression booléenne). Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. Si l’expression booléenne est FALSE, les instructions suivant la ligne Else sont exécutées. Le `Else` est optionnel ; lorsqu’il est omis, c’est la première ligne d’instructions suivant le `End if` (s’il y en a une) qui est exécutée. A noter que l'expression booléenne est toujours évaluée en totalité. Examinons en particulier le test suivant : @@ -324,7 +324,7 @@ End for La structure `For...End for` est une boucle contrôlée par un compteur : - La variable compteur *Counter_Variable* est une variable numérique (Réel ou Entier long) initialisée par `For...End for` à la valeur spécifiée par *Start_Expression*. -- La variable Variable_Compteur est incrémentée de la valeur spécifiée par le paramètre optionnel *Increment_Expression* à chaque fois que la boucle est exécutée. Si vous ne passez pas de valeur dans *Increment_Expression*, la variable compteur est incrémentée par défaut de un (1). +- Chaque fois que la boucle est exécutée, la variable compteur est incrémentée de la valeur spécifiée dans l'expression facultative *Increment_Expression*. Si vous ne passez pas de valeur dans *Increment_Expression*, la variable compteur est incrémentée par défaut de un (1). - Lorsque le compteur atteint la valeur définie par *End_Expression*, la boucle s'arrête. **Important :** Les expressions numériques *Start_Expression*, *End_Expression* et *Increment_Expression* sont évaluées une seule fois, au début de la boucle. Si ces expressions sont des variables, leur modification depuis l'intérieur de la boucle n'affectera pas l'exécution de la boucle. From daa4ff91cad334ad5d3dc4800a2696fdada5d79b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:47:54 +0200 Subject: [PATCH 052/162] New translations identifiers.md (French) --- .../current/Concepts/identifiers.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/identifiers.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/identifiers.md index 46e95761c6c678..d2ed5a8c5d3885 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/identifiers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/identifiers.md @@ -29,7 +29,7 @@ Les noms de fonctions doivent être conformes aux [règles standard de nommage d Le nom d'une propriété d'objet (aussi appelé *attribut*) peut contenir jusqu'à 255 caractères. -Les propriétés d'objets peuvent référencer des valeurs scalaires, des éléments ORDA, des fonctions de classe, d'autres objets, etc. Whatever their nature, object property names must follow the following rules **if you want to use the [dot notation](./dt_object.md#properties)**: +Les propriétés d'objets peuvent référencer des valeurs scalaires, des éléments ORDA, des fonctions de classe, d'autres objets, etc. Quelle que soit leur nature, les noms des propriétés des objets doivent suivre les règles suivantes **si vous voulez utiliser la [notation à points](./dt_object.md#properties)** : - Un nom de propriété doit commencer par une lettre, un trait de soulignement ("_") ou un dollar ("$"). - Ensuite, le nom peut inclure des lettres, des chiffres, des traits de soulignement ("_") ou des dollars ("$"). @@ -128,28 +128,28 @@ QUERY([Clients];[Clients]Name="Smith") Le nom d'une variable peut comporter jusqu'à 31 caractères, sans compter les symboles de portée (`$` ou `<>`). -- A variable name must begin with a letter, an underscore, or a dollar ("$") for [parameters](parameters.md) and [local variables](variables.md#local-variables), or `<>` for [interprocess variables](variables.md#interprocess-variables) (deprecated). +- Le nom d'une variable doit commencer par une lettre, un trait de soulignement ou un dollar ("$") pour les [paramètres](parameters.md) et les [variables locales](variables.md#local-variables), ou par `<>` pour les [variables interprocess](variables.md#interprocess-variables) (obsolète). - Ensuite, le nom peut inclure des lettres, chiffres, et traits de soulignement ("_"). -- Do not use reserved names, i.e. 4D command names (`Date`, `Time`, etc), keywords (`If`, `For`, etc.), system variable names (`OK`, `document`...), or constant names (`Euro`, `Black`, `Friday`, etc.). +- N'utilisez pas de noms réservés, c'est-à-dire des noms de commandes 4D (`Date`, `Time`, etc.), des mots-clés (`If`, `For`, etc.), des noms de variables système (`OK`, `document`...), ou des noms de constantes (`Euro`, `Black`, `Friday`, etc.). - Les noms de variables ne sont PAS sensibles à la casse. Exemples : ```4d -For($vlRecord;1;100) //local variable -$vsMyString:="Hello there" //local variable -var $vName; $vJob : Text //local variales -If(bValidate=1) //process variable -<>vlProcessID:=Current process() //interprocess variable +For($vlRecord;1;100) //variable locale +$vsMyString:="Hello there" //variable locale +var $vName; $vJob : Text //variables locales +If(bValidate=1) //variable process +<>vlProcessID:=Current process() //variable interprocess ``` ### Compatibilité -Some naming practices were previously allowed but are no longer supported when the [direct typing mode is enabled](../Project/compiler.md#enabling-direct-typing) (introduced in 4D 20 R7). Enabling this mode will produce syntax errors if: +Certaines pratiques de dénomination étaient auparavant autorisées mais ne sont plus prises en charge lorsque le [mode de typage direct est activé](../Project/compiler.md#enabling-direct-typing) (introduit dans 4D 20 R7). L'activation de ce mode produira des erreurs de syntaxe si : -- a variable name has a digit as first character, -- a variable name contains space characters, -- you declared variables named $0, $1, etc. +- le nom d'une variable commence par un chiffre, +- un nom de variable contient des caractères d'espacement, +- vous avez déclaré des variables nommées $0, $1, etc. ## Autres noms From 0dd419bc761e857a2dd1b9fd0f193fe8cb91a4a9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:47:59 +0200 Subject: [PATCH 053/162] New translations methods.md (French) --- .../current/Concepts/methods.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md index 8defd0b508c701..f3efd235b06ec0 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md @@ -201,12 +201,12 @@ Cette boîte de dialogue répertorie toutes les méthodes projet de la base, y c Pour exécuter une méthode de projet, il suffit de sélectionner son nom dans la liste et de cliquer sur **Exécuter**. Pour exécuter une méthode étape par étape en mode Debug, cliquez sur **Debug**. Pour plus d'informations sur le débogueur 4D, reportez-vous à la section [Debugging](../Debugging/basics.md) . -Si vous cochez la case **Nouveau Process** , la méthode que vous avez sélectionnée s'exécute dans un autre process. Si la méthode effectue une tâche qui prend du temps, comme l'impression d'un grand nombre d'enregistrements, vous pouvez continuer à travailler avec votre base, en ajoutant des enregistrements à une table, en créant un graphe pour afficher les données, etc. For more information about processes, refer to [Processes](../Develop/processes.md). +Si vous cochez la case **Nouveau Process** , la méthode que vous avez sélectionnée s'exécute dans un autre process. Si la méthode effectue une tâche qui prend du temps, comme l'impression d'un grand nombre d'enregistrements, vous pouvez continuer à travailler avec votre base, en ajoutant des enregistrements à une table, en créant un graphe pour afficher les données, etc. Pour plus d'informations sur les process, voir [Process](../Develop/processes.md). **Notes 4D Server**: - Si vous souhaitez que la méthode soit exécutée sur la machine serveur plutôt que sur la machine cliente, sélectionnez l'option **Sur 4D Server** dans le menu Exécuter : Dans ce cas, un nouveau process, appelé *procédure stockée*, est créé sur la machine serveur afin d'exécuter la méthode. Dans ce cas, un nouveau process, appelé *procédure stockée*, est créé sur la machine serveur afin d'exécuter la méthode. Cette option peut être utilisée pour réduire le trafic réseau et optimiser le fonctionnement de 4D Server, en particulier pour les méthodes qui appellent des données stockées sur le disque. Tous les types de méthodes peuvent être exécutés sur la machine serveur ou sur une autre machine cliente, à l'exception de celles qui modifient l'interface utilisateur. Dans ce cas, les procédures stockées sont inefficaces. -- Vous pouvez également choisir d'exécuter la méthode sur un autre poste client. Other client workstations will not appear in the menu, unless they have been previously "registered" (for more information, refer to the description of the [REGISTER CLIENT](../commands-legacy/register-client.md). +- Vous pouvez également choisir d'exécuter la méthode sur un autre poste client. Les autres postes clients n'apparaîtront pas dans le menu, sauf s'ils ont été préalablement "enregistrés" (pour plus d'informations, se référer à la description de [REGISTER CLIENT](../commands-legacy/register-client.md). Par défaut, l'option **En local** est sélectionnée. Avec la version mono-utilisateur de 4D, c'est la seule option disponible. From c7890a28de4f91feed38471ea30754c0e397fc66 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:03 +0200 Subject: [PATCH 054/162] New translations operators.md (French) --- .../current/Concepts/operators.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/operators.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/operators.md index 82e97a3608a5d2..d589041c258de8 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/operators.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/operators.md @@ -11,8 +11,8 @@ Le langage 4D prend en charge les opérateurs que vous connaissez peut-être dé Le langage 4D prend en charge les opérateurs **binaires** et **ternaires** : -- les opérateurs binaires opèrent sur deux cibles (comme `2 + 3`) et apparaissent entre leurs deux cibles. -- les opérateurs ternaires opèrent sur trois cibles. Comme le C, 4D ne possède qu'un seul opérateur ternaire, [l'opérateur conditionnel ternaire](#ternary-operator) (`a ? b : c`). + - les opérateurs binaires opèrent sur deux cibles (comme `2 + 3`) et apparaissent entre leurs deux cibles. + - les opérateurs ternaires opèrent sur trois cibles. Comme le C, 4D ne possède qu'un seul opérateur ternaire, [l'opérateur conditionnel ternaire](#ternary-operator) (`a ? b : c`). Les valeurs que les opérateurs affectent sont des opérandes. Dans l'expression `1 + 2`, le symbole + est un opérateur binaire et ses deux opérandes sont les valeurs 1 et 2. @@ -33,18 +33,18 @@ $col:=New collection //$col est initialisé avec une collection vide Les résultats des opérateurs dépendent des **types de données** auxquels ils sont appliqués. Ils sont décrits avec les types de données, dans les sections suivantes : -- [**Opérateurs logiques**](dt_boolean.md#operateurs-logiques) (sur les expressions de type **booléen**) -- [**Opérateurs sur les dates**](dt_date.md#operateurs-sur-les-dates) -- [**Opérateurs sur les heures**](dt_time.md#operateurs-sur-les-heures) -- [**Opérateurs sur les nombres**](dt_number.md#operateurs-sur-les-nombres) -- [**Opérateurs sur les bits**](dt_number.md#operateurs-sur-les-bits) (sur les expressions de type **entier long**) -- [**Opérateurs sur les images**](dt_picture.md#operateurs-sur-les-images) -- [**Opérateurs sur les pointeurs**](dt_pointer.md#operateurs-sur-les-pointeurs) -- [**Opérateurs sur les chaînes**](dt_string.md#operateurs-sur-les-chaines) -- [**Opérateurs sur les références d'objets**](dt_object.md#operateurs-sur-les-objets) -- [**Opérateurs sur les références de collections**](dt_collection.md#operateurs-sur-les-collections) -- [**Opérateurs sur les Null**](dt_null_undefined.md#operateurs-sur-les-null) -- [**Opérateurs sur les Undefined**](dt_null_undefined.md#operateurs-sur-les-undefined) + - [**Opérateurs logiques**](dt_boolean.md#operateurs-logiques) (sur les expressions de type **booléen**) + - [**Opérateurs sur les dates**](dt_date.md#operateurs-sur-les-dates) + - [**Opérateurs sur les heures**](dt_time.md#operateurs-sur-les-heures) + - [**Opérateurs sur les nombres**](dt_number.md#operateurs-sur-les-nombres) + - [**Opérateurs sur les bits**](dt_number.md#operateurs-sur-les-bits) (sur les expressions de type **entier long**) + - [**Opérateurs sur les images**](dt_picture.md#operateurs-sur-les-images) + - [**Opérateurs sur les pointeurs**](dt_pointer.md#operateurs-sur-les-pointeurs) + - [**Opérateurs sur les chaînes**](dt_string.md#operateurs-sur-les-chaines) + - [**Opérateurs sur les références d'objets**](dt_object.md#operateurs-sur-les-objets) + - [**Opérateurs sur les références de collections**](dt_collection.md#operateurs-sur-les-collections) + - [**Opérateurs sur les Null**](dt_null_undefined.md#operateurs-sur-les-null) + - [**Opérateurs sur les Undefined**](dt_null_undefined.md#operateurs-sur-les-undefined) ## Opérateurs d'affectation composés @@ -272,9 +272,9 @@ L'opérateur conditionnel ternaire vous permet d'écrire des expressions conditi Il prend trois opérandes dans l'ordre suivant : -- une condition suivie d'un point d'interrogation (?) -- une expression à exécuter si la condition est [truthy](#truthy-and-falsy), suivie de deux points (:) -- une expression à exécuter si la condition est [falsy](#truthy-and-falsy) + - une condition suivie d'un point d'interrogation (?) + - une expression à exécuter si la condition est [truthy](#truthy-and-falsy), suivie de deux points (:) + - une expression à exécuter si la condition est [falsy](#truthy-and-falsy) ### Syntaxe @@ -325,21 +325,21 @@ En plus d'un type, chaque valeur possède également une valeur booléenne inhé Les valeurs suivantes sont **falsy**: -- false -- Null -- undefined -- Null object -- Null collection -- Null pointer -- Null picture -- Null date !00-00-00! -- "" - Chaînes vides -- [] - Collections vides -- {} - Objets vides + - false + - Null + - undefined + - Null object + - Null collection + - Null pointer + - Null picture + - Null date !00-00-00! + - "" - Chaînes vides + - [] - Collections vides + - {} - Objets vides Toutes les autres valeurs sont considérées comme **truthy**, notamment : -- 0 - zéro numérique (Entier ou autre) + - 0 - zéro numérique (Entier ou autre) Dans 4D, l'évaluation à **truthy** et **falsy** reflète la **possibilité d'utilisation** d'une valeur, ce qui signifie qu'une valeur truthy existe et peut être traitée par le code sans générer d'erreurs ou de résultats inattendus. L'objectif est de fournir un moyen pratique de gérer les valeurs *undefined* et *null* dans les objets et les collections, de sorte qu'un nombre réduit d'instructions [If…Else](flow-control.md#ifelseend-if) soit nécessaire pour éviter les erreurs d'exécut From f11fd5dc55227339b8cd2405f57ca267ab0620f3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:05 +0200 Subject: [PATCH 055/162] New translations parameters.md (French) --- .../current/Concepts/parameters.md | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md index 9dce1edfa55d70..5f172b1fa0e759 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md @@ -35,7 +35,7 @@ EXECUTER METHOD IN SUBFORM("Cal2";"SetCalendarDate";*;!05/05/20!) //dans le contexte d'un sous-formulaire ``` -Les données peuvent également être **retournées** à partir de méthodes et de fonctions de classe. Par exemple, la ligne d’instruction suivante utilise une commande 4D, `Length`, qui retourne la longueur d’une chaîne. La valeur retournée par `Longueur` est placée dans une variable appelée *MaLongueur*. +Les données peuvent également être **retournées** à partir de méthodes et de fonctions de classe. Par exemple, la ligne d’instruction suivante utilise une commande 4D, `Length`, qui retourne la longueur d’une chaîne. Dans cette instruction, la valeur retournée par `Length` est placée dans une variable appelée *MaLongueur* : ```4d MaLongueur:=Length("Comment suis-je arrivé là ?") @@ -47,13 +47,13 @@ Les valeurs d'entrée et de sortie sont [évaluées](#values-or-references) au m :::info Compatibilité -The legacy declaration syntax, where parameters are automatically copied in sequentially numbered local variables $0, $1, etc. and declared using compiler directives such as `C_TEXT($1;$2)`, is **deprecated** as of 4D 20 R7. +L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement copiés dans des variables locales numérotées séquentiellement $0, $1, etc. et déclarés en utilisant des directives du compilateur telles que `C_TEXT($1;$2)`, est **dépréciée** à partir de 4D 20 R7. ::: ## Déclaration des paramètres -Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon. +Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. Vous déclarez des paramètres en utilisant un **nom de paramètre** et un **type de paramètre**, séparés par deux points. - For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class Constructor` keywords. - For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code. @@ -124,16 +124,16 @@ Function add($x : Variant; $y : Integer): Integer Les paramètres, y compris la valeur retournée, doivent être déclarés une seule fois. En particulier, vous ne pouvez pas déclarer le même paramètre en tant qu'entrée et sortie, même avec le même type. Par exemple : ```qs - //invalid declaration + //déclaration invalide Function myTransform ($x : Integer) -> $x : Integer - //error: $x is declared twice + //error: $x est déclaré deux fois ``` ::: ### Type de données pris en charge -With named parameters, you can use the same data types as those which are [supported by the `var` keyword](variables.md), including class objects. Par exemple : +Avec les paramètres nommés, vous pouvez utiliser les mêmes types de données que ceux qui sont [supportés par le mot-clé `var`](variables.md), y compris les objets de classe. Par exemple : ```4d Function saveToFile($entity : cs.ShapesEntity; $file : 4D.File) @@ -170,7 +170,7 @@ Function square($x : Integer) -> $result : Integer :::note -Internally, `return x` executes `myReturnValue:=x`, and returns to the caller. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *indéfinie*. +En interne, `return x` exécute `myReturnValue:=x`, et retourne à l'appelant. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *undefined*. ::: @@ -184,13 +184,13 @@ Function getValue -> $v : Integer Function getValue -> $v : Integer return 10 - $v:=20 // never executed + $v:=20 // jamais exécuté // returns 10 ``` ## Indirections sur les paramètres (${N}) -Les méthodes et fonctions 4D acceptent un nombre variable de paramètres. Au sein de la méthode, une adresse d'indirection est formatée `${N}`, où `N` est une expression numérique. You can address those parameters with a `For...End for` loop, the [`Count parameters`](../commands-legacy/count-parameters.md) command and the **parameter indirection syntax**. +Les méthodes et fonctions 4D acceptent un nombre variable de paramètres. Vous pouvez traiter ces paramètres avec une boucle `For...End for`, la commande [`Count parameters`](../commands-legacy/count-parameters.md) et la **syntaxe d'indirection des paramètres**. Au sein de la méthode, une adresse d'indirection est formatée `${N}`, où `N` est une expression numérique. ### Utilisation des paramètres variadiques @@ -214,7 +214,7 @@ Les paramètres de la méthode doivent être passés dans le bon ordre : le form Result:=MySum("000";1;2;200) //"203" ``` -Notez que même si vous avez déclaré 0, 1, ou plus paramètres, vous pouvez toujours passer le nombre de paramètres que vous voulez. Tous les paramètres sont accessibles dans le code appelé via la syntaxe `${N}` et le type des paramètres supplémentaires est [Variant](dt_variant.md) par défaut (vous pouvez les déclarer en utilisant la notation variadique [](#declaring-variadic-parameter Il vous suffit de vous assurer que les paramètres existent, grâce à la commande [`Count parameters`](https://doc.4d.com/4dv20/help/command/fr/page259.html). You just need to make sure parameters exist, thanks to the [`Count parameters`](../commands-legacy/count-parameters.md) command. Par exemple : +Notez que même si vous avez déclaré 0, 1, ou plus paramètres, vous pouvez toujours passer le nombre de paramètres que vous voulez. Tous les paramètres sont accessibles dans le code appelé via la syntaxe `${N}` et le type des paramètres supplémentaires est [Variant](dt_variant.md) par défaut (vous pouvez les déclarer en utilisant la [notation variadique](#declaring-variadic-parameter)). Il suffit de s'assurer que les paramètres existent, grâce à la commande [`Count parameters`](../commands-legacy/count-parameters.md). Par exemple : ```4d //foo method @@ -279,23 +279,23 @@ return $total ``` -Cette méthode peut être appelée avec un nombre variable de paramètres Real. Dans le cas d'un paramètre de type incorrect, une erreur sera renvoyée avant que la méthode ne soit exécutée : +Cette méthode peut être appelée avec un nombre variable de paramètres réels. Dans le cas d'un paramètre de type incorrect, une erreur sera renvoyée avant que la méthode ne soit exécutée : ```4d -$total1:=SumNumbers // returns 0 -$total2:=SumNumbers(1; 2; 3; 4; 5) // returns 15 -$total3:=SumNumbers(1; 2; "hello"; 4; 5) // error +$total1:=SumNumbers // renvoie 0 +$total2:=SumNumbers(1 ; 2 ; 3 ; 4 ; 5) // renvoie 15 +$total3:=SumNumbers(1 ; 2 ; "hello" ; 4 ; 5) // erreur ``` :::note Compatibilité -The legacy syntax for declaring variadic parameters (`C_TEXT(${4})`) is deprecated as of 4D 20 R7. +L'ancienne syntaxe de déclaration des paramètres variadiques (`C_TEXT(${4})`) est obsolète à partir de 4D 20 R7. ::: -## Triggers and On Drag Over +## Triggers et On Drag Over Certains contextes ne prennent pas en charge la déclaration dans une méthode "Compiler_", ils sont donc gérés de manière spécifique : @@ -303,7 +303,7 @@ Certains contextes ne prennent pas en charge la déclaration dans une méthode " ## Type de paramètre erroné -Calling a parameter with an wrong type or a wrong class (for object parameters) is an [error](error-handling.md) that prevents correct execution. Par exemple, si vous écrivez les méthodes suivantes : +L'appel d'un paramètre d'un mauvais type ou d'une mauvaise classe (pour les paramètres objet) est une [erreur](error-handling.md) qui empêche une exécution correcte. Par exemple, si vous écrivez les méthodes suivantes : ```4d // method1 @@ -315,7 +315,7 @@ Calling a parameter with an wrong type or a wrong class (for object parameters) method1(42) //mauvais type, texte attendu ``` -An error is also generated when parameters are objects with classes: +Une erreur est également générée lorsque les paramètres sont des objets avec des classes : ```4d // method1 @@ -325,14 +325,14 @@ An error is also generated when parameters are objects with classes: ```4d // method2 var $param := cs.MyClass2.new(42) -method1($param) //wrong class instance, cs.MyClass1 expected +method1($param) //mauvaise instance de classe, cs.MyClass1 attendue ``` -These cases are handled by 4D depending on the context: +Ces cas sont traités par 4D en fonction du contexte : - dans les projets interprétés : - - if the parameter was declared using the named syntax (`#DECLARE` or `Function`), an error is generated by the [live checker](../code-editor/write-class-method.md#warnings-and-errors) while the code is written, or when the method is called. - - if the parameter was declared using a legacy syntax (`_C_XXX`), no error is generated, the called method receives an empty value of the expected type. + - si le paramètre a été déclaré en utilisant la syntaxe nommée (`#DECLARE` ou `Function`), une erreur est générée par le [live checker](../code-editor/write-class-method.md#warnings-and-errors) pendant l'écriture du code, ou lorsque la méthode est appelée. + - si le paramètre a été déclaré en utilisant une syntaxe ancienne (`_C_XXX`), aucune erreur n'est générée, la méthode appelée reçoit une valeur vide du type attendu. - dans les [projets compilés](interpreted.md), une erreur est générée à l'étape de compilation lorsque cela est possible. Sinon, une erreur est générée lorsque la méthode est appelée. ## Utilisation des propriétés d'objet comme paramètres nommés @@ -390,7 +390,7 @@ $para.Age:=Num($para.Age)+$para.toAdd ALERT(String($para.Name)+" is "+String($para.Age)+" years old.") ``` -Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. +Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours comme dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. Avec les variables nommées, n'importe quel paramètre peut être optionnel. Dans l'exemple ci-dessus, tous les paramètres sont optionnels et peuvent être donnés, dans n'importe quel ordre. @@ -464,55 +464,55 @@ Lorsque les paramètres sont nécessaires dans vos méthodes, vous pouvez égale Lorsque vous passez un paramètre, 4D évalue toujours l'expression du paramètre dans le contexte de la méthode appelée et affecte la **valeur résultante** aux variables locales dans la fonction de classe ou la sous-routine. Les variables/paramètres locaux ne correspondent pas aux véritables champs, variables ou expressions passés par la méthode appelée; ils contiennent uniquement les valeurs qui n'ont pas été passées. Les variables/paramètres locaux ne correspondent pas aux véritables champs, variables ou expressions passés par la méthode appelée; ils contiennent uniquement les valeurs qui n'ont pas été passées. Par exemple : ```4d - //Here is some code from the method MY_METHOD -DO_SOMETHING([People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY_METHOD +DO_SOMETHING([People]Name) //La valeur de [People]Name est "williams" ALERT([People]Name) - //Here is the code of the method DO_SOMETHING + //Code de la méthode DO_SOMETHING #DECLARE($param : Text) $param:=Uppercase($param) ALERT($param) ``` -La boîte de dialogue d'alerte affichée par `DO_SOMETHING` contiendra "WILLIAM" et celle affichée par `MY_METHOD` contiendra "william". The method locally changed the value of the parameter $param, but this does not affect the value of the field `[People]Name` passed as parameter by the method `MY_METHOD`. +La boîte de dialogue d'alerte affichée par `DO_SOMETHING` contiendra "WILLIAM" et celle affichée par `MY_METHOD` contiendra "william". La méthode a modifié localement la valeur du paramètre $param, mais cela n'affecte pas la valeur du champ `[People]Name` passé en paramètre par la méthode `MY_METHOD`. Si vous voulez réellement que la méthode `DO_SOMETHING` modifie la valeur du champ, deux solutions s'offrent à vous : 1. Plutôt que de passer le champ à la méthode, vous lui passez un pointeur : ```4d - //Here is some code from the method MY_METHOD -DO_SOMETHING(->[People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY_METHOD +DO_SOMETHING(->[People]Name) //La valeur de [People]Name est "williams" ALERT([People]Last Name) - //Here the code of the method DO_SOMETHING + //Code de la méthode DO_SOMETHING #DECLARE($param : Text) $param->:=Uppercase($param->) ALERT($param->) ``` -Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Therefore, within the `DO SOMETHING` method, $param is no longer the value of the field but a pointer to the field. Par conséquent, la modification de l'objet référencé dépasse les limites de la sous-routine et le champ lui-même est affecté. Dans cet exemple, les deux boîtes de dialogue d'alerte afficheront "WILLIAMS". +Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Par conséquent, dans la méthode `DO SOMETHING`, $param n'est plus la valeur du champ mais un pointeur sur le champ. L'objet **référencé** par $param ($param-> dans le code ci-dessus) est le champ lui-même. Par conséquent, la modification de l'objet référencé dépasse les limites de la sous-routine et le champ lui-même est affecté. Dans cet exemple, les deux boîtes de dialogue d'alerte afficheront "WILLIAMS". 2. Plutôt que la méthode `DO_SOMETHING` “fasse quelque chose”, vous pouvez la réécrire de manière à ce qu'elle retourne une valeur. ```4d - //Here is some code from the method MY METHOD - [People]Name:=DO_SOMETHING([People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY METHOD + [People]Name:=DO_SOMETHING([People]Name) ALERT([People]Name) - //Here the code of the method DO SOMETHING + //Code de la méthode DO SOMETHING #DECLARE ($param : Text) -> ($result : Text) $result:=Uppercase($param) ALERT($result) ``` -This second technique of returning a value by a subroutine is called "using a function". This is described in the [Returning values](#returned-value) paragraph. +Cette deuxième technique de retour d'une valeur par un sous-programme est appelée "utilisation d'une fonction". Ceci est décrit dans le paragraphe [Valeurs de retour](#returned-value). ### Cas particuliers : objets et collections Vous devez faire attention au fait que les types de données Objet et Collection ne peuvent être gérés que par une référence (c'est-à-dire un *pointeur interne*). -Consequently, when using such data types as parameters, `$param, $return...` do not contain *values* but *references*. Modifying the value of the `$param, $return...` parameters within the subroutine will be propagated wherever the source object or collection is used. This is the same principle as for [pointers](dt_pointer.md#pointers-as-parameters-to-methods), except that `$param, $return...` parameters do not need to be dereferenced in the subroutine. +Par conséquent, lorsque de tels types de données sont utilisés comme paramètres, `$param, $return...` ne contiennent pas de *valeurs* mais des *références*. La modification de la valeur des paramètres `$param, $return...` dans la sous-routine sera propagée partout où l'objet ou la collection source est utilisé(e). C'est le même principe que pour les [pointeurs](dt_pointer.md#pointers-as-parameters-to-methods), sauf que les paramètres `$param, $return...` n'ont pas besoin d'être déréférencés dans le sous-programme. Par exemple, considérons la méthode `CreatePerson`, qui crée un objet et qui l'envoie comme paramètre : From 8396a13c7cba760e862a1ef7f89cd74effe88545 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:11 +0200 Subject: [PATCH 056/162] New translations shared.md (French) --- .../current/Concepts/shared.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/shared.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/shared.md index 671793d7b44560..fc2a0f6ea7015f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/shared.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/shared.md @@ -3,14 +3,14 @@ id: shared title: Objets et collections partagés --- -**Les objets partagés** et **les collections partagées** sont des [objets](./dt_object.md) et des [collections](./dt_collection.md) spécifiques dont le contenu est partagé entre les process. In contrast to [interprocess variables](./variables.md#interprocess-variables), shared objects and shared collections have the advantage of being compatible with **preemptive 4D processes**: they can be passed by reference as parameters to commands such as [`New process`](../commands-legacy/new-process.md) or [`CALL WORKER`](../commands-legacy/call-worker.md). +**Les objets partagés** et **les collections partagées** sont des [objets](./dt_object.md) et des [collections](./dt_collection.md) spécifiques dont le contenu est partagé entre les process. Contrairement aux [variables interprocess](./variables.md#interprocess-variables), les objets partagés et les collections partagées ont l'avantage d'être compatibles avec les **process 4D préemptifs** : ils peuvent être passés par référence en tant que paramètres à des commandes telles que [`New process`](../commands-legacy/new-process.md) ou [`CALL WORKER`](../commands-legacy/call-worker.md). Les objets partagés et les collections partagées sont stockés dans des variables standard de type [`Object`](./dt_object.md) et [`Collection`](./dt_collection.md), mais doivent être instanciés à l'aide de commandes spécifiques : -- to create a shared object, use the [`New shared object`](../commands-legacy/new-shared-object.md) command or call the [`new()`](../API/ClassClass.md#new) function of a [shared class](./classes.md#shared-classes), +- pour créer un objet partagé, utilisez la commande [`New shared object`](../commands-legacy/new-shared-object.md) ou appelez la fonction [`new()`](../API/ClassClass.md#new) d'une [classe partagée](./classes.md#shared-classes), - pour créer une collection partagée, utilisez la commande [`New shared collection`](../commands/new-shared-collection.md). -Shared objects and collections can only contain scalar values or other shared objects and collections. However, shared objects and collections can be set as properties of standard (not shared) objects or collections. +Les objets et collections partagés ne peuvent contenir que des valeurs scalaires ou d'autres objets et collections partagés. Toutefois, les objets et collections partagés peuvent être définis comme des propriétés d'objets ou de collections standard (non partagés). Toute modification d'un objet/d'une collection partagé(e) doit s'effectuer à l'intérieur d'une structure **Use...End use**. La lecture d'une valeur d'objet/collection ne nécessite pas de structure **Use...End use**. @@ -29,7 +29,7 @@ Les modifications suivantes peuvent être effectuées sur les objets partagés e :::note -Keep in mind that objects or collections set as the content of a shared object or collection must themselves be shared. +N'oubliez pas que les objets ou collections définis comme contenu d'un objet ou d'une collection partagé(e) doivent eux-mêmes être partagés. ::: @@ -61,7 +61,7 @@ End use Un objet/une collection partagé(e) ne peut être modifié(e) que par un seul process à la fois. `Use` verrouille l'objet/la collection partagé(e) pour les autres threads, tandis que `End use` déverrouille l'objet/la collection partagé(e) (si le compteur de verrouillage est à 0, voir ci-dessous). . Toute tentative de modification d'un objet/d'une collection partagé(e) sans au moins un appel à `Use...End use` génère une erreur. Lorsqu'un process appelle `Use...End use` avec un objet/une collection partagé(e) qui est déjà "utilisé(e)" par un autre process, il est simplement mis en attente jusqu'à ce qu'il soit déverrouillé par l'appel à `End use` (aucune erreur n'est générée). En conséquence, les instructions situées à l'intérieur des structures `Use...End use` doivent toujours s'exécuter rapidement et déverrouiller les éléments dès que possible. Il est donc fortement déconseillé de modifier un objet ou une collection partagé(e) directement depuis l'interface, par exemple depuis une boîte de dialogue. -L'assignation d'objets/collections partagé(e) s à des propriétés ou éléments d'autres objets/collections partagé(e) s est autorisée et entraîne la création de **groupes partagés**. Un groupe partagé est automatiquement créé lorsqu'un objet ou une collection partagé(e) est assigné(e) en tant que valeur de propriété ou élément à un autre objet ou collection partagé(e). Les groupes partagés permettent d'imbriquer des objets et collections partagé(e)s mais nécessitent d'observer des règles supplémentaires : +L'assignation d'objets/collections partagé(e)s à des propriétés ou éléments d'autres objets/collections partagé(e)s est autorisée et entraîne la création de **groupes partagés**. Un groupe partagé est automatiquement créé lorsqu'un objet ou une collection partagé(e) est assigné(e) en tant que valeur de propriété ou élément à un autre objet ou collection partagé(e). Les groupes partagés permettent d'imbriquer des objets et collections partagé(e)s mais nécessitent d'observer des règles supplémentaires : - L'appel de `Use` avec un(e) objet/collection partagé(e) appartenant à un groupe provoquera le verrouillage des propriétés/éléments de tous/toutes les objets/collections partagé(e) s du groupe et incrémente son compteur de verrouillage. L'appel à `End use` décrémente le compteur de verrouillage du groupe et lorsque le compteur est à 0, tous les objets ou collections partagés partagés sont déverrouillés. - Un objet ou une collection partagé(e) peut appartenir à un seul groupe partagé. Une erreur est générée si vous tentez d'assigner un objet ou une collection appartenant déjà à un groupe à un groupe différent. @@ -81,11 +81,11 @@ Appeler `OB Copy` avec un objet partagé (ou avec un objet dont des propriétés ### Storage -**Storage** est un objet partagé unique, disponible automatiquement pour chaque application et machine. Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. +**Storage** est un objet partagé unique, disponible automatiquement pour chaque application et machine. Cet objet partagé est renvoyé par la commande [`Storage`](../commands-legacy/storage.md). Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. A noter que, à la différence de objets partagés standard, l'objet `Storage` ne crée par de groupe partagé lorsque des objets/collection lui sont assigné(e)s en tant que propriétés. Cette exception permet à l'objet **Storage** d'être utilisé sans verrouiller les objets/collections partagé(e)s connecté(e)s. -For more information, refer to the [`Storage`](../commands-legacy/storage.md) command description. +Pour plus d'informations, consultez la description de la commande [`Storage`](../commands-legacy/storage.md). ## Use...End use @@ -108,13 +108,13 @@ Les objets partagés et les collections partagées permettent d'établir des com - La ligne **End use** déverrouille les propriétés de *Shared_object_or_Shared_collection* et tous les objets du même groupe. - Plusieurs structures **Use...End use** peuvent être imbriquées dans le code 4D. Toute modification d'un objet/d'une collection partagé(e) doit s'effectuer à l'intérieur d'une structure **Use...End use**. -### Automatic Use...End use calls +### Appels Use...End use automatiques -The following features automatically trigger an internal **Use/End use**, making an explicit call to the structure unnecessary when it is executed: +Les fonctions suivantes déclenchent automatiquement un **Use/End use** interne, rendant un appel explicite à la structure inutile lors de l'exécution de la fonction : - [fonctions de collection](../API/CollectionClass.md) qui modifient les collections partagées, -- [`ARRAY TO COLLECTION`](../commands-legacy/array-to-collection.md) command, -- [`OB REMOVE`](../commands-legacy/ob-remove.md) command, +- commande [`ARRAY TO COLLECTION`](../commands-legacy/array-to-collection.md), +- commande [`OB REMOVE`](../commands-legacy/ob-remove.md), - [fonctions partagées](classes.md#fonctions-partagees) (définies dans les [classes partagées](classes.md#classes-partagees)). ## Exemple 1 From 9c16f9145306c6b70dadd78f9b6c69766ca26fb5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:13 +0200 Subject: [PATCH 057/162] New translations variables.md (French) --- .../current/Concepts/variables.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md index 7e49bec73330ee..049995121bfaca 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md @@ -17,7 +17,7 @@ Les variables sont des objets du langage; vous pouvez créer et utiliser des var ## Déclaration des variables -You create variables by declaring them using the `var` keyword. +Vous créez des variables en les déclarant à l'aide du mot-clé `var`. Lorsque les variables sont déclarées, elles sont initialisées à la [**valeur par défaut correspondant à leur type**](data-types.md#valeurs-par-defaut), qu'elles conserveront pendant la session tant qu'on ne leur aura pas [assigné une valeur](#assigning-data). Alternativement, lors de la déclaration des variables, vous pouvez [initialiser](#initializing-variables-in-the-declaration-line) leur valeur en même temps que leur type de données en une seule ligne. @@ -49,12 +49,12 @@ var $myVar //une variable variant ``` `varName` est le nom de la variable, il doit respecter les [règles de 4D](Concepts/identifiers.md) concernant les identifiants. -This syntax only supports [local and process variables](#local-process-and-interprocess-variables) declarations, thus excluding [interprocess variables](#interprocess-variables) (deprecated) and [arrays](Concepts/arrays.md). +Cette syntaxe ne prend en charge que les déclarations de [variables locales et de process](#local-process-and-interprocess-variables), ce qui exclut les [variables interprocess](#interprocess-variables) (dépréciées) et les [tableaux](Concepts/arrays.md). `varType` peut être : -- un [type basique](Concepts/data-types.md), auquel cas la variable contient une valeur du type déclaré, -- une [référence de classe](Concepts/classes.md) (classe 4D ou classe utilisateur), auquel cas la variable contient une référence à un objet de la classe définie. + - un [type basique](Concepts/data-types.md), auquel cas la variable contient une valeur du type déclaré, + - une [référence de classe](Concepts/classes.md) (classe 4D ou classe utilisateur), auquel cas la variable contient une référence à un objet de la classe définie. Si `varType` est omis, une variable de type **variant** est créée. @@ -73,20 +73,20 @@ Le tableau suivant liste toutes les valeurs `varType` prises en charge : | `Blob` | Valeur Blob scalaire | | `Collection` | Valeur collection | | `Variant` | Valeur variant | -| `Object` | Object with default class | +| `Object` | Objet avec classe par défaut | | `4D.` | Objet de la classe 4D className | | `cs.` | Objet de la classe utilisateur className | | `cs.` | Object de la classe className du composant `` | :::note Compatibilité -The legacy syntax using `C_XXX` commands is deprecated as of 4D 20 R7. +L'ancienne syntaxe utilisant les commandes `C_XXX` est obsolète à partir de la version 4D 20 R7. ::: ### Exemples -- Pour déclarer les variables locales et les variables process basiques : + - Pour déclarer les variables locales et les variables process basiques : ```4d var $myText; myText; $vt : Text @@ -98,14 +98,14 @@ var $o : 4D.Object //également équivalent à C_OBJECT($o) ``` -- Pour déclarer les variables objet de classe 4D : + - Pour déclarer les variables objet de classe 4D : ```4d var $myFolder : 4D.Folder var $myFile : 4D.File ``` -- Pour déclarer les variables objet de classe utilisateur : + - Pour déclarer les variables objet de classe utilisateur : ```4d var $myClass : cs.MyClass @@ -127,10 +127,10 @@ var $d : cs.Customer:=cs.Customer.new() Les variables peuvent également être déclarées et initialisées sans mentionner explicitement leur type de données, auquel cas leur type sera déduit par 4D. Voici quelques exemples : ```4d -var $text:="hello" // Inferred as Text -var $number:=20 // Inferred as Real -var $obj:={} // Inferred as an Object -var $mycol:=[] // Inferred as a Collection +var $text:="hello" // Déduit en Text +var $number:=20 // Déduit en Real +var $obj:={} // Déduit en Object +var $mycol:=[] // Déduit en Collection ``` @@ -193,9 +193,9 @@ Une variable locale, comme son nom l’indique, est locale à une méthode — c Vous pouvez choisir d'utiliser une variable locale pour : -- Eviter des conflits de noms avec les autres variables -- Utiliser temporairement des valeurs, -- Réduire le nombre de variables process + - Eviter des conflits de noms avec les autres variables + - Utiliser temporairement des valeurs, + - Réduire le nombre de variables process Le nom d’une variable locale commence toujours par le signe dollar ($) et peut contenir jusqu’à 31 autres caractères. Si vous saisissez un nom plus long, 4D le tronque pour le ramener à 31 caractères. @@ -224,9 +224,9 @@ En mode interprété, les variables sont gérées dynamiquement; elles sont cré Un process peut lire et écrire des variables process dans un autre process à l'aide des commandes `GET PROCESS VARIABLE` et `SET PROCESS VARIABLE`. Nous vous recommandons de n'utiliser ces commandes que dans le cadre des besoins décrits ci-dessous (qui sont les raisons pour lesquelles ces commandes ont été créées dans 4D) : -- Communication interprocess à des endroits particuliers de votre code -- Gestion du glisser-déposer interprocess -- En client/serveur, communication entre les process sur les postes clients et les procédures stockées exécutées sur le serveur + - Communication interprocess à des endroits particuliers de votre code + - Gestion du glisser-déposer interprocess + - En client/serveur, communication entre les process sur les postes clients et les procédures stockées exécutées sur le serveur Pour plus d'informations, consultez le chapitre **Process** et la description de ces commandes. @@ -234,7 +234,7 @@ Pour plus d'informations, consultez le chapitre **Process** et la description de :::warning Obsolète -Use of interprocess variables is not recommended since they are not available from [preemptive processes](../Develop/preemptive.md) and tend to make the code less maintainable. +L'utilisation de variables interprocess n'est pas recommandée car elles ne sont pas disponibles pour les [process préemptifs](../Develop/preemptive.md) et tendent à rendre le code moins facile à maintenir. ::: @@ -246,21 +246,21 @@ En mode client/serveur, chaque poste (client et serveur) partage la même défin ## Variables système -The 4D language manages several **system variables**, which allow you to control the execution of different operations. Vous pouvez tester leur valeur et les utiliser comme n'importe quelle variable. All system variables are [process variables](#process-variables). - -System variables are used by [4D commands](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système. - -| Nom de variable système | Type | Description | -| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `OK` | Integer | Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. | -| `Document` | Text | Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](../commands-legacy/open-document.md) or [SELECT LOG FILE](../commands/select-log-file.md). | -| `FldDelimit`, `RecDelimit` | Text | Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. | -| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method). Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. | -| `MouseDown` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. | -| `MouseX`, `MouseY` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command.
  • In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre.
  • In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.
  • | -| `KeyCode` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Définit le code de caractère de la touche qui vient d'être pressée. If the key is a function key, `KeyCode` is set to a special code. | -| `Modifiers` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. | -| `MouseProc` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Contient le numéro du process dans lequel le dernier événement a eu lieu | +Le langage 4D gère plusieurs **variables système**, qui permettent de contrôler l'exécution de différentes opérations. Vous pouvez tester leur valeur et les utiliser comme n'importe quelle variable. Toutes les variables système sont des [variables process] (#process-variables). + +Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système. + +| Nom de variable système | Type | Description | +| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. | +| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). | +| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. | +| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). | +| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. | +| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md).
  • Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre.
  • Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture).
  • | +| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. If the key is a function key, `KeyCode` is set to a special code. | +| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. | +| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu | :::note From bdd3d6e5b92415417918f68e2126689570fd1c21 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:16 +0200 Subject: [PATCH 058/162] New translations basics.md (French) --- .../current/Debugging/basics.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md index a57add75e3ef48..91099f35e4c43a 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md @@ -33,13 +33,13 @@ Il peut arriver que la mémoire soit insuffisante pour créer une BLOB. Ou, lors Ce sont généralement les types d'erreurs les plus difficiles à trouver. À l'exception des erreurs de frappe, tous les types d'erreurs énumérés ci-dessus sont, dans une certaine mesure, couverts par l'expression "erreur de conception ou de logique". Utilisez le [débogueur](debugger.md) pour les détecter. Par exemple : -- Une *erreur de syntaxe* peut se produire lorsque vous essayez d'utiliser une variable qui n'est pas encore initialisée. -- Une *erreur au niveau de l'Environnement* peut se produire lorsque vous essayez d'ouvrir un document, parce que le nom de ce document est reçu par une sous-routine qui n'a pas obtenu la bonne valeur comme paramètre. + - Une *erreur de syntaxe* peut se produire lorsque vous essayez d'utiliser une variable qui n'est pas encore initialisée. + - Une *erreur au niveau de l'Environnement* peut se produire lorsque vous essayez d'ouvrir un document, parce que le nom de ce document est reçu par une sous-routine qui n'a pas obtenu la bonne valeur comme paramètre. Les erreurs de conception ou de logique comprennent également des situations telles que : -- Un enregistrement n'est pas correctement mis à jour parce que, en appelant `SAVE RECORD`, vous avez oublié de tester d'abord si l'enregistrement était verrouillé ou non. -- Une méthode ne fait pas exactement ce que vous attendez, car la présence d'un paramètre facultatif n'est pas testée. + - Un enregistrement n'est pas correctement mis à jour parce que, en appelant `SAVE RECORD`, vous avez oublié de tester d'abord si l'enregistrement était verrouillé ou non. + - Une méthode ne fait pas exactement ce que vous attendez, car la présence d'un paramètre facultatif n'est pas testée. Parfois, le morceau de code qui affiche l'erreur peut être différent du code qui est en fait à l'origine du problème. @@ -55,8 +55,8 @@ Pour trouver rapidement l'origine du problème, rouvrez la version interprétée La fenêtre d'erreur de syntaxe apparaît automatiquement lorsque l'exécution d'une méthode est interrompue. Cela peut se produire lorsque : -- une erreur empêche la poursuite de l'exécution du code -- la méthode produit une fausse assertion (voir la commande `ASSERT`) + - une erreur empêche la poursuite de l'exécution du code + - la méthode produit une fausse assertion (voir la commande `ASSERT`) ![syntax-error](../assets/en/Debugging/syntax-error.png) @@ -64,11 +64,11 @@ La zone de texte supérieure affiche un message décrivant l'erreur. La zone de La fenêtre d'erreur de syntaxe propose plusieurs options : -- **Modifier** : arrête l'exécution de toutes les méthodes. 4D bascule en mode Développement et la méthode comportant l'erreur s'ouvre dans l'éditeur de code, ce qui vous permet de la corriger. Utilisez cette option lorsque vous reconnaissez immédiatement l'erreur et que vous pouvez la corriger sans autre forme de procès. + - **Modifier** : arrête l'exécution de toutes les méthodes. 4D bascule en mode Développement et la méthode comportant l'erreur s'ouvre dans l'éditeur de code, ce qui vous permet de la corriger. Utilisez cette option lorsque vous reconnaissez immédiatement l'erreur et que vous pouvez la corriger sans autre forme de procès. -- **Trace** : Accède au mode Trace/Debugger. La fenêtre du [débogueur](debugger.md) s'affiche. Si la ligne en cours n'a été exécutée que partiellement, vous devrez peut-être cliquer plusieurs fois sur le bouton **Trace**. + - **Trace** : Accède au mode Trace/Debugger. La fenêtre du [débogueur](debugger.md) s'affiche. Si la ligne en cours n'a été exécutée que partiellement, vous devrez peut-être cliquer plusieurs fois sur le bouton **Trace**. -- **Continuer** : L'exécution se poursuit. La ligne contenant l'erreur peut être partiellement exécutée, selon l'endroit où se trouve l'erreur. Continuez avec prudence : l'erreur peut empêcher le reste de votre méthode de s'exécuter correctement. Nous vous recommandons de cliquer sur **Continuer** uniquement si l'erreur se trouve dans un appel trivial (tel que `SET WINDOW TITLE`) qui n'empêche pas d'exécuter et de tester le reste de votre code. + - **Continuer** : L'exécution se poursuit. La ligne contenant l'erreur peut être partiellement exécutée, selon l'endroit où se trouve l'erreur. Continuez avec prudence : l'erreur peut empêcher le reste de votre méthode de s'exécuter correctement. Nous vous recommandons de cliquer sur **Continuer** uniquement si l'erreur se trouve dans un appel trivial (tel que `SET WINDOW TITLE`) qui n'empêche pas d'exécuter et de tester le reste de votre code. :::tip @@ -76,14 +76,14 @@ To ignore an error that occurs repeatedly (for example, in loops), you can turn ::: -- **Abort**: Stops method execution and returns to the state before the method started executing: + - **Abort**: Stops method execution and returns to the state before the method started executing: - - Si une méthode formulaire ou méthode objet s'exécute en réponse à un événement, elle est arrêtée et vous revenez au formulaire. - - Si la méthode est exécutée à partir de l'environnement de l'application, vous revenez à cet environnement. + - Si une méthode formulaire ou méthode objet s'exécute en réponse à un événement, elle est arrêtée et vous revenez au formulaire. + - Si la méthode est exécutée à partir de l'environnement de l'application, vous revenez à cet environnement. -- **Copy**: Copies the debugging information into the clipboard. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. + - **Copy**: Copies the debugging information into the clipboard. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. -- **Save...**: Saves the contents of the syntax error window and the call chain in a `.txt` file. + - **Save...**: Saves the contents of the syntax error window and the call chain in a `.txt` file. ## Débogueur From b25a3f40b5b6a4817967f67b1d608b9bc7f649a9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:27 +0200 Subject: [PATCH 059/162] New translations operators.md (Spanish) --- .../current/Concepts/operators.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/operators.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/operators.md index 111a7c8b4391b2..7c378f6c26d239 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/operators.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/operators.md @@ -11,8 +11,8 @@ El lenguaje 4D es compatible con los operadores que ya conoce de otros lenguajes El lenguaje 4D soporta los operadores **binarios** y **ternarios**: -- los operadores binarios operan en dos objetivos (como `2 + 3`) y aparecen entre sus dos objetivos. -- los operadores ternarios operan en tres objetivos. Like C, 4D has only one ternary operator, the [ternary conditional operator](#ternary-operator) (`a ? b : c`). + - los operadores binarios operan en dos objetivos (como `2 + 3`) y aparecen entre sus dos objetivos. + - los operadores ternarios operan en tres objetivos. Like C, 4D has only one ternary operator, the [ternary conditional operator](#ternary-operator) (`a ? b : c`). Los valores que los operadores afectan son los operandos. En la expresión `1 + 2`, el símbolo + es un operador binario y sus dos operandos son los valores 1 y 2. @@ -33,18 +33,18 @@ $col:=New collection //$col se inicializa con una colección vacía Los resultados del operador dependen de los **tipos de datos** a los que se aplican. 4D soporta diferentes operadores en tipos de datos escalares. Se describen con los tipos de datos, en las siguientes secciones: -- [**Operadores lógicos**](dt_boolean.md#logical-operators) (en expresiones **booleanas**) -- [**Operadores de fechas**](dt_date.md#operadores-de-fechas) -- [**Operadores de tiempo**](dt_time.md#time-operators) -- [**Operadores de números**](dt_number.md#number-operators) -- [**Operadores de bits**](dt_number.md#bitwise-operators) (en expresiones de tipo **entero largo**) -- [**Operadores de imágenes**](dt_picture.md#picture-operators) -- [**Operadores de punteros**](dt_pointer.md#pointer-operators) -- [**Operadores de cadenas**](dt_string.md#operadores-de-cadenas) -- [**Operadores en las referencias de objetos**](dt_object.md#object-operators) -- [**Operadores de referencia de colección**](dt_collection.md#collection-operators) -- [**Operadores null**](dt_null_undefined.md#operadores-null) -- [**Operadores Undefined**](dt_null_undefined.md#operadores-undefined) + - [**Operadores lógicos**](dt_boolean.md#logical-operators) (en expresiones **booleanas**) + - [**Operadores de fechas**](dt_date.md#operadores-de-fechas) + - [**Operadores de tiempo**](dt_time.md#time-operators) + - [**Operadores de números**](dt_number.md#number-operators) + - [**Operadores de bits**](dt_number.md#bitwise-operators) (en expresiones de tipo **entero largo**) + - [**Operadores de imágenes**](dt_picture.md#picture-operators) + - [**Operadores de punteros**](dt_pointer.md#pointer-operators) + - [**Operadores de cadenas**](dt_string.md#operadores-de-cadenas) + - [**Operadores en las referencias de objetos**](dt_object.md#object-operators) + - [**Operadores de referencia de colección**](dt_collection.md#collection-operators) + - [**Operadores null**](dt_null_undefined.md#operadores-null) + - [**Operadores Undefined**](dt_null_undefined.md#operadores-undefined) ## Operadores de asignación compuestos @@ -272,9 +272,9 @@ El operador condicional ternario permite escribir expresiones condicionales de u Se necesitan tres operandos en el siguiente orden: -- una condición seguida de un signo de interrogación (?) -- una expresión a ejecutar si la condición es [truthy](#truthy-and-falsy), seguida de dos puntos (:) -- una expresión a ejecutar si la condición es [falsy](#truthy-and-falsy) + - una condición seguida de un signo de interrogación (?) + - una expresión a ejecutar si la condición es [truthy](#truthy-and-falsy), seguida de dos puntos (:) + - una expresión a ejecutar si la condición es [falsy](#truthy-and-falsy) ### Sintaxis @@ -325,21 +325,21 @@ Además de un tipo, cada valor también tiene un valor booleano inherente, conoc Los siguientes valores son **falsy**: -- false -- Null -- indefinido -- Null object -- Null collection -- Null pointer -- Null picture -- Null date !00-00-00! -- "" - Cadenas vacías -- [] - Colecciones vacías -- {} - Objetos vacios + - false + - Null + - indefinido + - Null object + - Null collection + - Null pointer + - Null picture + - Null date !00-00-00! + - "" - Cadenas vacías + - [] - Colecciones vacías + - {} - Objetos vacios Todos los demás valores se consideran **truthy**, incluyendo: -- 0 - cero numérico (Entero u otro) + - 0 - cero numérico (Entero u otro) En 4D, la evaluación **truthy** y **falsy** refleja la **usabilidad** de un valor, lo que significa que un valor truthy existe y puede ser procesado por el código sin generar errores o resultados inesperados. La razón de ser de esto es ofrecer una forma conveniente de manejar valores *undefined* y *null* en objetos y colecciones, de modo que un número reducido de instrucciones [If…Else](flow-control.md#ifelseend-if) sean necesarias para evitar errores de ejecu From d54bae034ca43d0aa94c791c0077eba6cfb387b3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:37 +0200 Subject: [PATCH 060/162] New translations variables.md (Spanish) --- .../current/Concepts/variables.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md index a1cc173febeb9b..6a6f75713e39cc 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md @@ -53,8 +53,8 @@ Esta sintaxis solo soporta declaraciones de [variables locales y de proceso](#lo `varType` puede ser: -- un [tipo básico](Concepts/data-types.md), en cuyo caso la variable contiene un valor del tipo declarado, -- una [referencia de clase](Concepts/classes.md) (clase 4D o clase usuario), en cuyo caso la variable contiene una referencia a un objeto de la clase definida. + - un [tipo básico](Concepts/data-types.md), en cuyo caso la variable contiene un valor del tipo declarado, + - una [referencia de clase](Concepts/classes.md) (clase 4D o clase usuario), en cuyo caso la variable contiene una referencia a un objeto de la clase definida. Si se omite `varType`, se crea una variable de tipo **variant**. @@ -86,7 +86,7 @@ La sintaxis heredada utilizando los comandos `C_XX` es obsoleta a partir de 4D 2 ### Ejemplos -- Para declarar variables básicas locales y de proceso: + - Para declarar variables básicas locales y de proceso: ```4d var $myText; myText; $vt : Text @@ -98,14 +98,14 @@ var $o : 4D.Object //también equivalente a C_OBJECT($o) ``` -- Para declarar las variables objeto de la clase 4D: + - Para declarar las variables objeto de la clase 4D: ```4d var $myFolder : 4D.Folder var $myFile : 4D.File ``` -- Para declarar las variables objeto de la clase usuario: + - Para declarar las variables objeto de la clase usuario: ```4d var $myClass : cs.MyClass @@ -193,9 +193,9 @@ Una variable local, como su nombre indica, es local a un método, accesible sól Es posible que desee utilizar una variable local para: -- Evitar conflictos con los nombres de otras variables -- Utilizar los datos temporalmente -- Reducir el número de variables proceso + - Evitar conflictos con los nombres de otras variables + - Utilizar los datos temporalmente + - Reducir el número de variables proceso El nombre de una variable local siempre comienza por el signo dólar ($) y puede contener hasta 31 caracteres adicionales. Si introduce un nombre más largo, 4D lo trunca a la longitud adecuada. @@ -224,9 +224,9 @@ En modo interpretado, las variables se mantienen dinámicamente; se crean y se b Un proceso puede leer y escribir las variables proceso de otro proceso utilizando los comandos `GET PROCESS VARIABLE` y `SET PROCESS VARIABLE`. Es una buena práctica de programación restringir el uso de estos comandos a la situación para la que fueron creados en 4D: -- Comunicación interprocesos en lugares específicos de su código -- Gestión de arrastrar y soltar interproceso -- En Cliente/Servidor, la comunicación entre los procesos en las máquinas cliente y los procedimientos almacenados ejecutados en las máquinas servidoras + - Comunicación interprocesos en lugares específicos de su código + - Gestión de arrastrar y soltar interproceso + - En Cliente/Servidor, la comunicación entre los procesos en las máquinas cliente y los procedimientos almacenados ejecutados en las máquinas servidoras Para más información, consulte el capítulo **Procesos** y la descripción de estos comandos. From fc93676de7ad5ba48921ee8832dca4fc014634ff Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:39 +0200 Subject: [PATCH 061/162] New translations basics.md (Spanish) --- .../current/Debugging/basics.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/basics.md b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/basics.md index aaf192bd1e0b4e..9ae01abea102b2 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/basics.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/basics.md @@ -33,13 +33,13 @@ Ocasionalmente, puede que no haya suficiente memoria para crear un BLOB. O, cuan Estos son generalmente los tipos de errores más difíciles de encontrar. A excepción de los errores de digitación, todos los tipos de errores listados arriba están cubiertos hasta cierto punto por la expresión "error de diseño o de lógica". Utilice el [depurador ](debugger.md) para detectarlos. Por ejemplo: -- Puede ocurrir un *error de sintaxis* cuando intenta utilizar una variable que aún no está inicializada. -- Puede ocurrir un *error de entorno* cuando intenta abrir un documento, porque el nombre de ese documento es recibido por una subrutina que no obtuvo el valor correcto como parámetro. + - Puede ocurrir un *error de sintaxis* cuando intenta utilizar una variable que aún no está inicializada. + - Puede ocurrir un *error de entorno* cuando intenta abrir un documento, porque el nombre de ese documento es recibido por una subrutina que no obtuvo el valor correcto como parámetro. Los errores de diseño o de lógica también incluyen situaciones como: -- Un registro no está correctamente actualizado porque, mientras se llama a `SAVE RECORD`, se olvidó de la primera prueba de si el registro estaba bloqueado o no. -- Un método no hace exactamente lo que espera, ya que la presencia de un parámetro opcional no está probada. + - Un registro no está correctamente actualizado porque, mientras se llama a `SAVE RECORD`, se olvidó de la primera prueba de si el registro estaba bloqueado o no. + - Un método no hace exactamente lo que espera, ya que la presencia de un parámetro opcional no está probada. A veces el código que muestra el error puede ser diferente al código que en realidad es el origen del problema. @@ -55,8 +55,8 @@ Para encontrar rápidamente el origen del problema, vuelva a abrir la versión i La ventana de error de sintaxis aparece automáticamente cuando se interrumpe la ejecución de un método. Esto puede ocurrir cuando: -- un error impide que el código siga ejecutándose -- el método produce una afirmación falsa (ver el comando `ASSERT`) + - un error impide que el código siga ejecutándose + - el método produce una afirmación falsa (ver el comando `ASSERT`) ![syntax-error](../assets/en/Debugging/syntax-error.png) @@ -64,11 +64,11 @@ El área de texto superior muestra un mensaje describiendo el error. El área de La ventana de error de sintaxis propone varias opciones: -- **Modificar**: detiene la ejecución de todos los métodos. 4D cambia al entorno de Diseño y el método con el error se abre en el editor de Código, permitiéndole corregirlo. Utilice esta opción cuando reconozca inmediatamente el error y pueda arreglarlo sin más investigación. + - **Modificar**: detiene la ejecución de todos los métodos. 4D cambia al entorno de Diseño y el método con el error se abre en el editor de Código, permitiéndole corregirlo. Utilice esta opción cuando reconozca inmediatamente el error y pueda arreglarlo sin más investigación. -- **Rastrear**: entra en modo Rastrear/Depurador. Se muestra la ventana del [Depurador](debugger.md). Si la línea actual solo se ha ejecutado parcialmente, es posible que tenga que hacer clic en el botón **rastrear** varias veces. + - **Rastrear**: entra en modo Rastrear/Depurador. Se muestra la ventana del [Depurador](debugger.md). Si la línea actual solo se ha ejecutado parcialmente, es posible que tenga que hacer clic en el botón **rastrear** varias veces. -- **Continuar**: la ejecución continua. La línea con el error puede ser parcialmente ejecutada, dependiendo de donde se encuentre el error. Continúe con precaución: el error puede impedir que el resto de su método se ejecute correctamente. Recomendamos hacer clic en **Continuar** sólo si el error está en una llamada trivial (como `SET WINDOW TITLE`) que no impide ejecutar y probar el resto de su código. + - **Continuar**: la ejecución continua. La línea con el error puede ser parcialmente ejecutada, dependiendo de donde se encuentre el error. Continúe con precaución: el error puede impedir que el resto de su método se ejecute correctamente. Recomendamos hacer clic en **Continuar** sólo si el error está en una llamada trivial (como `SET WINDOW TITLE`) que no impide ejecutar y probar el resto de su código. :::tip @@ -76,14 +76,14 @@ Para ignorar un error que ocurre repetidamente (por ejemplo, en bucles), puede c ::: -- **Abandonar**: detiene la ejecución del método y devuelve al estado antes del inicio de la ejecución del método: + - **Abandonar**: detiene la ejecución del método y devuelve al estado antes del inicio de la ejecución del método: - - Si un método formulario o método objeto se está ejecutando en respuesta a un evento, se detiene y se vuelve al formulario. - - Si el método se está ejecutando desde dentro del entorno de la aplicación, volverá a ese entorno. + - Si un método formulario o método objeto se está ejecutando en respuesta a un evento, se detiene y se vuelve al formulario. + - Si el método se está ejecutando desde dentro del entorno de la aplicación, volverá a ese entorno. -- **Copiar**: copia la información de depuración en el portapapeles. La información describe el entorno interno del error (número, componente interno, etc.). Está formateado como texto tabulado. + - **Copiar**: copia la información de depuración en el portapapeles. La información describe el entorno interno del error (número, componente interno, etc.). Está formateado como texto tabulado. -- **Guardar...**: guarda el contenido de la ventana de error de sintaxis y la cadena de llamadas en un archivo `.txt`. + - **Guardar...**: guarda el contenido de la ventana de error de sintaxis y la cadena de llamadas en un archivo `.txt`. ## Depurador From f975b89bc376449fb817fdad39f4f023181737b2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:48 +0200 Subject: [PATCH 062/162] New translations operators.md (Japanese) --- .../current/Concepts/operators.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/operators.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/operators.md index 6797c5d2ea76b5..b64738eed44277 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/operators.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/operators.md @@ -11,8 +11,8 @@ title: 演算子 4Dランゲージでは、**二項演算子** および **三項演算子** をサポートしています: -- 二項演算子とは、2つの対象に対して演算をおこない、その 2つの対象の間に表示されます (例: `2+3`)。 -- 三項演算子は 3つの対象に対して演算をおこないます。 C と同様、4D の三項演算子は 1つしかありません: 三項条件演算子 (a ? b : c\`). + - 二項演算子とは、2つの対象に対して演算をおこない、その 2つの対象の間に表示されます (例: `2+3`)。 + - 三項演算子は 3つの対象に対して演算をおこないます。 C と同様、4D の三項演算子は 1つしかありません: 三項条件演算子 (a ? b : c\`). 演算子が影響を与える対象はオペランド (被演算子) と呼ばれます。 `1 + 2` という式では、+ 記号は二項演算子であり、その 2つのオペランドは値 1 と 2 です。 @@ -33,18 +33,18 @@ $col:=New collection // $col を空のコレクションで初期化します 演算の結果は、オペランドの **データ型** に依存します。4D はスカラーデータ型に対して様々な演算子をサポートしています。 詳細は、各データ型の項にて説明されています: -- [**論理演算子**](dt_boolean.md#論理演算子) (**ブール** 式に使用) -- [**日付演算子**](dt_date.md#日付演算子) -- [**時間演算子**](dt_time.md#時間演算子) -- [**数値演算子**](dt_number.md#数値演算子) -- [**ビットワイズ演算子**](dt_number.md#ビットワイズ演算子) (**倍長整数** 式に使用) -- [**ピクチャー演算子**](dt_picture.md#ピクチャー演算子) -- [**ポインター演算子**](dt_pointer.md#ポインター演算子) -- [**文字列演算子**](dt_string.md#文字列演算子) -- [**オブジェクト参照演算子**](dt_object.md#オブジェクト演算子) -- [**コレクション参照演算子**](dt_collection.md#コレクション演算子) -- [**Null 演算子**](dt_null_undefined.md#null-演算子) -- [**未定義演算子**](dt_null_undefined.md#未定義演算子) + - [**論理演算子**](dt_boolean.md#論理演算子) (**ブール** 式に使用) + - [**日付演算子**](dt_date.md#日付演算子) + - [**時間演算子**](dt_time.md#時間演算子) + - [**数値演算子**](dt_number.md#数値演算子) + - [**ビットワイズ演算子**](dt_number.md#ビットワイズ演算子) (**倍長整数** 式に使用) + - [**ピクチャー演算子**](dt_picture.md#ピクチャー演算子) + - [**ポインター演算子**](dt_pointer.md#ポインター演算子) + - [**文字列演算子**](dt_string.md#文字列演算子) + - [**オブジェクト参照演算子**](dt_object.md#オブジェクト演算子) + - [**コレクション参照演算子**](dt_collection.md#コレクション演算子) + - [**Null 演算子**](dt_null_undefined.md#null-演算子) + - [**未定義演算子**](dt_null_undefined.md#未定義演算子) ## 複合代入演算子 @@ -272,9 +272,9 @@ $name:=$person.maidenName || $person.name 三項演算子は 3つのオペランドを次の順序で受け取ります: -- 条件とクエスチョンマーク (?) -- 条件が [truthy](#truthy-と-falsy) である場合に実行される式、その後にコロン (:) -- 条件が [falsy](#truthy-と-falsy) の場合に実行される式 + - 条件とクエスチョンマーク (?) + - 条件が [truthy](#truthy-と-falsy) である場合に実行される式、その後にコロン (:) + - 条件が [falsy](#truthy-と-falsy) の場合に実行される式 ### シンタックス @@ -325,21 +325,21 @@ $fullname:=($person.firstname && $person.lastname) ? ($person.firstname+" "+$per 以下の値は **falsy** です: -- false -- Null -- undefined -- Null オブジェクト -- Null コレクション -- Null ポインター -- Null ピクチャー -- Null 日付 !00-00-00! -- "" - 空の文字列 -- [] - 空のコレクション -- {} - 空のオブジェクト + - false + - Null + - undefined + - Null オブジェクト + - Null コレクション + - Null ポインター + - Null ピクチャー + - Null 日付 !00-00-00! + - "" - 空の文字列 + - [] - 空のコレクション + - {} - 空のオブジェクト 上記以外の値はすべて **truthy** と評価されます。次の値も truthy です: -- 0 - 数値のゼロ (整数かどうかを問わず) + - 0 - 数値のゼロ (整数かどうかを問わず) 4Dでは、**truthy** と **falsy** の評価は値の **使用性** を反映します。つまり、truthy な値は存在し、エラーや予期せぬ結果を発生させずにコードによって処理できることを意味します。 その目的は、オブジェクトやコレクションにおける *undefined* や *null* 値を扱うための便利な方法を提供し、実行時エラーを回避するのに必要な [If...Else](flow-control.md#ifelseend-if) 文の数を少なくすることにあります。 From 38b2af69805c17521dbfe7f55546fbf7a57e92fe Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:57 +0200 Subject: [PATCH 063/162] New translations variables.md (Japanese) --- .../current/Concepts/variables.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md index bf38f56c24bd72..c5099654e05cd7 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md @@ -54,8 +54,8 @@ var $myVar // バリアント型変数 `varType` には次が指定できます: -- [基本のデータ型](Concepts/data-types.md): 変数には、宣言された型の値が格納されます -- [クラス参照](Concepts/classes.md) (4Dクラスまたはユーザークラス): 変数には、定義されたクラスのオブジェクトへの参照が格納されます + - [基本のデータ型](Concepts/data-types.md): 変数には、宣言された型の値が格納されます + - [クラス参照](Concepts/classes.md) (4Dクラスまたはユーザークラス): 変数には、定義されたクラスのオブジェクトへの参照が格納されます `varType` を省略すると、**variant** 型の変数が作成されます。 @@ -87,7 +87,7 @@ var $myVar // バリアント型変数 ### 例題 -- 基本のデータ型の、ローカル変数およびプロセス変数の宣言: + - 基本のデータ型の、ローカル変数およびプロセス変数の宣言: ```4d var $myText; myText; $vt : Text @@ -99,14 +99,14 @@ var $o : 4D.Object // C_OBJECT($o) とも同義です ``` -- 4Dクラス型のオブジェクト変数の宣言: + - 4Dクラス型のオブジェクト変数の宣言: ```4d var $myFolder : 4D.Folder var $myFile : 4D.File ``` -- ユーザークラス型のオブジェクト変数の宣言: + - ユーザークラス型のオブジェクト変数の宣言: ```4d var $myClass : cs.MyClass @@ -194,9 +194,9 @@ MyNumber:=3 ローカル変数は、以下のような目的のために使用されます: -- 他の変数名との重複を避ける。 -- データを一時的に使用する。 -- プロセス変数の数を減らす。 + - 他の変数名との重複を避ける。 + - データを一時的に使用する。 + - プロセス変数の数を減らす。 ローカル変数の名前は必ずドル記号 ($) で始め、この記号を除く31文字までの文字を指定できます。 これより長い名前を指定すると、4D は余分の32文字以降を切り捨てます。 @@ -225,9 +225,9 @@ MyNumber:=3 `GET PROCESS VARIABLE` や `SET PROCESS VARIABLE` を使用して、あるプロセスから他のプロセスのプロセス変数の値を取得したり、設定したりできます。 これらのコマンドの利用は、以下のような状況に限定することが、良いプログラミングの作法です: -- コード内の特定の箇所におけるプロセス間通信 -- プロセス間のドラッグ&ドロップ処理 -- クライアント/サーバーにおいて、クライアントマシン上のプロセスとサーバーマシン上のストアドプロシージャー間の通信 + - コード内の特定の箇所におけるプロセス間通信 + - プロセス間のドラッグ&ドロップ処理 + - クライアント/サーバーにおいて、クライアントマシン上のプロセスとサーバーマシン上のストアドプロシージャー間の通信 詳細については **プロセス** の章と、各コマンドの説明を参照ください。 From 0f5133dc5f89e4abb0afc9144e0e387fca684a41 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:48:58 +0200 Subject: [PATCH 064/162] New translations basics.md (Japanese) --- .../current/Debugging/basics.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/basics.md b/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/basics.md index b465b8dd3da47a..9500d212469b2e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/basics.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/basics.md @@ -33,13 +33,13 @@ title: デバッガー 一般に、これらは発見が最も難しいタイプのエラーです。 これまでに説明しているエラーは、タイプミスを除いて、"設計またはロジックのエラー" という範疇に該当します。 これらを検知するには、[デバッガー](debugger.md) を使用します。 例: -- まだ初期化されていない変数を用いようとしたため、*シンタックスエラー* が発生する場合があります。 -- 間違った引数を受け取ったサブルーチンが、その間違った名前によりドキュメントを開こうとしたため、*環境エラー* が発生している場合があります。 + - まだ初期化されていない変数を用いようとしたため、*シンタックスエラー* が発生する場合があります。 + - 間違った引数を受け取ったサブルーチンが、その間違った名前によりドキュメントを開こうとしたため、*環境エラー* が発生している場合があります。 設計またはロジックのエラーには、次のような場合もあります: -- `SAVE RECORD` コマンドを呼び出す際に、対象となるレコードがロックされているかどうかを最初にテストしなかったために、レコードが正しく更新されない。 -- オプション引数を追加した状態がテストされていないため、メソッドが想定通りに動作しない。 + - `SAVE RECORD` コマンドを呼び出す際に、対象となるレコードがロックされているかどうかを最初にテストしなかったために、レコードが正しく更新されない。 + - オプション引数を追加した状態がテストされていないため、メソッドが想定通りに動作しない。 場合によって問題の原因は、実際に中断が発生しているコード部分ではなく、外部にあることもあります。 @@ -55,8 +55,8 @@ title: デバッガー メソッドの実行が停止されるとシンタックスエラーウィンドウが表示されます。 これは以下の理由で起こります: -- 以降のメソッド実行を妨げるエラーが発生した。 -- メソッドが False の表明を生成した (`ASSERT` コマンド参照)。 + - 以降のメソッド実行を妨げるエラーが発生した。 + - メソッドが False の表明を生成した (`ASSERT` コマンド参照)。 ![syntax-error](../assets/en/Debugging/syntax-error.png) @@ -64,11 +64,11 @@ title: デバッガー シンタックスエラーウィンドウにはいくつかのオプションが用意されています: -- **編集**: すべてのメソッド実行が中断されます。 4D はデザインモードに切り替わり、エラーが発生したメソッドがコードエディターで表示され、エラーを修正することができます。 原因に心当たりがあり、これ以上調査しなくても修正できる場合にこのオプションを使用します。 + - **編集**: すべてのメソッド実行が中断されます。 4D はデザインモードに切り替わり、エラーが発生したメソッドがコードエディターで表示され、エラーを修正することができます。 原因に心当たりがあり、これ以上調査しなくても修正できる場合にこのオプションを使用します。 -- **トレース**: トレース/デバッガーモードに入ります。 [デバッガー](debugger.md) ウィンドウが表示されます。 該当行の一部が未実行の場合には、**トレース** ボタンを数回クリックする必要があるかもしれません。 + - **トレース**: トレース/デバッガーモードに入ります。 [デバッガー](debugger.md) ウィンドウが表示されます。 該当行の一部が未実行の場合には、**トレース** ボタンを数回クリックする必要があるかもしれません。 -- **続ける**: 実行が継続されます。 エラーが発生した行は、エラーの位置によっては一部のみ実行済みである場合があります。 慎重に実行を継続してください: エラーが原因で、メソッドの残り部分が正常に実行できない場合があります。 `SET WINDOW TITLE` のように、コードの残りの部分の実行やテストの妨げにならない単純な呼び出しでエラーが発生している場合にのみ、**続ける** ボタンをクリックすることを推奨します。 + - **続ける**: 実行が継続されます。 エラーが発生した行は、エラーの位置によっては一部のみ実行済みである場合があります。 慎重に実行を継続してください: エラーが原因で、メソッドの残り部分が正常に実行できない場合があります。 `SET WINDOW TITLE` のように、コードの残りの部分の実行やテストの妨げにならない単純な呼び出しでエラーが発生している場合にのみ、**続ける** ボタンをクリックすることを推奨します。 :::tip @@ -76,14 +76,14 @@ title: デバッガー ::: -- **閉じる**: メソッドが中断され、メソッドの実行を開始する前の状態に戻ります: + - **閉じる**: メソッドが中断され、メソッドの実行を開始する前の状態に戻ります: - - イベントに対してフォームメソッドまたはオブジェクトメソッドが実行されている場合には、これらは停止され、フォームに戻ります。 - - メソッドがアプリケーションモードから実行されている場合には、このモードに戻ります。 + - イベントに対してフォームメソッドまたはオブジェクトメソッドが実行されている場合には、これらは停止され、フォームに戻ります。 + - メソッドがアプリケーションモードから実行されている場合には、このモードに戻ります。 -- **コピー**: デバッグ情報をクリップボードにコピーします。 この情報はエラーの内部環境 (番号や内部コンポーネント等) を説明します。 情報はタブ区切り形式で記述されます。 + - **コピー**: デバッグ情報をクリップボードにコピーします。 この情報はエラーの内部環境 (番号や内部コンポーネント等) を説明します。 情報はタブ区切り形式で記述されます。 -- **保存...**: シンタックスエラーウィンドウの内容とコールチェーンを `.txt` ファイルに保存します。 + - **保存...**: シンタックスエラーウィンドウの内容とコールチェーンを `.txt` ファイルに保存します。 ## デバッガー From 63765e60e3f8b8077b6152462925600648e6ee07 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:07 +0200 Subject: [PATCH 065/162] New translations operators.md (Portuguese, Brazilian) --- .../current/Concepts/operators.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md index 5dbb7ed4bddc3f..76c18a41d5c4ea 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md @@ -11,8 +11,8 @@ A linguagem 4D suporta os operadores que talvez já conheça de outras linguagen A linguagem 4D suporta operadores **binários** e **ternários**: -- Os operadores binários operam em dois alvos (como `2 + 3`) e aparecem entre seus dois alvos. -- os operadores ternários operam em três objectivos. Como o C, o 4D tem apenas um operador ternário, o [operador condicional ternário](#ternary-operator) (`a ? b : c`). + - Os operadores binários operam em dois alvos (como `2 + 3`) e aparecem entre seus dois alvos. + - os operadores ternários operam em três objectivos. Como o C, o 4D tem apenas um operador ternário, o [operador condicional ternário](#ternary-operator) (`a ? b : c`). Os valores que os operadores afectam são os operandos. Na expressão `1 + 2`, o símbolo + é um operador binário e seus dois operandos são os valores 1 e 2. @@ -33,18 +33,18 @@ $col:=New collection //$col é inicializado com uma coleção vazia Os resultados do operador dependem dos **tipos de dados** aos quais são aplicados. 4D suporta diferentes operadores em tipos de dados escalares. São descritos com os tipos de dados, nas secções seguintes: -- [**Operadores lógicos**](dt_boolean.md#logical-operators) (em expressões **booleanas**) -- [**Operadores de data**](dt_date.md#operadores-de-data) -- [**Operadores de tempo**](dt_time.md#operadores-de-tempo) -- [**Operadores de números**](dt_number.md#number-operators) -- [\*\*Operadores Bitwise \*\*](dt_number.md#bitwise-operators) (em \*\*expressões inteiras longas) -- [**Operadores em imagens**](dt_picture.md#operadores-em-imagens) -- [**Operadores em ponteiros**](dt_pointer.md#operadores-em-ponteiros) -- [**Operadores de string**](dt_string.md#string-operators) -- [**Operadores nas referências de objetos**](dt_object.md#object-operators) -- [**Operadores de referência de coleção**](dt_collection.md#collection-operators) -- [**Operadores null**](dt_null_undefined.md#operadores-null) -- [**Operadores indefinidos**](dt_null_undefined.md#undefined-operators) + - [**Operadores lógicos**](dt_boolean.md#logical-operators) (em expressões **booleanas**) + - [**Operadores de data**](dt_date.md#operadores-de-data) + - [**Operadores de tempo**](dt_time.md#operadores-de-tempo) + - [**Operadores de números**](dt_number.md#number-operators) + - [\*\*Operadores Bitwise \*\*](dt_number.md#bitwise-operators) (em \*\*expressões inteiras longas) + - [**Operadores em imagens**](dt_picture.md#operadores-em-imagens) + - [**Operadores em ponteiros**](dt_pointer.md#operadores-em-ponteiros) + - [**Operadores de string**](dt_string.md#string-operators) + - [**Operadores nas referências de objetos**](dt_object.md#object-operators) + - [**Operadores de referência de coleção**](dt_collection.md#collection-operators) + - [**Operadores null**](dt_null_undefined.md#operadores-null) + - [**Operadores indefinidos**](dt_null_undefined.md#undefined-operators) ## Operadores de atribuição compostos @@ -272,9 +272,9 @@ O operador condicional ternário permite-lhe escrever expressões condicionais d Aceita três operandos na seguinte ordem: -- uma condição seguida de um ponto de interrogação (?) -- uma expressão a ser executada se a condição for [truthy](#truthy-and-falsy), seguido por dois pontos (:) -- uma expressão a ser executada se a condição for [falsy](#truthy-and-falsy) + - uma condição seguida de um ponto de interrogação (?) + - uma expressão a ser executada se a condição for [truthy](#truthy-and-falsy), seguido por dois pontos (:) + - uma expressão a ser executada se a condição for [falsy](#truthy-and-falsy) ### Sintaxe @@ -325,21 +325,21 @@ Para além de um tipo, cada valor tem também um valor booliano inerente, geralm Os seguintes valores são falsy\*\*: -- false -- Null -- indefinido -- Null object -- Null collection -- Null pointer -- Null picture -- Null date !00-00-00! -- "" - Empty strings -- [] - Colecções vazias -- {} - Objectos vazios + - false + - Null + - indefinido + - Null object + - Null collection + - Null pointer + - Null picture + - Null date !00-00-00! + - "" - Empty strings + - [] - Colecções vazias + - {} - Objectos vazios Todos os outros valores são considerados **verdadeiros**, inclusive: -- 0 - zero numérico (inteiro ou não) + - 0 - zero numérico (inteiro ou não) Em 4D, a avaliação **verdadeira** e **falsa** reflete a **utilização** de um valor, o que significa que um valor verdadeiro existe e pode ser processado pelo código sem gerar erros ou resultados inesperados. A lógica por trás disso é fornecer uma maneira conveniente de lidar com valores *undefined* e *null* em objetos e coleções, de modo que um número reduzido de instruções [If…Else](flow-control.md#ifelseend-if) seja necessário para evitar erros de tempo de execução. From 0d1524cb57a3b55bb2da3ebad8fb6fa09a1abc02 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:17 +0200 Subject: [PATCH 066/162] New translations variables.md (Portuguese, Brazilian) --- .../current/Concepts/variables.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md index 9ffc9beea3d801..af79891afd9132 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md @@ -53,8 +53,8 @@ Essa sintaxe só é compatível com declarações de [variáveis locais e de pro `varType` pode ser: -- um [tipo básico](Concepts/data-types.md), caso em que a variável contém um valor do tipo declarado, -- uma [referência de classe](Concepts/classes.md) (classe 4D ou classe de usuário), caso em que a variável contém uma referência a um objeto da classe definida. + - um [tipo básico](Concepts/data-types.md), caso em que a variável contém um valor do tipo declarado, + - uma [referência de classe](Concepts/classes.md) (classe 4D ou classe de usuário), caso em que a variável contém uma referência a um objeto da classe definida. Se `varType` for omitido, será criada uma variável do tipo **variant**. @@ -86,7 +86,7 @@ A sintaxe legada usando comandos `C_XXX` está obsoleta a partir de 4D 20 R7. ### Exemplos -- Para declarar variáveis básicas locais e de processo: + - Para declarar variáveis básicas locais e de processo: ```4d var $myText; myText; $vt : Text @@ -98,14 +98,14 @@ var $o : 4D. Object //also equivalent to C_OBJECT($o) ``` -- Para declarar variáveis objeto da classe 4D: + - Para declarar variáveis objeto da classe 4D: ```4d var $myFolder : 4D. Folder var $myFile : 4D. File ``` -- Para declarar as variáveis objeto da classe usuário: + - Para declarar as variáveis objeto da classe usuário: ```4d var $myClass : cs. MyClass @@ -193,9 +193,9 @@ Uma variável local é, como o seu nome indica, local para um método - apenas a Poderá querer utilizar uma variável local para: -- Evitar conflitos com os nomes de outras variáveis -- Utilizar dados temporariamente -- Reduzir o número de variáveis do processo + - Evitar conflitos com os nomes de outras variáveis + - Utilizar dados temporariamente + - Reduzir o número de variáveis do processo O nome de uma variável local começa sempre com um sinal de dólar ($) e pode conter até 31 caracteres adicionais. Se introduzir um nome mais longo, 4D trunca o nome com o comprimento apropriado. @@ -224,9 +224,9 @@ No modo interpretado, as variáveis são mantidas dinamicamente; são criadas e Um processo pode "espiar e cutucar" as variáveis de processo de outro processo usando os comandos `GET PROCESS VARIABLE` e `SET PROCESS VARIABLE`. É boa prática de programação restringir a utilização destes comandos à situação para a qual foram adicionados à 4D: -- Comunicação interprocessada em locais específicos ou o seu código -- Gestão de arrastar e soltar entre processos -- Em Cliente/Servidor, comunicação entre os processos nas máquinas do cliente e os procedimentos armazenados a correr nas máquinas do servidor + - Comunicação interprocessada em locais específicos ou o seu código + - Gestão de arrastar e soltar entre processos + - Em Cliente/Servidor, comunicação entre os processos nas máquinas do cliente e os procedimentos armazenados a correr nas máquinas do servidor Para obter mais informações, consulte o capítulo **Processos** e a descrição desses comandos. From 2736cac5d23539c523163cbb808dc60ed5bb3327 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:19 +0200 Subject: [PATCH 067/162] New translations basics.md (Portuguese, Brazilian) --- .../current/Debugging/basics.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/basics.md b/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/basics.md index ccea6a004dbf48..b9adc187e15af2 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/basics.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/basics.md @@ -33,13 +33,13 @@ Ocasionalmente, pode não haver memória suficiente para criar um BLOB. Ou, quan Estes são geralmente o tipo de erro mais difícil de encontrar. Com exceção dos erros de digitação, todos os tipos de erros acima enumerados são, em certa medida, abrangidos pela expressão "erro de conceção ou de lógica". Utilice el [depurador ](debugger.md) para detectarlos. Por exemplo: -- Puede ocurrir un *error de sintaxis* cuando intenta utilizar una variable que aún no está inicializada. -- Puede ocurrir un *error de entorno* cuando intenta abrir un documento, porque el nombre de ese documento es recibido por una subrutina que no obtuvo el valor correcto como parámetro. + - Puede ocurrir un *error de sintaxis* cuando intenta utilizar una variable que aún no está inicializada. + - Puede ocurrir un *error de entorno* cuando intenta abrir un documento, porque el nombre de ese documento es recibido por una subrutina que no obtuvo el valor correcto como parámetro. Os erros de concepção ou lógicos incluem também situações como: -- Un registro no está correctamente actualizado porque, mientras se llama a `SAVE RECORD`, se olvidó de la primera prueba de si el registro estaba bloqueado o no. -- Um método não faz exatamente o que se espera, porque a presença de um parâmetro opcional não é testada. + - Un registro no está correctamente actualizado porque, mientras se llama a `SAVE RECORD`, se olvidó de la primera prueba de si el registro estaba bloqueado o no. + - Um método não faz exatamente o que se espera, porque a presença de um parâmetro opcional não é testada. Por vezes, a parte do código que apresenta o erro pode ser diferente do código que está efetivamente na origem do problema. @@ -55,8 +55,8 @@ Para encontrar rapidamente a origem do problema, reabrir a versão interpretada A janela erro de sintaxe aparece automaticamente quando a execução de um método é interrompida. Isto pode acontecer quando: -- um erro impede a continuação da execução do código -- el método produce una afirmación falsa (ver el comando `ASSERT`) + - um erro impede a continuação da execução do código + - el método produce una afirmación falsa (ver el comando `ASSERT`) ![syntax-error](../assets/en/Debugging/syntax-error.png) @@ -64,11 +64,11 @@ A área de texto superior apresenta uma mensagem que descreve o erro. A área de A janela de erro de sintaxe propõe várias opções: -- **Modificar**: detiene la ejecución de todos los métodos. 4D muda para o ambiente de Design e o método com o erro é aberto no Editor de Código, permitindo sua correção. Utilize esta opção quando reconhecer imediatamente o erro e puder corrigi-lo sem mais investigações. + - **Modificar**: detiene la ejecución de todos los métodos. 4D muda para o ambiente de Design e o método com o erro é aberto no Editor de Código, permitindo sua correção. Utilize esta opção quando reconhecer imediatamente o erro e puder corrigi-lo sem mais investigações. -- **Rastrear**: entra en modo Rastrear/Depurador. Se muestra la ventana del [Depurador](debugger.md). Si la línea actual solo se ha ejecutado parcialmente, es posible que tenga que hacer clic en el botón **rastrear** varias veces. + - **Rastrear**: entra en modo Rastrear/Depurador. Se muestra la ventana del [Depurador](debugger.md). Si la línea actual solo se ha ejecutado parcialmente, es posible que tenga que hacer clic en el botón **rastrear** varias veces. -- **Continuar**: la ejecución continua. A linha com o erro pode ser parcialmente executada, dependendo da localização do erro. Continue com cuidado: o erro pode impedir que o resto do seu método seja executado corretamente. Recomendamos hacer clic en **Continuar** sólo si el error está en una llamada trivial (como `SET WINDOW TITLE`) que no impide ejecutar y probar el resto de su código. + - **Continuar**: la ejecución continua. A linha com o erro pode ser parcialmente executada, dependendo da localização do erro. Continue com cuidado: o erro pode impedir que o resto do seu método seja executado corretamente. Recomendamos hacer clic en **Continuar** sólo si el error está en una llamada trivial (como `SET WINDOW TITLE`) que no impide ejecutar y probar el resto de su código. :::tip @@ -76,14 +76,14 @@ Para ignorar um erro que ocorre repetidamente (por exemplo, em loops), você pod ::: -- **Abortar**: Interrompe a execução do método e retorna ao estado antes do método começar a executar: + - **Abortar**: Interrompe a execução do método e retorna ao estado antes do método começar a executar: - - Se um método formulário ou um método objeto estiver a ser executado em resposta a um evento, é interrompido e o usuário regressa ao formulário. - - Se o método estiver sendo executado a partir do ambiente Application, o usuário regressa a esse ambiente. + - Se um método formulário ou um método objeto estiver a ser executado em resposta a um evento, é interrompido e o usuário regressa ao formulário. + - Se o método estiver sendo executado a partir do ambiente Application, o usuário regressa a esse ambiente. -- **Copiar**: copia as informações de depuração na área de transferência. A informação descreve o ambiente interno do erro (número, componente interno, etc.). Eles são formatados como texto tabulado. + - **Copiar**: copia as informações de depuração na área de transferência. A informação descreve o ambiente interno do erro (número, componente interno, etc.). Eles são formatados como texto tabulado. -- **Salvar...**: Salva o conteúdo da janela de erro de sintaxe e a cadeia de chamadas em um arquivo `.txt`. + - **Salvar...**: Salva o conteúdo da janela de erro de sintaxe e a cadeia de chamadas em um arquivo `.txt`. ## Depurador From e266da6f0167fd2882cb0157cd21f54f5bb8e568 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:24 +0200 Subject: [PATCH 068/162] New translations debugger.md (French) --- .../current/Debugging/debugger.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md index 298a896a6be5fb..98f15865dd0b2b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md @@ -158,27 +158,27 @@ $c:=a+b 1. Une fenêtre de débogage s'ouvre avec le compteur de programme défini à la ligne avec `a:=1`. À ce stade, le thème **Objets courants** affiche : - | $a | Undefined | - | -- | --------- | + | $a | Undefined | + | -- | --------- | - La variable `$a` n'est pas encore initialisée, mais elle est affichée parce qu'elle est utilisée dans la ligne à exécuter. + La variable `$a` n'est pas encore initialisée, mais elle est affichée parce qu'elle est utilisée dans la ligne à exécuter. 2. Vous cliquez sur le bouton **Exécuter pas à pas**. Le compteur du programme est maintenant défini sur la ligne `b:=a+1`. À ce stade, le thème **Objets courants** affiche : - | $a | 1 | - | -- | --------- | - | $b | Undefined | + | $a | 1 | + | -- | --------- | + | $b | Undefined | - La valeur de la variable `$a` est maintenant 1. La variable `$b` n'est pas encore initialisée, mais elle est affichée parce qu'elle est utilisée dans la ligne à exécuter. + La valeur de la variable `$a` est maintenant 1. La variable `$b` n'est pas encore initialisée, mais elle est affichée parce qu'elle est utilisée dans la ligne à exécuter. 3. Vous cliquez à nouveau sur le bouton **Exécuter pas à pas**. Le compteur de programme est maintenant placé sur la ligne avec $c:=a+b. Le thème **Objets courants** affiche : - | $c | Undefined | - | -- | --------- | - | $a | 1 | - | $b | 2 | + | $c | Undefined | + | -- | --------- | + | $a | 1 | + | $b | 2 | - La valeur de la variable `$b` est maintenant 2. La variable `$c` n'est pas encore initialisée, mais elle est affichée parce qu'elle est utilisée dans la ligne à exécuter. + La valeur de la variable `$b` est maintenant 2. La variable `$c` n'est pas encore initialisée, mais elle est affichée parce qu'elle est utilisée dans la ligne à exécuter. #### Variables @@ -416,9 +416,9 @@ Vous pouvez copier n'importe quelle expression sélectionnée depuis la fenêtre 1. Dans le volet Code Source, sélectionnez l'expression à évaluer 2. Effectuez l'une des opérations suivantes : - - Glissez et déposez le texte sélectionné dans la zone d'expression - - Appuyez sur **Ctrl+D** (Windows) ou **Cmd+D** (macOS) - - Cliquez avec le bouton droit sur le texte sélectionné **>** **Copier dans la fenêtre d'expression** + - Glissez et déposez le texte sélectionné dans la zone d'expression + - Appuyez sur **Ctrl+D** (Windows) ou **Cmd+D** (macOS) + - Cliquez avec le bouton droit sur le texte sélectionné **>** **Copier dans la fenêtre d'expression** ### Compteur de programme From 53fdf357b6b253c3b335fcae022207e19ba2c215 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:29 +0200 Subject: [PATCH 069/162] New translations building.md (French) --- .../current/Desktop/building.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/building.md b/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/building.md index 5054a48588626b..e7e8862d29f851 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/building.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/building.md @@ -726,8 +726,8 @@ La gestion des connexions des applications clientes recouvre les mécanismes par Le processus de connexion des applications clientes fusionnées prend en charge les cas où le serveur dédié n'est pas disponible. Le scénario du démarrage d'une application cliente 4D est le suivant : 1. Si des informations de connexion valides sont stockées dans le fichier "EnginedServer.4DLink" à l'intérieur de l'application cliente, l'application cliente se connecte à l'adresse du serveur spécifiée.\ - OR\ - L'application cliente tente de se connecter au serveur en utilisant le service de découverte (basé sur le nom du serveur, diffusé sur le même sous-réseau). + OR\ + L'application cliente tente de se connecter au serveur en utilisant le service de découverte (basé sur le nom du serveur, diffusé sur le même sous-réseau). 2. En cas d'échec, l'application cliente tente de se connecter au serveur à l'aide des informations présentes dans le dossier de préférences utilisateur de l'application (fichier "lastServer.xml", cf. dernière étape). From c3f6651011ee7d7a549d5486015b10dcf7ce9fbf Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:31 +0200 Subject: [PATCH 070/162] New translations clientserver.md (French) --- .../current/Desktop/clientServer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/clientServer.md index 815686d650137b..b6fd1853e81923 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/clientServer.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/clientServer.md @@ -29,8 +29,8 @@ La première fois que vous vous connectez à un projet 4D Server via un 4D dista Pour vous connecter à distance à un projet 4D Server : 1. Effectuez l'une des opérations suivantes : - - Sélectionnez **Se connecter à 4D Server** dans la boîte de dialogue de l'Assistant de bienvenue - - Sélectionnez **Ouvrir > Projet distant...** à partir du menu **Fichier** ou du bouton **Ouvrir** de la barre d'outils. + - Sélectionnez **Se connecter à 4D Server** dans la boîte de dialogue de l'Assistant de bienvenue + - Sélectionnez **Ouvrir > Projet distant...** à partir du menu **Fichier** ou du bouton **Ouvrir** de la barre d'outils. La boîte de dialogue de connexion à 4D Server apparaît. Cette boîte de dialogue comporte trois onglets : **Récent**, **Disponible** et **Personnalisé**. From 6a02defc0450c7eb930e2d361105e163fd25c515 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:41 +0200 Subject: [PATCH 071/162] New translations onafteredit.md (French) --- .../current/Events/onAfterEdit.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md index 3f1b6436ef1e91..2dbedc9655644c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md @@ -15,10 +15,10 @@ Cet événement peut être utilisé pour filtrer la saisie de données dans les Lorsqu'il est utilisé, cet événement est généré après chaque modification apportée au contenu d'un objet saisissable, quelle que soit l'action qui a provoqué la modification, c'est-à-dire : -- Actions d'édition standard qui modifient le contenu comme les actions coller, couper, supprimer ou annuler; -- Déposer une valeur (action similaire à coller); -- Toute saisie au clavier effectuée par l'utilisateur ; dans ce cas, l'événement `On After Edit` est généré après les événements [`On Before Keystroke`](onBeforeKeystroke.md) et [`On After Keystroke`](onAfterKeystroke.md), s'ils sont utilisés. -- Toute modification apportée à l'aide d'une commande de langage qui simule une action de l'utilisateur (c'est-à-dire `POST KEY`). + - Actions d'édition standard qui modifient le contenu comme les actions coller, couper, supprimer ou annuler; + - Déposer une valeur (action similaire à coller); + - Toute saisie au clavier effectuée par l'utilisateur ; dans ce cas, l'événement `On After Edit` est généré après les événements [`On Before Keystroke`](onBeforeKeystroke.md) et [`On After Keystroke`](onAfterKeystroke.md), s'ils sont utilisés. + - Toute modification apportée à l'aide d'une commande de langage qui simule une action de l'utilisateur (c'est-à-dire `POST KEY`). Dans l'événement `On After Edit`, les données texte saisies sont retournées par la commande [`Get edited text`](../commands-legacy/get-edited-text.md). From edc0547eafe1ef897326622a6ef9aa2fc1c58a7e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:48 +0200 Subject: [PATCH 072/162] New translations debugger.md (Spanish) --- .../current/Debugging/debugger.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md index 19aa990dfa97c3..c6538913e95b64 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md @@ -158,27 +158,27 @@ $c:=a+b 1. Se abre una ventana Depurador con el contador del programa fijado en la línea con `a:=1`. En este punto aparece el tema **Objetos Línea**: - | $a | Indefinido | - | -- | ---------- | + | $a | Indefinido | + | -- | ---------- | - La variable `$a` aún no está inicializada, pero se muestra porque se utiliza en la línea que se va a ejecutar. + La variable `$a` aún no está inicializada, pero se muestra porque se utiliza en la línea que se va a ejecutar. 2. Haga clic en el botón **Step Over**. El contador del programa se pone ahora en la línea `b:=a+1`. En este punto, aparece el tema **Objetos Línea**: - | $a | 1 | - | -- | ---------- | - | $b | Indefinido | + | $a | 1 | + | -- | ---------- | + | $b | Indefinido | - El valor de la variable `$a` es ahora 1. La variable `$b` aún no está inicializada, pero se muestra porque se utiliza en la línea que se va a ejecutar. + El valor de la variable `$a` es ahora 1. La variable `$b` aún no está inicializada, pero se muestra porque se utiliza en la línea que se va a ejecutar. 3. Haga clic en el botón **Step Over** nuevamente. El contador del programa ahora está en la línea con $c:=a+b. aparece el tema **Objetos en línea**: - | $c | Indefinido | - | -- | ---------- | - | $a | 1 | - | $b | 2 | + | $c | Indefinido | + | -- | ---------- | + | $a | 1 | + | $b | 2 | - El valor de la variable `$b` es ahora 2. La variable `$c` aún no está inicializada, pero se muestra porque se utiliza en la línea que se va a ejecutar. + El valor de la variable `$b` es ahora 2. La variable `$c` aún no está inicializada, pero se muestra porque se utiliza en la línea que se va a ejecutar. #### Variables @@ -416,9 +416,9 @@ Puede copiar toda expresión seleccionada del panel de código fuente en el [Cus 1. En el panel de código fuente, seleccione la expresión a evaluar 2. Haga una de las siguientes cosas: - - Arrastre y suelte el texto seleccionado en el área Expresión del panel de expresión personalizado - - Presione **Ctrl+D** (Windows) o **Cmd+D** (macOS) - - Haga clic con el botón derecho en el texto seleccionado **>** **Copiar al panel de expresiones** + - Arrastre y suelte el texto seleccionado en el área Expresión del panel de expresión personalizado + - Presione **Ctrl+D** (Windows) o **Cmd+D** (macOS) + - Haga clic con el botón derecho en el texto seleccionado **>** **Copiar al panel de expresiones** ### Contador del programa From becdd936499fd9e95270a5dcb144f6664dd31974 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:52 +0200 Subject: [PATCH 073/162] New translations building.md (Spanish) --- .../current/Desktop/building.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md index 060cf39f3c1550..d047b12a2c839b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/building.md @@ -726,12 +726,12 @@ La gestión de las conexiones de las aplicaciones clientes abarca los mecanismos El procedimiento de conexión para las aplicaciones cliente fusionadas admite los casos en los que el servidor dedicado no está disponible. El escenario de inicio de una aplicación cliente 4D es el siguiente: 1. Si la información de conexión válida se encuentra almacenada en el archivo "EnginedServer.4DLink" dentro de la aplicación cliente, la aplicación cliente se conecta a la dirección del servidor especificada.\ - O\ - La aplicación cliente intenta conectarse al servidor utilizando el servicio de descubrimiento (basado en el nombre del servidor, transmitido en la misma subred).\ - O\ - La aplicación cliente intenta conectarse al servidor utilizando el servicio de descubrimiento (basado en el nombre del servidor, transmitido en la misma subred).\ - O\ - La aplicación cliente intenta conectarse al servidor utilizando el servicio de descubrimiento (basado en el nombre del servidor, transmitido en la misma subred). + O\ + La aplicación cliente intenta conectarse al servidor utilizando el servicio de descubrimiento (basado en el nombre del servidor, transmitido en la misma subred).\ + O\ + La aplicación cliente intenta conectarse al servidor utilizando el servicio de descubrimiento (basado en el nombre del servidor, transmitido en la misma subred).\ + O\ + La aplicación cliente intenta conectarse al servidor utilizando el servicio de descubrimiento (basado en el nombre del servidor, transmitido en la misma subred). 2. Si esto falla, la aplicación cliente intenta conectarse al servidor utilizando la información almacenada en la carpeta de preferencias del usuario de la aplicación (archivo "lastServer.xml", ver último paso). From ee1884707d9c06abd6bdc3c9fe16b9db238ed365 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:49:55 +0200 Subject: [PATCH 074/162] New translations clientserver.md (Spanish) --- .../current/Desktop/clientServer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md index 700a9a7ed15480..1d363303871ec8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md @@ -29,8 +29,8 @@ La primera vez que se conecte a un proyecto 4D Server a través de un 4D remoto, Para conectarse remotamente a un proyecto 4D Server: 1. Haga una de las siguientes cosas: - - Seleccione **Conectar a 4D Server** en la caja de diálogo del asistente de bienvenida - - Seleccione **Abrir/Proyecto remoto...** desde el menú **Archivo** o del botón**Abrir** de la barra de herramientas. + - Seleccione **Conectar a 4D Server** en la caja de diálogo del asistente de bienvenida + - Seleccione **Abrir/Proyecto remoto...** desde el menú **Archivo** o del botón**Abrir** de la barra de herramientas. Aparece el diálogo de conexión de 4D Server. Este diálogo tiene tres pestañas: **Reciente**, **Disponible** y **Personalizado**. From 53c4dd6045887ff5b15fa3e1a24afa5d62466e40 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:02 +0200 Subject: [PATCH 075/162] New translations onafteredit.md (Spanish) --- .../current/Events/onAfterEdit.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md index 36a92919469a8b..99fd7295b126a7 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md @@ -15,10 +15,10 @@ Este evento se puede utilizar para filtrar la entrada de datos en los objetos ed Cuando se utiliza, este evento se genera después de cada cambio realizado en el contenido de un objeto editable, independientemente de la acción que haya provocado la modificación, *es decir*: -- Acciones de edición estándar que modifican el contenido como pegar, cortar, borrar o cancelar; -- Soltar un valor (acción similar a pegar); -- Toda entrada de teclado realizada por el usuario; en este caso, el evento `On After Edit` se genera después de los eventos [`On Before Keystroke`](onBeforeKeystroke. d) y [`On After Keystroke`](onAfterKeystroke.md), si se utilizan. -- Cualquier modificación realizada mediante un comando del lenguaje que simule una acción del usuario (es decir, `POST KEY`). + - Acciones de edición estándar que modifican el contenido como pegar, cortar, borrar o cancelar; + - Soltar un valor (acción similar a pegar); + - Toda entrada de teclado realizada por el usuario; en este caso, el evento `On After Edit` se genera después de los eventos [`On Before Keystroke`](onBeforeKeystroke. d) y [`On After Keystroke`](onAfterKeystroke.md), si se utilizan. + - Cualquier modificación realizada mediante un comando del lenguaje que simule una acción del usuario (es decir, `POST KEY`). Dentro del evento `On After Edit`, los datos de texto que se ingresan son devueltos por el comando [`Get edited text`](../commands-legacy/get-edited-text.md). From 26e64c5fd6fd42367efcca8dea4075e6236c9d21 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:11 +0200 Subject: [PATCH 076/162] New translations debugger.md (Japanese) --- .../current/Debugging/debugger.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/debugger.md b/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/debugger.md index 0dd0864bf2962f..ce82ec00c69164 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/debugger.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Debugging/debugger.md @@ -158,27 +158,27 @@ $c:=$a+$b 1. ソースコードエリアのプログラムカウンターが `$a:=1` の行にセットされた状態で、デバッグウィンドウが開きます。 **次行に進む** ボタンをクリックします。 プログラムカウンターは $c:=$a+$b の行に設定されます。 この時点では **ラインオブジェクト** テーマには、次のように表示されています: - | $a | 未定義 | - | -- | --- | + | $a | 未定義 | + | -- | --- | - まだ初期化されていない変数 `$a` が表示されているのは、実行の対象となっている行で使用されているためです。 + まだ初期化されていない変数 `$a` が表示されているのは、実行の対象となっている行で使用されているためです。 2. **次行に進む** ボタンをクリックします。 プログラムカウンターは `$b:=$a+1` の行に設定されます。 この時点では **ラインオブジェクト** テーマには、次のように表示されています : - | $a | 1 | - | -- | --- | - | $b | 未定義 | + | $a | 1 | + | -- | --- | + | $b | 未定義 | - 変数 `$a` の値は 1 になりました。 まだ初期化されていない変数 `$b` が表示されているのは、実行の対象となっている行で使用されているためです。 + 変数 `$a` の値は 1 になりました。 まだ初期化されていない変数 `$b` が表示されているのは、実行の対象となっている行で使用されているためです。 3. **次行に進む** ボタンをクリックします。 プログラムカウンターは $c:=$a+$b の行に設定されます。 この時点では **ラインオブジェクト** テーマには、次のように表示されています: - | $c | 未定義 | - | -- | --- | - | $a | 1 | - | $b | 2 | + | $c | 未定義 | + | -- | --- | + | $a | 1 | + | $b | 2 | - 変数 `$b` の値が 2 になりました。 まだ初期化されていない変数 `$c` が表示されているのは、実行の対象となっている行で使用されているためです。 + 変数 `$b` の値が 2 になりました。 まだ初期化されていない変数 `$c` が表示されているのは、実行の対象となっている行で使用されているためです。 #### 変数 @@ -416,9 +416,9 @@ $c:=$a+$b 1. ソースコードエリア内で評価する式を選択します。 2. 次のいずれかの方法をおこないます: - - 選択したテキストをカスタムウォッチエリアの式欄へドラッグ&ドロップする。 - - **Ctrl+D** (Windows) または **Cmd+D** (macOS) を押す。 - - 選択したテキストを右クリックして、コンテキストメニューから **式ペインにコピー** コマンドを選択する。 + - 選択したテキストをカスタムウォッチエリアの式欄へドラッグ&ドロップする。 + - **Ctrl+D** (Windows) または **Cmd+D** (macOS) を押す。 + - 選択したテキストを右クリックして、コンテキストメニューから **式ペインにコピー** コマンドを選択する。 ### プログラムカウンター From 7bb59ddc76152c0625006904d9e583a3c84b8e97 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:15 +0200 Subject: [PATCH 077/162] New translations building.md (Japanese) --- .../docusaurus-plugin-content-docs/current/Desktop/building.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/building.md b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/building.md index 1079bb866db6f0..1c7767ace467a4 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/building.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/building.md @@ -726,7 +726,7 @@ userPrefs:=Get 4D folder(Active 4D Folder) 組み込みクライアントアプリの接続プロシージャーは、専用サーバーが使用不可能な場合にも柔軟に対応します。 4Dクライアントアプリのスタートアップシナリオは、次のとおりです: 1. クライアントアプリ内の "EnginedServer.4DLink" ファイルに有効な接続情報が保存されていた場合、クライアントアプリはその指定されたサーバーアドレスへ接続を試みます。\ - またはクライアントアプリは検索サービスを使用してサーバーへの接続を試みます (同じサブネット内に公開されたサーバー名に基づいて検索します)。 + またはクライアントアプリは検索サービスを使用してサーバーへの接続を試みます (同じサブネット内に公開されたサーバー名に基づいて検索します)。 2. これが失敗した場合、クライアントアプリケーションは、アプリケーションのユーザー設定フォルダーに保存されている情報 ("lastServer.xml" ファイル、詳細は後述参照) を使用してサーバーへの接続を試みます。 From 0fbc67c2828094c54c5f5314a30e6682656d2653 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:17 +0200 Subject: [PATCH 078/162] New translations clientserver.md (Japanese) --- .../current/Desktop/clientServer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md index 554bd522f6987a..2662bf20994e15 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md @@ -29,8 +29,8 @@ title: クライアント/サーバー管理 4D Server で実行されているプロジェクトに接続するには: 1. 次のいずれかの方法をおこないます: - - Welcome ウィザードにて **4D Serverに接続** を選択します。 - - **ファイル** メニューより \*\*開く > リモートプロジェクト...\*\*を選択するか、**開く** ツールバーボタンより同様に選択します。 + - Welcome ウィザードにて **4D Serverに接続** を選択します。 + - **ファイル** メニューより \*\*開く > リモートプロジェクト...\*\*を選択するか、**開く** ツールバーボタンより同様に選択します。 4D Server に接続するためのダイアログが表示されます。 ダイアログには **最近使用**、**利用可**、および **カスタム** という、3つのタブがあります。 From 6289494a8d5c3b3c6f76b81218e82333f8103b5f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:26 +0200 Subject: [PATCH 079/162] New translations onafteredit.md (Japanese) --- .../current/Events/onAfterEdit.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md index e37db10b0ae5a5..804217b5d17516 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md @@ -15,10 +15,10 @@ title: On After Edit このイベントは、変更がおこなわれた方法に関係なく、入力可能オブジェクトの内容が変更されるたびに生成されます。*つまり*: -- ペーストやカット、削除、キャンセルなどの標準の編集アクション -- 値のドロップ (ペーストと同様のアクション) -- ユーザーがおこなったキーボードからの入力。この場合、`On After Edit` イベントは [`On Before Keystroke`](onBeforeKeystroke.md) と [`On After Keystroke`](onAfterKeystroke.md) イベントの後に生成されます。 -- ユーザーアクションをシミュレートするランゲージコマンドによる変更 (例: `POST KEY`)。 + - ペーストやカット、削除、キャンセルなどの標準の編集アクション + - 値のドロップ (ペーストと同様のアクション) + - ユーザーがおこなったキーボードからの入力。この場合、`On After Edit` イベントは [`On Before Keystroke`](onBeforeKeystroke.md) と [`On After Keystroke`](onAfterKeystroke.md) イベントの後に生成されます。 + - ユーザーアクションをシミュレートするランゲージコマンドによる変更 (例: `POST KEY`)。 `On After Edit` イベント内において、入力テキストは [`Get edited text`](../commands-legacy/get-edited-text.md) コマンドによって返されます。 From cb12665df83b04535684cc3c22cd1064c3dab7f8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:36 +0200 Subject: [PATCH 080/162] New translations debugger.md (Portuguese, Brazilian) --- .../current/Debugging/debugger.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md b/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md index a12dbc937a8302..fa736ab799085f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md @@ -158,27 +158,27 @@ $c:=a+b 1. Uma janela do depurador é aberta com o contador do programa definido para a linha com `a:=1`. Nesse momento, o tema **Line Objects** é exibido: - | $a | Indefinido | - | -- | ---------- | + | $a | Indefinido | + | -- | ---------- | - A variável `$a` ainda não foi inicializada, mas é exibida porque é usada na linha a ser executada. + A variável `$a` ainda não foi inicializada, mas é exibida porque é usada na linha a ser executada. 2. Você clica no botão **Step Over**. O contador do programa está agora definido para a linha `b:=a+1`. Neste ponto, o tema **Objetos linha** é exibido: - | $a | 1 | - | -- | ---------- | - | $b | Indefinido | + | $a | 1 | + | -- | ---------- | + | $b | Indefinido | - O valor da variável `$a` é agora 1. A variável `$b` ainda não foi inicializada, mas é exibida porque é usada na linha a ser executada. + O valor da variável `$a` é agora 1. A variável `$b` ainda não foi inicializada, mas é exibida porque é usada na linha a ser executada. 3. Você clica no botão **Step Over** novamente. O contador do programa está agora definido na linha com $c:=a+b. O tema **Objetos atuais** exibe: - | $c | Indefinido | - | -- | ---------- | - | $a | 1 | - | $b | 2 | + | $c | Indefinido | + | -- | ---------- | + | $a | 1 | + | $b | 2 | - O valor da variável `$b` é agora 2. A variável `$c` ainda não foi inicializada, mas é exibida porque é usada na linha a ser executada. + O valor da variável `$b` é agora 2. A variável `$c` ainda não foi inicializada, mas é exibida porque é usada na linha a ser executada. #### Variáveis. @@ -416,9 +416,9 @@ Você pode copiar qualquer expressão selecionada do painel Código-fonte para o 1. No painel de código fonte, selecione a expressão a avaliar 2. Faça uma das seguintes opções: - - Arraste e solte o texto selecionado na área Expression (Expressão) do Custom Watch Pane (Painel de observação personalizada) - - Pressione **Ctrl+D** (Windows) ou **Cmd+D** (macOS) - - Clique com o botão direito do mouse no texto selecionado **>** **Copiar para o painel de expressões** + - Arraste e solte o texto selecionado na área Expression (Expressão) do Custom Watch Pane (Painel de observação personalizada) + - Pressione **Ctrl+D** (Windows) ou **Cmd+D** (macOS) + - Clique com o botão direito do mouse no texto selecionado **>** **Copiar para o painel de expressões** ### Contador do programa From 893a0e6a567ebbb94947f391fc45ac8f82de4333 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:40 +0200 Subject: [PATCH 081/162] New translations building.md (Portuguese, Brazilian) --- .../current/Desktop/building.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/building.md b/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/building.md index 4bd7f4544d8639..7cb283b4214506 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/building.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/building.md @@ -727,12 +727,12 @@ A gestão de conexões por aplicativos cliente cobre os mecanismos pelos quais u O procedimento de conexão para aplicativos cliente mesclados suporta casos onde o servidor dedicado não está disponível. O cenário de inicialização de um aplicação cliente 4D é o seguinte: 1. Se informações de conexão válidas forem armazenadas no arquivo "EnginedServer.4DLink" dentro do aplicativo cliente, o aplicativo cliente se conecta ao endereço do servidor especificado.\ - OU - O aplicativo cliente tenta se conectar ao servidor usando o serviço de descoberta (com base no nome do servidor, transmitido na mesma sub-rede).\ - OU - O aplicativo cliente tenta se conectar ao servidor usando o serviço de descoberta (com base no nome do servidor, transmitido na mesma sub-rede).\ - OU - O aplicativo cliente tenta se conectar ao servidor usando o serviço de descoberta (com base no nome do servidor, transmitido na mesma sub-rede). + OU + O aplicativo cliente tenta se conectar ao servidor usando o serviço de descoberta (com base no nome do servidor, transmitido na mesma sub-rede).\ + OU + O aplicativo cliente tenta se conectar ao servidor usando o serviço de descoberta (com base no nome do servidor, transmitido na mesma sub-rede).\ + OU + O aplicativo cliente tenta se conectar ao servidor usando o serviço de descoberta (com base no nome do servidor, transmitido na mesma sub-rede). 2. Se isso falhar, o aplicativo cliente tenta se conectar ao servidor usando informações armazenadas na pasta de preferências do usuário do aplicativo ("lastServer. ml" arquivo, veja a última etapa). From c586a7c39924f18104f6cc8a3458a2e57f8a06e0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:42 +0200 Subject: [PATCH 082/162] New translations clientserver.md (Portuguese, Brazilian) --- .../current/Desktop/clientServer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/clientServer.md index b80351f9d48e1c..1d355a3f174921 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/clientServer.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Desktop/clientServer.md @@ -29,8 +29,8 @@ A primeira vez que se liga a um projecto 4D Server através de um 4D remoto, nor Para conectar remotamente a um projeto 4D Server: 1. Faça uma das seguintes opções: - - Selecione **Conectar ao 4D Server** no diálogo Assistente de Boas Vindas - - Selecione **Abrir/Projeto Remoto...** no menu **Arquivo** ou no botão de ferramentas **Abrir**. + - Selecione **Conectar ao 4D Server** no diálogo Assistente de Boas Vindas + - Selecione **Abrir/Projeto Remoto...** no menu **Arquivo** ou no botão de ferramentas **Abrir**. Aparece o diálogo de ligação do 4D Server. Este diálogo possui três guias: **Recente**, **Disponível** e **Personalizado**. From c2253276eb30889117e0e118a6d9fef92ac0a748 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:50:51 +0200 Subject: [PATCH 083/162] New translations onafteredit.md (Portuguese, Brazilian) --- .../current/Events/onAfterEdit.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md index 58ac0e31a2c1ba..4b80f44d529a0b 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onAfterEdit.md @@ -15,10 +15,10 @@ Este evento pode ser usado para filtrar a entrada de dados nos objetos digitáve Quando é usado, este evento é gerado após cada alteração feita no conteúdo de um objeto inserível, independentemente da ação que causou a alteração, *ou seja*: -- Ações de edição padrão que modificam conteúdo como colar, cortar, excluir ou cancelar; -- Eliminar um valor (ação semelhante a colar); -- Qualquer entrada de teclado feita pelo usuário; neste caso, o evento `On After Edit` é gerado após os eventos [`On Before Keystroke`](onBeforeKeystroke.md) e [`On After Keystroke`](onAfterKeystroke.md), se eles forem utilizados. -- Qualquer modificação feita usando um comando de linguagem que simula uma ação do usuário (ou seja, `POST KEY`). + - Ações de edição padrão que modificam conteúdo como colar, cortar, excluir ou cancelar; + - Eliminar um valor (ação semelhante a colar); + - Qualquer entrada de teclado feita pelo usuário; neste caso, o evento `On After Edit` é gerado após os eventos [`On Before Keystroke`](onBeforeKeystroke.md) e [`On After Keystroke`](onAfterKeystroke.md), se eles forem utilizados. + - Qualquer modificação feita usando um comando de linguagem que simula uma ação do usuário (ou seja, `POST KEY`). No evento `No After Edit`, os dados de texto sendo inseridos são retornados pelo comando [`Obter texto editado`](../commands-legacy/get-edited-text.md). From cb1e8dcfafbba705858989c71c5640dd0dd2ed8a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:51:03 +0200 Subject: [PATCH 084/162] New translations onbegindragover.md (French) --- .../current/Events/onBeginDragOver.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md index f26e8432176942..33cd0dd5bc3ac9 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md @@ -15,11 +15,11 @@ L'événement de formulaire `On Begin Drag Over` peut être sélectionné pour t L'événement `On Begin Drag Over` est utile pour préparer l'action de glisser. Il peut être utilisé pour : -- Ajouter des données et des signatures au conteneur (via la commande `APPEND DATA TO PASTEBOARD`). -- Utiliser une icône personnalisée pendant l'action de glissement (via la commande `SET DRAG ICON`). -- Accepter ou refuser le glisser via le résultat de la méthode de l'objet déplacé. - - Pour indiquer que les actions de glisser sont acceptées, la méthode de l'objet source doit retourner 0 (zéro). - - Pour indiquer que les actions de glisser sont refusées, la méthode de l'objet source doit retourner -1. - - Si aucun résultat n'est retourné, 4D considère que les actions de glisser sont acceptées. + - Ajouter des données et des signatures au conteneur (via la commande `APPEND DATA TO PASTEBOARD`). + - Utiliser une icône personnalisée pendant l'action de glissement (via la commande `SET DRAG ICON`). + - Accepter ou refuser le glisser via le résultat de la méthode de l'objet déplacé. + - Pour indiquer que les actions de glisser sont acceptées, la méthode de l'objet source doit retourner 0 (zéro). + - Pour indiquer que les actions de glisser sont refusées, la méthode de l'objet source doit retourner -1. + - Si aucun résultat n'est retourné, 4D considère que les actions de glisser sont acceptées. Les données 4D sont placées dans le presse-papiers avant d'appeler l'événement. Par exemple, dans le cas d'un glissement sans l'action de **glisser automatique**, le texte glissé se trouve déjà dans le conteneur lorsque l'événement est appelé. From e86a63c82930eb395309b552fcb67b0b7aceefc0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:51:08 +0200 Subject: [PATCH 085/162] New translations onclicked.md (French) --- .../current/Events/onClicked.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onClicked.md b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onClicked.md index c4858cd18410e8..78486e986347fb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onClicked.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onClicked.md @@ -15,11 +15,11 @@ L'événement `On Clicked` est généré lorsque l'utilisateur clique sur un obj L'événement `On Clicked` se produit généralement une fois que le bouton de la souris est relâché. Cependant, il existe plusieurs exceptions : -- [Boutons invisibles](FormObjects/properties_Display.md#not-rendered): l'événement `On Clicked` se produit dès que le clic est effectué et n'attend pas que le bouton de la souris soit relâché. -- [Règles](FormObjects/ruler.md) : si l'option de [méthode d'exécution d'objet](FormObjects/properties_Action.md#execute-object-method) est définie sur **true**, l'événement `On Clicked` se produit dès que le clic est effectué. -- [Combo box](FormObjects/comboBox_overview.md) : l'événement `On Clicked` se produit uniquement si l'utilisateur sélectionne une autre valeur dans le menu associé. Une [combo box](FormObjects/comboBox_overview.md) doit être traitée comme une zone de texte saisissable dont la liste déroulante associée fournit des valeurs par défaut. Par conséquent, vous gérez la saisie de données dans une combo box via les événements `On Before Keystroke`, `On After Keystroke` et `On Data Change`. -- [Listes déroulantes](FormObjects/dropdownList_Overview.md) : l'événement `On Clicked` se produit uniquement si l'utilisateur sélectionne une autre valeur dans le menu. L'événement `On Data Change` vous permet de détecter l'activation de l'objet lorsqu'une valeur différente de la valeur courante est sélectionnée -- Lorsqu'une cellule d'entrée de list box est [en cours d'édition](FormObjects/listbox_overview.md#managing-entry), l'événement `On Clicked` est généré lorsque le bouton de la souris est enfoncé, permettant d'utiliser la commande `Contextual click` par exem + - [Boutons invisibles](FormObjects/properties_Display.md#not-rendered): l'événement `On Clicked` se produit dès que le clic est effectué et n'attend pas que le bouton de la souris soit relâché. + - [Règles](FormObjects/ruler.md) : si l'option de [méthode d'exécution d'objet](FormObjects/properties_Action.md#execute-object-method) est définie sur **true**, l'événement `On Clicked` se produit dès que le clic est effectué. + - [Combo box](FormObjects/comboBox_overview.md) : l'événement `On Clicked` se produit uniquement si l'utilisateur sélectionne une autre valeur dans le menu associé. Une [combo box](FormObjects/comboBox_overview.md) doit être traitée comme une zone de texte saisissable dont la liste déroulante associée fournit des valeurs par défaut. Par conséquent, vous gérez la saisie de données dans une combo box via les événements `On Before Keystroke`, `On After Keystroke` et `On Data Change`. + - [Listes déroulantes](FormObjects/dropdownList_Overview.md) : l'événement `On Clicked` se produit uniquement si l'utilisateur sélectionne une autre valeur dans le menu. L'événement `On Data Change` vous permet de détecter l'activation de l'objet lorsqu'une valeur différente de la valeur courante est sélectionnée + - Lorsqu'une cellule d'entrée de list box est [en cours d'édition](FormObjects/listbox_overview.md#managing-entry), l'événement `On Clicked` est généré lorsque le bouton de la souris est enfoncé, permettant d'utiliser la commande `Contextual click` par exem Dans le cas d'un événement `On Clicked`, vous pouvez tester le nombre de clics effectués par l'utilisateur à l'aide de la commande `Clickcount`. From a2abf824a8948cab5452d87467b03d968e19feb1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:51:23 +0200 Subject: [PATCH 086/162] New translations onbegindragover.md (Spanish) --- .../current/Events/onBeginDragOver.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md index 5f8f0e08b840db..6600c9ead2a047 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md @@ -15,11 +15,11 @@ El evento de formulario `On Begin Drag Over` puede ser seleccionado para todos l El evento `On Begin Drag Over` es útil para preparar la acción de arrastrar. Puede utilizarse para: -- Añadir los datos y las firmas al portapapeles (vía el comando `APPEND DATA TO PASTEBOARD`). -- Utilizar un icono personalizado durante la acción de arrastre (vía el comando `SET DRAG ICON`). -- Aceptar o rechazar el arrastre mediante el resultado del método del objeto arrastrado. - - Para indicar que las acciones de arrastre son aceptadas, el método del objeto fuente debe devolver 0 (cero). - - Para indicar que se rechazan las acciones de arrastrar, el método del objeto fuente debe devolver -1 (menos uno). - - Si no se devuelve ningún resultado, 4D considera que las acciones de arrastre son aceptadas. + - Añadir los datos y las firmas al portapapeles (vía el comando `APPEND DATA TO PASTEBOARD`). + - Utilizar un icono personalizado durante la acción de arrastre (vía el comando `SET DRAG ICON`). + - Aceptar o rechazar el arrastre mediante el resultado del método del objeto arrastrado. + - Para indicar que las acciones de arrastre son aceptadas, el método del objeto fuente debe devolver 0 (cero). + - Para indicar que se rechazan las acciones de arrastrar, el método del objeto fuente debe devolver -1 (menos uno). + - Si no se devuelve ningún resultado, 4D considera que las acciones de arrastre son aceptadas. Los datos 4D se colocan en el portapapeles antes de llamar al evento. Por ejemplo, en el caso de arrastrar sin la acción **Arrastre automático**, el texto arrastrado ya está en portapapeles cuando se llama al evento. From ba857b9a544e4ca1b7cfd9753519e0f9c3bc7f62 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:51:27 +0200 Subject: [PATCH 087/162] New translations onclicked.md (Spanish) --- .../current/Events/onClicked.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onClicked.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onClicked.md index 40ba861bc720a5..21c7b1ccab37e5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onClicked.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onClicked.md @@ -15,11 +15,11 @@ El evento `On Clicked` se genera cuando el usuario hace clic en un objeto. El evento `On Clicked` suele producirse una vez que se suelta el botón del ratón. Sin embargo, hay varias excepciones: -- [Botones invisibles](FormObjects/properties_Display.md#not-rendered): el evento `On Clicked` se produce en cuanto se hace clic y no espera a que se suelte el botón del ratón. -- [Reglas](FormObjects/ruler.md): si la opción de [método de ejecución del objeto](FormObjects/properties_Action.md#execute-object-method) se define en **true**, el evento `On Clicked` se produce en cuanto se hace clic. -- [Combo box](FormObjects/comboBox_overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú asociado. Un [combo box](FormObjects/comboBox_overview.md) debe ser tratado como un área de texto introducible cuya lista desplegable asociada ofrece valores por defecto. Por lo tanto, se maneja la entrada de datos dentro de un combo box a través de los eventos `On Before Keystroke`, `On After Keystroke` y `On Data Change`. -- [Listas desplegables](FormObjects/dropdownList_Overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú. El evento `On Data Change` permite detectar la activación del objeto cuando se selecciona un valor diferente al actual -- Cuando una celda de entrada del list box está [siendo editada](FormObjects/listbox_overview.md#managing-entry), se genera el evento `On Clicked` cuando se presiona el botón del ratón, permitiendo utilizar el comando `Contextual click` por ejemplo. + - [Botones invisibles](FormObjects/properties_Display.md#not-rendered): el evento `On Clicked` se produce en cuanto se hace clic y no espera a que se suelte el botón del ratón. + - [Reglas](FormObjects/ruler.md): si la opción de [método de ejecución del objeto](FormObjects/properties_Action.md#execute-object-method) se define en **true**, el evento `On Clicked` se produce en cuanto se hace clic. + - [Combo box](FormObjects/comboBox_overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú asociado. Un [combo box](FormObjects/comboBox_overview.md) debe ser tratado como un área de texto introducible cuya lista desplegable asociada ofrece valores por defecto. Por lo tanto, se maneja la entrada de datos dentro de un combo box a través de los eventos `On Before Keystroke`, `On After Keystroke` y `On Data Change`. + - [Listas desplegables](FormObjects/dropdownList_Overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú. El evento `On Data Change` permite detectar la activación del objeto cuando se selecciona un valor diferente al actual + - Cuando una celda de entrada del list box está [siendo editada](FormObjects/listbox_overview.md#managing-entry), se genera el evento `On Clicked` cuando se presiona el botón del ratón, permitiendo utilizar el comando `Contextual click` por ejemplo. En el contexto de un evento `On Clicked`, se puede comprobar el número de clics realizados por el usuario utilizando el comando `Clickcount`. From e56202383f834e7a9cf7e6a90d60b93b39f2cff3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:51:47 +0200 Subject: [PATCH 088/162] New translations onbegindragover.md (Japanese) --- .../current/Events/onBeginDragOver.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md index fbc6155a8bc0cb..a71ad495fc74bf 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md @@ -15,11 +15,11 @@ title: On Begin Drag Over `On Begin Drag Over` イベントは、ドラッグアクションの準備に役立ちます。 このイベントは以下のように使用できます: このイベントは以下のように使用できます: このイベントは以下のように使用できます: このイベントは以下のように使用できます: -- `APPEND DATA TO PASTEBOARD` コマンドを使って、ペーストボードにデータや署名を追加する。 -- `SET DRAG ICON` コマンドを使って、ドラッグアクション中にカスタムアイコンを表示する。 -- ドラッグされたオブジェクトのメソッドの戻り値を使用して、ドラッグを許可/拒否する。 - - ドラッグアクションを受け入れるには、ソースオブジェクトのメソッドは 0 (ゼロ) を返さなければなりません。 - - ドラッグアクションを拒否するには、ソースオブジェクトのメソッドは -1 (マイナス1) を返さなければなりません。 - - 結果が返されない場合は、ドラッグアクションが受け入れられたと 4D は判断します。 + - `APPEND DATA TO PASTEBOARD` コマンドを使って、ペーストボードにデータや署名を追加する。 + - `SET DRAG ICON` コマンドを使って、ドラッグアクション中にカスタムアイコンを表示する。 + - ドラッグされたオブジェクトのメソッドの戻り値を使用して、ドラッグを許可/拒否する。 + - ドラッグアクションを受け入れるには、ソースオブジェクトのメソッドは 0 (ゼロ) を返さなければなりません。 + - ドラッグアクションを拒否するには、ソースオブジェクトのメソッドは -1 (マイナス1) を返さなければなりません。 + - 結果が返されない場合は、ドラッグアクションが受け入れられたと 4D は判断します。 4D のデータは、イベントが呼び出される前に、ペーストボードに置かれます。 たとえば、**自動ドラッグ** アクションなしでドラッグした場合、ドラッグされたテキストは、イベントが呼び出される時にはペーストボードにあります。 From f146deb4606e5d32282c340fd3e9ca60c966fec7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:51:51 +0200 Subject: [PATCH 089/162] New translations onclicked.md (Japanese) --- .../current/Events/onClicked.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onClicked.md b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onClicked.md index a0ee2f849bb5d4..fb9943c47bf011 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onClicked.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onClicked.md @@ -15,11 +15,11 @@ title: On Clicked `On Clicked` イベントは通常、マウスボタンが離されたときに生成されます。 しかし、いくつか例外があります: しかし、いくつか例外があります: しかし、いくつか例外があります: しかし、いくつか例外があります: -- [非表示ボタン](FormObjects/properties_Display.md#レンダリングしない): マウスがクリックされると、ボタンが離されるのを待たずに `On Clicked` イベントが生成されます。 -- [ルーラー](FormObjects/ruler.md): [オブジェクトメソッド実行](FormObjects/properties_Action.md#オブジェクトメソッド実行) オプションが **true** に設定されていると、`On Clicked` イベントはクリックがおこなわれるとすぐに生成されます。 -- [コンボボックス](FormObjects/comboBox_overview.md): `On Clicked`イベントは、割り当てられたメニューでユーザーが別の値を選択した場合にのみ発生します。 [コンボボックス](FormObjects/comboBox_overview.md) は、割り当てられたドロップダウンリストにデフォルト値が提供された、入力可能なテキストエリアとして扱われます。 つまり、コンボボックス内におけるデータ入力処理は、`On Before Keystroke` や `On After Keystroke`、`On Data Change` イベントを使用しておこなう必要があります。 [コンボボックス](FormObjects/comboBox_overview.md) は、割り当てられたドロップダウンリストにデフォルト値が提供された、入力可能なテキストエリアとして扱われます。 つまり、コンボボックス内におけるデータ入力処理は、`On Before Keystroke` や `On After Keystroke`、`On Data Change` イベントを使用しておこなう必要があります。 -- [ドロップダウンリスト](FormObjects/dropdownList_Overview.md): `On Clicked` イベントは、 ユーザーがメニューで別の値を選択した場合にのみ発生します。 `On Data Change` イベントは、現在の値とは異なる値が選択されたときに、オブジェクトが操作されたことを検出することができます。 -- リストボックスの入力セルが [編集中](FormObjects/listbox_overview.md#入力の管理) のとき、マウスボタンが押されると `On Clicked` イベントが発生するので、`Contextual click` コマンドなどを使用することができます。 + - [非表示ボタン](FormObjects/properties_Display.md#レンダリングしない): マウスがクリックされると、ボタンが離されるのを待たずに `On Clicked` イベントが生成されます。 + - [ルーラー](FormObjects/ruler.md): [オブジェクトメソッド実行](FormObjects/properties_Action.md#オブジェクトメソッド実行) オプションが **true** に設定されていると、`On Clicked` イベントはクリックがおこなわれるとすぐに生成されます。 + - [コンボボックス](FormObjects/comboBox_overview.md): `On Clicked`イベントは、割り当てられたメニューでユーザーが別の値を選択した場合にのみ発生します。 [コンボボックス](FormObjects/comboBox_overview.md) は、割り当てられたドロップダウンリストにデフォルト値が提供された、入力可能なテキストエリアとして扱われます。 つまり、コンボボックス内におけるデータ入力処理は、`On Before Keystroke` や `On After Keystroke`、`On Data Change` イベントを使用しておこなう必要があります。 [コンボボックス](FormObjects/comboBox_overview.md) は、割り当てられたドロップダウンリストにデフォルト値が提供された、入力可能なテキストエリアとして扱われます。 つまり、コンボボックス内におけるデータ入力処理は、`On Before Keystroke` や `On After Keystroke`、`On Data Change` イベントを使用しておこなう必要があります。 + - [ドロップダウンリスト](FormObjects/dropdownList_Overview.md): `On Clicked` イベントは、 ユーザーがメニューで別の値を選択した場合にのみ発生します。 `On Data Change` イベントは、現在の値とは異なる値が選択されたときに、オブジェクトが操作されたことを検出することができます。 + - リストボックスの入力セルが [編集中](FormObjects/listbox_overview.md#入力の管理) のとき、マウスボタンが押されると `On Clicked` イベントが発生するので、`Contextual click` コマンドなどを使用することができます。 `On Clicked` イベントのコンテキストにおいては `Clickcount` コマンドを使うことによってユーザーがおこなったクリック数をテストすることができます。 From 0ce506d63e5f18d1e44a151e0189bd9e1e7eba41 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:04 +0200 Subject: [PATCH 090/162] New translations onbegindragover.md (Portuguese, Brazilian) --- .../current/Events/onBeginDragOver.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md index d29f7c88ee851a..ad1fefab5585b6 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onBeginDragOver.md @@ -15,11 +15,11 @@ O evento `Ao Começar Arrastar Novo` pode ser selecionado para quaisquer objetos O evento `On Begin Drag Over` é útil para preparar a ação de arrastar. Pode ser usado para: -- Adicione dados e assinaturas ao pasteboard (via o comando `APPEND DATA TO PASTEBOARD`). -- Use um ícone personalizado durante a ação de arrastar (via o comando `SET DRAG ICON`). -- Accept or refuse dragging via the result of the method of the dragged object. - - To indicate that drag actions are accepted, the method of the source object must return 0 (zero). - - To indicate that drag actions are refused, the method of the source object must return -1 (minus one). - - Se nenhum resultado for retornado, 4D considera que as ações de arrastar são aceitas. + - Adicione dados e assinaturas ao pasteboard (via o comando `APPEND DATA TO PASTEBOARD`). + - Use um ícone personalizado durante a ação de arrastar (via o comando `SET DRAG ICON`). + - Accept or refuse dragging via the result of the method of the dragged object. + - To indicate that drag actions are accepted, the method of the source object must return 0 (zero). + - To indicate that drag actions are refused, the method of the source object must return -1 (minus one). + - Se nenhum resultado for retornado, 4D considera que as ações de arrastar são aceitas. Os dados 4D são colocados na prancheta antes de chamar o evento. Por exemplo, no caso de arrastar sem a ação **Arrastar Automático**, o texto arrastado já está no quadro quando o evento é chamado. From c55ffcad10e04dfdf7da8af5c2127adec043b554 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:09 +0200 Subject: [PATCH 091/162] New translations onclicked.md (Portuguese, Brazilian) --- .../current/Events/onClicked.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onClicked.md b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onClicked.md index 7584b63ca7234e..1360748863f4b4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onClicked.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onClicked.md @@ -15,11 +15,11 @@ El evento `On Clicked` se genera cuando el usuario hace clic en un objeto. El evento `On Clicked` suele producirse una vez que se suelta el botón del ratón. No entanto, há várias excepções: -- [Botones invisibles](FormObjects/properties_Display.md#not-rendered): el evento `On Clicked` se produce en cuanto se hace clic y no espera a que se suelte el botón del ratón. -- [Reglas](FormObjects/ruler.md): si la opción de [método de ejecución del objeto](FormObjects/properties_Action.md#execute-object-method) se define en **true**, el evento `On Clicked` se produce en cuanto se hace clic. -- [Combo box](FormObjects/comboBox_overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú asociado. Un [combo box](FormObjects/comboBox_overview.md) debe ser tratado como un área de texto introducible cuya lista desplegable asociada ofrece valores por defecto. Por lo tanto, se maneja la entrada de datos dentro de un combo box a través de los eventos `On Before Keystroke`, `On After Keystroke` y `On Data Change`. -- [Listas desplegables](FormObjects/dropdownList_Overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú. El evento `On Data Change` permite detectar la activación del objeto cuando se selecciona un valor diferente al actual -- Cuando una celda de entrada del list box está [siendo editada](FormObjects/listbox_overview.md#managing-entry), se genera el evento `On Clicked` cuando se presiona el botón del ratón, permitiendo utilizar el comando `Contextual click` por ejemplo. + - [Botones invisibles](FormObjects/properties_Display.md#not-rendered): el evento `On Clicked` se produce en cuanto se hace clic y no espera a que se suelte el botón del ratón. + - [Reglas](FormObjects/ruler.md): si la opción de [método de ejecución del objeto](FormObjects/properties_Action.md#execute-object-method) se define en **true**, el evento `On Clicked` se produce en cuanto se hace clic. + - [Combo box](FormObjects/comboBox_overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú asociado. Un [combo box](FormObjects/comboBox_overview.md) debe ser tratado como un área de texto introducible cuya lista desplegable asociada ofrece valores por defecto. Por lo tanto, se maneja la entrada de datos dentro de un combo box a través de los eventos `On Before Keystroke`, `On After Keystroke` y `On Data Change`. + - [Listas desplegables](FormObjects/dropdownList_Overview.md): el evento `On Clicked` ocurre sólo si el usuario selecciona otro valor en el menú. El evento `On Data Change` permite detectar la activación del objeto cuando se selecciona un valor diferente al actual + - Cuando una celda de entrada del list box está [siendo editada](FormObjects/listbox_overview.md#managing-entry), se genera el evento `On Clicked` cuando se presiona el botón del ratón, permitiendo utilizar el comando `Contextual click` por ejemplo. En el contexto de un evento `On Clicked`, se puede comprobar el número de clics realizados por el usuario utilizando el comando `Clickcount`. From 3f5fa512a3fc51867e758d662b27429d6098c35e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:24 +0200 Subject: [PATCH 092/162] New translations ondisplaydetail.md (French) --- .../current/Events/onDisplayDetail.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md index 9bdaffcbeea5b5..51e4b7d4d42184 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md @@ -19,10 +19,10 @@ Un enregistrement est sur le point d'être affiché sous forme de liste affiché Dans ce contexte, la séquence d'appels de méthodes et d'événements de formulaire suivante est déclenchée : -- Pour chaque enregistrement : - - Pour chaque objet de la zone détaillée : - - Méthode objet avec l'événement `On Display Detail` - - Méthode formulaire avec l'événement `On Display Detail` + - Pour chaque enregistrement : + - Pour chaque objet de la zone détaillée : + - Méthode objet avec l'événement `On Display Detail` + - Méthode formulaire avec l'événement `On Display Detail` > La zone d'en-tête est gérée à l'aide de l'événement [`On Header`](onHeader.md). From a2974cc0dd48b220bf3ca7033de43609cebbe19c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:27 +0200 Subject: [PATCH 093/162] New translations ondragover.md (French) --- .../current/Events/onDragOver.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDragOver.md b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDragOver.md index 830756654af344..a6852001e87193 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDragOver.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onDragOver.md @@ -11,8 +11,8 @@ title: On Drag Over L'événement `On Drag Over` est envoyé à plusieurs reprises à l'objet de destination lorsque le pointeur de la souris est déplacé sur l'objet. Généralement, en réponse à cet événement : -- Vous récupérez les données et les signatures présentes dans le conteneur (via la commande `GET PASTEBOARD DATA`). -- En fonction de la nature et du type de données dans le conteneur, vous acceptez ou refusez le glisser-déposer. + - Vous récupérez les données et les signatures présentes dans le conteneur (via la commande `GET PASTEBOARD DATA`). + - En fonction de la nature et du type de données dans le conteneur, vous acceptez ou refusez le glisser-déposer. Pour **rejeter** le glisser, la méthode de l'objet de destination doit retourner -1. Lors d'un événement `On Drag Over`, 4D traite la méthode objet comme une fonction. From df6c245546a7c6b6bd2715e11721efa2a50b5bb3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:36 +0200 Subject: [PATCH 094/162] New translations onheader.md (French) --- .../current/Events/onHeader.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeader.md b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeader.md index c036a0894ce784..959a61907fb292 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeader.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeader.md @@ -15,9 +15,9 @@ L'événement `On Header` est appelé lorsqu'un enregistrement est sur le point Dans ce contexte, la séquence d'appels de méthodes et d'événements de formulaire suivante est déclenchée : -- Pour chaque objet de la zone d'en-tête : - - Méthode objet avec l'événement `On Header` - - Méthode formulaire avec l'événement `On Header` + - Pour chaque objet de la zone d'en-tête : + - Méthode objet avec l'événement `On Header` + - Méthode formulaire avec l'événement `On Header` > Les enregistrements imprimés sont gérés à l'aide de l'événement [`On Display Detail`](onDisplayDetail.md). From b6cf9f8c9562c4f66baafe2a35b7961220440a0b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:39 +0200 Subject: [PATCH 095/162] New translations onheaderclick.md (French) --- .../current/Events/onHeaderClick.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md index 2c99b4f29b928c..bad94509cacfcd 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md @@ -15,8 +15,8 @@ Cet événement est généré lorsqu'un clic se produit sur l'en-tête d'une col Si la propriété [Sortable](FormObjects/properties_Action.md#sortable) a été sélectionnée pour la list box, vous pouvez décider d'autoriser ou non un tri standard de la colonne en passant la valeur 0 ou -1 dans la variable `$0` : -- Si `$0` est égal à 0, un tri standard est effectué. -- Si `$0` est égal à -1, un tri standard n'est pas effectué et l'en-tête n'affiche pas la flèche de tri. Le développeur peut toujours générer un tri de colonne basé sur des critères de tri personnalisés à l'aide du langage 4D. + - Si `$0` est égal à 0, un tri standard est effectué. + - Si `$0` est égal à -1, un tri standard n'est pas effectué et l'en-tête n'affiche pas la flèche de tri. Le développeur peut toujours générer un tri de colonne basé sur des critères de tri personnalisés à l'aide du langage 4D. Si la propriété [Sortable](FormObjects/properties_Action.md#sortable) n'est pas sélectionnée pour la list box, la variable `$0` n'est pas utilisée. From 8e81bd85ee0b3ba2b6f1533b0404fb20b40d46a8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:48 +0200 Subject: [PATCH 096/162] New translations ondisplaydetail.md (Spanish) --- .../current/Events/onDisplayDetail.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md index 7da8ec0758ac85..da0b5c023d90fb 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md @@ -19,10 +19,10 @@ Un registro está a punto de ser visualizado en un formulario de lista que se mu En este contexto, se desencadena la siguiente secuencia de llamadas a métodos y eventos de formulario: -- Para cada registro: - - Para cada objeto en el área detallada: - - Método objeto con el evento `On Display Detail` - - Método formulario con el evento `On Display Detail` + - Para cada registro: + - Para cada objeto en el área detallada: + - Método objeto con el evento `On Display Detail` + - Método formulario con el evento `On Display Detail` > El área del encabezado se maneja utilizando el evento [`On Header`](onHeader.md). From 081ea4e67dce5e0cba75984a40165a111bb06a28 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:52:51 +0200 Subject: [PATCH 097/162] New translations ondragover.md (Spanish) --- .../current/Events/onDragOver.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onDragOver.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onDragOver.md index 5b1c5186896b9a..6b828dc261f3b0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onDragOver.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onDragOver.md @@ -11,8 +11,8 @@ title: On Drag Over El evento `On Drag Over` se envía repetidamente al objeto de destino cuando el puntero del ratón se mueve sobre el objeto. Normalmente, en respuesta a este evento: -- Obtenga los datos y las firmas que se encuentran en portapapeles (mediante el comando `GET PASTEBOARD DATA`). -- Según la naturaleza y el tipo de datos en el portapapeles, se **acepta** o **rechaza** el arrastrar y soltar. + - Obtenga los datos y las firmas que se encuentran en portapapeles (mediante el comando `GET PASTEBOARD DATA`). + - Según la naturaleza y el tipo de datos en el portapapeles, se **acepta** o **rechaza** el arrastrar y soltar. Para **aceptar** el arrastrar, el método del objeto de destino debe devolver 0 (cero). Para **rechazar** el arrastrar, el método de objeto debe retornar -1 (menos uno). From 121c730877f6523d93181e2a6a71ab0a7fd09d0c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:02 +0200 Subject: [PATCH 098/162] New translations onheader.md (Spanish) --- .../current/Events/onHeader.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeader.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeader.md index 6250565075abc7..22491caa86174f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeader.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeader.md @@ -15,9 +15,9 @@ El evento `On Header` se llama cuando un registro está a punto de ser visualiza En este contexto, se desencadena la siguiente secuencia de llamadas a métodos y eventos de formulario: -- Para cada objeto en el área del encabezado: - - Método objeto con el evento `On Header` - - Método formulario con el evento `On Header` + - Para cada objeto en el área del encabezado: + - Método objeto con el evento `On Header` + - Método formulario con el evento `On Header` > Los registros impresos se manejan utilizando el evento [`On Display Detail`](onDisplayDetail.md). From 1a0280413c90661a01eceeb4bee09cc23486924b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:04 +0200 Subject: [PATCH 099/162] New translations onheaderclick.md (Spanish) --- .../current/Events/onHeaderClick.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md b/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md index c09175fbd2a07b..4193db89f0ecc0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md @@ -15,8 +15,8 @@ Este evento se genera cuando se hace clic en el encabezado de una columna de lis Si se seleccionó la propiedad [Sortable](FormObjects/properties_Action.md#sortable) para el list box, se puede decidir si se autoriza o no una ordenación estándar de la columna pasando el valor 0 o -1 en la variable `$0`: -- Si `$0` es igual a 0, se realiza una ordenación estándar. -- Si `$0` es igual a -1, no se realiza una ordenación estándar y el encabezado no muestra la flecha de ordenación. El desarrollador puede seguir generando una ordenación de columnas basada en criterios de ordenación personalizados utilizando el lenguaje 4D. + - Si `$0` es igual a 0, se realiza una ordenación estándar. + - Si `$0` es igual a -1, no se realiza una ordenación estándar y el encabezado no muestra la flecha de ordenación. El desarrollador puede seguir generando una ordenación de columnas basada en criterios de ordenación personalizados utilizando el lenguaje 4D. Si la propiedad [Sortable](FormObjects/properties_Action.md#sortable) no está seleccionada para el list box, la variable `$0` no se utiliza. From 56b8448cd76b165d224d2cdab4c1afd2191932df Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:11 +0200 Subject: [PATCH 100/162] New translations ondisplaydetail.md (Japanese) --- .../current/Events/onDisplayDetail.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md index 0d0c35e49d4599..18ab0753f5e4fa 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md @@ -19,10 +19,10 @@ title: On Display Detail このコンテキストにおいて、メソッドやフォームイベントが呼び出される順序は以下のとおりです: -- レコードごとに: - - 詳細エリアのオブジェクトごとに: - - オブジェクトメソッドの `On Display Detail` イベント - - フォームメソッドの `On Display Detail` イベント + - レコードごとに: + - 詳細エリアのオブジェクトごとに: + - オブジェクトメソッドの `On Display Detail` イベント + - フォームメソッドの `On Display Detail` イベント > ヘッダーエリアは、[`On Header`](onHeader.md) イベントで処理されます。 From 9277452e8f41ee68f779baa410cf8d9a5a6ad1d5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:15 +0200 Subject: [PATCH 101/162] New translations ondragover.md (Japanese) --- .../current/Events/onDragOver.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDragOver.md b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDragOver.md index 4cd0137a1c567d..5816317910d07c 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDragOver.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onDragOver.md @@ -11,8 +11,8 @@ title: On Drag Over `On Drag Over` イベントは、マウスポインターがオブジェクトの上を移動する時に、繰り返しドロップ先オブジェクトに送られます。 このイベントの応答として、開発者は通常、以下のことをおこないます: -- ペーストボード内にあるデータや署名を (`GET PASTEBOARD DATA` コマンドを使用して) 取得する。 -- ペーストボードのデータの状態や型に基づき、ドラッグ&ドロップの **受け付け** または **拒否** をおこないます。 + - ペーストボード内にあるデータや署名を (`GET PASTEBOARD DATA` コマンドを使用して) 取得する。 + - ペーストボードのデータの状態や型に基づき、ドラッグ&ドロップの **受け付け** または **拒否** をおこないます。 ドラッグを **受け付ける** には、ドロップ先のオブジェクトメソッドが 0 (ゼロ) を返さなければなりません。 ドラッグを **拒否** するには、オブジェクトメソッドが -1 (マイナス1) を返さなければなりません。 From 5749b4a13f70fa6fd24b262262ad2835279950d5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:24 +0200 Subject: [PATCH 102/162] New translations onheader.md (Japanese) --- .../current/Events/onHeader.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeader.md b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeader.md index 559ced0ed2d0ce..823b0b85ca3b81 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeader.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeader.md @@ -15,9 +15,9 @@ title: On Header このコンテキストにおいて、メソッドやフォームイベントが呼び出される順序は以下のとおりです: -- ヘッダーエリアのオブジェクトごとに: - - オブジェクトメソッドの `On Header` イベント - - フォームメソッドの `On Header` イベント + - ヘッダーエリアのオブジェクトごとに: + - オブジェクトメソッドの `On Header` イベント + - フォームメソッドの `On Header` イベント > 印刷されるレコードは、[`On Display Detail`](onDisplayDetail.md) イベントで処理されます。 From 8b2acfc2507fd2058c383c7bb7cf7cfd592fc8a7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:26 +0200 Subject: [PATCH 103/162] New translations onheaderclick.md (Japanese) --- .../current/Events/onHeaderClick.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md index 5317c52b286d9f..7120814e5d39cf 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md @@ -15,8 +15,8 @@ title: On Header Click リストボックスで [ソート可](FormObjects/properties_Action.md#ソート可) プロパティが選択されている場合、`$0` に 0 または -1 を渡して標準の並べ替えをおこなうかどうか指定できます: -- `$0 = 0` の場合、標準の並べ替えがおこなわれます。 -- `$0 = -1` の場合、標準の並べ替えはおこなわれず、ヘッダーには並べ替え矢印は表示されません。 開発者は 4Dランゲージを使用して、カスタマイズされた条件に基づく並べ替えを実行できます。 + - `$0 = 0` の場合、標準の並べ替えがおこなわれます。 + - `$0 = -1` の場合、標準の並べ替えはおこなわれず、ヘッダーには並べ替え矢印は表示されません。 開発者は 4Dランゲージを使用して、カスタマイズされた条件に基づく並べ替えを実行できます。 リストボックスで [ソート可](FormObjects/properties_Action.md#ソート可) プロパティが選択されていない場合、`$0` は使用されません。 From 92ea61f203b40c9b5d2514a249d2e39ffca76856 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:31 +0200 Subject: [PATCH 104/162] New translations ondisplaydetail.md (Portuguese, Brazilian) --- .../current/Events/onDisplayDetail.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md index c62d4e53f1c7e2..e6e64421975ec5 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDisplayDetail.md @@ -19,10 +19,10 @@ Um registro está prestes a ser exibido em um formulário de lista exibido via ` Neste contexto, a seguinte sequência de chamadas para os métodos e eventos de formulário é ativada: -- Para cada registo: - - Para cada objecto na área de detalhes: - - Método objecto com o evento `On Display Detail` - - Método formulário com o evento `On Display Detail` + - Para cada registo: + - Para cada objecto na área de detalhes: + - Método objecto com o evento `On Display Detail` + - Método formulário com o evento `On Display Detail` > A área do cabeçalho é tratada usando o evento [`On Header`](onHeader.md). From 47cb32c1a4be7e6d58155064669df689b9eda346 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:34 +0200 Subject: [PATCH 105/162] New translations ondragover.md (Portuguese, Brazilian) --- .../current/Events/onDragOver.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDragOver.md b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDragOver.md index 3e97f1006409be..e91261464d1b11 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDragOver.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onDragOver.md @@ -11,8 +11,8 @@ title: On Drag Over O evento `Ao Arrastar Para` é repetidamente enviado para o objeto de destino quando o ponteiro do mouse é movido sobre o objeto. Em resposta a este evento, normalmente: -- Obtenha os dados e assinaturas encontrados no pasteboard (via o comando `GET PASTEBOARD DATA`). -- Dependendo da natureza e do tipo de dados na área de transferência, você **aceita** ou **rejeita** o arrastar e soltar. + - Obtenha os dados e assinaturas encontrados no pasteboard (via o comando `GET PASTEBOARD DATA`). + - Dependendo da natureza e do tipo de dados na área de transferência, você **aceita** ou **rejeita** o arrastar e soltar. Para **aceitar** a arraste, o método objeto de destino deve retornar 0 (zero). Para **rejeitar** o arraste, o método objeto deve retornar -1 (menos um). From 596f02446b0f98cb63ff5c7de4c3762ac7ca10d0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:42 +0200 Subject: [PATCH 106/162] New translations onheader.md (Portuguese, Brazilian) --- .../current/Events/onHeader.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeader.md b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeader.md index 363dd6ab83aa0d..e5dad3403346ed 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeader.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeader.md @@ -15,9 +15,9 @@ El evento `On Header` se llama cuando un registro está a punto de ser visualiza Neste contexto, a seguinte sequência de chamadas para os métodos e eventos de formulário é ativada: -- Para cada objecto na área do cabeçalho: - - Método objeto con el evento `On Header` - - Método formulario con el evento `On Header` + - Para cada objecto na área do cabeçalho: + - Método objeto con el evento `On Header` + - Método formulario con el evento `On Header` > Os registros impressos são tratados usando o evento [`On Display Detail`](onDisplayDetail.md). From 20638eced79a216b1c7bdfd8b5d61c26c46d4d03 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 15:53:45 +0200 Subject: [PATCH 107/162] New translations onheaderclick.md (Portuguese, Brazilian) --- .../current/Events/onHeaderClick.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md index 8fb9d7da298645..8539316186b800 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Events/onHeaderClick.md @@ -15,8 +15,8 @@ Esse evento é gerado quando ocorre um clique no cabeçalho de uma coluna de lis Se a propriedade [Sortable](FormObjects/properties_Action.md#sortable) tiver sido selecionada para o list box, você poderá decidir se autoriza ou não uma classificação padrão da coluna passando o valor 0, ou -1 na variável `$0`: -- Se `$0` for igual a 0, é efetuada uma ordenação padrão. -- Se `$0` for igual a -1, uma classificação padrão não será executada e o cabeçalho não exibirá a seta de classificação. O desenvolvedor ainda pode gerar uma classificação de coluna com base em critérios de classificação personalizados usando a linguagem 4D. + - Se `$0` for igual a 0, é efetuada uma ordenação padrão. + - Se `$0` for igual a -1, uma classificação padrão não será executada e o cabeçalho não exibirá a seta de classificação. O desenvolvedor ainda pode gerar uma classificação de coluna com base em critérios de classificação personalizados usando a linguagem 4D. Se a propriedade [Sortable](FormObjects/properties_Action.md#sortable) não estiver selecionada para o list box, a variável `$0` não será usada. From 81b01df6bfa1402215ef7aee34ebaaf2a53cfb43 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:19:36 +0200 Subject: [PATCH 108/162] New translations dt_object.md (French) --- .../version-20-R9/Concepts/dt_object.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/dt_object.md index b88508734d8617..3924c360e26858 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/dt_object.md @@ -42,18 +42,18 @@ Les objets doivent avoir été instanciés, sinon toute tentative de lecture ou L'instanciation d'un objet peut se faire de l'une des manières suivantes : -- using the [`New object`](../commands-legacy/new-object.md) command, +- en utilisant la commande [`New object`](../commands-legacy/new-object.md), - en utilisant l'opérateur `{}`. :::info -Several 4D commands and functions return objects, for example [`Database measures`](../commands-legacy/database-measures.md) or [`File`](../commands/file.md). Dans ce cas, il n'est pas nécessaire d'instancier explicitement l'objet, le langage 4D le fait pour vous. +Plusieurs commandes et fonctions 4D renvoient des objets, par exemple [`Database measures`](../commands-legacy/database-measures.md) ou [`File`](../commands/file.md). Dans ce cas, il n'est pas nécessaire d'instancier explicitement l'objet, le langage 4D le fait pour vous. ::: ### Commande `New object` -The [`New object`](../commands-legacy/new-object.md) command creates a new empty or prefilled object and returns its reference. +La commande [`New object`](../commands-legacy/new-object.md) crée un nouvel objet vide ou pré-rempli et renvoie sa référence. Exemples : @@ -110,8 +110,8 @@ $col:=$o.col[5] //6 Vous pouvez créer deux types d'objets : -- regular (non-shared) objects, using the [`New object`](../commands-legacy/new-object.md) command or object literal syntax (`{}`). Ces objets peuvent être modifiés sans contrôle d'accès spécifique mais ne peuvent pas être partagés entre les process. -- Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. shared objects, using the [`New shared object`](../commands-legacy/new-shared-object.md) command. +- des objets ordinaires (non partagés), en utilisant la commande [`New object`](../commands-legacy/new-object.md) ou la syntaxe littérale des objets (`{}`). Ces objets peuvent être modifiés sans contrôle d'accès spécifique mais ne peuvent pas être partagés entre les process. +- des objets partagés, en utilisant la commande [`New shared object`](../commands-legacy/new-shared-object.md). Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. L'accès à ces objets doit être contrôlé via des structures `Use...End use`. Pour plus d'informations, consultez la section [Objets et collections partagés](shared.md). ## Propriétés From bbed9741364c1e9ee9d12de41b7fedb48ac2e933 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:20:38 +0200 Subject: [PATCH 109/162] New translations error-handling.md (French) --- .../version-20-R9/Concepts/error-handling.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/error-handling.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/error-handling.md index 445a1d2b166e01..b0b53478cfd65d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/error-handling.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/error-handling.md @@ -229,8 +229,8 @@ Le code placé entre les mots-clés `Try` et `Catch` est d'abord exécuté, puis - Si aucune erreur n'est levée, l'exécution du code se poursuit après le mot clé `End try` correspondant. Le code placé entre les mots-clés `Catch` et `End try` n'est pas exécuté. - Si l'exécution du bloc de code génère une *erreur non différée*, le flux d'exécution s'arrête et exécute le bloc de code `Catch` correspondant. -- If the code block calls a method that throws a *deferred error*, the execution flow jumps directly to the corresponding `Catch` code block. -- If a deferred error is directly thrown from the `Try` block, the execution flow continues until the end of the `Try` block and does not execute the corresponding `Catch` block. +- Si le bloc de code appelle une méthode qui lance une *erreur différée*, le flux d'exécution passe directement au bloc de code `Catch` correspondant. +- Si une erreur différée est directement lancée depuis le bloc `Try`, le flux d'exécution continue jusqu'à la fin du bloc `Try` et n'exécute pas le bloc `Catch` correspondant. :::note @@ -240,7 +240,7 @@ Si une erreur *différée* est générée en dehors du bloc `Try`, l'exécution :::info -For more information on *deferred* and *non-deferred* errors, please refer to the [`throw`](../commands-legacy/throw.md) command description. +Pour plus d'informations sur les erreurs *différées* et *non différées*, veuillez vous référer à la description de la commande [`throw`](../commands-legacy/throw.md). ::: From 69b2ccf373077970981b3d6486230df44f3e3d6d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:20:40 +0200 Subject: [PATCH 110/162] New translations flow-control.md (French) --- .../version-20-R9/Concepts/flow-control.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/flow-control.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/flow-control.md index 6d1c25461cd9d0..3ee720767c645f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/flow-control.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/flow-control.md @@ -38,7 +38,7 @@ A noter que l'élément `Else` est optionnel, vous pouvez écrire : End if ``` -La structure `If...Else...End if` permet à votre méthode de choisir dans une alternative, en fonction du résultat, TRUE ou FALSE, d’un test (une expression booléenne). Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. Si l’expression booléenne est FALSE, les instructions suivant la ligne Else sont exécutées. Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. +La structure `If...Else...End if` permet à votre méthode de choisir dans une alternative, en fonction du résultat, TRUE ou FALSE, d’un test (une expression booléenne). Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. Si l’expression booléenne est FALSE, les instructions suivant la ligne Else sont exécutées. Le `Else` est optionnel ; lorsqu’il est omis, c’est la première ligne d’instructions suivant le `End if` (s’il y en a une) qui est exécutée. A noter que l'expression booléenne est toujours évaluée en totalité. Examinons en particulier le test suivant : @@ -324,7 +324,7 @@ End for La structure `For...End for` est une boucle contrôlée par un compteur : - La variable compteur *Counter_Variable* est une variable numérique (Réel ou Entier long) initialisée par `For...End for` à la valeur spécifiée par *Start_Expression*. -- La variable Variable_Compteur est incrémentée de la valeur spécifiée par le paramètre optionnel *Increment_Expression* à chaque fois que la boucle est exécutée. Si vous ne passez pas de valeur dans *Increment_Expression*, la variable compteur est incrémentée par défaut de un (1). +- Chaque fois que la boucle est exécutée, la variable compteur est incrémentée de la valeur spécifiée dans l'expression facultative *Increment_Expression*. Si vous ne passez pas de valeur dans *Increment_Expression*, la variable compteur est incrémentée par défaut de un (1). - Lorsque le compteur atteint la valeur définie par *End_Expression*, la boucle s'arrête. **Important :** Les expressions numériques *Start_Expression*, *End_Expression* et *Increment_Expression* sont évaluées une seule fois, au début de la boucle. Si ces expressions sont des variables, leur modification depuis l'intérieur de la boucle n'affectera pas l'exécution de la boucle. From ff6785f215dc60dd663c6773bf7a0c848038b655 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:20:42 +0200 Subject: [PATCH 111/162] New translations identifiers.md (French) --- .../version-20-R9/Concepts/identifiers.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/identifiers.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/identifiers.md index 46e95761c6c678..d2ed5a8c5d3885 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/identifiers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/identifiers.md @@ -29,7 +29,7 @@ Les noms de fonctions doivent être conformes aux [règles standard de nommage d Le nom d'une propriété d'objet (aussi appelé *attribut*) peut contenir jusqu'à 255 caractères. -Les propriétés d'objets peuvent référencer des valeurs scalaires, des éléments ORDA, des fonctions de classe, d'autres objets, etc. Whatever their nature, object property names must follow the following rules **if you want to use the [dot notation](./dt_object.md#properties)**: +Les propriétés d'objets peuvent référencer des valeurs scalaires, des éléments ORDA, des fonctions de classe, d'autres objets, etc. Quelle que soit leur nature, les noms des propriétés des objets doivent suivre les règles suivantes **si vous voulez utiliser la [notation à points](./dt_object.md#properties)** : - Un nom de propriété doit commencer par une lettre, un trait de soulignement ("_") ou un dollar ("$"). - Ensuite, le nom peut inclure des lettres, des chiffres, des traits de soulignement ("_") ou des dollars ("$"). @@ -128,28 +128,28 @@ QUERY([Clients];[Clients]Name="Smith") Le nom d'une variable peut comporter jusqu'à 31 caractères, sans compter les symboles de portée (`$` ou `<>`). -- A variable name must begin with a letter, an underscore, or a dollar ("$") for [parameters](parameters.md) and [local variables](variables.md#local-variables), or `<>` for [interprocess variables](variables.md#interprocess-variables) (deprecated). +- Le nom d'une variable doit commencer par une lettre, un trait de soulignement ou un dollar ("$") pour les [paramètres](parameters.md) et les [variables locales](variables.md#local-variables), ou par `<>` pour les [variables interprocess](variables.md#interprocess-variables) (obsolète). - Ensuite, le nom peut inclure des lettres, chiffres, et traits de soulignement ("_"). -- Do not use reserved names, i.e. 4D command names (`Date`, `Time`, etc), keywords (`If`, `For`, etc.), system variable names (`OK`, `document`...), or constant names (`Euro`, `Black`, `Friday`, etc.). +- N'utilisez pas de noms réservés, c'est-à-dire des noms de commandes 4D (`Date`, `Time`, etc.), des mots-clés (`If`, `For`, etc.), des noms de variables système (`OK`, `document`...), ou des noms de constantes (`Euro`, `Black`, `Friday`, etc.). - Les noms de variables ne sont PAS sensibles à la casse. Exemples : ```4d -For($vlRecord;1;100) //local variable -$vsMyString:="Hello there" //local variable -var $vName; $vJob : Text //local variales -If(bValidate=1) //process variable -<>vlProcessID:=Current process() //interprocess variable +For($vlRecord;1;100) //variable locale +$vsMyString:="Hello there" //variable locale +var $vName; $vJob : Text //variables locales +If(bValidate=1) //variable process +<>vlProcessID:=Current process() //variable interprocess ``` ### Compatibilité -Some naming practices were previously allowed but are no longer supported when the [direct typing mode is enabled](../Project/compiler.md#enabling-direct-typing) (introduced in 4D 20 R7). Enabling this mode will produce syntax errors if: +Certaines pratiques de dénomination étaient auparavant autorisées mais ne sont plus prises en charge lorsque le [mode de typage direct est activé](../Project/compiler.md#enabling-direct-typing) (introduit dans 4D 20 R7). L'activation de ce mode produira des erreurs de syntaxe si : -- a variable name has a digit as first character, -- a variable name contains space characters, -- you declared variables named $0, $1, etc. +- le nom d'une variable commence par un chiffre, +- un nom de variable contient des caractères d'espacement, +- vous avez déclaré des variables nommées $0, $1, etc. ## Autres noms From fb1bc1142741e3473ef60ef3abf9d0b97bbbd21e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:20:46 +0200 Subject: [PATCH 112/162] New translations methods.md (French) --- .../version-20-R9/Concepts/methods.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/methods.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/methods.md index 8defd0b508c701..f3efd235b06ec0 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/methods.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/methods.md @@ -201,12 +201,12 @@ Cette boîte de dialogue répertorie toutes les méthodes projet de la base, y c Pour exécuter une méthode de projet, il suffit de sélectionner son nom dans la liste et de cliquer sur **Exécuter**. Pour exécuter une méthode étape par étape en mode Debug, cliquez sur **Debug**. Pour plus d'informations sur le débogueur 4D, reportez-vous à la section [Debugging](../Debugging/basics.md) . -Si vous cochez la case **Nouveau Process** , la méthode que vous avez sélectionnée s'exécute dans un autre process. Si la méthode effectue une tâche qui prend du temps, comme l'impression d'un grand nombre d'enregistrements, vous pouvez continuer à travailler avec votre base, en ajoutant des enregistrements à une table, en créant un graphe pour afficher les données, etc. For more information about processes, refer to [Processes](../Develop/processes.md). +Si vous cochez la case **Nouveau Process** , la méthode que vous avez sélectionnée s'exécute dans un autre process. Si la méthode effectue une tâche qui prend du temps, comme l'impression d'un grand nombre d'enregistrements, vous pouvez continuer à travailler avec votre base, en ajoutant des enregistrements à une table, en créant un graphe pour afficher les données, etc. Pour plus d'informations sur les process, voir [Process](../Develop/processes.md). **Notes 4D Server**: - Si vous souhaitez que la méthode soit exécutée sur la machine serveur plutôt que sur la machine cliente, sélectionnez l'option **Sur 4D Server** dans le menu Exécuter : Dans ce cas, un nouveau process, appelé *procédure stockée*, est créé sur la machine serveur afin d'exécuter la méthode. Dans ce cas, un nouveau process, appelé *procédure stockée*, est créé sur la machine serveur afin d'exécuter la méthode. Cette option peut être utilisée pour réduire le trafic réseau et optimiser le fonctionnement de 4D Server, en particulier pour les méthodes qui appellent des données stockées sur le disque. Tous les types de méthodes peuvent être exécutés sur la machine serveur ou sur une autre machine cliente, à l'exception de celles qui modifient l'interface utilisateur. Dans ce cas, les procédures stockées sont inefficaces. -- Vous pouvez également choisir d'exécuter la méthode sur un autre poste client. Other client workstations will not appear in the menu, unless they have been previously "registered" (for more information, refer to the description of the [REGISTER CLIENT](../commands-legacy/register-client.md). +- Vous pouvez également choisir d'exécuter la méthode sur un autre poste client. Les autres postes clients n'apparaîtront pas dans le menu, sauf s'ils ont été préalablement "enregistrés" (pour plus d'informations, se référer à la description de [REGISTER CLIENT](../commands-legacy/register-client.md). Par défaut, l'option **En local** est sélectionnée. Avec la version mono-utilisateur de 4D, c'est la seule option disponible. From 4029382248ab86ce149266bd963f3a19bd19a6af Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:20:49 +0200 Subject: [PATCH 113/162] New translations parameters.md (French) --- .../version-20-R9/Concepts/parameters.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/parameters.md index d3f3e0941d5828..ba81a5f63875ff 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/parameters.md @@ -35,7 +35,7 @@ EXECUTER METHOD IN SUBFORM("Cal2";"SetCalendarDate";*;!05/05/20!) //dans le contexte d'un sous-formulaire ``` -Les données peuvent également être **retournées** à partir de méthodes et de fonctions de classe. Par exemple, la ligne d’instruction suivante utilise une commande 4D, `Length`, qui retourne la longueur d’une chaîne. La valeur retournée par `Longueur` est placée dans une variable appelée *MaLongueur*. +Les données peuvent également être **retournées** à partir de méthodes et de fonctions de classe. Par exemple, la ligne d’instruction suivante utilise une commande 4D, `Length`, qui retourne la longueur d’une chaîne. Dans cette instruction, la valeur retournée par `Length` est placée dans une variable appelée *MaLongueur* : ```4d MaLongueur:=Length("Comment suis-je arrivé là ?") @@ -47,7 +47,7 @@ Les valeurs d'entrée et de sortie sont [évaluées](#values-or-references) au m :::info Compatibilité -The legacy declaration syntax, where parameters are automatically copied in sequentially numbered local variables $0, $1, etc. and declared using compiler directives such as `C_TEXT($1;$2)`, is **deprecated** as of 4D 20 R7. +L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement copiés dans des variables locales numérotées séquentiellement $0, $1, etc. et déclarés en utilisant des directives du compilateur telles que `C_TEXT($1;$2)`, est **dépréciée** à partir de 4D 20 R7. ::: @@ -124,16 +124,16 @@ Function add($x : Variant; $y : Integer): Integer Les paramètres, y compris la valeur retournée, doivent être déclarés une seule fois. En particulier, vous ne pouvez pas déclarer le même paramètre en tant qu'entrée et sortie, même avec le même type. Par exemple : ```qs - //invalid declaration + //déclaration invalide Function myTransform ($x : Integer) -> $x : Integer - //error: $x is declared twice + //error: $x est déclaré deux fois ``` ::: ### Type de données pris en charge -With named parameters, you can use the same data types as those which are [supported by the `var` keyword](variables.md), including class objects. Par exemple : +Avec les paramètres nommés, vous pouvez utiliser les mêmes types de données que ceux qui sont [supportés par le mot-clé `var`](variables.md), y compris les objets de classe. Par exemple : ```4d Function saveToFile($entity : cs.ShapesEntity; $file : 4D.File) @@ -170,7 +170,7 @@ Function square($x : Integer) -> $result : Integer :::note -Internally, `return x` executes `myReturnValue:=x`, and returns to the caller. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *indéfinie*. +En interne, `return x` exécute `myReturnValue:=x`, et retourne à l'appelant. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *undefined*. ::: @@ -184,13 +184,13 @@ Function getValue -> $v : Integer Function getValue -> $v : Integer return 10 - $v:=20 // never executed + $v:=20 // jamais exécuté // returns 10 ``` ## Indirections sur les paramètres (${N}) -Les méthodes et fonctions 4D acceptent un nombre variable de paramètres. Au sein de la méthode, une adresse d'indirection est formatée `${N}`, où `N` est une expression numérique. You can address those parameters with a `For...End for` loop, the [`Count parameters`](../commands-legacy/count-parameters.md) command and the **parameter indirection syntax**. +Les méthodes et fonctions 4D acceptent un nombre variable de paramètres. Vous pouvez traiter ces paramètres avec une boucle `For...End for`, la commande [`Count parameters`](../commands-legacy/count-parameters.md) et la **syntaxe d'indirection des paramètres**. Au sein de la méthode, une adresse d'indirection est formatée `${N}`, où `N` est une expression numérique. ### Utilisation des paramètres variadiques @@ -214,7 +214,7 @@ Les paramètres de la méthode doivent être passés dans le bon ordre : le form Result:=MySum("000";1;2;200) //"203" ``` -Notez que même si vous avez déclaré 0, 1, ou plus paramètres, vous pouvez toujours passer le nombre de paramètres que vous voulez. Tous les paramètres sont accessibles dans le code appelé via la syntaxe `${N}` et le type des paramètres supplémentaires est [Variant](dt_variant.md) par défaut (vous pouvez les déclarer en utilisant la notation variadique [](#declaring-variadic-parameter Il vous suffit de vous assurer que les paramètres existent, grâce à la commande [`Count parameters`](https://doc.4d.com/4dv20/help/command/fr/page259.html). You just need to make sure parameters exist, thanks to the [`Count parameters`](../commands-legacy/count-parameters.md) command. Par exemple : +Notez que même si vous avez déclaré 0, 1, ou plus paramètres, vous pouvez toujours passer le nombre de paramètres que vous voulez. Tous les paramètres sont accessibles dans le code appelé via la syntaxe `${N}` et le type des paramètres supplémentaires est [Variant](dt_variant.md) par défaut (vous pouvez les déclarer en utilisant la [notation variadique](#declaring-variadic-parameter)). Il suffit de s'assurer que les paramètres existent, grâce à la commande [`Count parameters`](../commands-legacy/count-parameters.md). Par exemple : ```4d //foo method @@ -279,23 +279,23 @@ return $total ``` -Cette méthode peut être appelée avec un nombre variable de paramètres Real. Dans le cas d'un paramètre de type incorrect, une erreur sera renvoyée avant que la méthode ne soit exécutée : +Cette méthode peut être appelée avec un nombre variable de paramètres réels. Dans le cas d'un paramètre de type incorrect, une erreur sera renvoyée avant que la méthode ne soit exécutée : ```4d -$total1:=SumNumbers // returns 0 -$total2:=SumNumbers(1; 2; 3; 4; 5) // returns 15 -$total3:=SumNumbers(1; 2; "hello"; 4; 5) // error +$total1:=SumNumbers // renvoie 0 +$total2:=SumNumbers(1 ; 2 ; 3 ; 4 ; 5) // renvoie 15 +$total3:=SumNumbers(1 ; 2 ; "hello" ; 4 ; 5) // erreur ``` :::note Compatibilité -The legacy syntax for declaring variadic parameters (`C_TEXT(${4})`) is deprecated as of 4D 20 R7. +L'ancienne syntaxe de déclaration des paramètres variadiques (`C_TEXT(${4})`) est obsolète à partir de 4D 20 R7. ::: -## Triggers and On Drag Over +## Triggers et On Drag Over Certains contextes ne prennent pas en charge la déclaration dans une méthode "Compiler_", ils sont donc gérés de manière spécifique : @@ -377,7 +377,7 @@ $para.Age:=Num($para.Age)+$para.toAdd ALERT(String($para.Name)+" is "+String($para.Age)+" years old.") ``` -Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. +Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours comme dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. Avec les variables nommées, n'importe quel paramètre peut être optionnel. Dans l'exemple ci-dessus, tous les paramètres sont optionnels et peuvent être donnés, dans n'importe quel ordre. @@ -451,55 +451,55 @@ Lorsque les paramètres sont nécessaires dans vos méthodes, vous pouvez égale Lorsque vous passez un paramètre, 4D évalue toujours l'expression du paramètre dans le contexte de la méthode appelée et affecte la **valeur résultante** aux variables locales dans la fonction de classe ou la sous-routine. Les variables/paramètres locaux ne correspondent pas aux véritables champs, variables ou expressions passés par la méthode appelée; ils contiennent uniquement les valeurs qui n'ont pas été passées. Les variables/paramètres locaux ne correspondent pas aux véritables champs, variables ou expressions passés par la méthode appelée; ils contiennent uniquement les valeurs qui n'ont pas été passées. Par exemple : ```4d - //Here is some code from the method MY_METHOD -DO_SOMETHING([People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY_METHOD +DO_SOMETHING([People]Name) //La valeur de [People]Name est "williams" ALERT([People]Name) - //Here is the code of the method DO_SOMETHING + //Code de la méthode DO_SOMETHING #DECLARE($param : Text) $param:=Uppercase($param) ALERT($param) ``` -La boîte de dialogue d'alerte affichée par `DO_SOMETHING` contiendra "WILLIAM" et celle affichée par `MY_METHOD` contiendra "william". The method locally changed the value of the parameter $param, but this does not affect the value of the field `[People]Name` passed as parameter by the method `MY_METHOD`. +La boîte de dialogue d'alerte affichée par `DO_SOMETHING` contiendra "WILLIAM" et celle affichée par `MY_METHOD` contiendra "william". La méthode a modifié localement la valeur du paramètre $param, mais cela n'affecte pas la valeur du champ `[People]Name` passé en paramètre par la méthode `MY_METHOD`. Si vous voulez réellement que la méthode `DO_SOMETHING` modifie la valeur du champ, deux solutions s'offrent à vous : 1. Plutôt que de passer le champ à la méthode, vous lui passez un pointeur : ```4d - //Here is some code from the method MY_METHOD -DO_SOMETHING(->[People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY_METHOD +DO_SOMETHING(->[People]Name) //La valeur de [People]Name est "williams" ALERT([People]Last Name) - //Here the code of the method DO_SOMETHING + //Code de la méthode DO_SOMETHING #DECLARE($param : Text) $param->:=Uppercase($param->) ALERT($param->) ``` -Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Therefore, within the `DO SOMETHING` method, $param is no longer the value of the field but a pointer to the field. Par conséquent, la modification de l'objet référencé dépasse les limites de la sous-routine et le champ lui-même est affecté. Dans cet exemple, les deux boîtes de dialogue d'alerte afficheront "WILLIAMS". +Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Par conséquent, dans la méthode `DO SOMETHING`, $param n'est plus la valeur du champ mais un pointeur sur le champ. L'objet **référencé** par $param ($param-> dans le code ci-dessus) est le champ lui-même. Par conséquent, la modification de l'objet référencé dépasse les limites de la sous-routine et le champ lui-même est affecté. Dans cet exemple, les deux boîtes de dialogue d'alerte afficheront "WILLIAMS". 2. Plutôt que la méthode `DO_SOMETHING` “fasse quelque chose”, vous pouvez la réécrire de manière à ce qu'elle retourne une valeur. ```4d - //Here is some code from the method MY METHOD - [People]Name:=DO_SOMETHING([People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY METHOD + [People]Name:=DO_SOMETHING([People]Name) ALERT([People]Name) - //Here the code of the method DO SOMETHING + //Code de la méthode DO SOMETHING #DECLARE ($param : Text) -> ($result : Text) $result:=Uppercase($param) ALERT($result) ``` -This second technique of returning a value by a subroutine is called "using a function". This is described in the [Returning values](#returned-value) paragraph. +Cette deuxième technique de retour d'une valeur par un sous-programme est appelée "utilisation d'une fonction". Ceci est décrit dans le paragraphe [Valeurs de retour](#returned-value). ### Cas particuliers : objets et collections Vous devez faire attention au fait que les types de données Objet et Collection ne peuvent être gérés que par une référence (c'est-à-dire un *pointeur interne*). -Consequently, when using such data types as parameters, `$param, $return...` do not contain *values* but *references*. Modifying the value of the `$param, $return...` parameters within the subroutine will be propagated wherever the source object or collection is used. This is the same principle as for [pointers](dt_pointer.md#pointers-as-parameters-to-methods), except that `$param, $return...` parameters do not need to be dereferenced in the subroutine. +Par conséquent, lorsque de tels types de données sont utilisés comme paramètres, `$param, $return...` ne contiennent pas de *valeurs* mais des *références*. La modification de la valeur des paramètres `$param, $return...` dans la sous-routine sera propagée partout où l'objet ou la collection source est utilisé(e). C'est le même principe que pour les [pointeurs](dt_pointer.md#pointers-as-parameters-to-methods), sauf que les paramètres `$param, $return...` n'ont pas besoin d'être déréférencés dans le sous-programme. Par exemple, considérons la méthode `CreatePerson`, qui crée un objet et qui l'envoie comme paramètre : From 027a0883e0153d1d274a338e3335b2dcd54a8172 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:21:48 +0200 Subject: [PATCH 114/162] New translations shared.md (French) --- .../version-20-R9/Concepts/shared.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/shared.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/shared.md index 671793d7b44560..fc2a0f6ea7015f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/shared.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/shared.md @@ -3,14 +3,14 @@ id: shared title: Objets et collections partagés --- -**Les objets partagés** et **les collections partagées** sont des [objets](./dt_object.md) et des [collections](./dt_collection.md) spécifiques dont le contenu est partagé entre les process. In contrast to [interprocess variables](./variables.md#interprocess-variables), shared objects and shared collections have the advantage of being compatible with **preemptive 4D processes**: they can be passed by reference as parameters to commands such as [`New process`](../commands-legacy/new-process.md) or [`CALL WORKER`](../commands-legacy/call-worker.md). +**Les objets partagés** et **les collections partagées** sont des [objets](./dt_object.md) et des [collections](./dt_collection.md) spécifiques dont le contenu est partagé entre les process. Contrairement aux [variables interprocess](./variables.md#interprocess-variables), les objets partagés et les collections partagées ont l'avantage d'être compatibles avec les **process 4D préemptifs** : ils peuvent être passés par référence en tant que paramètres à des commandes telles que [`New process`](../commands-legacy/new-process.md) ou [`CALL WORKER`](../commands-legacy/call-worker.md). Les objets partagés et les collections partagées sont stockés dans des variables standard de type [`Object`](./dt_object.md) et [`Collection`](./dt_collection.md), mais doivent être instanciés à l'aide de commandes spécifiques : -- to create a shared object, use the [`New shared object`](../commands-legacy/new-shared-object.md) command or call the [`new()`](../API/ClassClass.md#new) function of a [shared class](./classes.md#shared-classes), +- pour créer un objet partagé, utilisez la commande [`New shared object`](../commands-legacy/new-shared-object.md) ou appelez la fonction [`new()`](../API/ClassClass.md#new) d'une [classe partagée](./classes.md#shared-classes), - pour créer une collection partagée, utilisez la commande [`New shared collection`](../commands/new-shared-collection.md). -Shared objects and collections can only contain scalar values or other shared objects and collections. However, shared objects and collections can be set as properties of standard (not shared) objects or collections. +Les objets et collections partagés ne peuvent contenir que des valeurs scalaires ou d'autres objets et collections partagés. Toutefois, les objets et collections partagés peuvent être définis comme des propriétés d'objets ou de collections standard (non partagés). Toute modification d'un objet/d'une collection partagé(e) doit s'effectuer à l'intérieur d'une structure **Use...End use**. La lecture d'une valeur d'objet/collection ne nécessite pas de structure **Use...End use**. @@ -29,7 +29,7 @@ Les modifications suivantes peuvent être effectuées sur les objets partagés e :::note -Keep in mind that objects or collections set as the content of a shared object or collection must themselves be shared. +N'oubliez pas que les objets ou collections définis comme contenu d'un objet ou d'une collection partagé(e) doivent eux-mêmes être partagés. ::: @@ -61,7 +61,7 @@ End use Un objet/une collection partagé(e) ne peut être modifié(e) que par un seul process à la fois. `Use` verrouille l'objet/la collection partagé(e) pour les autres threads, tandis que `End use` déverrouille l'objet/la collection partagé(e) (si le compteur de verrouillage est à 0, voir ci-dessous). . Toute tentative de modification d'un objet/d'une collection partagé(e) sans au moins un appel à `Use...End use` génère une erreur. Lorsqu'un process appelle `Use...End use` avec un objet/une collection partagé(e) qui est déjà "utilisé(e)" par un autre process, il est simplement mis en attente jusqu'à ce qu'il soit déverrouillé par l'appel à `End use` (aucune erreur n'est générée). En conséquence, les instructions situées à l'intérieur des structures `Use...End use` doivent toujours s'exécuter rapidement et déverrouiller les éléments dès que possible. Il est donc fortement déconseillé de modifier un objet ou une collection partagé(e) directement depuis l'interface, par exemple depuis une boîte de dialogue. -L'assignation d'objets/collections partagé(e) s à des propriétés ou éléments d'autres objets/collections partagé(e) s est autorisée et entraîne la création de **groupes partagés**. Un groupe partagé est automatiquement créé lorsqu'un objet ou une collection partagé(e) est assigné(e) en tant que valeur de propriété ou élément à un autre objet ou collection partagé(e). Les groupes partagés permettent d'imbriquer des objets et collections partagé(e)s mais nécessitent d'observer des règles supplémentaires : +L'assignation d'objets/collections partagé(e)s à des propriétés ou éléments d'autres objets/collections partagé(e)s est autorisée et entraîne la création de **groupes partagés**. Un groupe partagé est automatiquement créé lorsqu'un objet ou une collection partagé(e) est assigné(e) en tant que valeur de propriété ou élément à un autre objet ou collection partagé(e). Les groupes partagés permettent d'imbriquer des objets et collections partagé(e)s mais nécessitent d'observer des règles supplémentaires : - L'appel de `Use` avec un(e) objet/collection partagé(e) appartenant à un groupe provoquera le verrouillage des propriétés/éléments de tous/toutes les objets/collections partagé(e) s du groupe et incrémente son compteur de verrouillage. L'appel à `End use` décrémente le compteur de verrouillage du groupe et lorsque le compteur est à 0, tous les objets ou collections partagés partagés sont déverrouillés. - Un objet ou une collection partagé(e) peut appartenir à un seul groupe partagé. Une erreur est générée si vous tentez d'assigner un objet ou une collection appartenant déjà à un groupe à un groupe différent. @@ -81,11 +81,11 @@ Appeler `OB Copy` avec un objet partagé (ou avec un objet dont des propriétés ### Storage -**Storage** est un objet partagé unique, disponible automatiquement pour chaque application et machine. Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. +**Storage** est un objet partagé unique, disponible automatiquement pour chaque application et machine. Cet objet partagé est renvoyé par la commande [`Storage`](../commands-legacy/storage.md). Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. A noter que, à la différence de objets partagés standard, l'objet `Storage` ne crée par de groupe partagé lorsque des objets/collection lui sont assigné(e)s en tant que propriétés. Cette exception permet à l'objet **Storage** d'être utilisé sans verrouiller les objets/collections partagé(e)s connecté(e)s. -For more information, refer to the [`Storage`](../commands-legacy/storage.md) command description. +Pour plus d'informations, consultez la description de la commande [`Storage`](../commands-legacy/storage.md). ## Use...End use @@ -108,13 +108,13 @@ Les objets partagés et les collections partagées permettent d'établir des com - La ligne **End use** déverrouille les propriétés de *Shared_object_or_Shared_collection* et tous les objets du même groupe. - Plusieurs structures **Use...End use** peuvent être imbriquées dans le code 4D. Toute modification d'un objet/d'une collection partagé(e) doit s'effectuer à l'intérieur d'une structure **Use...End use**. -### Automatic Use...End use calls +### Appels Use...End use automatiques -The following features automatically trigger an internal **Use/End use**, making an explicit call to the structure unnecessary when it is executed: +Les fonctions suivantes déclenchent automatiquement un **Use/End use** interne, rendant un appel explicite à la structure inutile lors de l'exécution de la fonction : - [fonctions de collection](../API/CollectionClass.md) qui modifient les collections partagées, -- [`ARRAY TO COLLECTION`](../commands-legacy/array-to-collection.md) command, -- [`OB REMOVE`](../commands-legacy/ob-remove.md) command, +- commande [`ARRAY TO COLLECTION`](../commands-legacy/array-to-collection.md), +- commande [`OB REMOVE`](../commands-legacy/ob-remove.md), - [fonctions partagées](classes.md#fonctions-partagees) (définies dans les [classes partagées](classes.md#classes-partagees)). ## Exemple 1 From 227675fa6c8d3e64a8afe7ad50726b5c326488c6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:21:50 +0200 Subject: [PATCH 115/162] New translations variables.md (French) --- .../version-20-R9/Concepts/variables.md | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/variables.md index adeb86a7eb85e3..e88a916f5bb4f2 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/variables.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Concepts/variables.md @@ -17,7 +17,7 @@ Les variables sont des objets du langage; vous pouvez créer et utiliser des var ## Déclaration des variables -You create variables by declaring them using the `var` keyword. +Vous créez des variables en les déclarant à l'aide du mot-clé `var`. Lorsque les variables sont déclarées, elles sont initialisées à la [**valeur par défaut correspondant à leur type**](data-types.md#valeurs-par-defaut), qu'elles conserveront pendant la session tant qu'on ne leur aura pas [assigné une valeur](#assigning-data). Alternativement, lors de la déclaration des variables, vous pouvez [initialiser](#initializing-variables-in-the-declaration-line) leur valeur en même temps que leur type de données en une seule ligne. @@ -49,7 +49,7 @@ var $myVar //une variable variant ``` `varName` est le nom de la variable, il doit respecter les [règles de 4D](Concepts/identifiers.md) concernant les identifiants. -This syntax only supports [local and process variables](#local-process-and-interprocess-variables) declarations, thus excluding [interprocess variables](#interprocess-variables) (deprecated) and [arrays](Concepts/arrays.md). +Cette syntaxe ne prend en charge que les déclarations de [variables locales et de process](#local-process-and-interprocess-variables), ce qui exclut les [variables interprocess](#interprocess-variables) (dépréciées) et les [tableaux](Concepts/arrays.md). `varType` peut être : @@ -73,14 +73,14 @@ Le tableau suivant liste toutes les valeurs `varType` prises en charge : | `Blob` | Valeur Blob scalaire | | `Collection` | Valeur collection | | `Variant` | Valeur variant | -| `Object` | Object with default class | +| `Object` | Objet avec classe par défaut | | `4D.` | Objet de la classe 4D className | | `cs.` | Objet de la classe utilisateur className | | `cs.` | Object de la classe className du composant `` | :::note Compatibilité -The legacy syntax using `C_XXX` commands is deprecated as of 4D 20 R7. +L'ancienne syntaxe utilisant les commandes `C_XXX` est obsolète à partir de la version 4D 20 R7. ::: @@ -127,10 +127,10 @@ var $d : cs.Customer:=cs.Customer.new() Les variables peuvent également être déclarées et initialisées sans mentionner explicitement leur type de données, auquel cas leur type sera déduit par 4D. Voici quelques exemples : ```4d -var $text:="hello" // Inferred as Text -var $number:=20 // Inferred as Real -var $obj:={} // Inferred as an Object -var $mycol:=[] // Inferred as a Collection +var $text:="hello" // Déduit en Text +var $number:=20 // Déduit en Real +var $obj:={} // Déduit en Object +var $mycol:=[] // Déduit en Collection ``` @@ -234,7 +234,7 @@ Pour plus d'informations, consultez le chapitre **Process** et la description de :::warning Obsolète -Use of interprocess variables is not recommended since they are not available from [preemptive processes](../Develop/preemptive.md) and tend to make the code less maintainable. +L'utilisation de variables interprocess n'est pas recommandée car elles ne sont pas disponibles pour les [process préemptifs](../Develop/preemptive.md) et tendent à rendre le code moins facile à maintenir. ::: @@ -246,21 +246,21 @@ En mode client/serveur, chaque poste (client et serveur) partage la même défin ## Variables système -The 4D language manages several **system variables**, which allow you to control the execution of different operations. Vous pouvez tester leur valeur et les utiliser comme n'importe quelle variable. All system variables are [process variables](#process-variables). - -System variables are used by [4D commands](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système. - -| Nom de variable système | Type | Description | -| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `OK` | Integer | Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. | -| `Document` | Text | Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](../commands-legacy/open-document.md) or [SELECT LOG FILE](../commands/select-log-file.md). | -| `FldDelimit`, `RecDelimit` | Text | Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. | -| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method). Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. | -| `MouseDown` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. | -| `MouseX`, `MouseY` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command.
  • In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre.
  • In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.
  • | -| `KeyCode` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Définit le code de caractère de la touche qui vient d'être pressée. If the key is a function key, `KeyCode` is set to a special code. | -| `Modifiers` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. | -| `MouseProc` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Contient le numéro du process dans lequel le dernier événement a eu lieu | +Le langage 4D gère plusieurs **variables système**, qui permettent de contrôler l'exécution de différentes opérations. Vous pouvez tester leur valeur et les utiliser comme n'importe quelle variable. Toutes les variables système sont des [variables process] (#process-variables). + +Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système. + +| Nom de variable système | Type | Description | +| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. | +| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). | +| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. | +| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). | +| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. | +| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md).
  • Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre.
  • Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture).
  • | +| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. | +| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. | +| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu | :::note From 0257df9c3af016cbaee20bb2d45f1b996f7b4824 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:21:52 +0200 Subject: [PATCH 116/162] New translations basics.md (French) --- .../version-20-R9/Debugging/basics.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/basics.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/basics.md index 91099f35e4c43a..450585e371221c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/basics.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/basics.md @@ -72,29 +72,29 @@ La fenêtre d'erreur de syntaxe propose plusieurs options : :::tip -To ignore an error that occurs repeatedly (for example, in loops), you can turn the **Continue** button into an **Ignore** button. Hold down **Alt** (Windows) or **Option** (macOS) key and click the **Continue** button the first time it appears. The button label changes to **Ignore** if the dialog is called again for the same error. +Pour ignorer une erreur qui se répète (par exemple, dans les boucles), vous pouvez transformer le bouton **Continuer** en bouton **Ignorer**. Maintenez la touche **Alt** (Windows) ou **Option** (macOS) enfoncée et cliquez sur le bouton **Continuer** la première fois qu'il apparaît. Le libellé du bouton devient **Ignorer** si la boîte de dialogue est appelée à nouveau pour la même erreur. ::: - - **Abort**: Stops method execution and returns to the state before the method started executing: + - **Abandonner** : Stoppe l'exécution de la méthode et revient à l'état antérieur au début de l'exécution de la méthode : - Si une méthode formulaire ou méthode objet s'exécute en réponse à un événement, elle est arrêtée et vous revenez au formulaire. - Si la méthode est exécutée à partir de l'environnement de l'application, vous revenez à cet environnement. - - **Copy**: Copies the debugging information into the clipboard. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. + - **Copier** : Copie les informations de débogage dans le presse-papiers. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. - - **Save...**: Saves the contents of the syntax error window and the call chain in a `.txt` file. + - **Enregistrer...**: Enregistre le contenu de la fenêtre d'erreur de syntaxe et la chaîne d'appel dans un fichier `.txt`. ## Débogueur -A common beginner mistake in dealing with error detection is to click **Abort** in the Syntax Error Window, go back to the Code Editor, and try to figure out what's going by looking at the code. Ne faites pas ça ! You will save plenty of time and energy by always using the [**Debugger**](debugger.md). +Une erreur courante des débutants en matière de détection des erreurs consiste à cliquer sur **Abandonner** dans la fenêtre d'erreur de syntaxe, à revenir à l'éditeur de code et à essayer de comprendre ce qui se passe en regardant le code. Ne faites pas ça ! Vous gagnerez beaucoup de temps et d'énergie en utilisant toujours le [**Débogueur**](debugger.md). Le débogueur vous permet d'avancer lentement dans les méthodes. Il affiche toutes les informations dont vous avez besoin pour comprendre pourquoi une erreur s'est produite. Une fois que vous avez ces informations, vous savez comment corriger l'erreur. -Une autre raison d'utiliser le débogueur est le développement du code. Il peut arriver que vous écriviez un algorithme plus complexe que d'habitude. Malgré tous les sentiments d'accomplissement, vous ne pouvez pas être totalement sûr que votre codage est 100% correct. Instead of running it "blind", you can use the `TRACE` command at the beginning of your code, then execute it step by step to keep an eye on what happens. +Une autre raison d'utiliser le débogueur est le développement du code. Il peut arriver que vous écriviez un algorithme plus complexe que d'habitude. Malgré tous les sentiments d'accomplissement, vous ne pouvez pas être totalement sûr que votre codage est 100% correct. Au lieu de l'exécuter "à l'aveugle", vous pouvez utiliser la commande `TRACE` au début de votre code, puis l'exécuter pas à pas pour garder un œil sur ce qui se passe. -## Ruptures/sauts +## Breaks -Dans le processus de débogage, vous pouvez avoir besoin de sauter le traçage de certaines parties du code jusqu'à une certaine ligne. Or, you may want to trace the code when a given expression has a certain value (e.g. `$myVar > 1000`), or every time a specific 4D command is called. +Dans le processus de débogage, vous pouvez avoir besoin de sauter le traçage de certaines parties du code jusqu'à une certaine ligne. Vous pouvez aussi vouloir tracer le code lorsqu'une expression donnée a une certaine valeur (par exemple `$myVar > 1000`), ou à chaque fois qu'une commande 4D spécifique est appelée. -These needs are covered by **breakpoints** and **command catching** features. Ils peuvent être configurés à partir de l'éditeur de code, du débogueur ou de l'explorateur d'exécution. \ No newline at end of file +Ces besoins sont couverts par les fonctionnalités **Points d'arrêt** et **Points d'arrêt sur commandes**. Ils peuvent être configurés à partir de l'éditeur de code, du débogueur ou de l'explorateur d'exécution. \ No newline at end of file From b37b546ccb8c27e41ded6f22c8093e8518d09699 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:21:54 +0200 Subject: [PATCH 117/162] New translations breakpoints.md (French) --- .../version-20-R9/Debugging/breakpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/breakpoints.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/breakpoints.md index 52d9296d89bfdc..8ae8c1a6a1de5e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/breakpoints.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/breakpoints.md @@ -15,7 +15,7 @@ Les points d'arrêt sur commande vous permettent de commencer à tracer l'exécu Pour créer un point d'arrêt, cliquez dans la marge gauche de la fenêtre d'évaluation du code du débogueur ou dans l'éditeur de code. -In the following example, a break point (the red bullet) has been set, in the debugger, on the line `If (Value type(request.reponse.headers...`: +Dans l'exemple suivant, un point d'arrêt (la puce rouge) a été placé, dans le débogueur, sur la ligne `If (Value type(request.reponse.headers...` : ![break-point](../assets/en/Debugging/break.png) From 40b1620815f5d2726ddd6bbd8856f42801a1dc2d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:21:59 +0200 Subject: [PATCH 118/162] New translations debugger.md (French) --- .../version-20-R9/Debugging/debugger.md | 114 +++++++++--------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugger.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugger.md index 98f15865dd0b2b..ab71886bbdfff4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugger.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugger.md @@ -3,13 +3,13 @@ id: debugger title: Débogueur --- -The 4D debugger is useful when you need to spot errors or monitor the execution of methods. Il vous permet d'avancer pas à pas dans le code et d'examiner les informations. Ce processus est appelé le "traçage". +Le débogueur 4D est utile pour repérer les erreurs ou surveiller l'exécution des méthodes. Il vous permet d'avancer pas à pas dans le code et d'examiner les informations. Ce processus est appelé le "traçage". ![debugger-window-local](../assets/en/Debugging/debugger-window-intro.png) :::info -If you are used to coding with **VS Code**, you can also use this editor to debug 4D code on 4D Server after installing the [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode) extension. +Si vous avez l'habitude de coder avec **VS Code**, vous pouvez également utiliser cet éditeur pour déboguer le code 4D sur 4D Server après avoir installé l'extension [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode). ::: @@ -18,7 +18,7 @@ If you are used to coding with **VS Code**, you can also use this editor to debu Il existe plusieurs façons d'afficher le débogueur : - En cliquant sur le bouton **Trace** dans [la fenêtre des erreurs de syntaxe](basics.md#syntax-error-window) -- Using the [`TRACE`](../commands-legacy/trace.md) command +- En utilisant la commande [`TRACE`](../commands-legacy/trace.md), - En cliquant sur le bouton **Debug** dans la fenêtre d'exécution de méthode ou en sélectionnant le bouton **Run and debug...** dans l'éditeur de code - En utilisant **Alt+Shift+Clic** droit (Windows) ou **Ctrl+Option+Cmd+Clic (macOS)** pendant l'exécution d'une méthode, puis en sélectionnant le processus à suivre dans le menu contextuel : @@ -29,8 +29,8 @@ Il existe plusieurs façons d'afficher le débogueur : Lorsqu'il est appelé, la fenêtre du débogueur fournit le nom de la méthode ou de la fonction de classe que vous êtes en train de tracer, ainsi que l'action qui a provoqué l'apparition initiale de la fenêtre du débogueur. Par exemple, dans la fenêtre du débogueur ci-dessus : -- *drop* is the method being traced -- The debugger window appeared because of a break point. +- *drop* est la méthode tracée +- La fenêtre du débogueur est apparue en raison d'un point d'arrêt. L'affichage d'une nouvelle fenêtre de débogage utilise la même configuration que la dernière fenêtre affichée dans la même session. Si vous exécutez plusieurs process utilisateur, vous pouvez les tracer indépendamment et avoir une fenêtre de débogage ouverte pour chaque process. @@ -42,7 +42,7 @@ La fenêtre du débogueur est généralement affichée sur la machine où le cod :::note Notes - Si le serveur fonctionne en mode headless, aucune fenêtre de débogage ne peut être affichée sur le serveur, vous devez utiliser le débogueur distant. Voir [Débogage depuis des machines distantes](./debugging-remote.md). -- You can also [attach the Qodly Studio debugger to a 4D Server application](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) if you need to debug Qodly pages in a deployed environment. +- Vous pouvez également [attacher le débogueur Qodly Studio à une application 4D Server](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) si vous devez déboguer des pages Qodly dans un environnement déployé. ::: @@ -54,7 +54,7 @@ La barre d'outils du débogueur comprend plusieurs boutons, associés aux raccou :::note -Default shortcuts can be customized in the [Shortcuts Page](../Preferences/shortcuts.md) of the Preferences dialog box. +Les raccourcis par défaut peuvent être personnalisés dans la [Page des raccourcis](../Preferences/shortcuts.md) de la boîte de dialogue Préférences. ::: @@ -62,33 +62,33 @@ Default shortcuts can be customized in the [Shortcuts Page](../Preferences/short Arrêt du mode Trace et reprise du cours normal de l’exécution de la méthode. -> **Shift** + **F5** or **Shift** + clicking the **No Trace** button resumes execution. avec désactivation de tous les appels à TRACE suivants dans le process courant. +> **Maj** + **F5** ou **Maj** + en cliquant sur le bouton **No Trace** reprend l'exécution. avec désactivation de tous les appels à TRACE suivants dans le process courant. #### Exécuter pas à pas Exécute la ligne de méthode en cours, indiquée par le compteur de programme (la flèche jaune). Le débogueur passe à la ligne suivante. -Le bouton Exécuter pas à pas ne passe pas dans les sous-routines et les fonctions. Il reste au niveau de la méthode que vous êtes en train de tracer. If you want to also trace subroutines and functions calls, use the **Step Into** button. +Le bouton Exécuter pas à pas ne passe pas dans les sous-routines et les fonctions. Il reste au niveau de la méthode que vous êtes en train de tracer. Si vous souhaitez également tracer les appels aux sous-routines et aux fonctions, utilisez le bouton **Pas à pas détaillé**. -Dans le débogage distant, lors de l'exécution de la méthode sur le serveur, la méthode parente est appelée après l'exécution de la dernière ligne de méthode enfant. If the parent method is executed on the remote side, the **Step Over** button has the same effect as the **No Trace** button. +Dans le débogage distant, lors de l'exécution de la méthode sur le serveur, la méthode parente est appelée après l'exécution de la dernière ligne de méthode enfant. Si la méthode parente est exécutée du côté distant, le bouton **Exécuter pas à pas** a le même effet que le bouton **No Trace**. #### Exécuter pas à pas détaillé Lors de l’exécution d’une ligne qui appelle une autre méthode (sous-routine ou fonction), ce bouton provoque l’affichage de la méthode appelée dans la fenêtre du débogueur, et permet au développeur de passer pas à pas dans cette méthode. -The new method becomes the current (top) method in the [Call Chain Pane](#call-chain-pane) of the Debugger window. +La nouvelle méthode devient la méthode courante (en haut) dans le [fenêtre de chaine d'appel](#call-chain-pane) du Débogueur. -When executing a line that does not call another method, this button has the same effect as the **Step Over** button. +Lors de l'exécution d'une ligne qui n'appelle pas une autre méthode, ce bouton a le même effet que le bouton **Exécuter pas à pas**. -#### Step Out +#### Exécuter et sortir -If you are tracing subroutines and functions, clicking on this button allows you to execute the entire method currently being traced and to step back to the caller method. The Debugger window is brought back to the previous method in the call chain. If the current method is the last method in the call chain, the Debugger window is closed. +Si vous tracez des sous-programmes et des fonctions, un clic sur ce bouton vous permet d'exécuter l'intégralité de la méthode en cours de traçage et de revenir à la méthode de l'appelant. La fenêtre du débogueur est ramenée à la méthode précédente dans la chaîne d'appels. Si la méthode courante est la dernière méthode de la chaîne d’appel, la fenêtre du débogueur se referme. -In remote debugging, on execution of the last line of the method, if the method is executed on the server, the parent method is called. If the parent method is executed on the remote side, the button acts in the same manner as the No Trace button. +En débogage distant, lors de l'exécution de la dernière ligne de la méthode, si la méthode est exécutée sur le serveur, la méthode parente est appelée. Si la méthode parente est exécutée côté distant, le bouton agit de la même manière que le bouton Reprendre exécution. -#### Step Into Process +#### Pas à pas nouveau process -On execution of a line that creates a new process (i.e., calling the New process command), this button opens a new Debugger window that allows you to trace the process method of the newly created process. On execution of a line that does not creates a new process, this button acts in the same manner as the Step Over button. +Lors de l’exécution d’une ligne qui crée un nouveau process (par exemple qui appelle la commande New process), ce bouton ouvre une nouvelle fenêtre du débogueur qui vous permet de tracer la méthode de gestion du process que vous venez de créer. Lors de l’exécution d’une ligne qui ne crée pas de nouveau process, ce bouton se comporte comme le bouton Exécuter pas à pas. #### Stopper exécution @@ -99,9 +99,9 @@ La méthode s’arrête et vous retournez là où vous étiez avant son exécuti #### Stopper et éditer -The method that is executing when you click the **Abort and Edit** button opens in the Code Editor. +La méthode qui s'exécute lorsque vous cliquez sur ce bouton s'ouvre dans l'éditeur de code. -> **Tip**: Use this button when you know which changes are required in your code, and when these changes are required to pursue the testing of your methods. Une fois vos modifications effectuées, ré-exécutez la méthode. +> **Conseil** : Utilisez ce bouton lorsque vous connaissez les modifications à apporter à votre code, et le moment où elles doivent être effectuées pour pouvoir poursuivre le test de vos méthodes. Une fois vos modifications effectuées, ré-exécutez la méthode. #### Editer méthode @@ -109,18 +109,18 @@ La méthode qui s'exécute au moment où vous cliquez sur le bouton Éditer s'ou Si vous utilisez ce bouton pour modifier une méthode, les modifications ne seront effectives que la prochaine fois qu'elle sera exécutée. -> **Tip:** Use this button when you know which changes are required in your code and when they don't interfere with the rest of the code to be executed or traced. +> **Conseil:** Utilisez ce bouton lorsque vous savez quelles modifications sont nécessaires dans votre code et qu'elles n'interfèrent pas avec le reste du code à exécuter ou à tracer. -## Auto-saving +## Sauvegarde automatique -The current state of the debugger window is automatically saved in the project. Cela inclut : +L'état courant de la fenêtre du débogueur est automatiquement enregistré dans le projet. Cela inclut : -- the size and position of the window, -- the position of the division lines, -- the [display mode](#display-mode), -- the expressions currently displayed in the custom watch pane expressions. By default, expressions are saved with the current method or function. You can [**pin an expression**](#pinning-an-expression) to keep it displayed in all contexts. +- la taille et la position de la fenêtre, +- la position des lignes de division, +- le [mode affichage](#display-mode), +- les expressions actuellement affichées dans le volet des expressions personnalisées. Par défaut, les expressions sont enregistrées avec la méthode ou la fonction en courante. Vous pouvez [**épingler une expression**](#pinning-an-expression) pour qu'elle reste affichée dans tous les contextes. -The **Default window configuration** button restores the default position and size of the current window (including the division lines and the window itself). +Le bouton **Configuration par défaut de la fenêtre** rétablit la position et la taille par défaut de la fenêtre courante (y compris les lignes de division et la fenêtre elle-même). ![factory-settings-button](../assets/en/Debugging/debugger-factory.png) @@ -140,9 +140,9 @@ La colonne **Expression** affiche les noms des objets et des expressions. La col ### Liste Expression -#### Line Expressions +#### Expressions courantes -This theme lets you keep track of the values of expressions: +Ce thème vous permet de suivre les valeurs des expressions : - utilisé(e) s dans la ligne de code à exécuter (celle qui est indiquée par le compteur de programme — la flèche jaune dans la [Fenêtre d'évaluation du code](#fenetre-devaluation-du-code)), - utilisé(e) s dans la ligne de code précédente @@ -294,14 +294,14 @@ Pour afficher le type de paramètre, cochez l'option **Afficher les types** dans Après avoir déployé la liste des paramètres, vous pouvez faire glisser et déposer les paramètres et les résultats de la fonction dans la [fenêtre d'évaluation](#fenetre-devaluation). -You can also use the [Call chain](../commands/call-chain.md) command to retrieve the call chain programmatically. +Vous pouvez également utiliser la commande [Call chain](../commands/call-chain.md) pour récupérer la chaîne d'appels par programmation. ## Fenêtre d'évaluation -Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire au [fenêtre Expression](#fenetre-dexpression), sauf que vous décidez quelles expressions sont affichées. Tout type d'expression peut être évalué : +Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire à la [fenêtre d'expression](#fenetre-dexpression), sauf que vous décidez quelles expressions sont affichées. Tout type d'expression peut être évalué : - variable -- object and object property +- objet et propriété d'objet - champ - pointer - calcul @@ -311,70 +311,70 @@ Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire a ![custom-Watch-pane](../assets/en/Debugging/custom-watch-pane.png) -Vous pouvez évaluer toute expression qui peut être affichée sous forme de texte. Ceci n'inclut pas les champs et les variables image et BLOB. To display BLOB contents, you can use BLOB commands, such as [BLOB to text](../commands-legacy/blob-to-text.md). +Vous pouvez évaluer toute expression qui peut être affichée sous forme de texte. Ceci n'inclut pas les champs et les variables image et BLOB. Pour afficher le contenu d'un BLOB, vous pouvez utiliser les commandes BLOB, telles que [BLOB to text](../commands-legacy/blob-to-text.md). -### Display mode +### Mode d'affichage -You select the display mode to be used for all debugger windows using the **Display** option of the Custom Watch pane's [contextual menu](#contextual-menu). +Vous sélectionnez le mode d'affichage à utiliser pour toutes les fenêtres du débogueur en utilisant l'option **Affichage** du [menu contextuel](#contextual-menu) de la fenêtre d'évaluation. ![custom-Watch-pane](../assets/en/Debugging/custom-watch-pane-display-menu.png) Les options suivantes sont disponibles : -- **Local variables**: Displays and evaluates automatically local variables as soon as they are initialized in the running source code. -- **Line Expressions**: Displays and evaluates automatically the same contents as the [Line Expressions](#line-expressions) item of the Expression List. -- **Expressions**: Only displays custom expressions that you have entered manually. Custom expressions have a specific blue icon ![custom-expression-icon](../assets/en/Debugging/custom-expression-icon.png). +- **Variables locales** : Affiche et évalue automatiquement les variables locales dès qu'elles sont initialisées dans le code source en cours d'exécution. +- **Expressions courantes** : Affiche et évalue automatiquement le même contenu que l'élément [Expressions courantes](#line-expressions) de la liste Expression. +- **Expressions** : Affiche uniquement les expressions personnalisées que vous avez saisies manuellement. Les expressions personnalisées ont une icône bleue spécifique ![custom-expression-icon](../assets/en/Debugging/custom-expression-icon.png). :::note -Whatever the display mode, you can add custom expressions at any moment. +Quel que soit le mode d'affichage, vous pouvez ajouter des expressions personnalisées à tout moment. ::: ### Gestion des expressions -You can enter any expression to evaluate. A custom expression is only displayed in the current debugger window, except if you [pin it](#pinning-an-expression). +Vous pouvez saisir n'importe quelle expression à évaluer. Une expression personnalisée n'est affichée que dans la fenêtre courante du débogueur, sauf si vous l'[épinglez](#pinning-an-expression). Il y a plusieurs façons d'ajouter des expressions à la liste : - Glisser et déposer un objet ou une expression depuis la fenêtre d'expression ou la fenêtre de chaîne d'appel - Sélectionner une expression dans le volet [source](#source-code-pane) et appuyer sur **ctrl+D** (Windows) ou **cmd+D** (macOS) - Double-cliquer quelque part dans l'espace vide du volet (ajoute une expression avec un nom de paramètre fictif que vous pouvez modifier) -- Select a [display option](#display-mode) that automatically inserts expressions. -- Select **New Expression...** in the Custom Watch pane's [contextual menu](#contextual-menu) to add an expression using the **Formula Editor**. Vous pouvez entrer n'importe quelle formule qui renvoie un résultat. +- Sélectionner une [option d'affichage](#display-mode) qui insère automatiquement des expressions. +- Sélectionnez **Nouvelle expression...** dans le [menu contextuel](#contextual-menu) de la fenêtre d'évaluation pour ajouter une expression à l'aide de l'**Éditeur de formules**. Vous pouvez entrer n'importe quelle formule qui renvoie un résultat. Pour modifier une expression, cliquez dessus pour la sélectionner, puis cliquez à nouveau ou appuyez sur **Enter** sur votre clavier. -To delete a custom expression, click on it to select it, then press **Backspace** or **Delete** on your keyboard, or click on the **x** icon. +Pour supprimer une expression personnalisée, cliquez dessus pour la sélectionner, puis appuyez sur **Retour arrière** ou **Suppr** sur votre clavier, ou cliquez sur l'icône **x**. :::warning -Be careful when you evaluate a 4D expression modifying the value of one of the System Variables (for instance, the OK variable) because the execution of the rest of the method may be altered. +Soyez prudent lorsque vous évaluez une expression 4D modifiant la valeur d'une des variables système (par exemple, la variable OK) car l'exécution du reste de la méthode peut être altérée. ::: -### Pinning an expression +### Épingler une expression -You can click on the pushpin icon to pin an expression: +Vous pouvez cliquer sur l'icône de la punaise pour épingler une expression : ![pinning-expression](../assets/en/Debugging/pin-expression.png) -The expression will then be displayed in all debugger windows. +L'expression sera alors affichée dans toutes les fenêtres du débogueur. ### Menu contextuel -The Custom Watch Pane’s menu is available on a contextual click or using the ![menu](../assets/en/Debugging/custom-watch-pane-menu.png) icon: +Le menu de la fenêtre d'évaluation est accessible via un clic contextuel ou en utilisant l'icône ![menu](../assets/en/Debugging/custom-watch-pane-menu.png) : ![custom-watch-pane-context-menu](../assets/en/Debugging/custom-watch-pane-context-menu.png) -- **Display**: Selects the [display mode](#display-mode) to be used for all debugger windows. -- **New Expression...**: Inserts a new expression and displays the 4D Formula Editor. +- **Affichage** : Sélectionne le [mode d'affichage](#display-mode) à utiliser pour toutes les fenêtres du débogueur. +- **Nouvelle expression** : insère une nouvelle expression et affiche l'Éditeur de formules 4D. ![custom-Watch-pane-context-menu](../assets/en/Debugging/custom-watch-pane-formula-editor.png) - For more information on the Formula Editor, see the [4D Design Reference manual](https://doc.4d.com/4Dv20/4D/20.2/Description-of-formula-editor.300-6750169.en.html). + Pour plus d'informations sur l'éditeur de formules, voir le [manuel Mode développement](https://doc.4d.com/4Dv20/4D/20.2/Description-of-formula-editor.300-6750169.en.html). -* **Insert Command...**: Displays a menu allowing to insert a 4D command as a new expression. +* **Insérer une commande...** : Affiche un menu permettant d'insérer une commande 4D en tant que nouvelle expression. * **Supprimer tout** : Supprime toutes les expressions de la fenêtre d"évaluation. -* **Standard Expressions**: Copies the Watch Pane's list of expressions as custom expressions. +* **Expressions standard** : Copie la liste des expressions de la fenêtre d'évaluation en tant qu'expressions personnalisées. > Cette option n'est pas disponible en [mode débogueur distant](debugging-remote.md). @@ -393,7 +393,7 @@ Cette zone vous permet également d'ajouter ou de supprimer des [**points d'arr ### Prototype -The prototype of the currently executed method or function in the Call chain is displayed on the top of the pane: +Le prototype de la méthode ou de la fonction en cours d'exécution dans la chaîne d'appels est affiché en haut du volet : ![prototype](../assets/en/Debugging/prototype.png) @@ -454,9 +454,9 @@ Le menu contextuel de la Fenêtre d'évaluation du code donne accès à plusieur ![source-code-pane-context-window](../assets/en/Debugging/sourceCodePaneContext.png) -- **Show documentation**: Opens the documentation for the target element. Cette commande est disponible avec les objets suivants : - - *Project methods*, *user classes*: Selects the method in the Explorer and switches to the documentation tab - - *4D commands, functions, class names:* Displays the online documentation. +- **Montrer la documentation** : Ouvre la documentation de l'élément cible. Cette commande est disponible avec les objets suivants : + - *méthodes projet*, *classes utilisateurs* : Sélectionne la méthode dans l'explorateur et passe à l'onglet documentation + - *Commandes 4D, fonctions, noms de classe:* Affiche la documentation en ligne. - **Chercher les références** (cette fonction est également accessible depuis l’Editeur de code) : rechercher tous le projet (méthodes et formulaires) dans lesquels l’élément courant de la méthode est référencé. L’élément courant est l’élément sélectionné ou l’élément dans lequel se trouve le curseur. Il peut s’agir d’un nom de champ, de variable, de commande, d’une chaîne, etc. Le résultat de la recherche est affiché dans une nouvelle fenêtre de résultat standard. - **Copier** : copie standard de l'expression sélectionnée dans le conteneur de données. - **Copier dans la fenêtre d'expression** : copie l'expression sélectionnée dans la Fenêtre d'évaluation. From 2eecdf316a0b5f17e77cf62e86e23dccca517ab7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 18:22:01 +0200 Subject: [PATCH 119/162] New translations debugging-remote.md (French) --- .../Debugging/debugging-remote.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugging-remote.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugging-remote.md index debf4856de5a15..f2448909ea5b59 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugging-remote.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R9/Debugging/debugging-remote.md @@ -19,13 +19,13 @@ Un seul débogueur peut déboguer une application 4D Server à un moment donné. - le débogueur local de 4D Server (par défaut) - si le serveur ne tourne pas en mode headless. - le débogueur d'un client 4D distant - si la session distante a accès au mode Développement. -- the [Qodly debugger](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) on 4D Server - if the server allows access to Qodly Studio. -- the **VS Code** debugger, provided you installed the [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode) extension. +- le [débogueur Qodly](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) sur 4D Server - si le serveur autorise l'accès à Qodly Studio. +- le débogueur **VS Code**, à condition que vous ayez installé l'extension [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode). Le débogueur associé est appelé chaque fois que 4D Server rencontre : - un point d'arrêt -- a `TRACE` command +- une commande `TRACE` - un point d'arrêt sur commande - une erreur @@ -33,7 +33,7 @@ A noter que les messages d'erreur sont envoyés à la machine du débogueur asso A noter que : -- The code executed in the `On Server Startup Database` Method cannot be debugged remotely. Il ne peut être débogué que du côté serveur +- Le code exécuté dans la méthode base `On Server Startup` ne peut pas être débogué à distance. Il ne peut être débogué que du côté serveur - Si aucun débogueur n'est associé, le code en cours d'exécution n'est pas arrêté par les commandes de débogage ## Associer le débogueur @@ -49,20 +49,20 @@ Vous pouvez associer le débogueur à tout client 4D distant autorisé à se con Pour associer le débogueur à un client 4D distant : -1. In the 4D Server menu bar, select **Edit** > **Detach Debugger** so that the debugger becomes available to remote machines (this step is useless if the 4D Server is running headless). -2. In a remote 4D client connected to the server, select **Run** > **Attach Remote Debugger** +1. Dans la barre de menu de 4D Server, sélectionnez **Edition** > **Détacher Débogueur** pour que le débogueur devienne disponible pour les machines distantes (cette étape est inutile si 4D Server fonctionne sans interface). +2. Dans un client 4D distant connecté au serveur, sélectionnez **Exécuter** > **Attacher le débogueur distant** -If the attachment is accepted (see [Rejected attachment requests](#rejected-attachment-requests)), the menu command becomes **Detach Remote Debugger**. +Si le rattachement est accepté (voir [Demandes d'association rejetées](#rejected-attachment-requests)), la commande de menu devient **Détacher Débogueur distant**. Le débogueur est alors attaché au client 4D distant : - jusqu'à la fin de la session utilisateur -- until you select `Detach Remote Debugger` +- jusqu'à ce que vous sélectionniez `Détacher le débogueur distant` Pour rattacher le débogueur au serveur : -1. On the remote 4D client that has the debugger attached, select **Run** > **Detach Remote Debugger**. -2. In the 4D Server menu bar, select **Edit** > **Attach debugger**. +1. Sur le client 4D distant auquel le débogueur est attaché, sélectionnez **Exécuter** > **Détacher le débogueur distant**. +2. Dans la barre de menu de 4D Server, sélectionnez **Edition** > **Attacher le débogueur**. > Lorsque le débogueur est attaché au serveur (par défaut), tous les process du serveur sont automatiquement exécutés en mode coopératif pour permettre le débogage. Cela peut avoir un impact significatif sur les performances. Lorsque vous n'avez pas besoin de déboguer sur la machine du serveur, il est recommandé de détacher le débogueur et de l'attacher à une machine distante si nécessaire. @@ -70,13 +70,13 @@ Pour rattacher le débogueur au serveur : 4D vous permet d'associer le débogueur à un client 4D distant ou au serveur automatiquement au démarrage : -- On the server (if not headless), this option is named **Attach Debugger At Startup**. Lorsque le serveur est démarré, il associe automatiquement le débogueur (par défaut). +- Sur le serveur (s'il n'est pas sans interface), cette option s'appelle **Attacher le débogueur au démarrage**. Lorsque le serveur est démarré, il associe automatiquement le débogueur (par défaut). -> **Warning**: If this option is selected for a server which is subsequently launched in headless mode, the debugger won't be available for this server. +> **Attention** : Si cette option est sélectionnée pour un serveur qui est ensuite lancé en mode headless (sans interface), le débogueur ne sera pas disponible pour ce serveur. -- On a remote 4D client, this option is named **Attach Remote Debugger At Startup**. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. +- Sur un client 4D distant, cette option s'appelle **Attacher le débogueur distant au démarrage**. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. Si l'association est acceptée (voir [Demandes d'association rejetées](#rejected-attachment-requests)), le débogueur distant est automatiquement attaché au client 4D distant et l'option **Détacher le débogueur distant** s'affiche. -> This setting is applied per project and is stored locally in the [`.4DPreferences`](Project/architecture.md#userpreferencesusername) file. +> Ce paramètre est appliqué par projet et est stocké localement dans le fichier [`.4DPreferences`](Project/architecture.md#userpreferencesusername). ## Demandes d'association rejetées @@ -90,5 +90,5 @@ Si une machine tente d'attacher le débogueur alors qu'il est déjà attaché, l L'attachement du débogueur dans ce cas nécessite que : -- the attached debugger is detached from the server or from the remote 4D client using respectively the **Detach debugger** or **Detach remote debugger** menu command, +- le débogueur attaché est détaché du serveur ou du client 4D distant en utilisant respectivement la commande de menu **Détacher le débogueur** ou **Détacher le débogueur distant**, - la session du client distant 4D associée soit fermée. From a80c16bf49e1a0b4df9f3ea0dfb8cd6c0983c1f7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:25:33 +0200 Subject: [PATCH 120/162] New translations orda-events.md (French) --- .../current/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md index 970068d8a534e2..eaec1aa2c56823 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From ccd6f2a45def446c447e5622b3f22c3c9fcc64c6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:25:52 +0200 Subject: [PATCH 121/162] New translations orda-events.md (Spanish) --- .../current/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md index d68ffbd6e26ce6..a631cb2ae59ee4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From 8ecc583065422aa8c336b06f70d283b7ea72a92f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:26:08 +0200 Subject: [PATCH 122/162] New translations orda-events.md (Japanese) --- .../current/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md index 4456da7b5d6dde..1994fea99cf1f0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From 4576fef384e4f2187dd6b6021ad78a69c23154b5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:26:22 +0200 Subject: [PATCH 123/162] New translations orda-events.md (Portuguese, Brazilian) --- .../current/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md index 14ff5f757131f8..301229e0669247 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From e885a0b31ed1f8c6e8b596ccf9adbbc6129c2939 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:33:33 +0200 Subject: [PATCH 124/162] New translations dt_object.md (French) --- .../version-20-R10/Concepts/dt_object.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_object.md index b88508734d8617..3924c360e26858 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/dt_object.md @@ -42,18 +42,18 @@ Les objets doivent avoir été instanciés, sinon toute tentative de lecture ou L'instanciation d'un objet peut se faire de l'une des manières suivantes : -- using the [`New object`](../commands-legacy/new-object.md) command, +- en utilisant la commande [`New object`](../commands-legacy/new-object.md), - en utilisant l'opérateur `{}`. :::info -Several 4D commands and functions return objects, for example [`Database measures`](../commands-legacy/database-measures.md) or [`File`](../commands/file.md). Dans ce cas, il n'est pas nécessaire d'instancier explicitement l'objet, le langage 4D le fait pour vous. +Plusieurs commandes et fonctions 4D renvoient des objets, par exemple [`Database measures`](../commands-legacy/database-measures.md) ou [`File`](../commands/file.md). Dans ce cas, il n'est pas nécessaire d'instancier explicitement l'objet, le langage 4D le fait pour vous. ::: ### Commande `New object` -The [`New object`](../commands-legacy/new-object.md) command creates a new empty or prefilled object and returns its reference. +La commande [`New object`](../commands-legacy/new-object.md) crée un nouvel objet vide ou pré-rempli et renvoie sa référence. Exemples : @@ -110,8 +110,8 @@ $col:=$o.col[5] //6 Vous pouvez créer deux types d'objets : -- regular (non-shared) objects, using the [`New object`](../commands-legacy/new-object.md) command or object literal syntax (`{}`). Ces objets peuvent être modifiés sans contrôle d'accès spécifique mais ne peuvent pas être partagés entre les process. -- Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. shared objects, using the [`New shared object`](../commands-legacy/new-shared-object.md) command. +- des objets ordinaires (non partagés), en utilisant la commande [`New object`](../commands-legacy/new-object.md) ou la syntaxe littérale des objets (`{}`). Ces objets peuvent être modifiés sans contrôle d'accès spécifique mais ne peuvent pas être partagés entre les process. +- des objets partagés, en utilisant la commande [`New shared object`](../commands-legacy/new-shared-object.md). Le contenu de ces objets peut être partagé entre les process, y compris des process (thread) préemptifs. L'accès à ces objets doit être contrôlé via des structures `Use...End use`. Pour plus d'informations, consultez la section [Objets et collections partagés](shared.md). ## Propriétés From 64b621c5f6de098bcd5ac8e3257244f900b9cf02 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:34:33 +0200 Subject: [PATCH 125/162] New translations error-handling.md (French) --- .../version-20-R10/Concepts/error-handling.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/error-handling.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/error-handling.md index a7fb251244b7df..32022371b21029 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/error-handling.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/error-handling.md @@ -25,7 +25,7 @@ Il est fortement recommandé d'installer une méthode globale de gestion des err De nombreuses fonctions des classes 4D, telles que `entity.save()` ou `transporter.send()`, retournent un objet *status*. Cet objet permet de stocker les erreurs "prévisibles" dans le contexte d'exécution, telles qu'un mot de passe invalide, une entité verrouillée, etc., qui ne stoppe pas l'exécution du programme. Cette catégorie d'erreurs peut être gérée par du code habituel. -D'autres erreurs "imprévisibles" peuvent inclure une erreur en écriture sur le disque, une panne de réseau ou toute interruption inattendue. This category of errors generates exceptions defined by [a *code*, a *message* and a *signature*](#error-codes) and needs to be handled through an error-handling method or a `Try()` keyword. +D'autres erreurs "imprévisibles" peuvent inclure une erreur en écriture sur le disque, une panne de réseau ou toute interruption inattendue. Cette catégorie d'erreurs génère des exceptions définies par [un *code*, un *message* et une *signature*](#error-codes) et doit être gérée par une méthode de gestion des erreurs ou un mot-clé `Try()`. ## Installer une méthode de gestion des erreurs @@ -97,7 +97,7 @@ Dans une méthode de gestion d'erreur personnalisée, vous avez accès à plusie 4D gère automatiquement un certain nombre de variables appelées [**variables système**](variables.md#system-variables), répondant à différents besoins. ::: -- the [`Last errors`](../commands/last-errors.md) command that returns a collection of the current stack of errors that occurred in the 4D application. +- la commande [`Last errors`](../commands/last-errors.md) qui renvoie une collection avec la pile courante d'erreurs survenues dans l'application 4D. - la commande `Call chain` qui renvoie une collection d'objets décrivant chaque étape de la chaîne d'appel de méthode dans le process en cours. #### Exemple @@ -153,7 +153,7 @@ Try (expression) : any | Undefined Si une erreur s'est produite pendant son exécution, elle est interceptée et aucune fenêtre d'erreur n'est affichée, qu'une [méthode de gestion des erreurs](#installer-une-methode-de-gestion-des-erreurs) ait été installée ou non avant l'appel à `Try()`. Si *expression* retourne une valeur, `Try()` retourne la dernière valeur évaluée, sinon elle retourne `Undefined`. -You can handle the error(s) using the [`Last errors`](../commands/last-errors.md) command. Si *expression* génère une erreur dans une pile d'appels `Try()`, le flux d'exécution s'arrête et retourne au dernier `Try()` exécuté (le premier trouvé en remontant dans la pile d'appels). +Vous pouvez traiter les erreurs en utilisant la commande [`Last errors`](../commands/last-errors.md). Si *expression* génère une erreur dans une pile d'appels `Try()`, le flux d'exécution s'arrête et retourne au dernier `Try()` exécuté (le premier trouvé en remontant dans la pile d'appels). :::note @@ -229,8 +229,8 @@ Le code placé entre les mots-clés `Try` et `Catch` est d'abord exécuté, puis - Si aucune erreur n'est levée, l'exécution du code se poursuit après le mot clé `End try` correspondant. Le code placé entre les mots-clés `Catch` et `End try` n'est pas exécuté. - Si l'exécution du bloc de code génère une *erreur non différée*, le flux d'exécution s'arrête et exécute le bloc de code `Catch` correspondant. -- If the code block calls a method that throws a *deferred error*, the execution flow jumps directly to the corresponding `Catch` code block. -- If a deferred error is directly thrown from the `Try` block, the execution flow continues until the end of the `Try` block and does not execute the corresponding `Catch` block. +- Si le bloc de code appelle une méthode qui lance une *erreur différée*, le flux d'exécution passe directement au bloc de code `Catch` correspondant. +- Si une erreur différée est directement lancée depuis le bloc `Try`, le flux d'exécution continue jusqu'à la fin du bloc `Try` et n'exécute pas le bloc `Catch` correspondant. :::note @@ -240,11 +240,11 @@ Si une erreur *différée* est générée en dehors du bloc `Try`, l'exécution :::info -For more information on *deferred* and *non-deferred* errors, please refer to the [`throw`](../commands-legacy/throw.md) command description. +Pour plus d'informations sur les erreurs *différées* et *non différées*, veuillez vous référer à la description de la commande [`throw`](../commands-legacy/throw.md). ::: -Dans le bloc de code `Catch`, vous pouvez gérer la ou les erreur(s) en utilisant les commandes de gestion des erreurs standard. The [`Last errors`](../commands/last-errors.md) function contains the last errors collection. Vous pouvez [déclarer une méthode de gestion des erreurs](#installer-une-methode-de-gestion-des-erreurs) dans ce bloc de code, auquel cas elle est appelée en cas d'erreur (sinon la boîte de dialogue d'erreur 4D est affichée). +Dans le bloc de code `Catch`, vous pouvez gérer la ou les erreur(s) en utilisant les commandes de gestion des erreurs standard. La fonction [`Last errors`](../commands/last-errors.md) contient la collection des dernières erreurs. Vous pouvez [déclarer une méthode de gestion des erreurs](#installer-une-methode-de-gestion-des-erreurs) dans ce bloc de code, auquel cas elle est appelée en cas d'erreur (sinon la boîte de dialogue d'erreur 4D est affichée). :::note @@ -285,14 +285,14 @@ Function createInvoice($customer : cs.customerEntity; $items : Collection; $invo ``` -## Error codes +## Codes d'erreur -Exceptions that interrupt code execution are returned by 4D but can have different origins such as the OS, a device, the 4D kernel, a [`throw`](../commands-legacy/throw.md) in your code, etc. An error is therefore defined by three elements: +Les exceptions qui interrompent l'exécution du code sont renvoyées par 4D mais peuvent avoir différentes origines telles que le système d'exploitation, un périphérique, le noyau 4D, un [`throw`](../commands-legacy/throw.md) dans votre code, etc. Une erreur est donc définie par trois éléments : -- a **component signature**, which is the origin of the error (see [`Last errors`](../commands/last-errors.md) to have a list of signatures) -- a **message**, which explains why the error occurred -- a **code**, which is an arbitrary number returned by the component +- une **signature du composant**, qui est l'origine de l'erreur (voir [`Last errors`](../commands/last-errors.md) pour avoir la liste des signatures) +- un **message**, qui explique pourquoi l'erreur s'est produite +- un **code**, qui est un numéro arbitraire renvoyé par le composant -The [4D error dialog box](../Debugging/basics.md) displays the code and the message to the user. +La [boîte de dialogue d'erreur 4D](../Debugging/basics.md) affiche le code et le message à l'utilisateur. -To have a full description of an error and especially its origin, you need to call the [`Last errors`](../commands/last-errors.md) command. When you intercept and handle errors using an [error-handling method](#installing-an-error-handling-method) in your final applications, use [`Last errors`](../commands/last-errors.md) and make sure you log all properties of the *error* object since error codes depend on the components. +Pour obtenir une description complète d'une erreur et surtout de son origine, vous devez appeler la commande [`Last errors`](../commands/last-errors.md). Lorsque vous interceptez et traitez des erreurs à l'aide d'une [méthode de traitement des erreurs](#installing-an-error-handling-method) dans vos applications finales, utilisez [`Last errors`](../commands/last-errors.md) et veillez à enregistrer toutes les propriétés de l'objet *error*, car les codes d'erreur dépendent des composants. From 2fd0b1f79e20a885d82f0c034de2ac6abfdc996a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:34:36 +0200 Subject: [PATCH 126/162] New translations flow-control.md (French) --- .../version-20-R10/Concepts/flow-control.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/flow-control.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/flow-control.md index 6d1c25461cd9d0..3ee720767c645f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/flow-control.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/flow-control.md @@ -38,7 +38,7 @@ A noter que l'élément `Else` est optionnel, vous pouvez écrire : End if ``` -La structure `If...Else...End if` permet à votre méthode de choisir dans une alternative, en fonction du résultat, TRUE ou FALSE, d’un test (une expression booléenne). Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. Si l’expression booléenne est FALSE, les instructions suivant la ligne Else sont exécutées. Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. +La structure `If...Else...End if` permet à votre méthode de choisir dans une alternative, en fonction du résultat, TRUE ou FALSE, d’un test (une expression booléenne). Si l’expression booléenne est TRUE, les instructions qui suivent immédiatement le test sont exécutées. Si l’expression booléenne est FALSE, les instructions suivant la ligne Else sont exécutées. Le `Else` est optionnel ; lorsqu’il est omis, c’est la première ligne d’instructions suivant le `End if` (s’il y en a une) qui est exécutée. A noter que l'expression booléenne est toujours évaluée en totalité. Examinons en particulier le test suivant : @@ -324,7 +324,7 @@ End for La structure `For...End for` est une boucle contrôlée par un compteur : - La variable compteur *Counter_Variable* est une variable numérique (Réel ou Entier long) initialisée par `For...End for` à la valeur spécifiée par *Start_Expression*. -- La variable Variable_Compteur est incrémentée de la valeur spécifiée par le paramètre optionnel *Increment_Expression* à chaque fois que la boucle est exécutée. Si vous ne passez pas de valeur dans *Increment_Expression*, la variable compteur est incrémentée par défaut de un (1). +- Chaque fois que la boucle est exécutée, la variable compteur est incrémentée de la valeur spécifiée dans l'expression facultative *Increment_Expression*. Si vous ne passez pas de valeur dans *Increment_Expression*, la variable compteur est incrémentée par défaut de un (1). - Lorsque le compteur atteint la valeur définie par *End_Expression*, la boucle s'arrête. **Important :** Les expressions numériques *Start_Expression*, *End_Expression* et *Increment_Expression* sont évaluées une seule fois, au début de la boucle. Si ces expressions sont des variables, leur modification depuis l'intérieur de la boucle n'affectera pas l'exécution de la boucle. From d4447c49dbdc363af3a692b1beb77f201ebb76b5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:34:38 +0200 Subject: [PATCH 127/162] New translations identifiers.md (French) --- .../version-20-R10/Concepts/identifiers.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/identifiers.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/identifiers.md index 46e95761c6c678..d2ed5a8c5d3885 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/identifiers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/identifiers.md @@ -29,7 +29,7 @@ Les noms de fonctions doivent être conformes aux [règles standard de nommage d Le nom d'une propriété d'objet (aussi appelé *attribut*) peut contenir jusqu'à 255 caractères. -Les propriétés d'objets peuvent référencer des valeurs scalaires, des éléments ORDA, des fonctions de classe, d'autres objets, etc. Whatever their nature, object property names must follow the following rules **if you want to use the [dot notation](./dt_object.md#properties)**: +Les propriétés d'objets peuvent référencer des valeurs scalaires, des éléments ORDA, des fonctions de classe, d'autres objets, etc. Quelle que soit leur nature, les noms des propriétés des objets doivent suivre les règles suivantes **si vous voulez utiliser la [notation à points](./dt_object.md#properties)** : - Un nom de propriété doit commencer par une lettre, un trait de soulignement ("_") ou un dollar ("$"). - Ensuite, le nom peut inclure des lettres, des chiffres, des traits de soulignement ("_") ou des dollars ("$"). @@ -128,28 +128,28 @@ QUERY([Clients];[Clients]Name="Smith") Le nom d'une variable peut comporter jusqu'à 31 caractères, sans compter les symboles de portée (`$` ou `<>`). -- A variable name must begin with a letter, an underscore, or a dollar ("$") for [parameters](parameters.md) and [local variables](variables.md#local-variables), or `<>` for [interprocess variables](variables.md#interprocess-variables) (deprecated). +- Le nom d'une variable doit commencer par une lettre, un trait de soulignement ou un dollar ("$") pour les [paramètres](parameters.md) et les [variables locales](variables.md#local-variables), ou par `<>` pour les [variables interprocess](variables.md#interprocess-variables) (obsolète). - Ensuite, le nom peut inclure des lettres, chiffres, et traits de soulignement ("_"). -- Do not use reserved names, i.e. 4D command names (`Date`, `Time`, etc), keywords (`If`, `For`, etc.), system variable names (`OK`, `document`...), or constant names (`Euro`, `Black`, `Friday`, etc.). +- N'utilisez pas de noms réservés, c'est-à-dire des noms de commandes 4D (`Date`, `Time`, etc.), des mots-clés (`If`, `For`, etc.), des noms de variables système (`OK`, `document`...), ou des noms de constantes (`Euro`, `Black`, `Friday`, etc.). - Les noms de variables ne sont PAS sensibles à la casse. Exemples : ```4d -For($vlRecord;1;100) //local variable -$vsMyString:="Hello there" //local variable -var $vName; $vJob : Text //local variales -If(bValidate=1) //process variable -<>vlProcessID:=Current process() //interprocess variable +For($vlRecord;1;100) //variable locale +$vsMyString:="Hello there" //variable locale +var $vName; $vJob : Text //variables locales +If(bValidate=1) //variable process +<>vlProcessID:=Current process() //variable interprocess ``` ### Compatibilité -Some naming practices were previously allowed but are no longer supported when the [direct typing mode is enabled](../Project/compiler.md#enabling-direct-typing) (introduced in 4D 20 R7). Enabling this mode will produce syntax errors if: +Certaines pratiques de dénomination étaient auparavant autorisées mais ne sont plus prises en charge lorsque le [mode de typage direct est activé](../Project/compiler.md#enabling-direct-typing) (introduit dans 4D 20 R7). L'activation de ce mode produira des erreurs de syntaxe si : -- a variable name has a digit as first character, -- a variable name contains space characters, -- you declared variables named $0, $1, etc. +- le nom d'une variable commence par un chiffre, +- un nom de variable contient des caractères d'espacement, +- vous avez déclaré des variables nommées $0, $1, etc. ## Autres noms From 5805f7c346c76a92d5dad0318adb41c2ad27543a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:34:41 +0200 Subject: [PATCH 128/162] New translations methods.md (French) --- .../version-20-R10/Concepts/methods.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/methods.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/methods.md index 8defd0b508c701..f3efd235b06ec0 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/methods.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/methods.md @@ -201,12 +201,12 @@ Cette boîte de dialogue répertorie toutes les méthodes projet de la base, y c Pour exécuter une méthode de projet, il suffit de sélectionner son nom dans la liste et de cliquer sur **Exécuter**. Pour exécuter une méthode étape par étape en mode Debug, cliquez sur **Debug**. Pour plus d'informations sur le débogueur 4D, reportez-vous à la section [Debugging](../Debugging/basics.md) . -Si vous cochez la case **Nouveau Process** , la méthode que vous avez sélectionnée s'exécute dans un autre process. Si la méthode effectue une tâche qui prend du temps, comme l'impression d'un grand nombre d'enregistrements, vous pouvez continuer à travailler avec votre base, en ajoutant des enregistrements à une table, en créant un graphe pour afficher les données, etc. For more information about processes, refer to [Processes](../Develop/processes.md). +Si vous cochez la case **Nouveau Process** , la méthode que vous avez sélectionnée s'exécute dans un autre process. Si la méthode effectue une tâche qui prend du temps, comme l'impression d'un grand nombre d'enregistrements, vous pouvez continuer à travailler avec votre base, en ajoutant des enregistrements à une table, en créant un graphe pour afficher les données, etc. Pour plus d'informations sur les process, voir [Process](../Develop/processes.md). **Notes 4D Server**: - Si vous souhaitez que la méthode soit exécutée sur la machine serveur plutôt que sur la machine cliente, sélectionnez l'option **Sur 4D Server** dans le menu Exécuter : Dans ce cas, un nouveau process, appelé *procédure stockée*, est créé sur la machine serveur afin d'exécuter la méthode. Dans ce cas, un nouveau process, appelé *procédure stockée*, est créé sur la machine serveur afin d'exécuter la méthode. Cette option peut être utilisée pour réduire le trafic réseau et optimiser le fonctionnement de 4D Server, en particulier pour les méthodes qui appellent des données stockées sur le disque. Tous les types de méthodes peuvent être exécutés sur la machine serveur ou sur une autre machine cliente, à l'exception de celles qui modifient l'interface utilisateur. Dans ce cas, les procédures stockées sont inefficaces. -- Vous pouvez également choisir d'exécuter la méthode sur un autre poste client. Other client workstations will not appear in the menu, unless they have been previously "registered" (for more information, refer to the description of the [REGISTER CLIENT](../commands-legacy/register-client.md). +- Vous pouvez également choisir d'exécuter la méthode sur un autre poste client. Les autres postes clients n'apparaîtront pas dans le menu, sauf s'ils ont été préalablement "enregistrés" (pour plus d'informations, se référer à la description de [REGISTER CLIENT](../commands-legacy/register-client.md). Par défaut, l'option **En local** est sélectionnée. Avec la version mono-utilisateur de 4D, c'est la seule option disponible. From 5527fbe57a3842373488032c2390cde1ec129e81 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:34:45 +0200 Subject: [PATCH 129/162] New translations parameters.md (French) --- .../version-20-R10/Concepts/parameters.md | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md index 9dce1edfa55d70..88d1be50d1677c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md @@ -35,7 +35,7 @@ EXECUTER METHOD IN SUBFORM("Cal2";"SetCalendarDate";*;!05/05/20!) //dans le contexte d'un sous-formulaire ``` -Les données peuvent également être **retournées** à partir de méthodes et de fonctions de classe. Par exemple, la ligne d’instruction suivante utilise une commande 4D, `Length`, qui retourne la longueur d’une chaîne. La valeur retournée par `Longueur` est placée dans une variable appelée *MaLongueur*. +Les données peuvent également être **retournées** à partir de méthodes et de fonctions de classe. Par exemple, la ligne d’instruction suivante utilise une commande 4D, `Length`, qui retourne la longueur d’une chaîne. Dans cette instruction, la valeur retournée par `Length` est placée dans une variable appelée *MaLongueur* : ```4d MaLongueur:=Length("Comment suis-je arrivé là ?") @@ -47,16 +47,16 @@ Les valeurs d'entrée et de sortie sont [évaluées](#values-or-references) au m :::info Compatibilité -The legacy declaration syntax, where parameters are automatically copied in sequentially numbered local variables $0, $1, etc. and declared using compiler directives such as `C_TEXT($1;$2)`, is **deprecated** as of 4D 20 R7. +L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement copiés dans des variables locales numérotées séquentiellement $0, $1, etc. et déclarés en utilisant des directives du compilateur telles que `C_TEXT($1;$2)`, est **dépréciée** à partir de 4D 20 R7. ::: ## Déclaration des paramètres -Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon. +Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. Vous déclarez des paramètres en utilisant un **nom de paramètre** et un **type de paramètre**, séparés par deux points. - For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class Constructor` keywords. -- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code. +- Pour les méthodes (méthodes projet, méthodes d'objets de formulaire, méthodes de base de données et triggers), les paramètres sont déclarés à l'aide du mot-clé **`#DECLARE`** au début du code de la méthode. Exemples : @@ -124,16 +124,16 @@ Function add($x : Variant; $y : Integer): Integer Les paramètres, y compris la valeur retournée, doivent être déclarés une seule fois. En particulier, vous ne pouvez pas déclarer le même paramètre en tant qu'entrée et sortie, même avec le même type. Par exemple : ```qs - //invalid declaration + //déclaration invalide Function myTransform ($x : Integer) -> $x : Integer - //error: $x is declared twice + //error: $x est déclaré deux fois ``` ::: ### Type de données pris en charge -With named parameters, you can use the same data types as those which are [supported by the `var` keyword](variables.md), including class objects. Par exemple : +Avec les paramètres nommés, vous pouvez utiliser les mêmes types de données que ceux qui sont [supportés par le mot-clé `var`](variables.md), y compris les objets de classe. Par exemple : ```4d Function saveToFile($entity : cs.ShapesEntity; $file : 4D.File) @@ -170,7 +170,7 @@ Function square($x : Integer) -> $result : Integer :::note -Internally, `return x` executes `myReturnValue:=x`, and returns to the caller. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *indéfinie*. +En interne, `return x` exécute `myReturnValue:=x`, et retourne à l'appelant. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *undefined*. ::: @@ -184,13 +184,13 @@ Function getValue -> $v : Integer Function getValue -> $v : Integer return 10 - $v:=20 // never executed + $v:=20 // jamais exécuté // returns 10 ``` ## Indirections sur les paramètres (${N}) -Les méthodes et fonctions 4D acceptent un nombre variable de paramètres. Au sein de la méthode, une adresse d'indirection est formatée `${N}`, où `N` est une expression numérique. You can address those parameters with a `For...End for` loop, the [`Count parameters`](../commands-legacy/count-parameters.md) command and the **parameter indirection syntax**. +Les méthodes et fonctions 4D acceptent un nombre variable de paramètres. Vous pouvez traiter ces paramètres avec une boucle `For...End for`, la commande [`Count parameters`](../commands-legacy/count-parameters.md) et la **syntaxe d'indirection des paramètres**. Au sein de la méthode, une adresse d'indirection est formatée `${N}`, où `N` est une expression numérique. ### Utilisation des paramètres variadiques @@ -214,7 +214,7 @@ Les paramètres de la méthode doivent être passés dans le bon ordre : le form Result:=MySum("000";1;2;200) //"203" ``` -Notez que même si vous avez déclaré 0, 1, ou plus paramètres, vous pouvez toujours passer le nombre de paramètres que vous voulez. Tous les paramètres sont accessibles dans le code appelé via la syntaxe `${N}` et le type des paramètres supplémentaires est [Variant](dt_variant.md) par défaut (vous pouvez les déclarer en utilisant la notation variadique [](#declaring-variadic-parameter Il vous suffit de vous assurer que les paramètres existent, grâce à la commande [`Count parameters`](https://doc.4d.com/4dv20/help/command/fr/page259.html). You just need to make sure parameters exist, thanks to the [`Count parameters`](../commands-legacy/count-parameters.md) command. Par exemple : +Notez que même si vous avez déclaré 0, 1, ou plus paramètres, vous pouvez toujours passer le nombre de paramètres que vous voulez. Tous les paramètres sont accessibles dans le code appelé via la syntaxe `${N}` et le type des paramètres supplémentaires est [Variant](dt_variant.md) par défaut (vous pouvez les déclarer en utilisant la [notation variadique](#declaring-variadic-parameter)). Il suffit de s'assurer que les paramètres existent, grâce à la commande [`Count parameters`](../commands-legacy/count-parameters.md). Par exemple : ```4d //foo method @@ -279,23 +279,23 @@ return $total ``` -Cette méthode peut être appelée avec un nombre variable de paramètres Real. Dans le cas d'un paramètre de type incorrect, une erreur sera renvoyée avant que la méthode ne soit exécutée : +Cette méthode peut être appelée avec un nombre variable de paramètres réels. Dans le cas d'un paramètre de type incorrect, une erreur sera renvoyée avant que la méthode ne soit exécutée : ```4d -$total1:=SumNumbers // returns 0 -$total2:=SumNumbers(1; 2; 3; 4; 5) // returns 15 -$total3:=SumNumbers(1; 2; "hello"; 4; 5) // error +$total1:=SumNumbers // renvoie 0 +$total2:=SumNumbers(1 ; 2 ; 3 ; 4 ; 5) // renvoie 15 +$total3:=SumNumbers(1 ; 2 ; "hello" ; 4 ; 5) // erreur ``` :::note Compatibilité -The legacy syntax for declaring variadic parameters (`C_TEXT(${4})`) is deprecated as of 4D 20 R7. +L'ancienne syntaxe de déclaration des paramètres variadiques (`C_TEXT(${4})`) est obsolète à partir de 4D 20 R7. ::: -## Triggers and On Drag Over +## Triggers et On Drag Over Certains contextes ne prennent pas en charge la déclaration dans une méthode "Compiler_", ils sont donc gérés de manière spécifique : @@ -303,7 +303,7 @@ Certains contextes ne prennent pas en charge la déclaration dans une méthode " ## Type de paramètre erroné -Calling a parameter with an wrong type or a wrong class (for object parameters) is an [error](error-handling.md) that prevents correct execution. Par exemple, si vous écrivez les méthodes suivantes : +L'appel d'un paramètre d'un mauvais type ou d'une mauvaise classe (pour les paramètres objet) est une [erreur](error-handling.md) qui empêche une exécution correcte. Par exemple, si vous écrivez les méthodes suivantes : ```4d // method1 @@ -315,7 +315,7 @@ Calling a parameter with an wrong type or a wrong class (for object parameters) method1(42) //mauvais type, texte attendu ``` -An error is also generated when parameters are objects with classes: +Une erreur est également générée lorsque les paramètres sont des objets avec des classes : ```4d // method1 @@ -325,14 +325,14 @@ An error is also generated when parameters are objects with classes: ```4d // method2 var $param := cs.MyClass2.new(42) -method1($param) //wrong class instance, cs.MyClass1 expected +method1($param) //mauvaise instance de classe, cs.MyClass1 attendue ``` -These cases are handled by 4D depending on the context: +Ces cas sont traités par 4D en fonction du contexte : - dans les projets interprétés : - - if the parameter was declared using the named syntax (`#DECLARE` or `Function`), an error is generated by the [live checker](../code-editor/write-class-method.md#warnings-and-errors) while the code is written, or when the method is called. - - if the parameter was declared using a legacy syntax (`_C_XXX`), no error is generated, the called method receives an empty value of the expected type. + - si le paramètre a été déclaré en utilisant la syntaxe nommée (`#DECLARE` ou `Function`), une erreur est générée par le [live checker](../code-editor/write-class-method.md#warnings-and-errors) pendant l'écriture du code, ou lorsque la méthode est appelée. + - si le paramètre a été déclaré en utilisant une syntaxe ancienne (`_C_XXX`), aucune erreur n'est générée, la méthode appelée reçoit une valeur vide du type attendu. - dans les [projets compilés](interpreted.md), une erreur est générée à l'étape de compilation lorsque cela est possible. Sinon, une erreur est générée lorsque la méthode est appelée. ## Utilisation des propriétés d'objet comme paramètres nommés @@ -390,7 +390,7 @@ $para.Age:=Num($para.Age)+$para.toAdd ALERT(String($para.Name)+" is "+String($para.Age)+" years old.") ``` -Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. +Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours comme dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. Avec les variables nommées, n'importe quel paramètre peut être optionnel. Dans l'exemple ci-dessus, tous les paramètres sont optionnels et peuvent être donnés, dans n'importe quel ordre. @@ -464,55 +464,55 @@ Lorsque les paramètres sont nécessaires dans vos méthodes, vous pouvez égale Lorsque vous passez un paramètre, 4D évalue toujours l'expression du paramètre dans le contexte de la méthode appelée et affecte la **valeur résultante** aux variables locales dans la fonction de classe ou la sous-routine. Les variables/paramètres locaux ne correspondent pas aux véritables champs, variables ou expressions passés par la méthode appelée; ils contiennent uniquement les valeurs qui n'ont pas été passées. Les variables/paramètres locaux ne correspondent pas aux véritables champs, variables ou expressions passés par la méthode appelée; ils contiennent uniquement les valeurs qui n'ont pas été passées. Par exemple : ```4d - //Here is some code from the method MY_METHOD -DO_SOMETHING([People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY_METHOD +DO_SOMETHING([People]Name) //La valeur de [People]Name est "williams" ALERT([People]Name) - //Here is the code of the method DO_SOMETHING + //Code de la méthode DO_SOMETHING #DECLARE($param : Text) $param:=Uppercase($param) ALERT($param) ``` -La boîte de dialogue d'alerte affichée par `DO_SOMETHING` contiendra "WILLIAM" et celle affichée par `MY_METHOD` contiendra "william". The method locally changed the value of the parameter $param, but this does not affect the value of the field `[People]Name` passed as parameter by the method `MY_METHOD`. +La boîte de dialogue d'alerte affichée par `DO_SOMETHING` contiendra "WILLIAM" et celle affichée par `MY_METHOD` contiendra "william". La méthode a modifié localement la valeur du paramètre $param, mais cela n'affecte pas la valeur du champ `[People]Name` passé en paramètre par la méthode `MY_METHOD`. Si vous voulez réellement que la méthode `DO_SOMETHING` modifie la valeur du champ, deux solutions s'offrent à vous : 1. Plutôt que de passer le champ à la méthode, vous lui passez un pointeur : ```4d - //Here is some code from the method MY_METHOD -DO_SOMETHING(->[People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY_METHOD +DO_SOMETHING(->[People]Name) //La valeur de [People]Name est "williams" ALERT([People]Last Name) - //Here the code of the method DO_SOMETHING + //Code de la méthode DO_SOMETHING #DECLARE($param : Text) $param->:=Uppercase($param->) ALERT($param->) ``` -Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Therefore, within the `DO SOMETHING` method, $param is no longer the value of the field but a pointer to the field. Par conséquent, la modification de l'objet référencé dépasse les limites de la sous-routine et le champ lui-même est affecté. Dans cet exemple, les deux boîtes de dialogue d'alerte afficheront "WILLIAMS". +Ici, le paramètre n'est pas le champ lui-même, mais un pointeur vers le champ. Par conséquent, dans la méthode `DO SOMETHING`, $param n'est plus la valeur du champ mais un pointeur sur le champ. L'objet **référencé** par $param ($param-> dans le code ci-dessus) est le champ lui-même. Par conséquent, la modification de l'objet référencé dépasse les limites de la sous-routine et le champ lui-même est affecté. Dans cet exemple, les deux boîtes de dialogue d'alerte afficheront "WILLIAMS". 2. Plutôt que la méthode `DO_SOMETHING` “fasse quelque chose”, vous pouvez la réécrire de manière à ce qu'elle retourne une valeur. ```4d - //Here is some code from the method MY METHOD - [People]Name:=DO_SOMETHING([People]Name) //Let's say [People]Name value is "williams" + //Code de la méthode MY METHOD + [People]Name:=DO_SOMETHING([People]Name) ALERT([People]Name) - //Here the code of the method DO SOMETHING + //Code de la méthode DO SOMETHING #DECLARE ($param : Text) -> ($result : Text) $result:=Uppercase($param) ALERT($result) ``` -This second technique of returning a value by a subroutine is called "using a function". This is described in the [Returning values](#returned-value) paragraph. +Cette deuxième technique de retour d'une valeur par un sous-programme est appelée "utilisation d'une fonction". Ceci est décrit dans le paragraphe [Valeurs de retour](#returned-value). ### Cas particuliers : objets et collections Vous devez faire attention au fait que les types de données Objet et Collection ne peuvent être gérés que par une référence (c'est-à-dire un *pointeur interne*). -Consequently, when using such data types as parameters, `$param, $return...` do not contain *values* but *references*. Modifying the value of the `$param, $return...` parameters within the subroutine will be propagated wherever the source object or collection is used. This is the same principle as for [pointers](dt_pointer.md#pointers-as-parameters-to-methods), except that `$param, $return...` parameters do not need to be dereferenced in the subroutine. +Par conséquent, lorsque de tels types de données sont utilisés comme paramètres, `$param, $return...` ne contiennent pas de *valeurs* mais des *références*. La modification de la valeur des paramètres `$param, $return...` dans la sous-routine sera propagée partout où l'objet ou la collection source est utilisé(e). C'est le même principe que pour les [pointeurs](dt_pointer.md#pointers-as-parameters-to-methods), sauf que les paramètres `$param, $return...` n'ont pas besoin d'être déréférencés dans le sous-programme. Par exemple, considérons la méthode `CreatePerson`, qui crée un objet et qui l'envoie comme paramètre : From 6876cd9a89457d368998281818a4fdf7ac1f039a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:35:44 +0200 Subject: [PATCH 130/162] New translations shared.md (French) --- .../version-20-R10/Concepts/shared.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/shared.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/shared.md index 671793d7b44560..fc2a0f6ea7015f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/shared.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/shared.md @@ -3,14 +3,14 @@ id: shared title: Objets et collections partagés --- -**Les objets partagés** et **les collections partagées** sont des [objets](./dt_object.md) et des [collections](./dt_collection.md) spécifiques dont le contenu est partagé entre les process. In contrast to [interprocess variables](./variables.md#interprocess-variables), shared objects and shared collections have the advantage of being compatible with **preemptive 4D processes**: they can be passed by reference as parameters to commands such as [`New process`](../commands-legacy/new-process.md) or [`CALL WORKER`](../commands-legacy/call-worker.md). +**Les objets partagés** et **les collections partagées** sont des [objets](./dt_object.md) et des [collections](./dt_collection.md) spécifiques dont le contenu est partagé entre les process. Contrairement aux [variables interprocess](./variables.md#interprocess-variables), les objets partagés et les collections partagées ont l'avantage d'être compatibles avec les **process 4D préemptifs** : ils peuvent être passés par référence en tant que paramètres à des commandes telles que [`New process`](../commands-legacy/new-process.md) ou [`CALL WORKER`](../commands-legacy/call-worker.md). Les objets partagés et les collections partagées sont stockés dans des variables standard de type [`Object`](./dt_object.md) et [`Collection`](./dt_collection.md), mais doivent être instanciés à l'aide de commandes spécifiques : -- to create a shared object, use the [`New shared object`](../commands-legacy/new-shared-object.md) command or call the [`new()`](../API/ClassClass.md#new) function of a [shared class](./classes.md#shared-classes), +- pour créer un objet partagé, utilisez la commande [`New shared object`](../commands-legacy/new-shared-object.md) ou appelez la fonction [`new()`](../API/ClassClass.md#new) d'une [classe partagée](./classes.md#shared-classes), - pour créer une collection partagée, utilisez la commande [`New shared collection`](../commands/new-shared-collection.md). -Shared objects and collections can only contain scalar values or other shared objects and collections. However, shared objects and collections can be set as properties of standard (not shared) objects or collections. +Les objets et collections partagés ne peuvent contenir que des valeurs scalaires ou d'autres objets et collections partagés. Toutefois, les objets et collections partagés peuvent être définis comme des propriétés d'objets ou de collections standard (non partagés). Toute modification d'un objet/d'une collection partagé(e) doit s'effectuer à l'intérieur d'une structure **Use...End use**. La lecture d'une valeur d'objet/collection ne nécessite pas de structure **Use...End use**. @@ -29,7 +29,7 @@ Les modifications suivantes peuvent être effectuées sur les objets partagés e :::note -Keep in mind that objects or collections set as the content of a shared object or collection must themselves be shared. +N'oubliez pas que les objets ou collections définis comme contenu d'un objet ou d'une collection partagé(e) doivent eux-mêmes être partagés. ::: @@ -61,7 +61,7 @@ End use Un objet/une collection partagé(e) ne peut être modifié(e) que par un seul process à la fois. `Use` verrouille l'objet/la collection partagé(e) pour les autres threads, tandis que `End use` déverrouille l'objet/la collection partagé(e) (si le compteur de verrouillage est à 0, voir ci-dessous). . Toute tentative de modification d'un objet/d'une collection partagé(e) sans au moins un appel à `Use...End use` génère une erreur. Lorsqu'un process appelle `Use...End use` avec un objet/une collection partagé(e) qui est déjà "utilisé(e)" par un autre process, il est simplement mis en attente jusqu'à ce qu'il soit déverrouillé par l'appel à `End use` (aucune erreur n'est générée). En conséquence, les instructions situées à l'intérieur des structures `Use...End use` doivent toujours s'exécuter rapidement et déverrouiller les éléments dès que possible. Il est donc fortement déconseillé de modifier un objet ou une collection partagé(e) directement depuis l'interface, par exemple depuis une boîte de dialogue. -L'assignation d'objets/collections partagé(e) s à des propriétés ou éléments d'autres objets/collections partagé(e) s est autorisée et entraîne la création de **groupes partagés**. Un groupe partagé est automatiquement créé lorsqu'un objet ou une collection partagé(e) est assigné(e) en tant que valeur de propriété ou élément à un autre objet ou collection partagé(e). Les groupes partagés permettent d'imbriquer des objets et collections partagé(e)s mais nécessitent d'observer des règles supplémentaires : +L'assignation d'objets/collections partagé(e)s à des propriétés ou éléments d'autres objets/collections partagé(e)s est autorisée et entraîne la création de **groupes partagés**. Un groupe partagé est automatiquement créé lorsqu'un objet ou une collection partagé(e) est assigné(e) en tant que valeur de propriété ou élément à un autre objet ou collection partagé(e). Les groupes partagés permettent d'imbriquer des objets et collections partagé(e)s mais nécessitent d'observer des règles supplémentaires : - L'appel de `Use` avec un(e) objet/collection partagé(e) appartenant à un groupe provoquera le verrouillage des propriétés/éléments de tous/toutes les objets/collections partagé(e) s du groupe et incrémente son compteur de verrouillage. L'appel à `End use` décrémente le compteur de verrouillage du groupe et lorsque le compteur est à 0, tous les objets ou collections partagés partagés sont déverrouillés. - Un objet ou une collection partagé(e) peut appartenir à un seul groupe partagé. Une erreur est générée si vous tentez d'assigner un objet ou une collection appartenant déjà à un groupe à un groupe différent. @@ -81,11 +81,11 @@ Appeler `OB Copy` avec un objet partagé (ou avec un objet dont des propriétés ### Storage -**Storage** est un objet partagé unique, disponible automatiquement pour chaque application et machine. Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. +**Storage** est un objet partagé unique, disponible automatiquement pour chaque application et machine. Cet objet partagé est renvoyé par la commande [`Storage`](../commands-legacy/storage.md). Il est destiné à référencer les objets ou collections partagé(e)s défini(e)s durant la session que vous souhaitez rendre accessibles à tous les process, préemptifs ou standard. A noter que, à la différence de objets partagés standard, l'objet `Storage` ne crée par de groupe partagé lorsque des objets/collection lui sont assigné(e)s en tant que propriétés. Cette exception permet à l'objet **Storage** d'être utilisé sans verrouiller les objets/collections partagé(e)s connecté(e)s. -For more information, refer to the [`Storage`](../commands-legacy/storage.md) command description. +Pour plus d'informations, consultez la description de la commande [`Storage`](../commands-legacy/storage.md). ## Use...End use @@ -108,13 +108,13 @@ Les objets partagés et les collections partagées permettent d'établir des com - La ligne **End use** déverrouille les propriétés de *Shared_object_or_Shared_collection* et tous les objets du même groupe. - Plusieurs structures **Use...End use** peuvent être imbriquées dans le code 4D. Toute modification d'un objet/d'une collection partagé(e) doit s'effectuer à l'intérieur d'une structure **Use...End use**. -### Automatic Use...End use calls +### Appels Use...End use automatiques -The following features automatically trigger an internal **Use/End use**, making an explicit call to the structure unnecessary when it is executed: +Les fonctions suivantes déclenchent automatiquement un **Use/End use** interne, rendant un appel explicite à la structure inutile lors de l'exécution de la fonction : - [fonctions de collection](../API/CollectionClass.md) qui modifient les collections partagées, -- [`ARRAY TO COLLECTION`](../commands-legacy/array-to-collection.md) command, -- [`OB REMOVE`](../commands-legacy/ob-remove.md) command, +- commande [`ARRAY TO COLLECTION`](../commands-legacy/array-to-collection.md), +- commande [`OB REMOVE`](../commands-legacy/ob-remove.md), - [fonctions partagées](classes.md#fonctions-partagees) (définies dans les [classes partagées](classes.md#classes-partagees)). ## Exemple 1 From dfc720edbec4ba2da1a3bfd37fe7a806676d9fdd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:35:46 +0200 Subject: [PATCH 131/162] New translations variables.md (French) --- .../version-20-R10/Concepts/variables.md | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md index adeb86a7eb85e3..e88a916f5bb4f2 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md @@ -17,7 +17,7 @@ Les variables sont des objets du langage; vous pouvez créer et utiliser des var ## Déclaration des variables -You create variables by declaring them using the `var` keyword. +Vous créez des variables en les déclarant à l'aide du mot-clé `var`. Lorsque les variables sont déclarées, elles sont initialisées à la [**valeur par défaut correspondant à leur type**](data-types.md#valeurs-par-defaut), qu'elles conserveront pendant la session tant qu'on ne leur aura pas [assigné une valeur](#assigning-data). Alternativement, lors de la déclaration des variables, vous pouvez [initialiser](#initializing-variables-in-the-declaration-line) leur valeur en même temps que leur type de données en une seule ligne. @@ -49,7 +49,7 @@ var $myVar //une variable variant ``` `varName` est le nom de la variable, il doit respecter les [règles de 4D](Concepts/identifiers.md) concernant les identifiants. -This syntax only supports [local and process variables](#local-process-and-interprocess-variables) declarations, thus excluding [interprocess variables](#interprocess-variables) (deprecated) and [arrays](Concepts/arrays.md). +Cette syntaxe ne prend en charge que les déclarations de [variables locales et de process](#local-process-and-interprocess-variables), ce qui exclut les [variables interprocess](#interprocess-variables) (dépréciées) et les [tableaux](Concepts/arrays.md). `varType` peut être : @@ -73,14 +73,14 @@ Le tableau suivant liste toutes les valeurs `varType` prises en charge : | `Blob` | Valeur Blob scalaire | | `Collection` | Valeur collection | | `Variant` | Valeur variant | -| `Object` | Object with default class | +| `Object` | Objet avec classe par défaut | | `4D.` | Objet de la classe 4D className | | `cs.` | Objet de la classe utilisateur className | | `cs.` | Object de la classe className du composant `` | :::note Compatibilité -The legacy syntax using `C_XXX` commands is deprecated as of 4D 20 R7. +L'ancienne syntaxe utilisant les commandes `C_XXX` est obsolète à partir de la version 4D 20 R7. ::: @@ -127,10 +127,10 @@ var $d : cs.Customer:=cs.Customer.new() Les variables peuvent également être déclarées et initialisées sans mentionner explicitement leur type de données, auquel cas leur type sera déduit par 4D. Voici quelques exemples : ```4d -var $text:="hello" // Inferred as Text -var $number:=20 // Inferred as Real -var $obj:={} // Inferred as an Object -var $mycol:=[] // Inferred as a Collection +var $text:="hello" // Déduit en Text +var $number:=20 // Déduit en Real +var $obj:={} // Déduit en Object +var $mycol:=[] // Déduit en Collection ``` @@ -234,7 +234,7 @@ Pour plus d'informations, consultez le chapitre **Process** et la description de :::warning Obsolète -Use of interprocess variables is not recommended since they are not available from [preemptive processes](../Develop/preemptive.md) and tend to make the code less maintainable. +L'utilisation de variables interprocess n'est pas recommandée car elles ne sont pas disponibles pour les [process préemptifs](../Develop/preemptive.md) et tendent à rendre le code moins facile à maintenir. ::: @@ -246,21 +246,21 @@ En mode client/serveur, chaque poste (client et serveur) partage la même défin ## Variables système -The 4D language manages several **system variables**, which allow you to control the execution of different operations. Vous pouvez tester leur valeur et les utiliser comme n'importe quelle variable. All system variables are [process variables](#process-variables). - -System variables are used by [4D commands](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système. - -| Nom de variable système | Type | Description | -| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `OK` | Integer | Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. | -| `Document` | Text | Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](../commands-legacy/open-document.md) or [SELECT LOG FILE](../commands/select-log-file.md). | -| `FldDelimit`, `RecDelimit` | Text | Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. | -| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method). Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. | -| `MouseDown` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. | -| `MouseX`, `MouseY` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command.
  • In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre.
  • In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.
  • | -| `KeyCode` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Définit le code de caractère de la touche qui vient d'être pressée. If the key is a function key, `KeyCode` is set to a special code. | -| `Modifiers` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. | -| `MouseProc` | Integer | Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Contient le numéro du process dans lequel le dernier événement a eu lieu | +Le langage 4D gère plusieurs **variables système**, qui permettent de contrôler l'exécution de différentes opérations. Vous pouvez tester leur valeur et les utiliser comme n'importe quelle variable. Toutes les variables système sont des [variables process] (#process-variables). + +Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système. + +| Nom de variable système | Type | Description | +| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. | +| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). | +| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. | +| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). | +| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. | +| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md).
  • Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre.
  • Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture).
  • | +| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. | +| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. | +| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu | :::note From 20818c10045647de88cecd5b302bb4e1785a5819 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:35:48 +0200 Subject: [PATCH 132/162] New translations basics.md (French) --- .../version-20-R10/Debugging/basics.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/basics.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/basics.md index 91099f35e4c43a..450585e371221c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/basics.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/basics.md @@ -72,29 +72,29 @@ La fenêtre d'erreur de syntaxe propose plusieurs options : :::tip -To ignore an error that occurs repeatedly (for example, in loops), you can turn the **Continue** button into an **Ignore** button. Hold down **Alt** (Windows) or **Option** (macOS) key and click the **Continue** button the first time it appears. The button label changes to **Ignore** if the dialog is called again for the same error. +Pour ignorer une erreur qui se répète (par exemple, dans les boucles), vous pouvez transformer le bouton **Continuer** en bouton **Ignorer**. Maintenez la touche **Alt** (Windows) ou **Option** (macOS) enfoncée et cliquez sur le bouton **Continuer** la première fois qu'il apparaît. Le libellé du bouton devient **Ignorer** si la boîte de dialogue est appelée à nouveau pour la même erreur. ::: - - **Abort**: Stops method execution and returns to the state before the method started executing: + - **Abandonner** : Stoppe l'exécution de la méthode et revient à l'état antérieur au début de l'exécution de la méthode : - Si une méthode formulaire ou méthode objet s'exécute en réponse à un événement, elle est arrêtée et vous revenez au formulaire. - Si la méthode est exécutée à partir de l'environnement de l'application, vous revenez à cet environnement. - - **Copy**: Copies the debugging information into the clipboard. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. + - **Copier** : Copie les informations de débogage dans le presse-papiers. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. - - **Save...**: Saves the contents of the syntax error window and the call chain in a `.txt` file. + - **Enregistrer...**: Enregistre le contenu de la fenêtre d'erreur de syntaxe et la chaîne d'appel dans un fichier `.txt`. ## Débogueur -A common beginner mistake in dealing with error detection is to click **Abort** in the Syntax Error Window, go back to the Code Editor, and try to figure out what's going by looking at the code. Ne faites pas ça ! You will save plenty of time and energy by always using the [**Debugger**](debugger.md). +Une erreur courante des débutants en matière de détection des erreurs consiste à cliquer sur **Abandonner** dans la fenêtre d'erreur de syntaxe, à revenir à l'éditeur de code et à essayer de comprendre ce qui se passe en regardant le code. Ne faites pas ça ! Vous gagnerez beaucoup de temps et d'énergie en utilisant toujours le [**Débogueur**](debugger.md). Le débogueur vous permet d'avancer lentement dans les méthodes. Il affiche toutes les informations dont vous avez besoin pour comprendre pourquoi une erreur s'est produite. Une fois que vous avez ces informations, vous savez comment corriger l'erreur. -Une autre raison d'utiliser le débogueur est le développement du code. Il peut arriver que vous écriviez un algorithme plus complexe que d'habitude. Malgré tous les sentiments d'accomplissement, vous ne pouvez pas être totalement sûr que votre codage est 100% correct. Instead of running it "blind", you can use the `TRACE` command at the beginning of your code, then execute it step by step to keep an eye on what happens. +Une autre raison d'utiliser le débogueur est le développement du code. Il peut arriver que vous écriviez un algorithme plus complexe que d'habitude. Malgré tous les sentiments d'accomplissement, vous ne pouvez pas être totalement sûr que votre codage est 100% correct. Au lieu de l'exécuter "à l'aveugle", vous pouvez utiliser la commande `TRACE` au début de votre code, puis l'exécuter pas à pas pour garder un œil sur ce qui se passe. -## Ruptures/sauts +## Breaks -Dans le processus de débogage, vous pouvez avoir besoin de sauter le traçage de certaines parties du code jusqu'à une certaine ligne. Or, you may want to trace the code when a given expression has a certain value (e.g. `$myVar > 1000`), or every time a specific 4D command is called. +Dans le processus de débogage, vous pouvez avoir besoin de sauter le traçage de certaines parties du code jusqu'à une certaine ligne. Vous pouvez aussi vouloir tracer le code lorsqu'une expression donnée a une certaine valeur (par exemple `$myVar > 1000`), ou à chaque fois qu'une commande 4D spécifique est appelée. -These needs are covered by **breakpoints** and **command catching** features. Ils peuvent être configurés à partir de l'éditeur de code, du débogueur ou de l'explorateur d'exécution. \ No newline at end of file +Ces besoins sont couverts par les fonctionnalités **Points d'arrêt** et **Points d'arrêt sur commandes**. Ils peuvent être configurés à partir de l'éditeur de code, du débogueur ou de l'explorateur d'exécution. \ No newline at end of file From f28aac02bcec7e4615e6e354a9c22ada569c41d4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:35:50 +0200 Subject: [PATCH 133/162] New translations breakpoints.md (French) --- .../version-20-R10/Debugging/breakpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/breakpoints.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/breakpoints.md index 52d9296d89bfdc..8ae8c1a6a1de5e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/breakpoints.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/breakpoints.md @@ -15,7 +15,7 @@ Les points d'arrêt sur commande vous permettent de commencer à tracer l'exécu Pour créer un point d'arrêt, cliquez dans la marge gauche de la fenêtre d'évaluation du code du débogueur ou dans l'éditeur de code. -In the following example, a break point (the red bullet) has been set, in the debugger, on the line `If (Value type(request.reponse.headers...`: +Dans l'exemple suivant, un point d'arrêt (la puce rouge) a été placé, dans le débogueur, sur la ligne `If (Value type(request.reponse.headers...` : ![break-point](../assets/en/Debugging/break.png) From ca7bf47045b146f57cc8893a2ee1ca39c8c37989 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:35:55 +0200 Subject: [PATCH 134/162] New translations debugger.md (French) --- .../version-20-R10/Debugging/debugger.md | 114 +++++++++--------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md index 98f15865dd0b2b..ab71886bbdfff4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md @@ -3,13 +3,13 @@ id: debugger title: Débogueur --- -The 4D debugger is useful when you need to spot errors or monitor the execution of methods. Il vous permet d'avancer pas à pas dans le code et d'examiner les informations. Ce processus est appelé le "traçage". +Le débogueur 4D est utile pour repérer les erreurs ou surveiller l'exécution des méthodes. Il vous permet d'avancer pas à pas dans le code et d'examiner les informations. Ce processus est appelé le "traçage". ![debugger-window-local](../assets/en/Debugging/debugger-window-intro.png) :::info -If you are used to coding with **VS Code**, you can also use this editor to debug 4D code on 4D Server after installing the [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode) extension. +Si vous avez l'habitude de coder avec **VS Code**, vous pouvez également utiliser cet éditeur pour déboguer le code 4D sur 4D Server après avoir installé l'extension [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode). ::: @@ -18,7 +18,7 @@ If you are used to coding with **VS Code**, you can also use this editor to debu Il existe plusieurs façons d'afficher le débogueur : - En cliquant sur le bouton **Trace** dans [la fenêtre des erreurs de syntaxe](basics.md#syntax-error-window) -- Using the [`TRACE`](../commands-legacy/trace.md) command +- En utilisant la commande [`TRACE`](../commands-legacy/trace.md), - En cliquant sur le bouton **Debug** dans la fenêtre d'exécution de méthode ou en sélectionnant le bouton **Run and debug...** dans l'éditeur de code - En utilisant **Alt+Shift+Clic** droit (Windows) ou **Ctrl+Option+Cmd+Clic (macOS)** pendant l'exécution d'une méthode, puis en sélectionnant le processus à suivre dans le menu contextuel : @@ -29,8 +29,8 @@ Il existe plusieurs façons d'afficher le débogueur : Lorsqu'il est appelé, la fenêtre du débogueur fournit le nom de la méthode ou de la fonction de classe que vous êtes en train de tracer, ainsi que l'action qui a provoqué l'apparition initiale de la fenêtre du débogueur. Par exemple, dans la fenêtre du débogueur ci-dessus : -- *drop* is the method being traced -- The debugger window appeared because of a break point. +- *drop* est la méthode tracée +- La fenêtre du débogueur est apparue en raison d'un point d'arrêt. L'affichage d'une nouvelle fenêtre de débogage utilise la même configuration que la dernière fenêtre affichée dans la même session. Si vous exécutez plusieurs process utilisateur, vous pouvez les tracer indépendamment et avoir une fenêtre de débogage ouverte pour chaque process. @@ -42,7 +42,7 @@ La fenêtre du débogueur est généralement affichée sur la machine où le cod :::note Notes - Si le serveur fonctionne en mode headless, aucune fenêtre de débogage ne peut être affichée sur le serveur, vous devez utiliser le débogueur distant. Voir [Débogage depuis des machines distantes](./debugging-remote.md). -- You can also [attach the Qodly Studio debugger to a 4D Server application](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) if you need to debug Qodly pages in a deployed environment. +- Vous pouvez également [attacher le débogueur Qodly Studio à une application 4D Server](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) si vous devez déboguer des pages Qodly dans un environnement déployé. ::: @@ -54,7 +54,7 @@ La barre d'outils du débogueur comprend plusieurs boutons, associés aux raccou :::note -Default shortcuts can be customized in the [Shortcuts Page](../Preferences/shortcuts.md) of the Preferences dialog box. +Les raccourcis par défaut peuvent être personnalisés dans la [Page des raccourcis](../Preferences/shortcuts.md) de la boîte de dialogue Préférences. ::: @@ -62,33 +62,33 @@ Default shortcuts can be customized in the [Shortcuts Page](../Preferences/short Arrêt du mode Trace et reprise du cours normal de l’exécution de la méthode. -> **Shift** + **F5** or **Shift** + clicking the **No Trace** button resumes execution. avec désactivation de tous les appels à TRACE suivants dans le process courant. +> **Maj** + **F5** ou **Maj** + en cliquant sur le bouton **No Trace** reprend l'exécution. avec désactivation de tous les appels à TRACE suivants dans le process courant. #### Exécuter pas à pas Exécute la ligne de méthode en cours, indiquée par le compteur de programme (la flèche jaune). Le débogueur passe à la ligne suivante. -Le bouton Exécuter pas à pas ne passe pas dans les sous-routines et les fonctions. Il reste au niveau de la méthode que vous êtes en train de tracer. If you want to also trace subroutines and functions calls, use the **Step Into** button. +Le bouton Exécuter pas à pas ne passe pas dans les sous-routines et les fonctions. Il reste au niveau de la méthode que vous êtes en train de tracer. Si vous souhaitez également tracer les appels aux sous-routines et aux fonctions, utilisez le bouton **Pas à pas détaillé**. -Dans le débogage distant, lors de l'exécution de la méthode sur le serveur, la méthode parente est appelée après l'exécution de la dernière ligne de méthode enfant. If the parent method is executed on the remote side, the **Step Over** button has the same effect as the **No Trace** button. +Dans le débogage distant, lors de l'exécution de la méthode sur le serveur, la méthode parente est appelée après l'exécution de la dernière ligne de méthode enfant. Si la méthode parente est exécutée du côté distant, le bouton **Exécuter pas à pas** a le même effet que le bouton **No Trace**. #### Exécuter pas à pas détaillé Lors de l’exécution d’une ligne qui appelle une autre méthode (sous-routine ou fonction), ce bouton provoque l’affichage de la méthode appelée dans la fenêtre du débogueur, et permet au développeur de passer pas à pas dans cette méthode. -The new method becomes the current (top) method in the [Call Chain Pane](#call-chain-pane) of the Debugger window. +La nouvelle méthode devient la méthode courante (en haut) dans le [fenêtre de chaine d'appel](#call-chain-pane) du Débogueur. -When executing a line that does not call another method, this button has the same effect as the **Step Over** button. +Lors de l'exécution d'une ligne qui n'appelle pas une autre méthode, ce bouton a le même effet que le bouton **Exécuter pas à pas**. -#### Step Out +#### Exécuter et sortir -If you are tracing subroutines and functions, clicking on this button allows you to execute the entire method currently being traced and to step back to the caller method. The Debugger window is brought back to the previous method in the call chain. If the current method is the last method in the call chain, the Debugger window is closed. +Si vous tracez des sous-programmes et des fonctions, un clic sur ce bouton vous permet d'exécuter l'intégralité de la méthode en cours de traçage et de revenir à la méthode de l'appelant. La fenêtre du débogueur est ramenée à la méthode précédente dans la chaîne d'appels. Si la méthode courante est la dernière méthode de la chaîne d’appel, la fenêtre du débogueur se referme. -In remote debugging, on execution of the last line of the method, if the method is executed on the server, the parent method is called. If the parent method is executed on the remote side, the button acts in the same manner as the No Trace button. +En débogage distant, lors de l'exécution de la dernière ligne de la méthode, si la méthode est exécutée sur le serveur, la méthode parente est appelée. Si la méthode parente est exécutée côté distant, le bouton agit de la même manière que le bouton Reprendre exécution. -#### Step Into Process +#### Pas à pas nouveau process -On execution of a line that creates a new process (i.e., calling the New process command), this button opens a new Debugger window that allows you to trace the process method of the newly created process. On execution of a line that does not creates a new process, this button acts in the same manner as the Step Over button. +Lors de l’exécution d’une ligne qui crée un nouveau process (par exemple qui appelle la commande New process), ce bouton ouvre une nouvelle fenêtre du débogueur qui vous permet de tracer la méthode de gestion du process que vous venez de créer. Lors de l’exécution d’une ligne qui ne crée pas de nouveau process, ce bouton se comporte comme le bouton Exécuter pas à pas. #### Stopper exécution @@ -99,9 +99,9 @@ La méthode s’arrête et vous retournez là où vous étiez avant son exécuti #### Stopper et éditer -The method that is executing when you click the **Abort and Edit** button opens in the Code Editor. +La méthode qui s'exécute lorsque vous cliquez sur ce bouton s'ouvre dans l'éditeur de code. -> **Tip**: Use this button when you know which changes are required in your code, and when these changes are required to pursue the testing of your methods. Une fois vos modifications effectuées, ré-exécutez la méthode. +> **Conseil** : Utilisez ce bouton lorsque vous connaissez les modifications à apporter à votre code, et le moment où elles doivent être effectuées pour pouvoir poursuivre le test de vos méthodes. Une fois vos modifications effectuées, ré-exécutez la méthode. #### Editer méthode @@ -109,18 +109,18 @@ La méthode qui s'exécute au moment où vous cliquez sur le bouton Éditer s'ou Si vous utilisez ce bouton pour modifier une méthode, les modifications ne seront effectives que la prochaine fois qu'elle sera exécutée. -> **Tip:** Use this button when you know which changes are required in your code and when they don't interfere with the rest of the code to be executed or traced. +> **Conseil:** Utilisez ce bouton lorsque vous savez quelles modifications sont nécessaires dans votre code et qu'elles n'interfèrent pas avec le reste du code à exécuter ou à tracer. -## Auto-saving +## Sauvegarde automatique -The current state of the debugger window is automatically saved in the project. Cela inclut : +L'état courant de la fenêtre du débogueur est automatiquement enregistré dans le projet. Cela inclut : -- the size and position of the window, -- the position of the division lines, -- the [display mode](#display-mode), -- the expressions currently displayed in the custom watch pane expressions. By default, expressions are saved with the current method or function. You can [**pin an expression**](#pinning-an-expression) to keep it displayed in all contexts. +- la taille et la position de la fenêtre, +- la position des lignes de division, +- le [mode affichage](#display-mode), +- les expressions actuellement affichées dans le volet des expressions personnalisées. Par défaut, les expressions sont enregistrées avec la méthode ou la fonction en courante. Vous pouvez [**épingler une expression**](#pinning-an-expression) pour qu'elle reste affichée dans tous les contextes. -The **Default window configuration** button restores the default position and size of the current window (including the division lines and the window itself). +Le bouton **Configuration par défaut de la fenêtre** rétablit la position et la taille par défaut de la fenêtre courante (y compris les lignes de division et la fenêtre elle-même). ![factory-settings-button](../assets/en/Debugging/debugger-factory.png) @@ -140,9 +140,9 @@ La colonne **Expression** affiche les noms des objets et des expressions. La col ### Liste Expression -#### Line Expressions +#### Expressions courantes -This theme lets you keep track of the values of expressions: +Ce thème vous permet de suivre les valeurs des expressions : - utilisé(e) s dans la ligne de code à exécuter (celle qui est indiquée par le compteur de programme — la flèche jaune dans la [Fenêtre d'évaluation du code](#fenetre-devaluation-du-code)), - utilisé(e) s dans la ligne de code précédente @@ -294,14 +294,14 @@ Pour afficher le type de paramètre, cochez l'option **Afficher les types** dans Après avoir déployé la liste des paramètres, vous pouvez faire glisser et déposer les paramètres et les résultats de la fonction dans la [fenêtre d'évaluation](#fenetre-devaluation). -You can also use the [Call chain](../commands/call-chain.md) command to retrieve the call chain programmatically. +Vous pouvez également utiliser la commande [Call chain](../commands/call-chain.md) pour récupérer la chaîne d'appels par programmation. ## Fenêtre d'évaluation -Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire au [fenêtre Expression](#fenetre-dexpression), sauf que vous décidez quelles expressions sont affichées. Tout type d'expression peut être évalué : +Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire à la [fenêtre d'expression](#fenetre-dexpression), sauf que vous décidez quelles expressions sont affichées. Tout type d'expression peut être évalué : - variable -- object and object property +- objet et propriété d'objet - champ - pointer - calcul @@ -311,70 +311,70 @@ Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire a ![custom-Watch-pane](../assets/en/Debugging/custom-watch-pane.png) -Vous pouvez évaluer toute expression qui peut être affichée sous forme de texte. Ceci n'inclut pas les champs et les variables image et BLOB. To display BLOB contents, you can use BLOB commands, such as [BLOB to text](../commands-legacy/blob-to-text.md). +Vous pouvez évaluer toute expression qui peut être affichée sous forme de texte. Ceci n'inclut pas les champs et les variables image et BLOB. Pour afficher le contenu d'un BLOB, vous pouvez utiliser les commandes BLOB, telles que [BLOB to text](../commands-legacy/blob-to-text.md). -### Display mode +### Mode d'affichage -You select the display mode to be used for all debugger windows using the **Display** option of the Custom Watch pane's [contextual menu](#contextual-menu). +Vous sélectionnez le mode d'affichage à utiliser pour toutes les fenêtres du débogueur en utilisant l'option **Affichage** du [menu contextuel](#contextual-menu) de la fenêtre d'évaluation. ![custom-Watch-pane](../assets/en/Debugging/custom-watch-pane-display-menu.png) Les options suivantes sont disponibles : -- **Local variables**: Displays and evaluates automatically local variables as soon as they are initialized in the running source code. -- **Line Expressions**: Displays and evaluates automatically the same contents as the [Line Expressions](#line-expressions) item of the Expression List. -- **Expressions**: Only displays custom expressions that you have entered manually. Custom expressions have a specific blue icon ![custom-expression-icon](../assets/en/Debugging/custom-expression-icon.png). +- **Variables locales** : Affiche et évalue automatiquement les variables locales dès qu'elles sont initialisées dans le code source en cours d'exécution. +- **Expressions courantes** : Affiche et évalue automatiquement le même contenu que l'élément [Expressions courantes](#line-expressions) de la liste Expression. +- **Expressions** : Affiche uniquement les expressions personnalisées que vous avez saisies manuellement. Les expressions personnalisées ont une icône bleue spécifique ![custom-expression-icon](../assets/en/Debugging/custom-expression-icon.png). :::note -Whatever the display mode, you can add custom expressions at any moment. +Quel que soit le mode d'affichage, vous pouvez ajouter des expressions personnalisées à tout moment. ::: ### Gestion des expressions -You can enter any expression to evaluate. A custom expression is only displayed in the current debugger window, except if you [pin it](#pinning-an-expression). +Vous pouvez saisir n'importe quelle expression à évaluer. Une expression personnalisée n'est affichée que dans la fenêtre courante du débogueur, sauf si vous l'[épinglez](#pinning-an-expression). Il y a plusieurs façons d'ajouter des expressions à la liste : - Glisser et déposer un objet ou une expression depuis la fenêtre d'expression ou la fenêtre de chaîne d'appel - Sélectionner une expression dans le volet [source](#source-code-pane) et appuyer sur **ctrl+D** (Windows) ou **cmd+D** (macOS) - Double-cliquer quelque part dans l'espace vide du volet (ajoute une expression avec un nom de paramètre fictif que vous pouvez modifier) -- Select a [display option](#display-mode) that automatically inserts expressions. -- Select **New Expression...** in the Custom Watch pane's [contextual menu](#contextual-menu) to add an expression using the **Formula Editor**. Vous pouvez entrer n'importe quelle formule qui renvoie un résultat. +- Sélectionner une [option d'affichage](#display-mode) qui insère automatiquement des expressions. +- Sélectionnez **Nouvelle expression...** dans le [menu contextuel](#contextual-menu) de la fenêtre d'évaluation pour ajouter une expression à l'aide de l'**Éditeur de formules**. Vous pouvez entrer n'importe quelle formule qui renvoie un résultat. Pour modifier une expression, cliquez dessus pour la sélectionner, puis cliquez à nouveau ou appuyez sur **Enter** sur votre clavier. -To delete a custom expression, click on it to select it, then press **Backspace** or **Delete** on your keyboard, or click on the **x** icon. +Pour supprimer une expression personnalisée, cliquez dessus pour la sélectionner, puis appuyez sur **Retour arrière** ou **Suppr** sur votre clavier, ou cliquez sur l'icône **x**. :::warning -Be careful when you evaluate a 4D expression modifying the value of one of the System Variables (for instance, the OK variable) because the execution of the rest of the method may be altered. +Soyez prudent lorsque vous évaluez une expression 4D modifiant la valeur d'une des variables système (par exemple, la variable OK) car l'exécution du reste de la méthode peut être altérée. ::: -### Pinning an expression +### Épingler une expression -You can click on the pushpin icon to pin an expression: +Vous pouvez cliquer sur l'icône de la punaise pour épingler une expression : ![pinning-expression](../assets/en/Debugging/pin-expression.png) -The expression will then be displayed in all debugger windows. +L'expression sera alors affichée dans toutes les fenêtres du débogueur. ### Menu contextuel -The Custom Watch Pane’s menu is available on a contextual click or using the ![menu](../assets/en/Debugging/custom-watch-pane-menu.png) icon: +Le menu de la fenêtre d'évaluation est accessible via un clic contextuel ou en utilisant l'icône ![menu](../assets/en/Debugging/custom-watch-pane-menu.png) : ![custom-watch-pane-context-menu](../assets/en/Debugging/custom-watch-pane-context-menu.png) -- **Display**: Selects the [display mode](#display-mode) to be used for all debugger windows. -- **New Expression...**: Inserts a new expression and displays the 4D Formula Editor. +- **Affichage** : Sélectionne le [mode d'affichage](#display-mode) à utiliser pour toutes les fenêtres du débogueur. +- **Nouvelle expression** : insère une nouvelle expression et affiche l'Éditeur de formules 4D. ![custom-Watch-pane-context-menu](../assets/en/Debugging/custom-watch-pane-formula-editor.png) - For more information on the Formula Editor, see the [4D Design Reference manual](https://doc.4d.com/4Dv20/4D/20.2/Description-of-formula-editor.300-6750169.en.html). + Pour plus d'informations sur l'éditeur de formules, voir le [manuel Mode développement](https://doc.4d.com/4Dv20/4D/20.2/Description-of-formula-editor.300-6750169.en.html). -* **Insert Command...**: Displays a menu allowing to insert a 4D command as a new expression. +* **Insérer une commande...** : Affiche un menu permettant d'insérer une commande 4D en tant que nouvelle expression. * **Supprimer tout** : Supprime toutes les expressions de la fenêtre d"évaluation. -* **Standard Expressions**: Copies the Watch Pane's list of expressions as custom expressions. +* **Expressions standard** : Copie la liste des expressions de la fenêtre d'évaluation en tant qu'expressions personnalisées. > Cette option n'est pas disponible en [mode débogueur distant](debugging-remote.md). @@ -393,7 +393,7 @@ Cette zone vous permet également d'ajouter ou de supprimer des [**points d'arr ### Prototype -The prototype of the currently executed method or function in the Call chain is displayed on the top of the pane: +Le prototype de la méthode ou de la fonction en cours d'exécution dans la chaîne d'appels est affiché en haut du volet : ![prototype](../assets/en/Debugging/prototype.png) @@ -454,9 +454,9 @@ Le menu contextuel de la Fenêtre d'évaluation du code donne accès à plusieur ![source-code-pane-context-window](../assets/en/Debugging/sourceCodePaneContext.png) -- **Show documentation**: Opens the documentation for the target element. Cette commande est disponible avec les objets suivants : - - *Project methods*, *user classes*: Selects the method in the Explorer and switches to the documentation tab - - *4D commands, functions, class names:* Displays the online documentation. +- **Montrer la documentation** : Ouvre la documentation de l'élément cible. Cette commande est disponible avec les objets suivants : + - *méthodes projet*, *classes utilisateurs* : Sélectionne la méthode dans l'explorateur et passe à l'onglet documentation + - *Commandes 4D, fonctions, noms de classe:* Affiche la documentation en ligne. - **Chercher les références** (cette fonction est également accessible depuis l’Editeur de code) : rechercher tous le projet (méthodes et formulaires) dans lesquels l’élément courant de la méthode est référencé. L’élément courant est l’élément sélectionné ou l’élément dans lequel se trouve le curseur. Il peut s’agir d’un nom de champ, de variable, de commande, d’une chaîne, etc. Le résultat de la recherche est affiché dans une nouvelle fenêtre de résultat standard. - **Copier** : copie standard de l'expression sélectionnée dans le conteneur de données. - **Copier dans la fenêtre d'expression** : copie l'expression sélectionnée dans la Fenêtre d'évaluation. From 959f442c37ae7b63c15ce0416d1dd10bf8365bf2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:35:57 +0200 Subject: [PATCH 135/162] New translations debugging-remote.md (French) --- .../Debugging/debugging-remote.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugging-remote.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugging-remote.md index debf4856de5a15..f2448909ea5b59 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugging-remote.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugging-remote.md @@ -19,13 +19,13 @@ Un seul débogueur peut déboguer une application 4D Server à un moment donné. - le débogueur local de 4D Server (par défaut) - si le serveur ne tourne pas en mode headless. - le débogueur d'un client 4D distant - si la session distante a accès au mode Développement. -- the [Qodly debugger](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) on 4D Server - if the server allows access to Qodly Studio. -- the **VS Code** debugger, provided you installed the [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode) extension. +- le [débogueur Qodly](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) sur 4D Server - si le serveur autorise l'accès à Qodly Studio. +- le débogueur **VS Code**, à condition que vous ayez installé l'extension [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode). Le débogueur associé est appelé chaque fois que 4D Server rencontre : - un point d'arrêt -- a `TRACE` command +- une commande `TRACE` - un point d'arrêt sur commande - une erreur @@ -33,7 +33,7 @@ A noter que les messages d'erreur sont envoyés à la machine du débogueur asso A noter que : -- The code executed in the `On Server Startup Database` Method cannot be debugged remotely. Il ne peut être débogué que du côté serveur +- Le code exécuté dans la méthode base `On Server Startup` ne peut pas être débogué à distance. Il ne peut être débogué que du côté serveur - Si aucun débogueur n'est associé, le code en cours d'exécution n'est pas arrêté par les commandes de débogage ## Associer le débogueur @@ -49,20 +49,20 @@ Vous pouvez associer le débogueur à tout client 4D distant autorisé à se con Pour associer le débogueur à un client 4D distant : -1. In the 4D Server menu bar, select **Edit** > **Detach Debugger** so that the debugger becomes available to remote machines (this step is useless if the 4D Server is running headless). -2. In a remote 4D client connected to the server, select **Run** > **Attach Remote Debugger** +1. Dans la barre de menu de 4D Server, sélectionnez **Edition** > **Détacher Débogueur** pour que le débogueur devienne disponible pour les machines distantes (cette étape est inutile si 4D Server fonctionne sans interface). +2. Dans un client 4D distant connecté au serveur, sélectionnez **Exécuter** > **Attacher le débogueur distant** -If the attachment is accepted (see [Rejected attachment requests](#rejected-attachment-requests)), the menu command becomes **Detach Remote Debugger**. +Si le rattachement est accepté (voir [Demandes d'association rejetées](#rejected-attachment-requests)), la commande de menu devient **Détacher Débogueur distant**. Le débogueur est alors attaché au client 4D distant : - jusqu'à la fin de la session utilisateur -- until you select `Detach Remote Debugger` +- jusqu'à ce que vous sélectionniez `Détacher le débogueur distant` Pour rattacher le débogueur au serveur : -1. On the remote 4D client that has the debugger attached, select **Run** > **Detach Remote Debugger**. -2. In the 4D Server menu bar, select **Edit** > **Attach debugger**. +1. Sur le client 4D distant auquel le débogueur est attaché, sélectionnez **Exécuter** > **Détacher le débogueur distant**. +2. Dans la barre de menu de 4D Server, sélectionnez **Edition** > **Attacher le débogueur**. > Lorsque le débogueur est attaché au serveur (par défaut), tous les process du serveur sont automatiquement exécutés en mode coopératif pour permettre le débogage. Cela peut avoir un impact significatif sur les performances. Lorsque vous n'avez pas besoin de déboguer sur la machine du serveur, il est recommandé de détacher le débogueur et de l'attacher à une machine distante si nécessaire. @@ -70,13 +70,13 @@ Pour rattacher le débogueur au serveur : 4D vous permet d'associer le débogueur à un client 4D distant ou au serveur automatiquement au démarrage : -- On the server (if not headless), this option is named **Attach Debugger At Startup**. Lorsque le serveur est démarré, il associe automatiquement le débogueur (par défaut). +- Sur le serveur (s'il n'est pas sans interface), cette option s'appelle **Attacher le débogueur au démarrage**. Lorsque le serveur est démarré, il associe automatiquement le débogueur (par défaut). -> **Warning**: If this option is selected for a server which is subsequently launched in headless mode, the debugger won't be available for this server. +> **Attention** : Si cette option est sélectionnée pour un serveur qui est ensuite lancé en mode headless (sans interface), le débogueur ne sera pas disponible pour ce serveur. -- On a remote 4D client, this option is named **Attach Remote Debugger At Startup**. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. +- Sur un client 4D distant, cette option s'appelle **Attacher le débogueur distant au démarrage**. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. Si l'association est acceptée (voir [Demandes d'association rejetées](#rejected-attachment-requests)), le débogueur distant est automatiquement attaché au client 4D distant et l'option **Détacher le débogueur distant** s'affiche. -> This setting is applied per project and is stored locally in the [`.4DPreferences`](Project/architecture.md#userpreferencesusername) file. +> Ce paramètre est appliqué par projet et est stocké localement dans le fichier [`.4DPreferences`](Project/architecture.md#userpreferencesusername). ## Demandes d'association rejetées @@ -90,5 +90,5 @@ Si une machine tente d'attacher le débogueur alors qu'il est déjà attaché, l L'attachement du débogueur dans ce cas nécessite que : -- the attached debugger is detached from the server or from the remote 4D client using respectively the **Detach debugger** or **Detach remote debugger** menu command, +- le débogueur attaché est détaché du serveur ou du client 4D distant en utilisant respectivement la commande de menu **Détacher le débogueur** ou **Détacher le débogueur distant**, - la session du client distant 4D associée soit fermée. From b0e0a52f0021f3f3609b9fb0f89778ffa3165076 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:49:34 +0200 Subject: [PATCH 136/162] New translations orda-events.md (French) --- .../version-20-R10/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md index 970068d8a534e2..eaec1aa2c56823 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From 5ed3db534ae7a26c53031b2cef0a288bd97bce3a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:49:53 +0200 Subject: [PATCH 137/162] New translations orda-events.md (Spanish) --- .../version-20-R10/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md index d68ffbd6e26ce6..a631cb2ae59ee4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From a7e5805afb7300c6e11d68f908cdfa2256ba687e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:50:12 +0200 Subject: [PATCH 138/162] New translations orda-events.md (Japanese) --- .../version-20-R10/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md index 4456da7b5d6dde..1994fea99cf1f0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From 0d5ec24cf956c25b56e0a82ee3c2834a435b0d98 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:50:30 +0200 Subject: [PATCH 139/162] New translations orda-events.md (Portuguese, Brazilian) --- .../version-20-R10/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md index 14ff5f757131f8..301229e0669247 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md @@ -129,7 +129,7 @@ Function event touched($event : Object) The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes). -This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity, you must use formulas in the returned ORDA query -- which triggers sequential queries. +This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries. To fully understand this case, let's examine the following two calculated attributes: @@ -186,8 +186,8 @@ Function query sameDay($event : Object) : Text return "" End case - return ($sameDayValue) ? "eval(This.departureDate != This.arrivalDate)” : "eval(This.departureDate = This.arrivalDate)" - // the ORDA query string uses a formula attributes, it will be indexed + return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)" + // the ORDA query string uses a formula, it will not be indexed ``` From cc16f09d954f6f91f8e00eb87716050e1941849b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:52:02 +0200 Subject: [PATCH 140/162] New translations $catalog.md (Spanish) --- .../version-20-R10/REST/$catalog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$catalog.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$catalog.md index 8298225ab179f2..14b72184af1af3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$catalog.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$catalog.md @@ -63,7 +63,7 @@ Devuelve los [singletons compartidos](#singletons) (si los hay) e información s Llamando `$catalog/$all` puede recibir información detallada sobre los atributos de cada una de las clases de datos del modelo activo del proyecto. -For more information about what is returned for each dataclass and its attributes, use [`$catalog/{dataClass}`](#catalogdataclass). +Para obtener más información sobre lo que se devuelve para cada clase de datos y sus atributos, utilice [`$catalog/{dataClass}`](#catalogdataclass). ### Ejemplo From 88e9051fad690afd43bcc61112fcc2a0df6c7d8e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:53:51 +0200 Subject: [PATCH 141/162] New translations classfunctions.md (Spanish) --- .../version-20-R10/REST/ClassFunctions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/ClassFunctions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/ClassFunctions.md index a187844cd9eddb..50dca9d1af3f1b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/ClassFunctions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/ClassFunctions.md @@ -59,7 +59,7 @@ En el lenguaje 4D, esta llamada equivale a: $city:=ds.City.getCity("Aguada") ``` -## Function configuration +## Configuración de funciones ### `exposed` From fa9a45545ad1ed8c898789e7bb2470b15dcb0d98 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 20:53:55 +0200 Subject: [PATCH 142/162] New translations configuration.md (Spanish) --- .../version-20-R10/REST/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/configuration.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/configuration.md index 38c131baefb00f..3ebef1e632d3b1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/configuration.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/configuration.md @@ -72,7 +72,7 @@ Para eliminar la exposición REST de un campo: 2. Desmarque la opción **Exponer como recurso REST** para el campo. ![alt-text](../assets/en/REST/field.png) - Repeat this for each field whose exposure needs to be modified. + Repita esta operación para cada campo cuya exposición deba modificarse. > Para que un campo sea accesible a través de REST, la tabla padre también debe serlo. Si la tabla padre no está expuesta, ninguno de sus campos lo estará, independientemente de su estado. @@ -80,6 +80,6 @@ Para eliminar la exposición REST de un campo: En 4D Server, las peticiones REST se gestionan automáticamente a través de procesos apropiativos, **incluso en modo interpretado**. Debe asegurarse de que su código es [compatible con una ejecución apropiativa](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). -> To debug interpreted web code on the server machine, make sure the debugger is [attached to the server](../Debugging/debugging-remote.md) or [to a remote machine](../Debugging/debugging-remote.md). Los procesos web pasan entonces al modo cooperativo y se puede depurar el código del servidor web. +> Para depurar código web interpretado en la máquina del servidor, asegúrese de que el depurador está [conectado al servidor](../Debugging/debugging-remote.md) o [a una máquina remota](../Debugging/debugging-remote.md). Los procesos web pasan entonces al modo cooperativo y se puede depurar el código del servidor web. Con 4D monopuesto, el código interpretado siempre se ejecuta en modo cooperativo. From d1255ae6c3e7b0571b8b7f16bbbcfc164d445980 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 21 Aug 2025 21:05:39 +0200 Subject: [PATCH 143/162] New translations http-request-handler.md (Spanish) --- .../version-20-R10/WebServer/http-request-handler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md index aca5f3019f74b0..c7c8d1f1f9b64c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md @@ -233,7 +233,7 @@ Examples of URLs triggering the handlers: ## Código del gestor de peticiones -### Function configuration +### Configuración de funciones The HTTP Request handler code must be implemented in a function of a [**Shared**](../Concepts/classes.md#shared-singleton) [**singleton class**](../Concepts/classes.md#singleton-classes). From 656c2397878fa7ee1c22e638a1fe2bf71ec4a953 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:43:42 +0200 Subject: [PATCH 144/162] New translations classclass.md (Spanish) --- .../docusaurus-plugin-content-docs/version-19/API/ClassClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/ClassClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/ClassClass.md index 739667ff7e2209..eaa67b6d16cb71 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/ClassClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/ClassClass.md @@ -113,7 +113,7 @@ $person:=cs.Person.new("John";"Doe";40) La propiedad `.superclass` devuelve la clase padre de la clase. Una superclase puede ser un objeto `4D.Class`, o un objeto `cs.className`. Si la clase no tiene una clase padre, la propiedad devuelve **null**. -To define a superclass for a user class, use the [`extends`](Concepts/classes.md#class-extends-classname) keyword like: `Class extends `. +Para definir una superclase para una clase usuario, utilice la palabra clave [`extends`](Concepts/classes.md#class-extends-classname) como: `Class extends `. Esta propiedad es **de sólo lectura**. From 2ae82a978fda8a5aa0abcdd98ba7088ca92461a6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:43:51 +0200 Subject: [PATCH 145/162] New translations parameters.md (French) --- .../version-19/Concepts/parameters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md index 4219954d91769d..59f2e19a40419c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md @@ -450,7 +450,7 @@ $para.Age:=Num($para.Age)+$para.toAdd ALERT(String($para.Name)+" is "+String($para.Age)+" years old.") ``` -Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. +Ici, toute la puissance réside dans le fait de ne pas avoir à changer votre code existant. Cela fonctionnera toujours comme dans l'ancienne version, mais le cas échéant, vous pouvez utiliser une autre valeur que 10 ans. Avec les variables nommées, n'importe quel paramètre peut être optionnel. Dans l'exemple ci-dessus, tous les paramètres sont optionnels et peuvent être donnés, dans n'importe quel ordre. From 9a9ae0588862d6ade69afe9f391841a67a5410a5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:43:54 +0200 Subject: [PATCH 146/162] New translations createstylesheet.md (Spanish) --- .../version-19/FormEditor/createStylesheet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/createStylesheet.md b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/createStylesheet.md index 7487f1f4a49243..351fc32241a2d5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/createStylesheet.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/createStylesheet.md @@ -45,7 +45,7 @@ Especifique el tipo de objeto, luego entre llaves, declare el estilo o los estil :::note - El tipo objeto corresponde a la propiedad JSON [tipo](FormObjects/properties_Object.md#type) de los objetos formulario. -- For listboxes, the following specific types are available: *column*, *header*, *footer*. +- Para listboxes, existen los siguientes tipos específicos: *columna*, *encabezado*, *pie de página*. ::: From 4c7f5bce9c70297d718dff8fb0f92cd12237894b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:43:56 +0200 Subject: [PATCH 147/162] New translations classclass.md (Spanish) --- .../docusaurus-plugin-content-docs/version-20/API/ClassClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md index 14e200698bf9bc..2d867e6ddedc20 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/ClassClass.md @@ -125,7 +125,7 @@ $person:=cs.Person.new("John";"Doe";40) La propiedad `.superclass` devuelve la clase padre de la clase. Una superclase puede ser un objeto `4D.Class`, o un objeto `cs.className`. Si la clase no tiene una clase padre, la propiedad devuelve **null**. -To define a superclass for a user class, use the [`extends`](Concepts/classes.md#class-extends-classname) keyword like: `Class extends `. +Para definir una superclase para una clase usuario, utilice la palabra clave [`extends`](Concepts/classes.md#class-extends-classname) como: `Class extends `. Esta propiedad es **de sólo lectura**. From c9c9928e924ebd1988f43eb8def8a99082c191c0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:06 +0200 Subject: [PATCH 148/162] New translations basics.md (French) --- .../version-20/Debugging/basics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/basics.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/basics.md index 4035ebb38d155d..e16ad305a8e48c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/basics.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/basics.md @@ -90,7 +90,7 @@ Le débogueur vous permet d'avancer lentement dans les méthodes. Il affiche tou Une autre raison d'utiliser le débogueur est le développement du code. Il peut arriver que vous écriviez un algorithme plus complexe que d'habitude. Malgré tous les sentiments d'accomplissement, vous ne pouvez pas être totalement sûr que votre codage est 100% correct. Au lieu de l'exécuter "à l'aveugle", vous pouvez utiliser la commande `TRACE` au début de votre code, puis l'exécuter pas à pas pour garder un œil sur ce qui se passe. -## Ruptures/sauts +## Breaks Dans le processus de débogage, vous pouvez avoir besoin de sauter le traçage de certaines parties du code jusqu'à une certaine ligne. Ou bien, vous pouvez vouloir tracer le code lorsqu'une expression donnée a une certaine valeur (par exemple "$myVar > 1000"), ou chaque fois qu'une commande 4D spécifique est appelée. From 0ae6117510834b4f17ebab56f340c6fe1bb0a3a9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:08 +0200 Subject: [PATCH 149/162] New translations createstylesheet.md (Spanish) --- .../version-20/FormEditor/createStylesheet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/createStylesheet.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/createStylesheet.md index 0aa568c40bf6f3..0cd87b129999c4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/createStylesheet.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/createStylesheet.md @@ -59,7 +59,7 @@ Especifique el tipo de objeto, luego entre llaves, declare el estilo o los estil :::note - El tipo objeto corresponde a la propiedad JSON [tipo](FormObjects/properties_Object.md#type) de los objetos formulario. -- For listboxes, the following specific types are available: *column*, *header*, *footer*. +- Para listboxes, existen los siguientes tipos específicos: *columna*, *encabezado*, *pie de página*. ::: From dd0815e06e01c7d1eeaac038cfc5b63ace45fea8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:24 +0200 Subject: [PATCH 150/162] New translations parameters.md (French) --- .../current/Concepts/parameters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md index 5f172b1fa0e759..88d1be50d1677c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md @@ -56,7 +56,7 @@ L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement cop Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. Vous déclarez des paramètres en utilisant un **nom de paramètre** et un **type de paramètre**, séparés par deux points. - For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class Constructor` keywords. -- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code. +- Pour les méthodes (méthodes projet, méthodes d'objets de formulaire, méthodes de base de données et triggers), les paramètres sont déclarés à l'aide du mot-clé **`#DECLARE`** au début du code de la méthode. Exemples : From 75468c4bc110e9b213543adb3892afb018de07ff Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:26 +0200 Subject: [PATCH 151/162] New translations variables.md (French) --- .../current/Concepts/variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md index 049995121bfaca..e88a916f5bb4f2 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md @@ -258,7 +258,7 @@ Les variables système sont utilisées par les [commandes 4D](../commands/comman | `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). | | `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. | | `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md).
  • Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre.
  • Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture).
  • | -| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. If the key is a function key, `KeyCode` is set to a special code. | +| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. | | `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. | | `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu | From 51fee54bf6edbfe4c70e2307f07450a198ba281c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:27 +0200 Subject: [PATCH 152/162] New translations basics.md (French) --- .../current/Debugging/basics.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md index 91099f35e4c43a..450585e371221c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/basics.md @@ -72,29 +72,29 @@ La fenêtre d'erreur de syntaxe propose plusieurs options : :::tip -To ignore an error that occurs repeatedly (for example, in loops), you can turn the **Continue** button into an **Ignore** button. Hold down **Alt** (Windows) or **Option** (macOS) key and click the **Continue** button the first time it appears. The button label changes to **Ignore** if the dialog is called again for the same error. +Pour ignorer une erreur qui se répète (par exemple, dans les boucles), vous pouvez transformer le bouton **Continuer** en bouton **Ignorer**. Maintenez la touche **Alt** (Windows) ou **Option** (macOS) enfoncée et cliquez sur le bouton **Continuer** la première fois qu'il apparaît. Le libellé du bouton devient **Ignorer** si la boîte de dialogue est appelée à nouveau pour la même erreur. ::: - - **Abort**: Stops method execution and returns to the state before the method started executing: + - **Abandonner** : Stoppe l'exécution de la méthode et revient à l'état antérieur au début de l'exécution de la méthode : - Si une méthode formulaire ou méthode objet s'exécute en réponse à un événement, elle est arrêtée et vous revenez au formulaire. - Si la méthode est exécutée à partir de l'environnement de l'application, vous revenez à cet environnement. - - **Copy**: Copies the debugging information into the clipboard. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. + - **Copier** : Copie les informations de débogage dans le presse-papiers. L'info décrit l'environnement interne de l'erreur (numéro, composant interne, etc.). Elles sont formatées sous forme de texte tabulé. - - **Save...**: Saves the contents of the syntax error window and the call chain in a `.txt` file. + - **Enregistrer...**: Enregistre le contenu de la fenêtre d'erreur de syntaxe et la chaîne d'appel dans un fichier `.txt`. ## Débogueur -A common beginner mistake in dealing with error detection is to click **Abort** in the Syntax Error Window, go back to the Code Editor, and try to figure out what's going by looking at the code. Ne faites pas ça ! You will save plenty of time and energy by always using the [**Debugger**](debugger.md). +Une erreur courante des débutants en matière de détection des erreurs consiste à cliquer sur **Abandonner** dans la fenêtre d'erreur de syntaxe, à revenir à l'éditeur de code et à essayer de comprendre ce qui se passe en regardant le code. Ne faites pas ça ! Vous gagnerez beaucoup de temps et d'énergie en utilisant toujours le [**Débogueur**](debugger.md). Le débogueur vous permet d'avancer lentement dans les méthodes. Il affiche toutes les informations dont vous avez besoin pour comprendre pourquoi une erreur s'est produite. Une fois que vous avez ces informations, vous savez comment corriger l'erreur. -Une autre raison d'utiliser le débogueur est le développement du code. Il peut arriver que vous écriviez un algorithme plus complexe que d'habitude. Malgré tous les sentiments d'accomplissement, vous ne pouvez pas être totalement sûr que votre codage est 100% correct. Instead of running it "blind", you can use the `TRACE` command at the beginning of your code, then execute it step by step to keep an eye on what happens. +Une autre raison d'utiliser le débogueur est le développement du code. Il peut arriver que vous écriviez un algorithme plus complexe que d'habitude. Malgré tous les sentiments d'accomplissement, vous ne pouvez pas être totalement sûr que votre codage est 100% correct. Au lieu de l'exécuter "à l'aveugle", vous pouvez utiliser la commande `TRACE` au début de votre code, puis l'exécuter pas à pas pour garder un œil sur ce qui se passe. -## Ruptures/sauts +## Breaks -Dans le processus de débogage, vous pouvez avoir besoin de sauter le traçage de certaines parties du code jusqu'à une certaine ligne. Or, you may want to trace the code when a given expression has a certain value (e.g. `$myVar > 1000`), or every time a specific 4D command is called. +Dans le processus de débogage, vous pouvez avoir besoin de sauter le traçage de certaines parties du code jusqu'à une certaine ligne. Vous pouvez aussi vouloir tracer le code lorsqu'une expression donnée a une certaine valeur (par exemple `$myVar > 1000`), ou à chaque fois qu'une commande 4D spécifique est appelée. -These needs are covered by **breakpoints** and **command catching** features. Ils peuvent être configurés à partir de l'éditeur de code, du débogueur ou de l'explorateur d'exécution. \ No newline at end of file +Ces besoins sont couverts par les fonctionnalités **Points d'arrêt** et **Points d'arrêt sur commandes**. Ils peuvent être configurés à partir de l'éditeur de code, du débogueur ou de l'explorateur d'exécution. \ No newline at end of file From caf4c238722ccfbeafe61a0243877f8440444f6d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:29 +0200 Subject: [PATCH 153/162] New translations breakpoints.md (French) --- .../current/Debugging/breakpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/breakpoints.md b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/breakpoints.md index 52d9296d89bfdc..8ae8c1a6a1de5e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/breakpoints.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/breakpoints.md @@ -15,7 +15,7 @@ Les points d'arrêt sur commande vous permettent de commencer à tracer l'exécu Pour créer un point d'arrêt, cliquez dans la marge gauche de la fenêtre d'évaluation du code du débogueur ou dans l'éditeur de code. -In the following example, a break point (the red bullet) has been set, in the debugger, on the line `If (Value type(request.reponse.headers...`: +Dans l'exemple suivant, un point d'arrêt (la puce rouge) a été placé, dans le débogueur, sur la ligne `If (Value type(request.reponse.headers...` : ![break-point](../assets/en/Debugging/break.png) From 0818d2ed6d41d773fb8f34715a074d7328424818 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:31 +0200 Subject: [PATCH 154/162] New translations debugger.md (French) --- .../current/Debugging/debugger.md | 114 +++++++++--------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md index 98f15865dd0b2b..ab71886bbdfff4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugger.md @@ -3,13 +3,13 @@ id: debugger title: Débogueur --- -The 4D debugger is useful when you need to spot errors or monitor the execution of methods. Il vous permet d'avancer pas à pas dans le code et d'examiner les informations. Ce processus est appelé le "traçage". +Le débogueur 4D est utile pour repérer les erreurs ou surveiller l'exécution des méthodes. Il vous permet d'avancer pas à pas dans le code et d'examiner les informations. Ce processus est appelé le "traçage". ![debugger-window-local](../assets/en/Debugging/debugger-window-intro.png) :::info -If you are used to coding with **VS Code**, you can also use this editor to debug 4D code on 4D Server after installing the [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode) extension. +Si vous avez l'habitude de coder avec **VS Code**, vous pouvez également utiliser cet éditeur pour déboguer le code 4D sur 4D Server après avoir installé l'extension [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode). ::: @@ -18,7 +18,7 @@ If you are used to coding with **VS Code**, you can also use this editor to debu Il existe plusieurs façons d'afficher le débogueur : - En cliquant sur le bouton **Trace** dans [la fenêtre des erreurs de syntaxe](basics.md#syntax-error-window) -- Using the [`TRACE`](../commands-legacy/trace.md) command +- En utilisant la commande [`TRACE`](../commands-legacy/trace.md), - En cliquant sur le bouton **Debug** dans la fenêtre d'exécution de méthode ou en sélectionnant le bouton **Run and debug...** dans l'éditeur de code - En utilisant **Alt+Shift+Clic** droit (Windows) ou **Ctrl+Option+Cmd+Clic (macOS)** pendant l'exécution d'une méthode, puis en sélectionnant le processus à suivre dans le menu contextuel : @@ -29,8 +29,8 @@ Il existe plusieurs façons d'afficher le débogueur : Lorsqu'il est appelé, la fenêtre du débogueur fournit le nom de la méthode ou de la fonction de classe que vous êtes en train de tracer, ainsi que l'action qui a provoqué l'apparition initiale de la fenêtre du débogueur. Par exemple, dans la fenêtre du débogueur ci-dessus : -- *drop* is the method being traced -- The debugger window appeared because of a break point. +- *drop* est la méthode tracée +- La fenêtre du débogueur est apparue en raison d'un point d'arrêt. L'affichage d'une nouvelle fenêtre de débogage utilise la même configuration que la dernière fenêtre affichée dans la même session. Si vous exécutez plusieurs process utilisateur, vous pouvez les tracer indépendamment et avoir une fenêtre de débogage ouverte pour chaque process. @@ -42,7 +42,7 @@ La fenêtre du débogueur est généralement affichée sur la machine où le cod :::note Notes - Si le serveur fonctionne en mode headless, aucune fenêtre de débogage ne peut être affichée sur le serveur, vous devez utiliser le débogueur distant. Voir [Débogage depuis des machines distantes](./debugging-remote.md). -- You can also [attach the Qodly Studio debugger to a 4D Server application](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) if you need to debug Qodly pages in a deployed environment. +- Vous pouvez également [attacher le débogueur Qodly Studio à une application 4D Server](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) si vous devez déboguer des pages Qodly dans un environnement déployé. ::: @@ -54,7 +54,7 @@ La barre d'outils du débogueur comprend plusieurs boutons, associés aux raccou :::note -Default shortcuts can be customized in the [Shortcuts Page](../Preferences/shortcuts.md) of the Preferences dialog box. +Les raccourcis par défaut peuvent être personnalisés dans la [Page des raccourcis](../Preferences/shortcuts.md) de la boîte de dialogue Préférences. ::: @@ -62,33 +62,33 @@ Default shortcuts can be customized in the [Shortcuts Page](../Preferences/short Arrêt du mode Trace et reprise du cours normal de l’exécution de la méthode. -> **Shift** + **F5** or **Shift** + clicking the **No Trace** button resumes execution. avec désactivation de tous les appels à TRACE suivants dans le process courant. +> **Maj** + **F5** ou **Maj** + en cliquant sur le bouton **No Trace** reprend l'exécution. avec désactivation de tous les appels à TRACE suivants dans le process courant. #### Exécuter pas à pas Exécute la ligne de méthode en cours, indiquée par le compteur de programme (la flèche jaune). Le débogueur passe à la ligne suivante. -Le bouton Exécuter pas à pas ne passe pas dans les sous-routines et les fonctions. Il reste au niveau de la méthode que vous êtes en train de tracer. If you want to also trace subroutines and functions calls, use the **Step Into** button. +Le bouton Exécuter pas à pas ne passe pas dans les sous-routines et les fonctions. Il reste au niveau de la méthode que vous êtes en train de tracer. Si vous souhaitez également tracer les appels aux sous-routines et aux fonctions, utilisez le bouton **Pas à pas détaillé**. -Dans le débogage distant, lors de l'exécution de la méthode sur le serveur, la méthode parente est appelée après l'exécution de la dernière ligne de méthode enfant. If the parent method is executed on the remote side, the **Step Over** button has the same effect as the **No Trace** button. +Dans le débogage distant, lors de l'exécution de la méthode sur le serveur, la méthode parente est appelée après l'exécution de la dernière ligne de méthode enfant. Si la méthode parente est exécutée du côté distant, le bouton **Exécuter pas à pas** a le même effet que le bouton **No Trace**. #### Exécuter pas à pas détaillé Lors de l’exécution d’une ligne qui appelle une autre méthode (sous-routine ou fonction), ce bouton provoque l’affichage de la méthode appelée dans la fenêtre du débogueur, et permet au développeur de passer pas à pas dans cette méthode. -The new method becomes the current (top) method in the [Call Chain Pane](#call-chain-pane) of the Debugger window. +La nouvelle méthode devient la méthode courante (en haut) dans le [fenêtre de chaine d'appel](#call-chain-pane) du Débogueur. -When executing a line that does not call another method, this button has the same effect as the **Step Over** button. +Lors de l'exécution d'une ligne qui n'appelle pas une autre méthode, ce bouton a le même effet que le bouton **Exécuter pas à pas**. -#### Step Out +#### Exécuter et sortir -If you are tracing subroutines and functions, clicking on this button allows you to execute the entire method currently being traced and to step back to the caller method. The Debugger window is brought back to the previous method in the call chain. If the current method is the last method in the call chain, the Debugger window is closed. +Si vous tracez des sous-programmes et des fonctions, un clic sur ce bouton vous permet d'exécuter l'intégralité de la méthode en cours de traçage et de revenir à la méthode de l'appelant. La fenêtre du débogueur est ramenée à la méthode précédente dans la chaîne d'appels. Si la méthode courante est la dernière méthode de la chaîne d’appel, la fenêtre du débogueur se referme. -In remote debugging, on execution of the last line of the method, if the method is executed on the server, the parent method is called. If the parent method is executed on the remote side, the button acts in the same manner as the No Trace button. +En débogage distant, lors de l'exécution de la dernière ligne de la méthode, si la méthode est exécutée sur le serveur, la méthode parente est appelée. Si la méthode parente est exécutée côté distant, le bouton agit de la même manière que le bouton Reprendre exécution. -#### Step Into Process +#### Pas à pas nouveau process -On execution of a line that creates a new process (i.e., calling the New process command), this button opens a new Debugger window that allows you to trace the process method of the newly created process. On execution of a line that does not creates a new process, this button acts in the same manner as the Step Over button. +Lors de l’exécution d’une ligne qui crée un nouveau process (par exemple qui appelle la commande New process), ce bouton ouvre une nouvelle fenêtre du débogueur qui vous permet de tracer la méthode de gestion du process que vous venez de créer. Lors de l’exécution d’une ligne qui ne crée pas de nouveau process, ce bouton se comporte comme le bouton Exécuter pas à pas. #### Stopper exécution @@ -99,9 +99,9 @@ La méthode s’arrête et vous retournez là où vous étiez avant son exécuti #### Stopper et éditer -The method that is executing when you click the **Abort and Edit** button opens in the Code Editor. +La méthode qui s'exécute lorsque vous cliquez sur ce bouton s'ouvre dans l'éditeur de code. -> **Tip**: Use this button when you know which changes are required in your code, and when these changes are required to pursue the testing of your methods. Une fois vos modifications effectuées, ré-exécutez la méthode. +> **Conseil** : Utilisez ce bouton lorsque vous connaissez les modifications à apporter à votre code, et le moment où elles doivent être effectuées pour pouvoir poursuivre le test de vos méthodes. Une fois vos modifications effectuées, ré-exécutez la méthode. #### Editer méthode @@ -109,18 +109,18 @@ La méthode qui s'exécute au moment où vous cliquez sur le bouton Éditer s'ou Si vous utilisez ce bouton pour modifier une méthode, les modifications ne seront effectives que la prochaine fois qu'elle sera exécutée. -> **Tip:** Use this button when you know which changes are required in your code and when they don't interfere with the rest of the code to be executed or traced. +> **Conseil:** Utilisez ce bouton lorsque vous savez quelles modifications sont nécessaires dans votre code et qu'elles n'interfèrent pas avec le reste du code à exécuter ou à tracer. -## Auto-saving +## Sauvegarde automatique -The current state of the debugger window is automatically saved in the project. Cela inclut : +L'état courant de la fenêtre du débogueur est automatiquement enregistré dans le projet. Cela inclut : -- the size and position of the window, -- the position of the division lines, -- the [display mode](#display-mode), -- the expressions currently displayed in the custom watch pane expressions. By default, expressions are saved with the current method or function. You can [**pin an expression**](#pinning-an-expression) to keep it displayed in all contexts. +- la taille et la position de la fenêtre, +- la position des lignes de division, +- le [mode affichage](#display-mode), +- les expressions actuellement affichées dans le volet des expressions personnalisées. Par défaut, les expressions sont enregistrées avec la méthode ou la fonction en courante. Vous pouvez [**épingler une expression**](#pinning-an-expression) pour qu'elle reste affichée dans tous les contextes. -The **Default window configuration** button restores the default position and size of the current window (including the division lines and the window itself). +Le bouton **Configuration par défaut de la fenêtre** rétablit la position et la taille par défaut de la fenêtre courante (y compris les lignes de division et la fenêtre elle-même). ![factory-settings-button](../assets/en/Debugging/debugger-factory.png) @@ -140,9 +140,9 @@ La colonne **Expression** affiche les noms des objets et des expressions. La col ### Liste Expression -#### Line Expressions +#### Expressions courantes -This theme lets you keep track of the values of expressions: +Ce thème vous permet de suivre les valeurs des expressions : - utilisé(e) s dans la ligne de code à exécuter (celle qui est indiquée par le compteur de programme — la flèche jaune dans la [Fenêtre d'évaluation du code](#fenetre-devaluation-du-code)), - utilisé(e) s dans la ligne de code précédente @@ -294,14 +294,14 @@ Pour afficher le type de paramètre, cochez l'option **Afficher les types** dans Après avoir déployé la liste des paramètres, vous pouvez faire glisser et déposer les paramètres et les résultats de la fonction dans la [fenêtre d'évaluation](#fenetre-devaluation). -You can also use the [Call chain](../commands/call-chain.md) command to retrieve the call chain programmatically. +Vous pouvez également utiliser la commande [Call chain](../commands/call-chain.md) pour récupérer la chaîne d'appels par programmation. ## Fenêtre d'évaluation -Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire au [fenêtre Expression](#fenetre-dexpression), sauf que vous décidez quelles expressions sont affichées. Tout type d'expression peut être évalué : +Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire à la [fenêtre d'expression](#fenetre-dexpression), sauf que vous décidez quelles expressions sont affichées. Tout type d'expression peut être évalué : - variable -- object and object property +- objet et propriété d'objet - champ - pointer - calcul @@ -311,70 +311,70 @@ Le fenêtre d'évaluation sert à évaluer les expressions. Elle est similaire a ![custom-Watch-pane](../assets/en/Debugging/custom-watch-pane.png) -Vous pouvez évaluer toute expression qui peut être affichée sous forme de texte. Ceci n'inclut pas les champs et les variables image et BLOB. To display BLOB contents, you can use BLOB commands, such as [BLOB to text](../commands-legacy/blob-to-text.md). +Vous pouvez évaluer toute expression qui peut être affichée sous forme de texte. Ceci n'inclut pas les champs et les variables image et BLOB. Pour afficher le contenu d'un BLOB, vous pouvez utiliser les commandes BLOB, telles que [BLOB to text](../commands-legacy/blob-to-text.md). -### Display mode +### Mode d'affichage -You select the display mode to be used for all debugger windows using the **Display** option of the Custom Watch pane's [contextual menu](#contextual-menu). +Vous sélectionnez le mode d'affichage à utiliser pour toutes les fenêtres du débogueur en utilisant l'option **Affichage** du [menu contextuel](#contextual-menu) de la fenêtre d'évaluation. ![custom-Watch-pane](../assets/en/Debugging/custom-watch-pane-display-menu.png) Les options suivantes sont disponibles : -- **Local variables**: Displays and evaluates automatically local variables as soon as they are initialized in the running source code. -- **Line Expressions**: Displays and evaluates automatically the same contents as the [Line Expressions](#line-expressions) item of the Expression List. -- **Expressions**: Only displays custom expressions that you have entered manually. Custom expressions have a specific blue icon ![custom-expression-icon](../assets/en/Debugging/custom-expression-icon.png). +- **Variables locales** : Affiche et évalue automatiquement les variables locales dès qu'elles sont initialisées dans le code source en cours d'exécution. +- **Expressions courantes** : Affiche et évalue automatiquement le même contenu que l'élément [Expressions courantes](#line-expressions) de la liste Expression. +- **Expressions** : Affiche uniquement les expressions personnalisées que vous avez saisies manuellement. Les expressions personnalisées ont une icône bleue spécifique ![custom-expression-icon](../assets/en/Debugging/custom-expression-icon.png). :::note -Whatever the display mode, you can add custom expressions at any moment. +Quel que soit le mode d'affichage, vous pouvez ajouter des expressions personnalisées à tout moment. ::: ### Gestion des expressions -You can enter any expression to evaluate. A custom expression is only displayed in the current debugger window, except if you [pin it](#pinning-an-expression). +Vous pouvez saisir n'importe quelle expression à évaluer. Une expression personnalisée n'est affichée que dans la fenêtre courante du débogueur, sauf si vous l'[épinglez](#pinning-an-expression). Il y a plusieurs façons d'ajouter des expressions à la liste : - Glisser et déposer un objet ou une expression depuis la fenêtre d'expression ou la fenêtre de chaîne d'appel - Sélectionner une expression dans le volet [source](#source-code-pane) et appuyer sur **ctrl+D** (Windows) ou **cmd+D** (macOS) - Double-cliquer quelque part dans l'espace vide du volet (ajoute une expression avec un nom de paramètre fictif que vous pouvez modifier) -- Select a [display option](#display-mode) that automatically inserts expressions. -- Select **New Expression...** in the Custom Watch pane's [contextual menu](#contextual-menu) to add an expression using the **Formula Editor**. Vous pouvez entrer n'importe quelle formule qui renvoie un résultat. +- Sélectionner une [option d'affichage](#display-mode) qui insère automatiquement des expressions. +- Sélectionnez **Nouvelle expression...** dans le [menu contextuel](#contextual-menu) de la fenêtre d'évaluation pour ajouter une expression à l'aide de l'**Éditeur de formules**. Vous pouvez entrer n'importe quelle formule qui renvoie un résultat. Pour modifier une expression, cliquez dessus pour la sélectionner, puis cliquez à nouveau ou appuyez sur **Enter** sur votre clavier. -To delete a custom expression, click on it to select it, then press **Backspace** or **Delete** on your keyboard, or click on the **x** icon. +Pour supprimer une expression personnalisée, cliquez dessus pour la sélectionner, puis appuyez sur **Retour arrière** ou **Suppr** sur votre clavier, ou cliquez sur l'icône **x**. :::warning -Be careful when you evaluate a 4D expression modifying the value of one of the System Variables (for instance, the OK variable) because the execution of the rest of the method may be altered. +Soyez prudent lorsque vous évaluez une expression 4D modifiant la valeur d'une des variables système (par exemple, la variable OK) car l'exécution du reste de la méthode peut être altérée. ::: -### Pinning an expression +### Épingler une expression -You can click on the pushpin icon to pin an expression: +Vous pouvez cliquer sur l'icône de la punaise pour épingler une expression : ![pinning-expression](../assets/en/Debugging/pin-expression.png) -The expression will then be displayed in all debugger windows. +L'expression sera alors affichée dans toutes les fenêtres du débogueur. ### Menu contextuel -The Custom Watch Pane’s menu is available on a contextual click or using the ![menu](../assets/en/Debugging/custom-watch-pane-menu.png) icon: +Le menu de la fenêtre d'évaluation est accessible via un clic contextuel ou en utilisant l'icône ![menu](../assets/en/Debugging/custom-watch-pane-menu.png) : ![custom-watch-pane-context-menu](../assets/en/Debugging/custom-watch-pane-context-menu.png) -- **Display**: Selects the [display mode](#display-mode) to be used for all debugger windows. -- **New Expression...**: Inserts a new expression and displays the 4D Formula Editor. +- **Affichage** : Sélectionne le [mode d'affichage](#display-mode) à utiliser pour toutes les fenêtres du débogueur. +- **Nouvelle expression** : insère une nouvelle expression et affiche l'Éditeur de formules 4D. ![custom-Watch-pane-context-menu](../assets/en/Debugging/custom-watch-pane-formula-editor.png) - For more information on the Formula Editor, see the [4D Design Reference manual](https://doc.4d.com/4Dv20/4D/20.2/Description-of-formula-editor.300-6750169.en.html). + Pour plus d'informations sur l'éditeur de formules, voir le [manuel Mode développement](https://doc.4d.com/4Dv20/4D/20.2/Description-of-formula-editor.300-6750169.en.html). -* **Insert Command...**: Displays a menu allowing to insert a 4D command as a new expression. +* **Insérer une commande...** : Affiche un menu permettant d'insérer une commande 4D en tant que nouvelle expression. * **Supprimer tout** : Supprime toutes les expressions de la fenêtre d"évaluation. -* **Standard Expressions**: Copies the Watch Pane's list of expressions as custom expressions. +* **Expressions standard** : Copie la liste des expressions de la fenêtre d'évaluation en tant qu'expressions personnalisées. > Cette option n'est pas disponible en [mode débogueur distant](debugging-remote.md). @@ -393,7 +393,7 @@ Cette zone vous permet également d'ajouter ou de supprimer des [**points d'arr ### Prototype -The prototype of the currently executed method or function in the Call chain is displayed on the top of the pane: +Le prototype de la méthode ou de la fonction en cours d'exécution dans la chaîne d'appels est affiché en haut du volet : ![prototype](../assets/en/Debugging/prototype.png) @@ -454,9 +454,9 @@ Le menu contextuel de la Fenêtre d'évaluation du code donne accès à plusieur ![source-code-pane-context-window](../assets/en/Debugging/sourceCodePaneContext.png) -- **Show documentation**: Opens the documentation for the target element. Cette commande est disponible avec les objets suivants : - - *Project methods*, *user classes*: Selects the method in the Explorer and switches to the documentation tab - - *4D commands, functions, class names:* Displays the online documentation. +- **Montrer la documentation** : Ouvre la documentation de l'élément cible. Cette commande est disponible avec les objets suivants : + - *méthodes projet*, *classes utilisateurs* : Sélectionne la méthode dans l'explorateur et passe à l'onglet documentation + - *Commandes 4D, fonctions, noms de classe:* Affiche la documentation en ligne. - **Chercher les références** (cette fonction est également accessible depuis l’Editeur de code) : rechercher tous le projet (méthodes et formulaires) dans lesquels l’élément courant de la méthode est référencé. L’élément courant est l’élément sélectionné ou l’élément dans lequel se trouve le curseur. Il peut s’agir d’un nom de champ, de variable, de commande, d’une chaîne, etc. Le résultat de la recherche est affiché dans une nouvelle fenêtre de résultat standard. - **Copier** : copie standard de l'expression sélectionnée dans le conteneur de données. - **Copier dans la fenêtre d'expression** : copie l'expression sélectionnée dans la Fenêtre d'évaluation. From cb2ea798c280e91b13570c6ba6e5abdc26d0e558 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:33 +0200 Subject: [PATCH 155/162] New translations debugging-remote.md (French) --- .../current/Debugging/debugging-remote.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugging-remote.md b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugging-remote.md index debf4856de5a15..f2448909ea5b59 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugging-remote.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugging-remote.md @@ -19,13 +19,13 @@ Un seul débogueur peut déboguer une application 4D Server à un moment donné. - le débogueur local de 4D Server (par défaut) - si le serveur ne tourne pas en mode headless. - le débogueur d'un client 4D distant - si la session distante a accès au mode Développement. -- the [Qodly debugger](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) on 4D Server - if the server allows access to Qodly Studio. -- the **VS Code** debugger, provided you installed the [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode) extension. +- le [débogueur Qodly](../WebServer/qodly-studio.md#using-qodly-debugger-on-4d-server) sur 4D Server - si le serveur autorise l'accès à Qodly Studio. +- le débogueur **VS Code**, à condition que vous ayez installé l'extension [4D-Debugger](https://github.com/4d/4D-Debugger-VSCode). Le débogueur associé est appelé chaque fois que 4D Server rencontre : - un point d'arrêt -- a `TRACE` command +- une commande `TRACE` - un point d'arrêt sur commande - une erreur @@ -33,7 +33,7 @@ A noter que les messages d'erreur sont envoyés à la machine du débogueur asso A noter que : -- The code executed in the `On Server Startup Database` Method cannot be debugged remotely. Il ne peut être débogué que du côté serveur +- Le code exécuté dans la méthode base `On Server Startup` ne peut pas être débogué à distance. Il ne peut être débogué que du côté serveur - Si aucun débogueur n'est associé, le code en cours d'exécution n'est pas arrêté par les commandes de débogage ## Associer le débogueur @@ -49,20 +49,20 @@ Vous pouvez associer le débogueur à tout client 4D distant autorisé à se con Pour associer le débogueur à un client 4D distant : -1. In the 4D Server menu bar, select **Edit** > **Detach Debugger** so that the debugger becomes available to remote machines (this step is useless if the 4D Server is running headless). -2. In a remote 4D client connected to the server, select **Run** > **Attach Remote Debugger** +1. Dans la barre de menu de 4D Server, sélectionnez **Edition** > **Détacher Débogueur** pour que le débogueur devienne disponible pour les machines distantes (cette étape est inutile si 4D Server fonctionne sans interface). +2. Dans un client 4D distant connecté au serveur, sélectionnez **Exécuter** > **Attacher le débogueur distant** -If the attachment is accepted (see [Rejected attachment requests](#rejected-attachment-requests)), the menu command becomes **Detach Remote Debugger**. +Si le rattachement est accepté (voir [Demandes d'association rejetées](#rejected-attachment-requests)), la commande de menu devient **Détacher Débogueur distant**. Le débogueur est alors attaché au client 4D distant : - jusqu'à la fin de la session utilisateur -- until you select `Detach Remote Debugger` +- jusqu'à ce que vous sélectionniez `Détacher le débogueur distant` Pour rattacher le débogueur au serveur : -1. On the remote 4D client that has the debugger attached, select **Run** > **Detach Remote Debugger**. -2. In the 4D Server menu bar, select **Edit** > **Attach debugger**. +1. Sur le client 4D distant auquel le débogueur est attaché, sélectionnez **Exécuter** > **Détacher le débogueur distant**. +2. Dans la barre de menu de 4D Server, sélectionnez **Edition** > **Attacher le débogueur**. > Lorsque le débogueur est attaché au serveur (par défaut), tous les process du serveur sont automatiquement exécutés en mode coopératif pour permettre le débogage. Cela peut avoir un impact significatif sur les performances. Lorsque vous n'avez pas besoin de déboguer sur la machine du serveur, il est recommandé de détacher le débogueur et de l'attacher à une machine distante si nécessaire. @@ -70,13 +70,13 @@ Pour rattacher le débogueur au serveur : 4D vous permet d'associer le débogueur à un client 4D distant ou au serveur automatiquement au démarrage : -- On the server (if not headless), this option is named **Attach Debugger At Startup**. Lorsque le serveur est démarré, il associe automatiquement le débogueur (par défaut). +- Sur le serveur (s'il n'est pas sans interface), cette option s'appelle **Attacher le débogueur au démarrage**. Lorsque le serveur est démarré, il associe automatiquement le débogueur (par défaut). -> **Warning**: If this option is selected for a server which is subsequently launched in headless mode, the debugger won't be available for this server. +> **Attention** : Si cette option est sélectionnée pour un serveur qui est ensuite lancé en mode headless (sans interface), le débogueur ne sera pas disponible pour ce serveur. -- On a remote 4D client, this option is named **Attach Remote Debugger At Startup**. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. +- Sur un client 4D distant, cette option s'appelle **Attacher le débogueur distant au démarrage**. Lorsqu'elle est sélectionnée, le client 4D distant tente automatiquement d'attacher le débogueur distant à chaque connexion ultérieure à la même base de données 4D Server. Si l'association est acceptée (voir [Demandes d'association rejetées](#rejected-attachment-requests)), le débogueur distant est automatiquement attaché au client 4D distant et l'option **Détacher le débogueur distant** s'affiche. -> This setting is applied per project and is stored locally in the [`.4DPreferences`](Project/architecture.md#userpreferencesusername) file. +> Ce paramètre est appliqué par projet et est stocké localement dans le fichier [`.4DPreferences`](Project/architecture.md#userpreferencesusername). ## Demandes d'association rejetées @@ -90,5 +90,5 @@ Si une machine tente d'attacher le débogueur alors qu'il est déjà attaché, l L'attachement du débogueur dans ce cas nécessite que : -- the attached debugger is detached from the server or from the remote 4D client using respectively the **Detach debugger** or **Detach remote debugger** menu command, +- le débogueur attaché est détaché du serveur ou du client 4D distant en utilisant respectivement la commande de menu **Détacher le débogueur** ou **Détacher le débogueur distant**, - la session du client distant 4D associée soit fermée. From 8d5fdf2d3d3b485cff5be7b07f0a83e30f54537d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:34 +0200 Subject: [PATCH 156/162] New translations $catalog.md (Spanish) --- i18n/es/docusaurus-plugin-content-docs/current/REST/$catalog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$catalog.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$catalog.md index 8298225ab179f2..14b72184af1af3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$catalog.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$catalog.md @@ -63,7 +63,7 @@ Devuelve los [singletons compartidos](#singletons) (si los hay) e información s Llamando `$catalog/$all` puede recibir información detallada sobre los atributos de cada una de las clases de datos del modelo activo del proyecto. -For more information about what is returned for each dataclass and its attributes, use [`$catalog/{dataClass}`](#catalogdataclass). +Para obtener más información sobre lo que se devuelve para cada clase de datos y sus atributos, utilice [`$catalog/{dataClass}`](#catalogdataclass). ### Ejemplo From 7f33d42f91835a5b4195afec2a5fe00d6651b5c5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:36 +0200 Subject: [PATCH 157/162] New translations classfunctions.md (Spanish) --- .../current/REST/ClassFunctions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md index a187844cd9eddb..50dca9d1af3f1b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/ClassFunctions.md @@ -59,7 +59,7 @@ En el lenguaje 4D, esta llamada equivale a: $city:=ds.City.getCity("Aguada") ``` -## Function configuration +## Configuración de funciones ### `exposed` From 124d1fd04b3ddab5562b073cc3c1a1dcf0eadfac Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:38 +0200 Subject: [PATCH 158/162] New translations configuration.md (Spanish) --- .../current/REST/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md index 38c131baefb00f..3ebef1e632d3b1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md @@ -72,7 +72,7 @@ Para eliminar la exposición REST de un campo: 2. Desmarque la opción **Exponer como recurso REST** para el campo. ![alt-text](../assets/en/REST/field.png) - Repeat this for each field whose exposure needs to be modified. + Repita esta operación para cada campo cuya exposición deba modificarse. > Para que un campo sea accesible a través de REST, la tabla padre también debe serlo. Si la tabla padre no está expuesta, ninguno de sus campos lo estará, independientemente de su estado. @@ -80,6 +80,6 @@ Para eliminar la exposición REST de un campo: En 4D Server, las peticiones REST se gestionan automáticamente a través de procesos apropiativos, **incluso en modo interpretado**. Debe asegurarse de que su código es [compatible con una ejecución apropiativa](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). -> To debug interpreted web code on the server machine, make sure the debugger is [attached to the server](../Debugging/debugging-remote.md) or [to a remote machine](../Debugging/debugging-remote.md). Los procesos web pasan entonces al modo cooperativo y se puede depurar el código del servidor web. +> Para depurar código web interpretado en la máquina del servidor, asegúrese de que el depurador está [conectado al servidor](../Debugging/debugging-remote.md) o [a una máquina remota](../Debugging/debugging-remote.md). Los procesos web pasan entonces al modo cooperativo y se puede depurar el código del servidor web. Con 4D monopuesto, el código interpretado siempre se ejecuta en modo cooperativo. From 25d82a55102c7e6151ac519ce851dd64cfb2f0c2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:40 +0200 Subject: [PATCH 159/162] New translations $catalog.md (Spanish) --- .../version-20-R9/REST/$catalog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/$catalog.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/$catalog.md index 8298225ab179f2..14b72184af1af3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/$catalog.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/$catalog.md @@ -63,7 +63,7 @@ Devuelve los [singletons compartidos](#singletons) (si los hay) e información s Llamando `$catalog/$all` puede recibir información detallada sobre los atributos de cada una de las clases de datos del modelo activo del proyecto. -For more information about what is returned for each dataclass and its attributes, use [`$catalog/{dataClass}`](#catalogdataclass). +Para obtener más información sobre lo que se devuelve para cada clase de datos y sus atributos, utilice [`$catalog/{dataClass}`](#catalogdataclass). ### Ejemplo From 36f8d9ecd36a676beff01ae8fcd0578476062347 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:43 +0200 Subject: [PATCH 160/162] New translations classfunctions.md (Spanish) --- .../version-20-R9/REST/ClassFunctions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/ClassFunctions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/ClassFunctions.md index a187844cd9eddb..50dca9d1af3f1b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/ClassFunctions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/ClassFunctions.md @@ -59,7 +59,7 @@ En el lenguaje 4D, esta llamada equivale a: $city:=ds.City.getCity("Aguada") ``` -## Function configuration +## Configuración de funciones ### `exposed` From 668962cc66ada47083248e2e9fe8b6bf31ce763a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:44 +0200 Subject: [PATCH 161/162] New translations configuration.md (Spanish) --- .../version-20-R9/REST/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/configuration.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/configuration.md index 38c131baefb00f..3ebef1e632d3b1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/configuration.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/REST/configuration.md @@ -72,7 +72,7 @@ Para eliminar la exposición REST de un campo: 2. Desmarque la opción **Exponer como recurso REST** para el campo. ![alt-text](../assets/en/REST/field.png) - Repeat this for each field whose exposure needs to be modified. + Repita esta operación para cada campo cuya exposición deba modificarse. > Para que un campo sea accesible a través de REST, la tabla padre también debe serlo. Si la tabla padre no está expuesta, ninguno de sus campos lo estará, independientemente de su estado. @@ -80,6 +80,6 @@ Para eliminar la exposición REST de un campo: En 4D Server, las peticiones REST se gestionan automáticamente a través de procesos apropiativos, **incluso en modo interpretado**. Debe asegurarse de que su código es [compatible con una ejecución apropiativa](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). -> To debug interpreted web code on the server machine, make sure the debugger is [attached to the server](../Debugging/debugging-remote.md) or [to a remote machine](../Debugging/debugging-remote.md). Los procesos web pasan entonces al modo cooperativo y se puede depurar el código del servidor web. +> Para depurar código web interpretado en la máquina del servidor, asegúrese de que el depurador está [conectado al servidor](../Debugging/debugging-remote.md) o [a una máquina remota](../Debugging/debugging-remote.md). Los procesos web pasan entonces al modo cooperativo y se puede depurar el código del servidor web. Con 4D monopuesto, el código interpretado siempre se ejecuta en modo cooperativo. From c7cdbc89820a080c7d3665297f2a4c7b49388043 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 22 Aug 2025 01:44:46 +0200 Subject: [PATCH 162/162] New translations http-request-handler.md (Spanish) --- .../version-20-R9/WebServer/http-request-handler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/WebServer/http-request-handler.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/WebServer/http-request-handler.md index aca5f3019f74b0..c7c8d1f1f9b64c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R9/WebServer/http-request-handler.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R9/WebServer/http-request-handler.md @@ -233,7 +233,7 @@ Examples of URLs triggering the handlers: ## Código del gestor de peticiones -### Function configuration +### Configuración de funciones The HTTP Request handler code must be implemented in a function of a [**Shared**](../Concepts/classes.md#shared-singleton) [**singleton class**](../Concepts/classes.md#singleton-classes).