From 34dea07b263c1607f042819342c4679a3e529e56 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:17:21 +0200 Subject: [PATCH 001/265] New translations method-list.md (Spanish) --- .../current/ViewPro/method-list.md | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md index 0fba35fb2ca051..638b1fb9478b3c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md @@ -924,9 +924,9 @@ utilice el siguiente código:
Histórico -| Versión | Modificaciones | -| ------- | ------------------------- | -| v20 R2 | Support of .sjs documents | +| Versión | Modificaciones | +| ------- | -------------------------- | +| v20 R2 | Soporte de documentos .sjs |
@@ -958,25 +958,25 @@ Puede especificar el formato del archivo exportado incluyendo una extensión des * Microsoft Excel (".xlsx") * PDF (".pdf") * CSV (".txt", o ".csv") -* [SpreadJS document](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (".sjs") +* [Documento SpreadJS](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (".sjs") Si no se incluye la extensión, pero se especifica el formato en *paramObj*, el archivo exportado tendrá la extensión que corresponda al formato, excepto para el formato CSV (en este caso no se añade ninguna extensión). El parámetro opcional *paramObj* le permite definir múltiples propiedades para el objeto 4D View Pro exportado y lanzar un método de retrollamada cuando la exportación haya finalizado. -| Propiedad | Tipo | Descripción | -| -------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| format | text | (optional) When present, designates the exported file format: ".4vp" (default), ".csv", ".xlsx", ".pdf", or ".sjs". Puede utilizar las siguientes constantes:
  • `vk 4D View Pro format`
  • `vk csv format`
  • `vk MS Excel format`
  • `vk pdf format`
  • `vk sjs format`
  • 4D añade la extensión adecuada al nombre del archivo si es necesario. Si el formato especificado no corresponde con la extensión en *filePath*, se añadirá al final de *filePath*. Si no se especifica un formato y no se da ninguna extensión en *filePath*, se utiliza el formato de archivo por defecto. | -| contraseña | text | Sólo Microsoft Excel (opcional) - Contraseña utilizada para proteger el documento MS Excel | -| formula | 4D.Function | Método de retrollamada que se lanzará cuando la exportación haya finalizado. La utilización de un método de retrollamada es necesaria cuando la exportación es asíncrona (que es el caso de los formatos PDF y Excel) si necesita que se ejecute algún código después de la exportación. The callback method must be passed with the [`Formula`](../API/FunctionClass.md#formula) command. Ver [Pasar un método de retrollamada (fórmula)](#passing-a-callback-method-formula). | -| valuesOnly | boolean | Especifica que sólo los valores de las fórmulas (si las hay) serán exportados. | -| includeFormatInfo | boolean | True para incluir información de formato, false en caso contrario (por defecto es True). La información de formato es útil en algunos casos, por ejemplo, para una exportación a SVG. Por otro lado, poner esta propiedad en **false** permite reducir el tiempo de exportación. | -| includeBindingSource | boolean | Sólo 4DVP y Microsoft Excel. True (por defecto) para exportar los valores del contexto de datos actual como valores de celda en el documento exportado (los contextos de datos en sí no se exportan). False en caso contrario. El enlace de la celda siempre se exporta. Para la gestión de los contextos de datos y de las fusiones de celdas, ver [VP SET DATA CONTEXT](#vp-set-data-context) y [VP SET BINDING PATH](#vp-set-binding-path). | -| sheet | number | PDF únicamente (opcional) - Índice de la hoja a exportar (empezando por 0). -2=todas las hojas visibles (**por defecto**), -1= sólo la hoja actual | -| pdfOptions | object | PDF únicamente (opcional) - Opciones para la exportación en pdf

    PropiedadTipoDescripción
    creatortextnombre de la aplicación que creó el documento original a partir del cual se convirtió.
    titletexttítulo del documento.
    authortextnombre de la persona que creó ese documento.
    keywordstextpalabras clave asociadas al documento.
    asuntotextasunto del documento.

    | -| csvOptions | object | CSV únicamente (opcional) - Opciones para la exportación en csv

    PropiedadTipoDescripción
    rangeobjectObjeto rango de celdas
    rowDelimitertextDelimitador de línea. Por defecto: "\r\n"
    columnDelimitertextDelimitador de columna. Por defecto: ","

    | -| sjsOptions | object | SJS only (optional) - Options for sjs export

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleanwhether to include the automatically merged cells, default is false.
    includeBindingSourcebooleanwhether to include the binding source, default is true.
    includeCalcModelCachebooleanwhether to include the extra data of calculation. Can be faster when open the file with those data, default is false.
    includeEmptyRegionCellsbooleanwhether to include any empty cells (cells with no data or only style) outside the used data range, default is true.
    includeFormulasbooleanwhether to include the formulas, default is true.
    includeStylesbooleanwhether to include the style, default is true.
    includeUnusedNamesbooleanwhether to include the unused custom names, default is true.
    saveAsViewbooleanwhether to apply the format string to exporting values, default is false.

    | -| `\` | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | +| Propiedad | Tipo | Descripción | +| -------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| format | text | (opcional) Cuando está presente, designa el formato del archivo exportado: ".4vp" (por defecto), ".csv", ".xlsx", ".pdf" o ".sjs". Puede utilizar las siguientes constantes:
  • `vk 4D View Pro format`
  • `vk csv format`
  • `vk MS Excel format`
  • `vk pdf format`
  • `vk sjs format`
  • 4D añade la extensión adecuada al nombre del archivo si es necesario. Si el formato especificado no corresponde con la extensión en *filePath*, se añadirá al final de *filePath*. Si no se especifica un formato y no se da ninguna extensión en *filePath*, se utiliza el formato de archivo por defecto. | +| contraseña | text | Sólo Microsoft Excel (opcional) - Contraseña utilizada para proteger el documento MS Excel | +| formula | 4D.Function | Método de retrollamada que se lanzará cuando la exportación haya finalizado. La utilización de un método de retrollamada es necesaria cuando la exportación es asíncrona (que es el caso de los formatos PDF y Excel) si necesita que se ejecute algún código después de la exportación. El método de retrollamada debe pasarse con el comando [`Formula`](../API/FunctionClass.md#formula). Ver [Pasar un método de retrollamada (fórmula)](#passing-a-callback-method-formula). | +| valuesOnly | boolean | Especifica que sólo los valores de las fórmulas (si las hay) serán exportados. | +| includeFormatInfo | boolean | True para incluir información de formato, false en caso contrario (por defecto es True). La información de formato es útil en algunos casos, por ejemplo, para una exportación a SVG. Por otro lado, poner esta propiedad en **false** permite reducir el tiempo de exportación. | +| includeBindingSource | boolean | Sólo 4DVP y Microsoft Excel. True (por defecto) para exportar los valores del contexto de datos actual como valores de celda en el documento exportado (los contextos de datos en sí no se exportan). False en caso contrario. El enlace de la celda siempre se exporta. Para la gestión de los contextos de datos y de las fusiones de celdas, ver [VP SET DATA CONTEXT](#vp-set-data-context) y [VP SET BINDING PATH](#vp-set-binding-path). | +| sheet | number | PDF únicamente (opcional) - Índice de la hoja a exportar (empezando por 0). -2=todas las hojas visibles (**por defecto**), -1= sólo la hoja actual | +| pdfOptions | object | PDF únicamente (opcional) - Opciones para la exportación en pdf

    PropiedadTipoDescripción
    creatortextnombre de la aplicación que creó el documento original a partir del cual se convirtió.
    titletexttítulo del documento.
    authortextnombre de la persona que creó ese documento.
    keywordstextpalabras clave asociadas al documento.
    asuntotextasunto del documento.

    | +| csvOptions | object | CSV únicamente (opcional) - Opciones para la exportación en csv

    PropiedadTipoDescripción
    rangeobjectObjeto rango de celdas
    rowDelimitertextDelimitador de línea. Por defecto: "\r\n"
    columnDelimitertextDelimitador de columna. Por defecto: ","

    | +| sjsOptions | object | SJS only (optional) - Options for sjs export

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleanwhether to include the automatically merged cells, default is false.
    includeBindingSourcebooleanwhether to include the binding source, default is true.
    includeCalcModelCachebooleanwhether to include the extra data of calculation. Can be faster when open the file with those data, default is false.
    includeEmptyRegionCellsbooleanwhether to include any empty cells (cells with no data or only style) outside the used data range, default is true.
    includeFormulasbooleanwhether to include the formulas, default is true.
    includeStylesbooleanwhether to include the style, default is true.
    includeUnusedNamesbooleanwhether to include the unused custom names, default is true.
    saveAsViewbooleanwhether to apply the format string to exporting values, default is false.

    | +| `\` | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | **Notas sobre el formato Excel**: @@ -994,7 +994,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para * Todos los valores se guardan como cadenas entre comillas. Para más información sobre los valores separados por delimitadores, consulte [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values). * Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. -**Notes about SpreadJS file format**: +**Notas sobre el formato de archivo SpreadJS**: * [SpreadJS files](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) are zipped files. * Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. @@ -2778,7 +2778,7 @@ Si no se encuentra *tableName*, el comando devuelve **null**. #### Descripción -El comando `VP Get table theme` returns the current theme propertie values of the *tableName*. El tema de una tabla puede definirse utilizando los comandos [`VP CREATE TABLE`](#vp-create-table) o [`VP SET TABLE THEME`](#vp-set-table-theme), o a través de la interfaz. +El comando `VP Get table theme` devuelve los valores actuales del tema propertie del *tableName*. El tema de una tabla puede definirse utilizando los comandos [`VP CREATE TABLE`](#vp-create-table) o [`VP SET TABLE THEME`](#vp-set-table-theme), o a través de la interfaz. En *vpAreaName*, pase el nombre del área 4D View Pro y en *tableName*, el nombre de la tabla. @@ -3002,9 +3002,9 @@ $workbookOptions:=VP Get workbook options("ViewProArea")
    Histórico -| Versión | Modificaciones | -| ------- | ------------------------- | -| v20 R2 | Support of .sjs documents | +| Versión | Modificaciones | +| ------- | -------------------------- | +| v20 R2 | Soporte de documentos .sjs |
    @@ -3031,7 +3031,7 @@ En *filePath*, pase la ruta y el nombre del documento a importar. Se soportan lo * Les documents 4D View Pro (extensión ".4vp") * Microsoft Excel (extensión ".xlsx") * documentos texto (extension ".txt", ".csv", el documento debe estar en utf-8) -* [SpreadJS documents](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (extension ".sjs") +* [Documentos SpreadJS](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (extensión ".sjs") Si la extensión del documento no es una extensión reconocida, como `.4vp` o `.xlsx`, el documento se considera un documento texto. Debe pasar una ruta completa, a menos que el documento se encuentre en el mismo nivel que la carpeta Project, en cuyo caso puede pasar sólo su nombre. @@ -4328,23 +4328,22 @@ Function onEvent() SET TIMER(60) :(FORM Event.code=On VP Range Changed) - // Detectado el final del cálculo. Restarts the timer + // Detectado el final del cálculo. Reinicia el temporizador If(This.isWaiting) SET TIMER(60) End if :(FORM Event.code=On Timer) - // To be sure to not restart the timer if you call others 4D View command after this point + // Para asegurarse de no reiniciar el temporizador si llama a otros comandos de 4D View después de este punto This.isWaiting:=False - // Stop the timer + // Detener el temporizador SET TIMER(0) - // Start the PDF export - VP EXPORT DOCUMENT(This.area;This.pdfPath;New object("formula";Formula(ACCEPT))) + // Iniciar la exportación del PDF + VP EXPORT DOCUMENTO(This.area;This.pdfPath;New object("formula";Formula(ACCEPT))) :(FORM Event.code=On URL Loading Error) - CANCEL End case ``` From 144baf5e4444c5ac35c8d77e730f376caa741502 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:17:45 +0200 Subject: [PATCH 002/265] New translations method-list.md (Spanish) --- .../version-20/ViewPro/method-list.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md index 079cf32f8fcd47..68d14f2f36097a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md @@ -2761,7 +2761,7 @@ Si no se encuentra *tableName*, el comando devuelve **null**. #### Descripción -El comando `VP Get table theme` returns the current theme propertie values of the *tableName*. El tema de una tabla puede definirse utilizando los comandos [`VP CREATE TABLE`](#vp-create-table) o [`VP SET TABLE THEME`](#vp-set-table-theme), o a través de la interfaz. +El comando `VP Get table theme` devuelve los valores actuales del tema propertie del *tableName*. El tema de una tabla puede definirse utilizando los comandos [`VP CREATE TABLE`](#vp-create-table) o [`VP SET TABLE THEME`](#vp-set-table-theme), o a través de la interfaz. En *vpAreaName*, pase el nombre del área 4D View Pro y en *tableName*, el nombre de la tabla. From ff14bfb03bcf789cd446b83c52fd59191adbe2fc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:17:58 +0200 Subject: [PATCH 003/265] New translations method-list.md (Spanish) --- .../version-20-R2/ViewPro/method-list.md | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md index e940758dab6daa..9f3272f356865e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md @@ -924,9 +924,9 @@ utilice el siguiente código:
    Histórico -| Versión | Modificaciones | -| ------- | ------------------------- | -| v20 R2 | Support of .sjs documents | +| Versión | Modificaciones | +| ------- | -------------------------- | +| v20 R2 | Soporte de documentos .sjs |
    @@ -958,25 +958,25 @@ Puede especificar el formato del archivo exportado incluyendo una extensión des * Microsoft Excel (".xlsx") * PDF (".pdf") * CSV (".txt", o ".csv") -* [SpreadJS document](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (".sjs") +* [Documento SpreadJS](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (".sjs") Si no se incluye la extensión, pero se especifica el formato en *paramObj*, el archivo exportado tendrá la extensión que corresponda al formato, excepto para el formato CSV (en este caso no se añade ninguna extensión). El parámetro opcional *paramObj* le permite definir múltiples propiedades para el objeto 4D View Pro exportado y lanzar un método de retrollamada cuando la exportación haya finalizado. -| Propiedad | Tipo | Descripción | -| -------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| format | text | (optional) When present, designates the exported file format: ".4vp" (default), ".csv", ".xlsx", ".pdf", or ".sjs". Puede utilizar las siguientes constantes:
  • `vk 4D View Pro format`
  • `vk csv format`
  • `vk MS Excel format`
  • `vk pdf format`
  • `vk sjs format`
  • 4D añade la extensión adecuada al nombre del archivo si es necesario. Si el formato especificado no corresponde con la extensión en *filePath*, se añadirá al final de *filePath*. Si no se especifica un formato y no se da ninguna extensión en *filePath*, se utiliza el formato de archivo por defecto. | -| contraseña | text | Sólo Microsoft Excel (opcional) - Contraseña utilizada para proteger el documento MS Excel | -| formula | 4D.Function | Método de retrollamada que se lanzará cuando la exportación haya finalizado. La utilización de un método de retrollamada es necesaria cuando la exportación es asíncrona (que es el caso de los formatos PDF y Excel) si necesita que se ejecute algún código después de la exportación. The callback method must be passed with the [`Formula`](../API/FunctionClass.md#formula) command. Ver [Pasar un método de retrollamada (fórmula)](#passing-a-callback-method-formula). | -| valuesOnly | boolean | Especifica que sólo los valores de las fórmulas (si las hay) serán exportados. | -| includeFormatInfo | boolean | True para incluir información de formato, false en caso contrario (por defecto es True). La información de formato es útil en algunos casos, por ejemplo, para una exportación a SVG. Por otro lado, poner esta propiedad en **false** permite reducir el tiempo de exportación. | -| includeBindingSource | boolean | Sólo 4DVP y Microsoft Excel. True (por defecto) para exportar los valores del contexto de datos actual como valores de celda en el documento exportado (los contextos de datos en sí no se exportan). False en caso contrario. El enlace de la celda siempre se exporta. Para la gestión de los contextos de datos y de las fusiones de celdas, ver [VP SET DATA CONTEXT](#vp-set-data-context) y [VP SET BINDING PATH](#vp-set-binding-path). | -| sheet | number | PDF únicamente (opcional) - Índice de la hoja a exportar (empezando por 0). -2=todas las hojas visibles (**por defecto**), -1= sólo la hoja actual | -| pdfOptions | object | PDF únicamente (opcional) - Opciones para la exportación en pdf

    PropiedadTipoDescripción
    creatortextnombre de la aplicación que creó el documento original a partir del cual se convirtió.
    titletexttítulo del documento.
    authortextnombre de la persona que creó ese documento.
    keywordstextpalabras clave asociadas al documento.
    asuntotextasunto del documento.

    | -| csvOptions | object | CSV únicamente (opcional) - Opciones para la exportación en csv

    PropiedadTipoDescripción
    rangeobjectObjeto rango de celdas
    rowDelimitertextDelimitador de línea. Por defecto: "\r\n"
    columnDelimitertextDelimitador de columna. Por defecto: ","

    | -| sjsOptions | object | SJS only (optional) - Options for sjs export

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleanwhether to include the automatically merged cells, default is false.
    includeBindingSourcebooleanwhether to include the binding source, default is true.
    includeCalcModelCachebooleanwhether to include the extra data of calculation. Can be faster when open the file with those data, default is false.
    includeEmptyRegionCellsbooleanwhether to include any empty cells (cells with no data or only style) outside the used data range, default is true.
    includeFormulasbooleanwhether to include the formulas, default is true.
    includeStylesbooleanwhether to include the style, default is true.
    includeUnusedNamesbooleanwhether to include the unused custom names, default is true.
    saveAsViewbooleanwhether to apply the format string to exporting values, default is false.

    | -| `\` | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | +| Propiedad | Tipo | Descripción | +| -------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| format | text | (opcional) Cuando está presente, designa el formato del archivo exportado: ".4vp" (por defecto), ".csv", ".xlsx", ".pdf" o ".sjs". Puede utilizar las siguientes constantes:
  • `vk 4D View Pro format`
  • `vk csv format`
  • `vk MS Excel format`
  • `vk pdf format`
  • `vk sjs format`
  • 4D añade la extensión adecuada al nombre del archivo si es necesario. Si el formato especificado no corresponde con la extensión en *filePath*, se añadirá al final de *filePath*. Si no se especifica un formato y no se da ninguna extensión en *filePath*, se utiliza el formato de archivo por defecto. | +| contraseña | text | Sólo Microsoft Excel (opcional) - Contraseña utilizada para proteger el documento MS Excel | +| formula | 4D.Function | Método de retrollamada que se lanzará cuando la exportación haya finalizado. La utilización de un método de retrollamada es necesaria cuando la exportación es asíncrona (que es el caso de los formatos PDF y Excel) si necesita que se ejecute algún código después de la exportación. El método de retrollamada debe pasarse con el comando [`Formula`](../API/FunctionClass.md#formula). Ver [Pasar un método de retrollamada (fórmula)](#passing-a-callback-method-formula). | +| valuesOnly | boolean | Especifica que sólo los valores de las fórmulas (si las hay) serán exportados. | +| includeFormatInfo | boolean | True para incluir información de formato, false en caso contrario (por defecto es True). La información de formato es útil en algunos casos, por ejemplo, para una exportación a SVG. Por otro lado, poner esta propiedad en **false** permite reducir el tiempo de exportación. | +| includeBindingSource | boolean | Sólo 4DVP y Microsoft Excel. True (por defecto) para exportar los valores del contexto de datos actual como valores de celda en el documento exportado (los contextos de datos en sí no se exportan). False en caso contrario. El enlace de la celda siempre se exporta. Para la gestión de los contextos de datos y de las fusiones de celdas, ver [VP SET DATA CONTEXT](#vp-set-data-context) y [VP SET BINDING PATH](#vp-set-binding-path). | +| sheet | number | PDF únicamente (opcional) - Índice de la hoja a exportar (empezando por 0). -2=todas las hojas visibles (**por defecto**), -1= sólo la hoja actual | +| pdfOptions | object | PDF únicamente (opcional) - Opciones para la exportación en pdf

    PropiedadTipoDescripción
    creatortextnombre de la aplicación que creó el documento original a partir del cual se convirtió.
    titletexttítulo del documento.
    authortextnombre de la persona que creó ese documento.
    keywordstextpalabras clave asociadas al documento.
    asuntotextasunto del documento.

    | +| csvOptions | object | CSV únicamente (opcional) - Opciones para la exportación en csv

    PropiedadTipoDescripción
    rangeobjectObjeto rango de celdas
    rowDelimitertextDelimitador de línea. Por defecto: "\r\n"
    columnDelimitertextDelimitador de columna. Por defecto: ","

    | +| sjsOptions | object | SJS only (optional) - Options for sjs export

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleanwhether to include the automatically merged cells, default is false.
    includeBindingSourcebooleanwhether to include the binding source, default is true.
    includeCalcModelCachebooleanwhether to include the extra data of calculation. Can be faster when open the file with those data, default is false.
    includeEmptyRegionCellsbooleanwhether to include any empty cells (cells with no data or only style) outside the used data range, default is true.
    includeFormulasbooleanwhether to include the formulas, default is true.
    includeStylesbooleanwhether to include the style, default is true.
    includeUnusedNamesbooleanwhether to include the unused custom names, default is true.
    saveAsViewbooleanwhether to apply the format string to exporting values, default is false.

    | +| `\` | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | **Notas sobre el formato Excel**: @@ -994,7 +994,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para * Todos los valores se guardan como cadenas entre comillas. Para más información sobre los valores separados por delimitadores, consulte [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values). * Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. -**Notes about SpreadJS file format**: +**Notas sobre el formato de archivo SpreadJS**: * [SpreadJS files](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) are zipped files. * Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. @@ -2778,7 +2778,7 @@ Si no se encuentra *tableName*, el comando devuelve **null**. #### Descripción -El comando `VP Get table theme` returns the current theme propertie values of the *tableName*. El tema de una tabla puede definirse utilizando los comandos [`VP CREATE TABLE`](#vp-create-table) o [`VP SET TABLE THEME`](#vp-set-table-theme), o a través de la interfaz. +El comando `VP Get table theme` devuelve los valores actuales del tema propertie del *tableName*. El tema de una tabla puede definirse utilizando los comandos [`VP CREATE TABLE`](#vp-create-table) o [`VP SET TABLE THEME`](#vp-set-table-theme), o a través de la interfaz. En *vpAreaName*, pase el nombre del área 4D View Pro y en *tableName*, el nombre de la tabla. @@ -3002,9 +3002,9 @@ $workbookOptions:=VP Get workbook options("ViewProArea")
    Histórico -| Versión | Modificaciones | -| ------- | ------------------------- | -| v20 R2 | Support of .sjs documents | +| Versión | Modificaciones | +| ------- | -------------------------- | +| v20 R2 | Soporte de documentos .sjs |
    @@ -3031,7 +3031,7 @@ En *filePath*, pase la ruta y el nombre del documento a importar. Se soportan lo * Les documents 4D View Pro (extensión ".4vp") * Microsoft Excel (extensión ".xlsx") * documentos texto (extension ".txt", ".csv", el documento debe estar en utf-8) -* [SpreadJS documents](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (extension ".sjs") +* [Documentos SpreadJS](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) (extensión ".sjs") Si la extensión del documento no es una extensión reconocida, como `.4vp` o `.xlsx`, el documento se considera un documento texto. Debe pasar una ruta completa, a menos que el documento se encuentre en el mismo nivel que la carpeta Project, en cuyo caso puede pasar sólo su nombre. @@ -4328,23 +4328,22 @@ Function onEvent() SET TIMER(60) :(FORM Event.code=On VP Range Changed) - // Detectado el final del cálculo. Restarts the timer + // Detectado el final del cálculo. Reinicia el temporizador If(This.isWaiting) SET TIMER(60) End if :(FORM Event.code=On Timer) - // To be sure to not restart the timer if you call others 4D View command after this point + // Para asegurarse de no reiniciar el temporizador si llama a otros comandos de 4D View después de este punto This.isWaiting:=False - // Stop the timer + // Detener el temporizador SET TIMER(0) - // Start the PDF export - VP EXPORT DOCUMENT(This.area;This.pdfPath;New object("formula";Formula(ACCEPT))) + // Iniciar la exportación del PDF + VP EXPORT DOCUMENTO(This.area;This.pdfPath;New object("formula";Formula(ACCEPT))) :(FORM Event.code=On URL Loading Error) - CANCEL End case ``` From 46fbbe27b247df56c98c533a36d5f658512262af Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:19:20 +0200 Subject: [PATCH 004/265] New translations authUsers.md (Portuguese, Brazilian) --- .../current/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md index 046c0414534980..97195ce6498172 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md @@ -19,6 +19,15 @@ Quando [sessões escaláveis estão activadas](WebServer/sessions.md#enabling-se Se o método base `On REST Authentication` não tiver sido definido, é aberta uma sessão `guest`. +## Modo preventivo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). With this configuration, all processes switch to cooperative mode and the web server code can be debugged. + +With 4D single-user, interpreted code is always run in cooperative mode. + + ## Exemplo Neste exemplo, o usuário introduz o seu e-mail e palavra-passe numa página html que solicita [`$directory/login`]($directory.md#directorylogin) num POST (recomenda-se a utilização de uma ligação HTTPS para enviar a página html). O método base `On REST Authentication` é chamado para validar as credenciais e definir a sessão. From 74c97e011a9f89153243999f1b9f046ddb6a6212 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:19:26 +0200 Subject: [PATCH 005/265] New translations sessions.md (Portuguese, Brazilian) --- .../current/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md index c3a0037c4616a8..827fdf2fb85566 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -53,14 +53,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Modo preventivo - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web code is [compliant with a preemptive execution](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> To debug web code on 4D Server (interpreted), you need to launch and connect [4D on the same machine as 4D Server](Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine) and open the development environment (e.g., the Explorer) on the 4D application. With this configuration, all processes switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code is always run in cooperative mode. - ## Partilhar informações From e9346f639e0a4f0ccafe9f0437abe3c77f448a42 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:19:47 +0200 Subject: [PATCH 006/265] New translations authUsers.md (Portuguese, Brazilian) --- .../version-19/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/authUsers.md index 894cb79bf54cbf..8124f230c1f206 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/authUsers.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/authUsers.md @@ -17,6 +17,14 @@ Quando [sessões escaláveis estão activadas](WebServer/sessions.md#enabling-se Se o método base `On REST Authentication` não tiver sido definido, é aberta uma sessão `guest`. + +## Modo preventivo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). + +With 4D single-user, interpreted code is always run in cooperative mode. + + ## Exemplo Neste exemplo, o usuário introduz o seu e-mail e palavra-passe numa página html que solicita [`$directory/login`]($directory.md#directorylogin) num POST (recomenda-se a utilização de uma ligação HTTPS para enviar a página html). O método base `On REST Authentication` é chamado para validar as credenciais e definir a sessão. @@ -43,6 +51,7 @@ Login function sendData(data) { var XHR = new XMLHttpRequest(); + XHR.onreadystatechange = function() { if (this.status == 200) { window.location = "authenticationOK.shtml"; From d6e010df4b90aa86000336d78fcf8e1f7c5de2cc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:19:49 +0200 Subject: [PATCH 007/265] New translations sessions.md (Portuguese, Brazilian) --- .../version-19/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md index a50da858b5ff63..ee9558de50d9bd 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md @@ -51,14 +51,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se > Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Modo preventivo - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web code is [compliant with a preemptive execution](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> To debug web code on 4D Server (interpreted), you need to launch and connect [4D on the same machine as 4D Server](Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine) and open the development environment (e.g., the Explorer) on the 4D application. With this configuration, all processes switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code is always run in cooperative mode. - ## Partilhar informações Each `Session` object provides a [`.storage`](API/SessionClass.md#storage) property which is a [shared object](Concepts/shared.md). This property allows you to share information between all processes handled by the session. From a70c955db1f0b521b080344e1a334be4f563e3f8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:20:14 +0200 Subject: [PATCH 008/265] New translations authUsers.md (Portuguese, Brazilian) --- .../version-20/REST/authUsers.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/REST/authUsers.md index 046c0414534980..19524daa9115dd 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/REST/authUsers.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/REST/authUsers.md @@ -18,6 +18,13 @@ Quando [sessões escaláveis estão activadas](WebServer/sessions.md#enabling-se Se o método base `On REST Authentication` não tiver sido definido, é aberta uma sessão `guest`. +## Modo preventivo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). With this configuration, all processes switch to cooperative mode and the web server code can be debugged. + +With 4D single-user, interpreted code is always run in cooperative mode. ## Exemplo From 4d32c9c94f4dd58489ee28d9ab240a060f636044 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:20:18 +0200 Subject: [PATCH 009/265] New translations sessions.md (Portuguese, Brazilian) --- .../version-20/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md index c3a0037c4616a8..827fdf2fb85566 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md @@ -53,14 +53,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Modo preventivo - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web code is [compliant with a preemptive execution](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> To debug web code on 4D Server (interpreted), you need to launch and connect [4D on the same machine as 4D Server](Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine) and open the development environment (e.g., the Explorer) on the 4D application. With this configuration, all processes switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code is always run in cooperative mode. - ## Partilhar informações From ec7f96775c9ed78b0a81333504bbb4bcb712d0f5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:20:32 +0200 Subject: [PATCH 010/265] New translations authUsers.md (Portuguese, Brazilian) --- .../version-20-R2/REST/authUsers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md index 046c0414534980..678b8ffb85ff07 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md @@ -18,6 +18,14 @@ Quando [sessões escaláveis estão activadas](WebServer/sessions.md#enabling-se Se o método base `On REST Authentication` não tiver sido definido, é aberta uma sessão `guest`. +## Modo preventivo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). With this configuration, all processes switch to cooperative mode and the web server code can be debugged. + +With 4D single-user, interpreted code is always run in cooperative mode. + ## Exemplo From 949f6fff3114be883278d31f51dfe6dd2cf190ef Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:20:36 +0200 Subject: [PATCH 011/265] New translations sessions.md (Portuguese, Brazilian) --- .../version-20-R2/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md index c3a0037c4616a8..827fdf2fb85566 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md @@ -53,14 +53,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Modo preventivo - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web code is [compliant with a preemptive execution](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> To debug web code on 4D Server (interpreted), you need to launch and connect [4D on the same machine as 4D Server](Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine) and open the development environment (e.g., the Explorer) on the 4D application. With this configuration, all processes switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code is always run in cooperative mode. - ## Partilhar informações From 28bcc1de18154dabf146ef5d233730aa039f0e96 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:24:20 +0200 Subject: [PATCH 012/265] New translations authUsers.md (French) --- .../current/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md index ee80143040be5b..57bb974575fb5e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md @@ -19,6 +19,15 @@ Lorsque les [sessions évolutives sont activées](WebServer/sessions.md#enabling If the `On REST Authentication` database method has not been defined, a `guest` session is opened. +## Mode préemptif + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). Les process Web passent alors en mode coopératif et le code du serveur Web peut être débogué. + +Avec 4D monoposte, le code interprété s'exécute toujours en mode coopératif. + + ## Exemple In this example, the user enters their email and password in an html page that requests [`$directory/login`]($directory.md#directorylogin) in a POST (it is recommended to use an HTTPS connection to send the html page). The `On REST Authentication` database method is called to validate the credentials and to set the session. From 6842b1d0f24d9981545a047798e2fe4195fc176b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:24:49 +0200 Subject: [PATCH 013/265] New translations preemptiveWeb.md (French) --- .../current/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md index e1c447e36ff62f..e71606e49093d3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ Le tableau suivant permet d'indiquer si l'utilisation du mode préemptif pour le | 4D Server | Interprété ([associé au débogueur](../Debugging/debugging-remote.md)) | Interprété (non associé au débogueur) | Compilé | | ------------------- | --------------------------------------------------------------------- | ------------------------------------- | --------------- | | Serveur REST | coopératif | préemptif | préemptif | -| Serveur Web | coopératif | *paramètre web* | *paramètre web* | -| Server Web Services | coopératif | *paramètre web* | *paramètre web* | +| Serveur Web | coopératif | coopératif | *paramètre web* | +| Server Web Services | coopératif | coopératif | *paramètre web* | | 4D distant/monoposte | Interprété | Compilé | | -------------------- | ---------- | --------------- | From 8164a60d5db249de4e2f5e8ab68e6c1343a7e0a2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:24:50 +0200 Subject: [PATCH 014/265] New translations sessions.md (French) --- .../current/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md index bb73477b92061c..b84e303475a094 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -53,14 +53,6 @@ L'objet `Session` courant est alors accessible via la commande [`Session`](API/S Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. C'est la raison pour laquelle **il est recommandé** d'utiliser l'objet [Session](API/SessionClass.md) lorsque vous souhaitez conserver les informations relatives à la session. -### Mode préemptif - -Sur 4D Server, les sessions du serveur Web sont automatiquement gérées par des process préemptifs, **y compris en mode interprété**. Vous devez vous assurer que le code de votre serveur web est [conforme à une exécution préemptive](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> Pour déboguer le code web interprété sur la machine serveur, assurez-vous que le débogueur est [rattaché au serveur](Debugging/debugging-remote.md) ou [à une machine distante](Debugging/debugging-remote.md#attaching-the-debugger-to-a-remote-4d-client). Les process Web passent alors en mode coopératif et le code du serveur Web peut être débogué. - -Avec 4D monoposte, le code interprété s'exécute toujours en mode coopératif. - ## Partage d'informations From e293543f8f7e0309462d3f49b560429a7af67da9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:46:04 +0200 Subject: [PATCH 015/265] New translations authUsers.md (French) --- .../version-19/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/REST/authUsers.md index b9b41651d61fac..0b8c3ef38d71d4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/REST/authUsers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/REST/authUsers.md @@ -17,6 +17,14 @@ Lorsque les [sessions évolutives sont activées](WebServer/sessions.md#enabling If the `On REST Authentication` database method has not been defined, a `guest` session is opened. + +## Mode préemptif + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). + +Avec 4D monoposte, le code interprété s'exécute toujours en mode coopératif. + + ## Exemple In this example, the user enters their email and password in an html page that requests [`$directory/login`]($directory.md#directorylogin) in a POST (it is recommended to use an HTTPS connection to send the html page). The `On REST Authentication` database method is called to validate the credentials and to set the session. @@ -43,6 +51,7 @@ Login function sendData(data) { var XHR = new XMLHttpRequest(); + XHR.onreadystatechange = function() { if (this.status == 200) { window.location = "authenticationOK.shtml"; From 7d14053991ea4777e0a0df067064e29a4d9d46a0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:46:16 +0200 Subject: [PATCH 016/265] New translations preemptiveWeb.md (French) --- .../version-19/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md index 95506c45c7ae66..f7f4dc545bc23e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ Le tableau suivant permet d'indiquer si l'utilisation du mode préemptif pour le | 4D Server | Interpreted, project ([client connected locally](../Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine)) | Interpreted, project (no client connected locally) or binary | Compilé | | ------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ | --------------- | | Serveur REST | coopératif | préemptif | préemptif | -| Serveur Web | coopératif | *paramètre web* | *paramètre web* | -| Server Web Services | coopératif | *paramètre web* | *paramètre web* | +| Serveur Web | coopératif | coopératif | *paramètre web* | +| Server Web Services | coopératif | coopératif | *paramètre web* | | Legacy REST | coopératif | *paramètre web* | *paramètre web* | | 4D distant/monoposte | Interprété | Compilé | From 558148112c06362d6bc7f50b7c48243f67f828f4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:46:17 +0200 Subject: [PATCH 017/265] New translations sessions.md (French) --- .../version-19/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md index 5a33846d313c2b..239a2edf0f6f47 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md @@ -51,14 +51,6 @@ L'objet `Session` courant est alors accessible via la commande [`Session`](API/S > Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. C'est la raison pour laquelle **il est recommandé** d'utiliser l'objet [Session](API/SessionClass.md) lorsque vous souhaitez conserver les informations relatives à la session. -### Mode préemptif - -Sur 4D Server, les sessions du serveur Web sont automatiquement gérées par des process préemptifs, **y compris en mode interprété**. You need to make sure that your web code is [compliant with a preemptive execution](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> To debug web code on 4D Server (interpreted), you need to launch and connect [4D on the same machine as 4D Server](Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine) and open the development environment (e.g., the Explorer) on the 4D application. With this configuration, all processes switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code is always run in cooperative mode. - ## Partage d'informations Chaque objet `Session` fournit une propriété [`.storage`](API/SessionClass.md#storage) qui est un [objet partagé](Concepts/shared.md). This property allows you to share information between all processes handled by the session. From effec981cd5c0770091044a19c112d0a0f05313e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:57:46 +0200 Subject: [PATCH 018/265] New translations authUsers.md (French) --- .../version-20/REST/authUsers.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/REST/authUsers.md index ee80143040be5b..94603951564e73 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/REST/authUsers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/REST/authUsers.md @@ -18,6 +18,13 @@ Lorsque les [sessions évolutives sont activées](WebServer/sessions.md#enabling If the `On REST Authentication` database method has not been defined, a `guest` session is opened. +## Mode préemptif + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). Les process Web passent alors en mode coopératif et le code du serveur Web peut être débogué. + +Avec 4D monoposte, le code interprété s'exécute toujours en mode coopératif. ## Exemple From 2e15746c35b34ce3915e7c978fcadb7d7766f0a3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:58:15 +0200 Subject: [PATCH 019/265] New translations preemptiveWeb.md (French) --- .../version-20/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md index e1c447e36ff62f..e71606e49093d3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ Le tableau suivant permet d'indiquer si l'utilisation du mode préemptif pour le | 4D Server | Interprété ([associé au débogueur](../Debugging/debugging-remote.md)) | Interprété (non associé au débogueur) | Compilé | | ------------------- | --------------------------------------------------------------------- | ------------------------------------- | --------------- | | Serveur REST | coopératif | préemptif | préemptif | -| Serveur Web | coopératif | *paramètre web* | *paramètre web* | -| Server Web Services | coopératif | *paramètre web* | *paramètre web* | +| Serveur Web | coopératif | coopératif | *paramètre web* | +| Server Web Services | coopératif | coopératif | *paramètre web* | | 4D distant/monoposte | Interprété | Compilé | | -------------------- | ---------- | --------------- | From 0624d567d2c992a8bc2720740b5a953b51db81c3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 01:58:16 +0200 Subject: [PATCH 020/265] New translations sessions.md (French) --- .../version-20/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md index bb73477b92061c..b84e303475a094 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md @@ -53,14 +53,6 @@ L'objet `Session` courant est alors accessible via la commande [`Session`](API/S Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. C'est la raison pour laquelle **il est recommandé** d'utiliser l'objet [Session](API/SessionClass.md) lorsque vous souhaitez conserver les informations relatives à la session. -### Mode préemptif - -Sur 4D Server, les sessions du serveur Web sont automatiquement gérées par des process préemptifs, **y compris en mode interprété**. Vous devez vous assurer que le code de votre serveur web est [conforme à une exécution préemptive](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> Pour déboguer le code web interprété sur la machine serveur, assurez-vous que le débogueur est [rattaché au serveur](Debugging/debugging-remote.md) ou [à une machine distante](Debugging/debugging-remote.md#attaching-the-debugger-to-a-remote-4d-client). Les process Web passent alors en mode coopératif et le code du serveur Web peut être débogué. - -Avec 4D monoposte, le code interprété s'exécute toujours en mode coopératif. - ## Partage d'informations From afa5be7240d673add3949100dc0090138eadc2a9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:12:37 +0200 Subject: [PATCH 021/265] New translations authUsers.md (French) --- .../version-20-R2/REST/authUsers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md index ee80143040be5b..d44b9aa1d32ba4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md @@ -18,6 +18,14 @@ Lorsque les [sessions évolutives sont activées](WebServer/sessions.md#enabling If the `On REST Authentication` database method has not been defined, a `guest` session is opened. +## Mode préemptif + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). Les process Web passent alors en mode coopératif et le code du serveur Web peut être débogué. + +Avec 4D monoposte, le code interprété s'exécute toujours en mode coopératif. + ## Exemple From 05aab364bd9fc285dff8d7475ef265e3d82a21df Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:13:07 +0200 Subject: [PATCH 022/265] New translations preemptiveWeb.md (French) --- .../version-20-R2/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md index e1c447e36ff62f..e71606e49093d3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ Le tableau suivant permet d'indiquer si l'utilisation du mode préemptif pour le | 4D Server | Interprété ([associé au débogueur](../Debugging/debugging-remote.md)) | Interprété (non associé au débogueur) | Compilé | | ------------------- | --------------------------------------------------------------------- | ------------------------------------- | --------------- | | Serveur REST | coopératif | préemptif | préemptif | -| Serveur Web | coopératif | *paramètre web* | *paramètre web* | -| Server Web Services | coopératif | *paramètre web* | *paramètre web* | +| Serveur Web | coopératif | coopératif | *paramètre web* | +| Server Web Services | coopératif | coopératif | *paramètre web* | | 4D distant/monoposte | Interprété | Compilé | | -------------------- | ---------- | --------------- | From 269a22a675b3ff86c2aec1a51113a34a8f1c4958 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:13:08 +0200 Subject: [PATCH 023/265] New translations sessions.md (French) --- .../version-20-R2/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md index bb73477b92061c..b84e303475a094 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md @@ -53,14 +53,6 @@ L'objet `Session` courant est alors accessible via la commande [`Session`](API/S Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. C'est la raison pour laquelle **il est recommandé** d'utiliser l'objet [Session](API/SessionClass.md) lorsque vous souhaitez conserver les informations relatives à la session. -### Mode préemptif - -Sur 4D Server, les sessions du serveur Web sont automatiquement gérées par des process préemptifs, **y compris en mode interprété**. Vous devez vous assurer que le code de votre serveur web est [conforme à une exécution préemptive](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> Pour déboguer le code web interprété sur la machine serveur, assurez-vous que le débogueur est [rattaché au serveur](Debugging/debugging-remote.md) ou [à une machine distante](Debugging/debugging-remote.md#attaching-the-debugger-to-a-remote-4d-client). Les process Web passent alors en mode coopératif et le code du serveur Web peut être débogué. - -Avec 4D monoposte, le code interprété s'exécute toujours en mode coopératif. - ## Partage d'informations From 4519b390fbbff6e35995eed3d37e4893d9e90ca7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:26:49 +0200 Subject: [PATCH 024/265] New translations updates.md (Spanish) --- i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md index 2b2c36c1455fc3..77d20f0d9fc8d4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -61,7 +61,7 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Destacados -- (4D v20.1) New `plugins` property in the *options* parameter for the [`Compile project`](https://doc.4d.com/4dv20/help/command/en/page1760.html) command. +- (4D v20.1) Nueva propiedad `plugins` en el parámetro *options* para el comando [`Compile project`](https://doc.4d.com/4dv20/help/command/en/page1760.html). - 4D Server integra automáticamente varios historiales: [Restauración automática](../Backup/settings.md#automatic-restore). - [IMAP Transporter Class](../API/IMAPTransporterClass.md): [`.getBoxInfo()`](../API/IMAPTransporterClass#getboxinfo) devuelve *id*, [`.selectBox()`](../API/IMAPTransporterClass.md#selectbox) devuelve *id*, *flags* y *permanentFlags*, [`.addFlags()`](../API/IMAPTransporterClass.md#addflags) y [`.removeFlags()`](../API/IMAPTransporterClass.md#removeflags) soportan palabras claves personalizadas. - Nuevas clases [WebSocketServer](../API/WebSocketServerClass.md) y [WebSocketConnection](../API/WebSocketConnectionClass.md) para crear y gestionar conexiones WebSocket desde 4D. From 542513b0da92ad3c49cadad8fdb17a820506e504 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:27:27 +0200 Subject: [PATCH 025/265] New translations authUsers.md (Spanish) --- .../current/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md index 7ca6442567580e..35e646df2cb1e9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md @@ -19,6 +19,15 @@ Cuando las [sesiones escalables se activan](WebServer/sessions.md#enabling-sessi Si no se ha definido el método base `On REST Authentication`, se abre una sesión `guest`. +## Modo apropiativo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). 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. + + ## Ejemplo En este ejemplo, el usuario introduce su correo electrónico y contraseña en una página html que solicita [`$directory/login`]($directory.md#directorylogin) en un POST (se recomienda utilizar una conexión HTTPS para enviar la página html). Se llama al método base `On REST Authentication` para validar las credenciales y establecer la sesión. From 42b6c75d36fed792f20d18b842c083ac04e967d1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:27:47 +0200 Subject: [PATCH 026/265] New translations preemptiveWeb.md (Spanish) --- .../current/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md index 16cc59da7bd383..30a824477737ca 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, | 4D Server | Interpretado ([asociado al depurador](../Debugging/debugging-remote.md)) | Interpretado (no asociado al depurador) | Compilado | | --------------------- | ------------------------------------------------------------------------ | --------------------------------------- | --------------- | | Servidor REST | cooperativo | apropiativo | apropiativo | -| Servidor Web | cooperativo | *parámetro web* | *parámetro web* | -| Servidor Web Services | cooperativo | *parámetro web* | *parámetro web* | +| Servidor Web | cooperativo | cooperativo | *parámetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parámetro web* | | 4D remoto/monopuesto | Interpretado | Compilado | | --------------------- | ------------ | --------------- | From d7d8e3ea15862ec5271a9681910bf443fc4e6a19 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:27:48 +0200 Subject: [PATCH 027/265] New translations sessions.md (Spanish) --- .../current/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md index ca40b18a5f5c99..28175df082bc77 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -53,14 +53,6 @@ El objeto `Session` actual puede entonces ser accedido a través del comando [`S Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Dado que un proceso web puede ser reutilizado por cualquier sesión, [las variables de proceso](Concepts/variables.md#process-variables) deben ser borradas por su código al final de su ejecución (utilizando [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) por ejemplo). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. -### Modo apropiativo - -En 4D Server, las sesiones del servidor web se manejan automáticamente a través de procesos apropiativos, **incluso en modo interpretado**. Debe asegurarse de que el código de su servidor web es [compatible con una ejecución apropiativa](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> Para depurar el código web interpretado en la máquina del servidor, asegúrese de que el depurador está [adjuntado al servidor](Debugging/debugging-remote.md) o [a una máquina remota](Debugging/debugging-remote.md#attaching-the-debugger-to-a-remote-4d-client). 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. - ## Compartir información From 51ad973579f52af435812850c0a07dc96f986250 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:49:10 +0200 Subject: [PATCH 028/265] New translations authUsers.md (Spanish) --- .../version-19/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/version-19/REST/authUsers.md index cc95dc2c2c210b..3bb380a06b765e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/REST/authUsers.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/REST/authUsers.md @@ -17,6 +17,14 @@ Cuando las [sesiones escalables se activan](WebServer/sessions.md#enabling-sessi Si no se ha definido el método base `On REST Authentication`, se abre una sesión `guest`. + +## Modo apropiativo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). + +Con 4D monopuesto, el código interpretado siempre se ejecuta en modo cooperativo. + + ## Ejemplo En este ejemplo, el usuario introduce su correo electrónico y contraseña en una página html que solicita [`$directory/login`]($directory.md#directorylogin) en un POST (se recomienda utilizar una conexión HTTPS para enviar la página html). Se llama al método base `On REST Authentication` para validar las credenciales y establecer la sesión. @@ -43,6 +51,7 @@ Login function sendData(data) { var XHR = new XMLHttpRequest(); + XHR.onreadystatechange = function() { if (this.status == 200) { window.location = "authenticationOK.shtml"; From 06d26f7319c4b9344ead8f8c789680d220e0c202 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:49:22 +0200 Subject: [PATCH 029/265] New translations preemptiveWeb.md (Spanish) --- .../version-19/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md index 5b592fdd63bf8f..96be92154a9199 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, | 4D Server | Interpretado, proyecto ([cliente conectado localmente](../Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine)) | Interpretado, proyecto (sin cliente conectado localmente) o binario | Compilado | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- | --------------- | | Servidor REST | cooperativo | apropiativo | apropiativo | -| Servidor Web | cooperativo | *parámetro web* | *parámetro web* | -| Servidor Web Services | cooperativo | *parámetro web* | *parámetro web* | +| Servidor Web | cooperativo | cooperativo | *parámetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parámetro web* | | Legado REST | cooperativo | *parámetro web* | *parámetro web* | | 4D remoto/monopuesto | Interpretado | Compilado | From e50186513aa22d5b06fa0332a1aa709a44e5ee1d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:49:23 +0200 Subject: [PATCH 030/265] New translations sessions.md (Spanish) --- .../version-19/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md index a6e1d1ef585ede..77b097a52e06cf 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md @@ -51,14 +51,6 @@ El objeto `Session` actual puede entonces ser accedido a través del comando [`S > Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Dado que un proceso web puede ser reutilizado por cualquier sesión, [las variables de proceso](Concepts/variables.md#process-variables) deben ser borradas por su código al final de su ejecución (utilizando [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) por ejemplo). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. -### Modo apropiativo - -En 4D Server, las sesiones del servidor web se manejan automáticamente a través de procesos apropiativos, **incluso en modo interpretado**. Debe asegurarse de que el código de su web es [compatible con una ejecución apropiativa](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> Para depurar código web en 4D Server (interpretado), es necesario lanzar y conectar [4D en la misma máquina que 4D Server](Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine) y abrir el entorno de desarrollo (por ejemplo, el Explorador) en la aplicación 4D. Con esta configuración, todos los procesos pasan a modo cooperativo y se puede depurar el código del servidor web. - -Con 4D monopuesto, el código interpretado se ejecuta siempre en modo cooperativo. - ## Compartir información Cada objeto `Session` ofrece una propiedad [`.storage`](API/SessionClass.md#storage) que es un [objeto compartido](Concepts/shared.md). Esta propiedad permite compartir información entre todos los procesos manejados por la sesión. From 03f9d44860a8b11527c098433091315e4b60d157 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 02:57:28 +0200 Subject: [PATCH 031/265] New translations updates.md (Spanish) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md index e05f41e901dd92..fbc29b380a1fee 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -24,7 +24,7 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Destacados -- (4D v20.1) New `plugins` property in the *options* parameter for the [`Compile project`](https://doc.4d.com/4dv20/help/command/en/page1760.html) command. +- (4D v20.1) Nueva propiedad `plugins` en el parámetro *options* para el comando [`Compile project`](https://doc.4d.com/4dv20/help/command/en/page1760.html). - 4D Server integra automáticamente varios historiales: [Restauración automática](../Backup/settings.md#automatic-restore). - [IMAP Transporter Class](../API/IMAPTransporterClass.md): [`.getBoxInfo()`](../API/IMAPTransporterClass#getboxinfo) devuelve *id*, [`.selectBox()`](../API/IMAPTransporterClass.md#selectbox) devuelve *id*, *flags* y *permanentFlags*, [`.addFlags()`](../API/IMAPTransporterClass.md#addflags) y [`.removeFlags()`](../API/IMAPTransporterClass.md#removeflags) soportan palabras claves personalizadas. - Nuevas clases [WebSocketServer](../API/WebSocketServerClass.md) y [WebSocketConnection](../API/WebSocketConnectionClass.md) para crear y gestionar conexiones WebSocket desde 4D. From 2fae599ffa25f2a23aaa265ee267fa3c34bc4756 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:01:05 +0200 Subject: [PATCH 032/265] New translations authUsers.md (Spanish) --- .../version-20/REST/authUsers.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/version-20/REST/authUsers.md index 7ca6442567580e..ebbb003c335504 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/REST/authUsers.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/REST/authUsers.md @@ -18,6 +18,13 @@ Cuando las [sesiones escalables se activan](WebServer/sessions.md#enabling-sessi Si no se ha definido el método base `On REST Authentication`, se abre una sesión `guest`. +## Modo apropiativo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). 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. ## Ejemplo From f38aa3288739df6fe76bd86634f9ff7d4131e5f5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:01:28 +0200 Subject: [PATCH 033/265] New translations preemptiveWeb.md (Spanish) --- .../version-20/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md index 16cc59da7bd383..30a824477737ca 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, | 4D Server | Interpretado ([asociado al depurador](../Debugging/debugging-remote.md)) | Interpretado (no asociado al depurador) | Compilado | | --------------------- | ------------------------------------------------------------------------ | --------------------------------------- | --------------- | | Servidor REST | cooperativo | apropiativo | apropiativo | -| Servidor Web | cooperativo | *parámetro web* | *parámetro web* | -| Servidor Web Services | cooperativo | *parámetro web* | *parámetro web* | +| Servidor Web | cooperativo | cooperativo | *parámetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parámetro web* | | 4D remoto/monopuesto | Interpretado | Compilado | | --------------------- | ------------ | --------------- | From ed624055324606a9f6088158b8e1e527d42f7214 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:01:29 +0200 Subject: [PATCH 034/265] New translations sessions.md (Spanish) --- .../version-20/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md index ca40b18a5f5c99..28175df082bc77 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md @@ -53,14 +53,6 @@ El objeto `Session` actual puede entonces ser accedido a través del comando [`S Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Dado que un proceso web puede ser reutilizado por cualquier sesión, [las variables de proceso](Concepts/variables.md#process-variables) deben ser borradas por su código al final de su ejecución (utilizando [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) por ejemplo). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. -### Modo apropiativo - -En 4D Server, las sesiones del servidor web se manejan automáticamente a través de procesos apropiativos, **incluso en modo interpretado**. Debe asegurarse de que el código de su servidor web es [compatible con una ejecución apropiativa](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> Para depurar el código web interpretado en la máquina del servidor, asegúrese de que el depurador está [adjuntado al servidor](Debugging/debugging-remote.md) o [a una máquina remota](Debugging/debugging-remote.md#attaching-the-debugger-to-a-remote-4d-client). 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. - ## Compartir información From 2479793f52d279f2f24abaf6ebec2fc3bd83988b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:11:50 +0200 Subject: [PATCH 035/265] New translations updates.md (Spanish) --- .../version-20-R2/Notes/updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index cde54aecf0713b..f7abfc8fced545 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -41,7 +41,7 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Destacados -- (4D v20.1) New `plugins` property in the *options* parameter for the [`Compile project`](https://doc.4d.com/4dv20/help/command/en/page1760.html) command. +- (4D v20.1) Nueva propiedad `plugins` en el parámetro *options* para el comando [`Compile project`](https://doc.4d.com/4dv20/help/command/en/page1760.html). - 4D Server integra automáticamente varios historiales: [Restauración automática](../Backup/settings.md#automatic-restore). - [IMAP Transporter Class](../API/IMAPTransporterClass.md): [`.getBoxInfo()`](../API/IMAPTransporterClass#getboxinfo) devuelve *id*, [`.selectBox()`](../API/IMAPTransporterClass.md#selectbox) devuelve *id*, *flags* y *permanentFlags*, [`.addFlags()`](../API/IMAPTransporterClass.md#addflags) y [`.removeFlags()`](../API/IMAPTransporterClass.md#removeflags) soportan palabras claves personalizadas. - Nuevas clases [WebSocketServer](../API/WebSocketServerClass.md) y [WebSocketConnection](../API/WebSocketConnectionClass.md) para crear y gestionar conexiones WebSocket desde 4D. From 7f05384e5c543288481845ed6d14a94055439b3f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:15:27 +0200 Subject: [PATCH 036/265] New translations authUsers.md (Spanish) --- .../version-20-R2/REST/authUsers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md index 7ca6442567580e..8cd85115e60b74 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md @@ -18,6 +18,14 @@ Cuando las [sesiones escalables se activan](WebServer/sessions.md#enabling-sessi Si no se ha definido el método base `On REST Authentication`, se abre una sesión `guest`. +## Modo apropiativo + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). 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. + ## Ejemplo From efa36e8a6113b817c14ccc385f22f02d5bae5132 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:15:48 +0200 Subject: [PATCH 037/265] New translations preemptiveWeb.md (Spanish) --- .../version-20-R2/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md index 16cc59da7bd383..30a824477737ca 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, | 4D Server | Interpretado ([asociado al depurador](../Debugging/debugging-remote.md)) | Interpretado (no asociado al depurador) | Compilado | | --------------------- | ------------------------------------------------------------------------ | --------------------------------------- | --------------- | | Servidor REST | cooperativo | apropiativo | apropiativo | -| Servidor Web | cooperativo | *parámetro web* | *parámetro web* | -| Servidor Web Services | cooperativo | *parámetro web* | *parámetro web* | +| Servidor Web | cooperativo | cooperativo | *parámetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parámetro web* | | 4D remoto/monopuesto | Interpretado | Compilado | | --------------------- | ------------ | --------------- | From 7dd059ebe1b7c6c51b6226e49a7045b822fe1798 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:15:49 +0200 Subject: [PATCH 038/265] New translations sessions.md (Spanish) --- .../version-20-R2/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md index ca40b18a5f5c99..28175df082bc77 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md @@ -53,14 +53,6 @@ El objeto `Session` actual puede entonces ser accedido a través del comando [`S Los procesos web no suelen terminar, sino que se reciclan en un fondo común para ser más eficientes. Cuando un proceso termina de ejecutar una petición, se devuelve al pool y queda disponible para la siguiente petición. Dado que un proceso web puede ser reutilizado por cualquier sesión, [las variables de proceso](Concepts/variables.md#process-variables) deben ser borradas por su código al final de su ejecución (utilizando [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) por ejemplo). Esta limpieza es necesaria para cualquier información relacionada con el proceso, como una referencia a un archivo abierto. Esta es la razón por la que **se recomienda** utilizar el objeto [Sesión](API/SessionClass.md) cuando se quiera guardar información relacionada con la sesión. -### Modo apropiativo - -En 4D Server, las sesiones del servidor web se manejan automáticamente a través de procesos apropiativos, **incluso en modo interpretado**. Debe asegurarse de que el código de su servidor web es [compatible con una ejecución apropiativa](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> Para depurar el código web interpretado en la máquina del servidor, asegúrese de que el depurador está [adjuntado al servidor](Debugging/debugging-remote.md) o [a una máquina remota](Debugging/debugging-remote.md#attaching-the-debugger-to-a-remote-4d-client). 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. - ## Compartir información From 363bde4072628ff510206e02c0954a276d5706e6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:29:49 +0200 Subject: [PATCH 039/265] New translations authUsers.md (German) --- .../current/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/de/docusaurus-plugin-content-docs/current/REST/authUsers.md index 163a311f4c517f..3d31cb0ed58609 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/REST/authUsers.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/REST/authUsers.md @@ -19,6 +19,15 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-sessions) (r If the `On REST Authentication` database method has not been defined, a `guest` session is opened. +## Preemptive mode + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). Web processes then switch to cooperative mode and the web server code can be debugged. + +With 4D single-user, interpreted code always runs in cooperative mode. + + ## Beispiel In this example, the user enters their email and password in an html page that requests [`$directory/login`]($directory.md#directorylogin) in a POST (it is recommended to use an HTTPS connection to send the html page). The `On REST Authentication` database method is called to validate the credentials and to set the session. From b86a2e2611319790ab40ab83ff3cf82fac351a08 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:30:17 +0200 Subject: [PATCH 040/265] New translations preemptiveWeb.md (German) --- .../current/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/de/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md index c28463bcd0d115..1bd5ac87f42214 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted ([debugger attached](../Debugging/debugging-remote.md)) | Interpreted (debugger detached) | Kompiliert | | ------------------- | ------------------------------------------------------------------- | ------------------------------- | ------------- | | REST Server | cooperative | preemptive | preemptive | -| Web Server | cooperative | *web setting* | *web setting* | -| Web Services Server | cooperative | *web setting* | *web setting* | +| Web Server | cooperative | cooperative | *web setting* | +| Web Services Server | cooperative | cooperative | *web setting* | | 4D remote/single-user | Interpretiert | Kompiliert | | --------------------- | ------------- | ------------- | From 5322d173bec4ac378c191c7c658353f3edba8850 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:30:18 +0200 Subject: [PATCH 041/265] New translations sessions.md (German) --- .../current/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/de/docusaurus-plugin-content-docs/current/WebServer/sessions.md index e0faacc3e1d6b4..9bff0d8be0bef3 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -53,14 +53,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Preemptive mode - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web server code is [compliant with a preemptive execution](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#attaching-the-debugger-to-a-remote-4d-client). Web processes then switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code always runs in cooperative mode. - ## Sharing information From 1493f37fd5718412db5f806dfc9e5d34b3857abb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:51:49 +0200 Subject: [PATCH 042/265] New translations authUsers.md (German) --- .../version-19/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-19/REST/authUsers.md b/i18n/de/docusaurus-plugin-content-docs/version-19/REST/authUsers.md index fd9c5c2bf56b28..5cfe98f4f271ab 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-19/REST/authUsers.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-19/REST/authUsers.md @@ -17,6 +17,14 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-sessions) (r If the `On REST Authentication` database method has not been defined, a `guest` session is opened. + +## Preemptive mode + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). + +With 4D single-user, interpreted code always runs in cooperative mode. + + ## Beispiel In this example, the user enters their email and password in an html page that requests [`$directory/login`]($directory.md#directorylogin) in a POST (it is recommended to use an HTTPS connection to send the html page). The `On REST Authentication` database method is called to validate the credentials and to set the session. @@ -43,6 +51,7 @@ Login function sendData(data) { var XHR = new XMLHttpRequest(); + XHR.onreadystatechange = function() { if (this.status == 200) { window.location = "authenticationOK.shtml"; From fb2a00dcbf0b4d04e95a34a27e1aeb66231c6f6e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:52:01 +0200 Subject: [PATCH 043/265] New translations preemptiveWeb.md (German) --- .../version-19/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md b/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md index a85989639dc906..ad4191e2d61773 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted, project ([client connected locally](../Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine)) | Interpreted, project (no client connected locally) or binary | Kompiliert | | ------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ | ------------- | | REST Server | cooperative | preemptive | preemptive | -| Web Server | cooperative | *web setting* | *web setting* | -| Web Services Server | cooperative | *web setting* | *web setting* | +| Web Server | cooperative | cooperative | *web setting* | +| Web Services Server | cooperative | cooperative | *web setting* | | Legacy REST | cooperative | *web setting* | *web setting* | | 4D remote/single-user | Interpretiert | Kompiliert | From f8caa3be59eb6853743c8741d46645b878b8486f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 03:52:03 +0200 Subject: [PATCH 044/265] New translations sessions.md (German) --- .../version-19/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md b/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md index 932e0d9f422cae..0ded28165b7ded 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md @@ -51,14 +51,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se > Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Preemptive mode - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web code is [compliant with a preemptive execution](preemptiveWeb.md#writing-thread-safe-web-server-code). - -> To debug web code on 4D Server (interpreted), you need to launch and connect [4D on the same machine as 4D Server](Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine) and open the development environment (e.g., the Explorer) on the 4D application. With this configuration, all processes switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code is always run in cooperative mode. - ## Sharing information Each `Session` object provides a [`.storage`](API/SessionClass.md#storage) property which is a [shared object](Concepts/shared.md). This property allows you to share information between all processes handled by the session. From efcca6421a51061248f2adb9d702e8be563c20da Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:03:45 +0200 Subject: [PATCH 045/265] New translations authUsers.md (German) --- .../version-20/REST/authUsers.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20/REST/authUsers.md b/i18n/de/docusaurus-plugin-content-docs/version-20/REST/authUsers.md index 163a311f4c517f..ff68c2226088da 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20/REST/authUsers.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20/REST/authUsers.md @@ -18,6 +18,13 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-sessions) (r If the `On REST Authentication` database method has not been defined, a `guest` session is opened. +## Preemptive mode + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). Web processes then switch to cooperative mode and the web server code can be debugged. + +With 4D single-user, interpreted code always runs in cooperative mode. ## Beispiel From dbae7f1dbf257e3e2d19e744a805b9fd6945c726 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:04:13 +0200 Subject: [PATCH 046/265] New translations preemptiveWeb.md (German) --- .../version-20/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md b/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md index c28463bcd0d115..1bd5ac87f42214 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted ([debugger attached](../Debugging/debugging-remote.md)) | Interpreted (debugger detached) | Kompiliert | | ------------------- | ------------------------------------------------------------------- | ------------------------------- | ------------- | | REST Server | cooperative | preemptive | preemptive | -| Web Server | cooperative | *web setting* | *web setting* | -| Web Services Server | cooperative | *web setting* | *web setting* | +| Web Server | cooperative | cooperative | *web setting* | +| Web Services Server | cooperative | cooperative | *web setting* | | 4D remote/single-user | Interpretiert | Kompiliert | | --------------------- | ------------- | ------------- | From be3aa9280062d86040db0926a018bae557b314ef Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:04:14 +0200 Subject: [PATCH 047/265] New translations sessions.md (German) --- .../version-20/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md b/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md index e0faacc3e1d6b4..9bff0d8be0bef3 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md @@ -53,14 +53,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Preemptive mode - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web server code is [compliant with a preemptive execution](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#attaching-the-debugger-to-a-remote-4d-client). Web processes then switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code always runs in cooperative mode. - ## Sharing information From 028a832f650e3328c39024d0c024c25cbba89fc7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:18:14 +0200 Subject: [PATCH 048/265] New translations authUsers.md (German) --- .../version-20-R2/REST/authUsers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md index 163a311f4c517f..116ce15d29bf27 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md @@ -18,6 +18,14 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-sessions) (r If the `On REST Authentication` database method has not been defined, a `guest` session is opened. +## Preemptive mode + +On 4D Server, REST requests are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your code is [compliant with a preemptive execution](../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#attaching-the-debugger-to-a-remote-4d-client). Web processes then switch to cooperative mode and the web server code can be debugged. + +With 4D single-user, interpreted code always runs in cooperative mode. + ## Beispiel From fa010be44a719c25ba6ce8dbb62f3efa2fe80a2d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:18:42 +0200 Subject: [PATCH 049/265] New translations preemptiveWeb.md (German) --- .../version-20-R2/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md index c28463bcd0d115..1bd5ac87f42214 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted ([debugger attached](../Debugging/debugging-remote.md)) | Interpreted (debugger detached) | Kompiliert | | ------------------- | ------------------------------------------------------------------- | ------------------------------- | ------------- | | REST Server | cooperative | preemptive | preemptive | -| Web Server | cooperative | *web setting* | *web setting* | -| Web Services Server | cooperative | *web setting* | *web setting* | +| Web Server | cooperative | cooperative | *web setting* | +| Web Services Server | cooperative | cooperative | *web setting* | | 4D remote/single-user | Interpretiert | Kompiliert | | --------------------- | ------------- | ------------- | From 8d5053b13b3a3bf7775192105cf04d0ea66e0aa0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:18:43 +0200 Subject: [PATCH 050/265] New translations sessions.md (German) --- .../version-20-R2/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md index e0faacc3e1d6b4..9bff0d8be0bef3 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md @@ -53,14 +53,6 @@ The current `Session` object can then be accessed through the [`Session`](API/Se Web processes usually do not end, they are recycled in a pool for efficiency. When a process finishes executing a request, it is put back in the pool and made available for the next request. Since a web process can be reused by any session, [process variables](Concepts/variables.md#process-variables) must be cleared by your code at the end of its execution (using [`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/en/page89.html) for example). This cleanup is necessary for any process related information, such as a reference to an opened file. This is the reason why **it is recommended** to use the [Session](API/SessionClass.md) object when you want to keep session related information. -### Preemptive mode - -On 4D Server, Web server sessions are automatically handled through preemptive processes, **even in interpreted mode**. You need to make sure that your web server code is [compliant with a preemptive execution](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#attaching-the-debugger-to-a-remote-4d-client). Web processes then switch to cooperative mode and the web server code can be debugged. - -With 4D single-user, interpreted code always runs in cooperative mode. - ## Sharing information From 5f250ebad38c86071f8d9ff9fa76f808ef54a14b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:32:47 +0200 Subject: [PATCH 051/265] New translations authUsers.md (Japanese) --- .../current/REST/authUsers.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md index abbae17e7599db..065c51282f87d4 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md @@ -19,6 +19,15 @@ RESTリクエストは [Webユーザーセッション](WebServer/sessions.md) `On REST Authentication` データベースメソッドが定義されてない場合には、`guest` セッションが開かれます。 +## プリエンプティブモード + +4D Server上では、**インタプリタモードであっても**、RESTリクエストは自動的にプリエンプティブプロセスで処理されます。 そのため、コードは [プリエンプティブ実行に準拠](../WebServer/preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 + +> サーバーマシン上のインタープリターWebコードをデバッグするには、あらかじめサーバーのデバッガーを [サーバー](../Debugging/debugging-remote.md) または [リモートマシン](../Debugging/debugging-remote.md#リモート4dクライアントでのデバッガーの有効化) で有効化する必要があります。 これにより、Webプロセスがコオペラティブモードに切り替わり、Webサーバーコードのデバッグが可能になります。 + +シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 + + ## 例題 この例では、ユーザーが htmlページにメールアドレスとパスワードを入力し、POST で [`$directory/login`]($directory.md#directorylogin) をリクエストします (htmlページの送信においては、HTTPS接続の使用が推奨されます)。 これによて呼び出された `On REST Authentication` データベースメソッドがユーザー認証をおこない、セッションを確立します。 From c9601f8abcb4aba5a5734c43128c98c85690cc20 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:33:15 +0200 Subject: [PATCH 052/265] New translations preemptiveWeb.md (Japanese) --- .../current/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md index 06f541ab9054d2..ab254759300157 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ title: プリエンプティブWebプロセスの使用 | 4D Server | インタープリター ([デバッガー有効](../Debugging/debugging-remote.md)) | インタープリター (デバッガー無効) | コンパイル済みコード | | ----------- | ------------------------------------------------------ | ------------------ | ---------- | | REST サーバー | コオペラティブ | プリエンプティブ | プリエンプティブ | -| Web サーバー | コオペラティブ | *Web設定* | *Web設定* | -| Webサービスサーバー | コオペラティブ | *Web設定* | *Web設定* | +| Web サーバー | コオペラティブ | コオペラティブ | *Web設定* | +| Webサービスサーバー | コオペラティブ | コオペラティブ | *Web設定* | | 4Dリモート/シングルユーザー | インタープリターコード | コンパイル済みコード | | --------------- | ----------- | ---------- | From 869d530b0d77670c95eaa760aff1e18be480b3e4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:33:16 +0200 Subject: [PATCH 053/265] New translations sessions.md (Japanese) --- .../current/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md index b38195ae54b7c7..a1eb614996f02e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -53,14 +53,6 @@ Webサーバーのユーザーセッションでは、以下のことが可能 Webプロセスは通常終了せず、効率化のためにプールされリサイクルされます。 プロセスがリクエストの実行を終えると、プールに戻され、次のリクエストに対応できるようになります。 Webプロセスはどのセッションでも再利用できるため、実行終了時には ([`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/ja/page89.html) などを使用し) コードによって [プロセス変数](Concepts/variables.md#プロセス変数) をクリアする必要があります 。 このクリア処理は、開かれたファイルへの参照など、プロセスに関連するすべての情報に対して必要です。 これが、セッション関連の情報を保持したい場合には、[Session](API/SessionClass.md) オブジェクトを使用することが **推奨** される理由です。 -### プリエンプティブモード - -4D Server上では、**インタプリタモードであっても**、Webサーバーセッションは自動的にプリエンプティブプロセスで処理されます。 そのため、Webサーバーのコードは [プリエンプティブ実行に準拠](preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 - -> サーバーマシン上のインタープリターWebコードをデバッグするには、あらかじめサーバーのデバッガーを [サーバー](Debugging/debugging-remote.md) または [リモートマシン](Debugging/debugging-remote.md#リモート4dクライアントでのデバッガーの有効化) で有効化する必要があります。 これにより、Webプロセスがコオペラティブモードに切り替わり、Webサーバーコードのデバッグが可能になります。 - -シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 - ## 情報の共有 From 4797c3562d5dc9d80faf38713f5fa8cf7ff49ceb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:54:27 +0200 Subject: [PATCH 054/265] New translations authUsers.md (Japanese) --- .../version-19/REST/authUsers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/REST/authUsers.md index a3b58397df0944..7a69a95be85b4a 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-19/REST/authUsers.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/REST/authUsers.md @@ -17,6 +17,14 @@ RESTリクエストは [Webユーザーセッション](WebServer/sessions.md) `On REST Authentication` データベースメソッドが定義されてない場合には、`guest` セッションが開かれます。 + +## プリエンプティブモード + +4D Server上では、**インタプリタモードであっても**、RESTリクエストは自動的にプリエンプティブプロセスで処理されます。 そのため、コードは [プリエンプティブ実行に準拠](../WebServer/preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 + +シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 + + ## 例題 この例では、ユーザーが htmlページにメールアドレスとパスワードを入力し、POST で [`$directory/login`]($directory.md#directorylogin) をリクエストします (htmlページの送信においては、HTTPS接続の使用が推奨されます)。 これによて呼び出された `On REST Authentication` データベースメソッドがユーザー認証をおこない、セッションを確立します。 From cab17c5bbe1c93cf027c2fc77db68aa83d40a2cd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:54:39 +0200 Subject: [PATCH 055/265] New translations preemptiveWeb.md (Japanese) --- .../version-19/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md index 89849ff8aa1b3f..c9c3b127839999 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ title: プリエンプティブWebプロセスの使用 | 4D Server | インタープリター ([ローカルクライアント接続](../Desktop/clientServer.md#4d-と4d-server-の同じマシン上での使用)) | インタープリター (プロジェクト (ローカルクライアント接続なし) またはバイナリ) | コンパイル済みコード | | ----------- | ------------------------------------------------------------------------------- | ------------------------------------------ | ---------- | | REST サーバー | コオペラティブ | プリエンプティブ | プリエンプティブ | -| Web サーバー | コオペラティブ | *Web設定* | *Web設定* | -| Webサービスサーバー | コオペラティブ | *Web設定* | *Web設定* | +| Web サーバー | コオペラティブ | コオペラティブ | *Web設定* | +| Webサービスサーバー | コオペラティブ | コオペラティブ | *Web設定* | | 旧式REST | コオペラティブ | *Web設定* | *Web設定* | | 4Dリモート/シングルユーザー | インタープリターコード | コンパイル済みコード | From 01582f997204b7bfcdf11912ffd6f0e2b16f50b3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 04:54:40 +0200 Subject: [PATCH 056/265] New translations sessions.md (Japanese) --- .../version-19/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md index 4853647effc1c6..900318c718cfe9 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md @@ -51,14 +51,6 @@ Webサーバーのユーザーセッションでは、以下のことが可能 > Webプロセスは通常終了せず、効率化のためにプールされリサイクルされます。 プロセスがリクエストの実行を終えると、プールに戻され、次のリクエストに対応できるようになります。 Webプロセスはどのセッションでも再利用できるため、実行終了時には ([`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/ja/page89.html) などを使用し) コードによって [プロセス変数](Concepts/variables.md#プロセス変数) をクリアする必要があります 。 このクリア処理は、開かれたファイルへの参照など、プロセスに関連するすべての情報に対して必要です。 これが、セッション関連の情報を保持したい場合には、[Session](API/SessionClass.md) オブジェクトを使用することが **推奨** される理由です。 -### プリエンプティブモード - -4D Server上では、**インタプリタモードであっても**、Webサーバーセッションは自動的にプリエンプティブプロセスで処理されます。 そのため、Webのコードは [プリエンプティブ実行に準拠](preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 - -> Web のコードを 4D Server (インタープリターモード) でデバッグするには、[4D Server と同じマシン上で 4D](Desktop/clientServer.md#4d-と-4d-server-の同じマシン上での使用) を起動後、サーバーに接続し、4D アプリケーション上で開発環境 (エクスプローラー等) を開きます。 これにより、すべてのプロセスがコオペラティブモードに切り替わり、Webサーバーコードのデバッグが可能になります。 - -シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 - ## 情報の共有 各 `Session` オブジェクトには、共有オブジェクトである [`.storage`](API/SessionClass.md#storage) プロパティが用意されています。 このプロパティにより、セッションで処理されるすべてのプロセス間で情報を共有することができます。 From 54fe995ca3fd3a15f0e8300ef2f1d944ed863e6b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:06:25 +0200 Subject: [PATCH 057/265] New translations authUsers.md (Japanese) --- .../version-20/REST/authUsers.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/REST/authUsers.md index abbae17e7599db..6be7a54afb91b6 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/REST/authUsers.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/REST/authUsers.md @@ -18,6 +18,13 @@ RESTリクエストは [Webユーザーセッション](WebServer/sessions.md) `On REST Authentication` データベースメソッドが定義されてない場合には、`guest` セッションが開かれます。 +## プリエンプティブモード + +4D Server上では、**インタプリタモードであっても**、RESTリクエストは自動的にプリエンプティブプロセスで処理されます。 そのため、コードは [プリエンプティブ実行に準拠](../WebServer/preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 + +> サーバーマシン上のインタープリターWebコードをデバッグするには、あらかじめサーバーのデバッガーを [サーバー](../Debugging/debugging-remote.md) または [リモートマシン](../Debugging/debugging-remote.md#リモート4dクライアントでのデバッガーの有効化) で有効化する必要があります。 これにより、Webプロセスがコオペラティブモードに切り替わり、Webサーバーコードのデバッグが可能になります。 + +シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 ## 例題 From 0d0f51d6f81ced172208f9435ef64d7c5c8e9fa4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:06:55 +0200 Subject: [PATCH 058/265] New translations preemptiveWeb.md (Japanese) --- .../version-20/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md index 06f541ab9054d2..ab254759300157 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ title: プリエンプティブWebプロセスの使用 | 4D Server | インタープリター ([デバッガー有効](../Debugging/debugging-remote.md)) | インタープリター (デバッガー無効) | コンパイル済みコード | | ----------- | ------------------------------------------------------ | ------------------ | ---------- | | REST サーバー | コオペラティブ | プリエンプティブ | プリエンプティブ | -| Web サーバー | コオペラティブ | *Web設定* | *Web設定* | -| Webサービスサーバー | コオペラティブ | *Web設定* | *Web設定* | +| Web サーバー | コオペラティブ | コオペラティブ | *Web設定* | +| Webサービスサーバー | コオペラティブ | コオペラティブ | *Web設定* | | 4Dリモート/シングルユーザー | インタープリターコード | コンパイル済みコード | | --------------- | ----------- | ---------- | From 27059a41a11b4630832358174f578fa5cd5ebeef Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:06:56 +0200 Subject: [PATCH 059/265] New translations sessions.md (Japanese) --- .../version-20/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md index b38195ae54b7c7..a1eb614996f02e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md @@ -53,14 +53,6 @@ Webサーバーのユーザーセッションでは、以下のことが可能 Webプロセスは通常終了せず、効率化のためにプールされリサイクルされます。 プロセスがリクエストの実行を終えると、プールに戻され、次のリクエストに対応できるようになります。 Webプロセスはどのセッションでも再利用できるため、実行終了時には ([`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/ja/page89.html) などを使用し) コードによって [プロセス変数](Concepts/variables.md#プロセス変数) をクリアする必要があります 。 このクリア処理は、開かれたファイルへの参照など、プロセスに関連するすべての情報に対して必要です。 これが、セッション関連の情報を保持したい場合には、[Session](API/SessionClass.md) オブジェクトを使用することが **推奨** される理由です。 -### プリエンプティブモード - -4D Server上では、**インタプリタモードであっても**、Webサーバーセッションは自動的にプリエンプティブプロセスで処理されます。 そのため、Webサーバーのコードは [プリエンプティブ実行に準拠](preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 - -> サーバーマシン上のインタープリターWebコードをデバッグするには、あらかじめサーバーのデバッガーを [サーバー](Debugging/debugging-remote.md) または [リモートマシン](Debugging/debugging-remote.md#リモート4dクライアントでのデバッガーの有効化) で有効化する必要があります。 これにより、Webプロセスがコオペラティブモードに切り替わり、Webサーバーコードのデバッグが可能になります。 - -シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 - ## 情報の共有 From bda168fd64c38200c9eb3fe345be4640a963b976 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:21:02 +0200 Subject: [PATCH 060/265] New translations authUsers.md (Japanese) --- .../version-20-R2/REST/authUsers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md index abbae17e7599db..d3105ffb9ae0de 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/REST/authUsers.md @@ -18,6 +18,14 @@ RESTリクエストは [Webユーザーセッション](WebServer/sessions.md) `On REST Authentication` データベースメソッドが定義されてない場合には、`guest` セッションが開かれます。 +## プリエンプティブモード + +4D Server上では、**インタプリタモードであっても**、RESTリクエストは自動的にプリエンプティブプロセスで処理されます。 そのため、コードは [プリエンプティブ実行に準拠](../WebServer/preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 + +> サーバーマシン上のインタープリターWebコードをデバッグするには、あらかじめサーバーのデバッガーを [サーバー](../Debugging/debugging-remote.md) または [リモートマシン](../Debugging/debugging-remote.md#リモート4dクライアントでのデバッガーの有効化) で有効化する必要があります。 これにより、Webプロセスがコオペラティブモードに切り替わり、Webサーバーコードのデバッグが可能になります。 + +シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 + ## 例題 From 15230c44ebee6d83ab96e91b3afa71baa7a38061 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:21:32 +0200 Subject: [PATCH 061/265] New translations preemptiveWeb.md (Japanese) --- .../version-20-R2/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md index 06f541ab9054d2..ab254759300157 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ title: プリエンプティブWebプロセスの使用 | 4D Server | インタープリター ([デバッガー有効](../Debugging/debugging-remote.md)) | インタープリター (デバッガー無効) | コンパイル済みコード | | ----------- | ------------------------------------------------------ | ------------------ | ---------- | | REST サーバー | コオペラティブ | プリエンプティブ | プリエンプティブ | -| Web サーバー | コオペラティブ | *Web設定* | *Web設定* | -| Webサービスサーバー | コオペラティブ | *Web設定* | *Web設定* | +| Web サーバー | コオペラティブ | コオペラティブ | *Web設定* | +| Webサービスサーバー | コオペラティブ | コオペラティブ | *Web設定* | | 4Dリモート/シングルユーザー | インタープリターコード | コンパイル済みコード | | --------------- | ----------- | ---------- | From 71d4f9c31c1faa396db2701c1a8f07079525b03b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:21:33 +0200 Subject: [PATCH 062/265] New translations sessions.md (Japanese) --- .../version-20-R2/WebServer/sessions.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md index b38195ae54b7c7..a1eb614996f02e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/sessions.md @@ -53,14 +53,6 @@ Webサーバーのユーザーセッションでは、以下のことが可能 Webプロセスは通常終了せず、効率化のためにプールされリサイクルされます。 プロセスがリクエストの実行を終えると、プールに戻され、次のリクエストに対応できるようになります。 Webプロセスはどのセッションでも再利用できるため、実行終了時には ([`CLEAR VARIABLE`](https://doc.4d.com/4dv18/help/command/ja/page89.html) などを使用し) コードによって [プロセス変数](Concepts/variables.md#プロセス変数) をクリアする必要があります 。 このクリア処理は、開かれたファイルへの参照など、プロセスに関連するすべての情報に対して必要です。 これが、セッション関連の情報を保持したい場合には、[Session](API/SessionClass.md) オブジェクトを使用することが **推奨** される理由です。 -### プリエンプティブモード - -4D Server上では、**インタプリタモードであっても**、Webサーバーセッションは自動的にプリエンプティブプロセスで処理されます。 そのため、Webサーバーのコードは [プリエンプティブ実行に準拠](preemptiveWeb.md#スレッドセーフなWebサーバーコードの書き方) している必要があります。 - -> サーバーマシン上のインタープリターWebコードをデバッグするには、あらかじめサーバーのデバッガーを [サーバー](Debugging/debugging-remote.md) または [リモートマシン](Debugging/debugging-remote.md#リモート4dクライアントでのデバッガーの有効化) で有効化する必要があります。 これにより、Webプロセスがコオペラティブモードに切り替わり、Webサーバーコードのデバッグが可能になります。 - -シングルユーザーの 4D では、インタープリターコードは常にコオペラティブモードで実行されます。 - ## 情報の共有 From a7ed136b90fefd96a758214cea9a2d658ff337be Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:34:56 +0200 Subject: [PATCH 063/265] New translations forms.md (Portuguese, Brazilian) --- .../current/Preferences/forms.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/forms.md b/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/forms.md index c7fe384c2d16e5..33bd1c3a6e6e83 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/forms.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/forms.md @@ -4,11 +4,11 @@ title: Página Formulários --- -This page lets you set the default operation and display of the 4D Form editor. +Esta página permite-lhe definir a operação e o ecrã padrão do editor de formulários de 4D. ## Mover -This group of options sets parameters for moving objects using the keyboard or the mouse in the Form editor. +Este grupo de opções define parâmetros para mover objetos utilizando o teclado ou o rato no editor de formulários. ### Passo utilizando o teclado From b3fe9dbf497c3b36b126c1449071bfe4df039d72 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:34:57 +0200 Subject: [PATCH 064/265] New translations general.md (Portuguese, Brazilian) --- .../current/Preferences/general.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/general.md b/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/general.md index 1bf224b720d470..84e4304e171110 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/general.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Preferences/general.md @@ -3,18 +3,18 @@ id: general title: Página Geral --- -This page contains various options to configure the general operation of your 4D application. +Esta página contém várias opções para configurar o funcionamento geral da sua aplicação 4D. ## Opções ### Na inicialização -This option allows you to configure the default 4D display at startup, when the user launches only the application. +Esta opção permite configurar o ecrã 4D por padrão no arranque, quando o usuário inicia apenas a aplicação. -* **Do nothing**: Only the application window appears, empty. -* **Open Local Project dialog**: 4D displays a standard open document dialog box, allowing you to select a local project. -* **Open Welcome Wizard dialog** (factory setting): 4D displays the Welcome Wizard dialog box. To force the display of the opening dialog box when this option is selected, hold down the **Alt** (Windows) or **Option** (macOS) key while launching the project. -* **Open Remote Project dialog**: 4D displays the standard 4D Server logon dialog, allowing you to select a project published on the network. +* **Não fazer nada**: só aparece a janela da aplicação, vazia. +* **Diálogo Abrir Projeto Local**: 4D apresenta uma caixa de diálogo padrão para abrir um documento, permitindo-lhe selecionar um projeto local. +* **Abrir o último projeto utilizado**: 4D abre diretamente o último projeto utilizado; não aparece nenhuma caixa de diálogo de abertura. >Para forçar a apresentação da caixa de diálogo de abertura quando esta opção é selecionada, mantenha premida a tecla **Alt** (Windows) ou **Opção** (macOS) enquanto inicia o projeto. +* **Diálogo Abrir Projeto Remoto**: 4D mostra o diálogo de logon padrão do 4D Server, permitindo selecionar um projeto publicado na rede. * **Open last used project**: 4D directly opens the last project used; no opening dialog box appears. > > > **4D Server**: The 4D Server application ignores this option. In this environment, the **Do nothing** mode is always used. @@ -71,7 +71,7 @@ If this option is checked, when the user switches to the Application environment ### Ativar a criação de bases de dados binárias -If you check this option, two items are added in the **File > New** menu and the **New** toolbar button: +Se selecionar esta opção, são adicionados dois itens ao menu **Ficheiro > Novo** e ao botão **Novo** da barra de ferramentas: * **Base de dados...** * **Base de dados a partir da definição da estrutura...** @@ -132,14 +132,14 @@ This parameter configures the default language used for character string process A 4D database can thus operate in a language different from that of the system. When a database is opened, the 4D engine detects the language used by the data file and provides it to the language (interpreter or compiled mode). Text comparisons, regardless of whether they are carried out by the database engine or the language, are done in the same language. When creating a new data file, 4D uses the language previously set in this menu. When opening a data file that is not in the same language as the structure, the data file language is used and the language code is copied into the structure. -> You can modify this parameter for the open database using the Database Settings (see [Text comparison](https://doc.4d.com/4Dv18R6/4D/18-R6/DatabaseData-storage-page.300-5217842.en.html#460252)). +> Pode modificar este parâmetro para a base de dados aberta utilizando os parâmetros da base de dados (ver [Comparação de texto](../settings/database.md#text-comparison)). -## Documentation location +## Localização da documentação -This area configures access to the 4D HTML documentation displayed in the current browser: +Esta área configura o acesso à documentação HTML 4D exibida no seu navegador atual: -* When the user clicks on a command name in the Method editor and hits the **F1** key. -* When the user double-clicks on a command on the **Commands Page** of the Explorer; +* Quando se pressiona a tecla **F1** enquanto o cursor está inserido numa função de classe 4D ou nome de comando no Editor de Código; +* Ao clicar duas vezes em um comando 4D na **página Comandos** do Explorer. ### Língua da documentação @@ -148,17 +148,17 @@ Linguaje da documentação HTML a apresentar. You can modify it, for example if ### Procurar primeiro na pasta local -> This option is only taken into account for command documentation access (excluding class functions). +> Esta opção só é tida em conta para o acesso à documentação de comandos (excluindo as funções de classe). -4D builds calls to the pages of the documentation based on this URL. +Define onde 4D irá procurar por páginas de documentação. -* When it is checked, 4D first looks for the page in the local folder. Se for encontrado, 4D mostra a página no navegador atual. If it is found, 4D displays the page in the current browser. This makes it possible to access the documentation even when you are offline. +* Quando marcado (padrão), 4D primeiro procura a página na pasta local (veja abaixo). Se for encontrado, 4D mostra a página no navegador atual. If it is found, 4D displays the page in the current browser. Desta forma, é possível aceder à documentação mesmo quando se está offline. * When it is not checked, 4D looks for the desired page directly in the on-line documentation of the Web site and displays it in the current browser. Se não for encontrado, 4D mostra uma mensagem de erro no navegador. ### Pasta local -> This option is only taken into account for command documentation access (excluding class functions). +> Esta opção só é tida em conta para o acesso à documentação de comandos (excluindo as funções de classe). -Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. You can view the location by clicking on the menu associated with the area. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. +Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. Pode ver a localização clicando no menu associado à zona. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. You can modify this location as desired, for example if you want to display the documentation in a language different from that of the application. The static HTML documentation can be located on another volume, on a web server, etc. To designate a different location, click on the **[...]** button next to the entry area and choose a documentation root folder (folder corresponding to the language: `fr`, `en`, `es`, `de` or `ja`). The static HTML documentation can be located on another volume, on a web server, etc. To designate a different location, click on the [...] button next to the entry area and choose a documentation root folder (folder corresponding to the language: fr, en, es, de or ja). From f6dbb14a2f7fd5e4a739b5297c73c8134bb979a4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:35:32 +0200 Subject: [PATCH 065/265] New translations processes.md (Portuguese, Brazilian) --- .../current/ServerWindow/processes.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/processes.md b/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/processes.md index 436d99c3c600c4..b632ffce704b33 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/processes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/processes.md @@ -86,15 +86,15 @@ A página também tem cinco botões de controle que atuam nos processos selecion ![](../assets/en/Admin/server-process-actions.png) -- **Abort Process**: can be used to abort the selected process(es). When you click on this button, a warning dialog box appears so that you can confirm or cancel the operation. +- **Abortar processo**: pode ser utilizado para abortar os processos selecionados. Quando clicar neste botão, aparece uma caixa de diálogo de aviso para que se possa confirmar ou cancelar a operação. -> You can also abort the selected process(es) directly without displaying the confirmation dialog box by holding down the **Alt** key while clicking on this button, or by using the [`ABORT PROCESS BY ID`](https://doc.4d.com/4dv19/help/command/en/page1634.html) command. +> Também pode abortar os processos selecionados diretamente sem apresentar a caixa de diálogo de confirmação, mantendo apertada a tecla **Alt** enquanto clica neste botão, ou utilizando o comando [`ABORT PROCESS BY ID`](https://doc.4d.com/4dv19/help/command/en/page1634.html) . -- **Pause Process**: can be used to pause the selected process(es). -- **Activate Process**: can be used to reactivate the selected process(es). The processes must have been paused previously (using the button above or by programming); otherwise, this button has no effect. -- **Debug Process**: can be used to open on the server machine one or more debugger windows for the selected process(es). When you click on this button, a warning dialog box appears so that you can confirm or cancel the operation. Note that the debugger window is only displayed when the 4D code is actually executed on the server machine (for example in a trigger or the execution of a method having the "Execute on Server" attribute). +- **Pausa do processo**: pode ser utilizado para fazer uma pausa nos processos selecionados. +- **Ativar processo**: pode ser utilizado para reativar os processos selecionados. Os processos devem ter sido colocados em pausa anteriormente (utilizando o botão acima ou por programação); caso contrário, este botão não tem qualquer efeito. +- **Processo de depuração**: pode ser utilizado para abrir na máquina do servidor uma ou mais janelas de depuração para os processos selecionados. Quando clicar neste botão, aparece uma caixa de diálogo de aviso para que se possa confirmar ou cancelar a operação. Note que a janela do depurador só é exibida quando o código 4D for realmente executado na máquina do servidor (por exemplo, em um gatilho ou na execução de um método com o atributo "Execute on Server"). -> You can also debug a process directly without displaying the confirmation dialog box by holding down the **Alt** key while clicking on this button. +> Também pode depurar um processo diretamente sem apresentar a caixa de diálogo de confirmação, mantendo pressionada a tecla **Alt** enquanto clica neste botão. -- **Watch users**: used to display, on the [Users page](users.md), all the processes of the selected user(s). Este botão está ativo quando pelo menos um processo usuário é selecionado. +- **Observar usuários**: utilizado para mostrar, na página [Usuários](users.md), todos os processos dos usuários selecionados. Este botão está ativo quando pelo menos um processo do utilizador for selecionado. From db960f4319cf3cad44d8401991cdd1d646988829 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:35:56 +0200 Subject: [PATCH 066/265] New translations preemptiveWeb.md (Portuguese, Brazilian) --- .../current/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md index a22408d412da94..ae7c77d8a2d158 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted ([debugger attached](../Debugging/debugging-remote.md)) | Interpretado (não associado ao depurador) | Compilado | | --------------------- | ------------------------------------------------------------------- | ----------------------------------------- | --------------- | | Servidor REST | cooperativo | preemptive | preemptive | -| Servidor Web | cooperativo | *parâmetro web* | *parâmetro web* | -| Servidor Web Services | cooperativo | *parâmetro web* | *parâmetro web* | +| Servidor Web | cooperativo | cooperativo | *parâmetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parâmetro web* | | 4D remoto/usuário único | Interpretado | Compilado | | ----------------------- | ------------ | --------------- | From 515cbf3055bc736b7baa7341f188ee1c24803be7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:54:23 +0200 Subject: [PATCH 067/265] New translations forms.md (Portuguese, Brazilian) --- .../version-19/Preferences/forms.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/forms.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/forms.md index c7fe384c2d16e5..33bd1c3a6e6e83 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/forms.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/forms.md @@ -4,11 +4,11 @@ title: Página Formulários --- -This page lets you set the default operation and display of the 4D Form editor. +Esta página permite-lhe definir a operação e o ecrã padrão do editor de formulários de 4D. ## Mover -This group of options sets parameters for moving objects using the keyboard or the mouse in the Form editor. +Este grupo de opções define parâmetros para mover objetos utilizando o teclado ou o rato no editor de formulários. ### Passo utilizando o teclado From 6ac5b3c70e7054e561a7daac375e47116ae51fa7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:54:24 +0200 Subject: [PATCH 068/265] New translations general.md (Portuguese, Brazilian) --- .../version-19/Preferences/general.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/general.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/general.md index 0d0aa5a461ea8c..a1fd43a8ca76ce 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/general.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Preferences/general.md @@ -3,20 +3,20 @@ id: general title: Página Geral --- -This page contains various options to configure the general operation of your 4D application. +Esta página contém várias opções para configurar o funcionamento geral da sua aplicação 4D. ## Opções ### Na inicialização -This option allows you to configure the default 4D display at startup, when the user launches only the application. +Esta opção permite configurar o ecrã 4D por padrão no arranque, quando o usuário inicia apenas a aplicação. -* **Do nothing**: Only the application window appears, empty. -* **Open Local Project dialog**: 4D displays a standard open document dialog box, allowing you to select a local project. -* **Open Welcome Wizard dialog** (factory setting): 4D displays the Welcome Wizard dialog box. +* **Não fazer nada**: só aparece a janela da aplicação, vazia. +* **Diálogo Abrir Projeto Local**: 4D apresenta uma caixa de diálogo padrão para abrir um documento, permitindo-lhe selecionar um projeto local. +* **Abrir o último projeto utilizado**: 4D abre diretamente o último projeto utilizado; não aparece nenhuma caixa de diálogo de abertura. > To force the display of the opening dialog box when this option is selected, hold down the **Alt** (Windows) or **Option** (macOS) key while launching the project. -* **Open Remote Project dialog**: 4D displays the standard 4D Server logon dialog, allowing you to select a project published on the network. +* **Diálogo Abrir Projeto Remoto**: 4D mostra o diálogo de logon padrão do 4D Server, permitindo selecionar um projeto publicado na rede. * **Open last used project**: 4D directly opens the last project used; no opening dialog box appears. > > > **4D Server**: The 4D Server application ignores this option. In this environment, the **Do nothing** mode is always used. @@ -57,7 +57,7 @@ If this option is checked, when the user switches to the Application environment ### Ativar a criação de bases de dados binárias -If you check this option, two items are added in the **File > New** menu and the **New** toolbar button: +Se selecionar esta opção, são adicionados dois itens ao menu **Ficheiro > Novo** e ao botão **Novo** da barra de ferramentas: * **Base de dados...** * **Base de dados a partir da definição da estrutura...** @@ -98,7 +98,7 @@ You can choose to access the 4D online documentation site directly or to access ### Pasta local -Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. You can view the location by clicking on the menu associated with the area. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. +Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. Pode ver a localização clicando no menu associado à zona. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. You can modify this location as desired, for example if you want to display the documentation in a language different from that of the application. The static HTML documentation can be located on another volume, on a web server, etc. To designate a different location, click on the **[...]** button next to the entry area and choose a documentation root folder (folder corresponding to the language: `fr`, `en`, `es`, `de` or `ja`). To designate a different location, click on the [...] button next to the entry area and choose a documentation root folder (folder corresponding to the language: fr, en, es, de or ja). @@ -110,5 +110,5 @@ URL access to the on-line documentation for the version on 4D Doc Center. 4D bui This option (checked by default) sets where 4D will look for the documentation page called using the Explorer or the F1 key. -* When it is checked, 4D first looks for the page in the local folder. Se for encontrado, 4D mostra a página no navegador atual. If not, 4D will automatically look for it in the on-line documentation of the Web site. This makes it possible to access the documentation even when you are offline. +* When it is checked, 4D first looks for the page in the local folder. Se for encontrado, 4D mostra a página no navegador atual. If not, 4D will automatically look for it in the on-line documentation of the Web site. Desta forma, é possível aceder à documentação mesmo quando se está offline. * When it is not checked, 4D looks for the desired page directly in the on-line documentation of the Web site and displays it in the current browser. Se não for encontrado, 4D mostra uma mensagem de erro no navegador. From db1cf29832e1a9ff55850a72669399b26c3ba0b3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 05:55:01 +0200 Subject: [PATCH 069/265] New translations preemptiveWeb.md (Portuguese, Brazilian) --- .../version-19/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md index a9be24a617f8e3..dba55dcaac1bd6 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted, project ([client connected locally](../Desktop/clientServer.md#using-4d-and-4d-server-on-the-same-machine)) | Interpretado, projeto (nenhum cliente ligado localmente) ou binário | Compilado | | --------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- | --------------- | | Servidor REST | cooperativo | preemptive | preemptive | -| Servidor Web | cooperativo | *parâmetro web* | *parâmetro web* | -| Servidor Web Services | cooperativo | *parâmetro web* | *parâmetro web* | +| Servidor Web | cooperativo | cooperativo | *parâmetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parâmetro web* | | Legacy REST | cooperativo | *parâmetro web* | *parâmetro web* | | 4D remoto/usuário único | Interpretado | Compilado | From 9da8896f59dc5f7bab7674c5513ceb5b31afea20 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:05:24 +0200 Subject: [PATCH 070/265] New translations forms.md (Portuguese, Brazilian) --- .../version-20/Preferences/forms.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/forms.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/forms.md index c7fe384c2d16e5..33bd1c3a6e6e83 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/forms.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/forms.md @@ -4,11 +4,11 @@ title: Página Formulários --- -This page lets you set the default operation and display of the 4D Form editor. +Esta página permite-lhe definir a operação e o ecrã padrão do editor de formulários de 4D. ## Mover -This group of options sets parameters for moving objects using the keyboard or the mouse in the Form editor. +Este grupo de opções define parâmetros para mover objetos utilizando o teclado ou o rato no editor de formulários. ### Passo utilizando o teclado From 98207a6549bd462474fae04d140438928b717841 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:05:25 +0200 Subject: [PATCH 071/265] New translations general.md (Portuguese, Brazilian) --- .../version-20/Preferences/general.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/general.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/general.md index 1bf224b720d470..84e4304e171110 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/general.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Preferences/general.md @@ -3,18 +3,18 @@ id: general title: Página Geral --- -This page contains various options to configure the general operation of your 4D application. +Esta página contém várias opções para configurar o funcionamento geral da sua aplicação 4D. ## Opções ### Na inicialização -This option allows you to configure the default 4D display at startup, when the user launches only the application. +Esta opção permite configurar o ecrã 4D por padrão no arranque, quando o usuário inicia apenas a aplicação. -* **Do nothing**: Only the application window appears, empty. -* **Open Local Project dialog**: 4D displays a standard open document dialog box, allowing you to select a local project. -* **Open Welcome Wizard dialog** (factory setting): 4D displays the Welcome Wizard dialog box. To force the display of the opening dialog box when this option is selected, hold down the **Alt** (Windows) or **Option** (macOS) key while launching the project. -* **Open Remote Project dialog**: 4D displays the standard 4D Server logon dialog, allowing you to select a project published on the network. +* **Não fazer nada**: só aparece a janela da aplicação, vazia. +* **Diálogo Abrir Projeto Local**: 4D apresenta uma caixa de diálogo padrão para abrir um documento, permitindo-lhe selecionar um projeto local. +* **Abrir o último projeto utilizado**: 4D abre diretamente o último projeto utilizado; não aparece nenhuma caixa de diálogo de abertura. >Para forçar a apresentação da caixa de diálogo de abertura quando esta opção é selecionada, mantenha premida a tecla **Alt** (Windows) ou **Opção** (macOS) enquanto inicia o projeto. +* **Diálogo Abrir Projeto Remoto**: 4D mostra o diálogo de logon padrão do 4D Server, permitindo selecionar um projeto publicado na rede. * **Open last used project**: 4D directly opens the last project used; no opening dialog box appears. > > > **4D Server**: The 4D Server application ignores this option. In this environment, the **Do nothing** mode is always used. @@ -71,7 +71,7 @@ If this option is checked, when the user switches to the Application environment ### Ativar a criação de bases de dados binárias -If you check this option, two items are added in the **File > New** menu and the **New** toolbar button: +Se selecionar esta opção, são adicionados dois itens ao menu **Ficheiro > Novo** e ao botão **Novo** da barra de ferramentas: * **Base de dados...** * **Base de dados a partir da definição da estrutura...** @@ -132,14 +132,14 @@ This parameter configures the default language used for character string process A 4D database can thus operate in a language different from that of the system. When a database is opened, the 4D engine detects the language used by the data file and provides it to the language (interpreter or compiled mode). Text comparisons, regardless of whether they are carried out by the database engine or the language, are done in the same language. When creating a new data file, 4D uses the language previously set in this menu. When opening a data file that is not in the same language as the structure, the data file language is used and the language code is copied into the structure. -> You can modify this parameter for the open database using the Database Settings (see [Text comparison](https://doc.4d.com/4Dv18R6/4D/18-R6/DatabaseData-storage-page.300-5217842.en.html#460252)). +> Pode modificar este parâmetro para a base de dados aberta utilizando os parâmetros da base de dados (ver [Comparação de texto](../settings/database.md#text-comparison)). -## Documentation location +## Localização da documentação -This area configures access to the 4D HTML documentation displayed in the current browser: +Esta área configura o acesso à documentação HTML 4D exibida no seu navegador atual: -* When the user clicks on a command name in the Method editor and hits the **F1** key. -* When the user double-clicks on a command on the **Commands Page** of the Explorer; +* Quando se pressiona a tecla **F1** enquanto o cursor está inserido numa função de classe 4D ou nome de comando no Editor de Código; +* Ao clicar duas vezes em um comando 4D na **página Comandos** do Explorer. ### Língua da documentação @@ -148,17 +148,17 @@ Linguaje da documentação HTML a apresentar. You can modify it, for example if ### Procurar primeiro na pasta local -> This option is only taken into account for command documentation access (excluding class functions). +> Esta opção só é tida em conta para o acesso à documentação de comandos (excluindo as funções de classe). -4D builds calls to the pages of the documentation based on this URL. +Define onde 4D irá procurar por páginas de documentação. -* When it is checked, 4D first looks for the page in the local folder. Se for encontrado, 4D mostra a página no navegador atual. If it is found, 4D displays the page in the current browser. This makes it possible to access the documentation even when you are offline. +* Quando marcado (padrão), 4D primeiro procura a página na pasta local (veja abaixo). Se for encontrado, 4D mostra a página no navegador atual. If it is found, 4D displays the page in the current browser. Desta forma, é possível aceder à documentação mesmo quando se está offline. * When it is not checked, 4D looks for the desired page directly in the on-line documentation of the Web site and displays it in the current browser. Se não for encontrado, 4D mostra uma mensagem de erro no navegador. ### Pasta local -> This option is only taken into account for command documentation access (excluding class functions). +> Esta opção só é tida em conta para o acesso à documentação de comandos (excluindo as funções de classe). -Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. You can view the location by clicking on the menu associated with the area. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. +Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. Pode ver a localização clicando no menu associado à zona. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. You can modify this location as desired, for example if you want to display the documentation in a language different from that of the application. The static HTML documentation can be located on another volume, on a web server, etc. To designate a different location, click on the **[...]** button next to the entry area and choose a documentation root folder (folder corresponding to the language: `fr`, `en`, `es`, `de` or `ja`). The static HTML documentation can be located on another volume, on a web server, etc. To designate a different location, click on the [...] button next to the entry area and choose a documentation root folder (folder corresponding to the language: fr, en, es, de or ja). From 5be18abd8c94332fa21de66de94aa7a7b3741b50 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:05:56 +0200 Subject: [PATCH 072/265] New translations processes.md (Portuguese, Brazilian) --- .../version-20/ServerWindow/processes.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/processes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/processes.md index 436d99c3c600c4..b632ffce704b33 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/processes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/processes.md @@ -86,15 +86,15 @@ A página também tem cinco botões de controle que atuam nos processos selecion ![](../assets/en/Admin/server-process-actions.png) -- **Abort Process**: can be used to abort the selected process(es). When you click on this button, a warning dialog box appears so that you can confirm or cancel the operation. +- **Abortar processo**: pode ser utilizado para abortar os processos selecionados. Quando clicar neste botão, aparece uma caixa de diálogo de aviso para que se possa confirmar ou cancelar a operação. -> You can also abort the selected process(es) directly without displaying the confirmation dialog box by holding down the **Alt** key while clicking on this button, or by using the [`ABORT PROCESS BY ID`](https://doc.4d.com/4dv19/help/command/en/page1634.html) command. +> Também pode abortar os processos selecionados diretamente sem apresentar a caixa de diálogo de confirmação, mantendo apertada a tecla **Alt** enquanto clica neste botão, ou utilizando o comando [`ABORT PROCESS BY ID`](https://doc.4d.com/4dv19/help/command/en/page1634.html) . -- **Pause Process**: can be used to pause the selected process(es). -- **Activate Process**: can be used to reactivate the selected process(es). The processes must have been paused previously (using the button above or by programming); otherwise, this button has no effect. -- **Debug Process**: can be used to open on the server machine one or more debugger windows for the selected process(es). When you click on this button, a warning dialog box appears so that you can confirm or cancel the operation. Note that the debugger window is only displayed when the 4D code is actually executed on the server machine (for example in a trigger or the execution of a method having the "Execute on Server" attribute). +- **Pausa do processo**: pode ser utilizado para fazer uma pausa nos processos selecionados. +- **Ativar processo**: pode ser utilizado para reativar os processos selecionados. Os processos devem ter sido colocados em pausa anteriormente (utilizando o botão acima ou por programação); caso contrário, este botão não tem qualquer efeito. +- **Processo de depuração**: pode ser utilizado para abrir na máquina do servidor uma ou mais janelas de depuração para os processos selecionados. Quando clicar neste botão, aparece uma caixa de diálogo de aviso para que se possa confirmar ou cancelar a operação. Note que a janela do depurador só é exibida quando o código 4D for realmente executado na máquina do servidor (por exemplo, em um gatilho ou na execução de um método com o atributo "Execute on Server"). -> You can also debug a process directly without displaying the confirmation dialog box by holding down the **Alt** key while clicking on this button. +> Também pode depurar um processo diretamente sem apresentar a caixa de diálogo de confirmação, mantendo pressionada a tecla **Alt** enquanto clica neste botão. -- **Watch users**: used to display, on the [Users page](users.md), all the processes of the selected user(s). Este botão está ativo quando pelo menos um processo usuário é selecionado. +- **Observar usuários**: utilizado para mostrar, na página [Usuários](users.md), todos os processos dos usuários selecionados. Este botão está ativo quando pelo menos um processo do utilizador for selecionado. From 559ec21350b270dcd34f7c53116b999592b1cc45 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:06:15 +0200 Subject: [PATCH 073/265] New translations preemptiveWeb.md (Portuguese, Brazilian) --- .../version-20/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md index a22408d412da94..ae7c77d8a2d158 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted ([debugger attached](../Debugging/debugging-remote.md)) | Interpretado (não associado ao depurador) | Compilado | | --------------------- | ------------------------------------------------------------------- | ----------------------------------------- | --------------- | | Servidor REST | cooperativo | preemptive | preemptive | -| Servidor Web | cooperativo | *parâmetro web* | *parâmetro web* | -| Servidor Web Services | cooperativo | *parâmetro web* | *parâmetro web* | +| Servidor Web | cooperativo | cooperativo | *parâmetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parâmetro web* | | 4D remoto/usuário único | Interpretado | Compilado | | ----------------------- | ------------ | --------------- | From 99b20c97257175338daae746497c25aef45a022d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:18:39 +0200 Subject: [PATCH 074/265] New translations forms.md (Portuguese, Brazilian) --- .../version-20-R2/Preferences/forms.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/forms.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/forms.md index c7fe384c2d16e5..33bd1c3a6e6e83 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/forms.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/forms.md @@ -4,11 +4,11 @@ title: Página Formulários --- -This page lets you set the default operation and display of the 4D Form editor. +Esta página permite-lhe definir a operação e o ecrã padrão do editor de formulários de 4D. ## Mover -This group of options sets parameters for moving objects using the keyboard or the mouse in the Form editor. +Este grupo de opções define parâmetros para mover objetos utilizando o teclado ou o rato no editor de formulários. ### Passo utilizando o teclado From e2dc91399fcb9230f979a74ec9a90a55085a50c1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:18:40 +0200 Subject: [PATCH 075/265] New translations general.md (Portuguese, Brazilian) --- .../version-20-R2/Preferences/general.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/general.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/general.md index 1bf224b720d470..84e4304e171110 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/general.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Preferences/general.md @@ -3,18 +3,18 @@ id: general title: Página Geral --- -This page contains various options to configure the general operation of your 4D application. +Esta página contém várias opções para configurar o funcionamento geral da sua aplicação 4D. ## Opções ### Na inicialização -This option allows you to configure the default 4D display at startup, when the user launches only the application. +Esta opção permite configurar o ecrã 4D por padrão no arranque, quando o usuário inicia apenas a aplicação. -* **Do nothing**: Only the application window appears, empty. -* **Open Local Project dialog**: 4D displays a standard open document dialog box, allowing you to select a local project. -* **Open Welcome Wizard dialog** (factory setting): 4D displays the Welcome Wizard dialog box. To force the display of the opening dialog box when this option is selected, hold down the **Alt** (Windows) or **Option** (macOS) key while launching the project. -* **Open Remote Project dialog**: 4D displays the standard 4D Server logon dialog, allowing you to select a project published on the network. +* **Não fazer nada**: só aparece a janela da aplicação, vazia. +* **Diálogo Abrir Projeto Local**: 4D apresenta uma caixa de diálogo padrão para abrir um documento, permitindo-lhe selecionar um projeto local. +* **Abrir o último projeto utilizado**: 4D abre diretamente o último projeto utilizado; não aparece nenhuma caixa de diálogo de abertura. >Para forçar a apresentação da caixa de diálogo de abertura quando esta opção é selecionada, mantenha premida a tecla **Alt** (Windows) ou **Opção** (macOS) enquanto inicia o projeto. +* **Diálogo Abrir Projeto Remoto**: 4D mostra o diálogo de logon padrão do 4D Server, permitindo selecionar um projeto publicado na rede. * **Open last used project**: 4D directly opens the last project used; no opening dialog box appears. > > > **4D Server**: The 4D Server application ignores this option. In this environment, the **Do nothing** mode is always used. @@ -71,7 +71,7 @@ If this option is checked, when the user switches to the Application environment ### Ativar a criação de bases de dados binárias -If you check this option, two items are added in the **File > New** menu and the **New** toolbar button: +Se selecionar esta opção, são adicionados dois itens ao menu **Ficheiro > Novo** e ao botão **Novo** da barra de ferramentas: * **Base de dados...** * **Base de dados a partir da definição da estrutura...** @@ -132,14 +132,14 @@ This parameter configures the default language used for character string process A 4D database can thus operate in a language different from that of the system. When a database is opened, the 4D engine detects the language used by the data file and provides it to the language (interpreter or compiled mode). Text comparisons, regardless of whether they are carried out by the database engine or the language, are done in the same language. When creating a new data file, 4D uses the language previously set in this menu. When opening a data file that is not in the same language as the structure, the data file language is used and the language code is copied into the structure. -> You can modify this parameter for the open database using the Database Settings (see [Text comparison](https://doc.4d.com/4Dv18R6/4D/18-R6/DatabaseData-storage-page.300-5217842.en.html#460252)). +> Pode modificar este parâmetro para a base de dados aberta utilizando os parâmetros da base de dados (ver [Comparação de texto](../settings/database.md#text-comparison)). -## Documentation location +## Localização da documentação -This area configures access to the 4D HTML documentation displayed in the current browser: +Esta área configura o acesso à documentação HTML 4D exibida no seu navegador atual: -* When the user clicks on a command name in the Method editor and hits the **F1** key. -* When the user double-clicks on a command on the **Commands Page** of the Explorer; +* Quando se pressiona a tecla **F1** enquanto o cursor está inserido numa função de classe 4D ou nome de comando no Editor de Código; +* Ao clicar duas vezes em um comando 4D na **página Comandos** do Explorer. ### Língua da documentação @@ -148,17 +148,17 @@ Linguaje da documentação HTML a apresentar. You can modify it, for example if ### Procurar primeiro na pasta local -> This option is only taken into account for command documentation access (excluding class functions). +> Esta opção só é tida em conta para o acesso à documentação de comandos (excluindo as funções de classe). -4D builds calls to the pages of the documentation based on this URL. +Define onde 4D irá procurar por páginas de documentação. -* When it is checked, 4D first looks for the page in the local folder. Se for encontrado, 4D mostra a página no navegador atual. If it is found, 4D displays the page in the current browser. This makes it possible to access the documentation even when you are offline. +* Quando marcado (padrão), 4D primeiro procura a página na pasta local (veja abaixo). Se for encontrado, 4D mostra a página no navegador atual. If it is found, 4D displays the page in the current browser. Desta forma, é possível aceder à documentação mesmo quando se está offline. * When it is not checked, 4D looks for the desired page directly in the on-line documentation of the Web site and displays it in the current browser. Se não for encontrado, 4D mostra uma mensagem de erro no navegador. ### Pasta local -> This option is only taken into account for command documentation access (excluding class functions). +> Esta opção só é tida em conta para o acesso à documentação de comandos (excluindo as funções de classe). -Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. You can view the location by clicking on the menu associated with the area. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. +Indica a localização da documentação HTML estática. Por padrão, esta é a subpasta \Help\Command\language. Pode ver a localização clicando no menu associado à zona. Se esta subpasta não estiver presente, a localização é apresentada a vermelho. You can modify this location as desired, for example if you want to display the documentation in a language different from that of the application. The static HTML documentation can be located on another volume, on a web server, etc. To designate a different location, click on the **[...]** button next to the entry area and choose a documentation root folder (folder corresponding to the language: `fr`, `en`, `es`, `de` or `ja`). The static HTML documentation can be located on another volume, on a web server, etc. To designate a different location, click on the [...] button next to the entry area and choose a documentation root folder (folder corresponding to the language: fr, en, es, de or ja). From 3e8b6574ab1fa6f9866b2c26a20292f4a7d633e3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:19:09 +0200 Subject: [PATCH 076/265] New translations processes.md (Portuguese, Brazilian) --- .../version-20-R2/ServerWindow/processes.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/processes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/processes.md index 436d99c3c600c4..b632ffce704b33 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/processes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/processes.md @@ -86,15 +86,15 @@ A página também tem cinco botões de controle que atuam nos processos selecion ![](../assets/en/Admin/server-process-actions.png) -- **Abort Process**: can be used to abort the selected process(es). When you click on this button, a warning dialog box appears so that you can confirm or cancel the operation. +- **Abortar processo**: pode ser utilizado para abortar os processos selecionados. Quando clicar neste botão, aparece uma caixa de diálogo de aviso para que se possa confirmar ou cancelar a operação. -> You can also abort the selected process(es) directly without displaying the confirmation dialog box by holding down the **Alt** key while clicking on this button, or by using the [`ABORT PROCESS BY ID`](https://doc.4d.com/4dv19/help/command/en/page1634.html) command. +> Também pode abortar os processos selecionados diretamente sem apresentar a caixa de diálogo de confirmação, mantendo apertada a tecla **Alt** enquanto clica neste botão, ou utilizando o comando [`ABORT PROCESS BY ID`](https://doc.4d.com/4dv19/help/command/en/page1634.html) . -- **Pause Process**: can be used to pause the selected process(es). -- **Activate Process**: can be used to reactivate the selected process(es). The processes must have been paused previously (using the button above or by programming); otherwise, this button has no effect. -- **Debug Process**: can be used to open on the server machine one or more debugger windows for the selected process(es). When you click on this button, a warning dialog box appears so that you can confirm or cancel the operation. Note that the debugger window is only displayed when the 4D code is actually executed on the server machine (for example in a trigger or the execution of a method having the "Execute on Server" attribute). +- **Pausa do processo**: pode ser utilizado para fazer uma pausa nos processos selecionados. +- **Ativar processo**: pode ser utilizado para reativar os processos selecionados. Os processos devem ter sido colocados em pausa anteriormente (utilizando o botão acima ou por programação); caso contrário, este botão não tem qualquer efeito. +- **Processo de depuração**: pode ser utilizado para abrir na máquina do servidor uma ou mais janelas de depuração para os processos selecionados. Quando clicar neste botão, aparece uma caixa de diálogo de aviso para que se possa confirmar ou cancelar a operação. Note que a janela do depurador só é exibida quando o código 4D for realmente executado na máquina do servidor (por exemplo, em um gatilho ou na execução de um método com o atributo "Execute on Server"). -> You can also debug a process directly without displaying the confirmation dialog box by holding down the **Alt** key while clicking on this button. +> Também pode depurar um processo diretamente sem apresentar a caixa de diálogo de confirmação, mantendo pressionada a tecla **Alt** enquanto clica neste botão. -- **Watch users**: used to display, on the [Users page](users.md), all the processes of the selected user(s). Este botão está ativo quando pelo menos um processo usuário é selecionado. +- **Observar usuários**: utilizado para mostrar, na página [Usuários](users.md), todos os processos dos usuários selecionados. Este botão está ativo quando pelo menos um processo do utilizador for selecionado. From 52c08275229361dc6d27b7bf4c2c75afe097b20b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 06:19:29 +0200 Subject: [PATCH 077/265] New translations preemptiveWeb.md (Portuguese, Brazilian) --- .../version-20-R2/WebServer/preemptiveWeb.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md index a22408d412da94..ae7c77d8a2d158 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/preemptiveWeb.md @@ -15,8 +15,8 @@ The following table indicates whether the preemptive mode is used or is availabl | 4D Server | Interpreted ([debugger attached](../Debugging/debugging-remote.md)) | Interpretado (não associado ao depurador) | Compilado | | --------------------- | ------------------------------------------------------------------- | ----------------------------------------- | --------------- | | Servidor REST | cooperativo | preemptive | preemptive | -| Servidor Web | cooperativo | *parâmetro web* | *parâmetro web* | -| Servidor Web Services | cooperativo | *parâmetro web* | *parâmetro web* | +| Servidor Web | cooperativo | cooperativo | *parâmetro web* | +| Servidor Web Services | cooperativo | cooperativo | *parâmetro web* | | 4D remoto/usuário único | Interpretado | Compilado | | ----------------------- | ------------ | --------------- | From 1c670d7eda7a5d6076dbfae70de3c963eeac2450 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 13:38:57 +0200 Subject: [PATCH 078/265] New translations qodly-studio.md (Japanese) --- .../current/WebServer/qodly-studio.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index ebbaafd44678dd..a5f266d338e20e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -62,79 +62,79 @@ Qodly Studio へのアクセスを有効化するには、2つのレベルで明 #### 4Dレベルで -As a first security level, you need to [allow access to Qodly Studio on the WebAdmin web server](../Admin/webAdmin.md#enable-access-to-qodly-studio). +最初のセキュリティレベルとして、[WebAdmin Webサーバーで Qodly Studio へのアクセスを許可](../Admin/webAdmin.md#qodly-studio-へのアクセスを有効化する) する必要があります。 -This setting applies to the 4D application (4D or 4D Server) on the host machine. All projects opened with that 4D application take this setting into account. +この設定は、ホストマシンの 4Dアプリケーション (4D または 4D Server) が対象となります。 つまり、その 4Dアプリケーションで開くすべてのプロジェクトで、この設定が適用されます。 -Keep this option unchecked if you want to make sure no access to Qodly Studio is allowed on the application. +アプリケーション上で Qodly Studio へのアクセスを許可しない場合は、このオプションをオフにします。 -Check this option to make it possible to access Qodly Studio. However, you still need to enable it at every project level. +このオプションにチェックを入れると、Qodly Studio にアクセスできるようになります。 さらに、各プロジェクトのレベルでも許可が必要です。 -Additionally, you can [configure the WebAdmin web server's HTTP/HTTPS port used](../Admin/webAdmin.md#accept-http-connections-on-localhost). +さらに、[WebAdmin Webサーバーの HTTP/HTTPS ポートを設定](../Admin/webAdmin.md#ローカルホストでhttp接続を受け入れる) することもできます。 :::note -After any change to these settings, you must [restart the WebAdmin web server](../Admin/webAdmin.md#start-and-stop) for the new configuration to be effective. +これらの設定を変更した後、新しい設定を有効にするには、[WebAdmin Web サーバー](../Admin/webAdmin.md#開始と停止) を再起動する必要があります。 ::: -#### At project level +#### プロジェクトレベルで -After you have enabled access to Qodly Studio at the 4D level, you need to explicitly designate every project that can be accessed. The **Enable access to Qodly Studio** option must be enabled on the [Web Features page of the 4D application's Settings](../settings/web.md#enable-access-to-qodly-studio). +4Dレベルで Qodly Studio へのアクセスを有効にした後、アクセスできるプロジェクトをそれぞれ明示的に指定する必要があります。 **Enable access to Qodly Studio** オプションは、[プロジェクト設定の Web機能ページ](../settings/web.md#qodly-studio-へのアクセスを有効化する) で有効にする必要があります。 -Keep in mind that [user settings](../settings/overview.md) can be defined at several levels, and that priorities apply. +[ユーザー設定](../settings/overview.md) はいくつかのレベルで定義でき、優先順位が適用されることに留意してください。 -### Activating authentication +### 認証を有効化する -Authentication on the WebAdmin web server is granted using an access key. For more details, see [Access key](../Admin/webAdmin.md#access-key). +WebAdmin Webサーバーでの認証には、アクセスキーを使用します。 詳しくは、[アクセスキー](../Admin/webAdmin.md#アクセスキー) を参照ください。 -### Enabling rendering +### レンダリングを有効化する -To enable the rendering of webforms that are created in Qodly Studio, the following options must be set. +Qodly Studio で作成した Webフォームのレンダリングを有効にするには、以下のオプションを設定する必要があります。 -* The 4D project's **Settings** > **Web** > **Web Features** > [**Expose as REST server**](../settings/web.md#exposed-as-rest-server) option must be activated -* The [4D web server](webServer.md) must be running +* 4Dプロジェクトの **設定** > **Web** > **Web機能** > [**RESTサーバーとして公開**](../settings/web.md#restサーバーとして公開) オプションを有効にする必要があります。 +* [4D Webサーバー](webServer.md) を起動しておく必要があります。 -When rendering webforms in the Web Studio, the renderer will connect to the 4D web server through HTTP or HTTPS, depending on the settings, following the same HTTP/HTTPS connection pattern as for the [WebAdmin web server](../Admin/webAdmin.md#accept-http-connections-on-localhost). +Qodly Studio で Webフォームをレンダリングする際、レンダラーは設定により、[WebAdmin Webサーバー](../Admin/webAdmin.md#ローカルホストでhttp接続を受け入れる) と同じ HTTP/HTTPS 接続パターンに従って、HTTP または HTTPS で 4D Webサーバーに接続します。 :::info -See [this page](https://developer.qodly.com/docs/studio/rendering) for information on how to render webforms in Qodly. +Qodly で Webフォームをレンダリングする方法については [このページ](https://developer.qodly.com/docs/studio/rendering) を参照ください。 ::: -Note that when you click on the "Preview in a new tab" button, a tab will open at `IP:port/$lib/renderer/?w=WebFormName` on your machine. +"新しいタブでプレビュー" ボタンをクリックすると、マシン上で `IP:port/$lib/renderer/?w=WebFormName` のタブが開くことに注意してください。 -Keep in mind that the Qodly Web Studio runs through the 4D WebAdmin web server. When you use Qodly Web Studio as a developer, even when you preview a webform in the studio, you're using the 4D WebAdmin web server. This allows you to see dataclasses, functions and attributes that are not exposed as REST resources for example (they are greyed out). +Qodly Studio は、4D WebAdmin Webサーバーを通して動作することに留意してください。 開発者として Qodly Studio を使用する場合、Webフォームをプレビューするには、4D WebAdmin Webサーバーを使用することになります。 これにより、たとえば RESTリソースとして公開されていないデータクラス、関数、属性を (グレーアウトされた状態で) 見ることができます。 -However, webform rendering happens outside 4D Web Studio, and is served by the standard 4D web server. In this situation, your web application cannot access assets that are not exposed as REST resources. See [Exposed vs non-exposed functions](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) and [Exposing tables](../REST/configuration.md#exposing-tables) for more information on how to expose assets. +しかし、実際の Webフォームのレンダリングは 4D Web Studio の外でおこなわれ、標準の 4D Webサーバーによって処理されます。 このような状況では、Webアプリケーションは RESTリソースとして公開されていないデータにアクセスできません。 [公開vs非公開関数](../ORDA/ordaClasses.md#公開vs非公開関数) および [テーブルの公開](../REST/configuration.md#テーブルの公開) を参照ください。 :::note -[Renderer buttons](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) are hidden if the configuration options are not activated. +設定オプションが有効になっていない場合、[レンダラー ボタン](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) は非表示です。 ::: -### WebAdmin server and deployment +### WebAdminサーバーと運用 -For deployment, the WebAdmin server is not necessary. End-user access to your web application made with Qodly Studio is based on the 4D REST protocol, and as such, it works as through a conventional 4D remote application. +運用には、WebAdminサーバーは必要ありません。 Qodly Studio で作成された Webアプリケーションへのエンドユーザーアクセスは、4D RESTプロトコルに基づいているため、従来の 4Dリモートアプリケーションと同様に動作します。 -### Using project methods +### プロジェクトメソッドを使用する -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. +メソッドよりクラス関数の使用が推奨されますが、プロジェクトメソッドを REST関数として使用することは可能です。 -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. +Qodly Studio で使用するには、プロジェクトメソッドを DataStore、DataClass、Entity または EntitySelection クラスの関数として定義する必要があります。 -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. +REST関数としてメソッドが利用可能かどうかを確認するには: +1. 4Dアプリケーションのエクスプローラーから、**プロジェクトメソッドを右クリック** > **プロパティを編集...** で、メソッドプロパティダイアログを開きます。 +2. **REST サーバー** オプションがチェックされていることを確認します。 -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +**スコープ** > **カタログ** を選択すると、プロジェクトメソッドが DataStoreクラスの関数として指定されます。 この場合、テーブル (データクラス) には割り当てられません。 -## Opening Qodly Studio +## Qodly Studio を開く The Qodly Studio page is available when the [WebAdmin web server is running](../Admin/webAdmin.md#start-and-stop) and authentication is activated (see above). From bbaa817b4e9344b6577e49d7a5153f5f231eef8c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 8 Sep 2023 13:38:58 +0200 Subject: [PATCH 079/265] New translations qodly-studio.md (Japanese) --- .../version-20-R2/WebServer/qodly-studio.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md index ebbaafd44678dd..a5f266d338e20e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md @@ -62,79 +62,79 @@ Qodly Studio へのアクセスを有効化するには、2つのレベルで明 #### 4Dレベルで -As a first security level, you need to [allow access to Qodly Studio on the WebAdmin web server](../Admin/webAdmin.md#enable-access-to-qodly-studio). +最初のセキュリティレベルとして、[WebAdmin Webサーバーで Qodly Studio へのアクセスを許可](../Admin/webAdmin.md#qodly-studio-へのアクセスを有効化する) する必要があります。 -This setting applies to the 4D application (4D or 4D Server) on the host machine. All projects opened with that 4D application take this setting into account. +この設定は、ホストマシンの 4Dアプリケーション (4D または 4D Server) が対象となります。 つまり、その 4Dアプリケーションで開くすべてのプロジェクトで、この設定が適用されます。 -Keep this option unchecked if you want to make sure no access to Qodly Studio is allowed on the application. +アプリケーション上で Qodly Studio へのアクセスを許可しない場合は、このオプションをオフにします。 -Check this option to make it possible to access Qodly Studio. However, you still need to enable it at every project level. +このオプションにチェックを入れると、Qodly Studio にアクセスできるようになります。 さらに、各プロジェクトのレベルでも許可が必要です。 -Additionally, you can [configure the WebAdmin web server's HTTP/HTTPS port used](../Admin/webAdmin.md#accept-http-connections-on-localhost). +さらに、[WebAdmin Webサーバーの HTTP/HTTPS ポートを設定](../Admin/webAdmin.md#ローカルホストでhttp接続を受け入れる) することもできます。 :::note -After any change to these settings, you must [restart the WebAdmin web server](../Admin/webAdmin.md#start-and-stop) for the new configuration to be effective. +これらの設定を変更した後、新しい設定を有効にするには、[WebAdmin Web サーバー](../Admin/webAdmin.md#開始と停止) を再起動する必要があります。 ::: -#### At project level +#### プロジェクトレベルで -After you have enabled access to Qodly Studio at the 4D level, you need to explicitly designate every project that can be accessed. The **Enable access to Qodly Studio** option must be enabled on the [Web Features page of the 4D application's Settings](../settings/web.md#enable-access-to-qodly-studio). +4Dレベルで Qodly Studio へのアクセスを有効にした後、アクセスできるプロジェクトをそれぞれ明示的に指定する必要があります。 **Enable access to Qodly Studio** オプションは、[プロジェクト設定の Web機能ページ](../settings/web.md#qodly-studio-へのアクセスを有効化する) で有効にする必要があります。 -Keep in mind that [user settings](../settings/overview.md) can be defined at several levels, and that priorities apply. +[ユーザー設定](../settings/overview.md) はいくつかのレベルで定義でき、優先順位が適用されることに留意してください。 -### Activating authentication +### 認証を有効化する -Authentication on the WebAdmin web server is granted using an access key. For more details, see [Access key](../Admin/webAdmin.md#access-key). +WebAdmin Webサーバーでの認証には、アクセスキーを使用します。 詳しくは、[アクセスキー](../Admin/webAdmin.md#アクセスキー) を参照ください。 -### Enabling rendering +### レンダリングを有効化する -To enable the rendering of webforms that are created in Qodly Studio, the following options must be set. +Qodly Studio で作成した Webフォームのレンダリングを有効にするには、以下のオプションを設定する必要があります。 -* The 4D project's **Settings** > **Web** > **Web Features** > [**Expose as REST server**](../settings/web.md#exposed-as-rest-server) option must be activated -* The [4D web server](webServer.md) must be running +* 4Dプロジェクトの **設定** > **Web** > **Web機能** > [**RESTサーバーとして公開**](../settings/web.md#restサーバーとして公開) オプションを有効にする必要があります。 +* [4D Webサーバー](webServer.md) を起動しておく必要があります。 -When rendering webforms in the Web Studio, the renderer will connect to the 4D web server through HTTP or HTTPS, depending on the settings, following the same HTTP/HTTPS connection pattern as for the [WebAdmin web server](../Admin/webAdmin.md#accept-http-connections-on-localhost). +Qodly Studio で Webフォームをレンダリングする際、レンダラーは設定により、[WebAdmin Webサーバー](../Admin/webAdmin.md#ローカルホストでhttp接続を受け入れる) と同じ HTTP/HTTPS 接続パターンに従って、HTTP または HTTPS で 4D Webサーバーに接続します。 :::info -See [this page](https://developer.qodly.com/docs/studio/rendering) for information on how to render webforms in Qodly. +Qodly で Webフォームをレンダリングする方法については [このページ](https://developer.qodly.com/docs/studio/rendering) を参照ください。 ::: -Note that when you click on the "Preview in a new tab" button, a tab will open at `IP:port/$lib/renderer/?w=WebFormName` on your machine. +"新しいタブでプレビュー" ボタンをクリックすると、マシン上で `IP:port/$lib/renderer/?w=WebFormName` のタブが開くことに注意してください。 -Keep in mind that the Qodly Web Studio runs through the 4D WebAdmin web server. When you use Qodly Web Studio as a developer, even when you preview a webform in the studio, you're using the 4D WebAdmin web server. This allows you to see dataclasses, functions and attributes that are not exposed as REST resources for example (they are greyed out). +Qodly Studio は、4D WebAdmin Webサーバーを通して動作することに留意してください。 開発者として Qodly Studio を使用する場合、Webフォームをプレビューするには、4D WebAdmin Webサーバーを使用することになります。 これにより、たとえば RESTリソースとして公開されていないデータクラス、関数、属性を (グレーアウトされた状態で) 見ることができます。 -However, webform rendering happens outside 4D Web Studio, and is served by the standard 4D web server. In this situation, your web application cannot access assets that are not exposed as REST resources. See [Exposed vs non-exposed functions](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) and [Exposing tables](../REST/configuration.md#exposing-tables) for more information on how to expose assets. +しかし、実際の Webフォームのレンダリングは 4D Web Studio の外でおこなわれ、標準の 4D Webサーバーによって処理されます。 このような状況では、Webアプリケーションは RESTリソースとして公開されていないデータにアクセスできません。 [公開vs非公開関数](../ORDA/ordaClasses.md#公開vs非公開関数) および [テーブルの公開](../REST/configuration.md#テーブルの公開) を参照ください。 :::note -[Renderer buttons](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) are hidden if the configuration options are not activated. +設定オプションが有効になっていない場合、[レンダラー ボタン](https://developer.qodly.com/docs/studio/rendering#how-to-render-a-webform) は非表示です。 ::: -### WebAdmin server and deployment +### WebAdminサーバーと運用 -For deployment, the WebAdmin server is not necessary. End-user access to your web application made with Qodly Studio is based on the 4D REST protocol, and as such, it works as through a conventional 4D remote application. +運用には、WebAdminサーバーは必要ありません。 Qodly Studio で作成された Webアプリケーションへのエンドユーザーアクセスは、4D RESTプロトコルに基づいているため、従来の 4Dリモートアプリケーションと同様に動作します。 -### Using project methods +### プロジェクトメソッドを使用する -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. +メソッドよりクラス関数の使用が推奨されますが、プロジェクトメソッドを REST関数として使用することは可能です。 -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. +Qodly Studio で使用するには、プロジェクトメソッドを DataStore、DataClass、Entity または EntitySelection クラスの関数として定義する必要があります。 -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. +REST関数としてメソッドが利用可能かどうかを確認するには: +1. 4Dアプリケーションのエクスプローラーから、**プロジェクトメソッドを右クリック** > **プロパティを編集...** で、メソッドプロパティダイアログを開きます。 +2. **REST サーバー** オプションがチェックされていることを確認します。 -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +**スコープ** > **カタログ** を選択すると、プロジェクトメソッドが DataStoreクラスの関数として指定されます。 この場合、テーブル (データクラス) には割り当てられません。 -## Opening Qodly Studio +## Qodly Studio を開く The Qodly Studio page is available when the [WebAdmin web server is running](../Admin/webAdmin.md#start-and-stop) and authentication is activated (see above). From f8985e56a3aff06d577e6330eeef2195e6db2e76 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:42:52 +0200 Subject: [PATCH 080/265] New translations CollectionClass.md (French) --- .../current/API/CollectionClass.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md index c6070b0d1d3ee1..bdf11d30d00c90 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -57,6 +57,7 @@ Une collection est initialisée avec : | [](#map)    | | [](#max)    | | [](#min)    | +| [](#multisort)    | | [](#orderby)    | | [](#orderbymethod)    | | [](#pop)    | @@ -2195,6 +2196,144 @@ Si la collection est vide, `.min()` retourne *Undefined*. + +## .multiSort() + +
    Historique + +| Version | Modifications | +| ------- | ------------- | +| v20 R3 | Ajout | + +
    + +**.multiSort**() : Collection
    **.multiSort**( *colsToSort* : Collection ) : Collection
    **.multiSort**( *formula* : 4D.Function ; *colsToSort* : Collection ) : Collection + + + +| Paramètres | Type | | Description | +| ---------- | ----------- |:--:| ----------------------------------------------------------------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| colsToSort | Collection | -> | Collection of collections and/or objects with {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties | +| Résultat | Collection | <- | Collection d'origine triée| + + +| + + +#### Description + +The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections. +> This function modifies the original collection as well as all collections used in *colsToSort* parameter. + +If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. Les types sont renvoyés dans l'ordre suivant : + +1. Null +2. booléens +3. chaînes +4. nombres +5. objets +6. collections +7. dates + + +**Single-level synchronized sort** + +To sort several collections synchronously, just pass in *colsToSort* a collection of collections to sort. You can pass an unlimited number of collections. The original collection will be sorted in ascending order and all *colsToSort* collections will be sorted in a synchronized manner. + +:::note + +All *colsToSort* collections must have the same number of elements, otherwise an error is returned. + +::: + +If you want to sort the collections in some other order than ascending, you must supply a *formula* ([Formula object](FunctionClass.md#formula) that defines the sort order. The return value should be a boolean that indicates the relative order of the two elements: **True** if *$1.value* is less than *$1.value2*, **False** if *$1.value* is greater than *$1.value2*. You can provide additional parameters to the formula if necessary. + +The formula receives the following parameters: + +- $1 (object), où : + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer +- $2...$N (tout type) : paramètres supplémentaires (extraParam) + +**Multi-level synchronized sort** + +Defining a multi-level synchronized sort requires that you pass an object containing {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties instead of the *colToSort* itself for every collection to use as sub-level. + +The sort levels are determined by the order in which the collections are passed in the *colsToSort* parameter: the position of a `collection`/`order` object in the syntax determines its sort level. + +:::note + +The `.multiSort()` function uses a [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) sort algorithm. + +::: + +#### Exemple 1 + +A simple synchronized sort of collections with different value types: + +```4d +var $col;$col2;$col3 : Collection +$col:=["A"; "C"; "B"] +$col2:=[1; 2; 3] +$col3:=[["Jim"; "Philip"; "Maria"]; ["blue"; "green"]; ["11"; 22; "33"]] + +$col.multiSort([$col2; $col3]) +//$col=["A","B","C"] +//$col2=[1,3,2] +//$col3[0]=["Jim","Philip","Maria"] +//$col3[1]=["11",22,"33"] +//$col3[2]=["blue","green"] + +``` + +#### Exemple 2 + +You want to sort three synchronized collections: city, country, and continent. You want an ascending sort of the first and the third collections, and synchronization for the second collection: + +```4d +var $city : Collection +var $country : Collection +var $continent : Collection + +$city:=["Paris"; "Lyon"; "Rabat"; "Eching"; "San Diego"] +$country:=["France"; "France"; "Morocco"; "Germany"; "US"] +$continent:=["Europe"; "Europe"; "Africa"; "Europe"; "America"] + +$continent.multiSort($country; {collection: $city; order: ck ascending}) +//$continent=["Africa", "America","Europe","Europe","Europe"] +//$country=["Morocco", "US","Germany","France","France"] +//$city=["Rabat","San Diego","Eching","Lyon","Paris"] + +``` + +#### Exemple 3 + +You can also synchronize collections of objects. + +```4d +var $name : Collection +var $address : Collection +$name:=[] +$name.push({firstname: "John"; lastname: "Smith"}) +$name.push({firstname: "Alain"; lastname: "Martin"}) +$name.push({firstname: "Jane"; lastname: "Doe"}) +$name.push({firstname: "John"; lastname: "Doe"}) +$address:=[] +$address.push({city: "Paris"; country: "France"}) +$address.push({city: "Lyon"; country: "France"}) +$address.push({city: "Eching"; country: "Germany"}) +$address.push({city: "Berlin"; country: "Germany"}) + +$name.multiSort(Formula($1.value.firstname<$1.value2.firstname); $address) +//["Alain Martin","Jane Doe","John Smith","John Doe"] +//["Lyon France","Eching Germany","Paris France","Berlin Germany"] + +``` + + + + @@ -2326,6 +2465,7 @@ Tri avec un chemin de propriété : Tri avec un chemin de propriété : ```4d + var $crit; $c; $c2 : Collection $c:=New collection $c.push(New object("name";"Cleveland";"phones";New object("p1";"01";"p2";"02"))) @@ -3010,6 +3150,7 @@ Par défaut, les nouveaux éléments sont remplis par des valeurs **null**. Vous + | Paramètres | Type | | Description | | ---------- | ---------- |:--:| ---------------------------------------------------------- | | Résultat | Collection | <- | Copie inversée de la collection| @@ -3194,6 +3335,7 @@ Elle peut définir le(s) paramètre(s) suivant(s) : * (obligatoire si vous avez utilisé une méthode) *$1.result* (booléen) : **true** si l'évaluation de la valeur de l'élément est à vrai, **false** sinon. * *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. La valeur retournée est la dernière calculée. + Dans tous les cas, au moment où la fonction `.some()` rencontre le premier élément de la collection retournant true, elle arrête d'appeler la callback et retourne **true**. Par défaut, `.some()` évalue l'ensemble de la collection. Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer la recherche dans *startFrom*. From e3ceff4ede941179f778c7f29825f2e07e619e6d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:42:58 +0200 Subject: [PATCH 081/265] New translations CollectionClass.md (Spanish) --- .../current/API/CollectionClass.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md index 2ee4742079cac9..3443458ff90970 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -57,6 +57,7 @@ Una colección se inicializa con: | [](#map)    | | [](#max)    | | [](#min)    | +| [](#multisort)    | | [](#orderby)    | | [](#orderbymethod)    | | [](#pop)    | @@ -2200,6 +2201,144 @@ Si la colección está vacía, `.min()` devuelve *Undefined*. + +## .multiSort() + +
    Histórico + +| Versión | Modificaciones | +| ------- | -------------- | +| v20 R3 | Añadidos | + +
    + +**.multiSort**() : Collection
    **.multiSort**( *colsToSort* : Collection ) : Collection
    **.multiSort**( *formula* : 4D.Function ; *colsToSort* : Collection ) : Collection + + + +| Parámetros | Tipo | | Descripción | +| ---------- | ----------- |:--:| ----------------------------------------------------------------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objeto formula | +| colsToSort | Collection | -> | Collection of collections and/or objects with {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties | +| Result | Collection | <- | Colección original ordenada| + + +| + + +#### Descripción + +The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections. +> This function modifies the original collection as well as all collections used in *colsToSort* parameter. + +If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. Si *attributePath* lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después. + +1. null +2. booleans +3. cadenas +4. numbers +5. objects +6. collections +7. dates + + +**Single-level synchronized sort** + +To sort several collections synchronously, just pass in *colsToSort* a collection of collections to sort. You can pass an unlimited number of collections. The original collection will be sorted in ascending order and all *colsToSort* collections will be sorted in a synchronized manner. + +:::note + +All *colsToSort* collections must have the same number of elements, otherwise an error is returned. + +::: + +If you want to sort the collections in some other order than ascending, you must supply a *formula* ([Formula object](FunctionClass.md#formula) that defines the sort order. The return value should be a boolean that indicates the relative order of the two elements: **True** if *$1.value* is less than *$1.value2*, **False** if *$1.value* is greater than *$1.value2*. You can provide additional parameters to the formula if necessary. + +The formula receives the following parameters: + +- $1 (objeto), donde: + - *$1.value* (todo tipo): primer valor del elemento a comparar + - *$1.value2* (todo tipo): segundo valor del elemento a comparar +- $2...$N (cualquier tipo): parámetros adicionales + +**Multi-level synchronized sort** + +Defining a multi-level synchronized sort requires that you pass an object containing {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties instead of the *colToSort* itself for every collection to use as sub-level. + +The sort levels are determined by the order in which the collections are passed in the *colsToSort* parameter: the position of a `collection`/`order` object in the syntax determines its sort level. + +:::note + +The `.multiSort()` function uses a [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) sort algorithm. + +::: + +#### Ejemplo 1 + +A simple synchronized sort of collections with different value types: + +```4d +var $col;$col2;$col3 : Collection +$col:=["A"; "C"; "B"] +$col2:=[1; 2; 3] +$col3:=[["Jim"; "Philip"; "Maria"]; ["blue"; "green"]; ["11"; 22; "33"]] + +$col.multiSort([$col2; $col3]) +//$col=["A","B","C"] +//$col2=[1,3,2] +//$col3[0]=["Jim","Philip","Maria"] +//$col3[1]=["11",22,"33"] +//$col3[2]=["blue","green"] + +``` + +#### Ejemplo 2 + +You want to sort three synchronized collections: city, country, and continent. You want an ascending sort of the first and the third collections, and synchronization for the second collection: + +```4d +var $city : Collection +var $country : Collection +var $continent : Collection + +$city:=["Paris"; "Lyon"; "Rabat"; "Eching"; "San Diego"] +$country:=["France"; "France"; "Morocco"; "Germany"; "US"] +$continent:=["Europe"; "Europe"; "Africa"; "Europe"; "America"] + +$continent.multiSort($country; {collection: $city; order: ck ascending}) +//$continent=["Africa", "America","Europe","Europe","Europe"] +//$country=["Morocco", "US","Germany","France","France"] +//$city=["Rabat","San Diego","Eching","Lyon","Paris"] + +``` + +#### Ejemplo 3 + +You can also synchronize collections of objects. + +```4d +var $name : Collection +var $address : Collection +$name:=[] +$name.push({firstname: "John"; lastname: "Smith"}) +$name.push({firstname: "Alain"; lastname: "Martin"}) +$name.push({firstname: "Jane"; lastname: "Doe"}) +$name.push({firstname: "John"; lastname: "Doe"}) +$address:=[] +$address.push({city: "Paris"; country: "France"}) +$address.push({city: "Lyon"; country: "France"}) +$address.push({city: "Eching"; country: "Germany"}) +$address.push({city: "Berlin"; country: "Germany"}) + +$name.multiSort(Formula($1.value.firstname<$1.value2.firstname); $address) +//["Alain Martin","Jane Doe","John Smith","John Doe"] +//["Lyon France","Eching Germany","Paris France","Berlin Germany"] + +``` + + + + @@ -2331,6 +2470,7 @@ Ordenar una colección de objetos utilizando una colección de objetos criterio: Ordenar con una ruta de propiedad: ```4d + var $crit; $c; $c2 : Collection $c:=New collection $c.push(New object("name";"Cleveland";"phones";New object("p1";"01";"p2";"02"))) @@ -3015,6 +3155,7 @@ Por defecto, los nuevos elementos se llenan con valores **null**. Puede especifi + | Parámetros | Tipo | | Descripción | | ---------- | ---------- |:--:| ---------------------------------------------------------- | | Result | Collection | <- | Copia invertida de la colección| @@ -3199,6 +3340,7 @@ Puede definir los siguientes parámetros: * (obligatorio si se ha utilizado un método) *$1.result* (booleano): **true** si la evaluación del valor del elemento es éxitoso, **false** en caso contrario. * *$1.stop* (boolean, opcional): **true** para detener la retrollamada del método. El valor devuelto es el último calculado. + En todo caso, en el momento en que la función `.some()` encuentra el primer elemento de la colección que devuelve true, deja de llamar a la llamada de retorno y devuelve **true**. Por defecto, `.some()` comprueba toda la colección. Opcionalmente, puede pasar el índice de un elemento desde el cual iniciar la prueba en *startFrom*. From 749be2911ddc2efa423ec690af26f6cb9f32ac52 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:01 +0200 Subject: [PATCH 082/265] New translations webAdmin.md (Spanish) --- .../docusaurus-plugin-content-docs/current/Admin/webAdmin.md | 4 ++-- 1 file changed, 2 insertions(+), 2 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 3c91b2b6fdda96..97cac1754c0e27 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md @@ -69,7 +69,7 @@ Se muestra la siguiente caja de diálogo: ![alt-text](../assets/en/Admin/waSettings2.png) -#### Launch WebAdmin server at startup +#### Iniciar el servidor WebAdmin al inicio Marque esta opción para lanzar el servidor web `WebAdmin` automáticamente cuando se inicie la aplicación 4D o 4D Server (ver [arriba](#lanzamiento-al-inicio)). Por defecto, esta opción no está seleccionada. @@ -122,7 +122,7 @@ Una llave de acceso es similar a una contraseña pero no está asociada a un ini - 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**. -#### Enable access to Qodly Studio +#### Activar el acceso a Qodly Studio :::note From 542cb83474aac07339045e076915215998d3751a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:08 +0200 Subject: [PATCH 083/265] New translations web.md (Spanish) --- i18n/es/docusaurus-plugin-content-docs/current/settings/web.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md index ea46ee7d5064d1..a37b89b22b37b4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md @@ -299,7 +299,7 @@ Esta opción especifica un grupo de usuarios 4D que está autorizado a establece ### Qodly Studio -#### Enable access to Qodly Studio +#### Activar el acceso a Qodly Studio :::note From 89b2d9210989ef10172e29d78726c5ec024f47ee Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:10 +0200 Subject: [PATCH 084/265] New translations webAdmin.md (Spanish) --- .../version-20-R2/Admin/webAdmin.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md index 3c91b2b6fdda96..97cac1754c0e27 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md @@ -69,7 +69,7 @@ Se muestra la siguiente caja de diálogo: ![alt-text](../assets/en/Admin/waSettings2.png) -#### Launch WebAdmin server at startup +#### Iniciar el servidor WebAdmin al inicio Marque esta opción para lanzar el servidor web `WebAdmin` automáticamente cuando se inicie la aplicación 4D o 4D Server (ver [arriba](#lanzamiento-al-inicio)). Por defecto, esta opción no está seleccionada. @@ -122,7 +122,7 @@ Una llave de acceso es similar a una contraseña pero no está asociada a un ini - 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**. -#### Enable access to Qodly Studio +#### Activar el acceso a Qodly Studio :::note From 14672ef86c6024baecc6938d5a2185134f08c7b2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:18 +0200 Subject: [PATCH 085/265] New translations CollectionClass.md (German) --- .../current/API/CollectionClass.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/de/docusaurus-plugin-content-docs/current/API/CollectionClass.md index c4c5efa4915be7..4c8112033510ca 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -57,6 +57,7 @@ A collection is initialized with: | [](#map)    | | [](#max)    | | [](#min)    | +| [](#multisort)    | | [](#orderby)    | | [](#orderbymethod)    | | [](#pop)    | @@ -2195,6 +2196,144 @@ If the collection is empty, `.min()` returns *Undefined*. + +## .multiSort() + +
    History + +| Version | Changes | +| ------- | ------- | +| v20 R3 | Added | + +
    + +**.multiSort**() : Collection
    **.multiSort**( *colsToSort* : Collection ) : Collection
    **.multiSort**( *formula* : 4D.Function ; *colsToSort* : Collection ) : Collection + + + +| Parameter | Typ | | Beschreibung | +| ---------- | ----------- |:--:| ----------------------------------------------------------------------------------------------------------------------------- | +| formula | 4D.Function | -> | Formula object | +| colsToSort | Collection | -> | Collection of collections and/or objects with {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties | +| Ergebnis | Collection | <- | Original collection sorted| + + +| + + +#### Beschreibung + +The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections. +> This function modifies the original collection as well as all collections used in *colsToSort* parameter. + +If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. Types are returned in the following order: + +1. Null +2. booleans +3. strings +4. numbers +5. objekte +6. collections +7. dates + + +**Single-level synchronized sort** + +To sort several collections synchronously, just pass in *colsToSort* a collection of collections to sort. You can pass an unlimited number of collections. The original collection will be sorted in ascending order and all *colsToSort* collections will be sorted in a synchronized manner. + +:::note + +All *colsToSort* collections must have the same number of elements, otherwise an error is returned. + +::: + +If you want to sort the collections in some other order than ascending, you must supply a *formula* ([Formula object](FunctionClass.md#formula) that defines the sort order. The return value should be a boolean that indicates the relative order of the two elements: **True** if *$1.value* is less than *$1.value2*, **False** if *$1.value* is greater than *$1.value2*. You can provide additional parameters to the formula if necessary. + +The formula receives the following parameters: + +- $1 (object), where: + - *$1.value* (any type): first element value to be compared + - *$1.value2* (any type): second element value to be compared +- $2...$N (any type): extra parameters + +**Multi-level synchronized sort** + +Defining a multi-level synchronized sort requires that you pass an object containing {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties instead of the *colToSort* itself for every collection to use as sub-level. + +The sort levels are determined by the order in which the collections are passed in the *colsToSort* parameter: the position of a `collection`/`order` object in the syntax determines its sort level. + +:::note + +The `.multiSort()` function uses a [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) sort algorithm. + +::: + +#### Beispiel 1 + +A simple synchronized sort of collections with different value types: + +```4d +var $col;$col2;$col3 : Collection +$col:=["A"; "C"; "B"] +$col2:=[1; 2; 3] +$col3:=[["Jim"; "Philip"; "Maria"]; ["blue"; "green"]; ["11"; 22; "33"]] + +$col.multiSort([$col2; $col3]) +//$col=["A","B","C"] +//$col2=[1,3,2] +//$col3[0]=["Jim","Philip","Maria"] +//$col3[1]=["11",22,"33"] +//$col3[2]=["blue","green"] + +``` + +#### Beispiel 2 + +You want to sort three synchronized collections: city, country, and continent. You want an ascending sort of the first and the third collections, and synchronization for the second collection: + +```4d +var $city : Collection +var $country : Collection +var $continent : Collection + +$city:=["Paris"; "Lyon"; "Rabat"; "Eching"; "San Diego"] +$country:=["France"; "France"; "Morocco"; "Germany"; "US"] +$continent:=["Europe"; "Europe"; "Africa"; "Europe"; "America"] + +$continent.multiSort($country; {collection: $city; order: ck ascending}) +//$continent=["Africa", "America","Europe","Europe","Europe"] +//$country=["Morocco", "US","Germany","France","France"] +//$city=["Rabat","San Diego","Eching","Lyon","Paris"] + +``` + +#### Beispiel 3 + +You can also synchronize collections of objects. + +```4d +var $name : Collection +var $address : Collection +$name:=[] +$name.push({firstname: "John"; lastname: "Smith"}) +$name.push({firstname: "Alain"; lastname: "Martin"}) +$name.push({firstname: "Jane"; lastname: "Doe"}) +$name.push({firstname: "John"; lastname: "Doe"}) +$address:=[] +$address.push({city: "Paris"; country: "France"}) +$address.push({city: "Lyon"; country: "France"}) +$address.push({city: "Eching"; country: "Germany"}) +$address.push({city: "Berlin"; country: "Germany"}) + +$name.multiSort(Formula($1.value.firstname<$1.value2.firstname); $address) +//["Alain Martin","Jane Doe","John Smith","John Doe"] +//["Lyon France","Eching Germany","Paris France","Berlin Germany"] + +``` + + + + @@ -2326,6 +2465,7 @@ Ordering a collection of objects using a collection of criteria objects: Ordering with a property path: ```4d + var $crit; $c; $c2 : Collection $c:=New collection $c.push(New object("name";"Cleveland";"phones";New object("p1";"01";"p2";"02"))) @@ -3010,6 +3150,7 @@ By default, new elements are filled will **null** values. You can specify the va + | Parameter | Typ | | Beschreibung | | --------- | ---------- |:--:| ---------------------------------------------------------- | | Ergebnis | Collection | <- | Inverted copy of the collection| @@ -3194,6 +3335,7 @@ It can set the following parameter(s): * (mandatory if you used a method) *$1.result* (boolean): **true** if the element value evaluation is successful, **false** otherwise. * *$1.stop* (boolean, optional): **true** to stop the method callback. The returned value is the last calculated. + In any case, at the point where `.some()` function encounters the first collection element returning true, it stops calling the callback and returns **true**. By default, `.some()` tests the whole collection. Optionally, you can pass the index of an element from which to start the test in *startFrom*. From 323e6fb0733e8313711703e73dcab18ca999b8ed Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:24 +0200 Subject: [PATCH 086/265] New translations CollectionClass.md (Japanese) --- .../current/API/CollectionClass.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md index 9bb875c910c04e..f003c72fc12a41 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -57,6 +57,7 @@ Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変 | [](#map)    | | [](#max)    | | [](#min)    | +| [](#multisort)    | | [](#orderby)    | | [](#orderbymethod)    | | [](#pop)    | @@ -2195,6 +2196,144 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum()) + +## .multiSort() + +
    履歴 + +| バージョン | 内容 | +| ------ | -- | +| v20 R3 | 追加 | + +
    + +**.multiSort**() : Collection
    **.multiSort**( *colsToSort* : Collection ) : Collection
    **.multiSort**( *formula* : 4D.Function ; *colsToSort* : Collection ) : Collection + + + +| 引数 | タイプ | | 説明 | +| ---------- | ----------- |:--:| ----------------------------------------------------------------------------------------------------------------------------- | +| formula | 4D.Function | -> | フォーミュラオブジェクト | +| colsToSort | Collection | -> | Collection of collections and/or objects with {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties | +| 戻り値 | Collection | <- | 並べ替えられた元のコレクション| + + +| + + +#### 説明 + +The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections。 +> This function modifies the original collection as well as all collections used in *colsToSort* parameter. + +If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. 型は以下の順番で返されます: + +1. null +2. ブール +3. 文字列 +4. 数値 +5. オブジェクト +6. コレクション +7. 日付 + + +**Single-level synchronized sort** + +To sort several collections synchronously, just pass in *colsToSort* a collection of collections to sort. You can pass an unlimited number of collections. The original collection will be sorted in ascending order and all *colsToSort* collections will be sorted in a synchronized manner. + +:::note + +All *colsToSort* collections must have the same number of elements, otherwise an error is returned. + +::: + +If you want to sort the collections in some other order than ascending, you must supply a *formula* ([Formula object](FunctionClass.md#formula) that defines the sort order. 戻り値は、二つの要素の相対的な順番を示すブール値です。*$1.value* が *$1.value2* より小さい場合に **true** を、*$1.value* が *$1.value2* より大きい場合に **false** を返します。 You can provide additional parameters to the formula if necessary. + +The formula receives the following parameters: + +- $1 (オブジェクト): + - *$1.value* (任意の型): 比較する一つ目の要素の値 + - *$1.value2* (任意の型): 比較する二つ目の要素の値 +- $2...$N (任意の型): 追加の引数 + +**Multi-level synchronized sort** + +Defining a multi-level synchronized sort requires that you pass an object containing {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties instead of the *colToSort* itself for every collection to use as sub-level. + +The sort levels are determined by the order in which the collections are passed in the *colsToSort* parameter: the position of a `collection`/`order` object in the syntax determines its sort level. + +:::note + +The `.multiSort()` function uses a [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) sort algorithm. + +::: + +#### 例題 1 + +A simple synchronized sort of collections with different value types: + +```4d +var $col;$col2;$col3 : Collection +$col:=["A"; "C"; "B"] +$col2:=[1; 2; 3] +$col3:=[["Jim"; "Philip"; "Maria"]; ["blue"; "green"]; ["11"; 22; "33"]] + +$col.multiSort([$col2; $col3]) +//$col=["A","B","C"] +//$col2=[1,3,2] +//$col3[0]=["Jim","Philip","Maria"] +//$col3[1]=["11",22,"33"] +//$col3[2]=["blue","green"] + +``` + +#### 例題 2 + +You want to sort three synchronized collections: city, country, and continent. You want an ascending sort of the first and the third collections, and synchronization for the second collection: + +```4d +var $city : Collection +var $country : Collection +var $continent : Collection + +$city:=["Paris"; "Lyon"; "Rabat"; "Eching"; "San Diego"] +$country:=["France"; "France"; "Morocco"; "Germany"; "US"] +$continent:=["Europe"; "Europe"; "Africa"; "Europe"; "America"] + +$continent.multiSort($country; {collection: $city; order: ck ascending}) +//$continent=["Africa", "America","Europe","Europe","Europe"] +//$country=["Morocco", "US","Germany","France","France"] +//$city=["Rabat","San Diego","Eching","Lyon","Paris"] + +``` + +#### 例題 3 + +You can also synchronize collections of objects. + +```4d +var $name : Collection +var $address : Collection +$name:=[] +$name.push({firstname: "John"; lastname: "Smith"}) +$name.push({firstname: "Alain"; lastname: "Martin"}) +$name.push({firstname: "Jane"; lastname: "Doe"}) +$name.push({firstname: "John"; lastname: "Doe"}) +$address:=[] +$address.push({city: "Paris"; country: "France"}) +$address.push({city: "Lyon"; country: "France"}) +$address.push({city: "Eching"; country: "Germany"}) +$address.push({city: "Berlin"; country: "Germany"}) + +$name.multiSort(Formula($1.value.firstname<$1.value2.firstname); $address) +//["Alain Martin","Jane Doe","John Smith","John Doe"] +//["Lyon France","Eching Germany","Paris France","Berlin Germany"] + +``` + + + + @@ -2326,6 +2465,7 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum()) プロパティパスで並べ替えます: ```4d + var $crit; $c; $c2 : Collection $c:=New collection $c.push(New object("name";"Cleveland";"phones";New object("p1";"01";"p2";"02"))) @@ -3005,6 +3145,7 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400 + | 引数 | タイプ | | 説明 | | --- | ---------- |:--:| ---------------------------------------------- | | 戻り値 | Collection | <- | 逆順に要素を格納した新しいコレクション| @@ -3189,6 +3330,7 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400 * (メソッドを使用する場合は必須) *$1.result* (ブール): 要素の値の評価が成功した場合には **true** 、それ以外は **false** * *$1.stop* (ブール、任意): メソッドコールバックを止める場合には **true**。 返された値は最後に計算されたものです。 + `.some()` 関数は、true を返す最初のコレクション要素を発見すると、コールバックの呼び出しをやめて **true** を返します。 デフォルトでは、`.some()` はコレクション全体をテストします。 オプションとして、*startFrom* 引数を渡すことで、テストを開始するコレクション要素のインデックスを指定することができます。 From 954aec4436bea9021ac01681e779a480a7739e8e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:30 +0200 Subject: [PATCH 087/265] New translations CollectionClass.md (Portuguese, Brazilian) --- .../current/API/CollectionClass.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md index 7b7f469aad0c6b..b961dbf695b329 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -57,6 +57,7 @@ Uma coleção se inicializa com: | [](#map)    | | [](#max)    | | [](#min)    | +| [](#multisort)    | | [](#orderby)    | | [](#orderbymethod)    | | [](#pop)    | @@ -2161,6 +2162,144 @@ Se a coleção estiver vazia, `.min()` devolve *Undefined*. + +## .multiSort() + +
    Histórico + +| Versão | Mudanças | +| ------ | ---------- | +| v20 R3 | Adicionado | + +
    + +**.multiSort**() : Collection
    **.multiSort**( *colsToSort* : Collection ) : Collection
    **.multiSort**( *formula* : 4D.Function ; *colsToSort* : Collection ) : Collection + + + +| Parâmetro | Tipo | | Descrição | +| ---------- | ------------ |:--:| ----------------------------------------------------------------------------------------------------------------------------- | +| formula | 4D. Function | -> | Objecto fórmula | +| colsToSort | Collection | -> | Collection of collections and/or objects with {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties | +| Resultados | Collection | <- | Colecção original ordenada| + + +| + + +#### Descrição + +The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections. +> This function modifies the original collection as well as all collections used in *colsToSort* parameter. + +If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. Se *attributePath* levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois. + +1. null +2. booleans +3. strings +4. números +5. objetos +6. collections +7. datas + + +**Single-level synchronized sort** + +To sort several collections synchronously, just pass in *colsToSort* a collection of collections to sort. You can pass an unlimited number of collections. The original collection will be sorted in ascending order and all *colsToSort* collections will be sorted in a synchronized manner. + +:::note + +All *colsToSort* collections must have the same number of elements, otherwise an error is returned. + +::: + +If you want to sort the collections in some other order than ascending, you must supply a *formula* ([Formula object](FunctionClass.md#formula) that defines the sort order. The return value should be a boolean that indicates the relative order of the two elements: **True** if *$1.value* is less than *$1.value2*, **False** if *$1.value* is greater than *$1.value2*. You can provide additional parameters to the formula if necessary. + +The formula receives the following parameters: + +- $1 (objeto), onde: + - em *$1.value* (qualquer tipo): primeiro elemento a ser comparado + - em *$1.value2* (qualquer tipo): segundo elemento a ser comparado +- $2...$N (qualquer tipo): parâmetros adicionais + +**Multi-level synchronized sort** + +Defining a multi-level synchronized sort requires that you pass an object containing {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties instead of the *colToSort* itself for every collection to use as sub-level. + +The sort levels are determined by the order in which the collections are passed in the *colsToSort* parameter: the position of a `collection`/`order` object in the syntax determines its sort level. + +:::note + +The `.multiSort()` function uses a [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) sort algorithm. + +::: + +#### Exemplo 1 + +A simple synchronized sort of collections with different value types: + +```4d +var $col;$col2;$col3 : Collection +$col:=["A"; "C"; "B"] +$col2:=[1; 2; 3] +$col3:=[["Jim"; "Philip"; "Maria"]; ["blue"; "green"]; ["11"; 22; "33"]] + +$col.multiSort([$col2; $col3]) +//$col=["A","B","C"] +//$col2=[1,3,2] +//$col3[0]=["Jim","Philip","Maria"] +//$col3[1]=["11",22,"33"] +//$col3[2]=["blue","green"] + +``` + +#### Exemplo 2 + +You want to sort three synchronized collections: city, country, and continent. You want an ascending sort of the first and the third collections, and synchronization for the second collection: + +```4d +var $city : Collection +var $country : Collection +var $continent : Collection + +$city:=["Paris"; "Lyon"; "Rabat"; "Eching"; "San Diego"] +$country:=["France"; "France"; "Morocco"; "Germany"; "US"] +$continent:=["Europe"; "Europe"; "Africa"; "Europe"; "America"] + +$continent.multiSort($country; {collection: $city; order: ck ascending}) +//$continent=["Africa", "America","Europe","Europe","Europe"] +//$country=["Morocco", "US","Germany","France","France"] +//$city=["Rabat","San Diego","Eching","Lyon","Paris"] + +``` + +#### Exemplo 3 + +You can also synchronize collections of objects. + +```4d +var $name : Collection +var $address : Collection +$name:=[] +$name.push({firstname: "John"; lastname: "Smith"}) +$name.push({firstname: "Alain"; lastname: "Martin"}) +$name.push({firstname: "Jane"; lastname: "Doe"}) +$name.push({firstname: "John"; lastname: "Doe"}) +$address:=[] +$address.push({city: "Paris"; country: "France"}) +$address.push({city: "Lyon"; country: "France"}) +$address.push({city: "Eching"; country: "Germany"}) +$address.push({city: "Berlin"; country: "Germany"}) + +$name.multiSort(Formula($1.value.firstname<$1.value2.firstname); $address) +//["Alain Martin","Jane Doe","John Smith","John Doe"] +//["Lyon France","Eching Germany","Paris France","Berlin Germany"] + +``` + + + + @@ -2291,6 +2430,7 @@ Ordenar uma coleção de objetos utilizando uma coleção de objetos critério: Ordenar com uma rota de propriedade: ```4d + var $crit; $c; $c2 : Collection $c:=New collection $c.push(New object("name";"Cleveland";"phones";New object("p1";"01";"p2";"02"))) @@ -2961,6 +3101,7 @@ Por padrão, são preenchidos novos elementos **null** valores. Pode especificar + | Parâmetro | Tipo | | Descrição | | ---------- | ---------- |:--:| ------------------------------------------------------ | | Resultados | Collection | <- | Cópia invertida da colecção| @@ -3147,6 +3288,7 @@ Pode definir o(s) seguinte(s) parâmetro(s): * *$1.result* (boolean): **true** if the element value evaluation is successful, **false** otherwise. * *$1.stop* (boolean, opcional): **true** para parar o callback do método. O valor retornado é o último calculado. + In any case, at the point where `.some()` function encounters the first collection element returning true in *$1.result*, it stops calling *methodName* and returns **true**. Como padrão, `.some()` testa toda a colecção. Opcionalmente pode passar o índice da coleção para a qual iniciar a pesquisa em*startFrom*. From 9d8a661e56f55a8b4c6edaf227ef47820ec745cb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:31 +0200 Subject: [PATCH 088/265] New translations DataClassClass.md (Portuguese, Brazilian) --- .../current/API/DataClassClass.md | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md index bcb680591109a3..e643e23020ce9c 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md @@ -964,9 +964,9 @@ Using placeholders in queries **is recommended** for the following reasons: $result2:=$col.query("company.name = :1";"John's Pizzas") ``` -#### Looking for null values +#### Pesquisa de valores null -When you look for null values, you cannot use the placeholder syntax because the query engine considers null as an unexpected comparison value. For example, if you execute the following query: +Quando pesquisar por valores null não pode usar a sintaxe do marcador de posição porque o motor de consulta considera o valor null como um valor de comparação inesperado. Por exemplo, se executar esta pesquisa: ```4d $vSingles:=ds. Person.query("spouse = :1";Null) // will NOT work @@ -1008,7 +1008,7 @@ ds.Class.info: } ] } ``` -Consider the following results: +Considere os seguintes resultados: ```4d ds.Class.query("info.coll[].val = :1";0) @@ -1033,7 +1033,7 @@ ds.Class.query("info.coll[a].val != :1";0) You can use any letter from the alphabet as the `[a]` notation. -#### Linking collection attribute query arguments +#### Linkar os argumentos de pesquisa com os atributos de coleção :::info @@ -1043,7 +1043,7 @@ This feature is only available in queries on dataclasses and [entity selections] When searching within dataclass object attributes containing collections using multiple query arguments joined by the AND operator, you may want to make sure that only entities containing elements that match all arguments are returned, and not entities where arguments can be found in different elements. To do this, you need to link query arguments to collection elements, so that only single elements containing linked arguments are found. -For example, with the following two entities: +Por exemplo, com as duas entidades abaixo: ``` Entity 1: @@ -1072,12 +1072,12 @@ ds. People.query("places.locations[].kind= :1 and places.locations[].city= :2";" ... the query will return "martin" **and** "smith" because "smith" has a "locations" element whose "kind" is "home" and a "locations" element whose "city" is "paris", even though they are different elements. -If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. To link query arguments: +If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. Para linkar argumentos de pesquisa: * Adicionar uma letra entre os \[] na primeira rota a linkar e repita a mesma letra em todos os argumentos linkados. Por exemplo: `locations[a].city and locations[a].kind`. Pode usar qualquer letra do alfabeto latino (não diferencia maiúsculas e minúsculas). * Para adicionar critérios linkados na mesma pesquisa, use outra letra. Pode criar até 26 combinações de critérios em uma única pesquisa. -With the above entities, if you write: +Com as entidades acima, se escreve: ```4d ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2";"home";"paris") @@ -1086,7 +1086,7 @@ ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2" ... the query will only return "martin" because it has a "locations" element whose "kind" is "home" and whose "city" is "paris". The query will not return "smith" because the values "home" and "paris" are not in the same collection element. -#### Queries in many-to-many relations +#### Consultas em relações Muitos para Muitos ORDA offers a special syntax to facilitate queries in many-to-many relations. In this context, you may need to search for different values with an `AND` operator BUT in the same attribute. For example, take a look at the following structure: @@ -1110,7 +1110,7 @@ To make it possible to perform such queries, ORDA allows a special syntax: you j **{x}** tells ORDA to create another reference for the relation attribute. It will then perform all the necessary bitmap operations internally. Note that **x** can be any number **except 0**: {1}, or {2}, or {1540}... ORDA only needs a unique reference in the query for each class index. -In our example, it would be: +No nosso exemplo, seria: ```4d // valid code @@ -1120,38 +1120,38 @@ $es:=ds. Movie.query("roles.actor.lastName = :1 AND roles.actor{2}.lastName = :2 -#### formula parameter +#### Parâmetro formula -As an alternative to formula insertion within the *queryString* parameter (see above), you can pass directly a formula object as a boolean search criteria. Using a formula object for queries is **recommended** since you benefit from tokenization, and code is easier to search/read. +Como alternativa à inserção de fórmulas dentro do parâmetro *queryString* (ver acima), pode passar diretamente um objeto fórmula como critério de pesquisa booleano. A utilizaçã de um objeto fórmula para as pesquisas é **recomendada** já que se beneficia da tokenização, e o código é mais fácil de pesquisar/ler. -A fórmula deve ter sido criada usando [`Formula`](FunctionClass.md#formula) ou o comando[`Formula from string`](FunctionClass.md#formula-from-string) command. In this case: +A fórmula deve ter sido criada usando [`Formula`](FunctionClass.md#formula) ou o comando[`Formula from string`](FunctionClass.md#formula-from-string) command. Nesse modo: * *fórmula* se avalia para cada entidade e deve devolver true ou false. Durante a execução da pesquisa, se o resultado da fórmula não for booleano, é considerado como False. * dentro da *fórmula*, a entidade está disponível através do objeto `This`. * Se o objeto `Formula` for **null**, o errro 1626 ("Expecting a text or formula") é gerado, então pode interceptar a chamada com o método instalado `ON ERR CALL`. > Por razões de segurança, as chamadas a fórmulas dentro dos métodos `query()` podem ser desativadas. Veja a descrição do parâmetro *querySettings*. -#### Passing parameters to formulas +#### Passar parâmetros a fórmulas -Any *formula* called by the `query()` class function can receive parameters: +Todo parâmetro *formula* chamado pela função `query()` pode receber parâmetros: * Parâmeters devem ser passados através da propriedade **args** (objeto) do parâmetro *querySettings*. * A fórmula recebe este objeto **args** como um parâmetro **$1**. -This small code shows the principles of how parameter are passed to methods: +Este pequeno código mostra os principios de como são passados os parâmetros aos métodos: ```4d $settings:=New object("args";New object("exclude";"-")) //args object to pass parameters $es:=ds. Students.query("eval(checkName($1.exclude))";$settings) //args is received in $1 ``` -Additional examples are provided in example 3. +No exemplo 3 são oferecidos mais exemplos. -**4D Server**: In client/server, formulas are executed on the server. In this context, only the `querySettings.args` object is sent to the formulas. +**4D Server**: em cliente/servidor, as fórmulas são executadas no servidor. Neste contexto, só se envia às fórmulas o objeto `querySettings.args`. -#### querySettings parameter +#### Parâmetro querySettings -In the *querySettings* parameter, you can pass an object containing additional options. The following properties are supported: +No parâmetro *querySettings* é possível passar um objeto que conteha opções adicionais. As propriedades abaixo são compatíveis: | Propriedade | Tipo | Descrição | | ------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -1163,11 +1163,11 @@ In the *querySettings* parameter, you can pass an object containing additional o | queryPlan | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa logo antes de ser executada, ou seja, a pesquisa planificada. A propriedade devolvida é um objeto que inclui cada pesquisa e subpesquisa prevista (no caso de uma pesquisa complexa). Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Geralmente é usada em conjunto com queryPath. Como padrão é omitido: false. **Nota**: esta propriedade só são compatíveis com as funções`entitySelection.query( )` e `dataClass.query( )`. | | queryPath | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa tal qual for realizada. A propriedade retornada é um objeto que contém a rota atual usada para a pesquisa (geralmente idêntica àquela do queryPlan, mas deve diferenciar se o motor consegue otimizar a pesquisa), assim como o tempo de processamento e o número de registros encontrado. Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Como padrão é omitido: false. **Nota**: esta propriedade só são compatíveis com as funções`entitySelection.query( )` e `dataClass.query( )`. | -#### About queryPlan and queryPath +#### Sobre queryPlan e queryPath -The information recorded in `queryPlan`/`queryPath` include the query type (indexed and sequential) and each necessary subquery along with conjunction operators. Query paths also contain the number of entities found and the time required to execute each search criterion. You may find it useful to analyze this information while developing your application(s). Generally, the description of the query plan and its path are identical but they can differ because 4D can implement dynamic optimizations when a query is executed in order to improve performance. For example, the 4D engine can dynamically convert an indexed query into a sequential one if it estimates that it is faster. This particular case can occur when the number of entities being searched for is low. +A informação registrada em `queryPlan`/`queryPath` inclui o tipo de pesquisa (indexada e sequencial) e cada subconsulta necessária junto com os operadores de conjunção. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Geralmente a descrição do plano de pesquisa e sua rota são idênticas, mas podem diferir porque 4D pode implementar otimizações dinâmicas quando uma pesquisa for executada para melhorar desempenho. Por exemplo, o motor 4D pode converter dinamicamente uma consulta indexada em uma consulta sequencial se estimar que seja mais rápido. Esse caso particular pode acontecer quando o número de entidades sendo pesquisada é baixo. -For example, if you execute the following query: +Por exemplo, se executar esta pesquisa: ```4d $sel:=ds. Employee.query("salary < :1 and employer.name = :2 or employer.revenues > :3";\ @@ -1196,46 +1196,46 @@ queryPath: #### Exemplo 1 -This section provides various examples of queries. +Esta seção oferece vários exemplos de pesquisas. -Query on a string: +Consultas em uma string: ```4d $entitySelection:=ds. Customer.query("firstName = 'S@'") ``` -Query with a NOT statement: +Pesquisa com uma instrução NOT: ```4d $entitySelection:=ds. Employee.query("not(firstName=Kim)") ``` -Queries with dates: +Pesquisas com datas: ```4d $entitySelection:=ds. Employee.query("birthDate > :1";"1970-01-01") $entitySelection:=ds. Employee.query("birthDate <= :1";Current date-10950) ``` -Query with indexed placeholders for values: +Pesquisa com marcadores de posição indexados para os valores: ```4d $entitySelection:=ds. Customer.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@") ``` -Query with indexed placeholders for values on a related dataclass: +Pesquisa com marcadores de posição indexados para valores em uma dataclass relacionada: ```4d $entitySelection:=ds. Employee.query("lastName = :1 and manager.lastName = :2";"M@";"S@") ``` -Query with indexed placeholder including a descending order by statement: +Pesquisa com marcador de posição indexado que inclui uma instrução de ordem descendente: ```4d $entitySelection:=ds. Student.query("nationality = :1 order by campus.name desc, lastname";"French") ``` -Query with named placeholders for values: +Pesquisa com marcadores de posição com nome para os valores: ```4d var $querySettings : Object @@ -1254,7 +1254,7 @@ $querySettings.parameters:=New object("userId";1234) $managedCustomers:=ds. Customer.query("salesperson.userId = :userId and name=:1";"Smith";$querySettings) ``` -Query with queryPlan and queryPath objects: +Pesquisa com objetos queryPlan e queryPath: ```4d $entitySelection:=ds. Employee.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@";New object("queryPlan";True;"queryPath";True)) @@ -1265,19 +1265,19 @@ $queryPlan:=$entitySelection.queryPlan $queryPath:=$entitySelection.queryPath ``` -Query with an attribute path of Collection type: +Pesquisa com uma rota de atributo de tipo Collection: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[].name = :1";"horsebackriding") ``` -Query with an attribute path of Collection type and linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[a].level=:2";"horsebackriding";2) ``` -Query with an attribute path of Collection type and multiple linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e múltiplos atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and @@ -1285,25 +1285,25 @@ $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[b].level = :4";"horsebackriding";2;"Tennis";5) ``` -Query with an attribute path of Object type: +Pesquisa com uma rota de atributo de tipo Objeto: ```4d $entitySelection:=ds. Employee.query("extra.eyeColor = :1";"blue") ``` -Query with an IN statement: +Pesquisa com uma instrução IN: ```4d $entitySelection:=ds. Employee.query("firstName in :1";New collection("Kim";"Dixie")) ``` -Query with a NOT (IN) statement: +Pesquisa com instrução NOT (IN): ```4d $entitySelection:=ds. Employee.query("not (firstName in :1)";New collection("John";"Jane")) ``` -Query with indexed placeholders for attributes: +Pesquisa com marcadores de posição indexados para os atributos: ```4d var $es : cs. EmployeeSelection From a1cfaa62d1652acad14e2f95ad3676b16008c29b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:33 +0200 Subject: [PATCH 089/265] New translations EntityClass.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/current/API/EntityClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/EntityClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/EntityClass.md index 298640d5488bcc..59b944068875df 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/EntityClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/EntityClass.md @@ -1698,7 +1698,7 @@ Se nenhum atributo de entidade for tocado, o método retorna uma coleção vazia //collection $touchedAttributes: ["firstName","lastName","employer","employerID"] ``` -In this case: +Nesse modo: * firstName and lastName tem um tipo `storage` * employer tem um tipo `relatedEntity` From 04fc7af3b6c0896cb174f4c66ba32ac61d1574f1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:35 +0200 Subject: [PATCH 090/265] New translations DataClassClass.md (Portuguese, Brazilian) --- .../version-19/API/DataClassClass.md | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/DataClassClass.md index 635bf5a9e47f75..8857f4a04916d9 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/DataClassClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/DataClassClass.md @@ -769,9 +769,9 @@ You can mix all argument kinds in *queryString*. A *queryString* can contain, fo $result2:=$col.query("company.name = :1";"John's Pizzas") ``` -**Looking for null values** +**Pesquisa de valores null** -When you look for null values, you cannot use the placeholder syntax because the query engine considers null as an unexpected comparison value. For example, if you execute the following query: +Quando pesquisar por valores null não pode usar a sintaxe do marcador de posição porque o motor de consulta considera o valor null como um valor de comparação inesperado. Por exemplo, se executar esta pesquisa: ```4d $vSingles:=ds. Person.query("spouse = :1";Null) // will NOT work @@ -814,7 +814,7 @@ ds.Class.info: } ] } ``` -Consider the following results: +Considere os seguintes resultados: ```4d ds.Class.query("info.coll[].val = :1";0) @@ -838,7 +838,7 @@ ds.Class.query("info.coll[a].val != :1";0) You can use any letter from the alphabet as the `[a]` notation. -**Linking collection attribute query arguments** +**Linkar os argumentos de pesquisa com os atributos de coleção** :::info @@ -848,7 +848,7 @@ This feature is only available in queries on dataclasses and [entity selections] When searching within dataclass object attributes containing collections using multiple query arguments joined by the AND operator, you may want to make sure that only entities containing elements that match all arguments are returned, and not entities where arguments can be found in different elements. To do this, you need to link query arguments to collection elements, so that only single elements containing linked arguments are found. -For example, with the following two entities: +Por exemplo, com as duas entidades abaixo: ``` Entity 1: @@ -877,12 +877,12 @@ ds. People.query("places.locations[].kind= :1 and places.locations[].city= :2";" ... the query will return "martin" **and** "smith" because "smith" has a "locations" element whose "kind" is "home" and a "locations" element whose "city" is "paris", even though they are different elements. -If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. To link query arguments: +If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. Para linkar argumentos de pesquisa: * Adicionar uma letra entre os \[] na primeira rota a linkar e repita a mesma letra em todos os argumentos linkados. Por exemplo: `locations[a].city and locations[a].kind`. Pode usar qualquer letra do alfabeto latino (não diferencia maiúsculas e minúsculas). * Para adicionar critérios linkados na mesma pesquisa, use outra letra. Pode criar até 26 combinações de critérios em uma única pesquisa. -With the above entities, if you write: +Com as entidades acima, se escreve: ```4d ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2";"home";"paris") @@ -890,38 +890,38 @@ ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2" ... the query will only return "martin" because it has a "locations" element whose "kind" is "home" and whose "city" is "paris". The query will not return "smith" because the values "home" and "paris" are not in the same collection element. -**formula parameter** +**Parâmetro formula** -As an alternative to formula insertion within the *queryString* parameter (see above), you can pass directly a formula object as a boolean search criteria. Using a formula object for queries is **recommended** since you benefit from tokenization, and code is easier to search/read. +Como alternativa à inserção de fórmulas dentro do parâmetro *queryString* (ver acima), pode passar diretamente um objeto fórmula como critério de pesquisa booleano. A utilizaçã de um objeto fórmula para as pesquisas é **recomendada** já que se beneficia da tokenização, e o código é mais fácil de pesquisar/ler. -The formula must have been created using the `Formula` or `Formula from string` command. In this case: +The formula must have been created using the `Formula` or `Formula from string` command. Nesse modo: * *fórmula* se avalia para cada entidade e deve devolver true ou false. Durante a execução da pesquisa, se o resultado da fórmula não for booleano, é considerado como False. * dentro da *fórmula*, a entidade está disponível através do objeto `This`. * if the `Formula` object is **null**, the errror 1626 ("Expecting a text or formula") is generated, that you call intercept using a method installed with `ON ERR CALL`. > For security reasons, formula calls within `query(`) member methods can be disallowed. Veja a descrição do parâmetro *querySettings*. -**Passing parameters to formulas** +**Passar parâmetros a fórmulas** -Any *formula* called by the `query()` class function can receive parameters: +Todo parâmetro *formula* chamado pela função `query()` pode receber parâmetros: * Parâmeters devem ser passados através da propriedade **args** (objeto) do parâmetro *querySettings*. * A fórmula recebe este objeto **args** como um parâmetro **$1**. -This small code shows the principles of how parameter are passed to methods: +Este pequeno código mostra os principios de como são passados os parâmetros aos métodos: ```4d $settings:=New object("args";New object("exclude";"-")) //args object to pass parameters $es:=ds. Students.query("eval(checkName($1.exclude))";$settings) //args is received in $1 ``` -Additional examples are provided in example 3. +No exemplo 3 são oferecidos mais exemplos. -**4D Server**: In client/server, formulas are executed on the server. In this context, only the `querySettings.args` object is sent to the formulas. +**4D Server**: em cliente/servidor, as fórmulas são executadas no servidor. Neste contexto, só se envia às fórmulas o objeto `querySettings.args`. -**querySettings parameter** +**Parâmetro querySettings** -In the *querySettings* parameter, you can pass an object containing additional options. The following properties are supported: +No parâmetro *querySettings* é possível passar um objeto que conteha opções adicionais. As propriedades abaixo são compatíveis: | Propriedade | Tipo | Descrição | | ------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -933,11 +933,11 @@ In the *querySettings* parameter, you can pass an object containing additional o | queryPlan | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa logo antes de ser executada, ou seja, a pesquisa planificada. A propriedade devolvida é um objeto que inclui cada pesquisa e subpesquisa prevista (no caso de uma pesquisa complexa). Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Geralmente é usada em conjunto com queryPath. Como padrão é omitido: false. **Note**: This property is supported only by the `entitySelection.query( )` and `dataClass.query( )` functions. | | queryPath | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa tal qual for realizada. A propriedade retornada é um objeto que contém a rota atual usada para a pesquisa (geralmente idêntica àquela do queryPlan, mas deve diferenciar se o motor consegue otimizar a pesquisa), assim como o tempo de processamento e o número de registros encontrado. Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Como padrão é omitido: false. **Note**: This property is supported only by the `entitySelection.query( )` and `dataClass.query( )` functions. | -**About queryPlan and queryPath** +**Sobre queryPlan e queryPath** -The information recorded in `queryPlan`/`queryPath` include the query type (indexed and sequential) and each necessary subquery along with conjunction operators. Query paths also contain the number of entities found and the time required to execute each search criterion. You may find it useful to analyze this information while developing your application(s). Generally, the description of the query plan and its path are identical but they can differ because 4D can implement dynamic optimizations when a query is executed in order to improve performance. For example, the 4D engine can dynamically convert an indexed query into a sequential one if it estimates that it is faster. This particular case can occur when the number of entities being searched for is low. +A informação registrada em `queryPlan`/`queryPath` inclui o tipo de pesquisa (indexada e sequencial) e cada subconsulta necessária junto com os operadores de conjunção. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Geralmente a descrição do plano de pesquisa e sua rota são idênticas, mas podem diferir porque 4D pode implementar otimizações dinâmicas quando uma pesquisa for executada para melhorar desempenho. Por exemplo, o motor 4D pode converter dinamicamente uma consulta indexada em uma consulta sequencial se estimar que seja mais rápido. Esse caso particular pode acontecer quando o número de entidades sendo pesquisada é baixo. -For example, if you execute the following query: +Por exemplo, se executar esta pesquisa: ```4d $sel:=ds. Employee.query("salary < :1 and employer.name = :2 or employer.revenues > :3";\ @@ -966,46 +966,46 @@ queryPath: #### Exemplo 1 -This section provides various examples of queries. +Esta seção oferece vários exemplos de pesquisas. -Query on a string: +Consultas em uma string: ```4d $entitySelection:=ds. Customer.query("firstName = 'S@'") ``` -Query with a NOT statement: +Pesquisa com uma instrução NOT: ```4d $entitySelection:=ds. Employee.query("not(firstName=Kim)") ``` -Queries with dates: +Pesquisas com datas: ```4d $entitySelection:=ds. Employee.query("birthDate > :1";"1970-01-01") $entitySelection:=ds. Employee.query("birthDate <= :1";Current date-10950) ``` -Query with indexed placeholders for values: +Pesquisa com marcadores de posição indexados para os valores: ```4d $entitySelection:=ds. Customer.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@") ``` -Query with indexed placeholders for values on a related dataclass: +Pesquisa com marcadores de posição indexados para valores em uma dataclass relacionada: ```4d $entitySelection:=ds. Employee.query("lastName = :1 and manager.lastName = :2";"M@";"S@") ``` -Query with indexed placeholder including a descending order by statement: +Pesquisa com marcador de posição indexado que inclui uma instrução de ordem descendente: ```4d $entitySelection:=ds. Student.query("nationality = :1 order by campus.name desc, lastname";"French") ``` -Query with named placeholders for values: +Pesquisa com marcadores de posição com nome para os valores: ```4d var $querySettings : Object @@ -1024,7 +1024,7 @@ $querySettings.parameters:=New object("userId";1234) $managedCustomers:=ds. Customer.query("salesperson.userId = :userId and name=:1";"Smith";$querySettings) ``` -Query with queryPlan and queryPath objects: +Pesquisa com objetos queryPlan e queryPath: ```4d $entitySelection:=ds. Employee.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@";New object("queryPlan";True;"queryPath";True)) @@ -1035,19 +1035,19 @@ $queryPlan:=$entitySelection.queryPlan $queryPath:=$entitySelection.queryPath ``` -Query with an attribute path of Collection type: +Pesquisa com uma rota de atributo de tipo Collection: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[].name = :1";"horsebackriding") ``` -Query with an attribute path of Collection type and linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[a].level=:2";"horsebackriding";2) ``` -Query with an attribute path of Collection type and multiple linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e múltiplos atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and @@ -1055,25 +1055,25 @@ $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[b].level = :4";"horsebackriding";2;"Tennis";5) ``` -Query with an attribute path of Object type: +Pesquisa com uma rota de atributo de tipo Objeto: ```4d $entitySelection:=ds. Employee.query("extra.eyeColor = :1";"blue") ``` -Query with an IN statement: +Pesquisa com uma instrução IN: ```4d $entitySelection:=ds. Employee.query("firstName in :1";New collection("Kim";"Dixie")) ``` -Query with a NOT (IN) statement: +Pesquisa com instrução NOT (IN): ```4d $entitySelection:=ds. Employee.query("not (firstName in :1)";New collection("John";"Jane")) ``` -Query with indexed placeholders for attributes: +Pesquisa com marcadores de posição indexados para os atributos: ```4d var $es : cs. EmployeeSelection From 0b73f1020235b35fa51bfed5d0a08612b7ab0d4c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:36 +0200 Subject: [PATCH 091/265] New translations EntityClass.md (Portuguese, Brazilian) --- .../version-19/API/EntityClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/EntityClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/EntityClass.md index 6b88a7ffbc7d3b..9d20024133471e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/EntityClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/EntityClass.md @@ -1626,7 +1626,7 @@ Se nenhum atributo de entidade for tocado, o método retorna uma coleção vazia //collection $touchedAttributes: ["firstName","lastName","employer","employerID"] ``` -In this case: +Nesse modo: * firstName and lastName tem um tipo `storage` * employer tem um tipo `relatedEntity` From 46ff3e0ddb8be5e2189db72bc79e0c02a6fe20ae Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:38 +0200 Subject: [PATCH 092/265] New translations DataClassClass.md (Portuguese, Brazilian) --- .../version-20/API/DataClassClass.md | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md index bcb680591109a3..e643e23020ce9c 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md @@ -964,9 +964,9 @@ Using placeholders in queries **is recommended** for the following reasons: $result2:=$col.query("company.name = :1";"John's Pizzas") ``` -#### Looking for null values +#### Pesquisa de valores null -When you look for null values, you cannot use the placeholder syntax because the query engine considers null as an unexpected comparison value. For example, if you execute the following query: +Quando pesquisar por valores null não pode usar a sintaxe do marcador de posição porque o motor de consulta considera o valor null como um valor de comparação inesperado. Por exemplo, se executar esta pesquisa: ```4d $vSingles:=ds. Person.query("spouse = :1";Null) // will NOT work @@ -1008,7 +1008,7 @@ ds.Class.info: } ] } ``` -Consider the following results: +Considere os seguintes resultados: ```4d ds.Class.query("info.coll[].val = :1";0) @@ -1033,7 +1033,7 @@ ds.Class.query("info.coll[a].val != :1";0) You can use any letter from the alphabet as the `[a]` notation. -#### Linking collection attribute query arguments +#### Linkar os argumentos de pesquisa com os atributos de coleção :::info @@ -1043,7 +1043,7 @@ This feature is only available in queries on dataclasses and [entity selections] When searching within dataclass object attributes containing collections using multiple query arguments joined by the AND operator, you may want to make sure that only entities containing elements that match all arguments are returned, and not entities where arguments can be found in different elements. To do this, you need to link query arguments to collection elements, so that only single elements containing linked arguments are found. -For example, with the following two entities: +Por exemplo, com as duas entidades abaixo: ``` Entity 1: @@ -1072,12 +1072,12 @@ ds. People.query("places.locations[].kind= :1 and places.locations[].city= :2";" ... the query will return "martin" **and** "smith" because "smith" has a "locations" element whose "kind" is "home" and a "locations" element whose "city" is "paris", even though they are different elements. -If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. To link query arguments: +If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. Para linkar argumentos de pesquisa: * Adicionar uma letra entre os \[] na primeira rota a linkar e repita a mesma letra em todos os argumentos linkados. Por exemplo: `locations[a].city and locations[a].kind`. Pode usar qualquer letra do alfabeto latino (não diferencia maiúsculas e minúsculas). * Para adicionar critérios linkados na mesma pesquisa, use outra letra. Pode criar até 26 combinações de critérios em uma única pesquisa. -With the above entities, if you write: +Com as entidades acima, se escreve: ```4d ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2";"home";"paris") @@ -1086,7 +1086,7 @@ ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2" ... the query will only return "martin" because it has a "locations" element whose "kind" is "home" and whose "city" is "paris". The query will not return "smith" because the values "home" and "paris" are not in the same collection element. -#### Queries in many-to-many relations +#### Consultas em relações Muitos para Muitos ORDA offers a special syntax to facilitate queries in many-to-many relations. In this context, you may need to search for different values with an `AND` operator BUT in the same attribute. For example, take a look at the following structure: @@ -1110,7 +1110,7 @@ To make it possible to perform such queries, ORDA allows a special syntax: you j **{x}** tells ORDA to create another reference for the relation attribute. It will then perform all the necessary bitmap operations internally. Note that **x** can be any number **except 0**: {1}, or {2}, or {1540}... ORDA only needs a unique reference in the query for each class index. -In our example, it would be: +No nosso exemplo, seria: ```4d // valid code @@ -1120,38 +1120,38 @@ $es:=ds. Movie.query("roles.actor.lastName = :1 AND roles.actor{2}.lastName = :2 -#### formula parameter +#### Parâmetro formula -As an alternative to formula insertion within the *queryString* parameter (see above), you can pass directly a formula object as a boolean search criteria. Using a formula object for queries is **recommended** since you benefit from tokenization, and code is easier to search/read. +Como alternativa à inserção de fórmulas dentro do parâmetro *queryString* (ver acima), pode passar diretamente um objeto fórmula como critério de pesquisa booleano. A utilizaçã de um objeto fórmula para as pesquisas é **recomendada** já que se beneficia da tokenização, e o código é mais fácil de pesquisar/ler. -A fórmula deve ter sido criada usando [`Formula`](FunctionClass.md#formula) ou o comando[`Formula from string`](FunctionClass.md#formula-from-string) command. In this case: +A fórmula deve ter sido criada usando [`Formula`](FunctionClass.md#formula) ou o comando[`Formula from string`](FunctionClass.md#formula-from-string) command. Nesse modo: * *fórmula* se avalia para cada entidade e deve devolver true ou false. Durante a execução da pesquisa, se o resultado da fórmula não for booleano, é considerado como False. * dentro da *fórmula*, a entidade está disponível através do objeto `This`. * Se o objeto `Formula` for **null**, o errro 1626 ("Expecting a text or formula") é gerado, então pode interceptar a chamada com o método instalado `ON ERR CALL`. > Por razões de segurança, as chamadas a fórmulas dentro dos métodos `query()` podem ser desativadas. Veja a descrição do parâmetro *querySettings*. -#### Passing parameters to formulas +#### Passar parâmetros a fórmulas -Any *formula* called by the `query()` class function can receive parameters: +Todo parâmetro *formula* chamado pela função `query()` pode receber parâmetros: * Parâmeters devem ser passados através da propriedade **args** (objeto) do parâmetro *querySettings*. * A fórmula recebe este objeto **args** como um parâmetro **$1**. -This small code shows the principles of how parameter are passed to methods: +Este pequeno código mostra os principios de como são passados os parâmetros aos métodos: ```4d $settings:=New object("args";New object("exclude";"-")) //args object to pass parameters $es:=ds. Students.query("eval(checkName($1.exclude))";$settings) //args is received in $1 ``` -Additional examples are provided in example 3. +No exemplo 3 são oferecidos mais exemplos. -**4D Server**: In client/server, formulas are executed on the server. In this context, only the `querySettings.args` object is sent to the formulas. +**4D Server**: em cliente/servidor, as fórmulas são executadas no servidor. Neste contexto, só se envia às fórmulas o objeto `querySettings.args`. -#### querySettings parameter +#### Parâmetro querySettings -In the *querySettings* parameter, you can pass an object containing additional options. The following properties are supported: +No parâmetro *querySettings* é possível passar um objeto que conteha opções adicionais. As propriedades abaixo são compatíveis: | Propriedade | Tipo | Descrição | | ------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -1163,11 +1163,11 @@ In the *querySettings* parameter, you can pass an object containing additional o | queryPlan | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa logo antes de ser executada, ou seja, a pesquisa planificada. A propriedade devolvida é um objeto que inclui cada pesquisa e subpesquisa prevista (no caso de uma pesquisa complexa). Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Geralmente é usada em conjunto com queryPath. Como padrão é omitido: false. **Nota**: esta propriedade só são compatíveis com as funções`entitySelection.query( )` e `dataClass.query( )`. | | queryPath | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa tal qual for realizada. A propriedade retornada é um objeto que contém a rota atual usada para a pesquisa (geralmente idêntica àquela do queryPlan, mas deve diferenciar se o motor consegue otimizar a pesquisa), assim como o tempo de processamento e o número de registros encontrado. Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Como padrão é omitido: false. **Nota**: esta propriedade só são compatíveis com as funções`entitySelection.query( )` e `dataClass.query( )`. | -#### About queryPlan and queryPath +#### Sobre queryPlan e queryPath -The information recorded in `queryPlan`/`queryPath` include the query type (indexed and sequential) and each necessary subquery along with conjunction operators. Query paths also contain the number of entities found and the time required to execute each search criterion. You may find it useful to analyze this information while developing your application(s). Generally, the description of the query plan and its path are identical but they can differ because 4D can implement dynamic optimizations when a query is executed in order to improve performance. For example, the 4D engine can dynamically convert an indexed query into a sequential one if it estimates that it is faster. This particular case can occur when the number of entities being searched for is low. +A informação registrada em `queryPlan`/`queryPath` inclui o tipo de pesquisa (indexada e sequencial) e cada subconsulta necessária junto com os operadores de conjunção. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Geralmente a descrição do plano de pesquisa e sua rota são idênticas, mas podem diferir porque 4D pode implementar otimizações dinâmicas quando uma pesquisa for executada para melhorar desempenho. Por exemplo, o motor 4D pode converter dinamicamente uma consulta indexada em uma consulta sequencial se estimar que seja mais rápido. Esse caso particular pode acontecer quando o número de entidades sendo pesquisada é baixo. -For example, if you execute the following query: +Por exemplo, se executar esta pesquisa: ```4d $sel:=ds. Employee.query("salary < :1 and employer.name = :2 or employer.revenues > :3";\ @@ -1196,46 +1196,46 @@ queryPath: #### Exemplo 1 -This section provides various examples of queries. +Esta seção oferece vários exemplos de pesquisas. -Query on a string: +Consultas em uma string: ```4d $entitySelection:=ds. Customer.query("firstName = 'S@'") ``` -Query with a NOT statement: +Pesquisa com uma instrução NOT: ```4d $entitySelection:=ds. Employee.query("not(firstName=Kim)") ``` -Queries with dates: +Pesquisas com datas: ```4d $entitySelection:=ds. Employee.query("birthDate > :1";"1970-01-01") $entitySelection:=ds. Employee.query("birthDate <= :1";Current date-10950) ``` -Query with indexed placeholders for values: +Pesquisa com marcadores de posição indexados para os valores: ```4d $entitySelection:=ds. Customer.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@") ``` -Query with indexed placeholders for values on a related dataclass: +Pesquisa com marcadores de posição indexados para valores em uma dataclass relacionada: ```4d $entitySelection:=ds. Employee.query("lastName = :1 and manager.lastName = :2";"M@";"S@") ``` -Query with indexed placeholder including a descending order by statement: +Pesquisa com marcador de posição indexado que inclui uma instrução de ordem descendente: ```4d $entitySelection:=ds. Student.query("nationality = :1 order by campus.name desc, lastname";"French") ``` -Query with named placeholders for values: +Pesquisa com marcadores de posição com nome para os valores: ```4d var $querySettings : Object @@ -1254,7 +1254,7 @@ $querySettings.parameters:=New object("userId";1234) $managedCustomers:=ds. Customer.query("salesperson.userId = :userId and name=:1";"Smith";$querySettings) ``` -Query with queryPlan and queryPath objects: +Pesquisa com objetos queryPlan e queryPath: ```4d $entitySelection:=ds. Employee.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@";New object("queryPlan";True;"queryPath";True)) @@ -1265,19 +1265,19 @@ $queryPlan:=$entitySelection.queryPlan $queryPath:=$entitySelection.queryPath ``` -Query with an attribute path of Collection type: +Pesquisa com uma rota de atributo de tipo Collection: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[].name = :1";"horsebackriding") ``` -Query with an attribute path of Collection type and linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[a].level=:2";"horsebackriding";2) ``` -Query with an attribute path of Collection type and multiple linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e múltiplos atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and @@ -1285,25 +1285,25 @@ $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[b].level = :4";"horsebackriding";2;"Tennis";5) ``` -Query with an attribute path of Object type: +Pesquisa com uma rota de atributo de tipo Objeto: ```4d $entitySelection:=ds. Employee.query("extra.eyeColor = :1";"blue") ``` -Query with an IN statement: +Pesquisa com uma instrução IN: ```4d $entitySelection:=ds. Employee.query("firstName in :1";New collection("Kim";"Dixie")) ``` -Query with a NOT (IN) statement: +Pesquisa com instrução NOT (IN): ```4d $entitySelection:=ds. Employee.query("not (firstName in :1)";New collection("John";"Jane")) ``` -Query with indexed placeholders for attributes: +Pesquisa com marcadores de posição indexados para os atributos: ```4d var $es : cs. EmployeeSelection From 3dbc4d8c3224d6586eb13c22876004990e714dd8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:40 +0200 Subject: [PATCH 093/265] New translations EntityClass.md (Portuguese, Brazilian) --- .../version-20/API/EntityClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/EntityClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/EntityClass.md index 298640d5488bcc..59b944068875df 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/EntityClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/EntityClass.md @@ -1698,7 +1698,7 @@ Se nenhum atributo de entidade for tocado, o método retorna uma coleção vazia //collection $touchedAttributes: ["firstName","lastName","employer","employerID"] ``` -In this case: +Nesse modo: * firstName and lastName tem um tipo `storage` * employer tem um tipo `relatedEntity` From 06c45545734835fcf8a82ce1ba81db15b4bd6070 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:43 +0200 Subject: [PATCH 094/265] New translations DataClassClass.md (Portuguese, Brazilian) --- .../version-20-R2/API/DataClassClass.md | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataClassClass.md index bcb680591109a3..e643e23020ce9c 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataClassClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataClassClass.md @@ -964,9 +964,9 @@ Using placeholders in queries **is recommended** for the following reasons: $result2:=$col.query("company.name = :1";"John's Pizzas") ``` -#### Looking for null values +#### Pesquisa de valores null -When you look for null values, you cannot use the placeholder syntax because the query engine considers null as an unexpected comparison value. For example, if you execute the following query: +Quando pesquisar por valores null não pode usar a sintaxe do marcador de posição porque o motor de consulta considera o valor null como um valor de comparação inesperado. Por exemplo, se executar esta pesquisa: ```4d $vSingles:=ds. Person.query("spouse = :1";Null) // will NOT work @@ -1008,7 +1008,7 @@ ds.Class.info: } ] } ``` -Consider the following results: +Considere os seguintes resultados: ```4d ds.Class.query("info.coll[].val = :1";0) @@ -1033,7 +1033,7 @@ ds.Class.query("info.coll[a].val != :1";0) You can use any letter from the alphabet as the `[a]` notation. -#### Linking collection attribute query arguments +#### Linkar os argumentos de pesquisa com os atributos de coleção :::info @@ -1043,7 +1043,7 @@ This feature is only available in queries on dataclasses and [entity selections] When searching within dataclass object attributes containing collections using multiple query arguments joined by the AND operator, you may want to make sure that only entities containing elements that match all arguments are returned, and not entities where arguments can be found in different elements. To do this, you need to link query arguments to collection elements, so that only single elements containing linked arguments are found. -For example, with the following two entities: +Por exemplo, com as duas entidades abaixo: ``` Entity 1: @@ -1072,12 +1072,12 @@ ds. People.query("places.locations[].kind= :1 and places.locations[].city= :2";" ... the query will return "martin" **and** "smith" because "smith" has a "locations" element whose "kind" is "home" and a "locations" element whose "city" is "paris", even though they are different elements. -If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. To link query arguments: +If you want to only get entities where matching arguments are in the same collection element, you need to **link arguments**. Para linkar argumentos de pesquisa: * Adicionar uma letra entre os \[] na primeira rota a linkar e repita a mesma letra em todos os argumentos linkados. Por exemplo: `locations[a].city and locations[a].kind`. Pode usar qualquer letra do alfabeto latino (não diferencia maiúsculas e minúsculas). * Para adicionar critérios linkados na mesma pesquisa, use outra letra. Pode criar até 26 combinações de critérios em uma única pesquisa. -With the above entities, if you write: +Com as entidades acima, se escreve: ```4d ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2";"home";"paris") @@ -1086,7 +1086,7 @@ ds. People.query("places.locations[a].kind= :1 and places.locations[a].city= :2" ... the query will only return "martin" because it has a "locations" element whose "kind" is "home" and whose "city" is "paris". The query will not return "smith" because the values "home" and "paris" are not in the same collection element. -#### Queries in many-to-many relations +#### Consultas em relações Muitos para Muitos ORDA offers a special syntax to facilitate queries in many-to-many relations. In this context, you may need to search for different values with an `AND` operator BUT in the same attribute. For example, take a look at the following structure: @@ -1110,7 +1110,7 @@ To make it possible to perform such queries, ORDA allows a special syntax: you j **{x}** tells ORDA to create another reference for the relation attribute. It will then perform all the necessary bitmap operations internally. Note that **x** can be any number **except 0**: {1}, or {2}, or {1540}... ORDA only needs a unique reference in the query for each class index. -In our example, it would be: +No nosso exemplo, seria: ```4d // valid code @@ -1120,38 +1120,38 @@ $es:=ds. Movie.query("roles.actor.lastName = :1 AND roles.actor{2}.lastName = :2 -#### formula parameter +#### Parâmetro formula -As an alternative to formula insertion within the *queryString* parameter (see above), you can pass directly a formula object as a boolean search criteria. Using a formula object for queries is **recommended** since you benefit from tokenization, and code is easier to search/read. +Como alternativa à inserção de fórmulas dentro do parâmetro *queryString* (ver acima), pode passar diretamente um objeto fórmula como critério de pesquisa booleano. A utilizaçã de um objeto fórmula para as pesquisas é **recomendada** já que se beneficia da tokenização, e o código é mais fácil de pesquisar/ler. -A fórmula deve ter sido criada usando [`Formula`](FunctionClass.md#formula) ou o comando[`Formula from string`](FunctionClass.md#formula-from-string) command. In this case: +A fórmula deve ter sido criada usando [`Formula`](FunctionClass.md#formula) ou o comando[`Formula from string`](FunctionClass.md#formula-from-string) command. Nesse modo: * *fórmula* se avalia para cada entidade e deve devolver true ou false. Durante a execução da pesquisa, se o resultado da fórmula não for booleano, é considerado como False. * dentro da *fórmula*, a entidade está disponível através do objeto `This`. * Se o objeto `Formula` for **null**, o errro 1626 ("Expecting a text or formula") é gerado, então pode interceptar a chamada com o método instalado `ON ERR CALL`. > Por razões de segurança, as chamadas a fórmulas dentro dos métodos `query()` podem ser desativadas. Veja a descrição do parâmetro *querySettings*. -#### Passing parameters to formulas +#### Passar parâmetros a fórmulas -Any *formula* called by the `query()` class function can receive parameters: +Todo parâmetro *formula* chamado pela função `query()` pode receber parâmetros: * Parâmeters devem ser passados através da propriedade **args** (objeto) do parâmetro *querySettings*. * A fórmula recebe este objeto **args** como um parâmetro **$1**. -This small code shows the principles of how parameter are passed to methods: +Este pequeno código mostra os principios de como são passados os parâmetros aos métodos: ```4d $settings:=New object("args";New object("exclude";"-")) //args object to pass parameters $es:=ds. Students.query("eval(checkName($1.exclude))";$settings) //args is received in $1 ``` -Additional examples are provided in example 3. +No exemplo 3 são oferecidos mais exemplos. -**4D Server**: In client/server, formulas are executed on the server. In this context, only the `querySettings.args` object is sent to the formulas. +**4D Server**: em cliente/servidor, as fórmulas são executadas no servidor. Neste contexto, só se envia às fórmulas o objeto `querySettings.args`. -#### querySettings parameter +#### Parâmetro querySettings -In the *querySettings* parameter, you can pass an object containing additional options. The following properties are supported: +No parâmetro *querySettings* é possível passar um objeto que conteha opções adicionais. As propriedades abaixo são compatíveis: | Propriedade | Tipo | Descrição | | ------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -1163,11 +1163,11 @@ In the *querySettings* parameter, you can pass an object containing additional o | queryPlan | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa logo antes de ser executada, ou seja, a pesquisa planificada. A propriedade devolvida é um objeto que inclui cada pesquisa e subpesquisa prevista (no caso de uma pesquisa complexa). Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Geralmente é usada em conjunto com queryPath. Como padrão é omitido: false. **Nota**: esta propriedade só são compatíveis com as funções`entitySelection.query( )` e `dataClass.query( )`. | | queryPath | Parâmetros | Na entity selection resultante, devolve ou não a descrição detalhada da pesquisa tal qual for realizada. A propriedade retornada é um objeto que contém a rota atual usada para a pesquisa (geralmente idêntica àquela do queryPlan, mas deve diferenciar se o motor consegue otimizar a pesquisa), assim como o tempo de processamento e o número de registros encontrado. Esta opção é útil durante a fase de desenvolvimento de uma aplicação. Como padrão é omitido: false. **Nota**: esta propriedade só são compatíveis com as funções`entitySelection.query( )` e `dataClass.query( )`. | -#### About queryPlan and queryPath +#### Sobre queryPlan e queryPath -The information recorded in `queryPlan`/`queryPath` include the query type (indexed and sequential) and each necessary subquery along with conjunction operators. Query paths also contain the number of entities found and the time required to execute each search criterion. You may find it useful to analyze this information while developing your application(s). Generally, the description of the query plan and its path are identical but they can differ because 4D can implement dynamic optimizations when a query is executed in order to improve performance. For example, the 4D engine can dynamically convert an indexed query into a sequential one if it estimates that it is faster. This particular case can occur when the number of entities being searched for is low. +A informação registrada em `queryPlan`/`queryPath` inclui o tipo de pesquisa (indexada e sequencial) e cada subconsulta necessária junto com os operadores de conjunção. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Geralmente a descrição do plano de pesquisa e sua rota são idênticas, mas podem diferir porque 4D pode implementar otimizações dinâmicas quando uma pesquisa for executada para melhorar desempenho. Por exemplo, o motor 4D pode converter dinamicamente uma consulta indexada em uma consulta sequencial se estimar que seja mais rápido. Esse caso particular pode acontecer quando o número de entidades sendo pesquisada é baixo. -For example, if you execute the following query: +Por exemplo, se executar esta pesquisa: ```4d $sel:=ds. Employee.query("salary < :1 and employer.name = :2 or employer.revenues > :3";\ @@ -1196,46 +1196,46 @@ queryPath: #### Exemplo 1 -This section provides various examples of queries. +Esta seção oferece vários exemplos de pesquisas. -Query on a string: +Consultas em uma string: ```4d $entitySelection:=ds. Customer.query("firstName = 'S@'") ``` -Query with a NOT statement: +Pesquisa com uma instrução NOT: ```4d $entitySelection:=ds. Employee.query("not(firstName=Kim)") ``` -Queries with dates: +Pesquisas com datas: ```4d $entitySelection:=ds. Employee.query("birthDate > :1";"1970-01-01") $entitySelection:=ds. Employee.query("birthDate <= :1";Current date-10950) ``` -Query with indexed placeholders for values: +Pesquisa com marcadores de posição indexados para os valores: ```4d $entitySelection:=ds. Customer.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@") ``` -Query with indexed placeholders for values on a related dataclass: +Pesquisa com marcadores de posição indexados para valores em uma dataclass relacionada: ```4d $entitySelection:=ds. Employee.query("lastName = :1 and manager.lastName = :2";"M@";"S@") ``` -Query with indexed placeholder including a descending order by statement: +Pesquisa com marcador de posição indexado que inclui uma instrução de ordem descendente: ```4d $entitySelection:=ds. Student.query("nationality = :1 order by campus.name desc, lastname";"French") ``` -Query with named placeholders for values: +Pesquisa com marcadores de posição com nome para os valores: ```4d var $querySettings : Object @@ -1254,7 +1254,7 @@ $querySettings.parameters:=New object("userId";1234) $managedCustomers:=ds. Customer.query("salesperson.userId = :userId and name=:1";"Smith";$querySettings) ``` -Query with queryPlan and queryPath objects: +Pesquisa com objetos queryPlan e queryPath: ```4d $entitySelection:=ds. Employee.query("(firstName = :1 or firstName = :2) and (lastName = :3 or lastName = :4)";"D@";"R@";"S@";"K@";New object("queryPlan";True;"queryPath";True)) @@ -1265,19 +1265,19 @@ $queryPlan:=$entitySelection.queryPlan $queryPath:=$entitySelection.queryPath ``` -Query with an attribute path of Collection type: +Pesquisa com uma rota de atributo de tipo Collection: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[].name = :1";"horsebackriding") ``` -Query with an attribute path of Collection type and linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[a].level=:2";"horsebackriding";2) ``` -Query with an attribute path of Collection type and multiple linked attributes: +Pesquisa com uma rota de atributos de tipo Collection e múltiplos atributos vinculados: ```4d $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and @@ -1285,25 +1285,25 @@ $entitySelection:=ds. Employee.query("extraInfo.hobbies[a].name = :1 and extraInfo.hobbies[b].level = :4";"horsebackriding";2;"Tennis";5) ``` -Query with an attribute path of Object type: +Pesquisa com uma rota de atributo de tipo Objeto: ```4d $entitySelection:=ds. Employee.query("extra.eyeColor = :1";"blue") ``` -Query with an IN statement: +Pesquisa com uma instrução IN: ```4d $entitySelection:=ds. Employee.query("firstName in :1";New collection("Kim";"Dixie")) ``` -Query with a NOT (IN) statement: +Pesquisa com instrução NOT (IN): ```4d $entitySelection:=ds. Employee.query("not (firstName in :1)";New collection("John";"Jane")) ``` -Query with indexed placeholders for attributes: +Pesquisa com marcadores de posição indexados para os atributos: ```4d var $es : cs. EmployeeSelection From 0dcb2a7c002e038a8c0deecb7ed1690814feec73 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:45 +0200 Subject: [PATCH 095/265] New translations EntityClass.md (Portuguese, Brazilian) --- .../version-20-R2/API/EntityClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/EntityClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/EntityClass.md index 298640d5488bcc..59b944068875df 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/EntityClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/EntityClass.md @@ -1698,7 +1698,7 @@ Se nenhum atributo de entidade for tocado, o método retorna uma coleção vazia //collection $touchedAttributes: ["firstName","lastName","employer","employerID"] ``` -In this case: +Nesse modo: * firstName and lastName tem um tipo `storage` * employer tem um tipo `relatedEntity` From c092bceb77644be6030327e40e517708ee72f56c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:49 +0200 Subject: [PATCH 096/265] New translations FileHandleClass.md (French) --- .../current/API/FileHandleClass.md | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index 97f79ecca09b75..15c33df00f60ae 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -19,30 +19,30 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -//Ecriture ligne par ligne depuis le début +//Writing line by line from the start $fhandle:=$f.open("write") $text:="Hello World" -For ($line; 1 ; 4) +For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Ecriture ligne par ligne depuis la fin +//Writing line by line from the end $fhandle:=$f.open("append") -$text:="Hello New World !" -For ($line; 1 ; 4) +$text:="Hello New World!" +For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Lecture en utilisant un caractère d'arrêt et un paramètre objet +//Reading using a stop character and an object parameter $o:=New object() $o.mode:="read" $o.charset:="UTF-8" $o.breakModeRead:=Document with CRLF -$stopChar:=" !" +$stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -//Lecture ligne par ligne +//Reading line by line $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) @@ -267,13 +267,31 @@ Cette propriété est en **lecture seule**. La propriété `.offset` renvoie l'offset courant du flux de données (position dans le document). La valeur de l'offset est automatiquement mise à jour après les opérations de lecture et d'écriture. -Fixer la propriété `.offset` modifiera sa valeur courante. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Si la valeur passée est négative, `.offset` est fixé au début du fichier (zéro). - Si la valeur passée est supérieure à la taille du fichier, `.offset` est fixé à la fin du fichier (taille du fichier). Cette propriété est en **lecture/écriture**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Par exemple : + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: @@ -310,6 +328,8 @@ La fonction `.readBlob()` renvoi Lorsque cette fonction est exécutée, la position courante ([.offset](#offset)) est mise à jour après le dernier octet lu. + + #### Voir également [.writeBlob()](#writeblob) @@ -485,6 +505,7 @@ Lorsque cette fonction est exécutée, la position courante ([.offset](#offset)) **.writeLine**( *lineOfText* : Text ) + | Paramètres | Type | | Description | | ------------ | ---- | -- | ---------------------------------------- | From be48aea97a98768e8ddfa259376625c5c8dfce23 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:50 +0200 Subject: [PATCH 097/265] New translations updates.md (French) --- .../docusaurus-plugin-content-docs/current/Notes/updates.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md index ec1a133730e86d..8e64d6da5714f8 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -11,6 +11,7 @@ Lisez [**Les nouveautés de 4D v20 R3**](https://blog.4d.com/fr-whats-new-in-4d- #### Points forts +- New [`collection.multiSort`](../API/CollectionClass.md#multisort) function. - Support of *context* parameter in [`Formula from string`](../API/FunctionClass.md#formula-from-string). - Support of `headers` property in *connectionHandler* parameter of [4D.WebSocket.new](../API/WebSocketClass.md#4dwebsocketnew). - 4D Langage : [Liste des nouveautés](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6398284.en.html) sur doc.4d.com. @@ -39,6 +40,10 @@ Lisez [**Les nouveautés de 4D v20 R2**](https://blog.4d.com/fr-whats-new-in-4d- - [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=20_R2): liste de tous les bugs corrigés dans 4D v20 R2. +#### Changements de comportement + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. + ## 4D v20.x @@ -89,6 +94,7 @@ Lisez [**Les nouveautés de 4D v20**](https://blog.4d.com/fr-whats-new-in-4d-v20 #### Changements de comportement +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Pour des raisons de conformité avec la RFC HTTP, la propriété [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) renvoie désormais tous les noms d'en-têtes **en minuscules**. Si vous souhaitez que votre code continue à fonctionner comme auparavant, utilisez la nouvelle propriété [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) . - Les certificats TLS sont désormais automatiquement validés par 4D lors de l'envoi de requêtes HTTP avec [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), et rejetés avec une erreur s'ils ne sont pas valides. Une nouvelle propriété *option* vous permet de contrôler cette validation. - TLS v1.0 et TLS v1.1 sont obsolètes, ils ne sont plus pris en charge par `Min TLS version` sur 4D Server. La version 1.3 est désormais sélectionnée par défaut et est automatiquement utilisée si les constantes `_o_TLSv1_0` ou `_o_TLSv1_1` sont définies avec [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 3d4cae8e94e34c878d841b5ed2337dfa6ecab29d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:51 +0200 Subject: [PATCH 098/265] New translations updates.md (French) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 05ef3602461441..a112e26055e92e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,6 +53,7 @@ Lisez [**Les nouveautés de 4D v20**](https://blog.4d.com/fr-whats-new-in-4d-v20 #### Changements de comportement +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Pour des raisons de conformité avec la RFC HTTP, la propriété [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) renvoie désormais tous les noms d'en-têtes **en minuscules**. Si vous souhaitez que votre code continue à fonctionner comme auparavant, utilisez la nouvelle propriété [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) . - Les certificats TLS sont désormais automatiquement validés par 4D lors de l'envoi de requêtes HTTP avec [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), et rejetés avec une erreur s'ils ne sont pas valides. Une nouvelle propriété *option* vous permet de contrôler cette validation. - TLS v1.0 et TLS v1.1 sont obsolètes, ils ne sont plus pris en charge par `Min TLS version` sur 4D Server. La version 1.3 est désormais sélectionnée par défaut et est automatiquement utilisée si les constantes `_o_TLSv1_0` ou `_o_TLSv1_1` sont définies avec [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From faa597e594142f21661c06d57ae477b9790f57fa Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:52 +0200 Subject: [PATCH 099/265] New translations FileHandleClass.md (French) --- .../version-20/API/FileHandleClass.md | 38 ++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index 97f79ecca09b75..766b630e6508ae 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -19,30 +19,30 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -//Ecriture ligne par ligne depuis le début +//Writing line by line from the start $fhandle:=$f.open("write") $text:="Hello World" -For ($line; 1 ; 4) +For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Ecriture ligne par ligne depuis la fin +//Writing line by line from the end $fhandle:=$f.open("append") -$text:="Hello New World !" -For ($line; 1 ; 4) +$text:="Hello New World!" +For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Lecture en utilisant un caractère d'arrêt et un paramètre objet +//Reading using a stop character and an object parameter $o:=New object() $o.mode:="read" $o.charset:="UTF-8" $o.breakModeRead:=Document with CRLF -$stopChar:=" !" +$stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -//Lecture ligne par ligne +//Reading line by line $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) @@ -267,13 +267,32 @@ Cette propriété est en **lecture seule**. La propriété `.offset` renvoie l'offset courant du flux de données (position dans le document). La valeur de l'offset est automatiquement mise à jour après les opérations de lecture et d'écriture. -Fixer la propriété `.offset` modifiera sa valeur courante. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Si la valeur passée est négative, `.offset` est fixé au début du fichier (zéro). - Si la valeur passée est supérieure à la taille du fichier, `.offset` est fixé à la fin du fichier (taille du fichier). Cette propriété est en **lecture/écriture**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Par exemple : + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -485,6 +504,7 @@ Lorsque cette fonction est exécutée, la position courante ([.offset](#offset)) **.writeLine**( *lineOfText* : Text ) + | Paramètres | Type | | Description | | ------------ | ---- | -- | ---------------------------------------- | From 0ab63fdcee66ccd697d0db6b1880dd116a05d112 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:54 +0200 Subject: [PATCH 100/265] New translations updates.md (French) --- .../version-20-R2/Notes/updates.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index a62bcd6db52cdf..654b6edb14c919 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,6 +19,9 @@ Lisez [**Les nouveautés de 4D v20 R2**](https://blog.4d.com/fr-whats-new-in-4d- - 4D Write Pro Interface : Nouvel [assistant de tableau](../WritePro/writeprointerface.md). - [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=20_R2): liste de tous les bugs corrigés dans 4D v20 R2. +#### Changements de comportement + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -70,6 +73,7 @@ Lisez [**Les nouveautés de 4D v20**](https://blog.4d.com/fr-whats-new-in-4d-v20 #### Changements de comportement +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Pour des raisons de conformité avec la RFC HTTP, la propriété [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) renvoie désormais tous les noms d'en-têtes **en minuscules**. Si vous souhaitez que votre code continue à fonctionner comme auparavant, utilisez la nouvelle propriété [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) . - Les certificats TLS sont désormais automatiquement validés par 4D lors de l'envoi de requêtes HTTP avec [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), et rejetés avec une erreur s'ils ne sont pas valides. Une nouvelle propriété *option* vous permet de contrôler cette validation. - TLS v1.0 et TLS v1.1 sont obsolètes, ils ne sont plus pris en charge par `Min TLS version` sur 4D Server. La version 1.3 est désormais sélectionnée par défaut et est automatiquement utilisée si les constantes `_o_TLSv1_0` ou `_o_TLSv1_1` sont définies avec [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 5ca2bae1d79cc8cf7a59d2c989ac40ea43727885 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:55 +0200 Subject: [PATCH 101/265] New translations FileHandleClass.md (French) --- .../version-20-R2/API/FileHandleClass.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index 97f79ecca09b75..07e7ae74485c99 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -19,30 +19,30 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -//Ecriture ligne par ligne depuis le début +//Writing line by line from the start $fhandle:=$f.open("write") $text:="Hello World" -For ($line; 1 ; 4) +For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Ecriture ligne par ligne depuis la fin +//Writing line by line from the end $fhandle:=$f.open("append") -$text:="Hello New World !" -For ($line; 1 ; 4) +$text:="Hello New World!" +For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Lecture en utilisant un caractère d'arrêt et un paramètre objet +//Reading using a stop character and an object parameter $o:=New object() $o.mode:="read" $o.charset:="UTF-8" $o.breakModeRead:=Document with CRLF -$stopChar:=" !" +$stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -//Lecture ligne par ligne +//Reading line by line $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) From ffe58928948dc1d05df60682ec9f4849cf2e5d72 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:58 +0200 Subject: [PATCH 102/265] New translations FileHandleClass.md (Spanish) --- .../current/API/FileHandleClass.md | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index faac6fd285db0a..392008dc2aa1bb 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -48,25 +48,6 @@ $fhandle:=$f.open("read") While (Not($fhandle.eof)) $lines.push($fhandle.readLine()) End while -For ($line; 1; 4) - $fhandle.writeLine($text+String($line)) -End for - -//Lectura utilizando un carácter de parada y un parámetro objeto -$o:=New object() -$o.mode:="read" -$o.charset:="UTF-8" -$o.breakModeRead:=Document with CRLF -$stopChar:="!" -$fhandle:=$f.open($o) -$text:=$fhandle.readText($stopChar) - -//Lectura línea a línea -$lines:=New collection -$fhandle:=$f.open("read") -While (Not($fhandle.eof)) - $lines.push($fhandle.readLine()) -End while ``` @@ -286,13 +267,31 @@ Esta propiedad es **de sólo lectura**. La propiedad `.offset` devuelve el desplazamiento actual del flujo de datos (posición dentro del documento). El valor del desplazamiento se actualiza automáticamente después de las operaciones de lectura y escritura. -Definir el `.offset` cambiará su valor actual. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Si el valor pasado es negativo, el `.offset` se define al inicio del archivo (cero). - Si el valor pasado es mayor que el tamaño del archivo, el `.offset` se define al final del archivo (tamaño del archivo). Esta propiedad es **lectura/escritura**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por ejemplo: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: @@ -329,6 +328,8 @@ La función `.readBlob()` devuel Cuando se ejecuta esta función, la posición actual ([.offset](#offset)) se actualiza después del último byte leído. + + #### Ver también [.writeBlob()](#writeblob) @@ -504,6 +505,7 @@ Cuando se ejecuta esta función, la posición actual ([.offset](#offset)) se act **.writeLine**( *lineOfText* : Text ) + | Parámetros | Tipo | | Descripción | | ------------ | ---- | -- | ------------------------------------------- | From cd58e6070e89e2c2489f5591f6a3a4b2eebb484e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:43:59 +0200 Subject: [PATCH 103/265] New translations updates.md (Spanish) --- .../current/Notes/updates.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md index 77d20f0d9fc8d4..6e76e0cd649962 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -11,6 +11,7 @@ Conozca las [**Novedades de 4D v20 R3**](https://blog.4d.com/en-whats-new-in-4d- #### Destacados +- New [`collection.multiSort`](../API/CollectionClass.md#multisort) function. - Support of *context* parameter in [`Formula from string`](../API/FunctionClass.md#formula-from-string). - Support of `headers` property in *connectionHandler* parameter of [4D.WebSocket.new](../API/WebSocketClass.md#4dwebsocketnew). - Comandos del lenguaje 4D: [página Novedades](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6398284.en.html) en doc.4d.com. @@ -32,13 +33,17 @@ Lea [**Novedades en 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20-R2/) - Nueva [clase WebSocket](../API/WebSocketClass.md) para crear y gestionar conexiones WebSocket cliente desde 4D. - Nueva capa de red QUIC [parámetros de interfaz](../settings/client-server.md#network-layer). -- 4D View Pro: Support of the **.sjs** file format for the [import](../ViewPro/method-list.md#vp-import-document) and [export](../ViewPro/method-list.md#vp-export-document) of documents. +- 4D View Pro: soporte del formato de archivo **.sjs** para la importación [](../ViewPro/method-list.md#vp-import-document) y la exportación [](../ViewPro/method-list.md#vp-export-document) de documentos. - Comandos del lenguaje 4D: [página Novedades](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6398284.en.html) en doc.4d.com. - 4D Write Pro: [página Novedades](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6390313.en.html) en doc.4d.com. - 4D Write Pro Interface: New [Table Wizard](../WritePro/writeprointerface.md). - [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=20_R2): lista de todos los errores que se han corregido en 4D v20 R2. +#### Cambios de comportamiento + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. + ## 4D v20.x @@ -89,6 +94,7 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Cambios de comportamiento +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Para el cumplimiento HTTP RFC, la propiedad [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) devuelve ahora todos los nombres de encabezado **en minúsculas**. Si desea que su código siga funcionando como antes, utilice la nueva propiedad [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response). - Los certificados TLS son ahora validados automáticamente por 4D al enviar peticiones HTTP con [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) y rechazados con un error si no son válidos. Una nueva propiedad *option* le permite controlar esta validación. - TLS v1.0 y TLS v1.1 están obsoletos, ya no están soportados como `Min TLS versión` en 4D Server. La versión 1.3 se selecciona ahora por defecto y se utiliza automáticamente si se definen las constantes `_o_TLSv1_0` o `_o_TLSv1_1` con [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From f4611b241a00444b2e0c8345c2e400f07ea1e69d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:00 +0200 Subject: [PATCH 104/265] New translations updates.md (Spanish) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md index fbc29b380a1fee..fbb5cccc667b34 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,6 +53,7 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Cambios de comportamiento +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Para el cumplimiento HTTP RFC, la propiedad [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) devuelve ahora todos los nombres de encabezado **en minúsculas**. Si desea que su código siga funcionando como antes, utilice la nueva propiedad [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response). - Los certificados TLS son ahora validados automáticamente por 4D al enviar peticiones HTTP con [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) y rechazados con un error si no son válidos. Una nueva propiedad *option* le permite controlar esta validación. - TLS v1.0 y TLS v1.1 están obsoletos, ya no están soportados como `Min TLS versión` en 4D Server. La versión 1.3 se selecciona ahora por defecto y se utiliza automáticamente si se definen las constantes `_o_TLSv1_0` o `_o_TLSv1_1` con [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 03f9bdd9016e50fc1f693d593a6798e1a4ac67fd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:01 +0200 Subject: [PATCH 105/265] New translations FileHandleClass.md (Spanish) --- .../version-20/API/FileHandleClass.md | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index faac6fd285db0a..30cb425f712c22 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -48,25 +48,6 @@ $fhandle:=$f.open("read") While (Not($fhandle.eof)) $lines.push($fhandle.readLine()) End while -For ($line; 1; 4) - $fhandle.writeLine($text+String($line)) -End for - -//Lectura utilizando un carácter de parada y un parámetro objeto -$o:=New object() -$o.mode:="read" -$o.charset:="UTF-8" -$o.breakModeRead:=Document with CRLF -$stopChar:="!" -$fhandle:=$f.open($o) -$text:=$fhandle.readText($stopChar) - -//Lectura línea a línea -$lines:=New collection -$fhandle:=$f.open("read") -While (Not($fhandle.eof)) - $lines.push($fhandle.readLine()) -End while ``` @@ -286,13 +267,32 @@ Esta propiedad es **de sólo lectura**. La propiedad `.offset` devuelve el desplazamiento actual del flujo de datos (posición dentro del documento). El valor del desplazamiento se actualiza automáticamente después de las operaciones de lectura y escritura. -Definir el `.offset` cambiará su valor actual. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Si el valor pasado es negativo, el `.offset` se define al inicio del archivo (cero). - Si el valor pasado es mayor que el tamaño del archivo, el `.offset` se define al final del archivo (tamaño del archivo). Esta propiedad es **lectura/escritura**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por ejemplo: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -504,6 +504,7 @@ Cuando se ejecuta esta función, la posición actual ([.offset](#offset)) se act **.writeLine**( *lineOfText* : Text ) + | Parámetros | Tipo | | Descripción | | ------------ | ---- | -- | ------------------------------------------- | From 11ff161253d4fec9d7439b4aa07dfbcc71ab0668 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:03 +0200 Subject: [PATCH 106/265] New translations updates.md (Spanish) --- .../version-20-R2/Notes/updates.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index f7abfc8fced545..d3946f3e742618 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -13,12 +13,15 @@ Lea [**Novedades en 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20-R2/) - Nueva [clase WebSocket](../API/WebSocketClass.md) para crear y gestionar conexiones WebSocket cliente desde 4D. - Nueva capa de red QUIC [parámetros de interfaz](../settings/client-server.md#network-layer). -- 4D View Pro: Support of the **.sjs** file format for the [import](../ViewPro/method-list.md#vp-import-document) and [export](../ViewPro/method-list.md#vp-export-document) of documents. +- 4D View Pro: soporte del formato de archivo **.sjs** para la importación [](../ViewPro/method-list.md#vp-import-document) y la exportación [](../ViewPro/method-list.md#vp-export-document) de documentos. - Comandos del lenguaje 4D: [página Novedades](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6398284.en.html) en doc.4d.com. - 4D Write Pro: [página Novedades](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6390313.en.html) en doc.4d.com. - 4D Write Pro Interface: New [Table Wizard](../WritePro/writeprointerface.md). - [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=20_R2): lista de todos los errores que se han corregido en 4D v20 R2. +#### Cambios de comportamiento + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -70,6 +73,7 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Cambios de comportamiento +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Para el cumplimiento HTTP RFC, la propiedad [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) devuelve ahora todos los nombres de encabezado **en minúsculas**. Si desea que su código siga funcionando como antes, utilice la nueva propiedad [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response). - Los certificados TLS son ahora validados automáticamente por 4D al enviar peticiones HTTP con [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) y rechazados con un error si no son válidos. Una nueva propiedad *option* le permite controlar esta validación. - TLS v1.0 y TLS v1.1 están obsoletos, ya no están soportados como `Min TLS versión` en 4D Server. La versión 1.3 se selecciona ahora por defecto y se utiliza automáticamente si se definen las constantes `_o_TLSv1_0` o `_o_TLSv1_1` con [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 42059c4a5a3c6723df2ab5bc4d95497a39f5ea50 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:04 +0200 Subject: [PATCH 107/265] New translations FileHandleClass.md (Spanish) --- .../version-20-R2/API/FileHandleClass.md | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index faac6fd285db0a..ee5dc4be7e0e8f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -48,25 +48,6 @@ $fhandle:=$f.open("read") While (Not($fhandle.eof)) $lines.push($fhandle.readLine()) End while -For ($line; 1; 4) - $fhandle.writeLine($text+String($line)) -End for - -//Lectura utilizando un carácter de parada y un parámetro objeto -$o:=New object() -$o.mode:="read" -$o.charset:="UTF-8" -$o.breakModeRead:=Document with CRLF -$stopChar:="!" -$fhandle:=$f.open($o) -$text:=$fhandle.readText($stopChar) - -//Lectura línea a línea -$lines:=New collection -$fhandle:=$f.open("read") -While (Not($fhandle.eof)) - $lines.push($fhandle.readLine()) -End while ``` From 76a97fa860144dcdd135ad91a1ed1940900b44d5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:07 +0200 Subject: [PATCH 108/265] New translations FileHandleClass.md (German) --- .../current/API/FileHandleClass.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index 6193812840db07..e759f87c661470 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -267,13 +267,31 @@ This property is **read-only**. The `.offset` property returns the current offset of the data stream (position inside the document). The offset value is automatically updated after read and write operations. -Setting the `.offset` will change its current value. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - If the passed value is negative, the `.offset` is set to the start of the file (zero). - If the passed value is higher than the size of the file, the `.offset` is set to the end of the file (size of file). This property is **read/write**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Beispiel: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: @@ -310,6 +328,8 @@ The `.readBlob()` function retur When this function is executed, the current position ([.offset](#offset)) is updated after the last byte read. + + #### See also [.writeBlob()](#writeblob) @@ -485,6 +505,7 @@ When this function is executed, the current position ([.offset](#offset)) is upd **.writeLine**( *lineOfText* : Text ) + | Parameter | Typ | | Beschreibung | | ------------ | ---- | -- | ---------------------------------------- | From b39530fa4de83e91640ae702e88dbaf58fcd83cd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:08 +0200 Subject: [PATCH 109/265] New translations updates.md (German) --- .../docusaurus-plugin-content-docs/current/Notes/updates.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/de/docusaurus-plugin-content-docs/current/Notes/updates.md index db89a674846b9b..597d1736a1c18f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -11,6 +11,7 @@ Read [**What’s new in 4D v20 R3**](https://blog.4d.com/en-whats-new-in-4d-v20- #### Highlights +- New [`collection.multiSort`](../API/CollectionClass.md#multisort) function. - Support of *context* parameter in [`Formula from string`](../API/FunctionClass.md#formula-from-string). - Support of `headers` property in *connectionHandler* parameter of [4D.WebSocket.new](../API/WebSocketClass.md#4dwebsocketnew). - 4D Language commands: [What's new page](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6398284.en.html) on doc.4d.com. @@ -39,6 +40,10 @@ Read [**What’s new in 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20- - [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=20_R2): list of all bugs that have been fixed in 4D v20 R2. +#### Behavior changes + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. + ## 4D v20.x @@ -89,6 +94,7 @@ Read [**What’s new in 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), #### Behavior changes +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. A new *option* property allows you to control this validation. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 57814621e323764e671882a678daeaf8d2901f01 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:09 +0200 Subject: [PATCH 110/265] New translations updates.md (German) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md index b03853a550d67f..70048649435ca9 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,6 +53,7 @@ Read [**What’s new in 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), #### Behavior changes +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. A new *option* property allows you to control this validation. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 70efab58a5f75bc96a9ff2dbbc7378aa332b905e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:10 +0200 Subject: [PATCH 111/265] New translations FileHandleClass.md (German) --- .../version-20/API/FileHandleClass.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index 6193812840db07..929e7b8bcac485 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -267,13 +267,32 @@ This property is **read-only**. The `.offset` property returns the current offset of the data stream (position inside the document). The offset value is automatically updated after read and write operations. -Setting the `.offset` will change its current value. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - If the passed value is negative, the `.offset` is set to the start of the file (zero). - If the passed value is higher than the size of the file, the `.offset` is set to the end of the file (size of file). This property is **read/write**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Beispiel: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -485,6 +504,7 @@ When this function is executed, the current position ([.offset](#offset)) is upd **.writeLine**( *lineOfText* : Text ) + | Parameter | Typ | | Beschreibung | | ------------ | ---- | -- | ---------------------------------------- | From 307d7f3fe8ad0f52abeac46cec7bfd19939bb23f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:12 +0200 Subject: [PATCH 112/265] New translations updates.md (German) --- .../version-20-R2/Notes/updates.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index cab92376eed52c..3ed24d6c39851d 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,6 +19,9 @@ Read [**What’s new in 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20- - 4D Write Pro Interface: New [Table Wizard](../WritePro/writeprointerface.md). - [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=20_R2): list of all bugs that have been fixed in 4D v20 R2. +#### Behavior changes + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -70,6 +73,7 @@ Read [**What’s new in 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), #### Behavior changes +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. A new *option* property allows you to control this validation. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 9b21592590b6116aabc90c882f8c7ff987c07771 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:16 +0200 Subject: [PATCH 113/265] New translations FileHandleClass.md (Japanese) --- .../current/API/FileHandleClass.md | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index b490a1650ba856..dd88219d2bfcec 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -19,21 +19,21 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -// 先頭から 1行ずつ書き込みます +//Writing line by line from the start $fhandle:=$f.open("write") $text:="Hello World" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -// 終端から 1行ずつ追加で書き込みます +//Writing line by line from the end $fhandle:=$f.open("append") $text:="Hello New World!" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -// オブジェクト引数を使い、読み取り停止文字を指定して読み取ります +//Reading using a stop character and an object parameter $o:=New object() $o.mode:="read" $o.charset:="UTF-8" @@ -42,7 +42,7 @@ $stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -// 1行ずつ読み取ります +//Reading line by line $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) @@ -267,13 +267,31 @@ FileHandle オブジェクトは共有できません。 `.offset` プロパティは、 データストリームの現在のオフセット (ドキュメント内の位置) を返します。 オフセット値は、読み取りおよび書き込み操作の後に自動的に更新されます。 -`.offset` を設定すると、その現在値が変更されます。 +Setting the `.offset` will change its current value at the moment of the next read or write operation. - 負の値が渡された場合、`.offset` はファイルの先頭 (ゼロ) に設定されます。 - ファイルサイズより大きい値が渡された場合、`.offset` はファイルの終端 (ファイルサイズ) に設定されます。 **読み書き可能** プロパティです。 +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. 例: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: @@ -310,6 +328,8 @@ FileHandle オブジェクトは共有できません。 この関数を実行すると、現在の位置 ([.offset](#offset)) が、最後に読み取ったバイトの後に更新されます。 + + #### 参照 [.writeBlob()](#writeblob) @@ -485,6 +505,7 @@ FileHandle オブジェクトは共有できません。 **.writeLine**( *lineOfText* : Text ) + | 引数 | タイプ | | 説明 | | ------------ | ---- | -- | ----------------------------------- | From 4234c442565ab2adb4769f3e24ed7ff6e2068c05 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:17 +0200 Subject: [PATCH 114/265] New translations updates.md (Japanese) --- .../docusaurus-plugin-content-docs/current/Notes/updates.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md index fd365d7071d9bd..473c5f40fecf8c 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -11,6 +11,7 @@ title: リリースノート #### ハイライト +- New [`collection.multiSort`](../API/CollectionClass.md#multisort) function. - [`Formula from string`](../API/FunctionClass.md#formula-from-string) で *context* パラメーターをサポート。 - [4D.WebSocket.new](../API/WebSocketClass.md#4dwebsocketnew) の *connectionHandler* パラメーターで `headers` プロパティをサポート。 - 4Dランゲージコマンド: doc.4d.com の [新着](https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6398284.ja.html) ページ。 @@ -39,6 +40,10 @@ title: リリースノート - [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=20_R2): 4D v20 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。 +#### 動作の変更 + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. + ## 4D v20.x @@ -89,6 +94,7 @@ title: リリースノート #### 動作の変更 +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - HTTP RFC に準拠するため、[`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) プロパティは、すべてのヘッダー名を **小文字で** 返すようになりました。 以前と同じふるまいが必要な場合には、新しい [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) プロパティを使用します。 - [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) で HTTPリクエストを送信する際、TLS証明書が 4Dによって自動的に検証され、無効な場合はエラーで拒否されるようになりました。 新しい *option* プロパティで、この検証を管理することができます。 - TLS v1.0 および TLS v1.1 は廃止され、4D Server において `Min TLS version` としてサポートされなくなりました。 現在はバージョン 1.3 がデフォルトで選択されています。`_o_TLSv1_0` または `_o_TLSv1_1` 定数が [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/ja/page642.html) で設定されている場合には、バージョン 1.3 が自動的に使用されます。 From d28e0e7b48250619369df8e3885074e430c4a38f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:18 +0200 Subject: [PATCH 115/265] New translations updates.md (Japanese) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 4441f6a4a07080..f1087d751da6c0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,6 +53,7 @@ title: リリースノート #### 動作の変更 +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - HTTP RFC に準拠するため、[`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) プロパティは、すべてのヘッダー名を **小文字で** 返すようになりました。 以前と同じふるまいが必要な場合には、新しい [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) プロパティを使用します。 - [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) で HTTPリクエストを送信する際、TLS証明書が 4Dによって自動的に検証され、無効な場合はエラーで拒否されるようになりました。 新しい *option* プロパティで、この検証を管理することができます。 - TLS v1.0 および TLS v1.1 は廃止され、4D Server において `Min TLS version` としてサポートされなくなりました。 現在はバージョン 1.3 がデフォルトで選択されています。`_o_TLSv1_0` または `_o_TLSv1_1` 定数が [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/ja/page642.html) で設定されている場合には、バージョン 1.3 が自動的に使用されます。 From e4a5d25b21bc06691139241f56556c78fa1ced64 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:19 +0200 Subject: [PATCH 116/265] New translations FileHandleClass.md (Japanese) --- .../version-20/API/FileHandleClass.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index b490a1650ba856..ea01d1de281a04 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -19,21 +19,21 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -// 先頭から 1行ずつ書き込みます +//Writing line by line from the start $fhandle:=$f.open("write") $text:="Hello World" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -// 終端から 1行ずつ追加で書き込みます +//Writing line by line from the end $fhandle:=$f.open("append") $text:="Hello New World!" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -// オブジェクト引数を使い、読み取り停止文字を指定して読み取ります +//Reading using a stop character and an object parameter $o:=New object() $o.mode:="read" $o.charset:="UTF-8" @@ -42,7 +42,7 @@ $stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -// 1行ずつ読み取ります +//Reading line by line $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) @@ -267,13 +267,32 @@ FileHandle オブジェクトは共有できません。 `.offset` プロパティは、 データストリームの現在のオフセット (ドキュメント内の位置) を返します。 オフセット値は、読み取りおよび書き込み操作の後に自動的に更新されます。 -`.offset` を設定すると、その現在値が変更されます。 +Setting the `.offset` will change its current value at the moment of the next read or write operation. - 負の値が渡された場合、`.offset` はファイルの先頭 (ゼロ) に設定されます。 - ファイルサイズより大きい値が渡された場合、`.offset` はファイルの終端 (ファイルサイズ) に設定されます。 **読み書き可能** プロパティです。 +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. 例: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -485,6 +504,7 @@ FileHandle オブジェクトは共有できません。 **.writeLine**( *lineOfText* : Text ) + | 引数 | タイプ | | 説明 | | ------------ | ---- | -- | ----------------------------------- | From 67ed49be24cd2ffafcee3ee56e7d5184abeb1b69 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:21 +0200 Subject: [PATCH 117/265] New translations updates.md (Japanese) --- .../version-20-R2/Notes/updates.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index 07c092a78df4a2..989b92b7cc5eb8 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,6 +19,9 @@ title: リリースノート - 4D Write Pro インターフェース: 新しい [表ウィザード](../WritePro/writeprointerface.md)。 - [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=20_R2): 4D v20 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。 +#### 動作の変更 + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -70,6 +73,7 @@ title: リリースノート #### 動作の変更 +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - HTTP RFC に準拠するため、[`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) プロパティは、すべてのヘッダー名を **小文字で** 返すようになりました。 以前と同じふるまいが必要な場合には、新しい [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) プロパティを使用します。 - [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) で HTTPリクエストを送信する際、TLS証明書が 4Dによって自動的に検証され、無効な場合はエラーで拒否されるようになりました。 新しい *option* プロパティで、この検証を管理することができます。 - TLS v1.0 および TLS v1.1 は廃止され、4D Server において `Min TLS version` としてサポートされなくなりました。 現在はバージョン 1.3 がデフォルトで選択されています。`_o_TLSv1_0` または `_o_TLSv1_1` 定数が [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/ja/page642.html) で設定されている場合には、バージョン 1.3 が自動的に使用されます。 From 1e8967dc6daf462d938fa07ae6d3b0b697a8bc1d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:22 +0200 Subject: [PATCH 118/265] New translations FileHandleClass.md (Japanese) --- .../version-20-R2/API/FileHandleClass.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index b490a1650ba856..d9c296155d8de9 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -19,21 +19,21 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -// 先頭から 1行ずつ書き込みます +//Writing line by line from the start $fhandle:=$f.open("write") $text:="Hello World" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -// 終端から 1行ずつ追加で書き込みます +//Writing line by line from the end $fhandle:=$f.open("append") $text:="Hello New World!" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -// オブジェクト引数を使い、読み取り停止文字を指定して読み取ります +//Reading using a stop character and an object parameter $o:=New object() $o.mode:="read" $o.charset:="UTF-8" @@ -42,7 +42,7 @@ $stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -// 1行ずつ読み取ります +//Reading line by line $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) From 3f4bf025014d6dcda871c7a30c180e9414c2299e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:25 +0200 Subject: [PATCH 119/265] New translations FileClass.md (Portuguese, Brazilian) --- i18n/pt/docusaurus-plugin-content-docs/current/API/FileClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/FileClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/FileClass.md index a444202f1d7133..d8ef8380049691 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/FileClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/FileClass.md @@ -497,7 +497,7 @@ Se utilizar o parâmetro *options* (objecto), pode passar mais opções para o f | `.breakModeRead` | Text ou Number | Modo de tratamento das quebras de linha utilizadas na leitura do arquivo (veja abaixo) | "native" ou 1 | | `.breakModeWrite` | Text ou Number | Modo de processamento das quebras de linha utilizadas ao escrever no ficheiro (ver abaixo) | "native" ou 1 | -The function replaces all original end-of-line delimiters. By default, the native delimiter is used, but you can define another delimiter. `.breakModeRead` e `.breakModeWrite` indicam o processamento a aplicar aos caracteres de fim de linha no documento. Pode utilizar um dos seguintes valores (texto ou número): +A função substitui todos os delimitadores de fim de linha originais. Por defeito, é utilizado o delimitador nativo, mas é possível definir outro delimitador. `.breakModeRead` e `.breakModeWrite` indicam o processamento a aplicar aos caracteres de fim de linha no documento. Pode utilizar um dos seguintes valores (texto ou número): | Modo de interrupção no texto | Break mode em numérico (constante) | Descrição | | ---------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From daf7a4aa3b85d244d678f6780507e49d8fadcc95 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:26 +0200 Subject: [PATCH 120/265] New translations FileHandleClass.md (Portuguese, Brazilian) --- .../current/API/FileHandleClass.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index 615a359d8b6965..9ed0273b1f1e2e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -266,13 +266,31 @@ Essa propriedade é **apenas leitura**. A propriedade `.offset` devolve o offset aual do fluxo de dados (posição no interior do documento). O valor do offset é automaticamente atualizado após as operações de leitura e escrita. -A configuração do `.offset` irá alterar o seu valor atual. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Se o valor passado for negativo, o arquivo `.offset` é definido para o início do arquivo (zero). - Se o valor passado for superior ao tamanho do arquivo, o arquivo `.offset` é definido para o fim do arquivo (tamanho do ficheiro). Esta propriedade é **read/write**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // lê os 20 primeiros bytes (i.e. 10 caracteres) +$b:=$fh.readBlob(20) // $fh.offset=20 + // depois lê todo o texto saltando os primeiros 10 caracteres que acabámos de ler no blob anterior + // porque agora estamos a ler texto em vez de bytes, o significado de 'offset' não é o mesmo. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: @@ -309,6 +327,8 @@ A função `.readBlob()` devolve Quando esta função é executada, a posição atual ([.offset](#offset)) é atualizada após a leitura do último byte. + + #### Veja também [.writeBlob()](#writeblob) @@ -484,6 +504,7 @@ Quando esta função é executada, a posição atual ([.offset](#offset)) é atu **.writeLine**( *lineOfText* : Text ) + | Parâmetro | Tipo | | Descrição | | ------------ | ---- | -- | -------------------------------------------- | From 8b7e5d902f4309694e1a1d133250baf1d9629cb3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:28 +0200 Subject: [PATCH 121/265] New translations debugger.md (Portuguese, Brazilian) --- .../current/Debugging/debugger.md | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 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 ee7dbb41722c69..d8f16796f284a8 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md @@ -329,11 +329,14 @@ For more information on the Formula Editor, see the returns a font shorthand string from *fontObj*. -In *fontObj*, pass an object containing the font properties. The following properties are supported: +In *fontObj*, pass an object containing the font properties. As propriedades abaixo são compatíveis: | Propriedade | Tipo | Descrição | Valores possíveis | Obrigatório | | ----------- | ---- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | From a2ad42572c4088578f48bdfd8b548c5d75fa666c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:40 +0200 Subject: [PATCH 127/265] New translations properties_Text.md (Portuguese, Brazilian) --- .../version-18/FormObjects/properties_Text.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-18/FormObjects/properties_Text.md b/i18n/pt/docusaurus-plugin-content-docs/version-18/FormObjects/properties_Text.md index ed30e17b7408b4..a043603a411ca5 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-18/FormObjects/properties_Text.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-18/FormObjects/properties_Text.md @@ -275,7 +275,7 @@ This property can also be handled by the [OBJECT Get vertical alignment](https:/ `List box do tipo Collection ou entity selection` -Especifica uma expressão ou uma variável que será avaliada para cada linha exibida. Permite definir um conjunto completo de atributos de texto das linhas. É necessário transmitir uma **variável objeto** ou uma **expressão que devolva um objeto**. The following properties are supported: +Especifica uma expressão ou uma variável que será avaliada para cada linha exibida. Permite definir um conjunto completo de atributos de texto das linhas. É necessário transmitir uma **variável objeto** ou uma **expressão que devolva um objeto**. As propriedades abaixo são compatíveis: | Nome da propriedade | Tipo | Descrição | | ------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From 4ffc2f36be3cef337a0ee328b6363c5c2e302ecb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:41 +0200 Subject: [PATCH 128/265] New translations backup.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-18/MSC/backup.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/backup.md b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/backup.md index 0e2827bdd0a8f3..3095d9d6a5710a 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/backup.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/backup.md @@ -4,7 +4,7 @@ title: Página de Backup sidebar_label: Página de Backup --- -You can use the Backup page to view some backup parameters of the database and to launch a manual backup: +Pode utilizar a página de cópia de segurança para ver alguns parâmetros de cópia de segurança do banco de dados e para iniciar uma cópia de segurança manual: ![](../assets/en/MSC/msc_Backup.png) @@ -12,8 +12,8 @@ Esta página é composta pelas três áreas seguintes: - **Backup File Destination**: displays information about the location of the database backup file. Também indica o espaço livre/utilizado no disco de backup. - **Last Backup Information**: provides the date and time of the last backup (automatic or manual) carried out on the database. -- **Contents of the backup file**: lists the files and folders included in the backup file. +- **Conteúdo do ficheiro de cópia de segurança**: lista os ficheiros e pastas incluídos no ficheiro de cópia de segurança. -The **Backup** button is used to launch a manual backup. +O botão **Backup** é utilizado para iniciar uma cópia de segurança manual. Esta página não pode ser utilizada para modificar os parâmetros de cópia de segurança. Para o fazer, deve clicar no botão **Propriedades da base...**. From 12a7056c52987065dc54fd7b993c0eb73e69b7f3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:42 +0200 Subject: [PATCH 129/265] New translations genInfo.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-18/REST/genInfo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-18/REST/genInfo.md b/i18n/pt/docusaurus-plugin-content-docs/version-18/REST/genInfo.md index 8c149773857e3c..42e05add62636b 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-18/REST/genInfo.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-18/REST/genInfo.md @@ -33,4 +33,4 @@ Essas propriedades são objetos que contém informação sobre como o servidor r - **queryPlan**: objeto contendo a descrição detalhada da pesquisa logo antes de ser executada (ou seja, a pesquisa planejada). - **queryPath**: objeto contendo a descrição detalhada da pesquisa como foi realizada. -A informação registrada inclui o tipo de pesquisa (indexada e sequencial) e cada subpesquisa necessária junto com operações de conjunção. Query paths also contain the number of entities found and the time required to execute each search criterion. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Generally, the description of the query plan and its path are identical but they can differ because 4D can implement dynamic optimizations when a query is executed in order to improve performance. For example, the 4D engine can dynamically convert an indexed query into a sequential one if it estimates that it is faster. This particular case can occur when the number of entities being searched for is low. \ No newline at end of file +A informação registrada inclui o tipo de pesquisa (indexada e sequencial) e cada subpesquisa necessária junto com operações de conjunção. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Geralmente a descrição do plano de pesquisa e sua rota são idênticas, mas podem diferir porque 4D pode implementar otimizações dinâmicas quando uma pesquisa for executada para melhorar desempenho. Por exemplo, o motor 4D pode converter dinamicamente uma consulta indexada em uma consulta sequencial se estimar que seja mais rápido. Esse caso particular pode acontecer quando o número de entidades sendo pesquisada é baixo. \ No newline at end of file From 2614f709a2ad464c0aae497751f5b7d1101fa2e0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:43 +0200 Subject: [PATCH 130/265] New translations properties_Text.md (Portuguese, Brazilian) --- .../version-19/FormObjects/properties_Text.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md index 1bf75919fab99b..2003c5a35307f9 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md @@ -281,7 +281,7 @@ This property can also be handled by the [OBJECT Get vertical alignment](https:/ `List box do tipo Collection ou entity selection` -Especifica uma expressão ou uma variável que será avaliada para cada linha exibida. Permite definir um conjunto completo de atributos de texto das linhas. É necessário transmitir uma **variável objeto** ou uma **expressão que devolva um objeto**. The following properties are supported: +Especifica uma expressão ou uma variável que será avaliada para cada linha exibida. Permite definir um conjunto completo de atributos de texto das linhas. É necessário transmitir uma **variável objeto** ou uma **expressão que devolva um objeto**. As propriedades abaixo são compatíveis: | Nome da propriedade | Tipo | Descrição | | ------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From 040ff973f377d8519b9dcef8beb57b7e383f0d15 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:44 +0200 Subject: [PATCH 131/265] New translations backup.md (Portuguese, Brazilian) --- .../version-19/MSC/backup.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/backup.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/backup.md index 6c6b58116d07ae..a1a4e72ac21775 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/backup.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/backup.md @@ -4,16 +4,16 @@ title: Página de Backup sidebar_label: Página de Backup --- -You can use the Backup page to view some backup parameters of the database and to launch a manual backup: +Pode utilizar a página de cópia de segurança para ver alguns parâmetros de cópia de segurança do banco de dados e para iniciar uma cópia de segurança manual: ![](../assets/en/MSC/msc_Backup.png) Esta página é composta pelas três áreas seguintes: -- **Backup File Destination**: displays information about the location of the application backup file. Também indica o espaço livre/utilizado no disco de backup. -- **Last Backup Information**: provides the date and time of the last backup (automatic or manual) carried out on the application. -- **Contents of the backup file**: lists the files and folders included in the backup file. +- **Destino do ficheiro de cópia de segurança**: apresenta informações sobre a localização do ficheiro de cópia de segurança da aplicação. Também indica o espaço livre/utilizado no disco de backup. +- **Informações da última cópia de segurança**: fornece a data e a hora da última cópia de segurança (automática ou manual) efetuada na aplicação. +- **Conteúdo do ficheiro de cópia de segurança**: lista os ficheiros e pastas incluídos no ficheiro de cópia de segurança. -The **Backup** button is used to launch a manual backup. +O botão **Backup** é utilizado para iniciar uma cópia de segurança manual. Esta página não pode ser utilizada para modificar os parâmetros de cópia de segurança. Para o fazer, deve clicar no botão **Propriedades da base...**. From 463d8bbc7e4e8fcefc1cf29b433b563983bac9c7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:45 +0200 Subject: [PATCH 132/265] New translations genInfo.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-19/REST/genInfo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/genInfo.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/genInfo.md index 8c149773857e3c..42e05add62636b 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/genInfo.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/REST/genInfo.md @@ -33,4 +33,4 @@ Essas propriedades são objetos que contém informação sobre como o servidor r - **queryPlan**: objeto contendo a descrição detalhada da pesquisa logo antes de ser executada (ou seja, a pesquisa planejada). - **queryPath**: objeto contendo a descrição detalhada da pesquisa como foi realizada. -A informação registrada inclui o tipo de pesquisa (indexada e sequencial) e cada subpesquisa necessária junto com operações de conjunção. Query paths also contain the number of entities found and the time required to execute each search criterion. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Generally, the description of the query plan and its path are identical but they can differ because 4D can implement dynamic optimizations when a query is executed in order to improve performance. For example, the 4D engine can dynamically convert an indexed query into a sequential one if it estimates that it is faster. This particular case can occur when the number of entities being searched for is low. \ No newline at end of file +A informação registrada inclui o tipo de pesquisa (indexada e sequencial) e cada subpesquisa necessária junto com operações de conjunção. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. As rotas de acesso das petições também contém o número de entidades encontradas e o tempo necessário para executar cada critério de pesquisa. Geralmente a descrição do plano de pesquisa e sua rota são idênticas, mas podem diferir porque 4D pode implementar otimizações dinâmicas quando uma pesquisa for executada para melhorar desempenho. Por exemplo, o motor 4D pode converter dinamicamente uma consulta indexada em uma consulta sequencial se estimar que seja mais rápido. Esse caso particular pode acontecer quando o número de entidades sendo pesquisada é baixo. \ No newline at end of file From 33b41d7a85b9c00e0d3bf739be88b922ad6850bd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:46 +0200 Subject: [PATCH 133/265] New translations updates.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 1f18ed5279d6ae..161aa977206fca 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,6 +53,7 @@ See the [**previous Release notes**](https://doc.4d.com/4Dv19/4D/19.4/4D-v19x-Re #### Mudanças de comportamento +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. Uma nova propriedade *option* permite-lhe controlar esta validação. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 5e6dcdbfab06bbfdd27ff6175899f87eeb8357d1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:48 +0200 Subject: [PATCH 134/265] New translations FileClass.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-20/API/FileClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileClass.md index 363bfb8ad1dfb6..4366733447b15e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileClass.md @@ -503,7 +503,7 @@ Se utilizar o parâmetro *options* (objecto), pode passar mais opções para o f | `.breakModeRead` | Text ou Number | Modo de tratamento das quebras de linha utilizadas na leitura do arquivo (veja abaixo) | "native" ou 1 | | `.breakModeWrite` | Text ou Number | Modo de processamento das quebras de linha utilizadas ao escrever no ficheiro (ver abaixo) | "native" ou 1 | -The function replaces all original end-of-line delimiters. By default, the native delimiter is used, but you can define another delimiter. `.breakModeRead` e `.breakModeWrite` indicam o processamento a aplicar aos caracteres de fim de linha no documento. Pode utilizar um dos seguintes valores (texto ou número): +A função substitui todos os delimitadores de fim de linha originais. Por defeito, é utilizado o delimitador nativo, mas é possível definir outro delimitador. `.breakModeRead` e `.breakModeWrite` indicam o processamento a aplicar aos caracteres de fim de linha no documento. Pode utilizar um dos seguintes valores (texto ou número): | Modo de interrupção no texto | Break mode em numérico (constante) | Descrição | | ---------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From d80afcd7c3777f9a0975bfa39e2a5460f0623f66 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:49 +0200 Subject: [PATCH 135/265] New translations FileHandleClass.md (Portuguese, Brazilian) --- .../version-20/API/FileHandleClass.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index 615a359d8b6965..9bdb4d151e25b8 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -266,13 +266,32 @@ Essa propriedade é **apenas leitura**. A propriedade `.offset` devolve o offset aual do fluxo de dados (posição no interior do documento). O valor do offset é automaticamente atualizado após as operações de leitura e escrita. -A configuração do `.offset` irá alterar o seu valor atual. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Se o valor passado for negativo, o arquivo `.offset` é definido para o início do arquivo (zero). - Se o valor passado for superior ao tamanho do arquivo, o arquivo `.offset` é definido para o fim do arquivo (tamanho do ficheiro). Esta propriedade é **read/write**. +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // lê os 20 primeiros bytes (i.e. 10 caracteres) +$b:=$fh.readBlob(20) // $fh.offset=20 + // depois lê todo o texto saltando os primeiros 10 caracteres que acabámos de ler no blob anterior + // porque agora estamos a ler texto em vez de bytes, o significado de 'offset' não é o mesmo. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -484,6 +503,7 @@ Quando esta função é executada, a posição atual ([.offset](#offset)) é atu **.writeLine**( *lineOfText* : Text ) + | Parâmetro | Tipo | | Descrição | | ------------ | ---- | -- | -------------------------------------------- | From e03404c3476d620a599ed3d8afe19e4ed9244987 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:44:50 +0200 Subject: [PATCH 136/265] New translations debugger.md (Portuguese, Brazilian) --- .../version-20/Debugging/debugger.md | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md index ee7dbb41722c69..d8f16796f284a8 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md @@ -329,11 +329,14 @@ For more information on the Formula Editor, see the returns a font shorthand string from *fontObj*. -In *fontObj*, pass an object containing the font properties. The following properties are supported: +In *fontObj*, pass an object containing the font properties. As propriedades abaixo são compatíveis: | Propriedade | Tipo | Descrição | Valores possíveis | Obrigatório | | ----------- | ---- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | From 9108ea25c7eb3d47783945c30c4320571bccdc57 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:45:00 +0200 Subject: [PATCH 141/265] New translations updates.md (Portuguese, Brazilian) --- .../version-20-R2/Notes/updates.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index 396c9f6f0d3b1d..1701b2a058a094 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,6 +19,9 @@ Read [**What’s new in 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20- - 4D Write Pro Interface: New [Table Wizard](../WritePro/writeprointerface.md). - [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=20_R2): list of all bugs that have been fixed in 4D v20 R2. +#### Mudanças de comportamento + +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -70,6 +73,7 @@ See the [**previous Release notes**](https://doc.4d.com/4Dv19/4D/19.4/4D-v19x-Re #### Mudanças de comportamento +- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. Uma nova propriedade *option* permite-lhe controlar esta validação. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 849dc33cc28bd2841607048703d1240365aa22bb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:45:02 +0200 Subject: [PATCH 142/265] New translations FileClass.md (Portuguese, Brazilian) --- .../version-20-R2/API/FileClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileClass.md index b9ec86d2856fd2..5193311bf3d893 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileClass.md @@ -499,7 +499,7 @@ Se utilizar o parâmetro *options* (objecto), pode passar mais opções para o f | `.breakModeRead` | Text ou Number | Modo de tratamento das quebras de linha utilizadas na leitura do arquivo (veja abaixo) | "native" ou 1 | | `.breakModeWrite` | Text ou Number | Modo de processamento das quebras de linha utilizadas ao escrever no ficheiro (ver abaixo) | "native" ou 1 | -The function replaces all original end-of-line delimiters. By default, the native delimiter is used, but you can define another delimiter. `.breakModeRead` e `.breakModeWrite` indicam o processamento a aplicar aos caracteres de fim de linha no documento. Pode utilizar um dos seguintes valores (texto ou número): +A função substitui todos os delimitadores de fim de linha originais. Por defeito, é utilizado o delimitador nativo, mas é possível definir outro delimitador. `.breakModeRead` e `.breakModeWrite` indicam o processamento a aplicar aos caracteres de fim de linha no documento. Pode utilizar um dos seguintes valores (texto ou número): | Modo de interrupção no texto | Break mode em numérico (constante) | Descrição | | ---------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From e25465f660e9bc01a5c353b4a8d4289a26178a88 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 9 Sep 2023 01:45:05 +0200 Subject: [PATCH 143/265] New translations debugger.md (Portuguese, Brazilian) --- .../version-20-R2/Debugging/debugger.md | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md index ee7dbb41722c69..d8f16796f284a8 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md @@ -329,11 +329,14 @@ For more information on the Formula Editor, see the returns a font shorthand string from *fontObj*. -In *fontObj*, pass an object containing the font properties. The following properties are supported: +In *fontObj*, pass an object containing the font properties. As propriedades abaixo são compatíveis: | Propriedade | Tipo | Descrição | Valores possíveis | Obrigatório | | ----------- | ---- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | From 23ac54b08eda614adde954c8757e408edfdbf251 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 08:14:21 +0200 Subject: [PATCH 148/265] New translations CollectionClass.md (Japanese) --- .../current/API/CollectionClass.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md index f003c72fc12a41..3dc9cab1b7b237 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -2223,10 +2223,10 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum()) #### 説明 -The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections。 -> This function modifies the original collection as well as all collections used in *colsToSort* parameter. +`.multiSort()` 関数は、 複数のコレクションに対して複数レベルの同期ソートを実行します。 +> この関数は、元のコレクションを変更します。また、*colsToSort* パラメーターに使用されたコレクションも変更されます。 -If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. 型は以下の順番で返されます: +`.multiSort()` が引数なしで呼び出された場合、この関数は [`.sort()`](#sort) 関数と同じ効果を持ちます: コレクション要素は、スカラー値のみがデータ型に応じてデフォルトで昇順に並べ替えられます。 コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えられます。 型は以下の順番で返されます: 1. null 2. ブール @@ -2237,7 +2237,7 @@ If `.multiSort()` is called with no parameters, the function has the same effect 7. 日付 -**Single-level synchronized sort** +**単一レベルの同期ソート** To sort several collections synchronously, just pass in *colsToSort* a collection of collections to sort. You can pass an unlimited number of collections. The original collection will be sorted in ascending order and all *colsToSort* collections will be sorted in a synchronized manner. From 5320befe32b8f0d4c5ba11ffd74d65185fb2d72f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 10:59:39 +0200 Subject: [PATCH 149/265] New translations CollectionClass.md (Japanese) --- .../current/API/CollectionClass.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md index 3dc9cab1b7b237..0bc4c03c75f3ad 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -2211,10 +2211,10 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum()) -| 引数 | タイプ | | 説明 | -| ---------- | ----------- |:--:| ----------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | フォーミュラオブジェクト | -| colsToSort | Collection | -> | Collection of collections and/or objects with {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties | +| 引数 | タイプ | | 説明 | +| ---------- | ----------- |:--:| ----------------------------------------------------------------------------------------------------------- | +| formula | 4D.Function | -> | フォーミュラオブジェクト | +| colsToSort | Collection | -> | コレクションのコレクション、または {`collection`:*colToSort*;`order`:`ck ascending` / `ck descending`} プロパティを持つオブジェクトのコレクション | | 戻り値 | Collection | <- | 並べ替えられた元のコレクション| @@ -2239,26 +2239,26 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum()) **単一レベルの同期ソート** -To sort several collections synchronously, just pass in *colsToSort* a collection of collections to sort. You can pass an unlimited number of collections. The original collection will be sorted in ascending order and all *colsToSort* collections will be sorted in a synchronized manner. +複数のコレクションを同期的にソートするには、*colsToSort* にソートするコレクションのコレクションを渡します。 渡せるコレクションの数に制限はありません。 呼び出し元のコレクションは昇順にソートされ、すべての *colsToSort* コレクションが同期ソートされます。 :::note -All *colsToSort* collections must have the same number of elements, otherwise an error is returned. +*colsToSort* に渡すコレクションの要素数はすべて同じでなければなりません。そうでない場合はエラーが返されます。 ::: -If you want to sort the collections in some other order than ascending, you must supply a *formula* ([Formula object](FunctionClass.md#formula) that defines the sort order. 戻り値は、二つの要素の相対的な順番を示すブール値です。*$1.value* が *$1.value2* より小さい場合に **true** を、*$1.value* が *$1.value2* より大きい場合に **false** を返します。 You can provide additional parameters to the formula if necessary. +昇順以外の方法でコレクションをソートしたい場合には、ソート順を定義する *formula* ([Formula オブジェクト](FunctionClass.md#formula)) を指定する必要があります。 戻り値は、二つの要素の相対的な順番を示すブール値です。*$1.value* が *$1.value2* より小さい場合に **true** を、*$1.value* が *$1.value2* より大きい場合に **false** を返します。 必要に応じて、 追加の引数をフォーミュラに渡せます。 -The formula receives the following parameters: +フォーミュラは以下の引数を受け取ります: - $1 (オブジェクト): - *$1.value* (任意の型): 比較する一つ目の要素の値 - *$1.value2* (任意の型): 比較する二つ目の要素の値 - $2...$N (任意の型): 追加の引数 -**Multi-level synchronized sort** +**複数レベルの同期ソート** -Defining a multi-level synchronized sort requires that you pass an object containing {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties instead of the *colToSort* itself for every collection to use as sub-level. +複数レベルの同期ソートを定義するには、サブレベルとして使用するコレクション毎に、{`collection`:*colToSort*;`order`:`ck ascending` または `ck descending`} プロパティを含むオブジェクトを *colToSort* の代わりに渡す必要があります。 The sort levels are determined by the order in which the collections are passed in the *colsToSort* parameter: the position of a `collection`/`order` object in the syntax determines its sort level. @@ -2309,7 +2309,7 @@ $continent.multiSort($country; {collection: $city; order: ck ascending}) #### 例題 3 -You can also synchronize collections of objects. +オブジェクトのコレクションを同期させることもできます。 ```4d var $name : Collection From be50e906e65249324334fcc18b6b98a1c0b0e2f2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 11:00:53 +0200 Subject: [PATCH 150/265] New translations FileHandleClass.md (French) --- .../current/API/FileHandleClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index 15c33df00f60ae..133d5ba75485d6 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -276,7 +276,7 @@ Cette propriété est en **lecture/écriture**. :::caution -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Par exemple : +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Par exemple : ```4d // Open a european text file using utf-16 encoding (two bytes per character) From 9f8e065257863743d7a8d67e1635dbb55c891bf1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 11:00:54 +0200 Subject: [PATCH 151/265] New translations FileHandleClass.md (Spanish) --- .../current/API/FileHandleClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index 392008dc2aa1bb..ddb8a3bc2ade6d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -276,7 +276,7 @@ Esta propiedad es **lectura/escritura**. :::caution -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por ejemplo: +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por ejemplo: ```4d // Open a european text file using utf-16 encoding (two bytes per character) From 54dcc5f456541651cc4f3985db2e9e30419f410b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 11:00:56 +0200 Subject: [PATCH 152/265] New translations FileHandleClass.md (German) --- .../current/API/FileHandleClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index e759f87c661470..390198ce2f78a2 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -276,7 +276,7 @@ This property is **read/write**. :::caution -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Beispiel: +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Beispiel: ```4d // Open a european text file using utf-16 encoding (two bytes per character) From d330637a39d49307a37287fce5cac72dda14d41b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 11:00:57 +0200 Subject: [PATCH 153/265] New translations FileHandleClass.md (Japanese) --- .../current/API/FileHandleClass.md | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index dd88219d2bfcec..d77924ec5fa0bd 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -19,30 +19,29 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -//Writing line by line from the start +// 先頭から 1行ずつ書き込みます $fhandle:=$f.open("write") $text:="Hello World" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Writing line by line from the end +// 終端から 1行ずつ追加で書き込みます $fhandle:=$f.open("append") $text:="Hello New World!" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Reading using a stop character and an object parameter +// オブジェクト引数を使い、読み取り停止文字を指定して読み取ります $o:=New object() $o.mode:="read" $o.charset:="UTF-8" $o.breakModeRead:=Document with CRLF -$stopChar:="!" -$fhandle:=$f.open($o) +$stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -//Reading line by line +// 1行ずつ読み取ります $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) @@ -267,7 +266,7 @@ FileHandle オブジェクトは共有できません。 `.offset` プロパティは、 データストリームの現在のオフセット (ドキュメント内の位置) を返します。 オフセット値は、読み取りおよび書き込み操作の後に自動的に更新されます。 -Setting the `.offset` will change its current value at the moment of the next read or write operation. +`.offset` を設定すると、次の読み取り・書き取り操作の際に、その現在値が変更されます。 - 負の値が渡された場合、`.offset` はファイルの先頭 (ゼロ) に設定されます。 - ファイルサイズより大きい値が渡された場合、`.offset` はファイルの終端 (ファイルサイズ) に設定されます。 @@ -276,18 +275,18 @@ Setting the `.offset` will change its current value at the moment of the next re :::caution -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. 例: +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. ファイルの文字セットに応じて、1文字は 1バイトまたは複数バイトに対応します。 したがって、`readBlob()` で読み取りを開始してから `readText()` を呼び出すと、テキストの読み取りは一貫性のない位置から開始されます。 そのため、同じ FileHandle内で、BLOB の読み取り/書き込みからテキストの読み取り/書き込みに切り替える場合には、`.offset` プロパティを自分で設定することが不可欠です。 例: ```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. + // utf-16エンコーディング (1文字につき 2バイト) を使用して、ヨーロッパのテキストファイルを開きます + // 最初の 10文字をバイトとして、残りをテキストとして読み込みます $fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) + // 最初の 20バイト (=10文字) を読み取ります +$b:=$fh.readBlob(20) // 現在のオフセット: $fh.offset=20 + // 次にすでに読み取った 10文字を飛ばして残りのテキストをすべて読み取ります + // バイトからテキストの読み取りへと切り替えるため、オフセットの単位が変わります + // そのため、オフセットをバイトから文字数に変換する必要があります +$fh.offset:=10 // 最初の 10文字 (20バイト) の utf-16文字をスキップさせます $s:=$fh.readText() ``` From 6dafce35f6fa0d8cb521082e58f7587a0539eb45 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 11:00:59 +0200 Subject: [PATCH 154/265] New translations FileHandleClass.md (Portuguese, Brazilian) --- .../current/API/FileHandleClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md index 9ed0273b1f1e2e..c2b04037fe9028 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/FileHandleClass.md @@ -275,7 +275,7 @@ Esta propriedade é **read/write**. :::caution -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: ```4d // Open a european text file using utf-16 encoding (two bytes per character) From 8ad69a3488ec1dea8f5d01f14423df6631afec47 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 11:05:41 +0200 Subject: [PATCH 155/265] New translations debugger.md (Portuguese, Brazilian) --- .../current/Debugging/debugger.md | 36 +++---------------- 1 file changed, 5 insertions(+), 31 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 d8f16796f284a8..17dacb430899c2 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Debugging/debugger.md @@ -329,10 +329,7 @@ For more information on the Formula Editor, see the データストリームの現在のオフセット (ドキュメント内の位置) を返します。 オフセット値は、読み取りおよび書き込み操作の後に自動的に更新されます。 -Setting the `.offset` will change its current value at the moment of the next read or write operation. +`.offset` を設定すると、次の読み取り・書き取り操作の際に、その現在値が変更されます。 - 負の値が渡された場合、`.offset` はファイルの先頭 (ゼロ) に設定されます。 - ファイルサイズより大きい値が渡された場合、`.offset` はファイルの終端 (ファイルサイズ) に設定されます。 @@ -276,18 +275,18 @@ Setting the `.offset` will change its current value at the moment of the next re :::caution -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. 例: +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. ファイルの文字セットに応じて、1文字は 1バイトまたは複数バイトに対応します。 したがって、`readBlob()` で読み取りを開始してから `readText()` を呼び出すと、テキストの読み取りは一貫性のない位置から開始されます。 そのため、同じ FileHandle内で、BLOB の読み取り/書き込みからテキストの読み取り/書き込みに切り替える場合には、`.offset` プロパティを自分で設定することが不可欠です。 例: ```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. + // utf-16エンコーディング (1文字につき 2バイト) を使用して、ヨーロッパのテキストファイルを開きます + // 最初の 10文字をバイトとして、残りをテキストとして読み込みます $fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) + // 最初の 20バイト (=10文字) を読み取ります +$b:=$fh.readBlob(20) // 現在のオフセット: $fh.offset=20 + // 次にすでに読み取った 10文字を飛ばして残りのテキストをすべて読み取ります + // バイトからテキストの読み取りへと切り替えるため、オフセットの単位が変わります + // そのため、オフセットをバイトから文字数に変換する必要があります +$fh.offset:=10 // 最初の 10文字 (20バイト) の utf-16文字をスキップさせます $s:=$fh.readText() ``` From f5fb1e76090956f74400269af1f9eb20950d8a1e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 13:55:17 +0200 Subject: [PATCH 162/265] New translations FileHandleClass.md (Portuguese, Brazilian) --- .../version-20/API/FileHandleClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index 9bdb4d151e25b8..0aad915f9dc664 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -275,7 +275,7 @@ Esta propriedade é **read/write**. :::caution -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()](#readline)` it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: ```4d // Open a european text file using utf-16 encoding (two bytes per character) From 4158fe5b5a27c450f9262428de2637384be2698f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 13:59:38 +0200 Subject: [PATCH 163/265] New translations debugger.md (Portuguese, Brazilian) --- .../version-20/Debugging/debugger.md | 36 +++---------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md index d8f16796f284a8..17dacb430899c2 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Debugging/debugger.md @@ -329,10 +329,7 @@ For more information on the Formula Editor, see the A compactação só está disponível no modo de manutenção. Se tentar realizar essa operação em modo padrão, uma caixa de diálogo de aviso informará que o banco de dados será fechado e reiniciado em modo manutenção. Pode compactar um arquivo de dados que não esteja aberto pelo banco de dados (ver [Compactar os registros e os índices](#compact-records-and-indexes) abaixo). ## Compactação standard -To directly begin the compacting of the data file, click on the compacting button in the MSC window. +Para iniciar diretamente a compactação do arquivo de dados, clique no botão de compactação na janela MSC. ![](../assets/en/MSC/MSC_compact.png) -> Since compacting involves the duplication of the original file, the button is disabled when there is not adequate space available on the disk containing the file. +> Já que a compactação envolve a duplicação do arquivo original, o botão é desativado quando não existir espaço suficiente disponível no disco que contém o arquivo. -Esta operação compacta o ficheiro principal, bem como quaisquer ficheiros de índice. 4D copies the original files and puts them in a folder named **Replaced Files (Compacting)**, which is created next to the original file. If you have carried out several compacting operations, a new folder is created each time. It will be named “Replaced Files (Compacting)_1”, “Replaced Files (Compacting)_2”, and so on. You can modify the folder where the original files are saved using the advanced mode. +Esta operação compacta o arquivo principal, bem como quaisquer arquivos de índice. 4D copia os arquivos originais e os coloca em uma pasta chamada **Replaced Files (Compacting)**, que é criada ao lado do arquivo original. Se tiver efetuado várias operações de compactação, é criada uma nova pasta de cada vez. Será denominado "arquivos substituídos (compactação)_1", "arquivos substituídos (compactação)_2", e assim por diante. Pode modificar a pasta onde os arquivos originais são guardados utilizando o modo avançado. -When the operation is completed, the compacted files automatically replace the original files. O banco de dados fica operacional imediatamente sem outras manipulações. -> When the database is encrypted, compacting includes decryption and encryption steps and thus, requires the current data encryption key. If no valid data key has already been provided, a dialog box requesting the passphrase or the data key is displayed. +Quando a operação estiver concluída, os arquivos compactados substituem automaticamente os arquivos originais. O banco de dados fica operacional imediatamente sem outras manipulações. +> Quando a base de dados está encriptada, a compactação inclui passos de desencriptação e encriptação e, por isso, requer a chave de encriptação de dados atual. Se ainda não tiver sido fornecida uma chave de dados válida, é apresentada uma caixa de diálogo que pede a frase-chave ou a chave de dados. -**Warning:** Each compacting operation involves the duplication of the original file which increases the size of the application folder. It is important to take this into account (especially under macOS where 4D applications appear as packages) so that the size of the application does not increase excessively. Manually removing the copies of the original file inside the package can be useful in order to keep the package size down. +**Aviso:** Cada operação de compactação envolve a duplicação do arquivo original, o que aumenta o tamanho da pasta da aplicação. É importante ter isto em conta (especialmente em macOS onde as aplicações 4D aparecem como pacotes) para que o tamanho da aplicação não aumente excessivamente. A remoção manual das cópias do arquivo original dentro do pacote pode ser útil para manter o tamanho do pacote reduzido. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a compactação termina, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: +Depois que a compactação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este arquivo permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Modo avançado -The Compact page contains an **Advanced>** button, which can be used to access an options page for compacting data file. +A página Compactar contém um botão **Advanced>** , que pode ser utilizado para acessar uma página de opções para compactar o arquivo de dados. ### Compactação de registros e índices -The **Compact records and indexes** area displays the pathname of the current data file as well as a **[...]** button that can be used to specify another data file. When you click on this button, a standard Open document dialog box is displayed so that you can designate the data file to be compacted. You must select a data file that is compatible with the open structure file. Once this dialog box has been validated, the pathname of the file to be compacted is indicated in the window. +A área **Compact records and indexes** apresenta o nome do caminho do arquivo de dados atual, bem como um botão **[...]** que pode ser utilizado para especificar outro arquivo de dados. Quando se clica neste botão, é apresentada uma caixa de diálogo padrão Abrir documento para que se possa designar o arquivo de dados a compactar. É necessário selecionar um arquivo de dados que seja compatível com o arquivo de estrutura aberta. Uma vez validada esta caixa de diálogo, o nome do caminho do arquivo a compactar é indicado na janela. -The second **[...]** button can be used to specify another location for the original files to be saved before the compacting operation. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. +O segundo botão **[...]** pode ser utilizado para especificar outra localização para os arquivos originais a serem guardados antes da operação de compactação. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. ### Forçar a atualização dos registos -When this option is checked, 4D rewrites every record for each table during the compacting operation, according to its description in the structure. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: +Quando esta opção estiver marcada, 4D reescreve cada registo para cada tabela durante a operação de compactação, de acordo com a sua descrição na estrutura. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: -- When field types are changed in the application structure after data were entered. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D even allows changes between two very different types (with risks of data loss), for instance a Real field can be changed to Text and vice versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. +- Quando os tipos de campo são alterados na estrutura da aplicação depois de os dados terem sido introduzidos. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D até permite mudanças entre dois tipos muito diferentes (com riscos de perda de dados), por exemplo, um campo Real pode ser mudado para Texto e vice-versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. -- When an external storage option for Text, Picture or BLOB data has been changed after data were entered. This can happen when databases are converted from a version prior to v13. As is the case with the retyping described above, 4D does not convert data already entered retroactively. To do this, you can force records to be updated in order to apply the new storage mode to records that have already been entered. +- Quando uma opção de armazenamento externo para dados de Texto, Imagem ou BLOB tiver sido alterada após a introdução dos dados. Isto pode acontecer quando as bases de dados são convertidas a partir de uma versão anterior à v13. Como é o caso da redigitação descrita acima, 4D não converte dados já inseridos retroativamente. Para isso, é possível forçar a atualização dos registros para aplicar o novo modo de armazenamento aos registros que já foram entrados. -- Quando as tabelas ou campos foram eliminados. In this case, compacting with updating of records recovers the space of these removed data and thus reduces file size. +- Quando as tabelas ou campos foram eliminados. Neste caso, a compactação com atualização de registos recupera o espaço destes dados removidos, reduzindo assim o tamanho do arquivo. > Todos os índices são atualizados quando esta opção é selecionada. ### Compactar a tabela de endereços (opção apenas ativa quando a opção anterior está marcada) -This option completely rebuilds the address table for the records during compacting. This optimizes the size of the address table and is mainly used for databases where large volumes of data were created and then deleted. Noutros casos, a otimização não é um fator decisivo. +Esta opção reconstrói completamente a tabela de endereços para os registos durante a compactação. Isto optimiza o tamanho da tabela de endereços e é utilizado principalmente para bases de dados onde foram criados e depois eliminados grandes volumes de dados. Noutros casos, a otimização não é um fator decisivo. -Note that this option substantially slows compacting and invalidates any sets saved using the `SAVE SET` command. Moreover, we strongly recommend deleting saved sets in this case because their use can lead to selections of incorrect data. +Note que esta opção atrasa substancialmente a compactação e invalida quaisquer conjuntos guardados com o comando `SAVE SET` . Além disso, recomendamos vivamente a eliminação dos conjuntos guardados neste caso, porque a sua utilização pode levar a selecções de dados incorrectos. :::note Notas -- Compacting takes records of tables that have been put into the Trash into account. If there are a large number of records in the Trash, this can be an additional factor that may slow down the operation. -- Using this option makes the address table, and thus the database, incompatible with the current journal file (if there is one). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. -- You can decide if the address table needs to be compacted by comparing the total number of records and the address table size in the [Information](information.md) page of the MSC. +- A compactação tem em conta os registos das tabelas que foram colocadas no Lixo. Se houver um grande número de registos no Lixo, este pode ser um fator adicional que pode tornar a operação mais lenta. +- A utilização desta opção torna a tabela de endereços e, consequentemente, a base de dados, incompatível com o arquivo de diário atual (se existir). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. +- Pode decidir se a tabela de endereços precisa de ser compactada, comparando o número total de registos e o tamanho da tabela de endereços na página [Information](information.md) do MSC. - O comando [`TRUNCATE TABLE`](https://doc.4d.com/4dv19R/help/command/en/page1051.html) reinicia automaticamente a tabela de endereços para a tabela especificada. ::: From a8db776a6479ba0825d9f31febddb1675336b530 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 14:09:35 +0200 Subject: [PATCH 165/265] New translations repair.md (Portuguese, Brazilian) --- .../version-20/MSC/repair.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/repair.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/repair.md index 6f19d5196dbaf7..8ce6fcd1cd01f8 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/repair.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/repair.md @@ -61,11 +61,11 @@ If several groups of records could not be assigned to tables due to a damaged ad Next select the table you want to assign to the group in the "Unassigned tables" table and click on the **Identify table** button. Também pode atribuir uma tabela utilizando a função arrastar e largar. The group of records is then associated with the table and it will be recovered in this table. Os nomes das tabelas atribuídas manualmente aparecem a preto. Use the **Ignore records** button to remove the association made manually between the table and the group of records. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a reparação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criado no formato XML e chamado: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: +Depois que a reparação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este arquivo permite visualizar todas as operações efectuadas. É criado no formato XML e chamado: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. From e2781dac2389c0bc72306334b81cda0ca2bbf405 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 14:09:46 +0200 Subject: [PATCH 166/265] New translations verify.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-20/MSC/verify.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/verify.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/verify.md index d9c72f37276869..f323ea6b0182aa 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/verify.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/MSC/verify.md @@ -19,14 +19,14 @@ A página contém botões de ação que fornecem acesso direto às funções de > > > Verification of records and indexes can also be carried out in detail mode, table by table (see the Details section below). -## Abrir ficheiro de registo +## Abrir arquivo de registo Independente da verificação solicitada, 4D gera um arquivo de histórico na pasta `Logs` do banco de dados. This file lists all the verifications carried out and indicates any errors encountered, when applicable ([OK] is displayed when the verification is correct). It is created in XML format and is named: *ApplicationName**Verify_Log**yyyy-mm-dd hh-mm-ss*.xml where: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Detalhes From 815dbd557c855acdd1d4c5b9e910f2fb322a1a01 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:10:19 +0200 Subject: [PATCH 167/265] New translations updates.md (Japanese) --- .../version-20-R2/Notes/updates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index 989b92b7cc5eb8..6bb561d0b5697c 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -21,7 +21,7 @@ title: リリースノート #### 動作の変更 -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. +- **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 修正後、この開始値は 0 になりました。 ## 4D v20.x @@ -73,7 +73,7 @@ title: リリースノート #### 動作の変更 -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. +- **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 修正後、この開始値は 0 になりました。 - HTTP RFC に準拠するため、[`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) プロパティは、すべてのヘッダー名を **小文字で** 返すようになりました。 以前と同じふるまいが必要な場合には、新しい [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) プロパティを使用します。 - [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) で HTTPリクエストを送信する際、TLS証明書が 4Dによって自動的に検証され、無効な場合はエラーで拒否されるようになりました。 新しい *option* プロパティで、この検証を管理することができます。 - TLS v1.0 および TLS v1.1 は廃止され、4D Server において `Min TLS version` としてサポートされなくなりました。 現在はバージョン 1.3 がデフォルトで選択されています。`_o_TLSv1_0` または `_o_TLSv1_1` 定数が [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/ja/page642.html) で設定されている場合には、バージョン 1.3 が自動的に使用されます。 From 37602171fdcfd786ba2e575ef5dd3db299202610 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:11:55 +0200 Subject: [PATCH 168/265] New translations FileHandleClass.md (French) --- .../version-20-R2/API/FileHandleClass.md | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index 07e7ae74485c99..d3d7d4169d6dfb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -267,13 +267,39 @@ Cette propriété est en **lecture seule**. La propriété `.offset` renvoie l'offset courant du flux de données (position dans le document). La valeur de l'offset est automatiquement mise à jour après les opérations de lecture et d'écriture. -Fixer la propriété `.offset` modifiera sa valeur courante. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Si la valeur passée est négative, `.offset` est fixé au début du fichier (zéro). - Si la valeur passée est supérieure à la taille du fichier, `.offset` est fixé à la fin du fichier (taille du fichier). Cette propriété est en **lecture/écriture**. +Setting the `.offset` will change its current value at the moment of the next read or write operation. + +- Si la valeur passée est négative, `.offset` est fixé au début du fichier (zéro). +- Si la valeur passée est supérieure à la taille du fichier, `.offset` est fixé à la fin du fichier (taille du fichier). + +Cette propriété est en **lecture/écriture**. + +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Par exemple : + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -485,6 +511,7 @@ Lorsque cette fonction est exécutée, la position courante ([.offset](#offset)) **.writeLine**( *lineOfText* : Text ) + | Paramètres | Type | | Description | | ------------ | ---- | -- | ---------------------------------------- | From fcbb54d47a488fa9f2512f3fac70a5ca9174b622 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:11:57 +0200 Subject: [PATCH 169/265] New translations FileHandleClass.md (Spanish) --- .../version-20-R2/API/FileHandleClass.md | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index ee5dc4be7e0e8f..c335e318fbc955 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -267,13 +267,39 @@ Esta propiedad es **de sólo lectura**. La propiedad `.offset` devuelve el desplazamiento actual del flujo de datos (posición dentro del documento). El valor del desplazamiento se actualiza automáticamente después de las operaciones de lectura y escritura. -Definir el `.offset` cambiará su valor actual. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Si el valor pasado es negativo, el `.offset` se define al inicio del archivo (cero). - Si el valor pasado es mayor que el tamaño del archivo, el `.offset` se define al final del archivo (tamaño del archivo). Esta propiedad es **lectura/escritura**. +Setting the `.offset` will change its current value at the moment of the next read or write operation. + +- Si el valor pasado es negativo, el `.offset` se define al inicio del archivo (cero). +- Si el valor pasado es mayor que el tamaño del archivo, el `.offset` se define al final del archivo (tamaño del archivo). + +Esta propiedad es **lectura/escritura**. + +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por ejemplo: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -485,6 +511,7 @@ Cuando se ejecuta esta función, la posición actual ([.offset](#offset)) se act **.writeLine**( *lineOfText* : Text ) + | Parámetros | Tipo | | Descripción | | ------------ | ---- | -- | ------------------------------------------- | From 19e29be112d72ade79b9c8b16c8f68b9c2a41505 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:11:58 +0200 Subject: [PATCH 170/265] New translations FileHandleClass.md (German) --- .../version-20-R2/API/FileHandleClass.md | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index 6193812840db07..f93f70c3050d4f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -267,13 +267,39 @@ This property is **read-only**. The `.offset` property returns the current offset of the data stream (position inside the document). The offset value is automatically updated after read and write operations. -Setting the `.offset` will change its current value. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - If the passed value is negative, the `.offset` is set to the start of the file (zero). - If the passed value is higher than the size of the file, the `.offset` is set to the end of the file (size of file). This property is **read/write**. +Setting the `.offset` will change its current value at the moment of the next read or write operation. + +- If the passed value is negative, the `.offset` is set to the start of the file (zero). +- If the passed value is higher than the size of the file, the `.offset` is set to the end of the file (size of file). + +This property is **read/write**. + +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Beispiel: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // read the 20 first bytes (i.e. 10 characters) +$b:=$fh.readBlob(20) // $fh.offset=20 + // then read all text skipping the first 10 characters we just read in previous blob + // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -485,6 +511,7 @@ When this function is executed, the current position ([.offset](#offset)) is upd **.writeLine**( *lineOfText* : Text ) + | Parameter | Typ | | Beschreibung | | ------------ | ---- | -- | ---------------------------------------- | From 51e3a5754b78d8f0afdea9ce6aa6f381b21d6fe0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:12:00 +0200 Subject: [PATCH 171/265] New translations FileHandleClass.md (Japanese) --- .../version-20-R2/API/FileHandleClass.md | 40 +++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index d9c296155d8de9..5784632b19da53 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -19,30 +19,29 @@ var $f : 4D.File var $fhandle : 4D.FileHandle $f:=Folder(Database folder).file("example.txt") -//Writing line by line from the start +// 先頭から 1行ずつ書き込みます $fhandle:=$f.open("write") $text:="Hello World" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Writing line by line from the end +// 終端から 1行ずつ追加で書き込みます $fhandle:=$f.open("append") $text:="Hello New World!" For ($line; 1; 4) $fhandle.writeLine($text+String($line)) End for -//Reading using a stop character and an object parameter +// オブジェクト引数を使い、読み取り停止文字を指定して読み取ります $o:=New object() $o.mode:="read" $o.charset:="UTF-8" $o.breakModeRead:=Document with CRLF -$stopChar:="!" -$fhandle:=$f.open($o) +$stopChar:="!" $fhandle:=$f.open($o) $text:=$fhandle.readText($stopChar) -//Reading line by line +// 1行ずつ読み取ります $lines:=New collection $fhandle:=$f.open("read") While (Not($fhandle.eof)) @@ -267,13 +266,39 @@ FileHandle オブジェクトは共有できません。 `.offset` プロパティは、 データストリームの現在のオフセット (ドキュメント内の位置) を返します。 オフセット値は、読み取りおよび書き込み操作の後に自動的に更新されます。 -`.offset` を設定すると、その現在値が変更されます。 +`.offset` を設定すると、次の読み取り・書き取り操作の際に、その現在値が変更されます。 - 負の値が渡された場合、`.offset` はファイルの先頭 (ゼロ) に設定されます。 - ファイルサイズより大きい値が渡された場合、`.offset` はファイルの終端 (ファイルサイズ) に設定されます。 **読み書き可能** プロパティです。 +`.offset` を設定すると、次の読み取り・書き取り操作の際に、その現在値が変更されます。 + +- 負の値が渡された場合、`.offset` はファイルの先頭 (ゼロ) に設定されます。 +- ファイルサイズより大きい値が渡された場合、`.offset` はファイルの終端 (ファイルサイズ) に設定されます。 + +**読み書き可能** プロパティです。 + +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. ファイルの文字セットに応じて、1文字は 1バイトまたは複数バイトに対応します。 したがって、`readBlob()` で読み取りを開始してから `readText()` を呼び出すと、テキストの読み取りは一貫性のない位置から開始されます。 そのため、同じ FileHandle内で、BLOB の読み取り/書き込みからテキストの読み取り/書き込みに切り替える場合には、`.offset` プロパティを自分で設定することが不可欠です。 例: + +```4d + // utf-16エンコーディング (1文字につき 2バイト) を使用して、ヨーロッパのテキストファイルを開きます + // 最初の 10文字をバイトとして、残りをテキストとして読み込みます +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // 最初の 20バイト (=10文字) を読み取ります +$b:=$fh.readBlob(20) // 現在のオフセット: $fh.offset=20 + // 次にすでに読み取った 10文字を飛ばして残りのテキストをすべて読み取ります + // バイトからテキストの読み取りへと切り替えるため、オフセットの単位が変わります + // そのため、オフセットをバイトから文字数に変換する必要があります +$fh.offset:=10 // 最初の 10文字 (20バイト) の utf-16文字をスキップさせます +$s:=$fh.readText() +``` + +::: + @@ -485,6 +510,7 @@ FileHandle オブジェクトは共有できません。 **.writeLine**( *lineOfText* : Text ) + | 引数 | タイプ | | 説明 | | ------------ | ---- | -- | ----------------------------------- | From 044f140be931d2c81e955417d98ea59fc6d89b54 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:12:01 +0200 Subject: [PATCH 172/265] New translations FileHandleClass.md (Portuguese, Brazilian) --- .../version-20-R2/API/FileHandleClass.md | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index 615a359d8b6965..08796a9e44ce0f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -266,13 +266,39 @@ Essa propriedade é **apenas leitura**. A propriedade `.offset` devolve o offset aual do fluxo de dados (posição no interior do documento). O valor do offset é automaticamente atualizado após as operações de leitura e escrita. -A configuração do `.offset` irá alterar o seu valor atual. +Setting the `.offset` will change its current value at the moment of the next read or write operation. - Se o valor passado for negativo, o arquivo `.offset` é definido para o início do arquivo (zero). - Se o valor passado for superior ao tamanho do arquivo, o arquivo `.offset` é definido para o fim do arquivo (tamanho do ficheiro). Esta propriedade é **read/write**. +Setting the `.offset` will change its current value at the moment of the next read or write operation. + +- Se o valor passado for negativo, o arquivo `.offset` é definido para o início do arquivo (zero). +- Se o valor passado for superior ao tamanho do arquivo, o arquivo `.offset` é definido para o fim do arquivo (tamanho do ficheiro). + +Esta propriedade é **read/write**. + +:::caution + +The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: + +```4d + // Open a european text file using utf-16 encoding (two bytes per character) + // We want to read the first 10 characters as bytes, then the remaining as text. +$fh:=File("/RESOURCES/sample_utf_16.txt").open() + // lê os 20 primeiros bytes (i.e. 10 caracteres) +$b:=$fh.readBlob(20) // $fh.offset=20 + // depois lê todo o texto saltando os primeiros 10 caracteres que acabámos de ler no blob anterior + // porque agora estamos a ler texto em vez de bytes, o significado de 'offset' não é o mesmo. + // We need to translate it from bytes to characters. +$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) +$s:=$fh.readText() +``` + +::: + @@ -484,6 +510,7 @@ Quando esta função é executada, a posição atual ([.offset](#offset)) é atu **.writeLine**( *lineOfText* : Text ) + | Parâmetro | Tipo | | Descrição | | ------------ | ---- | -- | -------------------------------------------- | From 2e9da6783c7e9edf98bc2794541ae6f50d421bf8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:16:54 +0200 Subject: [PATCH 173/265] New translations debugger.md (Portuguese, Brazilian) --- .../version-20-R2/Debugging/debugger.md | 36 +++---------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md index d8f16796f284a8..17dacb430899c2 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Debugging/debugger.md @@ -329,10 +329,7 @@ For more information on the Formula Editor, see the A compactação só está disponível no modo de manutenção. Se tentar realizar essa operação em modo padrão, uma caixa de diálogo de aviso informará que o banco de dados será fechado e reiniciado em modo manutenção. Pode compactar um arquivo de dados que não esteja aberto pelo banco de dados (ver [Compactar os registros e os índices](#compact-records-and-indexes) abaixo). ## Compactação standard -To directly begin the compacting of the data file, click on the compacting button in the MSC window. +Para iniciar diretamente a compactação do arquivo de dados, clique no botão de compactação na janela MSC. ![](../assets/en/MSC/MSC_compact.png) -> Since compacting involves the duplication of the original file, the button is disabled when there is not adequate space available on the disk containing the file. +> Já que a compactação envolve a duplicação do arquivo original, o botão é desativado quando não existir espaço suficiente disponível no disco que contém o arquivo. -Esta operação compacta o ficheiro principal, bem como quaisquer ficheiros de índice. 4D copies the original files and puts them in a folder named **Replaced Files (Compacting)**, which is created next to the original file. If you have carried out several compacting operations, a new folder is created each time. It will be named “Replaced Files (Compacting)_1”, “Replaced Files (Compacting)_2”, and so on. You can modify the folder where the original files are saved using the advanced mode. +Esta operação compacta o arquivo principal, bem como quaisquer arquivos de índice. 4D copia os arquivos originais e os coloca em uma pasta chamada **Replaced Files (Compacting)**, que é criada ao lado do arquivo original. Se tiver efetuado várias operações de compactação, é criada uma nova pasta de cada vez. Será denominado "arquivos substituídos (compactação)_1", "arquivos substituídos (compactação)_2", e assim por diante. Pode modificar a pasta onde os arquivos originais são guardados utilizando o modo avançado. -When the operation is completed, the compacted files automatically replace the original files. O banco de dados fica operacional imediatamente sem outras manipulações. -> When the database is encrypted, compacting includes decryption and encryption steps and thus, requires the current data encryption key. If no valid data key has already been provided, a dialog box requesting the passphrase or the data key is displayed. +Quando a operação estiver concluída, os arquivos compactados substituem automaticamente os arquivos originais. O banco de dados fica operacional imediatamente sem outras manipulações. +> Quando a base de dados está encriptada, a compactação inclui passos de desencriptação e encriptação e, por isso, requer a chave de encriptação de dados atual. Se ainda não tiver sido fornecida uma chave de dados válida, é apresentada uma caixa de diálogo que pede a frase-chave ou a chave de dados. -**Warning:** Each compacting operation involves the duplication of the original file which increases the size of the application folder. It is important to take this into account (especially under macOS where 4D applications appear as packages) so that the size of the application does not increase excessively. Manually removing the copies of the original file inside the package can be useful in order to keep the package size down. +**Aviso:** Cada operação de compactação envolve a duplicação do arquivo original, o que aumenta o tamanho da pasta da aplicação. É importante ter isto em conta (especialmente em macOS onde as aplicações 4D aparecem como pacotes) para que o tamanho da aplicação não aumente excessivamente. A remoção manual das cópias do arquivo original dentro do pacote pode ser útil para manter o tamanho do pacote reduzido. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a compactação termina, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: +Depois que a compactação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este arquivo permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Modo avançado -The Compact page contains an **Advanced>** button, which can be used to access an options page for compacting data file. +A página Compactar contém um botão **Advanced>** , que pode ser utilizado para acessar uma página de opções para compactar o arquivo de dados. ### Compactação de registros e índices -The **Compact records and indexes** area displays the pathname of the current data file as well as a **[...]** button that can be used to specify another data file. When you click on this button, a standard Open document dialog box is displayed so that you can designate the data file to be compacted. You must select a data file that is compatible with the open structure file. Once this dialog box has been validated, the pathname of the file to be compacted is indicated in the window. +A área **Compact records and indexes** apresenta o nome do caminho do arquivo de dados atual, bem como um botão **[...]** que pode ser utilizado para especificar outro arquivo de dados. Quando se clica neste botão, é apresentada uma caixa de diálogo padrão Abrir documento para que se possa designar o arquivo de dados a compactar. É necessário selecionar um arquivo de dados que seja compatível com o arquivo de estrutura aberta. Uma vez validada esta caixa de diálogo, o nome do caminho do arquivo a compactar é indicado na janela. -The second **[...]** button can be used to specify another location for the original files to be saved before the compacting operation. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. +O segundo botão **[...]** pode ser utilizado para especificar outra localização para os arquivos originais a serem guardados antes da operação de compactação. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. ### Forçar a atualização dos registos -When this option is checked, 4D rewrites every record for each table during the compacting operation, according to its description in the structure. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: +Quando esta opção estiver marcada, 4D reescreve cada registo para cada tabela durante a operação de compactação, de acordo com a sua descrição na estrutura. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: -- When field types are changed in the application structure after data were entered. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D even allows changes between two very different types (with risks of data loss), for instance a Real field can be changed to Text and vice versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. +- Quando os tipos de campo são alterados na estrutura da aplicação depois de os dados terem sido introduzidos. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D até permite mudanças entre dois tipos muito diferentes (com riscos de perda de dados), por exemplo, um campo Real pode ser mudado para Texto e vice-versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. -- When an external storage option for Text, Picture or BLOB data has been changed after data were entered. This can happen when databases are converted from a version prior to v13. As is the case with the retyping described above, 4D does not convert data already entered retroactively. To do this, you can force records to be updated in order to apply the new storage mode to records that have already been entered. +- Quando uma opção de armazenamento externo para dados de Texto, Imagem ou BLOB tiver sido alterada após a introdução dos dados. Isto pode acontecer quando as bases de dados são convertidas a partir de uma versão anterior à v13. Como é o caso da redigitação descrita acima, 4D não converte dados já inseridos retroativamente. Para isso, é possível forçar a atualização dos registros para aplicar o novo modo de armazenamento aos registros que já foram entrados. -- Quando as tabelas ou campos foram eliminados. In this case, compacting with updating of records recovers the space of these removed data and thus reduces file size. +- Quando as tabelas ou campos foram eliminados. Neste caso, a compactação com atualização de registos recupera o espaço destes dados removidos, reduzindo assim o tamanho do arquivo. > Todos os índices são atualizados quando esta opção é selecionada. ### Compactar a tabela de endereços (opção apenas ativa quando a opção anterior está marcada) -This option completely rebuilds the address table for the records during compacting. This optimizes the size of the address table and is mainly used for databases where large volumes of data were created and then deleted. Noutros casos, a otimização não é um fator decisivo. +Esta opção reconstrói completamente a tabela de endereços para os registos durante a compactação. Isto optimiza o tamanho da tabela de endereços e é utilizado principalmente para bases de dados onde foram criados e depois eliminados grandes volumes de dados. Noutros casos, a otimização não é um fator decisivo. -Note that this option substantially slows compacting and invalidates any sets saved using the `SAVE SET` command. Moreover, we strongly recommend deleting saved sets in this case because their use can lead to selections of incorrect data. +Note que esta opção atrasa substancialmente a compactação e invalida quaisquer conjuntos guardados com o comando `SAVE SET` . Além disso, recomendamos vivamente a eliminação dos conjuntos guardados neste caso, porque a sua utilização pode levar a selecções de dados incorrectos. :::note Notas -- Compacting takes records of tables that have been put into the Trash into account. If there are a large number of records in the Trash, this can be an additional factor that may slow down the operation. -- Using this option makes the address table, and thus the database, incompatible with the current journal file (if there is one). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. -- You can decide if the address table needs to be compacted by comparing the total number of records and the address table size in the [Information](information.md) page of the MSC. +- A compactação tem em conta os registos das tabelas que foram colocadas no Lixo. Se houver um grande número de registos no Lixo, este pode ser um fator adicional que pode tornar a operação mais lenta. +- A utilização desta opção torna a tabela de endereços e, consequentemente, a base de dados, incompatível com o arquivo de diário atual (se existir). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. +- Pode decidir se a tabela de endereços precisa de ser compactada, comparando o número total de registos e o tamanho da tabela de endereços na página [Information](information.md) do MSC. - O comando [`TRUNCATE TABLE`](https://doc.4d.com/4dv19R/help/command/en/page1051.html) reinicia automaticamente a tabela de endereços para a tabela especificada. ::: From 5b96acdb40a114c492e47124b38de17ac7d5de05 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:27:13 +0200 Subject: [PATCH 175/265] New translations repair.md (Portuguese, Brazilian) --- .../version-20-R2/MSC/repair.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/repair.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/repair.md index 6f19d5196dbaf7..8ce6fcd1cd01f8 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/repair.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/repair.md @@ -61,11 +61,11 @@ If several groups of records could not be assigned to tables due to a damaged ad Next select the table you want to assign to the group in the "Unassigned tables" table and click on the **Identify table** button. Também pode atribuir uma tabela utilizando a função arrastar e largar. The group of records is then associated with the table and it will be recovered in this table. Os nomes das tabelas atribuídas manualmente aparecem a preto. Use the **Ignore records** button to remove the association made manually between the table and the group of records. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a reparação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criado no formato XML e chamado: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: +Depois que a reparação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este arquivo permite visualizar todas as operações efectuadas. É criado no formato XML e chamado: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. From f43988afdc14dca1bb245e460ee88d7695d88e9c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 15:27:24 +0200 Subject: [PATCH 176/265] New translations verify.md (Portuguese, Brazilian) --- .../version-20-R2/MSC/verify.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/verify.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/verify.md index d9c72f37276869..f323ea6b0182aa 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/verify.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/MSC/verify.md @@ -19,14 +19,14 @@ A página contém botões de ação que fornecem acesso direto às funções de > > > Verification of records and indexes can also be carried out in detail mode, table by table (see the Details section below). -## Abrir ficheiro de registo +## Abrir arquivo de registo Independente da verificação solicitada, 4D gera um arquivo de histórico na pasta `Logs` do banco de dados. This file lists all the verifications carried out and indicates any errors encountered, when applicable ([OK] is displayed when the verification is correct). It is created in XML format and is named: *ApplicationName**Verify_Log**yyyy-mm-dd hh-mm-ss*.xml where: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Detalhes From 36971f15c9760c06828ccf7031fa7990bef39204 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:00:45 +0200 Subject: [PATCH 177/265] New translations CollectionClass.md (Spanish) --- .../current/API/CollectionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md index 3443458ff90970..cc191710c2b30d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -2228,7 +2228,7 @@ Si la colección está vacía, `.min()` devuelve *Undefined*. #### Descripción -The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections. +La función `.multiSort()` enables you to carry out a multi-level synchronized sort on a set of collections. > This function modifies the original collection as well as all collections used in *colsToSort* parameter. If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. Si *attributePath* lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después. From 87ca585fcec3ece3552a02c4a2f761f6adc563fd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:01:21 +0200 Subject: [PATCH 178/265] New translations CollectionClass.md (Portuguese, Brazilian) --- .../current/API/CollectionClass.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md index b961dbf695b329..435a03e43631b9 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -2177,10 +2177,10 @@ Se a coleção estiver vazia, `.min()` devolve *Undefined*. -| Parâmetro | Tipo | | Descrição | -| ---------- | ------------ |:--:| ----------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D. Function | -> | Objecto fórmula | -| colsToSort | Collection | -> | Collection of collections and/or objects with {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} properties | +| Parâmetro | Tipo | | Descrição | +| ---------- | ------------ |:--:| ----------------------------------------------------------------------------------------------------------------------- | +| formula | 4D. Function | -> | Objecto fórmula | +| colsToSort | Collection | -> | Coleção de colecções e/ou objetos com propriedades {`collection`:*colToSort*;`order`:`ck ascending` or `ck descending`} | | Resultados | Collection | <- | Colecção original ordenada| @@ -2189,7 +2189,7 @@ Se a coleção estiver vazia, `.min()` devolve *Undefined*. #### Descrição -The `.multiSort()` function enables you to carry out a multi-level synchronized sort on a set of collections. +A função `.multiSort()` enables you to carry out a multi-level synchronized sort on a set of collections. > This function modifies the original collection as well as all collections used in *colsToSort* parameter. If `.multiSort()` is called with no parameters, the function has the same effect as the [`.sort()`](#sort) function: the collection is sorted (only scalar values) in ascending order by default, according to their type. If the collection contains values of different types, they are first grouped by type and sorted afterwards. Se *attributePath* levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois. From 4204fa0e43831e9729b9b6a9634dca29bda3b2c9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:01:26 +0200 Subject: [PATCH 179/265] New translations DataStoreClass.md (Portuguese, Brazilian) --- .../current/API/DataStoreClass.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataStoreClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataStoreClass.md index 6ec30efc11caf1..cff9ff541227d4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataStoreClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataStoreClass.md @@ -1066,10 +1066,10 @@ persons.lastname, persons.firstname"; "main"; 30)
    Histórico -| Versão | Mudanças | -| ------ | -------------------------------------------- | -| v20 | Server side support, new `options` parameter | -| v17 R6 | Adicionado | +| Versão | Mudanças | +| ------ | ----------------------------------------------------- | +| v20 | Suporte do lado do servidor, novo parâmetro `options` | +| v17 R6 | Adicionado |
    @@ -1077,27 +1077,27 @@ persons.lastname, persons.firstname"; "main"; 30) -| Parâmetro | Tipo | | Descrição | -| --------- | -------- | -- | ----------------------------------------------------------------------------- | -| file | 4D. File | -> | Objeto File | -| options | Integer | -> | Opção de registo de resposta (apenas servidor) | -| reqNum | Integer | -> | Number of requests to keep in memory (client only)| +| Parâmetro | Tipo | | Descrição | +| --------- | -------- | -- | --------------------------------------------------------------------------------- | +| file | 4D. File | -> | Objeto File | +| options | Integer | -> | Opção de registo de resposta (apenas servidor) | +| reqNum | Integer | -> | Número de pedidos a manter na memória (apenas cliente)| | #### Descrição -A função `.startRequestLog()` starts the logging of ORDA requests on the client side or on the server side. Foi criado para depuração em configurações de cliente/servidor. +A função `.startRequestLog()` inicia o registo dos pedidos ORDA no lado do cliente ou no lado do servidor. Foi criado para depuração em configurações de cliente/servidor. :::info -For a description of the ORDA request log format, please refer to the [**ORDA requests**](../Debugging/debugLogFiles.md#orda-requests) section. +Para uma descrição do formato do registo de petições ORDA, consulte a secção [**petições ORDA**](../Debugging/debugLogFiles.md#orda-requests). ::: #### Do lado do cliente -To create a client-side ORDA request log, call this function on a remote machine. The log can be sent to a file or to memory, depending on the parameter type: +Para criar um registo de pedidos ORDA do lado do cliente, chame esta função numa máquina remota. The log can be sent to a file or to memory, depending on the parameter type: * Se passar um objeto *file* criado com o comando `File`, os dados de registro se escrevem neste arquivo como uma coleção de objetos (formato JSON). Cada objeto representa uma petição.
    Se o arquivo não existir, será criado. No caso contrário, ou seja, se o arquivo já existir, os novos dados de registro serão adicionados a ele. If `.startRequestLog()` is called with a file while a logging was previously started in memory, the memory log is stopped and emptied. > Deve adicionar manualmente um caractere \N ao final do arquivo para realizar uma validação JSON @@ -1111,13 +1111,13 @@ To create a client-side ORDA request log, call this function on a remote machine To create a server-side ORDA request log, call this function on the server machine. Os dados de registo são escritos num ficheiro no formato `.jsonl`. Cada objeto representa um pedido. Se o ficheiro ainda não existir, é criado. No caso contrário, ou seja, se o arquivo já existir, os novos dados de registro serão adicionados a ele. - If you passed the *file* parameter, the log data is written in this file, at the requested location. - If you omit the *file* parameter or if it is null, the log data is written in a file named *ordaRequests.jsonl* and stored in the "/LOGS" folder. -- The *options* parameter can be used to specify if the server response has to be logged, and if it should include the body. By default when the parameter is omitted, the full response is logged. The following constants can be used in this parameter: +- The *options* parameter can be used to specify if the server response has to be logged, and if it should include the body. By default when the parameter is omitted, the full response is logged. As seguintes constantes podem ser utilizadas neste parâmetro: -| Parâmetros | Descrição | -| ----------------------------- | ----------------------------------------- | -| srl log all | Log the response entirely (default value) | -| srl log no response | Desativar o registo da resposta | -| srl log response without body | Registar a resposta sem o corpo | +| Parâmetros | Descrição | +| ----------------------------- | -------------------------------------------------- | +| srl log all | Registar a resposta na íntegra (valor predefinido) | +| srl log no response | Desativar o registo da resposta | +| srl log response without body | Registar a resposta sem o corpo | #### Exemplo 1 @@ -1265,11 +1265,11 @@ Pode aninhar várias transações (subtransações). Cada transação ou subtran #### Descrição -A função `.stopRequestLog()` stops any logging of ORDA requests on the machine it is called (client or server). +A função `.stopRequestLog()` pára qualquer registo de pedidos ORDA na máquina a que é chamado (cliente ou servidor). -Fecha efetivamente o documento aberto no disco. On the client side, if the log was started in memory, it is stopped. +Fecha efetivamente o documento aberto no disco. No lado do cliente, se o registo tiver sido iniciado na memória, é interrompido. -This function does nothing if logging of ORDA requests was not started on the machine. +Esta função não faz nada se o registo dos pedidos ORDA não tiver sido iniciado na máquina. #### Exemplo From 204396dcbb03bf3fa39b81008ebf2bdb8b3baac5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:01:50 +0200 Subject: [PATCH 180/265] New translations FunctionClass.md (Spanish) --- .../current/API/FunctionClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/FunctionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/FunctionClass.md index 46983f8e0fb8b6..f16a917318d695 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/FunctionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/FunctionClass.md @@ -258,7 +258,7 @@ Llamar a una fórmula utilizando la notación de objetos: | Versión | Modificaciones | | ------- | ---------------------------------------------------------- | -| v20 R3 | Support of *context* parameter | +| v20 R3 | Soporte del parámetro *context* | | v17 R6 | Renombrado: New formula from string -> Formula from string | | v17 R3 | Añadidos | @@ -282,7 +282,7 @@ Llamar a una fórmula utilizando la notación de objetos: El comando `Formula from string` creates a `4D.Function` object based upon the *formulaString* and, optionnally, a *context*. . -This command is similar to [`Formula`](#formula), except that it handles a text-based formula and allows to define an execution context. It is usually recommended to use the `Formula` command, except if the original formula was expressed as text (e.g., stored externally in a JSON file), or if you want to create a formula in a host database while calling `Formula from string` from a component. Using syntax with tokens is highly advised with this command. +This command is similar to [`Formula`](#formula), except that it handles a text-based formula and allows to define an execution context. It is usually recommended to use the `Formula` command, except if the original formula was expressed as text (e.g., stored externally in a JSON file), or if you want to create a formula in a host database while calling `Formula from string` from a component. Se recomienda especialmente utilizar sintaxis con tokens con este comando. > Dado que no se puede acceder al contenido de las variables locales por su nombre en el modo compilado, no se pueden utilizar en *formulaString*. Un intento de acceder a una variable local con `Formula from string` dará lugar a un error (-10737). If the formula is created in a component, you might consider using the *context* parameter. By default, since formulas are executed in the context in which they were created, it will not be able to call a variable, function, or a non-shared method of the host database. In this case, you can pass the `sk execute in host database` constant in the *context* parameter to execute the `4D.Function` object in the context of the host database. Las siguientes constantes están disponibles: From 607f557727c75fac6421994f7970863c2127dd88 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:03:28 +0200 Subject: [PATCH 181/265] New translations webAdmin.md (Spanish) --- .../es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 97cac1754c0e27..2e0f3ed781c30d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Admin/webAdmin.md @@ -130,7 +130,7 @@ This option only appears if the Qodly Studio license is activated. ::: -This option enables user access to [Qodly Studio](../WebServer/qodly-studio.md) at the 4D application level. Note that you also need to [enable the access at every project level](../Settings/web.md#enable-access-to-qodly-studio). +Esta opción permite al usuario acceder a [Qodly Studio](../WebServer/qodly-studio.md) a nivel de la aplicación 4D. Tenga en cuenta que también debe habilitar el acceso a [en cada nivel de proyecto](../Settings/web.md#enable-access-to-qodly-studio). ## Configuración de WebAdmin sin interfaz From 67b371db166d88acfe825bb3162016f5255904b9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:05:17 +0200 Subject: [PATCH 182/265] New translations flow-control.md (Portuguese, Brazilian) --- .../current/Concepts/flow-control.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md index bded628c965da9..736daf28c8e464 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md @@ -308,7 +308,7 @@ Repeat {continue} Until(Boolean_Expression) ``` -A `Repeat...Until` loop is similar to a [While...End while](flow-control.md#whileend-while) loop, except that it tests the Boolean expression after the loop rather than before. Thus, a `Repeat...Until` loop always executes the loop once, whereas if the Boolean expression is initially False, a `While...End while` loop does not execute the loop at all. +Um ciclo `Repeat...Until` é como um ciclo [While...End while](flow-control.md#whileend-while), exceto que testa a expressão booleana depois do ciclo e não antes. Thus, a `Repeat...Until` loop always executes the loop once, whereas if the Boolean expression is initially False, a `While...End while` loop does not execute the loop at all. The other difference with a `Repeat...Until` loop is that the loop continues until the Boolean expression is TRUE. @@ -736,11 +736,11 @@ Pode passar qualquer uma das duas palavras chave em função das suas necessidad ## break e continue -All looping structures above support both `break` and `continue` statements. These statements give you more control over the loops by allowing to exit the loop and to bypass the current iteration at any moment. +Todas as estruturas de looping acima suportam as instruções `break` e `continue`. Estas instruções dão-lhe mais controlo sobre os loops, permitindo-lhe sair do ‘loop’ e ignorar a iteração atual a qualquer momento. ### break -The `break` statement terminates the loop containing it. Control of the program flows to the statement immediately after the body of the loop. +A instrução `break` termina o ciclo que a contém. Control of the program flows to the statement immediately after the body of the loop. If the `break` statement is inside a [nested loop](#nested-forend-for-looping-structures) (loop inside another loop), the `break` statement will terminate the innermost loop. From d634d278b5e2474997eb24fc813996158b120e82 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:15:48 +0200 Subject: [PATCH 183/265] New translations compact.md (Portuguese, Brazilian) --- .../current/MSC/compact.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/MSC/compact.md b/i18n/pt/docusaurus-plugin-content-docs/current/MSC/compact.md index a702e023c52e9a..9c1c3ff0b95591 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/MSC/compact.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/MSC/compact.md @@ -4,75 +4,75 @@ title: Página compactado sidebar_label: Página compactado --- -Esta página é utilizada para aceder às funções de compactação de ficheiros de dados. +Esta página é utilizada para aceder às funções de compactação de arquivos de dados. -## Porquê compactar seus ficheiros? +## Porquê compactar seus arquivos? A compactação de ficheiros responde a dois tipos de necessidades: -- **Redução do tamanho e otimização dos arquivos**: os arquivos podem conter espaços não utilizados ("ocos"). In fact, when you delete records, the space that they occupied previously in the file becomes empty. 4D reuses these empty spaces whenever possible, but since data size is variable, successive deletions or modifications will inevitably generate unusable space for the program. The same goes when a large quantity of data has just been deleted: the empty spaces remain unassigned in the file. The ratio between the size of the data file and the space actually used for the data is the occupation rate of the data. A rate that is too low can lead, in addition to a waste of space, to the deterioration of database performance. Compacting can be used to reorganize and optimize storage of the data in order to remove the “holes”. The “Information” area summarizes the data concerning the fragmentation of the file and suggests operations to be carried out. The [Data](information.md#data) tab on the “Information” page of the MSC indicates the fragmentation of the current data file. +- **Redução do tamanho e otimização dos arquivos**: os arquivos podem conter espaços não utilizados ("ocos"). De fato, quando se eliminam registos, o espaço que estes ocupavam anteriormente no arquivo fica vazio. 4D reutiliza esses espaços vazios sempre que possível, mas como o tamanho dos dados é variável, eliminações ou modificações sucessivas inevitavelmente geram espaço inutilizável para o programa. O mesmo acontece quando uma grande quantidade de dados acaba de ser eliminada: os espaços vazios ficam por atribuir no arquivo. A relação entre o tamanho do arquivo de dados e o espaço efetivamente utilizado para os dados é a taxa de ocupação dos dados. Uma taxa demasiado baixa pode levar, para além de um desperdício de espaço, à deterioração do desempenho da base de dados. A compactação pode ser utilizada para reorganizar e otimizar o armazenamento dos dados, de modo a eliminar os "buracos". A área "Informação" resume os dados relativos à fragmentação do arquivo e sugere operações a realizar. O separador [Data](information.md#data) na página "Information" (Informações) do MSC indica a fragmentação do arquivo de dados atual. -- **Complete updating of data** by applying the current formatting set in the structure file. This is useful when data from the same table were stored in different formats, for example after a change in the database structure. +- **Atualização completa dos dados** aplicando a formatação atual definida no arquivo de estrutura. Isto é útil quando os dados da mesma tabela foram armazenados em formatos diferentes, por exemplo, após uma alteração na estrutura da base de dados. > A compactação só está disponível no modo de manutenção. Se tentar realizar essa operação em modo padrão, uma caixa de diálogo de aviso informará que o banco de dados será fechado e reiniciado em modo manutenção. Pode compactar um arquivo de dados que não esteja aberto pelo banco de dados (ver [Compactar os registros e os índices](#compact-records-and-indexes) abaixo). ## Compactação standard -To directly begin the compacting of the data file, click on the compacting button in the MSC window. +Para iniciar diretamente a compactação do arquivo de dados, clique no botão de compactação na janela MSC. ![](../assets/en/MSC/MSC_compact.png) -> Since compacting involves the duplication of the original file, the button is disabled when there is not adequate space available on the disk containing the file. +> Já que a compactação envolve a duplicação do arquivo original, o botão é desativado quando não existir espaço suficiente disponível no disco que contém o arquivo. -Esta operação compacta o ficheiro principal, bem como quaisquer ficheiros de índice. 4D copies the original files and puts them in a folder named **Replaced Files (Compacting)**, which is created next to the original file. If you have carried out several compacting operations, a new folder is created each time. It will be named “Replaced Files (Compacting)_1”, “Replaced Files (Compacting)_2”, and so on. You can modify the folder where the original files are saved using the advanced mode. +Esta operação compacta o arquivo principal, bem como quaisquer arquivos de índice. 4D copia os arquivos originais e os coloca em uma pasta chamada **Replaced Files (Compacting)**, que é criada ao lado do arquivo original. Se tiver efetuado várias operações de compactação, é criada uma nova pasta de cada vez. Será denominado "arquivos substituídos (compactação)_1", "arquivos substituídos (compactação)_2", e assim por diante. Pode modificar a pasta onde os arquivos originais são guardados utilizando o modo avançado. -When the operation is completed, the compacted files automatically replace the original files. O banco de dados fica operacional imediatamente sem outras manipulações. -> When the database is encrypted, compacting includes decryption and encryption steps and thus, requires the current data encryption key. If no valid data key has already been provided, a dialog box requesting the passphrase or the data key is displayed. +Quando a operação estiver concluída, os arquivos compactados substituem automaticamente os arquivos originais. O banco de dados fica operacional imediatamente sem outras manipulações. +> Quando a base de dados está encriptada, a compactação inclui passos de desencriptação e encriptação e, por isso, requer a chave de encriptação de dados atual. Se ainda não tiver sido fornecida uma chave de dados válida, é apresentada uma caixa de diálogo que pede a frase-chave ou a chave de dados. -**Warning:** Each compacting operation involves the duplication of the original file which increases the size of the application folder. It is important to take this into account (especially under macOS where 4D applications appear as packages) so that the size of the application does not increase excessively. Manually removing the copies of the original file inside the package can be useful in order to keep the package size down. +**Aviso:** Cada operação de compactação envolve a duplicação do arquivo original, o que aumenta o tamanho da pasta da aplicação. É importante ter isto em conta (especialmente em macOS onde as aplicações 4D aparecem como pacotes) para que o tamanho da aplicação não aumente excessivamente. A remoção manual das cópias do arquivo original dentro do pacote pode ser útil para manter o tamanho do pacote reduzido. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a compactação termina, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: +Depois que a compactação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este arquivo permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Modo avançado -The Compact page contains an **Advanced>** button, which can be used to access an options page for compacting data file. +A página Compactar contém um botão **Advanced>** , que pode ser utilizado para acessar uma página de opções para compactar o arquivo de dados. ### Compactação de registros e índices -The **Compact records and indexes** area displays the pathname of the current data file as well as a **[...]** button that can be used to specify another data file. When you click on this button, a standard Open document dialog box is displayed so that you can designate the data file to be compacted. You must select a data file that is compatible with the open structure file. Once this dialog box has been validated, the pathname of the file to be compacted is indicated in the window. +A área **Compact records and indexes** apresenta o nome do caminho do arquivo de dados atual, bem como um botão **[...]** que pode ser utilizado para especificar outro arquivo de dados. Quando se clica neste botão, é apresentada uma caixa de diálogo padrão Abrir documento para que se possa designar o arquivo de dados a compactar. É necessário selecionar um arquivo de dados que seja compatível com o arquivo de estrutura aberta. Uma vez validada esta caixa de diálogo, o nome do caminho do arquivo a compactar é indicado na janela. -The second **[...]** button can be used to specify another location for the original files to be saved before the compacting operation. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. +O segundo botão **[...]** pode ser utilizado para especificar outra localização para os arquivos originais a serem guardados antes da operação de compactação. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. ### Forçar a atualização dos registos -When this option is checked, 4D rewrites every record for each table during the compacting operation, according to its description in the structure. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: +Quando esta opção estiver marcada, 4D reescreve cada registo para cada tabela durante a operação de compactação, de acordo com a sua descrição na estrutura. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: -- When field types are changed in the application structure after data were entered. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D even allows changes between two very different types (with risks of data loss), for instance a Real field can be changed to Text and vice versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. +- Quando os tipos de campo são alterados na estrutura da aplicação depois de os dados terem sido introduzidos. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D até permite mudanças entre dois tipos muito diferentes (com riscos de perda de dados), por exemplo, um campo Real pode ser mudado para Texto e vice-versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. -- When an external storage option for Text, Picture or BLOB data has been changed after data were entered. This can happen when databases are converted from a version prior to v13. As is the case with the retyping described above, 4D does not convert data already entered retroactively. To do this, you can force records to be updated in order to apply the new storage mode to records that have already been entered. +- Quando uma opção de armazenamento externo para dados de Texto, Imagem ou BLOB tiver sido alterada após a introdução dos dados. Isto pode acontecer quando as bases de dados são convertidas a partir de uma versão anterior à v13. Como é o caso da redigitação descrita acima, 4D não converte dados já inseridos retroativamente. Para isso, é possível forçar a atualização dos registros para aplicar o novo modo de armazenamento aos registros que já foram entrados. -- Quando as tabelas ou campos foram eliminados. In this case, compacting with updating of records recovers the space of these removed data and thus reduces file size. +- Quando as tabelas ou campos foram eliminados. Neste caso, a compactação com atualização de registos recupera o espaço destes dados removidos, reduzindo assim o tamanho do arquivo. > Todos os índices são atualizados quando esta opção é selecionada. ### Compactar a tabela de endereços (opção apenas ativa quando a opção anterior está marcada) -This option completely rebuilds the address table for the records during compacting. This optimizes the size of the address table and is mainly used for databases where large volumes of data were created and then deleted. Noutros casos, a otimização não é um fator decisivo. +Esta opção reconstrói completamente a tabela de endereços para os registos durante a compactação. Isto optimiza o tamanho da tabela de endereços e é utilizado principalmente para bases de dados onde foram criados e depois eliminados grandes volumes de dados. Noutros casos, a otimização não é um fator decisivo. -Note that this option substantially slows compacting and invalidates any sets saved using the `SAVE SET` command. Moreover, we strongly recommend deleting saved sets in this case because their use can lead to selections of incorrect data. +Note que esta opção atrasa substancialmente a compactação e invalida quaisquer conjuntos guardados com o comando `SAVE SET` . Além disso, recomendamos vivamente a eliminação dos conjuntos guardados neste caso, porque a sua utilização pode levar a selecções de dados incorrectos. :::note Notas -- Compacting takes records of tables that have been put into the Trash into account. If there are a large number of records in the Trash, this can be an additional factor that may slow down the operation. -- Using this option makes the address table, and thus the database, incompatible with the current journal file (if there is one). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. -- You can decide if the address table needs to be compacted by comparing the total number of records and the address table size in the [Information](information.md) page of the MSC. +- A compactação tem em conta os registos das tabelas que foram colocadas no Lixo. Se houver um grande número de registos no Lixo, este pode ser um fator adicional que pode tornar a operação mais lenta. +- A utilização desta opção torna a tabela de endereços e, consequentemente, a base de dados, incompatível com o arquivo de diário atual (se existir). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. +- Pode decidir se a tabela de endereços precisa de ser compactada, comparando o número total de registos e o tamanho da tabela de endereços na página [Information](information.md) do MSC. - O comando [`TRUNCATE TABLE`](https://doc.4d.com/4dv19R/help/command/en/page1051.html) reinicia automaticamente a tabela de endereços para a tabela especificada. ::: From 35dcd9b32e8655d317d225ce76ecfddf89bb260c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:15:51 +0200 Subject: [PATCH 184/265] New translations repair.md (Portuguese, Brazilian) --- i18n/pt/docusaurus-plugin-content-docs/current/MSC/repair.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/MSC/repair.md b/i18n/pt/docusaurus-plugin-content-docs/current/MSC/repair.md index 6f19d5196dbaf7..64e0e17282b057 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/MSC/repair.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/MSC/repair.md @@ -66,6 +66,6 @@ Next select the table you want to assign to the group in the "Unassigned tables" Depois que a reparação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criado no formato XML e chamado: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. From 085b3c7f127f31d5ae41caec43c1ca9f62620875 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:16:25 +0200 Subject: [PATCH 185/265] New translations verify.md (Portuguese, Brazilian) --- .../pt/docusaurus-plugin-content-docs/current/MSC/verify.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/MSC/verify.md b/i18n/pt/docusaurus-plugin-content-docs/current/MSC/verify.md index d9c72f37276869..f323ea6b0182aa 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/MSC/verify.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/MSC/verify.md @@ -19,14 +19,14 @@ A página contém botões de ação que fornecem acesso direto às funções de > > > Verification of records and indexes can also be carried out in detail mode, table by table (see the Details section below). -## Abrir ficheiro de registo +## Abrir arquivo de registo Independente da verificação solicitada, 4D gera um arquivo de histórico na pasta `Logs` do banco de dados. This file lists all the verifications carried out and indicates any errors encountered, when applicable ([OK] is displayed when the verification is correct). It is created in XML format and is named: *ApplicationName**Verify_Log**yyyy-mm-dd hh-mm-ss*.xml where: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Detalhes From 3adf47da0ba4a4a4210c456f347bf7b6a4aa3665 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 11 Sep 2023 23:20:42 +0200 Subject: [PATCH 186/265] New translations method-list.md (Spanish) --- .../current/ViewPro/method-list.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md index 638b1fb9478b3c..a08f8b8984bea6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/method-list.md @@ -975,29 +975,29 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para | sheet | number | PDF únicamente (opcional) - Índice de la hoja a exportar (empezando por 0). -2=todas las hojas visibles (**por defecto**), -1= sólo la hoja actual | | pdfOptions | object | PDF únicamente (opcional) - Opciones para la exportación en pdf

    PropiedadTipoDescripción
    creatortextnombre de la aplicación que creó el documento original a partir del cual se convirtió.
    titletexttítulo del documento.
    authortextnombre de la persona que creó ese documento.
    keywordstextpalabras clave asociadas al documento.
    asuntotextasunto del documento.

    | | csvOptions | object | CSV únicamente (opcional) - Opciones para la exportación en csv

    PropiedadTipoDescripción
    rangeobjectObjeto rango de celdas
    rowDelimitertextDelimitador de línea. Por defecto: "\r\n"
    columnDelimitertextDelimitador de columna. Por defecto: ","

    | -| sjsOptions | object | SJS only (optional) - Options for sjs export

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleanwhether to include the automatically merged cells, default is false.
    includeBindingSourcebooleanwhether to include the binding source, default is true.
    includeCalcModelCachebooleanwhether to include the extra data of calculation. Can be faster when open the file with those data, default is false.
    includeEmptyRegionCellsbooleanwhether to include any empty cells (cells with no data or only style) outside the used data range, default is true.
    includeFormulasbooleanwhether to include the formulas, default is true.
    includeStylesbooleanwhether to include the style, default is true.
    includeUnusedNamesbooleanwhether to include the unused custom names, default is true.
    saveAsViewbooleanwhether to apply the format string to exporting values, default is false.

    | +| sjsOptions | object | Sólo SJS (opcional) - Opciones para la exportación sjs

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleansi incluir las celdas fusionadas automáticamente, por defecto es false.
    includeBindingSourcebooleansi incluir la fuente de vinculación, por defecto es true.
    includeCalcModelCachebooleansi desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, por defecto es false.
    includeEmptyRegionCellsbooleansi se incluyen celdas vacías (celdas sin datos o sólo con estilo) fuera del rango de datos utilizado, por defecto es true.
    includeFormulasbooleansi incluir las fórmulas, por defecto es true.
    includeStylesbooleansi incluir el estilo, por defecto es true.
    includeUnusedNamesbooleansi incluir los nombres personalizados no utilizados, por defecto es true.
    saveAsViewbooleansi aplicar la cadena de formato a los valores exportados, por defecto es false.

    | | `\` | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | **Notas sobre el formato Excel**: * Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otros parámetros con [esta lista de GrapeCity](http://help.grapecity.com/spread/SpreadSheets10/webframe.html#excelexport.html). -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. **Notas sobre formato PDF**: * Al exportar un documento 4D View Pro en PDF, las fuentes utilizadas en el documento se integran automáticamente en el archivo PDF. Sólo se pueden integrar las fuentes OpenType (archivos .OTF o .TTF) que tengan un tabla Unicode. Si no se encuentra un archivo de fuentes válido para una fuente, se utiliza una fuente por defecto. -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. **Notas sobre el formato CSV**: * Al exportar un documento 4D View Pro al formato CSV, es posible que se pierdan algunos parámetros, ya que sólo se guardan el texto y los valores. * Todos los valores se guardan como cadenas entre comillas. Para más información sobre los valores separados por delimitadores, consulte [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values). -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. **Notas sobre el formato de archivo SpreadJS**: * [SpreadJS files](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) are zipped files. -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. Una vez finalizada la exportación, `VP EXPORT DOCUMENTO` desencadena automáticamente la ejecución del método definido en la propiedad *formula* de *paramObj*, si se utiliza. @@ -3047,7 +3047,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento | | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. | | | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. | | | columnDelimiter | text | Delimitador de columna. Por defecto: "," | -| sjsOptions | | object | options for sjs import | +| sjsOptions | | object | opciones para la importación de sjs | | | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default is false. | | | dynamicReferences | boolean | Whether to calculate functions with dynamic references, default is true. | | | fullRecalc | boolean | Whether to calculate after loading the json data, false by default. | From 221f1ea26ba8e7a13de340722c1453afdbecc464 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:12:16 +0200 Subject: [PATCH 187/265] New translations client-server.md (Portuguese, Brazilian) --- .../current/settings/client-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/settings/client-server.md b/i18n/pt/docusaurus-plugin-content-docs/current/settings/client-server.md index 90de9624e9f9e4..cd27800e0608ac 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/settings/client-server.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/settings/client-server.md @@ -36,7 +36,7 @@ To update any other client machines that are not connected, you just need to ent > Only databases published on the same port as the one set in 4D client are visible on the TCP/IP dynamic publication page. -#### 4D Server and port numbers +#### 4D Server e números de portas 4D Server uses three TCP ports for communications between internal servers and clients: From 1c99e430416e698eb2c3261b059bf8b0b0802e2a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:18:59 +0200 Subject: [PATCH 188/265] New translations compact.md (Portuguese, Brazilian) --- .../version-18/MSC/compact.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/compact.md b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/compact.md index 74bb84b6961e27..81d776677b271d 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/compact.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/compact.md @@ -4,68 +4,68 @@ title: Página compactado sidebar_label: Página compactado --- -Esta página é utilizada para aceder às funções de compactação de ficheiros de dados. +Esta página é utilizada para aceder às funções de compactação de arquivos de dados. -## Porquê compactar seus ficheiros? +## Porquê compactar seus arquivos? A compactação de ficheiros responde a dois tipos de necessidades: -- **Redução do tamanho e otimização dos arquivos**: os arquivos podem conter espaços não utilizados ("ocos"). In fact, when you delete records, the space that they occupied previously in the file becomes empty. 4D reuses these empty spaces whenever possible, but since data size is variable, successive deletions or modifications will inevitably generate unusable space for the program. The same goes when a large quantity of data has just been deleted: the empty spaces remain unassigned in the file. The ratio between the size of the data file and the space actually used for the data is the occupation rate of the data. A rate that is too low can lead, in addition to a waste of space, to the deterioration of database performance. Compacting can be used to reorganize and optimize storage of the data in order to remove the “holes”. The “Information” area summarizes the data concerning the fragmentation of the file and suggests operations to be carried out. The [Data](information.md#data) tab on the “Information” page of the MSC indicates the fragmentation of the current data file. +- **Redução do tamanho e otimização dos arquivos**: os arquivos podem conter espaços não utilizados ("ocos"). De fato, quando se eliminam registos, o espaço que estes ocupavam anteriormente no arquivo fica vazio. 4D reutiliza esses espaços vazios sempre que possível, mas como o tamanho dos dados é variável, eliminações ou modificações sucessivas inevitavelmente geram espaço inutilizável para o programa. O mesmo acontece quando uma grande quantidade de dados acaba de ser eliminada: os espaços vazios ficam por atribuir no arquivo. A relação entre o tamanho do arquivo de dados e o espaço efetivamente utilizado para os dados é a taxa de ocupação dos dados. Uma taxa demasiado baixa pode levar, para além de um desperdício de espaço, à deterioração do desempenho da base de dados. A compactação pode ser utilizada para reorganizar e otimizar o armazenamento dos dados, de modo a eliminar os "buracos". A área "Informação" resume os dados relativos à fragmentação do arquivo e sugere operações a realizar. O separador [Data](information.md#data) na página "Information" (Informações) do MSC indica a fragmentação do arquivo de dados atual. -- **Complete updating of data** by applying the current formatting set in the structure file. This is useful when data from the same table were stored in different formats, for example after a change in the database structure. +- **Atualização completa dos dados** aplicando a formatação atual definida no arquivo de estrutura. Isto é útil quando os dados da mesma tabela foram armazenados em formatos diferentes, por exemplo, após uma alteração na estrutura da base de dados. > A compactação só está disponível no modo de manutenção. If you attempt to carry out this operation in standard mode, a warning dialog box will inform you that the database will be closed and restarted in maintenance mode. You can compact a data file that is not opened by the database (see [Compact records and indexes](#compact-records-and-indexes) below). ## Compactação standard -To directly begin the compacting of the data file, click on the compacting button in the MSC window. +Para iniciar diretamente a compactação do arquivo de dados, clique no botão de compactação na janela MSC. ![](../assets/en/MSC/MSC_compact.png) -> Since compacting involves the duplication of the original file, the button is disabled when there is not adequate space available on the disk containing the file. +> Já que a compactação envolve a duplicação do arquivo original, o botão é desativado quando não existir espaço suficiente disponível no disco que contém o arquivo. -Esta operação compacta o ficheiro principal, bem como quaisquer ficheiros de índice. 4D copies the original files and puts them in a folder named **Replaced Files (Compacting)**, which is created next to the original file. If you have carried out several compacting operations, a new folder is created each time. It will be named “Replaced Files (Compacting)_1”, “Replaced Files (Compacting)_2”, and so on. You can modify the folder where the original files are saved using the advanced mode. +Esta operação compacta o arquivo principal, bem como quaisquer arquivos de índice. 4D copia os arquivos originais e os coloca em uma pasta chamada **Replaced Files (Compacting)**, que é criada ao lado do arquivo original. Se tiver efetuado várias operações de compactação, é criada uma nova pasta de cada vez. Será denominado "arquivos substituídos (compactação)_1", "arquivos substituídos (compactação)_2", e assim por diante. Pode modificar a pasta onde os arquivos originais são guardados utilizando o modo avançado. -When the operation is completed, the compacted files automatically replace the original files. The database is immediately operational without any further manipulation. -> When the database is encrypted, compacting includes decryption and encryption steps and thus, requires the current data encryption key. If no valid data key has already been provided, a dialog box requesting the passphrase or the data key is displayed. +Quando a operação estiver concluída, os arquivos compactados substituem automaticamente os arquivos originais. The database is immediately operational without any further manipulation. +> Quando a base de dados está encriptada, a compactação inclui passos de desencriptação e encriptação e, por isso, requer a chave de encriptação de dados atual. Se ainda não tiver sido fornecida uma chave de dados válida, é apresentada uma caixa de diálogo que pede a frase-chave ou a chave de dados. -**Warning:** Each compacting operation involves the duplication of the original file which increases the size of the application folder. It is important to take this into account (especially under macOS where 4D applications appear as packages) so that the size of the application does not increase excessively. Manually removing the copies of the original file inside the package can be useful in order to keep the package size down. +**Aviso:** Cada operação de compactação envolve a duplicação do arquivo original, o que aumenta o tamanho da pasta da aplicação. É importante ter isto em conta (especialmente em macOS onde as aplicações 4D aparecem como pacotes) para que o tamanho da aplicação não aumente excessivamente. A remoção manual das cópias do arquivo original dentro do pacote pode ser útil para manter o tamanho do pacote reduzido. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a compactação é completada, 4D gera um arquivo de log na pasta Logs da base de dados. Este ficheiro permite visualizar todas as operações efectuadas. It is created in XML format and named: *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" where: +Depois que a compactação é completada, 4D gera um arquivo de log na pasta Logs da base de dados. Este arquivo permite visualizar todas as operações efectuadas. It is created in XML format and named: *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" where: - *DatabaseName* is the name of the project file without any extension, for example "Invoices", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Modo avançado -The Compact page contains an **Advanced>** button, which can be used to access an options page for compacting data file. +A página Compactar contém um botão **Advanced>** , que pode ser utilizado para acessar uma página de opções para compactar o arquivo de dados. ### Compactação de registros e índices -The **Compact records and indexes** area displays the pathname of the current data file as well as a **[...]** button that can be used to specify another data file. When you click on this button, a standard Open document dialog box is displayed so that you can designate the data file to be compacted. You must select a data file that is compatible with the open structure file. Once this dialog box has been validated, the pathname of the file to be compacted is indicated in the window. +A área **Compact records and indexes** apresenta o nome do caminho do arquivo de dados atual, bem como um botão **[...]** que pode ser utilizado para especificar outro arquivo de dados. Quando se clica neste botão, é apresentada uma caixa de diálogo padrão Abrir documento para que se possa designar o arquivo de dados a compactar. É necessário selecionar um arquivo de dados que seja compatível com o arquivo de estrutura aberta. Uma vez validada esta caixa de diálogo, o nome do caminho do arquivo a compactar é indicado na janela. -The second **[...]** button can be used to specify another location for the original files to be saved before the compacting operation. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. +O segundo botão **[...]** pode ser utilizado para especificar outra localização para os arquivos originais a serem guardados antes da operação de compactação. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. ### Forçar a atualização dos registos -When this option is checked, 4D rewrites every record for each table during the compacting operation, according to its description in the structure. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: +Quando esta opção estiver marcada, 4D reescreve cada registo para cada tabela durante a operação de compactação, de acordo com a sua descrição na estrutura. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: -- When field types are changed in the application structure after data were entered. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D even allows changes between two very different types (with risks of data loss), for instance a Real field can be changed to Text and vice versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. +- Quando os tipos de campo são alterados na estrutura da aplicação depois de os dados terem sido introduzidos. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D até permite mudanças entre dois tipos muito diferentes (com riscos de perda de dados), por exemplo, um campo Real pode ser mudado para Texto e vice-versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. -- When an external storage option for Text, Picture or BLOB data has been changed after data were entered. This can happen when databases are converted from a version prior to v13. As is the case with the retyping described above, 4D does not convert data already entered retroactively. To do this, you can force records to be updated in order to apply the new storage mode to records that have already been entered. +- Quando uma opção de armazenamento externo para dados de Texto, Imagem ou BLOB tiver sido alterada após a introdução dos dados. Isto pode acontecer quando as bases de dados são convertidas a partir de uma versão anterior à v13. Como é o caso da redigitação descrita acima, 4D não converte dados já inseridos retroativamente. Para isso, é possível forçar a atualização dos registros para aplicar o novo modo de armazenamento aos registros que já foram entrados. -- Quando as tabelas ou campos foram eliminados. In this case, compacting with updating of records recovers the space of these removed data and thus reduces file size. +- Quando as tabelas ou campos foram eliminados. Neste caso, a compactação com atualização de registos recupera o espaço destes dados removidos, reduzindo assim o tamanho do arquivo. > Todos os índices são atualizados quando esta opção é selecionada. ### Compactar a tabela de endereços (opção apenas ativa quando a opção anterior está marcada) -This option completely rebuilds the address table for the records during compacting. This optimizes the size of the address table and is mainly used for databases where large volumes of data were created and then deleted. Noutros casos, a otimização não é um fator decisivo. +Esta opção reconstrói completamente a tabela de endereços para os registos durante a compactação. Isto optimiza o tamanho da tabela de endereços e é utilizado principalmente para bases de dados onde foram criados e depois eliminados grandes volumes de dados. Noutros casos, a otimização não é um fator decisivo. -Note that this option substantially slows compacting and invalidates any sets saved using the `SAVE SET` command. Moreover, we strongly recommend deleting saved sets in this case because their use can lead to selections of incorrect data. -> - Compacting takes records of tables that have been put into the Trash into account. If there are a large number of records in the Trash, this can be an additional factor that may slow down the operation. -> - Using this option makes the address table, and thus the database, incompatible with the current journal file (if there is one). It will be saved automatically and a new journal file will have to be created the next time the database is launched. -> - You can decide if the address table needs to be compacted by comparing the total number of records and the address table size in the [Information](information.md) page of the MSC. +Note que esta opção atrasa substancialmente a compactação e invalida quaisquer conjuntos guardados com o comando `SAVE SET` . Além disso, recomendamos vivamente a eliminação dos conjuntos guardados neste caso, porque a sua utilização pode levar a selecções de dados incorrectos. +> - A compactação tem em conta os registos das tabelas que foram colocadas no Lixo. Se houver um grande número de registos no Lixo, este pode ser um fator adicional que pode tornar a operação mais lenta. +> - A utilização desta opção torna a tabela de endereços e, consequentemente, a base de dados, incompatível com o arquivo de diário atual (se existir). It will be saved automatically and a new journal file will have to be created the next time the database is launched. +> - Pode decidir se a tabela de endereços precisa de ser compactada, comparando o número total de registos e o tamanho da tabela de endereços na página [Information](information.md) do MSC. From ec23403523041a7d2e74375181813731e00d35c2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:19:33 +0200 Subject: [PATCH 189/265] New translations repair.md (Portuguese, Brazilian) --- .../version-18/MSC/repair.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/repair.md b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/repair.md index 473f23f769902f..f51633465acec4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/repair.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/repair.md @@ -61,11 +61,11 @@ If several groups of records could not be assigned to tables due to a damaged ad Next select the table you want to assign to the group in the "Unassigned tables" table and click on the **Identify table** button. Também pode atribuir uma tabela utilizando a função arrastar e largar. The group of records is then associated with the table and it will be recovered in this table. Os nomes das tabelas atribuídas manualmente aparecem a preto. Use the **Ignore records** button to remove the association made manually between the table and the group of records. -## Abrir ficheiro de registo +## Abrir arquivo de registo -After repair is completed, 4D generates a log file in the Logs folder of the database. Este ficheiro permite visualizar todas as operações efectuadas. It is created in XML format and named: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" where: +After repair is completed, 4D generates a log file in the Logs folder of the database. Este arquivo permite visualizar todas as operações efectuadas. It is created in XML format and named: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" where: - *DatabaseName* is the name of the project file without any extension, for example "Invoices", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. From 2ec94737ec2cff6a216d2c0b2a9c3eb6f566739d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:19:36 +0200 Subject: [PATCH 190/265] New translations verify.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-18/MSC/verify.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/verify.md b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/verify.md index a9691a61d9b003..82a2bbaf20ea86 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/verify.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-18/MSC/verify.md @@ -16,14 +16,14 @@ A página contém botões de ação que fornecem acesso direto às funções de - **Verify the indexes only**: Starts the verification procedure for indexes only (records are not verified). > > > Verification of records and indexes can also be carried out in detail mode, table by table (see the Details section below). -## Abrir ficheiro de registo +## Abrir arquivo de registo Regardless of the verification requested, 4D generates a log file in the `Logs` folder of the database. This file lists all the verifications carried out and indicates any errors encountered, when applicable ([OK] is displayed when the verification is correct). It is created in XML format and is named: *DatabaseName**Verify_Log**yyyy-mm-dd hh-mm-ss*.xml where: - *DatabaseName* is the name of the project file without any extension, for example "Invoices", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Detalhes From f1d3b7478700205f5f337469c7c8a6ce0c3d8ba7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:44:42 +0200 Subject: [PATCH 191/265] New translations components.md (Portuguese, Brazilian) --- .../version-19/Concepts/components.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/components.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/components.md index 0c17aa6e2a4d26..28d56bf9017dee 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/components.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/components.md @@ -17,8 +17,8 @@ A 4D component is a set of 4D methods and forms representing one or more functio Creating and installing 4D components is carried out directly from 4D. Basically, components are managed like [plug-ins](Concepts/plug-ins.md) according to the following principles: -- A component consists of a regular 4D project file. -- To install a component, you simply need to copy it into the [`Components` folder of the project](Project/architecture.md). Pode usar pseudónimos ou atalhos. +- Um componente é constituído por um ficheiro de projeto 4D clássico. +- Para instalar um componente, basta copiá-lo para a pasta [`Components` do projeto](Project/architecture.md). Pode usar pseudónimos ou atalhos. - A project can be both a “matrix” and a “host,” in other words, a matrix project can itself use one or more components. No entanto, um componente não pode utilizar ele próprio "subcomponentes". - A component can call on most of the 4D elements: project methods, project forms, menu bars, choice lists, and so on. Não pode chamar métodos de bancos de dados e triggers. - Não é possível utilizar tabelas standard ou ficheiros de dados em componentes 4D. Entretanto um componente não pode criar ou usar tabelas, campos e arquivos de dados usando mecanismos de bancos de dados externos. São bancos 4D independentes com as que se trabalha utilizando comandos SQL. From 109de5e60b2b6dd7fceafecf5481ac3cf7ebab94 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:46:00 +0200 Subject: [PATCH 192/265] New translations plug-ins.md (Portuguese, Brazilian) --- .../version-19/Concepts/plug-ins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/plug-ins.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/plug-ins.md index c2b37020be94f0..fb9ea4a8ff5ee4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/plug-ins.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/plug-ins.md @@ -45,7 +45,7 @@ You install plug-ins in the 4D environment by copying their files into the appro “PluginName.bundle” folders contain both Windows and macOS versions of 4D plug-ins. Their specific internal architecture lets 4D Server load the appropriate version according to the platform where the client machine will be run. To install a plug-in in your environment, you just need to put the “PluginName.bundle” folder or package concerned into the desired **Plugins** folder. -You can put the Plugins folder in two different places: +Pode colocar a pasta Plugins em dois locais diferentes: - At the level of the 4D executable application, i.e.: - No Windows: junto ao ficheiro .exe From e463f6353272b7b0881fc511c294923ea1dba83e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:50:15 +0200 Subject: [PATCH 193/265] New translations macros.md (Portuguese, Brazilian) --- .../version-19/FormEditor/macros.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md index 2e995ee86735f0..20ce56117b0541 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/macros.md @@ -275,7 +275,7 @@ Function onInvoke($editor : Object)->$result : Object ALERT("Please select a form object.") End if - // Notify to 4D the modification + // Notificar a 4D a modificação $result:=New object("currentPage"; $editor.editor.currentPage) ``` From 276b486076f049e598ce1c83958a9497a849ed99 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:50:17 +0200 Subject: [PATCH 194/265] New translations pictures.md (Portuguese, Brazilian) --- .../version-19/FormEditor/pictures.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md index 3e49cf62998511..cc79441cad7494 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/pictures.md @@ -56,10 +56,10 @@ As imagens de alta resolução com a convenção @nx podem ser utilizadas nos se While 4D automatically prioritizes the highest resolution, there are, however, some behavioral differences depending on screen and image dpi*(\*)*, and picture format: -| Operação | Comportamento | -| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -| Soltar o pegar | Se a imagem tiver:
    • **72dpi or 96dpi** - The picture is "[Center](FormObjects/properties_Picture.md#center--truncated-non-centered)" formatted and the object containing the picture has the same number of pixels.
    • **Other dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted and the object containing the picture is equal to (picture's number of pixels * screen dpi) / (picture's dpi)
    • **No dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted.
    | -| [Automatic Size](https://doc.4d.com/4Dv18/4D/18/Setting-object-display-properties.300-4575725.en.html#148057) (Form Editor context menu) | Se o formato de apresentação da imagem é:
    • **[Scaled](FormObjects/properties_Picture.md#scaled-to-fit)** - The object containing the picture is resized according to (picture's number of pixels * screen dpi) / (picture's dpi)
    • **Not scaled** - The object containing the picture has the same number of pixels as the picture.
    | +| Operação | Comportamento | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ | +| Soltar o pegar | Se a imagem tiver:
    • **72dpi or 96dpi** - The picture is "[Center](FormObjects/properties_Picture.md#center--truncated-non-centered)" formatted and the object containing the picture has the same number of pixels.
    • **Other dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted and the object containing the picture is equal to (picture's number of pixels * screen dpi) / (picture's dpi)
    • **No dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted.
    | +| [Tamanho automático](https://doc.4d.com/4Dv18/4D/18/Setting-object-display-properties.300-4575725.en.html#148057) (menu contextual do Editor de formulários) | Se o formato de apresentação da imagem é:
    • **[Scaled](FormObjects/properties_Picture.md#scaled-to-fit)** - The object containing the picture is resized according to (picture's number of pixels * screen dpi) / (picture's dpi)
    • **Not scaled** - The object containing the picture has the same number of pixels as the picture.
    | *(\*) Normalmente, macOS = 72 dpi, Windows = 96 dpi* From 60f487d6351aa8d161fe7f3c4f0e80ce32d7b44c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:50:19 +0200 Subject: [PATCH 195/265] New translations properties_FormSize.md (Portuguese, Brazilian) --- .../version-19/FormEditor/properties_FormSize.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/properties_FormSize.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/properties_FormSize.md index e9588f396216e5..67584087c01c87 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/properties_FormSize.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/properties_FormSize.md @@ -16,7 +16,7 @@ As opções de tamanho dependem do valor da opção **Tamanho baseado em**. * **Set Size**: The size of the form will be based on what you enter (in pixels) in the [**Width**](#width) and [**Height**](#height) fields. -* `\<object name>`: The size of the form will be based on the position of the selected form object. For example, if you choose an object that is placed in the bottom-right part of the area to be displayed, the form size will consist of a rectangle whose upper left corner will be the origin of the form and the lower right corner will correspond to that of the selected object, plus any margin values. +* `\<nome do objeto>`: O tamanho do formulário será baseado na posição do objeto de formulário selecionado. For example, if you choose an object that is placed in the bottom-right part of the area to be displayed, the form size will consist of a rectangle whose upper left corner will be the origin of the form and the lower right corner will correspond to that of the selected object, plus any margin values. > For output forms, only the [**Hor margin**](#hor-margin) or [**Width**](width) fields are available. From 63bdf04803841331fb068e2a284257d7af5224f5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:50:55 +0200 Subject: [PATCH 196/265] New translations button_overview.md (Portuguese, Brazilian) --- .../version-19/FormObjects/button_overview.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/button_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/button_overview.md index 70283940d3c13f..7ef009c7f7bd98 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/button_overview.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/button_overview.md @@ -42,16 +42,16 @@ By default, the Regular style has a light gray background with a label in the ce ```4d "myButton": { - "type": "button", //define the type of object - "style":"regular", //define the style of the button - "defaultButton":"true" //define button as the default choice - "text": "OK", //text to appear on the button - "action": "Cancel", //action to be be performed - "left": 60, //left position on the form - "top": 160, //top position on the form - "width": 100, //width of the button - "height": 20 //height of the button - } + "type": "button", //define o tipo de objeto + "style": "regular", //define o estilo do botão + "defaultButton": "true" //define o botão como a opção predefinida + "text": "OK", //texto a aparecer no botão + "action": "Cancel", //ação a executar + "left": 60, //posição esquerda no formulário + "top": 160, //posição superior no formulário + "width": 100, //largura do botão + "height": 20 //altura do botão +} ``` Only the Regular and Flat styles offer the [Default Button](properties_Appearance.md#default-button) property. From 00069dca494b04ed749929df343ba61c153d333a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:54:15 +0200 Subject: [PATCH 197/265] New translations compact.md (Portuguese, Brazilian) --- .../version-19/MSC/compact.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/compact.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/compact.md index d1da27fafdc557..0b19449f2e0069 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/compact.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/compact.md @@ -4,70 +4,70 @@ title: Página compactado sidebar_label: Página compactado --- -Esta página é utilizada para aceder às funções de compactação de ficheiros de dados. +Esta página é utilizada para aceder às funções de compactação de arquivos de dados. -## Porquê compactar seus ficheiros? +## Porquê compactar seus arquivos? A compactação de ficheiros responde a dois tipos de necessidades: -- **Redução do tamanho e otimização dos arquivos**: os arquivos podem conter espaços não utilizados ("ocos"). In fact, when you delete records, the space that they occupied previously in the file becomes empty. 4D reuses these empty spaces whenever possible, but since data size is variable, successive deletions or modifications will inevitably generate unusable space for the program. The same goes when a large quantity of data has just been deleted: the empty spaces remain unassigned in the file. The ratio between the size of the data file and the space actually used for the data is the occupation rate of the data. A rate that is too low can lead, in addition to a waste of space, to the deterioration of database performance. Compacting can be used to reorganize and optimize storage of the data in order to remove the “holes”. The “Information” area summarizes the data concerning the fragmentation of the file and suggests operations to be carried out. The [Data](information.md#data) tab on the “Information” page of the MSC indicates the fragmentation of the current data file. +- **Redução do tamanho e otimização dos arquivos**: os arquivos podem conter espaços não utilizados ("ocos"). De fato, quando se eliminam registos, o espaço que estes ocupavam anteriormente no arquivo fica vazio. 4D reutiliza esses espaços vazios sempre que possível, mas como o tamanho dos dados é variável, eliminações ou modificações sucessivas inevitavelmente geram espaço inutilizável para o programa. O mesmo acontece quando uma grande quantidade de dados acaba de ser eliminada: os espaços vazios ficam por atribuir no arquivo. A relação entre o tamanho do arquivo de dados e o espaço efetivamente utilizado para os dados é a taxa de ocupação dos dados. Uma taxa demasiado baixa pode levar, para além de um desperdício de espaço, à deterioração do desempenho da base de dados. A compactação pode ser utilizada para reorganizar e otimizar o armazenamento dos dados, de modo a eliminar os "buracos". A área "Informação" resume os dados relativos à fragmentação do arquivo e sugere operações a realizar. O separador [Data](information.md#data) na página "Information" (Informações) do MSC indica a fragmentação do arquivo de dados atual. -- **Complete updating of data** by applying the current formatting set in the structure file. This is useful when data from the same table were stored in different formats, for example after a change in the database structure. +- **Atualização completa dos dados** aplicando a formatação atual definida no arquivo de estrutura. Isto é útil quando os dados da mesma tabela foram armazenados em formatos diferentes, por exemplo, após uma alteração na estrutura da base de dados. > A compactação só está disponível no modo de manutenção. Se tentar realizar essa operação em modo padrão, uma caixa de diálogo de aviso informará que o banco de dados será fechado e reiniciado em modo manutenção. Pode compactar um arquivo de dados que não esteja aberto pelo banco de dados (ver [Compactar os registros e os índices](#compact-records-and-indexes) abaixo). ## Compactação standard -To directly begin the compacting of the data file, click on the compacting button in the MSC window. +Para iniciar diretamente a compactação do arquivo de dados, clique no botão de compactação na janela MSC. ![](../assets/en/MSC/MSC_compact.png) -> Since compacting involves the duplication of the original file, the button is disabled when there is not adequate space available on the disk containing the file. +> Já que a compactação envolve a duplicação do arquivo original, o botão é desativado quando não existir espaço suficiente disponível no disco que contém o arquivo. -Esta operação compacta o ficheiro principal, bem como quaisquer ficheiros de índice. 4D copies the original files and puts them in a folder named **Replaced Files (Compacting)**, which is created next to the original file. If you have carried out several compacting operations, a new folder is created each time. It will be named “Replaced Files (Compacting)_1”, “Replaced Files (Compacting)_2”, and so on. You can modify the folder where the original files are saved using the advanced mode. +Esta operação compacta o arquivo principal, bem como quaisquer arquivos de índice. 4D copia os arquivos originais e os coloca em uma pasta chamada **Replaced Files (Compacting)**, que é criada ao lado do arquivo original. Se tiver efetuado várias operações de compactação, é criada uma nova pasta de cada vez. Será denominado "arquivos substituídos (compactação)_1", "arquivos substituídos (compactação)_2", e assim por diante. Pode modificar a pasta onde os arquivos originais são guardados utilizando o modo avançado. -When the operation is completed, the compacted files automatically replace the original files. O banco de dados fica operacional imediatamente sem outras manipulações. -> When the database is encrypted, compacting includes decryption and encryption steps and thus, requires the current data encryption key. If no valid data key has already been provided, a dialog box requesting the passphrase or the data key is displayed. +Quando a operação estiver concluída, os arquivos compactados substituem automaticamente os arquivos originais. O banco de dados fica operacional imediatamente sem outras manipulações. +> Quando a base de dados está encriptada, a compactação inclui passos de desencriptação e encriptação e, por isso, requer a chave de encriptação de dados atual. Se ainda não tiver sido fornecida uma chave de dados válida, é apresentada uma caixa de diálogo que pede a frase-chave ou a chave de dados. -**Warning:** Each compacting operation involves the duplication of the original file which increases the size of the application folder. It is important to take this into account (especially under macOS where 4D applications appear as packages) so that the size of the application does not increase excessively. Manually removing the copies of the original file inside the package can be useful in order to keep the package size down. +**Aviso:** Cada operação de compactação envolve a duplicação do arquivo original, o que aumenta o tamanho da pasta da aplicação. É importante ter isto em conta (especialmente em macOS onde as aplicações 4D aparecem como pacotes) para que o tamanho da aplicação não aumente excessivamente. A remoção manual das cópias do arquivo original dentro do pacote pode ser útil para manter o tamanho do pacote reduzido. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a compactação termina, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: +Depois que a compactação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este arquivo permite visualizar todas as operações efectuadas. É criada no formato XML e se chama *DatabaseName**_Compact_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Modo avançado -The Compact page contains an **Advanced>** button, which can be used to access an options page for compacting data file. +A página Compactar contém um botão **Advanced>** , que pode ser utilizado para acessar uma página de opções para compactar o arquivo de dados. ### Compactação de registros e índices -The **Compact records and indexes** area displays the pathname of the current data file as well as a **[...]** button that can be used to specify another data file. When you click on this button, a standard Open document dialog box is displayed so that you can designate the data file to be compacted. You must select a data file that is compatible with the open structure file. Once this dialog box has been validated, the pathname of the file to be compacted is indicated in the window. +A área **Compact records and indexes** apresenta o nome do caminho do arquivo de dados atual, bem como um botão **[...]** que pode ser utilizado para especificar outro arquivo de dados. Quando se clica neste botão, é apresentada uma caixa de diálogo padrão Abrir documento para que se possa designar o arquivo de dados a compactar. É necessário selecionar um arquivo de dados que seja compatível com o arquivo de estrutura aberta. Uma vez validada esta caixa de diálogo, o nome do caminho do arquivo a compactar é indicado na janela. -The second **[...]** button can be used to specify another location for the original files to be saved before the compacting operation. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. +O segundo botão **[...]** pode ser utilizado para especificar outra localização para os arquivos originais a serem guardados antes da operação de compactação. Esta opção pode ser utilizada mais particularmente para compactar ficheiros volumosos enquanto utiliza discos diferentes. ### Forçar a atualização dos registos -When this option is checked, 4D rewrites every record for each table during the compacting operation, according to its description in the structure. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: +Quando esta opção estiver marcada, 4D reescreve cada registo para cada tabela durante a operação de compactação, de acordo com a sua descrição na estrutura. Se esta opção não estiver marcada, 4D apenas reorganiza o armazenamento de dados no disco. Esta opção é útil nos seguintes casos: -- When field types are changed in the application structure after data were entered. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D even allows changes between two very different types (with risks of data loss), for instance a Real field can be changed to Text and vice versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. +- Quando os tipos de campo são alterados na estrutura da aplicação depois de os dados terem sido introduzidos. Por exemplo, pode ter alterado um campo Longint para um tipo Real. 4D até permite mudanças entre dois tipos muito diferentes (com riscos de perda de dados), por exemplo, um campo Real pode ser mudado para Texto e vice-versa. Neste caso, 4D não converte dados já introduzidos retroativamente; os dados são convertidos apenas quando os registos são carregados e depois guardados. Esta opção força a conversão de todos os dados. -- When an external storage option for Text, Picture or BLOB data has been changed after data were entered. This can happen when databases are converted from a version prior to v13. As is the case with the retyping described above, 4D does not convert data already entered retroactively. To do this, you can force records to be updated in order to apply the new storage mode to records that have already been entered. +- Quando uma opção de armazenamento externo para dados de Texto, Imagem ou BLOB tiver sido alterada após a introdução dos dados. Isto pode acontecer quando as bases de dados são convertidas a partir de uma versão anterior à v13. Como é o caso da redigitação descrita acima, 4D não converte dados já inseridos retroativamente. Para isso, é possível forçar a atualização dos registros para aplicar o novo modo de armazenamento aos registros que já foram entrados. -- Quando as tabelas ou campos foram eliminados. In this case, compacting with updating of records recovers the space of these removed data and thus reduces file size. +- Quando as tabelas ou campos foram eliminados. Neste caso, a compactação com atualização de registos recupera o espaço destes dados removidos, reduzindo assim o tamanho do arquivo. > Todos os índices são atualizados quando esta opção é selecionada. ### Compactar a tabela de endereços (opção apenas ativa quando a opção anterior está marcada) -This option completely rebuilds the address table for the records during compacting. This optimizes the size of the address table and is mainly used for databases where large volumes of data were created and then deleted. Noutros casos, a otimização não é um fator decisivo. +Esta opção reconstrói completamente a tabela de endereços para os registos durante a compactação. Isto optimiza o tamanho da tabela de endereços e é utilizado principalmente para bases de dados onde foram criados e depois eliminados grandes volumes de dados. Noutros casos, a otimização não é um fator decisivo. -Note that this option substantially slows compacting and invalidates any sets saved using the `SAVE SET` command. Moreover, we strongly recommend deleting saved sets in this case because their use can lead to selections of incorrect data. -> - Compacting takes records of tables that have been put into the Trash into account. If there are a large number of records in the Trash, this can be an additional factor that may slow down the operation. -> - Using this option makes the address table, and thus the database, incompatible with the current journal file (if there is one). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. -> - You can decide if the address table needs to be compacted by comparing the total number of records and the address table size in the [Information](information.md) page of the MSC. +Note que esta opção atrasa substancialmente a compactação e invalida quaisquer conjuntos guardados com o comando `SAVE SET` . Além disso, recomendamos vivamente a eliminação dos conjuntos guardados neste caso, porque a sua utilização pode levar a selecções de dados incorrectos. +> - A compactação tem em conta os registos das tabelas que foram colocadas no Lixo. Se houver um grande número de registos no Lixo, este pode ser um fator adicional que pode tornar a operação mais lenta. +> - A utilização desta opção torna a tabela de endereços e, consequentemente, a base de dados, incompatível com o arquivo de diário atual (se existir). Será salvado automaticamente e um novo arquivo de histórico será criado na próxima vez que o banco for lançado. +> - Pode decidir se a tabela de endereços precisa de ser compactada, comparando o número total de registos e o tamanho da tabela de endereços na página [Information](information.md) do MSC. > - O comando [`TRUNCATE TABLE`](https://doc.4d.com/4dv19R/help/command/en/page1051.html) reinicia automaticamente a tabela de endereços para a tabela especificada. From 90cdb979f2335b7b25f87d0943b659dfef650bfa Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:54:47 +0200 Subject: [PATCH 198/265] New translations repair.md (Portuguese, Brazilian) --- .../version-19/MSC/repair.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/repair.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/repair.md index ba0b9e0bd97fc9..7c0ddad253b3e3 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/repair.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/repair.md @@ -63,11 +63,11 @@ If several groups of records could not be assigned to tables due to a damaged ad Next select the table you want to assign to the group in the "Unassigned tables" table and click on the **Identify table** button. Também pode atribuir uma tabela utilizando a função arrastar e largar. The group of records is then associated with the table and it will be recovered in this table. Os nomes das tabelas atribuídas manualmente aparecem a preto. Use the **Ignore records** button to remove the association made manually between the table and the group of records. -## Abrir ficheiro de registo +## Abrir arquivo de registo -Depois que a reparação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este ficheiro permite visualizar todas as operações efectuadas. É criado no formato XML e chamado: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: +Depois que a reparação terminar, 4D gera um arquivo de histórico na pasta Logs do banco de dados. Este arquivo permite visualizar todas as operações efectuadas. É criado no formato XML e chamado: *DatabaseName**_Repair_Log_yyyy-mm-dd hh-mm-ss.xml*" onde: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. From cc126fb056f4747ba879e4b688ed551e6f63d340 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:54:49 +0200 Subject: [PATCH 199/265] New translations verify.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-19/MSC/verify.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/verify.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/verify.md index 48ef407fc1dc9a..8f651dd8a43bcd 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/verify.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/MSC/verify.md @@ -16,14 +16,14 @@ A página contém botões de ação que fornecem acesso direto às funções de - **Verify the indexes only**: Starts the verification procedure for indexes only (records are not verified). > > > Verification of records and indexes can also be carried out in detail mode, table by table (see the Details section below). -## Abrir ficheiro de registo +## Abrir arquivo de registo Independente da verificação solicitada, 4D gera um arquivo de histórico na pasta `Logs` do banco de dados. This file lists all the verifications carried out and indicates any errors encountered, when applicable ([OK] is displayed when the verification is correct). It is created in XML format and is named: *ApplicationName**Verify_Log**yyyy-mm-dd hh-mm-ss*.xml where: - *NomBase* é o nome do arquivo de estrutura sem extensão, por exemplo "Faturas", -- *yyyy-mm-dd hh-mm-ss* is the timestamp of the file, based upon the local system time when the maintenance operation was started, for example "2019-02-11 15-20-45". +- *yyyy-mm-dd hh-mm-ss* é o carimbo de data/hora do arquivo, com base na hora do sistema local quando a operação de manutenção foi iniciada, por exemplo "2019-02-11 15-20-45". -When you click on the **Open log file** button, 4D displays the most recent log file in the default browser of the machine. +Quando clica no botão **Abrir arquivo de registo** , 4D mostra o arquivo de registo mais recente no navegador predefinido da máquina. ## Detalhes From e8f88b1a7bd4646d69e59007619eddd4791f2253 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:55:41 +0200 Subject: [PATCH 200/265] New translations entities.md (Portuguese, Brazilian) --- .../version-19/ORDA/entities.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/entities.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/entities.md index 477912709a26e3..2693b2966795df 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/entities.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/entities.md @@ -420,7 +420,7 @@ Estes princípios são apresentados no diagrama seguinte: 4D provides an automatic optimization for ORDA requests that use entity selections or load entities in client/server configurations. This optimization speeds up the execution of your 4D application by reducing drastically the volume of information transmitted over the network. -The following optimization mechanisms are implemented: +São implementados os seguintes mecanismos de otimização: * When a client requests an entity selection from the server, 4D automatically "learns" which attributes of the entity selection are actually used on the client side during the code execution, and builds a corresponding "optimization context". This context is attached to the entity selection and stores the used attributes. It will be dynamically updated if other attributes are used afterwards. @@ -452,7 +452,7 @@ Thanks to the optimization, this request will only get data from used attributes ### Utilizar a propriedade context -You can increase the benefits of the optimization by using the **context** property. This property references an optimization context "learned" for an entity selection. It can be passed as parameter to ORDA methods that return new entity selections, so that entity selections directly request used attributes to the server and bypass the learning phase. +You can increase the benefits of the optimization by using the **context** property. This property references an optimization context "learned" for an entity selection. Pode ser passado como parâmetro para os métodos ORDA que devolvem novas selecções de entidades, de modo a que as selecções de entidades solicitem diretamente ao servidor os atributos utilizados e contornem a fase de aprendizagem. A same optimization context property can be passed to unlimited number of entity selections on the same dataclass. All ORDA methods that handle entity selections support the **context** property (for example `dataClass.query( )` or `dataClass.all( )` method). Keep in mind, however, that a context is automatically updated when new attributes are used in other parts of the code. Reusing the same context in different codes could result in overloading the context and then, reduce its efficiency. > A similar mechanism is implemented for entities that are loaded, so that only used attributes are requested (see the `dataClass.get( )` method). From efb5943d774575af1fd45708850eac587efdebd5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:55:43 +0200 Subject: [PATCH 201/265] New translations ordaClasses.md (Portuguese, Brazilian) --- .../version-19/ORDA/ordaClasses.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/ordaClasses.md index 4476fae2bab4d2..e4a1f2b7e7ebc4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/ordaClasses.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/ORDA/ordaClasses.md @@ -170,12 +170,12 @@ Cada tabela exposta com ORDA oferece uma classe EntitySelection no repositório #### Exemplo ```4d -// cs.EmployeeSelection class +// Class cs.EmployeeSelection Class extends EntitySelection -//Extract the employees with a salary greater than the average from this entity selection +//Extrair os empregados com um salário superior à média desta seleção de entidades Function withSalaryGreaterThanAverage C_OBJECT($0) From 907ae502204504addc31bd278cfbc5fdb6aab6b9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:56:21 +0200 Subject: [PATCH 202/265] New translations architecture.md (Portuguese, Brazilian) --- .../version-19/Project/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/architecture.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/architecture.md index 151837b852398e..417b15f082fa99 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/architecture.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/architecture.md @@ -208,7 +208,7 @@ Esta pasta contém arquivos que memorizam as configurações do usuário, por ex Esta pasta contém os componentes que devem estar disponíveis unicamente no banco de dados projeto. Deve ser armazenado ao mesmo nível que a pasta Project. -> An application project can be used itself as a component: +> Um projeto de aplicação pode ser utilizado como um componente: > > - for development: put an alias of the .4dproject file in the Components folder of the host project. > - for deployment: [build the component](Desktop/building.md#build-component) and put the resulting .4dz file in a .4dbase folder in the Components folder of the host application. From ac7caa6151e1b71e3c9b05b1a1e79a9d18b11e3a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:56:24 +0200 Subject: [PATCH 203/265] New translations documentation.md (Portuguese, Brazilian) --- .../version-19/Project/documentation.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/documentation.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/documentation.md index cdd86cd21cacae..b76c4d6a4d83df 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/documentation.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Project/documentation.md @@ -117,12 +117,12 @@ New documentation files are created with the following default contents: ![](../assets/en/Project/comments-explo4.png) -| Linha | Descrição | -| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| "\" | Comentário HTML. Used in priority as the method description in the [code editor tips](#viewing-documentation-in-the-code-editor) | -| ## Description | Título de nível 2 em Markdown. The first sentence after this tag is used as the method description in the code editor tips if HTML comment is not used | -| ## Exemplo | Heading level 2, you can use this area to show sample code | -| \``` 4D
    Type your example here \` `` | Utilizado para formatar exemplos de código 4D (utiliza a biblioteca highlight.js) | +| Linha | Descrição | +| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| "\" | Comentário HTML. Used in priority as the method description in the [code editor tips](#viewing-documentation-in-the-code-editor) | +| ## Description | Título de nível 2 em Markdown. The first sentence after this tag is used as the method description in the code editor tips if HTML comment is not used | +| ## Exemplo | Heading level 2, you can use this area to show sample code | +| \``` 4D
    Escreva aqui o seu exemplo \` `` | Utilizado para formatar exemplos de código 4D (utiliza a biblioteca highlight.js) | ### Markdown suportado @@ -211,7 +211,7 @@ This method returns a logo of a specific size, depending on the value of the *si C_PICTURE($logo) C_LONGINT($size) -//Get the largest logo +//Obter o maior logótipo $logo:=GetLogo(5) ``` From 6131c94f4156b79bb466432efa030a2d8964fdb9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:59:25 +0200 Subject: [PATCH 204/265] New translations templates.md (Portuguese, Brazilian) --- .../version-19/WebServer/templates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/templates.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/templates.md index 4cab88715323c8..d39216acce4d75 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/templates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/templates.md @@ -10,7 +10,7 @@ When these pages are sent by the HTTP server, they are parsed and the tags they Por exemplo, se escrever numa página HTML: ```html -Welcome to !

    +Bem-vindo a !

    ``` The value of the 4D variable *vtSiteName* will be inserted in the HTML page. From 01f2cc7a604d3b6afbbdbacab248d85dc264b278 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:59:27 +0200 Subject: [PATCH 205/265] New translations webServerAdmin.md (Portuguese, Brazilian) --- .../version-19/WebServer/webServerAdmin.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerAdmin.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerAdmin.md index d0c67850980df6..17fa73dc2514a7 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerAdmin.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerAdmin.md @@ -50,7 +50,7 @@ This command lets you verify that the web server, home page display, etc. work c At any moment, you can clear the cache of the pages and images that it contains (if, for example, you have modified a static page and you want to reload it in the cache). -To do so, you just have to click on the **Clear Cache** button in the Web/Options (I) page of the Settings dialog box. A cache é então imediatamente limpa. +Para o fazer, basta clicar no botão **Clear Cache** na página Web/Opções (I) da caixa de diálogo Parâmetros. A cache é então imediatamente limpa. > You can also use the [/4DCACHECLEAR](#cacheclear) URL. ## Explorador de execução From 2f410e500a0a23618996e91b21ebc5f1f454cb49 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 00:59:28 +0200 Subject: [PATCH 206/265] New translations webServerConfig.md (Portuguese, Brazilian) --- .../version-19/WebServer/webServerConfig.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerConfig.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerConfig.md index 4967f8ad90498f..a5c36809a1d642 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerConfig.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/WebServer/webServerConfig.md @@ -319,8 +319,8 @@ Valores possíveis: Cadeia de endereços IP. Both IPv6 string formats (e.g. "200 - **Indication of port numbers**
    Since IPv6 notation uses colons (:), adding port numbers may lead to some confusion, for example: ```code4d - 2001:0DB8::85a3:0:ac1f:8001 // IPv6 address - 2001:0DB8::85a3:0:ac1f:8001:8081 // IPv6 address with port 8081 + 2001:0DB8::85a3:0:ac1f:8001 // Endereço IPv6 + 2001:0DB8::85a3:0:ac1f:8001:8081 // Endereço IPv6 com porta 8081 ``` To avoid this confusion, we recommend using the [ ] notation whenever you combine an IPv6 address with a port number, for instance: @@ -337,7 +337,7 @@ To avoid this confusion, we recommend using the [ ] notation whenever you combin | `WEB SET OPTION` | `Web keep session` | | | Caixa de diálogos de configurações | Página Opções (I)/Gestão automática de sessões | | -Session management enabling status for the 4D web server. Session mechanism is described in the [Session Management](sessions.md) section. +Estado do gerenciamento de sessões para o servidor web 4D. O mecanismo de sessão é descrito na secção [Gerenciamento de sessões](sessions.md). True por padrão (ativado). From cd2fe196c28c49cb110585da7c24ad0b2681974f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:34:42 +0200 Subject: [PATCH 207/265] New translations code.json (Portuguese, Brazilian) --- i18n/pt/code.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pt/code.json b/i18n/pt/code.json index e37785cffb9490..2a411b82f04752 100644 --- a/i18n/pt/code.json +++ b/i18n/pt/code.json @@ -290,15 +290,15 @@ "message": "Versão: {versionLabel}" }, "theme.docs.versions.unreleasedVersionLabel": { - "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.", + "message": "Esta é uma documentação não lançada para a versão {siteTitle} {versionLabel}.", "description": "The label used to tell the user that he's browsing an unreleased doc version" }, "theme.docs.versions.unmaintainedVersionLabel": { - "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.", + "message": "Esta é a documentação para {siteTitle} {versionLabel}, que já não é mantida ativamente.", "description": "The label used to tell the user that he's browsing an unmaintained doc version" }, "theme.docs.versions.latestVersionSuggestionLabel": { - "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).", + "message": "Para obter documentação atualizada, consulte {latestVersionLink} ({versionLabel}).", "description": "The label used to tell the user to check the latest version" }, "theme.docs.versions.latestVersionLinkLabel": { @@ -366,7 +366,7 @@ "description": "The title attribute for toggle word wrapping button of code block lines" }, "theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel": { - "message": "Toggle the collapsible sidebar category '{label}'", + "message": "Alternar a categoria da barra lateral rebatível '{label}'", "description": "The ARIA label to toggle the collapsible sidebar category" }, "theme.navbar.mobileLanguageDropdown.label": { From b4c5363c100302f6b82e87af13464c4f8d45cc3c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:34:43 +0200 Subject: [PATCH 208/265] New translations current.json (Portuguese, Brazilian) --- i18n/pt/docusaurus-plugin-content-docs/current.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current.json b/i18n/pt/docusaurus-plugin-content-docs/current.json index 4c29b36d5e6e02..8fda3dbbb6117b 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current.json +++ b/i18n/pt/docusaurus-plugin-content-docs/current.json @@ -256,7 +256,7 @@ "description": "The generated-index page title for category Web Administration in sidebar docs" }, "sidebar.docs.category.Web Administration.link.generated-index.description": { - "message": "4D web tools for administrating and monitoring your applications.", + "message": "Ferramentas web 4D para administrar e monitorar suas aplicações.", "description": "The generated-index page description for category Web Administration in sidebar docs" }, "sidebar.docs.category.4D View Pro.link.generated-index.title": { @@ -276,7 +276,7 @@ "description": "The generated-index page title for category REST Server in sidebar docs" }, "sidebar.docs.category.REST Server.link.generated-index.description": { - "message": "Configuring the 4D REST Server and using the REST API.", + "message": "Configurando o Servidor 4D REST e usando a API REST.", "description": "The generated-index page description for category REST Server in sidebar docs" }, "sidebar.docs.category.API (general).link.generated-index.title": { From 50b9fd627f8706dfea5e6f99f6f8308921499503 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:09 +0200 Subject: [PATCH 209/265] New translations paths.md (Portuguese, Brazilian) --- .../version-19/Concepts/paths.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/paths.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/paths.md index 99df9d9c9effee..f5809f52894061 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/paths.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/paths.md @@ -58,7 +58,7 @@ A sintaxe específica da plataforma depende do sistema operativo em que o comand São suportados os seguintes padrões: - os separadores de pasta são "\" -- the text contains ':' and '\' as the second and third character, +- o texto contém ':' e '\' como segundo e terceiro carácter, - o texto começa por "\\". Exemplos com [`Folder`](../API/FolderClass.md#folder): @@ -70,11 +70,11 @@ $ok:=Folder("\\\\svr-internal\\tempo";fk platform path).create() #### Introduzir caminhos Windows e sequências de escape -The 4D code editor allows the use of escape sequences. An escape sequence is a set of characters that are used to replace a "special" character. The sequence begins with a backslash `\`, followed by a character. Por exemplo, `\t` é a sequência de escape para o carácter `Tab` . +O editor de código 4D permite o uso de sequências de escape. Uma sequência de escape é um conjunto de caracteres utilizados para substituir um carácter "especial". A sequência começa com uma barra invertida `\`, seguida de um carácter. Por exemplo, `\t` é a sequência de escape para o carácter `Tab` . -The `\` character is also used as the separator in pathnames in Windows. In general, 4D will correctly interpret Windows pathnames that are entered in the code editor by replacing single backslashes `\` with double backslashes ``\\`. For example,``C:\Folder`will become`C:\\Folder`. +O carácter `\` também é utilizado como separador em nomes de caminhos no Windows. Em geral, 4D interpretará corretamente os nomes de caminho do Windows introduzidos no editor de código substituindo as barras invertidas simples `\` por barras invertidas duplas ``\\`. Por exemplo,``C:\Folder`tornar-se-á`C:\\Folder`. -However, if you write `C:\MyDocuments\New`, 4D will display `C:\\MyDocuments\New`. In this case, the second `\` is incorrectly interpreted as `\N` (an existing escape sequence). You must therefore enter a double `\\` when you want to insert a backslash before a character that is used in one of the escape sequences recognized by 4D. +No entanto, se escrever `C:\MyDocuments\New`, 4D mostrará `C:\MyDocuments\New`. Neste caso, o segundo `\` é incorretamente interpretado como `\N` (uma sequência de escape existente). Você deve então digitar um duplo `\\` quando quiser inserir uma barra invertida antes de um caractere usado em uma das sequências de escape reconhecidas por 4D. As seguintes sequências de escape são reconhecidas por 4D: @@ -118,7 +118,7 @@ $okFolder:=Folder("/PACKAGE/myFolder").create() //pasta criada ao nível da estr $okFile:=File("/DATA/Prefs/tempo.txt").create() //ficheiro criado na pasta de dados ``` -### `.file()` and `.folder()` folder methods +### `.file()` e `.folder()` As funções dos objetos pasta, tais como [`folder.file()`](../API/FolderClass.md#file) e [`folder.folder()`](../API/FolderClass.md#folder-1) esperam nomes de caminho POSIX relativos. Por exemplo: From 3ecc21f5a346615514d817d9c23ca872b425f006 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:15 +0200 Subject: [PATCH 210/265] New translations updates.md (French) --- .../version-19/Notes/updates.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Notes/updates.md index 96fbe5d7850d20..85f2d91260e2a7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Notes/updates.md @@ -9,6 +9,14 @@ Lisez [**Les nouveautés de 4D v19**](https://blog.4d.com/en-whats-new-in-4d-v19 ::: + +## 4D v19.7 + +#### Points forts + +- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=19.7): list of all bugs that have been fixed in 4D v19.7. + + ## 4D v19.6 #### Points forts From 8327f5da3a08dfb5b1122dcf1a0c15fcc50fe659 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:22 +0200 Subject: [PATCH 211/265] New translations updates.md (Spanish) --- .../version-19/Notes/updates.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Notes/updates.md index 1d9809b31246f3..7ce1fae9794c2c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Notes/updates.md @@ -9,10 +9,18 @@ Lea [**Las novedades de 4D v19**](https://blog.4d.com/en-whats-new-in-4d-v19/), ::: -## 4D v19.6 + +## 4D v19.7 #### Lo más destacado +- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=19.7): list of all bugs that have been fixed in 4D v19.7. + + +## 4D v19.6 + +#### Destacados + - [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=19.6): lista de todos los errores que se han corregido en 4D v19.6. From 8a223231108110db23166743832efc3c3436725b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:28 +0200 Subject: [PATCH 212/265] New translations updates.md (German) --- .../version-19/Notes/updates.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-19/Notes/updates.md b/i18n/de/docusaurus-plugin-content-docs/version-19/Notes/updates.md index 18fcae55c733af..d1eee96ef5c3b8 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-19/Notes/updates.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-19/Notes/updates.md @@ -9,6 +9,14 @@ Read [**What’s new in 4D v19**](https://blog.4d.com/en-whats-new-in-4d-v19/), ::: + +## 4D v19.7 + +#### Highlights + +- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=19.7): list of all bugs that have been fixed in 4D v19.7. + + ## 4D v19.6 #### Highlights From 40ab7a4d1e76c20f9563b85703d606cdb24d9b4c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:35 +0200 Subject: [PATCH 213/265] New translations updates.md (Japanese) --- .../version-19/Notes/updates.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/Notes/updates.md index ac68e2d08f507b..7c9cb69aa52600 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-19/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/Notes/updates.md @@ -9,6 +9,14 @@ title: リリースノート ::: + +## 4D v19.7 + +#### ハイライト + +- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=19.7): list of all bugs that have been fixed in 4D v19.7. + + ## 4D v19.6 #### ハイライト From c26a3ef8571a83b8bda9084b89f6c167bf1af6b7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:40 +0200 Subject: [PATCH 214/265] New translations classes.md (Portuguese, Brazilian) --- .../current/ViewPro/classes.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md b/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md index 07d1137d108390..8c619fbfe4bc2f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md @@ -13,7 +13,7 @@ As seguintes classes podem ser usadas no 4D View Pro. **.color**: Texto -A propriedade `.color` é a [color](configuring.md#borders) of the border. Predefinição = black. +A propriedade `.color` é a [cor](configuring.md#borders) da margem. Predefinição = black. ### .style @@ -21,7 +21,7 @@ A propriedade `.color` é a [color](config **.style** : Integer -A propriedade `.style` é o [style](configuring.md#borders) of the border. Predefinição = vazio. +A propriedade `.style` é o [estilo](configuring.md#borders) da margem. Predefinição = vazio. ## TableColumn @@ -57,7 +57,7 @@ A propriedade `.name` contém o nome da co **.allowAutoExpand** : Boolean -A propriedade `.allowAutoExpand` indicates whether to expand columns or rows of the table when values are added in empty adjacent cells. Padrão = True +A propriedade `.allowAutoExpand` indica se as colunas ou linhas da tabela devem ser expandidas quando são adicionados valores em células adjacentes vazias. Padrão = True ### .bandColumns @@ -65,7 +65,7 @@ A propriedade `.allowAutoExpand` **.bandColumns**: Boolean -A propriedade `.bandColumns` indicates whether to display an alternating column style. Padrão = False +A propriedade `.bandColumns` indica se deve ser apresentado um estilo de coluna alternada. Padrão = False ### .bandRows @@ -73,13 +73,13 @@ A propriedade `.bandColumns` indic **.bandRows**: Boolean -A propriedade `.bandRows` indicates whether to display an alternating row style. Padrão = True +A propriedade `.bandRows` indica se deve ser apresentado um estilo de linha alternada. Padrão = True ### .highlightLastColumn -**.highlightLastColumn** : Boolean +**.highlightLastColumn**: Boolean A propriedade `.highlightLastColumn` indica se a última coluna deve ser realçada. Padrão = False @@ -108,16 +108,16 @@ A propriedade `.showHeader` indica ### .showResizeHandle -**.showResizeHandle** : Boolean +**.showResizeHandle**: Boolean -A propriedade `.showResizeHandle` indicates whether to display the resize handle for tables that don't have a *source*. Padrão = False +A propriedade `.showResizeHandle` indica se deve ser apresentado o identificador de redimensionamento para tabelas que não têm uma *source*. Padrão = False ### .tableColumns **.tableColumns** : Collection -A propriedade `tableColumns` is a collection of [cs.ViewPro.TableColumn](#tablecolumn) objects used to create the table's columns. +A propriedade `tableColumns` é uma coleção de objetos [cs.ViewPro.TableColumn](#tablecolumn) utilizados para criar as colunas da tabela. @@ -129,15 +129,15 @@ A propriedade `tableColumns` is a A propriedade `.theme` define um tema de tabela. Pode também ser um texto (nome de um tema SpreadJS nativo). -See the [native SpreadJS themes](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). +Ver os temas [nativos do SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). ### .useFooterDropDownList -**.useFooterDropDownList** : Boolean +**.useFooterDropDownList**: Boolean -A propriedade `.useFooterDropDownList` indicates whether to use a dropdown list in footer cells that calculate the total value of a column. Padrão = False +A propriedade `.useFooterDropDownList` indica se deve ser utilizada uma lista pendente nas células de rodapé que calculam o valor total de uma coluna. Padrão = False @@ -148,7 +148,7 @@ A propriedade `.useFooterDropDownList` **.backColor**: Text -A propriedade `.backColor` é o [background color](configuring.md/#background--foreground) of the table. +A propriedade `.backColor` é o [cor de fundo](configuring.md/#background--foreground) da tabela. ### .forecolor @@ -156,7 +156,7 @@ A propriedade `.backColor` é o [backg **.forecolor**: Text -A propriedade `.forecolor` é o [foreground color](configuring.md/#background--foreground) of the table. +A propriedade `.forecolor` é o [cor de primeiro plano](configuring.md/#background--foreground) da tabela. @@ -165,7 +165,7 @@ A propriedade `.forecolor` é o [foreg **.font**: Text -A propriedade `.font` é o font name (see [**Fonts and text**](configuring.md/#fonts-and-text)) of the table. +A propriedade `.font` é o nome do letra (ver [**Categorias de letra e texto**](configuring.md/#fonts-and-text)) da tabela. @@ -174,7 +174,7 @@ A propriedade `.font` é o font name (see [ **.textDecoration** : Integer -A propriedade `.textDecoration` é a text decoration of the table (see [**Fonts and text**](configuring.md/#fonts-and-text)). +A propriedade `.textDecoration` é a decoração do texto da tabela (ver [**Letras e textos**](configuring.md/#fonts-and-text)). ### .borderLeft @@ -188,7 +188,7 @@ A propriedade `.borderLeft` é a linh ### .borderRight -**.borderRight** : [cs.ViewPro.LineBorder](#lineborder) +**.borderRight**: [cs.ViewPro.LineBorder](#lineborder) A propriedade `.borderRight` é a linha de fronteira direita da tabela . @@ -207,15 +207,15 @@ A propriedade `.borderBottom` é o -**.borderHorizontal** : [cs.ViewPro.LineBorder](#lineborder) +**.borderHorizontal**: [cs.ViewPro.LineBorder](#lineborder) -A propriedade `.borderHorizontal` é o horizontal border line of the table . +A propriedade `.borderHorizontal` é o limite horizontal da tabela . ### .borderVertical -**.borderVertical** : [cs.ViewPro.LineBorder](#lineborder) +**.borderVertical**: [cs.ViewPro.LineBorder](#lineborder) A propriedade `.borderVertical` é a linha de fronteira vertical da tabela . @@ -229,7 +229,7 @@ A propriedade `.borderVertical` é a **.bandRows**: Boolean -A propriedade `.bandRows` indicates whether to display an alternating row style. +A propriedade `.bandRows` indica se deve ser apresentado um estilo de linha alternada. ### .bandColumns @@ -237,13 +237,13 @@ A propriedade `.bandRows` indicates whe **.bandColumns**: Boolean -A propriedade `.bandColumns` indicates whether to display an alternating column style. +A propriedade `.bandColumns` indica se deve ser apresentado um estilo de coluna alternada. ### .highlightLastColumn -**.highlightLastColumn** : Boolean +**.highlightLastColumn**: Boolean A propriedade `.highlightLastColumn` indica se a última coluna deve ser realçada. @@ -257,7 +257,7 @@ A propriedade `.highlightFirstColumn` -**.theme** : [cs.ViewPro.TableThemeOptions](#tablethemeoptions)
    **.theme** : Text +**.theme**: [cs.ViewPro.TableThemeOptions](#tablethemeoptions)
    **.theme**: Text A propriedade `.theme` define um tema de tabela. If Text: name of a [native SpreadJS theme](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). @@ -272,12 +272,12 @@ A propriedade `.theme` define um tema de t **.firstColumnStripSize** : Integer -The `.firstColumnStripSize` property is the tamanho da primeira coluna alternada. O padrão=1 +A propriedade `.firstColumnStripSize` é o tamanho da primeira coluna alternada. O padrão=1 ### .firstColumnStripStyle -**.firstColumnStripStyle** : [cs.ViewPro.TableStyle](#tablestyle) +**.firstColumnStripStyle**: [cs.ViewPro.TableStyle](#tablestyle) The `.firstColumnStripStyle` property is the estilo da primeira coluna alternada. From 94a1c90c58c7710c59c8fd829963c10c02d3a54d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:41 +0200 Subject: [PATCH 215/265] New translations updates.md (Portuguese, Brazilian) --- .../version-19/Notes/updates.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Notes/updates.md index a09425bbbe3322..a0d343b248bc7c 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Notes/updates.md @@ -9,6 +9,14 @@ Read [**What’s new in 4D v19**](https://blog.4d.com/en-whats-new-in-4d-v19/), ::: + +## 4D v19.7 + +#### Destaques + +- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=19.7): list of all bugs that have been fixed in 4D v19.7. + + ## 4D v19.6 #### Destaques @@ -29,7 +37,7 @@ Read [**What’s new in 4D v19**](https://blog.4d.com/en-whats-new-in-4d-v19/), ## Lançamentos anteriores -- See the [**previous Release notes**](https://doc.4d.com/4Dv19/4D/19.4/4D-v19x-Release-Notes.100-6044726.en.html) on doc.4d.com. +- Veja as [**notas de lançamento anteriores**](https://doc.4d.com/4Dv19/4D/19.4/4D-v19x-Release-Notes.100-6044726.en.html) em doc.4d.com. ## Tabela da biblioteca @@ -39,7 +47,7 @@ Read [**What’s new in 4D v19**](https://blog.4d.com/en-whats-new-in-4d-v19/), | ---------- | ------------ | ---------------- | ---------------------------------------------------------------------------------------- | | OpenSSL | 1.1.1s | 19.6 | | | SpreadJS | 14.1.6 | 19.5 | Motor 4D View Pro | -| CEF | 4324 | 19 | Chromium v88. Allows native compilation on Apple Silicon platforms. | +| CEF | 4324 | 19 | Chromium v88. Permite a compilação nativa nas plataformas Apple Silicon. | | webKit | WKWebView | 19 | | | ICU | 68.1 | 18 R6 | This major upgrade forces an automatic rebuild of alphanumeric, text and object indexes. | | PHP | 7.3.27 | 18 R6 | | From 0afd47c697c5d1f89e1632ebb253cc5e8fbfb272 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:35:43 +0200 Subject: [PATCH 216/265] New translations remote-admin.md (Portuguese, Brazilian) --- .../current/ServerWindow/remote-admin.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/remote-admin.md b/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/remote-admin.md index 3c657024ea73e9..9164b18a51d8c1 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/remote-admin.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/ServerWindow/remote-admin.md @@ -3,11 +3,11 @@ id: remote-admin title: Administração a partir de máquinas remotas --- -You can administer the 4D Server application from a remote 4D (client machine) by opening the 4D Server administration window on the client machine. +Pode administrar a aplicação 4D Server a partir de um 4D remoto (máquina cliente) abrindo a janela de administração do 4D Server na máquina cliente. -## Opening the administration window on a remote 4D machine +## Abrir a janela de administração numa máquina 4D remota -To open a server administration window from a client machine, you must be connected to the remote database as a Designer or Administrator. Otherwise, when you attempt to open the administration window, a privilege error (-9991) is generated. +Para abrir uma janela de administração do servidor a partir de uma máquina cliente, é necessário estar ligado à banco de dados remoto como Desenhador ou Administrador. Caso contrário, quando tentar abrir a janela de administração, é gerado um erro de privilégio (-9991). Esta janela pode ser acedida de duas maneiras: From 677a8bd533f1f80916c22ec506756703c867d3c1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:36:13 +0200 Subject: [PATCH 217/265] New translations updates.md (French) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 - 1 file changed, 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md index a112e26055e92e..05ef3602461441 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,7 +53,6 @@ Lisez [**Les nouveautés de 4D v20**](https://blog.4d.com/fr-whats-new-in-4d-v20 #### Changements de comportement -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Pour des raisons de conformité avec la RFC HTTP, la propriété [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) renvoie désormais tous les noms d'en-têtes **en minuscules**. Si vous souhaitez que votre code continue à fonctionner comme auparavant, utilisez la nouvelle propriété [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) . - Les certificats TLS sont désormais automatiquement validés par 4D lors de l'envoi de requêtes HTTP avec [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), et rejetés avec une erreur s'ils ne sont pas valides. Une nouvelle propriété *option* vous permet de contrôler cette validation. - TLS v1.0 et TLS v1.1 sont obsolètes, ils ne sont plus pris en charge par `Min TLS version` sur 4D Server. La version 1.3 est désormais sélectionnée par défaut et est automatiquement utilisée si les constantes `_o_TLSv1_0` ou `_o_TLSv1_1` sont définies avec [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 367a9693c575899548490f501d41fc5372b12b6b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:36:22 +0200 Subject: [PATCH 218/265] New translations updates.md (Spanish) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 - 1 file changed, 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md index fbb5cccc667b34..fbc29b380a1fee 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,7 +53,6 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Cambios de comportamiento -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Para el cumplimiento HTTP RFC, la propiedad [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) devuelve ahora todos los nombres de encabezado **en minúsculas**. Si desea que su código siga funcionando como antes, utilice la nueva propiedad [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response). - Los certificados TLS son ahora validados automáticamente por 4D al enviar peticiones HTTP con [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) y rechazados con un error si no son válidos. Una nueva propiedad *option* le permite controlar esta validación. - TLS v1.0 y TLS v1.1 están obsoletos, ya no están soportados como `Min TLS versión` en 4D Server. La versión 1.3 se selecciona ahora por defecto y se utiliza automáticamente si se definen las constantes `_o_TLSv1_0` o `_o_TLSv1_1` con [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From ed66ad9a6867fbd67211b12d69192cdd06fcbaf7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:36:31 +0200 Subject: [PATCH 219/265] New translations updates.md (German) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 - 1 file changed, 1 deletion(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 70048649435ca9..b03853a550d67f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,7 +53,6 @@ Read [**What’s new in 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), #### Behavior changes -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. A new *option* property allows you to control this validation. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From e59715419625953a7a58edecd5c2c7b7985c28e8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:36:41 +0200 Subject: [PATCH 220/265] New translations updates.md (Japanese) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 - 1 file changed, 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 7566c2ca6183a3..4441f6a4a07080 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,7 +53,6 @@ title: リリースノート #### 動作の変更 -- **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 修正後、この開始値は 0 になりました。 - HTTP RFC に準拠するため、[`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) プロパティは、すべてのヘッダー名を **小文字で** 返すようになりました。 以前と同じふるまいが必要な場合には、新しい [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) プロパティを使用します。 - [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) で HTTPリクエストを送信する際、TLS証明書が 4Dによって自動的に検証され、無効な場合はエラーで拒否されるようになりました。 新しい *option* プロパティで、この検証を管理することができます。 - TLS v1.0 および TLS v1.1 は廃止され、4D Server において `Min TLS version` としてサポートされなくなりました。 現在はバージョン 1.3 がデフォルトで選択されています。`_o_TLSv1_0` または `_o_TLSv1_1` 定数が [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/ja/page642.html) で設定されている場合には、バージョン 1.3 が自動的に使用されます。 From d2ab3b6aaa57362a65b333614a76f19666f3323d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:36:49 +0200 Subject: [PATCH 221/265] New translations version-20.json (Portuguese, Brazilian) --- i18n/pt/docusaurus-plugin-content-docs/version-20.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20.json b/i18n/pt/docusaurus-plugin-content-docs/version-20.json index 5d4dbbb1e1d649..fc641590e6c059 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20.json +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20.json @@ -100,7 +100,7 @@ "description": "The generated-index page title for category Web Administration in sidebar docs" }, "sidebar.docs.category.Web Administration.link.generated-index.description": { - "message": "4D web tools for administrating and monitoring your applications.", + "message": "Ferramentas web 4D para administrar e monitorar suas aplicações.", "description": "The generated-index page description for category Web Administration in sidebar docs" }, "sidebar.docs.category.MSC": { @@ -152,7 +152,7 @@ "description": "The generated-index page title for category REST Server in sidebar docs" }, "sidebar.docs.category.REST Server.link.generated-index.description": { - "message": "Configuring the 4D REST Server and using the REST API.", + "message": "Configurando o Servidor 4D REST e usando a API REST.", "description": "The generated-index page description for category REST Server in sidebar docs" }, "sidebar.docs.category.Guides": { From c6fc2f524175749aea5fbfcde4b0e453e22b21fd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:36:50 +0200 Subject: [PATCH 222/265] New translations updates.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-20/Notes/updates.md | 1 - 1 file changed, 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 161aa977206fca..1f18ed5279d6ae 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -53,7 +53,6 @@ See the [**previous Release notes**](https://doc.4d.com/4Dv19/4D/19.4/4D-v19x-Re #### Mudanças de comportamento -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. Uma nova propriedade *option* permite-lhe controlar esta validação. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From eb463710baaab3a9fe002e6db09a7589b9c0cb13 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:36:54 +0200 Subject: [PATCH 223/265] New translations CollectionClass.md (Portuguese, Brazilian) --- .../version-20/API/CollectionClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md index 0af7c512ace0d2..d9b13d6aecb68d 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md @@ -3235,9 +3235,9 @@ A chamada de retorno recebe os seguintes parâmetros: - em *$1.value2* (qualquer tipo): segundo elemento a ser comparado - $2...$N (qualquer tipo): parâmetros adicionais -If you used a method, you must set the following parameter: +Se utilizou um método, deve definir o seguinte parâmetro: -- *$1.result* (boolean): **True** if *$1.value < $1.value2*, **False** otherwise. +- *$1.result* (boolean): **True** if *$1.value < $1.value2*, **False** do contrário. #### Exemplo 1 From 90438a4c226b98352a659466ae938628dcfcdf1c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:37:07 +0200 Subject: [PATCH 224/265] New translations FileHandleClass.md (French) --- .../version-20/API/FileHandleClass.md | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index 273838e3939cc4..aa1e5c2f460e04 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -274,26 +274,6 @@ Setting the `.offset` will change its current value at the moment of the next re Cette propriété est en **lecture/écriture**. -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Par exemple : - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From 09dacf6ef40b6824e872ec208f6e6726a33b599c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:37:19 +0200 Subject: [PATCH 225/265] New translations FileHandleClass.md (Spanish) --- .../version-20/API/FileHandleClass.md | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index fd452643b6fc48..f6a3046d20c764 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -274,26 +274,6 @@ Setting the `.offset` will change its current value at the moment of the next re Esta propiedad es **lectura/escritura**. -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por ejemplo: - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From cb0b7e6c81a5fe1e15f7b8425a98ab5a5546d93e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:37:31 +0200 Subject: [PATCH 226/265] New translations FileHandleClass.md (German) --- .../version-20/API/FileHandleClass.md | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index ef8ced6eb88f61..aa932fb02d6c91 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -274,26 +274,6 @@ Setting the `.offset` will change its current value at the moment of the next re This property is **read/write**. -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Beispiel: - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From 9cfdc2d967fa94ee53232c04d7629a352e78e8f9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:37:43 +0200 Subject: [PATCH 227/265] New translations FileHandleClass.md (Japanese) --- .../version-20/API/FileHandleClass.md | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index e2af6b3348f1f4..e8fd46c84ad3f3 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -273,26 +273,6 @@ FileHandle オブジェクトは共有できません。 **読み書き可能** プロパティです。 -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. ファイルの文字セットに応じて、1文字は 1バイトまたは複数バイトに対応します。 したがって、`readBlob()` で読み取りを開始してから `readText()` を呼び出すと、テキストの読み取りは一貫性のない位置から開始されます。 そのため、同じ FileHandle内で、BLOB の読み取り/書き込みからテキストの読み取り/書き込みに切り替える場合には、`.offset` プロパティを自分で設定することが不可欠です。 例: - -```4d - // utf-16エンコーディング (1文字につき 2バイト) を使用して、ヨーロッパのテキストファイルを開きます - // 最初の 10文字をバイトとして、残りをテキストとして読み込みます -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // 最初の 20バイト (=10文字) を読み取ります -$b:=$fh.readBlob(20) // 現在のオフセット: $fh.offset=20 - // 次にすでに読み取った 10文字を飛ばして残りのテキストをすべて読み取ります - // バイトからテキストの読み取りへと切り替えるため、オフセットの単位が変わります - // そのため、オフセットをバイトから文字数に変換する必要があります -$fh.offset:=10 // 最初の 10文字 (20バイト) の utf-16文字をスキップさせます -$s:=$fh.readText() -``` - -::: - - From ce2249f12f7aa2370fea19ac142013e21a9b23fa Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:37:47 +0200 Subject: [PATCH 228/265] New translations DataStoreClass.md (Portuguese, Brazilian) --- .../version-20/API/DataStoreClass.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md index 6ec30efc11caf1..cff9ff541227d4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md @@ -1066,10 +1066,10 @@ persons.lastname, persons.firstname"; "main"; 30)
    Histórico -| Versão | Mudanças | -| ------ | -------------------------------------------- | -| v20 | Server side support, new `options` parameter | -| v17 R6 | Adicionado | +| Versão | Mudanças | +| ------ | ----------------------------------------------------- | +| v20 | Suporte do lado do servidor, novo parâmetro `options` | +| v17 R6 | Adicionado |
    @@ -1077,27 +1077,27 @@ persons.lastname, persons.firstname"; "main"; 30) -| Parâmetro | Tipo | | Descrição | -| --------- | -------- | -- | ----------------------------------------------------------------------------- | -| file | 4D. File | -> | Objeto File | -| options | Integer | -> | Opção de registo de resposta (apenas servidor) | -| reqNum | Integer | -> | Number of requests to keep in memory (client only)| +| Parâmetro | Tipo | | Descrição | +| --------- | -------- | -- | --------------------------------------------------------------------------------- | +| file | 4D. File | -> | Objeto File | +| options | Integer | -> | Opção de registo de resposta (apenas servidor) | +| reqNum | Integer | -> | Número de pedidos a manter na memória (apenas cliente)| | #### Descrição -A função `.startRequestLog()` starts the logging of ORDA requests on the client side or on the server side. Foi criado para depuração em configurações de cliente/servidor. +A função `.startRequestLog()` inicia o registo dos pedidos ORDA no lado do cliente ou no lado do servidor. Foi criado para depuração em configurações de cliente/servidor. :::info -For a description of the ORDA request log format, please refer to the [**ORDA requests**](../Debugging/debugLogFiles.md#orda-requests) section. +Para uma descrição do formato do registo de petições ORDA, consulte a secção [**petições ORDA**](../Debugging/debugLogFiles.md#orda-requests). ::: #### Do lado do cliente -To create a client-side ORDA request log, call this function on a remote machine. The log can be sent to a file or to memory, depending on the parameter type: +Para criar um registo de pedidos ORDA do lado do cliente, chame esta função numa máquina remota. The log can be sent to a file or to memory, depending on the parameter type: * Se passar um objeto *file* criado com o comando `File`, os dados de registro se escrevem neste arquivo como uma coleção de objetos (formato JSON). Cada objeto representa uma petição.
    Se o arquivo não existir, será criado. No caso contrário, ou seja, se o arquivo já existir, os novos dados de registro serão adicionados a ele. If `.startRequestLog()` is called with a file while a logging was previously started in memory, the memory log is stopped and emptied. > Deve adicionar manualmente um caractere \N ao final do arquivo para realizar uma validação JSON @@ -1111,13 +1111,13 @@ To create a client-side ORDA request log, call this function on a remote machine To create a server-side ORDA request log, call this function on the server machine. Os dados de registo são escritos num ficheiro no formato `.jsonl`. Cada objeto representa um pedido. Se o ficheiro ainda não existir, é criado. No caso contrário, ou seja, se o arquivo já existir, os novos dados de registro serão adicionados a ele. - If you passed the *file* parameter, the log data is written in this file, at the requested location. - If you omit the *file* parameter or if it is null, the log data is written in a file named *ordaRequests.jsonl* and stored in the "/LOGS" folder. -- The *options* parameter can be used to specify if the server response has to be logged, and if it should include the body. By default when the parameter is omitted, the full response is logged. The following constants can be used in this parameter: +- The *options* parameter can be used to specify if the server response has to be logged, and if it should include the body. By default when the parameter is omitted, the full response is logged. As seguintes constantes podem ser utilizadas neste parâmetro: -| Parâmetros | Descrição | -| ----------------------------- | ----------------------------------------- | -| srl log all | Log the response entirely (default value) | -| srl log no response | Desativar o registo da resposta | -| srl log response without body | Registar a resposta sem o corpo | +| Parâmetros | Descrição | +| ----------------------------- | -------------------------------------------------- | +| srl log all | Registar a resposta na íntegra (valor predefinido) | +| srl log no response | Desativar o registo da resposta | +| srl log response without body | Registar a resposta sem o corpo | #### Exemplo 1 @@ -1265,11 +1265,11 @@ Pode aninhar várias transações (subtransações). Cada transação ou subtran #### Descrição -A função `.stopRequestLog()` stops any logging of ORDA requests on the machine it is called (client or server). +A função `.stopRequestLog()` pára qualquer registo de pedidos ORDA na máquina a que é chamado (cliente ou servidor). -Fecha efetivamente o documento aberto no disco. On the client side, if the log was started in memory, it is stopped. +Fecha efetivamente o documento aberto no disco. No lado do cliente, se o registo tiver sido iniciado na memória, é interrompido. -This function does nothing if logging of ORDA requests was not started on the machine. +Esta função não faz nada se o registo dos pedidos ORDA não tiver sido iniciado na máquina. #### Exemplo From 1ee73c5b8b1900825bba5b31b5c82161d1bb6b84 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:37:55 +0200 Subject: [PATCH 229/265] New translations FileHandleClass.md (Portuguese, Brazilian) --- .../version-20/API/FileHandleClass.md | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md index 0aad915f9dc664..5eddfcec44dc20 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md @@ -273,26 +273,6 @@ Setting the `.offset` will change its current value at the moment of the next re Esta propriedade é **read/write**. -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // lê os 20 primeiros bytes (i.e. 10 caracteres) -$b:=$fh.readBlob(20) // $fh.offset=20 - // depois lê todo o texto saltando os primeiros 10 caracteres que acabámos de ler no blob anterior - // porque agora estamos a ler texto em vez de bytes, o significado de 'offset' não é o mesmo. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From 860be8f546edfd8885401eb63e303787a11580b5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:41:13 +0200 Subject: [PATCH 230/265] New translations flow-control.md (Portuguese, Brazilian) --- .../version-20/Concepts/flow-control.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md index bded628c965da9..736daf28c8e464 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md @@ -308,7 +308,7 @@ Repeat {continue} Until(Boolean_Expression) ``` -A `Repeat...Until` loop is similar to a [While...End while](flow-control.md#whileend-while) loop, except that it tests the Boolean expression after the loop rather than before. Thus, a `Repeat...Until` loop always executes the loop once, whereas if the Boolean expression is initially False, a `While...End while` loop does not execute the loop at all. +Um ciclo `Repeat...Until` é como um ciclo [While...End while](flow-control.md#whileend-while), exceto que testa a expressão booleana depois do ciclo e não antes. Thus, a `Repeat...Until` loop always executes the loop once, whereas if the Boolean expression is initially False, a `While...End while` loop does not execute the loop at all. The other difference with a `Repeat...Until` loop is that the loop continues until the Boolean expression is TRUE. @@ -736,11 +736,11 @@ Pode passar qualquer uma das duas palavras chave em função das suas necessidad ## break e continue -All looping structures above support both `break` and `continue` statements. These statements give you more control over the loops by allowing to exit the loop and to bypass the current iteration at any moment. +Todas as estruturas de looping acima suportam as instruções `break` e `continue`. Estas instruções dão-lhe mais controlo sobre os loops, permitindo-lhe sair do ‘loop’ e ignorar a iteração atual a qualquer momento. ### break -The `break` statement terminates the loop containing it. Control of the program flows to the statement immediately after the body of the loop. +A instrução `break` termina o ciclo que a contém. Control of the program flows to the statement immediately after the body of the loop. If the `break` statement is inside a [nested loop](#nested-forend-for-looping-structures) (loop inside another loop), the `break` statement will terminate the innermost loop. From 9b87a914416390e4035e29ed80565d88bbe65c7c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:54:51 +0200 Subject: [PATCH 231/265] New translations remote-admin.md (Portuguese, Brazilian) --- .../version-20/ServerWindow/remote-admin.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/remote-admin.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/remote-admin.md index 3c657024ea73e9..9164b18a51d8c1 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/remote-admin.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/ServerWindow/remote-admin.md @@ -3,11 +3,11 @@ id: remote-admin title: Administração a partir de máquinas remotas --- -You can administer the 4D Server application from a remote 4D (client machine) by opening the 4D Server administration window on the client machine. +Pode administrar a aplicação 4D Server a partir de um 4D remoto (máquina cliente) abrindo a janela de administração do 4D Server na máquina cliente. -## Opening the administration window on a remote 4D machine +## Abrir a janela de administração numa máquina 4D remota -To open a server administration window from a client machine, you must be connected to the remote database as a Designer or Administrator. Otherwise, when you attempt to open the administration window, a privilege error (-9991) is generated. +Para abrir uma janela de administração do servidor a partir de uma máquina cliente, é necessário estar ligado à banco de dados remoto como Desenhador ou Administrador. Caso contrário, quando tentar abrir a janela de administração, é gerado um erro de privilégio (-9991). Esta janela pode ser acedida de duas maneiras: From b72f55c9d5afd1cd8317c8196160b9afb6338437 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:55:46 +0200 Subject: [PATCH 232/265] New translations classes.md (Portuguese, Brazilian) --- .../version-20/ViewPro/classes.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md index 07d1137d108390..8c619fbfe4bc2f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md @@ -13,7 +13,7 @@ As seguintes classes podem ser usadas no 4D View Pro. **.color**: Texto -A propriedade `.color` é a [color](configuring.md#borders) of the border. Predefinição = black. +A propriedade `.color` é a [cor](configuring.md#borders) da margem. Predefinição = black. ### .style @@ -21,7 +21,7 @@ A propriedade `.color` é a [color](config **.style** : Integer -A propriedade `.style` é o [style](configuring.md#borders) of the border. Predefinição = vazio. +A propriedade `.style` é o [estilo](configuring.md#borders) da margem. Predefinição = vazio. ## TableColumn @@ -57,7 +57,7 @@ A propriedade `.name` contém o nome da co **.allowAutoExpand** : Boolean -A propriedade `.allowAutoExpand` indicates whether to expand columns or rows of the table when values are added in empty adjacent cells. Padrão = True +A propriedade `.allowAutoExpand` indica se as colunas ou linhas da tabela devem ser expandidas quando são adicionados valores em células adjacentes vazias. Padrão = True ### .bandColumns @@ -65,7 +65,7 @@ A propriedade `.allowAutoExpand` **.bandColumns**: Boolean -A propriedade `.bandColumns` indicates whether to display an alternating column style. Padrão = False +A propriedade `.bandColumns` indica se deve ser apresentado um estilo de coluna alternada. Padrão = False ### .bandRows @@ -73,13 +73,13 @@ A propriedade `.bandColumns` indic **.bandRows**: Boolean -A propriedade `.bandRows` indicates whether to display an alternating row style. Padrão = True +A propriedade `.bandRows` indica se deve ser apresentado um estilo de linha alternada. Padrão = True ### .highlightLastColumn -**.highlightLastColumn** : Boolean +**.highlightLastColumn**: Boolean A propriedade `.highlightLastColumn` indica se a última coluna deve ser realçada. Padrão = False @@ -108,16 +108,16 @@ A propriedade `.showHeader` indica ### .showResizeHandle -**.showResizeHandle** : Boolean +**.showResizeHandle**: Boolean -A propriedade `.showResizeHandle` indicates whether to display the resize handle for tables that don't have a *source*. Padrão = False +A propriedade `.showResizeHandle` indica se deve ser apresentado o identificador de redimensionamento para tabelas que não têm uma *source*. Padrão = False ### .tableColumns **.tableColumns** : Collection -A propriedade `tableColumns` is a collection of [cs.ViewPro.TableColumn](#tablecolumn) objects used to create the table's columns. +A propriedade `tableColumns` é uma coleção de objetos [cs.ViewPro.TableColumn](#tablecolumn) utilizados para criar as colunas da tabela. @@ -129,15 +129,15 @@ A propriedade `tableColumns` is a A propriedade `.theme` define um tema de tabela. Pode também ser um texto (nome de um tema SpreadJS nativo). -See the [native SpreadJS themes](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). +Ver os temas [nativos do SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). ### .useFooterDropDownList -**.useFooterDropDownList** : Boolean +**.useFooterDropDownList**: Boolean -A propriedade `.useFooterDropDownList` indicates whether to use a dropdown list in footer cells that calculate the total value of a column. Padrão = False +A propriedade `.useFooterDropDownList` indica se deve ser utilizada uma lista pendente nas células de rodapé que calculam o valor total de uma coluna. Padrão = False @@ -148,7 +148,7 @@ A propriedade `.useFooterDropDownList` **.backColor**: Text -A propriedade `.backColor` é o [background color](configuring.md/#background--foreground) of the table. +A propriedade `.backColor` é o [cor de fundo](configuring.md/#background--foreground) da tabela. ### .forecolor @@ -156,7 +156,7 @@ A propriedade `.backColor` é o [backg **.forecolor**: Text -A propriedade `.forecolor` é o [foreground color](configuring.md/#background--foreground) of the table. +A propriedade `.forecolor` é o [cor de primeiro plano](configuring.md/#background--foreground) da tabela. @@ -165,7 +165,7 @@ A propriedade `.forecolor` é o [foreg **.font**: Text -A propriedade `.font` é o font name (see [**Fonts and text**](configuring.md/#fonts-and-text)) of the table. +A propriedade `.font` é o nome do letra (ver [**Categorias de letra e texto**](configuring.md/#fonts-and-text)) da tabela. @@ -174,7 +174,7 @@ A propriedade `.font` é o font name (see [ **.textDecoration** : Integer -A propriedade `.textDecoration` é a text decoration of the table (see [**Fonts and text**](configuring.md/#fonts-and-text)). +A propriedade `.textDecoration` é a decoração do texto da tabela (ver [**Letras e textos**](configuring.md/#fonts-and-text)). ### .borderLeft @@ -188,7 +188,7 @@ A propriedade `.borderLeft` é a linh ### .borderRight -**.borderRight** : [cs.ViewPro.LineBorder](#lineborder) +**.borderRight**: [cs.ViewPro.LineBorder](#lineborder) A propriedade `.borderRight` é a linha de fronteira direita da tabela . @@ -207,15 +207,15 @@ A propriedade `.borderBottom` é o -**.borderHorizontal** : [cs.ViewPro.LineBorder](#lineborder) +**.borderHorizontal**: [cs.ViewPro.LineBorder](#lineborder) -A propriedade `.borderHorizontal` é o horizontal border line of the table . +A propriedade `.borderHorizontal` é o limite horizontal da tabela . ### .borderVertical -**.borderVertical** : [cs.ViewPro.LineBorder](#lineborder) +**.borderVertical**: [cs.ViewPro.LineBorder](#lineborder) A propriedade `.borderVertical` é a linha de fronteira vertical da tabela . @@ -229,7 +229,7 @@ A propriedade `.borderVertical` é a **.bandRows**: Boolean -A propriedade `.bandRows` indicates whether to display an alternating row style. +A propriedade `.bandRows` indica se deve ser apresentado um estilo de linha alternada. ### .bandColumns @@ -237,13 +237,13 @@ A propriedade `.bandRows` indicates whe **.bandColumns**: Boolean -A propriedade `.bandColumns` indicates whether to display an alternating column style. +A propriedade `.bandColumns` indica se deve ser apresentado um estilo de coluna alternada. ### .highlightLastColumn -**.highlightLastColumn** : Boolean +**.highlightLastColumn**: Boolean A propriedade `.highlightLastColumn` indica se a última coluna deve ser realçada. @@ -257,7 +257,7 @@ A propriedade `.highlightFirstColumn` -**.theme** : [cs.ViewPro.TableThemeOptions](#tablethemeoptions)
    **.theme** : Text +**.theme**: [cs.ViewPro.TableThemeOptions](#tablethemeoptions)
    **.theme**: Text A propriedade `.theme` define um tema de tabela. If Text: name of a [native SpreadJS theme](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). @@ -272,12 +272,12 @@ A propriedade `.theme` define um tema de t **.firstColumnStripSize** : Integer -The `.firstColumnStripSize` property is the tamanho da primeira coluna alternada. O padrão=1 +A propriedade `.firstColumnStripSize` é o tamanho da primeira coluna alternada. O padrão=1 ### .firstColumnStripStyle -**.firstColumnStripStyle** : [cs.ViewPro.TableStyle](#tablestyle) +**.firstColumnStripStyle**: [cs.ViewPro.TableStyle](#tablestyle) The `.firstColumnStripStyle` property is the estilo da primeira coluna alternada. From 57438f7cc3aba005d7d5c6c1ea73157e47de7ba6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 01:55:55 +0200 Subject: [PATCH 233/265] New translations method-list.md (Portuguese, Brazilian) --- .../version-20/ViewPro/method-list.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md index 28ebd07b98d45c..aec0494714d0a1 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/method-list.md @@ -3003,14 +3003,14 @@ An error is returned if the `filePath` parameter is invalid, or if the file is m The optional *paramObj* parameter allows you to define properties for the imported document: -| Parâmetro | | Tipo | Descrição | -| ---------- | --------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| formula | | object | A callback method name to be launched when the import has completed. The method must use the [`Formula`](https://doc.4d.com/4dv19/help/command/en/page1597.html) command. See [Passing a callback method (formula)](#passing-a-callback-method-formula). | -| senha | | text | Microsoft Excel only (optional) - The password used to protect a MS Excel document. | -| csvOptions | | object | opções para importação csv | -| | range | object | Cell range that contains the first cell where the data will be written. If the specified range is not a cell range, only the first cell of the range is used. | -| | rowDelimiter | text | Delimitador de linha. Se não estiver presente, o delimitador é automaticamente determinado por 4D. | -| | columnDelimiter | text | Delimitador de coluna. O padrão: "," | +| Parâmetro | | Tipo | Descrição | +| ---------- | --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| formula | | object | A callback method name to be launched when the import has completed. O método deve utilizar o comando [`Formula`](https://doc.4d.com/4dv19/help/command/en/page1597.html). See [Passing a callback method (formula)](#passing-a-callback-method-formula). | +| senha | | text | Microsoft Excel only (optional) - The password used to protect a MS Excel document. | +| csvOptions | | object | opções para importação csv | +| | range | object | Cell range that contains the first cell where the data will be written. If the specified range is not a cell range, only the first cell of the range is used. | +| | rowDelimiter | text | Delimitador de linha. Se não estiver presente, o delimitador é automaticamente determinado por 4D. | +| | columnDelimiter | text | Delimitador de coluna. O padrão: "," | > For more information on the CSV format and delimiter-separated values in general, see [this article on Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values) From 7d3d8d3197e0937c02330091511a7a26351698b6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:45:18 +0200 Subject: [PATCH 234/265] New translations client-server.md (Portuguese, Brazilian) --- .../version-20/settings/client-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/client-server.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/client-server.md index 1b096bf1392c98..b7cc57a6b12836 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/client-server.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/client-server.md @@ -36,7 +36,7 @@ To update any other client machines that are not connected, you just need to ent > Only databases published on the same port as the one set in 4D client are visible on the TCP/IP dynamic publication page. -#### 4D Server and port numbers +#### 4D Server e números de portas 4D Server uses three TCP ports for communications between internal servers and clients: From e80c4106c5fd7bc108cb8d0ac326768562e2efcf Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:45:27 +0200 Subject: [PATCH 235/265] New translations updates.md (French) --- .../version-20-R2/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index 654b6edb14c919..a62bcd6db52cdf 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,9 +19,6 @@ Lisez [**Les nouveautés de 4D v20 R2**](https://blog.4d.com/fr-whats-new-in-4d- - 4D Write Pro Interface : Nouvel [assistant de tableau](../WritePro/writeprointerface.md). - [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=20_R2): liste de tous les bugs corrigés dans 4D v20 R2. -#### Changements de comportement - -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -73,7 +70,6 @@ Lisez [**Les nouveautés de 4D v20**](https://blog.4d.com/fr-whats-new-in-4d-v20 #### Changements de comportement -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Pour des raisons de conformité avec la RFC HTTP, la propriété [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) renvoie désormais tous les noms d'en-têtes **en minuscules**. Si vous souhaitez que votre code continue à fonctionner comme auparavant, utilisez la nouvelle propriété [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) . - Les certificats TLS sont désormais automatiquement validés par 4D lors de l'envoi de requêtes HTTP avec [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), et rejetés avec une erreur s'ils ne sont pas valides. Une nouvelle propriété *option* vous permet de contrôler cette validation. - TLS v1.0 et TLS v1.1 sont obsolètes, ils ne sont plus pris en charge par `Min TLS version` sur 4D Server. La version 1.3 est désormais sélectionnée par défaut et est automatiquement utilisée si les constantes `_o_TLSv1_0` ou `_o_TLSv1_1` sont définies avec [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 54119b1bd927a59a610bf982fc9550ab3cc77dec Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:45:35 +0200 Subject: [PATCH 236/265] New translations updates.md (Spanish) --- .../version-20-R2/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index d3946f3e742618..975f05c788d016 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,9 +19,6 @@ Lea [**Novedades en 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20-R2/) - 4D Write Pro Interface: New [Table Wizard](../WritePro/writeprointerface.md). - [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=20_R2): lista de todos los errores que se han corregido en 4D v20 R2. -#### Cambios de comportamiento - -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -73,7 +70,6 @@ Lea [**Novedades en 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), la e #### Cambios de comportamiento -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - Para el cumplimiento HTTP RFC, la propiedad [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) devuelve ahora todos los nombres de encabezado **en minúsculas**. Si desea que su código siga funcionando como antes, utilice la nueva propiedad [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response). - Los certificados TLS son ahora validados automáticamente por 4D al enviar peticiones HTTP con [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) y rechazados con un error si no son válidos. Una nueva propiedad *option* le permite controlar esta validación. - TLS v1.0 y TLS v1.1 están obsoletos, ya no están soportados como `Min TLS versión` en 4D Server. La versión 1.3 se selecciona ahora por defecto y se utiliza automáticamente si se definen las constantes `_o_TLSv1_0` o `_o_TLSv1_1` con [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 8b7a1c7970a4c24eea51e61b642ff78d560298a6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:45:42 +0200 Subject: [PATCH 237/265] New translations updates.md (German) --- .../version-20-R2/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index 3ed24d6c39851d..cab92376eed52c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,9 +19,6 @@ Read [**What’s new in 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20- - 4D Write Pro Interface: New [Table Wizard](../WritePro/writeprointerface.md). - [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=20_R2): list of all bugs that have been fixed in 4D v20 R2. -#### Behavior changes - -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -73,7 +70,6 @@ Read [**What’s new in 4D v20**](https://blog.4d.com/en-whats-new-in-4d-v20/), #### Behavior changes -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. A new *option* property allows you to control this validation. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From bb42a80f04f77f4eafb6f1fbf0fe7f9643f9987f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:45:50 +0200 Subject: [PATCH 238/265] New translations updates.md (Japanese) --- .../version-20-R2/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index 6bb561d0b5697c..07c092a78df4a2 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,9 +19,6 @@ title: リリースノート - 4D Write Pro インターフェース: 新しい [表ウィザード](../WritePro/writeprointerface.md)。 - [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=20_R2): 4D v20 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。 -#### 動作の変更 - -- **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 修正後、この開始値は 0 になりました。 ## 4D v20.x @@ -73,7 +70,6 @@ title: リリースノート #### 動作の変更 -- **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 修正後、この開始値は 0 になりました。 - HTTP RFC に準拠するため、[`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) プロパティは、すべてのヘッダー名を **小文字で** 返すようになりました。 以前と同じふるまいが必要な場合には、新しい [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) プロパティを使用します。 - [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new) で HTTPリクエストを送信する際、TLS証明書が 4Dによって自動的に検証され、無効な場合はエラーで拒否されるようになりました。 新しい *option* プロパティで、この検証を管理することができます。 - TLS v1.0 および TLS v1.1 は廃止され、4D Server において `Min TLS version` としてサポートされなくなりました。 現在はバージョン 1.3 がデフォルトで選択されています。`_o_TLSv1_0` または `_o_TLSv1_1` 定数が [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/ja/page642.html) で設定されている場合には、バージョン 1.3 が自動的に使用されます。 From 09c9f4b05d083c68cd962169ea882301954ef9ba Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:45:56 +0200 Subject: [PATCH 239/265] New translations web.md (Portuguese, Brazilian) --- .../docusaurus-plugin-content-docs/version-20/settings/web.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/web.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/web.md index a27f3f9c3783dd..47e64d50a0aa7a 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/web.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/settings/web.md @@ -301,4 +301,4 @@ This option specifies a group of 4D users that is authorized to establish the li #### Ativar o acesso ao estúdio Web -Ativa o acesso geral ao Web studio. You still need to configure it at every project level. \ No newline at end of file +Ativa o acesso geral ao Web studio. Continua a ser necessário configurá-lo em cada nível de projeto. \ No newline at end of file From 70fbf615c0b07cb60772eed4e973adc406bb9dee Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:45:58 +0200 Subject: [PATCH 240/265] New translations updates.md (Portuguese, Brazilian) --- .../version-20-R2/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md index 1701b2a058a094..396c9f6f0d3b1d 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Notes/updates.md @@ -19,9 +19,6 @@ Read [**What’s new in 4D v20 R2**](https://blog.4d.com/en-whats-new-in-4d-v20- - 4D Write Pro Interface: New [Table Wizard](../WritePro/writeprointerface.md). - [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=20_R2): list of all bugs that have been fixed in 4D v20 R2. -#### Mudanças de comportamento - -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. ## 4D v20.x @@ -73,7 +70,6 @@ See the [**previous Release notes**](https://doc.4d.com/4Dv19/4D/19.4/4D-v19x-Re #### Mudanças de comportamento -- **Warning**: the starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been done and the value is now 0. - For HTTP RFC compliance, [`HTTPRequestClass.response.headers`](../API/HTTPRequestClass.md#response) property now returns all header names **in lowercase**. If you want your code to continue working as before, use the new [`HTTPRequestClass.response.rawHeaders`](../API/HTTPRequestClass.md#response) property. - TLS certificates are now automatically validated by 4D when sending HTTP requests with [`4D.HTTPRequest.new()`](../API/HTTPRequestClass.md#new), and rejected with an error if they are invalid. Uma nova propriedade *option* permite-lhe controlar esta validação. - TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as `Min TLS version` on 4D Server. Version 1.3 is now selected by default and is automatically used if `_o_TLSv1_0` or `_o_TLSv1_1` constants are set with [`SET DATABASE PARAMETER`](https://doc.4d.com/4dv20/help/command/en/page642.html). From 45a3183b7266e873f16993a8d2c5eed7457f6601 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:46:45 +0200 Subject: [PATCH 241/265] New translations version-20-R2.json (Portuguese, Brazilian) --- i18n/pt/docusaurus-plugin-content-docs/version-20-R2.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2.json b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2.json index 8a8e0eb8a781ff..060962fd20cf8e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2.json +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2.json @@ -100,7 +100,7 @@ "description": "The generated-index page title for category Web Administration in sidebar docs" }, "sidebar.docs.category.Web Administration.link.generated-index.description": { - "message": "4D web tools for administrating and monitoring your applications.", + "message": "Ferramentas web 4D para administrar e monitorar suas aplicações.", "description": "The generated-index page description for category Web Administration in sidebar docs" }, "sidebar.docs.category.MSC": { @@ -152,7 +152,7 @@ "description": "The generated-index page title for category REST Server in sidebar docs" }, "sidebar.docs.category.REST Server.link.generated-index.description": { - "message": "Configuring the 4D REST Server and using the REST API.", + "message": "Configurando o Servidor 4D REST e usando a API REST.", "description": "The generated-index page description for category REST Server in sidebar docs" }, "sidebar.docs.category.Guides": { From 9a49e71651790fc0c64f5085711947c3527c6ab3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:46:53 +0200 Subject: [PATCH 242/265] New translations DataStoreClass.md (Portuguese, Brazilian) --- .../version-20-R2/API/DataStoreClass.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataStoreClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataStoreClass.md index 6ec30efc11caf1..cff9ff541227d4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataStoreClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/DataStoreClass.md @@ -1066,10 +1066,10 @@ persons.lastname, persons.firstname"; "main"; 30)
    Histórico -| Versão | Mudanças | -| ------ | -------------------------------------------- | -| v20 | Server side support, new `options` parameter | -| v17 R6 | Adicionado | +| Versão | Mudanças | +| ------ | ----------------------------------------------------- | +| v20 | Suporte do lado do servidor, novo parâmetro `options` | +| v17 R6 | Adicionado |
    @@ -1077,27 +1077,27 @@ persons.lastname, persons.firstname"; "main"; 30) -| Parâmetro | Tipo | | Descrição | -| --------- | -------- | -- | ----------------------------------------------------------------------------- | -| file | 4D. File | -> | Objeto File | -| options | Integer | -> | Opção de registo de resposta (apenas servidor) | -| reqNum | Integer | -> | Number of requests to keep in memory (client only)| +| Parâmetro | Tipo | | Descrição | +| --------- | -------- | -- | --------------------------------------------------------------------------------- | +| file | 4D. File | -> | Objeto File | +| options | Integer | -> | Opção de registo de resposta (apenas servidor) | +| reqNum | Integer | -> | Número de pedidos a manter na memória (apenas cliente)| | #### Descrição -A função `.startRequestLog()` starts the logging of ORDA requests on the client side or on the server side. Foi criado para depuração em configurações de cliente/servidor. +A função `.startRequestLog()` inicia o registo dos pedidos ORDA no lado do cliente ou no lado do servidor. Foi criado para depuração em configurações de cliente/servidor. :::info -For a description of the ORDA request log format, please refer to the [**ORDA requests**](../Debugging/debugLogFiles.md#orda-requests) section. +Para uma descrição do formato do registo de petições ORDA, consulte a secção [**petições ORDA**](../Debugging/debugLogFiles.md#orda-requests). ::: #### Do lado do cliente -To create a client-side ORDA request log, call this function on a remote machine. The log can be sent to a file or to memory, depending on the parameter type: +Para criar um registo de pedidos ORDA do lado do cliente, chame esta função numa máquina remota. The log can be sent to a file or to memory, depending on the parameter type: * Se passar um objeto *file* criado com o comando `File`, os dados de registro se escrevem neste arquivo como uma coleção de objetos (formato JSON). Cada objeto representa uma petição.
    Se o arquivo não existir, será criado. No caso contrário, ou seja, se o arquivo já existir, os novos dados de registro serão adicionados a ele. If `.startRequestLog()` is called with a file while a logging was previously started in memory, the memory log is stopped and emptied. > Deve adicionar manualmente um caractere \N ao final do arquivo para realizar uma validação JSON @@ -1111,13 +1111,13 @@ To create a client-side ORDA request log, call this function on a remote machine To create a server-side ORDA request log, call this function on the server machine. Os dados de registo são escritos num ficheiro no formato `.jsonl`. Cada objeto representa um pedido. Se o ficheiro ainda não existir, é criado. No caso contrário, ou seja, se o arquivo já existir, os novos dados de registro serão adicionados a ele. - If you passed the *file* parameter, the log data is written in this file, at the requested location. - If you omit the *file* parameter or if it is null, the log data is written in a file named *ordaRequests.jsonl* and stored in the "/LOGS" folder. -- The *options* parameter can be used to specify if the server response has to be logged, and if it should include the body. By default when the parameter is omitted, the full response is logged. The following constants can be used in this parameter: +- The *options* parameter can be used to specify if the server response has to be logged, and if it should include the body. By default when the parameter is omitted, the full response is logged. As seguintes constantes podem ser utilizadas neste parâmetro: -| Parâmetros | Descrição | -| ----------------------------- | ----------------------------------------- | -| srl log all | Log the response entirely (default value) | -| srl log no response | Desativar o registo da resposta | -| srl log response without body | Registar a resposta sem o corpo | +| Parâmetros | Descrição | +| ----------------------------- | -------------------------------------------------- | +| srl log all | Registar a resposta na íntegra (valor predefinido) | +| srl log no response | Desativar o registo da resposta | +| srl log response without body | Registar a resposta sem o corpo | #### Exemplo 1 @@ -1265,11 +1265,11 @@ Pode aninhar várias transações (subtransações). Cada transação ou subtran #### Descrição -A função `.stopRequestLog()` stops any logging of ORDA requests on the machine it is called (client or server). +A função `.stopRequestLog()` pára qualquer registo de pedidos ORDA na máquina a que é chamado (cliente ou servidor). -Fecha efetivamente o documento aberto no disco. On the client side, if the log was started in memory, it is stopped. +Fecha efetivamente o documento aberto no disco. No lado do cliente, se o registo tiver sido iniciado na memória, é interrompido. -This function does nothing if logging of ORDA requests was not started on the machine. +Esta função não faz nada se o registo dos pedidos ORDA não tiver sido iniciado na máquina. #### Exemplo From 3a326e80c7e313e2e4b332e8c0eccceeed1420dd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:47:03 +0200 Subject: [PATCH 243/265] New translations FileHandleClass.md (French) --- .../version-20-R2/API/FileHandleClass.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index d3d7d4169d6dfb..aa1e5c2f460e04 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -274,33 +274,6 @@ Setting the `.offset` will change its current value at the moment of the next re Cette propriété est en **lecture/écriture**. -Setting the `.offset` will change its current value at the moment of the next read or write operation. - -- Si la valeur passée est négative, `.offset` est fixé au début du fichier (zéro). -- Si la valeur passée est supérieure à la taille du fichier, `.offset` est fixé à la fin du fichier (taille du fichier). - -Cette propriété est en **lecture/écriture**. - -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Par exemple : - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From 27b6ae3f7c7c884da1be4641632b6892708b0551 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:47:16 +0200 Subject: [PATCH 244/265] New translations FileHandleClass.md (Spanish) --- .../version-20-R2/API/FileHandleClass.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index c335e318fbc955..f6a3046d20c764 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -274,33 +274,6 @@ Setting the `.offset` will change its current value at the moment of the next re Esta propiedad es **lectura/escritura**. -Setting the `.offset` will change its current value at the moment of the next read or write operation. - -- Si el valor pasado es negativo, el `.offset` se define al inicio del archivo (cero). -- Si el valor pasado es mayor que el tamaño del archivo, el `.offset` se define al final del archivo (tamaño del archivo). - -Esta propiedad es **lectura/escritura**. - -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por ejemplo: - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From 985409122e9327272f0b868261074a6353530f85 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:47:27 +0200 Subject: [PATCH 245/265] New translations FileHandleClass.md (German) --- .../version-20-R2/API/FileHandleClass.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index f93f70c3050d4f..aa932fb02d6c91 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -274,33 +274,6 @@ Setting the `.offset` will change its current value at the moment of the next re This property is **read/write**. -Setting the `.offset` will change its current value at the moment of the next read or write operation. - -- If the passed value is negative, the `.offset` is set to the start of the file (zero). -- If the passed value is higher than the size of the file, the `.offset` is set to the end of the file (size of file). - -This property is **read/write**. - -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Beispiel: - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // read the 20 first bytes (i.e. 10 characters) -$b:=$fh.readBlob(20) // $fh.offset=20 - // then read all text skipping the first 10 characters we just read in previous blob - // because we are now reading text instead of bytes, the meaning of 'offset' is not the same. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From d13d03992d7aea0451917c1bc5d6b8c0be89deb8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:47:39 +0200 Subject: [PATCH 246/265] New translations FileHandleClass.md (Japanese) --- .../version-20-R2/API/FileHandleClass.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index 5784632b19da53..e8fd46c84ad3f3 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -273,33 +273,6 @@ FileHandle オブジェクトは共有できません。 **読み書き可能** プロパティです。 -`.offset` を設定すると、次の読み取り・書き取り操作の際に、その現在値が変更されます。 - -- 負の値が渡された場合、`.offset` はファイルの先頭 (ゼロ) に設定されます。 -- ファイルサイズより大きい値が渡された場合、`.offset` はファイルの終端 (ファイルサイズ) に設定されます。 - -**読み書き可能** プロパティです。 - -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. ファイルの文字セットに応じて、1文字は 1バイトまたは複数バイトに対応します。 したがって、`readBlob()` で読み取りを開始してから `readText()` を呼び出すと、テキストの読み取りは一貫性のない位置から開始されます。 そのため、同じ FileHandle内で、BLOB の読み取り/書き込みからテキストの読み取り/書き込みに切り替える場合には、`.offset` プロパティを自分で設定することが不可欠です。 例: - -```4d - // utf-16エンコーディング (1文字につき 2バイト) を使用して、ヨーロッパのテキストファイルを開きます - // 最初の 10文字をバイトとして、残りをテキストとして読み込みます -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // 最初の 20バイト (=10文字) を読み取ります -$b:=$fh.readBlob(20) // 現在のオフセット: $fh.offset=20 - // 次にすでに読み取った 10文字を飛ばして残りのテキストをすべて読み取ります - // バイトからテキストの読み取りへと切り替えるため、オフセットの単位が変わります - // そのため、オフセットをバイトから文字数に変換する必要があります -$fh.offset:=10 // 最初の 10文字 (20バイト) の utf-16文字をスキップさせます -$s:=$fh.readText() -``` - -::: - - From 432c231dfb49ba94bc9439149d7e2988b4790b78 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:47:52 +0200 Subject: [PATCH 247/265] New translations FileHandleClass.md (Portuguese, Brazilian) --- .../version-20-R2/API/FileHandleClass.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md index 08796a9e44ce0f..5eddfcec44dc20 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/API/FileHandleClass.md @@ -273,33 +273,6 @@ Setting the `.offset` will change its current value at the moment of the next re Esta propriedade é **read/write**. -Setting the `.offset` will change its current value at the moment of the next read or write operation. - -- Se o valor passado for negativo, o arquivo `.offset` é definido para o início do arquivo (zero). -- Se o valor passado for superior ao tamanho do arquivo, o arquivo `.offset` é definido para o fim do arquivo (tamanho do ficheiro). - -Esta propriedade é **read/write**. - -:::caution - -The unit of offset measurement differs according to the reading function: with [`readBlob()`](#readblob), `.offset` is a number of bytes, whereas with [`readText()`](#readtext)/[`readLine()`](#readline) it is a number of characters. Depending on the file's character set, a character corresponds to one or more bytes. So, if you start reading with `readBlob()` and then call `readText()`, text reading will start at an inconsistent position. It is therefore essential to set the `.offset` property yourself if you switch from reading/writing blob to reading/writing text in the same filehandle. Por exemplo: - -```4d - // Open a european text file using utf-16 encoding (two bytes per character) - // We want to read the first 10 characters as bytes, then the remaining as text. -$fh:=File("/RESOURCES/sample_utf_16.txt").open() - // lê os 20 primeiros bytes (i.e. 10 caracteres) -$b:=$fh.readBlob(20) // $fh.offset=20 - // depois lê todo o texto saltando os primeiros 10 caracteres que acabámos de ler no blob anterior - // porque agora estamos a ler texto em vez de bytes, o significado de 'offset' não é o mesmo. - // We need to translate it from bytes to characters. -$fh.offset:=10 // ask to skip 10 utf-16 characters (20 bytes) -$s:=$fh.readText() -``` - -::: - - From d40db034b1c6b385d9d33f1810a9f0f3cd4cafd2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:48:56 +0200 Subject: [PATCH 248/265] New translations webAdmin.md (Spanish) --- .../version-20-R2/Admin/webAdmin.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md index 97cac1754c0e27..2e0f3ed781c30d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/Admin/webAdmin.md @@ -130,7 +130,7 @@ This option only appears if the Qodly Studio license is activated. ::: -This option enables user access to [Qodly Studio](../WebServer/qodly-studio.md) at the 4D application level. Note that you also need to [enable the access at every project level](../Settings/web.md#enable-access-to-qodly-studio). +Esta opción permite al usuario acceder a [Qodly Studio](../WebServer/qodly-studio.md) a nivel de la aplicación 4D. Tenga en cuenta que también debe habilitar el acceso a [en cada nivel de proyecto](../Settings/web.md#enable-access-to-qodly-studio). ## Configuración de WebAdmin sin interfaz From 059b1631ecad8e4f0e20726f541f32646b45627f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 02:51:05 +0200 Subject: [PATCH 249/265] New translations flow-control.md (Portuguese, Brazilian) --- .../version-20-R2/Concepts/flow-control.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Concepts/flow-control.md index bded628c965da9..736daf28c8e464 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Concepts/flow-control.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/Concepts/flow-control.md @@ -308,7 +308,7 @@ Repeat {continue} Until(Boolean_Expression) ``` -A `Repeat...Until` loop is similar to a [While...End while](flow-control.md#whileend-while) loop, except that it tests the Boolean expression after the loop rather than before. Thus, a `Repeat...Until` loop always executes the loop once, whereas if the Boolean expression is initially False, a `While...End while` loop does not execute the loop at all. +Um ciclo `Repeat...Until` é como um ciclo [While...End while](flow-control.md#whileend-while), exceto que testa a expressão booleana depois do ciclo e não antes. Thus, a `Repeat...Until` loop always executes the loop once, whereas if the Boolean expression is initially False, a `While...End while` loop does not execute the loop at all. The other difference with a `Repeat...Until` loop is that the loop continues until the Boolean expression is TRUE. @@ -736,11 +736,11 @@ Pode passar qualquer uma das duas palavras chave em função das suas necessidad ## break e continue -All looping structures above support both `break` and `continue` statements. These statements give you more control over the loops by allowing to exit the loop and to bypass the current iteration at any moment. +Todas as estruturas de looping acima suportam as instruções `break` e `continue`. Estas instruções dão-lhe mais controlo sobre os loops, permitindo-lhe sair do ‘loop’ e ignorar a iteração atual a qualquer momento. ### break -The `break` statement terminates the loop containing it. Control of the program flows to the statement immediately after the body of the loop. +A instrução `break` termina o ciclo que a contém. Control of the program flows to the statement immediately after the body of the loop. If the `break` statement is inside a [nested loop](#nested-forend-for-looping-structures) (loop inside another loop), the `break` statement will terminate the innermost loop. From 61ba6f531bc2d5db97ae5fb8a8d4d9c63db2dcd5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:04:47 +0200 Subject: [PATCH 250/265] New translations remote-admin.md (Portuguese, Brazilian) --- .../version-20-R2/ServerWindow/remote-admin.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/remote-admin.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/remote-admin.md index 3c657024ea73e9..9164b18a51d8c1 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/remote-admin.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ServerWindow/remote-admin.md @@ -3,11 +3,11 @@ id: remote-admin title: Administração a partir de máquinas remotas --- -You can administer the 4D Server application from a remote 4D (client machine) by opening the 4D Server administration window on the client machine. +Pode administrar a aplicação 4D Server a partir de um 4D remoto (máquina cliente) abrindo a janela de administração do 4D Server na máquina cliente. -## Opening the administration window on a remote 4D machine +## Abrir a janela de administração numa máquina 4D remota -To open a server administration window from a client machine, you must be connected to the remote database as a Designer or Administrator. Otherwise, when you attempt to open the administration window, a privilege error (-9991) is generated. +Para abrir uma janela de administração do servidor a partir de uma máquina cliente, é necessário estar ligado à banco de dados remoto como Desenhador ou Administrador. Caso contrário, quando tentar abrir a janela de administração, é gerado um erro de privilégio (-9991). Esta janela pode ser acedida de duas maneiras: From 869963e4bd4075ae188dda534bb98f35e13031f0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:04:53 +0200 Subject: [PATCH 251/265] New translations classes.md (Portuguese, Brazilian) --- .../version-20-R2/ViewPro/classes.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ViewPro/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ViewPro/classes.md index 07d1137d108390..8c619fbfe4bc2f 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ViewPro/classes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/ViewPro/classes.md @@ -13,7 +13,7 @@ As seguintes classes podem ser usadas no 4D View Pro. **.color**: Texto -A propriedade `.color` é a [color](configuring.md#borders) of the border. Predefinição = black. +A propriedade `.color` é a [cor](configuring.md#borders) da margem. Predefinição = black. ### .style @@ -21,7 +21,7 @@ A propriedade `.color` é a [color](config **.style** : Integer -A propriedade `.style` é o [style](configuring.md#borders) of the border. Predefinição = vazio. +A propriedade `.style` é o [estilo](configuring.md#borders) da margem. Predefinição = vazio. ## TableColumn @@ -57,7 +57,7 @@ A propriedade `.name` contém o nome da co **.allowAutoExpand** : Boolean -A propriedade `.allowAutoExpand` indicates whether to expand columns or rows of the table when values are added in empty adjacent cells. Padrão = True +A propriedade `.allowAutoExpand` indica se as colunas ou linhas da tabela devem ser expandidas quando são adicionados valores em células adjacentes vazias. Padrão = True ### .bandColumns @@ -65,7 +65,7 @@ A propriedade `.allowAutoExpand` **.bandColumns**: Boolean -A propriedade `.bandColumns` indicates whether to display an alternating column style. Padrão = False +A propriedade `.bandColumns` indica se deve ser apresentado um estilo de coluna alternada. Padrão = False ### .bandRows @@ -73,13 +73,13 @@ A propriedade `.bandColumns` indic **.bandRows**: Boolean -A propriedade `.bandRows` indicates whether to display an alternating row style. Padrão = True +A propriedade `.bandRows` indica se deve ser apresentado um estilo de linha alternada. Padrão = True ### .highlightLastColumn -**.highlightLastColumn** : Boolean +**.highlightLastColumn**: Boolean A propriedade `.highlightLastColumn` indica se a última coluna deve ser realçada. Padrão = False @@ -108,16 +108,16 @@ A propriedade `.showHeader` indica ### .showResizeHandle -**.showResizeHandle** : Boolean +**.showResizeHandle**: Boolean -A propriedade `.showResizeHandle` indicates whether to display the resize handle for tables that don't have a *source*. Padrão = False +A propriedade `.showResizeHandle` indica se deve ser apresentado o identificador de redimensionamento para tabelas que não têm uma *source*. Padrão = False ### .tableColumns **.tableColumns** : Collection -A propriedade `tableColumns` is a collection of [cs.ViewPro.TableColumn](#tablecolumn) objects used to create the table's columns. +A propriedade `tableColumns` é uma coleção de objetos [cs.ViewPro.TableColumn](#tablecolumn) utilizados para criar as colunas da tabela. @@ -129,15 +129,15 @@ A propriedade `tableColumns` is a A propriedade `.theme` define um tema de tabela. Pode também ser um texto (nome de um tema SpreadJS nativo). -See the [native SpreadJS themes](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). +Ver os temas [nativos do SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). ### .useFooterDropDownList -**.useFooterDropDownList** : Boolean +**.useFooterDropDownList**: Boolean -A propriedade `.useFooterDropDownList` indicates whether to use a dropdown list in footer cells that calculate the total value of a column. Padrão = False +A propriedade `.useFooterDropDownList` indica se deve ser utilizada uma lista pendente nas células de rodapé que calculam o valor total de uma coluna. Padrão = False @@ -148,7 +148,7 @@ A propriedade `.useFooterDropDownList` **.backColor**: Text -A propriedade `.backColor` é o [background color](configuring.md/#background--foreground) of the table. +A propriedade `.backColor` é o [cor de fundo](configuring.md/#background--foreground) da tabela. ### .forecolor @@ -156,7 +156,7 @@ A propriedade `.backColor` é o [backg **.forecolor**: Text -A propriedade `.forecolor` é o [foreground color](configuring.md/#background--foreground) of the table. +A propriedade `.forecolor` é o [cor de primeiro plano](configuring.md/#background--foreground) da tabela. @@ -165,7 +165,7 @@ A propriedade `.forecolor` é o [foreg **.font**: Text -A propriedade `.font` é o font name (see [**Fonts and text**](configuring.md/#fonts-and-text)) of the table. +A propriedade `.font` é o nome do letra (ver [**Categorias de letra e texto**](configuring.md/#fonts-and-text)) da tabela. @@ -174,7 +174,7 @@ A propriedade `.font` é o font name (see [ **.textDecoration** : Integer -A propriedade `.textDecoration` é a text decoration of the table (see [**Fonts and text**](configuring.md/#fonts-and-text)). +A propriedade `.textDecoration` é a decoração do texto da tabela (ver [**Letras e textos**](configuring.md/#fonts-and-text)). ### .borderLeft @@ -188,7 +188,7 @@ A propriedade `.borderLeft` é a linh ### .borderRight -**.borderRight** : [cs.ViewPro.LineBorder](#lineborder) +**.borderRight**: [cs.ViewPro.LineBorder](#lineborder) A propriedade `.borderRight` é a linha de fronteira direita da tabela . @@ -207,15 +207,15 @@ A propriedade `.borderBottom` é o -**.borderHorizontal** : [cs.ViewPro.LineBorder](#lineborder) +**.borderHorizontal**: [cs.ViewPro.LineBorder](#lineborder) -A propriedade `.borderHorizontal` é o horizontal border line of the table . +A propriedade `.borderHorizontal` é o limite horizontal da tabela . ### .borderVertical -**.borderVertical** : [cs.ViewPro.LineBorder](#lineborder) +**.borderVertical**: [cs.ViewPro.LineBorder](#lineborder) A propriedade `.borderVertical` é a linha de fronteira vertical da tabela . @@ -229,7 +229,7 @@ A propriedade `.borderVertical` é a **.bandRows**: Boolean -A propriedade `.bandRows` indicates whether to display an alternating row style. +A propriedade `.bandRows` indica se deve ser apresentado um estilo de linha alternada. ### .bandColumns @@ -237,13 +237,13 @@ A propriedade `.bandRows` indicates whe **.bandColumns**: Boolean -A propriedade `.bandColumns` indicates whether to display an alternating column style. +A propriedade `.bandColumns` indica se deve ser apresentado um estilo de coluna alternada. ### .highlightLastColumn -**.highlightLastColumn** : Boolean +**.highlightLastColumn**: Boolean A propriedade `.highlightLastColumn` indica se a última coluna deve ser realçada. @@ -257,7 +257,7 @@ A propriedade `.highlightFirstColumn` -**.theme** : [cs.ViewPro.TableThemeOptions](#tablethemeoptions)
    **.theme** : Text +**.theme**: [cs.ViewPro.TableThemeOptions](#tablethemeoptions)
    **.theme**: Text A propriedade `.theme` define um tema de tabela. If Text: name of a [native SpreadJS theme](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes). @@ -272,12 +272,12 @@ A propriedade `.theme` define um tema de t **.firstColumnStripSize** : Integer -The `.firstColumnStripSize` property is the tamanho da primeira coluna alternada. O padrão=1 +A propriedade `.firstColumnStripSize` é o tamanho da primeira coluna alternada. O padrão=1 ### .firstColumnStripStyle -**.firstColumnStripStyle** : [cs.ViewPro.TableStyle](#tablestyle) +**.firstColumnStripStyle**: [cs.ViewPro.TableStyle](#tablestyle) The `.firstColumnStripStyle` property is the estilo da primeira coluna alternada. From e008167554413feabc3a0c6dd5d5b9c61c30f6ee Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:05:15 +0200 Subject: [PATCH 252/265] New translations method-list.md (Spanish) --- .../version-20-R2/ViewPro/method-list.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md index 9f3272f356865e..0a68a308112942 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/ViewPro/method-list.md @@ -975,29 +975,29 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para | sheet | number | PDF únicamente (opcional) - Índice de la hoja a exportar (empezando por 0). -2=todas las hojas visibles (**por defecto**), -1= sólo la hoja actual | | pdfOptions | object | PDF únicamente (opcional) - Opciones para la exportación en pdf

    PropiedadTipoDescripción
    creatortextnombre de la aplicación que creó el documento original a partir del cual se convirtió.
    titletexttítulo del documento.
    authortextnombre de la persona que creó ese documento.
    keywordstextpalabras clave asociadas al documento.
    asuntotextasunto del documento.

    | | csvOptions | object | CSV únicamente (opcional) - Opciones para la exportación en csv

    PropiedadTipoDescripción
    rangeobjectObjeto rango de celdas
    rowDelimitertextDelimitador de línea. Por defecto: "\r\n"
    columnDelimitertextDelimitador de columna. Por defecto: ","

    | -| sjsOptions | object | SJS only (optional) - Options for sjs export

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleanwhether to include the automatically merged cells, default is false.
    includeBindingSourcebooleanwhether to include the binding source, default is true.
    includeCalcModelCachebooleanwhether to include the extra data of calculation. Can be faster when open the file with those data, default is false.
    includeEmptyRegionCellsbooleanwhether to include any empty cells (cells with no data or only style) outside the used data range, default is true.
    includeFormulasbooleanwhether to include the formulas, default is true.
    includeStylesbooleanwhether to include the style, default is true.
    includeUnusedNamesbooleanwhether to include the unused custom names, default is true.
    saveAsViewbooleanwhether to apply the format string to exporting values, default is false.

    | +| sjsOptions | object | Sólo SJS (opcional) - Opciones para la exportación sjs

    PropiedadTipoDescripción
    includeAutoMergedCellsbooleansi incluir las celdas fusionadas automáticamente, por defecto es false.
    includeBindingSourcebooleansi incluir la fuente de vinculación, por defecto es true.
    includeCalcModelCachebooleansi desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, por defecto es false.
    includeEmptyRegionCellsbooleansi se incluyen celdas vacías (celdas sin datos o sólo con estilo) fuera del rango de datos utilizado, por defecto es true.
    includeFormulasbooleansi incluir las fórmulas, por defecto es true.
    includeStylesbooleansi incluir el estilo, por defecto es true.
    includeUnusedNamesbooleansi incluir los nombres personalizados no utilizados, por defecto es true.
    saveAsViewbooleansi aplicar la cadena de formato a los valores exportados, por defecto es false.

    | | `\` | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. | **Notas sobre el formato Excel**: * Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otros parámetros con [esta lista de GrapeCity](http://help.grapecity.com/spread/SpreadSheets10/webframe.html#excelexport.html). -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. **Notas sobre formato PDF**: * Al exportar un documento 4D View Pro en PDF, las fuentes utilizadas en el documento se integran automáticamente en el archivo PDF. Sólo se pueden integrar las fuentes OpenType (archivos .OTF o .TTF) que tengan un tabla Unicode. Si no se encuentra un archivo de fuentes válido para una fuente, se utiliza una fuente por defecto. -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. **Notas sobre el formato CSV**: * Al exportar un documento 4D View Pro al formato CSV, es posible que se pierdan algunos parámetros, ya que sólo se guardan el texto y los valores. * Todos los valores se guardan como cadenas entre comillas. Para más información sobre los valores separados por delimitadores, consulte [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values). -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. **Notas sobre el formato de archivo SpreadJS**: * [SpreadJS files](https://www.grapecity.com/blogs/new-javascript-spreadsheet-file-formats-in-spreadjs-v-16) are zipped files. -* Exporting in this format is run asynchronously, use the `formula` property of the *paramObj* for code to be executed after the export. +* La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula ` del *paramObj* para el código a ejecutar después de la exportación. Una vez finalizada la exportación, `VP EXPORT DOCUMENTO` desencadena automáticamente la ejecución del método definido en la propiedad *formula* de *paramObj*, si se utiliza. @@ -3047,7 +3047,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento | | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. | | | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. | | | columnDelimiter | text | Delimitador de columna. Por defecto: "," | -| sjsOptions | | object | options for sjs import | +| sjsOptions | | object | opciones para la importación de sjs | | | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default is false. | | | dynamicReferences | boolean | Whether to calculate functions with dynamic references, default is true. | | | fullRecalc | boolean | Whether to calculate after loading the json data, false by default. | From 1e3727854faff88863267bf9cd39ddd86a619f60 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:54:52 +0200 Subject: [PATCH 253/265] New translations client-server.md (Portuguese, Brazilian) --- .../version-20-R2/settings/client-server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/client-server.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/client-server.md index 90de9624e9f9e4..cd27800e0608ac 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/client-server.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/client-server.md @@ -36,7 +36,7 @@ To update any other client machines that are not connected, you just need to ent > Only databases published on the same port as the one set in 4D client are visible on the TCP/IP dynamic publication page. -#### 4D Server and port numbers +#### 4D Server e números de portas 4D Server uses three TCP ports for communications between internal servers and clients: From 6442d15220bc87d87e45ad24ddeb960a800abecd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:23 +0200 Subject: [PATCH 254/265] New translations web.md (Portuguese, Brazilian) --- .../version-20-R2/settings/web.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/web.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/web.md index a27f3f9c3783dd..47e64d50a0aa7a 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/web.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/settings/web.md @@ -301,4 +301,4 @@ This option specifies a group of 4D users that is authorized to establish the li #### Ativar o acesso ao estúdio Web -Ativa o acesso geral ao Web studio. You still need to configure it at every project level. \ No newline at end of file +Ativa o acesso geral ao Web studio. Continua a ser necessário configurá-lo em cada nível de projeto. \ No newline at end of file From 24ac6cccf97ff3df4a43e5827b2f74ed4a822736 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:30 +0200 Subject: [PATCH 255/265] New translations qodly-studio.md (French) --- .../current/WebServer/qodly-studio.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index 89a49eca810460..3c5d27c0da7e06 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio From b8a6a7e06a49e9417288b079a4588fb63343ad2d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:32 +0200 Subject: [PATCH 256/265] New translations qodly-studio.md (French) --- .../version-20-R2/WebServer/qodly-studio.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md index 89a49eca810460..3c5d27c0da7e06 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio From 71c8cb2465239756f6f2fcc136d04291e936a548 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:37 +0200 Subject: [PATCH 257/265] New translations qodly-studio.md (Spanish) --- .../current/WebServer/qodly-studio.md | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index ed41a24470936e..fdf66f07f0757c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -55,12 +55,12 @@ Qodly Studio is served by the [WebAdmin web server](../Admin/webAdmin.md) and di To enable access to Qodly Studio, you must explicitly allow it at two levels: -* at 4D level (4D or 4D Server) -* at project level +* a nivel 4D (4D o 4D Server) +* a nivel del proyecto If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned). -#### At 4D level +#### A nivel 4D As a first security level, you need to [allow access to Qodly Studio on the WebAdmin web server](../Admin/webAdmin.md#enable-access-to-qodly-studio). @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio @@ -209,7 +203,7 @@ QodlyScript only support local variables, so variables in QodlyScript examples a Some basic symbols, operators, and keywords differ in QodlyScript and must be adapted to the 4D Language. They are listed below: -| QodlyScript | 4D Language | Comentario | +| QodlyScript | Lenguaje 4D | Comentario | | ----------- | ----------------------------------------------------------- | ------------------- | | , | ; | argument separator | | = | := | assignment operator | @@ -233,7 +227,7 @@ QodlyScript command names are written in camel case without spaces. You might ne - Usually, you will only have to simply convert names. For example, `newCollection` in QodlyScript is `New collection` in 4D Language. - However, some command have been renamed for a better compliance. They are listed below: -| QodlyScript | 4D Language | +| QodlyScript | Lenguaje 4D | | ---------------------- | ---------------- | | `atan` | `Arctan` | | `highestProcessNumber` | `Count tasks` | @@ -253,7 +247,7 @@ QodlyScript command names are written in camel case without spaces. You might ne #### Ejemplo -- QodlyScript code: +- Código QodlyScript: ```qs declare(entitySelection : 4D.EntitySelection) @@ -271,7 +265,7 @@ QodlyScript command names are written in camel case without spaces. You might ne -- 4D Language equivalent code: +- Código 4D equivalente: ```4d #DECLARE ( $entitySelection : 4D.EntitySelection ) @@ -288,11 +282,11 @@ QodlyScript command names are written in camel case without spaces. You might ne ``` -## About license usage +## Sobre la licencia de uso To render webforms, you must have an available license, as rendering a webform opens a session on the project database's main web server. -### URL Schemes +### Esquemas URL Qodly Studio's URL scheme configuration (HTTP and HTTPS) determines how many licenses are retained when rendering webforms. With the appropriate configuration, you can avoid unnecessary license retaining. @@ -320,7 +314,7 @@ You can enable/disable the display of the renderer pop over using a Qodly Studio ::: -### SameSite attribute +### Atributo SameSite The behavior previously described is due to the session cookie of the 4D web server. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server. @@ -328,7 +322,7 @@ If the `SameSite` attribute's value is `Strict` (default), the session cookie is For more information on the `SameSite` attribute, check out [this blog post](https://blog.4d.com/get-ready-for-the-new-SameSite-and-secure-attributes-for-cookies/). -### Recommendations +### Recomendaciones To avoid using more licenses than necessary, we recommend doing one of the following: @@ -343,4 +337,4 @@ To avoid using more licenses than necessary, we recommend doing one of the follo This 5-minute video provides a "Hello World" example and covers how to enable access to the studio, create a basic interface, and configure an event that greets the user by their name: - + From df74098c779c2aeefbf9f530a84cfd45c7f32bba Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:39 +0200 Subject: [PATCH 258/265] New translations qodly-studio.md (Spanish) --- .../version-20-R2/WebServer/qodly-studio.md | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md index ed41a24470936e..fdf66f07f0757c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md @@ -55,12 +55,12 @@ Qodly Studio is served by the [WebAdmin web server](../Admin/webAdmin.md) and di To enable access to Qodly Studio, you must explicitly allow it at two levels: -* at 4D level (4D or 4D Server) -* at project level +* a nivel 4D (4D o 4D Server) +* a nivel del proyecto If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned). -#### At 4D level +#### A nivel 4D As a first security level, you need to [allow access to Qodly Studio on the WebAdmin web server](../Admin/webAdmin.md#enable-access-to-qodly-studio). @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio @@ -209,7 +203,7 @@ QodlyScript only support local variables, so variables in QodlyScript examples a Some basic symbols, operators, and keywords differ in QodlyScript and must be adapted to the 4D Language. They are listed below: -| QodlyScript | 4D Language | Comentario | +| QodlyScript | Lenguaje 4D | Comentario | | ----------- | ----------------------------------------------------------- | ------------------- | | , | ; | argument separator | | = | := | assignment operator | @@ -233,7 +227,7 @@ QodlyScript command names are written in camel case without spaces. You might ne - Usually, you will only have to simply convert names. For example, `newCollection` in QodlyScript is `New collection` in 4D Language. - However, some command have been renamed for a better compliance. They are listed below: -| QodlyScript | 4D Language | +| QodlyScript | Lenguaje 4D | | ---------------------- | ---------------- | | `atan` | `Arctan` | | `highestProcessNumber` | `Count tasks` | @@ -253,7 +247,7 @@ QodlyScript command names are written in camel case without spaces. You might ne #### Ejemplo -- QodlyScript code: +- Código QodlyScript: ```qs declare(entitySelection : 4D.EntitySelection) @@ -271,7 +265,7 @@ QodlyScript command names are written in camel case without spaces. You might ne -- 4D Language equivalent code: +- Código 4D equivalente: ```4d #DECLARE ( $entitySelection : 4D.EntitySelection ) @@ -288,11 +282,11 @@ QodlyScript command names are written in camel case without spaces. You might ne ``` -## About license usage +## Sobre la licencia de uso To render webforms, you must have an available license, as rendering a webform opens a session on the project database's main web server. -### URL Schemes +### Esquemas URL Qodly Studio's URL scheme configuration (HTTP and HTTPS) determines how many licenses are retained when rendering webforms. With the appropriate configuration, you can avoid unnecessary license retaining. @@ -320,7 +314,7 @@ You can enable/disable the display of the renderer pop over using a Qodly Studio ::: -### SameSite attribute +### Atributo SameSite The behavior previously described is due to the session cookie of the 4D web server. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server. @@ -328,7 +322,7 @@ If the `SameSite` attribute's value is `Strict` (default), the session cookie is For more information on the `SameSite` attribute, check out [this blog post](https://blog.4d.com/get-ready-for-the-new-SameSite-and-secure-attributes-for-cookies/). -### Recommendations +### Recomendaciones To avoid using more licenses than necessary, we recommend doing one of the following: @@ -343,4 +337,4 @@ To avoid using more licenses than necessary, we recommend doing one of the follo This 5-minute video provides a "Hello World" example and covers how to enable access to the studio, create a basic interface, and configure an event that greets the user by their name: - + From 1846595036abefd86e02ea82ba2ef7b4b2b0c7e0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:43 +0200 Subject: [PATCH 259/265] New translations qodly-studio.md (German) --- .../current/WebServer/qodly-studio.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/de/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index 2d519d89b9eb11..3af09e7fd51ff5 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio From fc0b04f6815d2139b348c154580e094eeb32a028 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:45 +0200 Subject: [PATCH 260/265] New translations qodly-studio.md (German) --- .../version-20-R2/WebServer/qodly-studio.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md index 2d519d89b9eb11..3af09e7fd51ff5 100644 --- a/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md +++ b/i18n/de/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio From 2b9434ad7a799025898d7191d7120cef02378262 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:49 +0200 Subject: [PATCH 261/265] New translations qodly-studio.md (Japanese) --- .../current/WebServer/qodly-studio.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index a5f266d338e20e..a45078d6e4c414 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -123,16 +123,10 @@ Qodly Studio は、4D WebAdmin Webサーバーを通して動作することに ### プロジェクトメソッドを使用する -メソッドよりクラス関数の使用が推奨されますが、プロジェクトメソッドを REST関数として使用することは可能です。 - -Qodly Studio で使用するには、プロジェクトメソッドを DataStore、DataClass、Entity または EntitySelection クラスの関数として定義する必要があります。 - -REST関数としてメソッドが利用可能かどうかを確認するには: -1. 4Dアプリケーションのエクスプローラーから、**プロジェクトメソッドを右クリック** > **プロパティを編集...** で、メソッドプロパティダイアログを開きます。 -2. **REST サーバー** オプションがチェックされていることを確認します。 - -**スコープ** > **カタログ** を選択すると、プロジェクトメソッドが DataStoreクラスの関数として指定されます。 この場合、テーブル (データクラス) には割り当てられません。 +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Qodly Studio を開く From e438a1a28896ae71ae361878688fe98f8abd0938 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:51 +0200 Subject: [PATCH 262/265] New translations qodly-studio.md (Japanese) --- .../version-20-R2/WebServer/qodly-studio.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md index a5f266d338e20e..a45078d6e4c414 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md @@ -123,16 +123,10 @@ Qodly Studio は、4D WebAdmin Webサーバーを通して動作することに ### プロジェクトメソッドを使用する -メソッドよりクラス関数の使用が推奨されますが、プロジェクトメソッドを REST関数として使用することは可能です。 - -Qodly Studio で使用するには、プロジェクトメソッドを DataStore、DataClass、Entity または EntitySelection クラスの関数として定義する必要があります。 - -REST関数としてメソッドが利用可能かどうかを確認するには: -1. 4Dアプリケーションのエクスプローラーから、**プロジェクトメソッドを右クリック** > **プロパティを編集...** で、メソッドプロパティダイアログを開きます。 -2. **REST サーバー** オプションがチェックされていることを確認します。 - -**スコープ** > **カタログ** を選択すると、プロジェクトメソッドが DataStoreクラスの関数として指定されます。 この場合、テーブル (データクラス) には割り当てられません。 +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Qodly Studio を開く From 8b31c565ac7390bf2b33189c52b4b7294054ec02 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:55 +0200 Subject: [PATCH 263/265] New translations qodly-studio.md (Portuguese, Brazilian) --- .../current/WebServer/qodly-studio.md | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md index c7c3e7ee20ab3c..0349626b3775fb 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md @@ -16,9 +16,9 @@ As of 4D v20 R2, you can use Qodly Studio directly from 4D to build modern and s With Qodly Studio, you will discover a totally new web UI, get familiar with the concept of datasources, and learn how to: - create webforms by placing components on a page -- map components to data +- mapear componentes para dados - trigger 4D code by configuring events -- and much more. +- e muito mais. :::info @@ -40,9 +40,9 @@ Qodly Studio supports the following web browsers: The recommended resolution is 1920x1080. -#### 4D application +#### Aplicação 4D -- Development: 4D v20 R2 or higher +- Desenvolvimento: 4D v20 R2 ou superior - Deployment: 4D Server v20 R2 or higher - Qodly Studio only works with 4D projects (binary databases are not supported). @@ -55,8 +55,8 @@ Qodly Studio is served by the [WebAdmin web server](../Admin/webAdmin.md) and di To enable access to Qodly Studio, you must explicitly allow it at two levels: -* at 4D level (4D or 4D Server) -* at project level +* a nível 4D (4D ou 4D Server) +* a nível do projeto If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned). @@ -78,7 +78,7 @@ After any change to these settings, you must [restart the WebAdmin web server](. ::: -#### At project level +#### A nível do projeto After you have enabled access to Qodly Studio at the 4D level, you need to explicitly designate every project that can be accessed. The **Enable access to Qodly Studio** option must be enabled on the [Web Features page of the 4D application's Settings](../settings/web.md#enable-access-to-qodly-studio). @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio @@ -146,7 +140,7 @@ There are two ways to access Qodly Studio: `IPaddress:HTTPPort/studio` -ou : +ou: `IPaddress:HTTPSPort/studio` @@ -157,7 +151,7 @@ For example, after launching a local web server on port 7080, type this address You will then be prompted to enter the [access key](../Admin/webAdmin.md#access-key) to access Qodly Studio. -## Using Qodly Studio +## Utilizar Qodly Studio The official Qodly Studio documentation is available on the [Qodly documentation website](developer.qodly.com/docs/studio/overview.md). @@ -209,7 +203,7 @@ QodlyScript only support local variables, so variables in QodlyScript examples a Some basic symbols, operators, and keywords differ in QodlyScript and must be adapted to the 4D Language. They are listed below: -| QodlyScript | 4D Language | Comentário | +| QodlyScript | Línguagem 4D | Comentário | | ----------- | ----------------------------------------------------------- | ------------------- | | , | ; | argument separator | | = | := | assignment operator | @@ -233,7 +227,7 @@ QodlyScript command names are written in camel case without spaces. You might ne - Usually, you will only have to simply convert names. For example, `newCollection` in QodlyScript is `New collection` in 4D Language. - However, some command have been renamed for a better compliance. They are listed below: -| QodlyScript | 4D Language | +| QodlyScript | Línguagem 4D | | ---------------------- | ---------------- | | `atan` | `Arctan` | | `highestProcessNumber` | `Count tasks` | @@ -253,7 +247,7 @@ QodlyScript command names are written in camel case without spaces. You might ne #### Exemplo -- QodlyScript code: +- Código QodlyScript: ```qs declare(entitySelection : 4D.EntitySelection) @@ -271,7 +265,7 @@ QodlyScript command names are written in camel case without spaces. You might ne -- 4D Language equivalent code: +- Código 4D equivalente no linguajem: ```4d #DECLARE ( $entitySelection : 4D.EntitySelection ) @@ -292,7 +286,7 @@ QodlyScript command names are written in camel case without spaces. You might ne To render webforms, you must have an available license, as rendering a webform opens a session on the project database's main web server. -### URL Schemes +### Esquemas URL Qodly Studio's URL scheme configuration (HTTP and HTTPS) determines how many licenses are retained when rendering webforms. With the appropriate configuration, you can avoid unnecessary license retaining. @@ -322,7 +316,7 @@ You can enable/disable the display of the renderer pop over using a Qodly Studio ### SameSite attribute -The behavior previously described is due to the session cookie of the 4D web server. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server. +O comportamento descrito anteriormente é devido ao cookie de sessão do servidor web 4D. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server. If the `SameSite` attribute's value is `Strict` (default), the session cookie is not sent to the web server, so a new session is opened each time a page is rendered or refreshed. @@ -343,4 +337,4 @@ To avoid using more licenses than necessary, we recommend doing one of the follo This 5-minute video provides a "Hello World" example and covers how to enable access to the studio, create a basic interface, and configure an event that greets the user by their name: - + From 2090bc041d11099fcd6332504561b2bab391330e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 12 Sep 2023 03:55:57 +0200 Subject: [PATCH 264/265] New translations qodly-studio.md (Portuguese, Brazilian) --- .../version-20-R2/WebServer/qodly-studio.md | 42 ++++++++----------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md index c7c3e7ee20ab3c..5f57671a9601e9 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R2/WebServer/qodly-studio.md @@ -16,9 +16,9 @@ As of 4D v20 R2, you can use Qodly Studio directly from 4D to build modern and s With Qodly Studio, you will discover a totally new web UI, get familiar with the concept of datasources, and learn how to: - create webforms by placing components on a page -- map components to data +- mapear componentes para dados - trigger 4D code by configuring events -- and much more. +- e muito mais. :::info @@ -40,9 +40,9 @@ Qodly Studio supports the following web browsers: The recommended resolution is 1920x1080. -#### 4D application +#### Aplicação 4D -- Development: 4D v20 R2 or higher +- Desenvolvimento: 4D v20 R2 ou superior - Deployment: 4D Server v20 R2 or higher - Qodly Studio only works with 4D projects (binary databases are not supported). @@ -55,8 +55,8 @@ Qodly Studio is served by the [WebAdmin web server](../Admin/webAdmin.md) and di To enable access to Qodly Studio, you must explicitly allow it at two levels: -* at 4D level (4D or 4D Server) -* at project level +* a nível 4D (4D ou 4D Server) +* a nível do projeto If one of the two levels (or both) are not enabled, access to Qodly Studio is denied (a 403 page is returned). @@ -78,7 +78,7 @@ After any change to these settings, you must [restart the WebAdmin web server](. ::: -#### At project level +#### A nível do projeto After you have enabled access to Qodly Studio at the 4D level, you need to explicitly designate every project that can be accessed. The **Enable access to Qodly Studio** option must be enabled on the [Web Features page of the 4D application's Settings](../settings/web.md#enable-access-to-qodly-studio). @@ -123,16 +123,10 @@ For deployment, the WebAdmin server is not necessary. End-user access to your we ### Using project methods -We recommend using class functions over methods, but you can still use your project methods as REST functions in the studio. - -To be used in Qodly Studio, project methods must be defined as Datastore, Dataclass, Entity or Entity selection class functions. - -To check if a method is available as REST function: -1. In the Explorer of your 4D application, **right-click a project method** > **Edit Properties...** to open the Method Properties dialog. -2. Check that the **REST Server** option is checked. - -Selecting **Scope** > **Catalog** designates the project method as a function of the Datastore class. No table (dataclass) is assigned in this case. +We recommend using class functions over project methods. Only class functions can be called from components. However, you can still use your project methods in Qodly Studio in two ways: +- You can call your methods from class functions. +- You can directly [execute your methods](https://developer.qodly.com/docs/studio/coding#methods-and-classes) from the Qodly Explorer. ## Opening Qodly Studio @@ -157,7 +151,7 @@ For example, after launching a local web server on port 7080, type this address You will then be prompted to enter the [access key](../Admin/webAdmin.md#access-key) to access Qodly Studio. -## Using Qodly Studio +## Utilizar Qodly Studio The official Qodly Studio documentation is available on the [Qodly documentation website](developer.qodly.com/docs/studio/overview.md). @@ -209,7 +203,7 @@ QodlyScript only support local variables, so variables in QodlyScript examples a Some basic symbols, operators, and keywords differ in QodlyScript and must be adapted to the 4D Language. They are listed below: -| QodlyScript | 4D Language | Comentário | +| QodlyScript | Línguagem 4D | Comentário | | ----------- | ----------------------------------------------------------- | ------------------- | | , | ; | argument separator | | = | := | assignment operator | @@ -233,7 +227,7 @@ QodlyScript command names are written in camel case without spaces. You might ne - Usually, you will only have to simply convert names. For example, `newCollection` in QodlyScript is `New collection` in 4D Language. - However, some command have been renamed for a better compliance. They are listed below: -| QodlyScript | 4D Language | +| QodlyScript | Línguagem 4D | | ---------------------- | ---------------- | | `atan` | `Arctan` | | `highestProcessNumber` | `Count tasks` | @@ -253,7 +247,7 @@ QodlyScript command names are written in camel case without spaces. You might ne #### Exemplo -- QodlyScript code: +- Código QodlyScript: ```qs declare(entitySelection : 4D.EntitySelection) @@ -271,7 +265,7 @@ QodlyScript command names are written in camel case without spaces. You might ne -- 4D Language equivalent code: +- Código 4D equivalente no linguajem: ```4d #DECLARE ( $entitySelection : 4D.EntitySelection ) @@ -292,7 +286,7 @@ QodlyScript command names are written in camel case without spaces. You might ne To render webforms, you must have an available license, as rendering a webform opens a session on the project database's main web server. -### URL Schemes +### Esquemas URL Qodly Studio's URL scheme configuration (HTTP and HTTPS) determines how many licenses are retained when rendering webforms. With the appropriate configuration, you can avoid unnecessary license retaining. @@ -322,7 +316,7 @@ You can enable/disable the display of the renderer pop over using a Qodly Studio ### SameSite attribute -The behavior previously described is due to the session cookie of the 4D web server. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server. +O comportamento descrito anteriormente é devido ao cookie de sessão do servidor web 4D. This session cookie has a `SameSite` attribute that determines if the session cookie is sent to the web server. If the `SameSite` attribute's value is `Strict` (default), the session cookie is not sent to the web server, so a new session is opened each time a page is rendered or refreshed. @@ -343,4 +337,4 @@ To avoid using more licenses than necessary, we recommend doing one of the follo This 5-minute video provides a "Hello World" example and covers how to enable access to the studio, create a basic interface, and configure an event that greets the user by their name: - + From dc8aa7365e0ef0eece2b37c42e8483175433df1f Mon Sep 17 00:00:00 2001 From: arnaud4d Date: Tue, 12 Sep 2023 10:15:47 +0200 Subject: [PATCH 265/265] fixed link to doc qodly --- docs/WebServer/qodly-studio.md | 2 +- versioned_docs/version-20-R2/WebServer/qodly-studio.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/WebServer/qodly-studio.md b/docs/WebServer/qodly-studio.md index 91860dc9f01408..8b5bca8a12df95 100644 --- a/docs/WebServer/qodly-studio.md +++ b/docs/WebServer/qodly-studio.md @@ -154,7 +154,7 @@ You will then be prompted to enter the [access key](../Admin/webAdmin.md#access- ## Using Qodly Studio -The official Qodly Studio documentation is available on the [Qodly documentation website](developer.qodly.com/docs/studio/overview.md). +The official Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview). You can rely on this documentation and its associated resources for developing web applications powered by webforms. However, depending on implementation stage, 4D developers will either use Qodly Studio or 4D IDE. diff --git a/versioned_docs/version-20-R2/WebServer/qodly-studio.md b/versioned_docs/version-20-R2/WebServer/qodly-studio.md index 91860dc9f01408..8b5bca8a12df95 100644 --- a/versioned_docs/version-20-R2/WebServer/qodly-studio.md +++ b/versioned_docs/version-20-R2/WebServer/qodly-studio.md @@ -154,7 +154,7 @@ You will then be prompted to enter the [access key](../Admin/webAdmin.md#access- ## Using Qodly Studio -The official Qodly Studio documentation is available on the [Qodly documentation website](developer.qodly.com/docs/studio/overview.md). +The official Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview). You can rely on this documentation and its associated resources for developing web applications powered by webforms. However, depending on implementation stage, 4D developers will either use Qodly Studio or 4D IDE.