From 429d89a5df75c3bb5eb0ed3738b1f4ed6076d13e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:03:49 +0100 Subject: [PATCH 01/37] structure-indexes.md Spanish --- .../current/Develop/structure-indexes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-indexes.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-indexes.md index c04ecd6b417612..2e75ed028fb22b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-indexes.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/structure-indexes.md @@ -1,11 +1,11 @@ --- id: structure-indexes -title: Indexes +title: Índices --- -You can associate indexes with fields that you frequently use for searching and sorting. For example, you might index LastName, CompanyName, or ProductName if you plan to search or sort entities using these attributes. You also use this property for fields that establish relations between tables. +Puede asociar índices con campos que utiliza frecuentemente para buscar y ordenar. Por ejemplo, puede indexar LastName, CompanyName o ProductName si planea buscar o ordenar entidades usando estos atributos. También utiliza esta propiedad para campos que establecen relaciones entre las tablas. -When an index is associated with a field, 4D creates an internal index table for the field. This table allows 4D to perform rapid searches and sorts on the field. When searching or sorting on an unindexed field, 4D moves through data sequentially, examining each record in order. Indexing allows 4D to search and sort without going through every record. +Cuando un índice está asociado con un campo, 4D crea una tabla de índice interna para el campo. Esta tabla permite a 4D realizar búsquedas y ordenaciones rápidas en ese campo. Al buscar o ordenar en un campo indexado, 4D se mueve a través de datos secuencialmente, examinando cada registro en el orden. La indexación permite a 4D realizar búsquedas y ordenar los datos sin tener que revisar todos los registros. You can index fields of the Alpha, Text, Date, Time, Boolean, Integer, Long integer, Integer 64 bits, Real, Picture and Object type. As you add and delete records, 4D automatically updates its index table. If you create an index for a field that already exists, 4D automatically indexes the existing data. You can specify as many indexed fields as you want. Indexes are also rebuilt during specific operations such as conversion of earlier databases or [data compacting](../MSC/compact.md). @@ -105,7 +105,7 @@ The ![](../assets/en/Develop/index-list.png) button of the toolbar in the Struct The Index List can be used to view the main properties of the indexes: -- **Type:** Index type. Each type of index (B-tree, Cluster B-tree, Keyword, Euclidean, Cosine, Dot) is depicted with a different icon. +- **Tipo:** tipo de índice. Each type of index (B-tree, Cluster B-tree, Keyword, Euclidean, Cosine, Dot) is depicted with a different icon. - **Description:** Table and field(s) of index. For a composite index, this list contains all the fields of the index. - **Name:** Index name. This property is used in particular by the language commands. You can change or add an index name by double-clicking in this column. From 25225fdfe14a19c97a513f8a746da855f353aa68 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:03:52 +0100 Subject: [PATCH 02/37] button_overview.md French --- .../current/FormObjects/button_overview.md | 129 +++++------------- 1 file changed, 37 insertions(+), 92 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md index 32fc4da5eb9e79..6cb26da3c8906d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md @@ -335,100 +335,45 @@ Le style de bouton Personnalisé permet d'utiliser une image d'arrière-plan per ## Supported standard actions -The following standard actions can be assigned to buttons: - -### Records and forms - -- [accept](../Desktop-legacy/standard-actions.md#accept) -- [cancel](../Desktop-legacy/standard-actions.md#cancel) -- [deleteRecord](../Desktop-legacy/standard-actions.md#deleterecord) -- [addSubrecord](../Desktop-legacy/standard-actions.md#addsubrecord) -- [deleteSubrecord](../Desktop-legacy/standard-actions.md#deletesubrecord) -- [displaySubrecord](../Desktop-legacy/standard-actions.md#displaysubrecord) -- [editSubrecord](../Desktop-legacy/standard-actions.md#editsubrecord) -- [firstRecord](../Desktop-legacy/standard-actions.md#firstrecord) -- [lastRecord](../Desktop-legacy/standard-actions.md#lastrecord) -- [nextRecord](../Desktop-legacy/standard-actions.md#nextrecord) -- [previousRecord](../Desktop-legacy/standard-actions.md#previousrecord) - -### Pages - -- [firstPage](../Desktop-legacy/standard-actions.md#firstpage) -- [lastPage](../Desktop-legacy/standard-actions.md#lastpage) -- [nextPage](../Desktop-legacy/standard-actions.md#nextpage) -- [previousPage](../Desktop-legacy/standard-actions.md#previouspage) -- [gotoPage?value=\](../Desktop-legacy/standard-actions.md#gotopagevaluepage) - -### Editing and expressions - -- [clear](../Desktop-legacy/standard-actions.md#clear) -- [copy](../Desktop-legacy/standard-actions.md#copy) -- [cut](../Desktop-legacy/standard-actions.md#cut) -- [paste](../Desktop-legacy/standard-actions.md#paste) -- [redo](../Desktop-legacy/standard-actions.md#redo) -- [undo](../Desktop-legacy/standard-actions.md#undo) -- [selectAll](../Desktop-legacy/standard-actions.md#selectall) -- [computeExpressions](../Desktop-legacy/standard-actions.md#computeexpressions) -- [freezeExpressions](../Desktop-legacy/standard-actions.md#freezeexpressions) -- [visibleReferences](../Desktop-legacy/standard-actions.md#visiblereferences) - -### Formatting - -- [backgroundColor/showDialog](../Desktop-legacy/standard-actions.md#backgroundcolorshowdialog) -- [backgroundColor?value=\](../Desktop-legacy/standard-actions.md#backgroundcolorvaluecolor) -- [color/showDialog](../Desktop-legacy/standard-actions.md#colorshowdialog) -- [color?value=\](../Desktop-legacy/standard-actions.md#colorvaluecolor) -- [font/showDialog](../Desktop-legacy/standard-actions.md#fontshowdialog) -- [fontBold](../Desktop-legacy/standard-actions.md#fontbold) -- [fontItalic](../Desktop-legacy/standard-actions.md#fontitalic) -- [fontLinethrough](../Desktop-legacy/standard-actions.md#fontlinethrough) -- [fontSize?value=\](../Desktop-legacy/standard-actions.md#fontsizevaluesize) -- [fontUnderline](../Desktop-legacy/standard-actions.md#fontunderline) - -### Spellchecking - -- [spell/autoCorrectionEnabled](../Desktop-legacy/standard-actions.md#spellautocorrectionenabled) -- [spell/autoDashSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautodashsubstitutionsenabled) -- [spell/autoLanguageEnabled](../Desktop-legacy/standard-actions.md#spellautolanguageenabled) -- [spell/autoQuoteSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautoquotesubstitutionsenabled) -- [spell/autoSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautosubstitutionsenabled) -- [spell/enabled](../Desktop-legacy/standard-actions.md#spellenabled) -- [spell/forgetIgnore](../Desktop-legacy/standard-actions.md#spellforgetignore) -- [spell/grammarEnabled](../Desktop-legacy/standard-actions.md#spellgrammarenabled) -- [spell/ignore](../Desktop-legacy/standard-actions.md#spellignore) -- [spell/learn](../Desktop-legacy/standard-actions.md#spelllearn) -- [spell/removeSubstitution](../Desktop-legacy/standard-actions.md#spellremovesubstitution) -- [spell/showDialog](../Desktop-legacy/standard-actions.md#spellshowdialog) -- [spell/suggestion?index=\<1-number\<=10\>](../Desktop-legacy/standard-actions.md#spellsuggestionindex1-number10) -- [spell/unLearn](../Desktop-legacy/standard-actions.md#spellunlearn) -- [spell/visibleSubstitutions](../Desktop-legacy/standard-actions.md#spellvisiblesubstitutions) - -### Web-area controls - -- [openBackURL](../Desktop-legacy/standard-actions.md#openbackurl) -- [openForwardURL](../Desktop-legacy/standard-actions.md#openforwardurl) -- [refreshCurrentURL](../Desktop-legacy/standard-actions.md#refreshcurrenturl) -- [stopLoadingURL](../Desktop-legacy/standard-actions.md#stoploadingurl) - -### Other actions - -- [databaseSettings](../Desktop-legacy/standard-actions.md#databasesettings) -- [designMode](../Desktop-legacy/standard-actions.md#designmode) -- [msc](../Desktop-legacy/standard-actions.md#msc) -- [quit](../Desktop-legacy/standard-actions.md#quit) -- [showClipboard](../Desktop-legacy/standard-actions.md#showclipboard) -- [writingTools](../Desktop-legacy/standard-actions.md#writingtools) - -### Invisible buttons only - -- [automaticSplitter](../Desktop-legacy/standard-actions.md#automaticsplitter) - -### 4D Write Pro standard actions - -- [formulaHighlight?value=\](../WritePro/user-legacy/standard-actions.md#action-formulahighlight) - +The following standard actions can be assigned to buttons. The [empty action](../Desktop-legacy/standard-actions.md#-empty-string) leaves the button's behavior to its method. See the [standard action compatibility table](../Desktop-legacy/standard-actions.md#supported-form-objects) for comparisons with other objects. +#### Records and forms + +[accept](../Desktop-legacy/standard-actions.md#accept) - [cancel](../Desktop-legacy/standard-actions.md#cancel) - [deleteRecord](../Desktop-legacy/standard-actions.md#deleterecord) - [addSubrecord](../Desktop-legacy/standard-actions.md#addsubrecord) - [deleteSubrecord](../Desktop-legacy/standard-actions.md#deletesubrecord) - [displaySubrecord](../Desktop-legacy/standard-actions.md#displaysubrecord) - [editSubrecord](../Desktop-legacy/standard-actions.md#editsubrecord) - [firstRecord](../Desktop-legacy/standard-actions.md#firstrecord) - [lastRecord](../Desktop-legacy/standard-actions.md#lastrecord) - [nextRecord](../Desktop-legacy/standard-actions.md#nextrecord) - [previousRecord](../Desktop-legacy/standard-actions.md#previousrecord) + +#### Pages + +[firstPage](../Desktop-legacy/standard-actions.md#firstpage) - [lastPage](../Desktop-legacy/standard-actions.md#lastpage) - [nextPage](../Desktop-legacy/standard-actions.md#nextpage) - [previousPage](../Desktop-legacy/standard-actions.md#previouspage) - [gotoPage?value=\](../Desktop-legacy/standard-actions.md#gotopagevaluepage) + +#### Editing and expressions + +[clear](../Desktop-legacy/standard-actions.md#clear) - [copy](../Desktop-legacy/standard-actions.md#copy) - [cut](../Desktop-legacy/standard-actions.md#cut) - [paste](../Desktop-legacy/standard-actions.md#paste) - [redo](../Desktop-legacy/standard-actions.md#redo) - [undo](../Desktop-legacy/standard-actions.md#undo) - [selectAll](../Desktop-legacy/standard-actions.md#selectall) - [computeExpressions](../Desktop-legacy/standard-actions.md#computeexpressions) - [freezeExpressions](../Desktop-legacy/standard-actions.md#freezeexpressions) - [visibleReferences](../Desktop-legacy/standard-actions.md#visiblereferences) + +#### Formatting + +[backgroundColor/showDialog](../Desktop-legacy/standard-actions.md#backgroundcolorshowdialog) - [backgroundColor?value=\](../Desktop-legacy/standard-actions.md#backgroundcolorvaluecolor) - [color/showDialog](../Desktop-legacy/standard-actions.md#colorshowdialog) - [color?value=\](../Desktop-legacy/standard-actions.md#colorvaluecolor) - [font/showDialog](../Desktop-legacy/standard-actions.md#fontshowdialog) - [fontBold](../Desktop-legacy/standard-actions.md#fontbold) - [fontItalic](../Desktop-legacy/standard-actions.md#fontitalic) - [fontLinethrough](../Desktop-legacy/standard-actions.md#fontlinethrough) - [fontSize?value=\](../Desktop-legacy/standard-actions.md#fontsizevaluesize) - [fontUnderline](../Desktop-legacy/standard-actions.md#fontunderline) + +#### Spellchecking + +[spell/autoCorrectionEnabled](../Desktop-legacy/standard-actions.md#spellautocorrectionenabled) - [spell/autoDashSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautodashsubstitutionsenabled) - [spell/autoLanguageEnabled](../Desktop-legacy/standard-actions.md#spellautolanguageenabled) - [spell/autoQuoteSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautoquotesubstitutionsenabled) - [spell/autoSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautosubstitutionsenabled) - [spell/enabled](../Desktop-legacy/standard-actions.md#spellenabled) - [spell/forgetIgnore](../Desktop-legacy/standard-actions.md#spellforgetignore) - [spell/grammarEnabled](../Desktop-legacy/standard-actions.md#spellgrammarenabled) - [spell/ignore](../Desktop-legacy/standard-actions.md#spellignore) - [spell/learn](../Desktop-legacy/standard-actions.md#spelllearn) - [spell/removeSubstitution](../Desktop-legacy/standard-actions.md#spellremovesubstitution) - [spell/showDialog](../Desktop-legacy/standard-actions.md#spellshowdialog) - [spell/suggestion?index=\<1-number\<=10\>](../Desktop-legacy/standard-actions.md#spellsuggestionindex1-number10) - [spell/unLearn](../Desktop-legacy/standard-actions.md#spellunlearn) - [spell/visibleSubstitutions](../Desktop-legacy/standard-actions.md#spellvisiblesubstitutions) + +#### Web-area controls + +[openBackURL](../Desktop-legacy/standard-actions.md#openbackurl) - [openForwardURL](../Desktop-legacy/standard-actions.md#openforwardurl) - [refreshCurrentURL](../Desktop-legacy/standard-actions.md#refreshcurrenturl) - [stopLoadingURL](../Desktop-legacy/standard-actions.md#stoploadingurl) + +#### Other actions + +[databaseSettings](../Desktop-legacy/standard-actions.md#databasesettings) - [designMode](../Desktop-legacy/standard-actions.md#designmode) - [msc](../Desktop-legacy/standard-actions.md#msc) - [quit](../Desktop-legacy/standard-actions.md#quit) - [showClipboard](../Desktop-legacy/standard-actions.md#showclipboard) - [writingTools](../Desktop-legacy/standard-actions.md#writingtools) + +#### Invisible buttons only + +[automaticSplitter](../Desktop-legacy/standard-actions.md#automaticsplitter) + +#### 4D Write Pro standard actions + +[formulaHighlight?value=\](../WritePro/user-legacy/standard-actions.md#action-formulahighlight) + ## Propriétés prises en charge Tous les boutons partagent une même série de propriétés de base : From 4481321120985f990bb806fe5ae01324e85b5380 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:03:55 +0100 Subject: [PATCH 03/37] button_overview.md Spanish --- .../current/FormObjects/button_overview.md | 129 +++++------------- 1 file changed, 37 insertions(+), 92 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md index efc3ae479242b7..7898e7b7b5dac6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md @@ -335,100 +335,45 @@ The Custom button style accepts a personalized background picture and allows man ## Supported standard actions -The following standard actions can be assigned to buttons: - -### Records and forms - -- [accept](../Desktop-legacy/standard-actions.md#accept) -- [cancel](../Desktop-legacy/standard-actions.md#cancel) -- [deleteRecord](../Desktop-legacy/standard-actions.md#deleterecord) -- [addSubrecord](../Desktop-legacy/standard-actions.md#addsubrecord) -- [deleteSubrecord](../Desktop-legacy/standard-actions.md#deletesubrecord) -- [displaySubrecord](../Desktop-legacy/standard-actions.md#displaysubrecord) -- [editSubrecord](../Desktop-legacy/standard-actions.md#editsubrecord) -- [firstRecord](../Desktop-legacy/standard-actions.md#firstrecord) -- [lastRecord](../Desktop-legacy/standard-actions.md#lastrecord) -- [nextRecord](../Desktop-legacy/standard-actions.md#nextrecord) -- [previousRecord](../Desktop-legacy/standard-actions.md#previousrecord) - -### Pages - -- [firstPage](../Desktop-legacy/standard-actions.md#firstpage) -- [lastPage](../Desktop-legacy/standard-actions.md#lastpage) -- [nextPage](../Desktop-legacy/standard-actions.md#nextpage) -- [previousPage](../Desktop-legacy/standard-actions.md#previouspage) -- [gotoPage?value=\](../Desktop-legacy/standard-actions.md#gotopagevaluepage) - -### Editing and expressions - -- [clear](../Desktop-legacy/standard-actions.md#clear) -- [copy](../Desktop-legacy/standard-actions.md#copy) -- [cut](../Desktop-legacy/standard-actions.md#cut) -- [paste](../Desktop-legacy/standard-actions.md#paste) -- [redo](../Desktop-legacy/standard-actions.md#redo) -- [undo](../Desktop-legacy/standard-actions.md#undo) -- [selectAll](../Desktop-legacy/standard-actions.md#selectall) -- [computeExpressions](../Desktop-legacy/standard-actions.md#computeexpressions) -- [freezeExpressions](../Desktop-legacy/standard-actions.md#freezeexpressions) -- [visibleReferences](../Desktop-legacy/standard-actions.md#visiblereferences) - -### Formatting - -- [backgroundColor/showDialog](../Desktop-legacy/standard-actions.md#backgroundcolorshowdialog) -- [backgroundColor?value=\](../Desktop-legacy/standard-actions.md#backgroundcolorvaluecolor) -- [color/showDialog](../Desktop-legacy/standard-actions.md#colorshowdialog) -- [color?value=\](../Desktop-legacy/standard-actions.md#colorvaluecolor) -- [font/showDialog](../Desktop-legacy/standard-actions.md#fontshowdialog) -- [fontBold](../Desktop-legacy/standard-actions.md#fontbold) -- [fontItalic](../Desktop-legacy/standard-actions.md#fontitalic) -- [fontLinethrough](../Desktop-legacy/standard-actions.md#fontlinethrough) -- [fontSize?value=\](../Desktop-legacy/standard-actions.md#fontsizevaluesize) -- [fontUnderline](../Desktop-legacy/standard-actions.md#fontunderline) - -### Spellchecking - -- [spell/autoCorrectionEnabled](../Desktop-legacy/standard-actions.md#spellautocorrectionenabled) -- [spell/autoDashSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautodashsubstitutionsenabled) -- [spell/autoLanguageEnabled](../Desktop-legacy/standard-actions.md#spellautolanguageenabled) -- [spell/autoQuoteSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautoquotesubstitutionsenabled) -- [spell/autoSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautosubstitutionsenabled) -- [spell/enabled](../Desktop-legacy/standard-actions.md#spellenabled) -- [spell/forgetIgnore](../Desktop-legacy/standard-actions.md#spellforgetignore) -- [spell/grammarEnabled](../Desktop-legacy/standard-actions.md#spellgrammarenabled) -- [spell/ignore](../Desktop-legacy/standard-actions.md#spellignore) -- [spell/learn](../Desktop-legacy/standard-actions.md#spelllearn) -- [spell/removeSubstitution](../Desktop-legacy/standard-actions.md#spellremovesubstitution) -- [spell/showDialog](../Desktop-legacy/standard-actions.md#spellshowdialog) -- [spell/suggestion?index=\<1-number\<=10\>](../Desktop-legacy/standard-actions.md#spellsuggestionindex1-number10) -- [spell/unLearn](../Desktop-legacy/standard-actions.md#spellunlearn) -- [spell/visibleSubstitutions](../Desktop-legacy/standard-actions.md#spellvisiblesubstitutions) - -### Web-area controls - -- [openBackURL](../Desktop-legacy/standard-actions.md#openbackurl) -- [openForwardURL](../Desktop-legacy/standard-actions.md#openforwardurl) -- [refreshCurrentURL](../Desktop-legacy/standard-actions.md#refreshcurrenturl) -- [stopLoadingURL](../Desktop-legacy/standard-actions.md#stoploadingurl) - -### Other actions - -- [databaseSettings](../Desktop-legacy/standard-actions.md#databasesettings) -- [designMode](../Desktop-legacy/standard-actions.md#designmode) -- [msc](../Desktop-legacy/standard-actions.md#msc) -- [quit](../Desktop-legacy/standard-actions.md#quit) -- [showClipboard](../Desktop-legacy/standard-actions.md#showclipboard) -- [writingTools](../Desktop-legacy/standard-actions.md#writingtools) - -### Invisible buttons only - -- [automaticSplitter](../Desktop-legacy/standard-actions.md#automaticsplitter) - -### 4D Write Pro standard actions - -- [formulaHighlight?value=\](../WritePro/user-legacy/standard-actions.md#action-formulahighlight) - +The following standard actions can be assigned to buttons. The [empty action](../Desktop-legacy/standard-actions.md#-empty-string) leaves the button's behavior to its method. See the [standard action compatibility table](../Desktop-legacy/standard-actions.md#supported-form-objects) for comparisons with other objects. +#### Records and forms + +[accept](../Desktop-legacy/standard-actions.md#accept) - [cancel](../Desktop-legacy/standard-actions.md#cancel) - [deleteRecord](../Desktop-legacy/standard-actions.md#deleterecord) - [addSubrecord](../Desktop-legacy/standard-actions.md#addsubrecord) - [deleteSubrecord](../Desktop-legacy/standard-actions.md#deletesubrecord) - [displaySubrecord](../Desktop-legacy/standard-actions.md#displaysubrecord) - [editSubrecord](../Desktop-legacy/standard-actions.md#editsubrecord) - [firstRecord](../Desktop-legacy/standard-actions.md#firstrecord) - [lastRecord](../Desktop-legacy/standard-actions.md#lastrecord) - [nextRecord](../Desktop-legacy/standard-actions.md#nextrecord) - [previousRecord](../Desktop-legacy/standard-actions.md#previousrecord) + +#### Pages + +[firstPage](../Desktop-legacy/standard-actions.md#firstpage) - [lastPage](../Desktop-legacy/standard-actions.md#lastpage) - [nextPage](../Desktop-legacy/standard-actions.md#nextpage) - [previousPage](../Desktop-legacy/standard-actions.md#previouspage) - [gotoPage?value=\](../Desktop-legacy/standard-actions.md#gotopagevaluepage) + +#### Editing and expressions + +[clear](../Desktop-legacy/standard-actions.md#clear) - [copy](../Desktop-legacy/standard-actions.md#copy) - [cut](../Desktop-legacy/standard-actions.md#cut) - [paste](../Desktop-legacy/standard-actions.md#paste) - [redo](../Desktop-legacy/standard-actions.md#redo) - [undo](../Desktop-legacy/standard-actions.md#undo) - [selectAll](../Desktop-legacy/standard-actions.md#selectall) - [computeExpressions](../Desktop-legacy/standard-actions.md#computeexpressions) - [freezeExpressions](../Desktop-legacy/standard-actions.md#freezeexpressions) - [visibleReferences](../Desktop-legacy/standard-actions.md#visiblereferences) + +#### Formatting + +[backgroundColor/showDialog](../Desktop-legacy/standard-actions.md#backgroundcolorshowdialog) - [backgroundColor?value=\](../Desktop-legacy/standard-actions.md#backgroundcolorvaluecolor) - [color/showDialog](../Desktop-legacy/standard-actions.md#colorshowdialog) - [color?value=\](../Desktop-legacy/standard-actions.md#colorvaluecolor) - [font/showDialog](../Desktop-legacy/standard-actions.md#fontshowdialog) - [fontBold](../Desktop-legacy/standard-actions.md#fontbold) - [fontItalic](../Desktop-legacy/standard-actions.md#fontitalic) - [fontLinethrough](../Desktop-legacy/standard-actions.md#fontlinethrough) - [fontSize?value=\](../Desktop-legacy/standard-actions.md#fontsizevaluesize) - [fontUnderline](../Desktop-legacy/standard-actions.md#fontunderline) + +#### Spellchecking + +[spell/autoCorrectionEnabled](../Desktop-legacy/standard-actions.md#spellautocorrectionenabled) - [spell/autoDashSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautodashsubstitutionsenabled) - [spell/autoLanguageEnabled](../Desktop-legacy/standard-actions.md#spellautolanguageenabled) - [spell/autoQuoteSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautoquotesubstitutionsenabled) - [spell/autoSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautosubstitutionsenabled) - [spell/enabled](../Desktop-legacy/standard-actions.md#spellenabled) - [spell/forgetIgnore](../Desktop-legacy/standard-actions.md#spellforgetignore) - [spell/grammarEnabled](../Desktop-legacy/standard-actions.md#spellgrammarenabled) - [spell/ignore](../Desktop-legacy/standard-actions.md#spellignore) - [spell/learn](../Desktop-legacy/standard-actions.md#spelllearn) - [spell/removeSubstitution](../Desktop-legacy/standard-actions.md#spellremovesubstitution) - [spell/showDialog](../Desktop-legacy/standard-actions.md#spellshowdialog) - [spell/suggestion?index=\<1-number\<=10\>](../Desktop-legacy/standard-actions.md#spellsuggestionindex1-number10) - [spell/unLearn](../Desktop-legacy/standard-actions.md#spellunlearn) - [spell/visibleSubstitutions](../Desktop-legacy/standard-actions.md#spellvisiblesubstitutions) + +#### Web-area controls + +[openBackURL](../Desktop-legacy/standard-actions.md#openbackurl) - [openForwardURL](../Desktop-legacy/standard-actions.md#openforwardurl) - [refreshCurrentURL](../Desktop-legacy/standard-actions.md#refreshcurrenturl) - [stopLoadingURL](../Desktop-legacy/standard-actions.md#stoploadingurl) + +#### Other actions + +[databaseSettings](../Desktop-legacy/standard-actions.md#databasesettings) - [designMode](../Desktop-legacy/standard-actions.md#designmode) - [msc](../Desktop-legacy/standard-actions.md#msc) - [quit](../Desktop-legacy/standard-actions.md#quit) - [showClipboard](../Desktop-legacy/standard-actions.md#showclipboard) - [writingTools](../Desktop-legacy/standard-actions.md#writingtools) + +#### Invisible buttons only + +[automaticSplitter](../Desktop-legacy/standard-actions.md#automaticsplitter) + +#### 4D Write Pro standard actions + +[formulaHighlight?value=\](../WritePro/user-legacy/standard-actions.md#action-formulahighlight) + ## Propiedades soportadas Todos los botones comparten el mismo conjunto de propiedades básicas: From 0480b5f71c4d754ad4de45a9a57c65fd5a89c198 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:03:58 +0100 Subject: [PATCH 04/37] button_overview.md Japanese --- .../current/FormObjects/button_overview.md | 137 ++++++------------ 1 file changed, 41 insertions(+), 96 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md index 125739531a6cfe..ba1e81417484db 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/button_overview.md @@ -332,101 +332,46 @@ Windows Classic UI テーマでは、このスタイルはサポートされま } ``` -## Supported standard actions - -The following standard actions can be assigned to buttons: - -### Records and forms - -- [accept](../Desktop-legacy/standard-actions.md#accept) -- [cancel](../Desktop-legacy/standard-actions.md#cancel) -- [deleteRecord](../Desktop-legacy/standard-actions.md#deleterecord) -- [addSubrecord](../Desktop-legacy/standard-actions.md#addsubrecord) -- [deleteSubrecord](../Desktop-legacy/standard-actions.md#deletesubrecord) -- [displaySubrecord](../Desktop-legacy/standard-actions.md#displaysubrecord) -- [editSubrecord](../Desktop-legacy/standard-actions.md#editsubrecord) -- [firstRecord](../Desktop-legacy/standard-actions.md#firstrecord) -- [lastRecord](../Desktop-legacy/standard-actions.md#lastrecord) -- [nextRecord](../Desktop-legacy/standard-actions.md#nextrecord) -- [previousRecord](../Desktop-legacy/standard-actions.md#previousrecord) - -### Pages - -- [firstPage](../Desktop-legacy/standard-actions.md#firstpage) -- [lastPage](../Desktop-legacy/standard-actions.md#lastpage) -- [nextPage](../Desktop-legacy/standard-actions.md#nextpage) -- [previousPage](../Desktop-legacy/standard-actions.md#previouspage) -- [gotoPage?value=\](../Desktop-legacy/standard-actions.md#gotopagevaluepage) - -### Editing and expressions - -- [clear](../Desktop-legacy/standard-actions.md#clear) -- [copy](../Desktop-legacy/standard-actions.md#copy) -- [cut](../Desktop-legacy/standard-actions.md#cut) -- [paste](../Desktop-legacy/standard-actions.md#paste) -- [redo](../Desktop-legacy/standard-actions.md#redo) -- [undo](../Desktop-legacy/standard-actions.md#undo) -- [selectAll](../Desktop-legacy/standard-actions.md#selectall) -- [computeExpressions](../Desktop-legacy/standard-actions.md#computeexpressions) -- [freezeExpressions](../Desktop-legacy/standard-actions.md#freezeexpressions) -- [visibleReferences](../Desktop-legacy/standard-actions.md#visiblereferences) - -### Formatting - -- [backgroundColor/showDialog](../Desktop-legacy/standard-actions.md#backgroundcolorshowdialog) -- [backgroundColor?value=\](../Desktop-legacy/standard-actions.md#backgroundcolorvaluecolor) -- [color/showDialog](../Desktop-legacy/standard-actions.md#colorshowdialog) -- [color?value=\](../Desktop-legacy/standard-actions.md#colorvaluecolor) -- [font/showDialog](../Desktop-legacy/standard-actions.md#fontshowdialog) -- [fontBold](../Desktop-legacy/standard-actions.md#fontbold) -- [fontItalic](../Desktop-legacy/standard-actions.md#fontitalic) -- [fontLinethrough](../Desktop-legacy/standard-actions.md#fontlinethrough) -- [fontSize?value=\](../Desktop-legacy/standard-actions.md#fontsizevaluesize) -- [fontUnderline](../Desktop-legacy/standard-actions.md#fontunderline) - -### Spellchecking - -- [spell/autoCorrectionEnabled](../Desktop-legacy/standard-actions.md#spellautocorrectionenabled) -- [spell/autoDashSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautodashsubstitutionsenabled) -- [spell/autoLanguageEnabled](../Desktop-legacy/standard-actions.md#spellautolanguageenabled) -- [spell/autoQuoteSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautoquotesubstitutionsenabled) -- [spell/autoSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautosubstitutionsenabled) -- [spell/enabled](../Desktop-legacy/standard-actions.md#spellenabled) -- [spell/forgetIgnore](../Desktop-legacy/standard-actions.md#spellforgetignore) -- [spell/grammarEnabled](../Desktop-legacy/standard-actions.md#spellgrammarenabled) -- [spell/ignore](../Desktop-legacy/standard-actions.md#spellignore) -- [spell/learn](../Desktop-legacy/standard-actions.md#spelllearn) -- [spell/removeSubstitution](../Desktop-legacy/standard-actions.md#spellremovesubstitution) -- [spell/showDialog](../Desktop-legacy/standard-actions.md#spellshowdialog) -- [spell/suggestion?index=\<1-number\<=10\>](../Desktop-legacy/standard-actions.md#spellsuggestionindex1-number10) -- [spell/unLearn](../Desktop-legacy/standard-actions.md#spellunlearn) -- [spell/visibleSubstitutions](../Desktop-legacy/standard-actions.md#spellvisiblesubstitutions) - -### Web-area controls - -- [openBackURL](../Desktop-legacy/standard-actions.md#openbackurl) -- [openForwardURL](../Desktop-legacy/standard-actions.md#openforwardurl) -- [refreshCurrentURL](../Desktop-legacy/standard-actions.md#refreshcurrenturl) -- [stopLoadingURL](../Desktop-legacy/standard-actions.md#stoploadingurl) - -### Other actions - -- [databaseSettings](../Desktop-legacy/standard-actions.md#databasesettings) -- [designMode](../Desktop-legacy/standard-actions.md#designmode) -- [msc](../Desktop-legacy/standard-actions.md#msc) -- [quit](../Desktop-legacy/standard-actions.md#quit) -- [showClipboard](../Desktop-legacy/standard-actions.md#showclipboard) -- [writingTools](../Desktop-legacy/standard-actions.md#writingtools) - -### Invisible buttons only - -- [automaticSplitter](../Desktop-legacy/standard-actions.md#automaticsplitter) - -### 4D Write Pro standard actions - -- [formulaHighlight?value=\](../WritePro/user-legacy/standard-actions.md#action-formulahighlight) - -The [empty action](../Desktop-legacy/standard-actions.md#-empty-string) leaves the button's behavior to its method. See the [standard action compatibility table](../Desktop-legacy/standard-actions.md#supported-form-objects) for comparisons with other objects. +## サポートされる標準アクション + +ボタンには、以下の標準アクションを割り当てることができます. +[empty アクション](../Desktop-legacy/standard-actions.md#-empty-string) の場合にはボタンの振る舞いはそのオブジェクトメソッドに移譲されます。他のオブジェクトとの比較のためには[標準アクション互換性表](../Desktop-legacy/standard-actions.md#サポートされるフォームオブジェクト) を参照してください。 + +#### レコードとフォーム + +[accept](../Desktop-legacy/standard-actions.md#accept) - [cancel](../Desktop-legacy/standard-actions.md#cancel) - [deleteRecord](../Desktop-legacy/standard-actions.md#deleterecord) - [addSubrecord](../Desktop-legacy/standard-actions.md#addsubrecord) - [deleteSubrecord](../Desktop-legacy/standard-actions.md#deletesubrecord) - [displaySubrecord](../Desktop-legacy/standard-actions.md#displaysubrecord) - [editSubrecord](../Desktop-legacy/standard-actions.md#editsubrecord) - [firstRecord](../Desktop-legacy/standard-actions.md#firstrecord) - [lastRecord](../Desktop-legacy/standard-actions.md#lastrecord) - [nextRecord](../Desktop-legacy/standard-actions.md#nextrecord) - [previousRecord](../Desktop-legacy/standard-actions.md#previousrecord) + +#### ページ + +[firstPage](../Desktop-legacy/standard-actions.md#firstpage) - [lastPage](../Desktop-legacy/standard-actions.md#lastpage) - [nextPage](../Desktop-legacy/standard-actions.md#nextpage) - [previousPage](../Desktop-legacy/standard-actions.md#previouspage) - [gotoPage?value=\](../Desktop-legacy/standard-actions.md#gotopagevaluepage) + +#### 編集と式 + +[clear](../Desktop-legacy/standard-actions.md#clear) - [copy](../Desktop-legacy/standard-actions.md#copy) - [cut](../Desktop-legacy/standard-actions.md#cut) - [paste](../Desktop-legacy/standard-actions.md#paste) - [redo](../Desktop-legacy/standard-actions.md#redo) - [undo](../Desktop-legacy/standard-actions.md#undo) - [selectAll](../Desktop-legacy/standard-actions.md#selectall) - [computeExpressions](../Desktop-legacy/standard-actions.md#computeexpressions) - [freezeExpressions](../Desktop-legacy/standard-actions.md#freezeexpressions) - [visibleReferences](../Desktop-legacy/standard-actions.md#visiblereferences) + +#### 書式設定 + +[backgroundColor/showDialog](../Desktop-legacy/standard-actions.md#backgroundcolorshowdialog) - [backgroundColor?value=\](../Desktop-legacy/standard-actions.md#backgroundcolorvaluecolor) - [color/showDialog](../Desktop-legacy/standard-actions.md#colorshowdialog) - [color?value=\](../Desktop-legacy/standard-actions.md#colorvaluecolor) - [font/showDialog](../Desktop-legacy/standard-actions.md#fontshowdialog) - [fontBold](../Desktop-legacy/standard-actions.md#fontbold) - [fontItalic](../Desktop-legacy/standard-actions.md#fontitalic) - [fontLinethrough](../Desktop-legacy/standard-actions.md#fontlinethrough) - [fontSize?value=\](../Desktop-legacy/standard-actions.md#fontsizevaluesize) - [fontUnderline](../Desktop-legacy/standard-actions.md#fontunderline) + +#### スペルチェック + +[spell/autoCorrectionEnabled](../Desktop-legacy/standard-actions.md#spellautocorrectionenabled) - [spell/autoDashSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautodashsubstitutionsenabled) - [spell/autoLanguageEnabled](../Desktop-legacy/standard-actions.md#spellautolanguageenabled) - [spell/autoQuoteSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautoquotesubstitutionsenabled) - [spell/autoSubstitutionsEnabled](../Desktop-legacy/standard-actions.md#spellautosubstitutionsenabled) - [spell/enabled](../Desktop-legacy/standard-actions.md#spellenabled) - [spell/forgetIgnore](../Desktop-legacy/standard-actions.md#spellforgetignore) - [spell/grammarEnabled](../Desktop-legacy/standard-actions.md#spellgrammarenabled) - [spell/ignore](../Desktop-legacy/standard-actions.md#spellignore) - [spell/learn](../Desktop-legacy/standard-actions.md#spelllearn) - [spell/removeSubstitution](../Desktop-legacy/standard-actions.md#spellremovesubstitution) - [spell/showDialog](../Desktop-legacy/standard-actions.md#spellshowdialog) - [spell/suggestion?index=\<1-number\<=10\>](../Desktop-legacy/standard-actions.md#spellsuggestionindex1-number10) - [spell/unLearn](../Desktop-legacy/standard-actions.md#spellunlearn) - [spell/visibleSubstitutions](../Desktop-legacy/standard-actions.md#spellvisiblesubstitutions) + +#### Webエリアコントロール + +[openBackURL](../Desktop-legacy/standard-actions.md#openbackurl) - [openForwardURL](../Desktop-legacy/standard-actions.md#openforwardurl) - [refreshCurrentURL](../Desktop-legacy/standard-actions.md#refreshcurrenturl) - [stopLoadingURL](../Desktop-legacy/standard-actions.md#stoploadingurl) + +#### その他のアクション + +[databaseSettings](../Desktop-legacy/standard-actions.md#databasesettings) - [designMode](../Desktop-legacy/standard-actions.md#designmode) - [msc](../Desktop-legacy/standard-actions.md#msc) - [quit](../Desktop-legacy/standard-actions.md#quit) - [showClipboard](../Desktop-legacy/standard-actions.md#showclipboard) - [writingTools](../Desktop-legacy/standard-actions.md#writingtools) + +#### 非表示ボタンのみ + +[automaticSplitter](../Desktop-legacy/standard-actions.md#automaticsplitter) + +#### 4D Write Pro標準アクション + +[formulaHighlight?value=\](../WritePro/user-legacy/standard-actions.md#action-formulahighlight) ## プロパティ一覧 @@ -441,7 +386,7 @@ The [empty action](../Desktop-legacy/standard-actions.md#-empty-string) leaves t [カスタム](#カスタム) スタイルのボタンに対しては特有の追加のプロパティが利用可能です: -[背景パス名](properties_TextAndPicture.md#背景パス名) - [境界線カラー](./properties_BackgroundAndBorder.md#境界線カラー) - [境界線幅](./properties_BackgroundAndBorder.md#境界線幅) - [横方向マージン](properties_TextAndPicture.md#横方向マージン) - [アイコンオフセット](properties_TextAndPicture.md#アイコンオフセット) - [縦方向マージン](properties_TextAndPicture.md#縦方向マージン) - [角の半径](properties_CoordinatesAndSizing.md#角の半径) - [デフォルトボタン](properties_Appearance.md#デフォルトボタン) - [塗りカラー](./properties_BackgroundAndBorder.md#背景色塗りカラー) +[背景パス名](properties_TextAndPicture.md#背景パス名) - [境界線カラー](./properties_BackgroundAndBorder.md#border-color) - [境界線幅](./properties_BackgroundAndBorder.md#境界線幅) - [横方向マージン](properties_TextAndPicture.md#横方向マージン) - [アイコンオフセット](properties_TextAndPicture.md#アイコンオフセット) - [縦方向マージン](properties_TextAndPicture.md#縦方向マージン) - [角の半径](properties_CoordinatesAndSizing.md#角の半径) - [デフォルトボタン](properties_Appearance.md#デフォルトボタン) - [塗りカラー](./properties_BackgroundAndBorder.md#背景色塗りカラー) ### フラットおよび通常ボタンにおける追加のプロパティ From 61f8c036b1d4d40cb5e7e063bbbe45c91db54fef Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:04 +0100 Subject: [PATCH 05/37] checkbox_overview.md Japanese --- .../current/FormObjects/checkbox_overview.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md index f653d44656ba03..ebeb575fa6858a 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/checkbox_overview.md @@ -348,7 +348,7 @@ Office XP スタイルのチェックボックスの反転表示と背景のカ } ``` -## Supported standard actions +## サポートされる標準アクション true/false ステータスで表すことのできるアクション ("checkable" アクション) のみがサポートされます: @@ -385,7 +385,7 @@ true/false ステータスで表すことのできるアクション ("checkable これらのアクションについての詳細は、[標準アクション](properties_Action.md#標準アクション) の章を参照してください。 -See also the [standard action compatibility table](../Desktop-legacy/standard-actions.md#supported-form-objects). +[標準アクション互換性表](../Desktop-legacy/standard-actions.md#supported-form-objects) も参照してください。 ## プロパティ一覧 @@ -400,7 +400,7 @@ See also the [standard action compatibility table](../Desktop-legacy/standard-ac [カスタム](#カスタム) スタイルのチェックボックスに対しては特有の追加のプロパティが利用可能です: -[背景パス名](properties_TextAndPicture.md#背景パス名) - [境界線カラー](./properties_BackgroundAndBorder.md#境界線カラー) - [境界線幅](./properties_BackgroundAndBorder.md#境界線幅) - [横方向マージン](properties_TextAndPicture.md#横方向マージン) - [アイコンオフセット](properties_TextAndPicture.md#アイコンオフセット) - [縦方向マージン](properties_TextAndPicture.md#縦方向マージン) - [角の半径](properties_CoordinatesAndSizing.md#角の半径) - [塗りカラー](./properties_BackgroundAndBorder.md#背景色塗りカラー) +[背景パス名](properties_TextAndPicture.md#背景パス名) - [境界線カラー](./properties_BackgroundAndBorder.md#border-color) - [境界線幅](./properties_BackgroundAndBorder.md#境界線幅) - [横方向マージン](properties_TextAndPicture.md#横方向マージン) - [アイコンオフセット](properties_TextAndPicture.md#アイコンオフセット) - [縦方向マージン](properties_TextAndPicture.md#縦方向マージン) - [角の半径](properties_CoordinatesAndSizing.md#角の半径) - [塗りカラー](./properties_BackgroundAndBorder.md#背景色塗りカラー) ### フラットおよび通常チェックボックスにおける追加のプロパティ From 09545c55908b96872faf47385bbaca87522ab4e2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:09 +0100 Subject: [PATCH 06/37] properties_display.md Japanese --- .../current/FormObjects/properties_Display.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md index f2831255d183cd..5de26b41d27ecd 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md @@ -680,9 +680,9 @@ RB-1762-1 #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| -------- | ------ | --------------------------------------------------------------------------------------- | -| wordwrap | string | "automatic" (excluding list box column and footer), "normal", "none" | +| 名称 | データタイプ | とりうる値 | +| -------- | ------ | ------------------------------------------------------------------- | +| wordwrap | string | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | #### 対象オブジェクト From 676ba1820220a9bc44f5f8031ccc9deb47a8ba8c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:12 +0100 Subject: [PATCH 07/37] properties_listbox.md Japanese --- .../current/FormObjects/properties_ListBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md index d51755627e73bc..04f53549d86352 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md @@ -165,7 +165,7 @@ title: リストボックス ## 列数 -Sets the length of the [column collection](#columns) of the list box. +リストボックスの[列のコレクション](#列) の長さを設定します。 > [`LISTBOX INSERT COLUMN`](../commands/listbox-insert-column) あるいは [`LISTBOX DELETE COLUMN`](../commands/listbox-delete-column) などのコマンドを使用することで、カラムをプログラミングによって動的に追加または削除することができます。 From dc08b54bdfe01ad47b597edc5711df36126fdb1c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:17 +0100 Subject: [PATCH 08/37] properties_reference.md Japanese --- .../current/FormObjects/properties_Reference.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md index 6c966a2bbccc2b..0b175f9459c586 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md @@ -51,7 +51,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`columns`](properties_ListBox.md#列) | リストボックス列のコレクション | 定義された列プロパティを格納した列オブジェクトのコレクション | | | | | | [`contextMenu`](properties_Entry.md#コンテキストメニュー) | 選択されたエリア内でユーザーに標準のコンテキストメニューを提供します。 | "automatic", "none" | | | | | | [`continuousExecution`](properties_Action.md#オブジェクトメソッド実行) | ユーザーによるコントロールのトラッキング中に、オブジェクトメソッドを実行するかどうかを指定します。 | true, false | | | | | -| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | "automatic" or "checkbox" for numeric columns, "popup" or "checkbox" for boolean columns | | | | | +| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | 数値型のカラムには"automatic" または "checkbox"、ブール型のカラムには"popup" または "checkbox" | | | | | | [`currentItemSource`](properties_DataSource.md#カレントの項目) | リストボックス内で最後に選択された項目 | オブジェクト型の式 | | | | | | [`currentItemPositionSource`](properties_DataSource.md#カレントの項目の位置) | リストボックス内で最後に選択された項目の位置 | 数値型の式 | | | | | | [`customBackgroundPicture`](properties_TextAndPicture.md#背景パス名) | ボタンの背景に描画されるピクチャーを設定します。 | POSIX シンタックスの相対パス。 style プロパティの "custom" オプションと併用する必要があります。 | | | | | @@ -68,7 +68,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`deletableInList`](properties_Subform.md#削除を許可) | リストサブフォーム内でユーザーがサブレコードを削除できるかどうかを指定します。 | true, false | | | | | | [`detailForm`](properties_ListBox.md#詳細フォーム名) (リストボックス)
[`detailForm`](properties_Subform.md#詳細フォーム) (サブフォーム) | 詳細フォームをリストサブフォームに関連づけます。 | テーブルまたはプロジェクトフォームの名前 (文字列), フォームを定義する .json ファイルへの POSIX パス (文字列), またはフォームを定義するオブジェクト | | | | | | [`display`](properties_Display.md#レンダリングしない) | フォーム上にオブジェクトを描画するかどうかを指定します。 | true, false | | | | | -| [`displayFormulaAsSymbol`](properties_Appearance.md#display-formula-source-as-symbol) | Displays source text of formulas as symbols. | true, false | | | | | +| [`displayFormulaAsSymbol`](properties_Appearance.md#フォーミュラのソースを記号として表示) | フォーミュラのソーステキストを記号として表示します。 | true, false | | | | | | [`doubleClickInEmptyAreaAction`](properties_Subform.md#空行をダブルクリック) | リストサブフォームの空行がダブルクリックされた際に実行されるアクションを指定します。 | "addSubrecord", 何もしない場合は "" | | | | | | [`doubleClickInRowAction`](properties_ListBox.md#行をダブルクリック) (リストボックス)
[`doubleClickInRowAction`](properties_Subform.md#行をダブルクリック) (サブフォーム) | レコードをダブルクリックしたときに実行するアクション | "editSubrecord", "displaySubrecord" | | | | | | [`dpi`](properties_Appearance.md#解像度) | 4D Write Pro エリアの画面解像度 | 0 = 自動, 72, 96 | | | | | @@ -172,8 +172,8 @@ title: フォームオブジェクト JSON プロパティリスト | [`shortcutControl`](properties_Entry.md#ショートカット) | ショートカットに Controlキーを使用します (Windows)。 | true, false | | | | | | [`shortcutKey`](properties_Entry.md#ショートカット) | ショートカットに使用する、特別な意味を持つキーの文字あるいは名前 | "a", "b",... あるいは "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | | | | | | [`shortcutShift`](properties_Entry.md#ショートカット) | ショートカットに Shiftキーを使用します。 | true, false | | | | | -| [`showBackground`](properties_Appearance.md#show-background-and-anchored-elements) | Displays or hides background contents. | true, false | | | | | -| [`showEmptyImages`](properties_Appearance.md#show-empty-or-unsupported-images) | Displays/hides a black rectangle for empty images | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | +| [`showBackground`](properties_Appearance.md#背景とアンカーされた要素を表示) | 背景要素を表示または非表示にします。 | true, false | | | | | +| [`showEmptyImages`](properties_Appearance.md#空またはサポートされていない画像を表示) | 空の画像に対して黒い四角形を表示または非表示にします | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | | [`showGraduations`](properties_Scale.md#目盛りを表示) | ラベルの隣に目盛を表示、または非表示にします。 | true, false | | | | | | [`showHeaders`](properties_Headers.md#ヘッダーを表示) | 列のヘッダーを表示/非表示にします。 | true, false | | | | | | [`showHiddenChars`](properties_Appearance.md#非表示文字を表示) | 非表示の文字を表示/非表示にします。 | true, false | | | | | @@ -182,7 +182,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`showPageFrames`](properties_Appearance.md#ページフレームを表示) | ドキュメントビューがページビューモードの場合に、ページフレームを表示/非表示にします。 | true, false | | | | | | [`showReferences`](properties_Appearance.md#参照を表示) | ドキュメントに *参照* として挿入された 4D式をすべて表示します。 | true, false | | | | | | [`showSelection`](properties_Entry.md#選択を常に表示) | オブジェクト中で選択した文字列の反転状態が、フォーカスを失った後も表示されるようになります。 | true, false | | | | | -| [`showTableBorders`](properties_Appearance.md#show-table-borders) | Displays internal and external table borders as dotted lines when these borders are invisible | true, false | | | | | +| [`showTableBorders`](properties_Appearance.md#表組みの境界線を表示) | 境界線が非表示になっている場合には、表組の内部および外部の境界線を点線として表示します | true, false | | | | | | [`showVerticalRuler`](properties_Appearance.md#垂直ルーラーを表示) | ドキュメントビューがページビューモードの場合に、垂直ルーラーを表示/非表示にします。 | true, false | | | | | | [`singleClickEdit`](properties_Entry.md#シングルクリック編集) | 編集モードへの直接移行を可能にします。 | true, false | | | | | | [`sizingX`](properties_ResizingOptions.md#横方向サイズ変更) | ユーザーがフォームの幅をサイズ変更したときの、オブジェクトの挙動を指定します。 | "grow", "move", "fixed" | | | | | @@ -231,7 +231,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`webEngine`](properties_WebArea.md#埋め込みwebレンダリングエンジンを使用) | Webエリアで使用する描画エンジンを 2つのうちから選択します。 | "embedded", "system" | | | | | | [`width`](properties_CoordinatesAndSizing.md#幅) | オブジェクトの横のサイズを指定します。 | 最小値: 0 | | | | | | [`withFormulaBar`](properties_Appearance.md#フォーミュラバーを表示) | 4D View Pro エリアにおいて、ツールバーのすぐ下にフォーミュラバーを表示します。 | true, false | | | | | -| [`wordwrap`](properties_Display.md#ワードラップ) | このオプションは、表示する内容がオブジェクトの幅を超えたときの表示を管理します。 | "automatic" (excluding list box column and footer), "normal", "none" | | | | | +| [`wordwrap`](properties_Display.md#ワードラップ) | このオプションは、表示する内容がオブジェクトの幅を超えたときの表示を管理します。 | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | | | | | | [`writingTools`](properties_Entry.md#writing-tools) | ローカルなAI ベースのライティングツールの利用可/不可を管理します。 | true, false | | | | | | **z** | | | | | | | | [`zoom`](properties_Appearance.md#拡大) | 4D Write Pro エリアのズーム率を設定します。 | 数値 (最小値 = 0) | | | | | From 2ca6a802cc8205b75c39cc4054ef55f7a89ad482 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:22 +0100 Subject: [PATCH 09/37] properties_textandpicture.md Japanese --- .../current/FormObjects/properties_TextAndPicture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md index 2ab2fce5ce7d71..dcfbf8e99ee550 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md @@ -37,7 +37,7 @@ title: テキスト、ピクチャー #### 対象オブジェクト -[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) +[ボタン](button_overview.md) - [ラジオボタン](radio_overview.md) - [チェックボックス](checkbox_overview.md) #### コマンド From b9136f394279f73aef3ae28b914908057d9b93ad Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:25 +0100 Subject: [PATCH 10/37] ruler.md Japanese --- .../current/FormObjects/ruler.md | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/ruler.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/ruler.md index f50410d4705931..542c81ec6400f0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/ruler.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/ruler.md @@ -13,7 +13,35 @@ title: ルーラー ### プロパティ一覧 -[Bold](properties_Text.md#bold) - [Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) -[Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Display graduation](properties_Scale.md#display-graduation) - [Enterable](properties_Entry.md#enterable) - [Execute object method](properties_Action.md#execute-object-method) - [Expression Type](properties_Object.md#expression-type) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Graduation step](properties_Scale.md#graduation-step) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Label Location](properties_Scale.md#label-location) - [Left](properties_CoordinatesAndSizing.md#left) - [Maximum](properties_Scale.md#maximum) - [Minimum](properties_Scale.md#minimum) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Step](properties_Scale.md#step) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[タイプ](properties_Object.md#タイプ) - +[オブジェクト名](properties_Object.md#オブジェクト名) - +[変数あるいは式](properties_Object.md#変数あるいは式) - +[式の型](properties_Object.md#式の型式タイプ) - +[CSSクラス](properties_Object.md#cssクラス) - +[最小](properties_Scale.md#最小) - +[表示状態](properties_Display.md#表示状態) - +[目盛りのステップ](properties_Scale.md#目盛りのステップ) - +[ステップ](properties_Scale.md#ステップ) - +[ラベル位置](properties_Scale.md#ラベル位置) - +[目盛りを表示](properties_Scale.md#目盛りを表示) - +[左](properties_CoordinatesAndSizing.md#左) - +[上](properties_CoordinatesAndSizing.md#上) - +[右](properties_CoordinatesAndSizing.md#右) - +[下](properties_CoordinatesAndSizing.md#下) - +[幅](properties_CoordinatesAndSizing.md#幅) - +[高さ](properties_CoordinatesAndSizing.md#高さ) - +[横方向サイズ変更](properties_ResizingOptions.md#横方向サイズ変更) - +[縦方向サイズ変更](properties_ResizingOptions.md#縦方向サイズ変更) - +[入力可](properties_Entry.md#入力可) - +[数値フォーマット](properties_Display.md#数値フォーマット) - +[表示状態](properties_Display.md#表示状態) - +[境界線カラー](./properties_BackgroundAndBorder.md#border-color) - +[境界線スタイル](properties_BackgroundAndBorder.md#border-line-style) - +[フォントカラー](properties_Text.md#フォントカラー) - +[フォントサイズ](properties_Text.md#フォントサイズ) - +[太字](properties_Text.md#太字) - +[ヘルプTips](properties_Help.md#ヘルプtips) - +[オブジェクトメソッド実行](properties_Action.md#オブジェクトメソッド実行) ### サポートされるイベント From f201c272483973cda27761d660103d78fa119387 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:28 +0100 Subject: [PATCH 11/37] spinner.md Japanese --- .../current/FormObjects/spinner.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/spinner.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/spinner.md index c36e09b71f7154..a8e2851ffad759 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/spinner.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/spinner.md @@ -16,7 +16,23 @@ title: スピナー ### プロパティ一覧 -[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Expression Type](properties_Object.md#expression-type) - [Height](properties_CoordinatesAndSizing.md#height) -[Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[タイプ](properties_Object.md#タイプ) - +[オブジェクト名](properties_Object.md#オブジェクト名) - +[変数あるいは式](properties_Object.md#変数あるいは式) - +[式の型](properties_Object.md#式の型式タイプ) - +[CSSクラス](properties_Object.md#cssクラス) - +[表示状態](properties_Display.md#表示状態) - +[上](properties_CoordinatesAndSizing.md#上) - +[右](properties_CoordinatesAndSizing.md#右) - +[下](properties_CoordinatesAndSizing.md#下) - +[幅](properties_CoordinatesAndSizing.md#幅) - +[高さ](properties_CoordinatesAndSizing.md#高さ) - +[横方向サイズ変更](properties_ResizingOptions.md#横方向サイズ変更) - +[縦方向サイズ変更](properties_ResizingOptions.md#縦方向サイズ変更) - +[表示状態](properties_Display.md#表示状態) - +[境界線カラー](./properties_BackgroundAndBorder.md#border-color) - +[境界線スタイル](properties_BackgroundAndBorder.md#border-line-style) - +[ヘルプTips](properties_Help.md#ヘルプtips) ### サポートされるイベント From b733c3d468ac6be2d3105d1ade7425332456016d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:31 +0100 Subject: [PATCH 12/37] splitters.md Japanese --- .../current/FormObjects/splitters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/splitters.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/splitters.md index c900f84097dcbc..c9ef3a3cd72df2 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/splitters.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/splitters.md @@ -33,7 +33,7 @@ title: スプリッター ### プロパティ一覧 -[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Height](properties_CoordinatesAndSizing.md#height) - [Help Tip](properties_Help.md#help-tip) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Line Color](properties_BackgroundAndBorder.md#line-color) - [Object Name](properties_Object.md#object-name) - [Pusher](properties_ResizingOptions.md#pusher) - [Right](properties_CoordinatesAndSizing.md#right) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[タイプ](properties_Object.md#タイプ) - [オブジェクト名](properties_Object.md#オブジェクト名) - [変数あるいは式](properties_Object.md#変数あるいは式) - [CSSクラス](properties_Object.md#cssクラス) - [左](properties_CoordinatesAndSizing.md#左) - [上](properties_CoordinatesAndSizing.md#上) - [右](properties_CoordinatesAndSizing.md#右) - [下](properties_CoordinatesAndSizing.md#下) - [幅](properties_CoordinatesAndSizing.md#幅) - [高さ](properties_CoordinatesAndSizing.md#高さ) - [横方向サイズ変更](properties_ResizingOptions.md#横方向サイズ変更) - [縦方向サイズ変更](properties_ResizingOptions.md#縦方向サイズ変更) - [以降のオブジェクトを移動する](properties_ResizingOptions.md#以降のオブジェクトを移動する) - [表示状態](properties_Display.md#表示状態) - [境界線カラー](./properties_BackgroundAndBorder.md#border-color) - [境界線スタイル](properties_BackgroundAndBorder.md#border-line-style) - [線カラー](properties_BackgroundAndBorder.md#線カラー) - - [ヘルプTips](properties_Help.md#ヘルプtips) ### サポートされるイベント From a1cc475d00f99145e06795df1b531f38c4003a69 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:33 +0100 Subject: [PATCH 13/37] subform_overview.md Japanese --- .../current/FormObjects/subform_overview.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md index 05c9319a856a48..59b457211f8787 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/subform_overview.md @@ -210,9 +210,7 @@ End if ## プロパティ一覧 -[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Detail Form](properties_Subform.md#detail-form) - [Double click on empty row](properties_Subform.md#double-click-on-empty-row) - [Double click on row](properties_Subform.md#double-click-on-row) - [Enterable in list](properties_Subform.md#enterable-in-list) - [Expression Type](properties_Object.md#expression-type) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - -[Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - -[Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [List Form](properties_Subform.md#list-form) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Print Frame](properties_Print.md#print-frame) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection mode](properties_Subform.md#selection-mode) - [Source](properties_Subform.md#source) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[タイプ](properties_Object.md#タイプ) - [オブジェクト名](properties_Object.md#オブジェクト名) - [変数あるいは式](properties_Object.md#変数あるいは式) - [式の型](properties_Object.md#式の型式タイプ) - [CSSクラス](properties_Object.md#cssクラス) - [ソース](properties_Subform.md#ソース) - [リストフォーム](properties_Subform.md#リストフォーム) - [詳細フォーム](properties_Subform.md#詳細フォーム) - [選択モード](properties_Subform.md#選択モード) - [リスト更新可](properties_Subform.md#リスト更新可) - [行をダブルクリック](properties_Subform.md#行をダブルクリック) - [空行をダブルクリック](properties_Subform.md#空行をダブルクリック) - [左](properties_CoordinatesAndSizing.md#左) - [上](properties_CoordinatesAndSizing.md#上) - [右](properties_CoordinatesAndSizing.md#右) - [下](properties_CoordinatesAndSizing.md#下) - [幅](properties_CoordinatesAndSizing.md#幅) - [高さ](properties_CoordinatesAndSizing.md#高さ) - [横方向サイズ変更](properties_ResizingOptions.md#横方向サイズ変更) - [縦方向サイズ変更](properties_ResizingOptions.md#縦方向サイズ変更) - [フォーカス可](properties_Entry.md#フォーカス可) - [表示状態](properties_Display.md#表示状態) - [フォーカスの四角を隠す](properties_Appearance.md#フォーカスの四角を隠す) - [横スクロールバー](properties_Appearance.md#横スクロールバー) - [縦スクロールバー](properties_Appearance.md#縦スクロールバー) - [境界線カラー](./properties_BackgroundAndBorder.md#border-color) - [境界線スタイル](properties_BackgroundAndBorder.md#border-line-style) - [印刷時可変](properties_Print.md#印刷時可変) - [メソッド](properties_Action.md#メソッド) ## サポートされるイベント From 3d9bdce6ba5824fe79a712148cb09f6880dc2357 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:36 +0100 Subject: [PATCH 14/37] tabcontrol.md Japanese --- .../current/FormObjects/tabControl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/tabControl.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/tabControl.md index 3ea815ce123ad3..5f943521581791 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/tabControl.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/tabControl.md @@ -114,11 +114,11 @@ FORM GOTO PAGE(arrPages) たとえば、ユーザーが 3番目のタブをクリックすると、4Dはカレントフォームの 3ページ目 (存在する場合) を表示します。 -## Supported standard actions +## サポートされる標準アクション -- [gotoPage](../Desktop-legacy/standard-actions.md#gotopage): Uses the selected tab number as described in [Goto Page action](#goto-page-action). +- [gotoPage](../Desktop-legacy/standard-actions.md#gotopage): [Goto Page 標準アクション](#gotopage-標準アクション) の説明に従って選択されたボタン番号を使用します。 -See the [standard action compatibility table](../Desktop-legacy/standard-actions.md#supported-form-objects). +詳細については[標準アクション互換性表](../Desktop-legacy/standard-actions.md#サポートされるフォームオブジェクト) を参照してください。 ## プロパティ一覧 From 06012749b212a40e6f0234cd86a56beeaf493526 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:38 +0100 Subject: [PATCH 15/37] viewproarea_overview.md Japanese --- .../current/FormObjects/viewProArea_overview.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md index 008dc3529069f2..d082c393fd7bd6 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/viewProArea_overview.md @@ -15,7 +15,22 @@ title: 4D View Pro エリア ## プロパティ一覧 -[Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Height](properties_CoordinatesAndSizing.md#height) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Right](properties_CoordinatesAndSizing.md#right) - [Show Formula Bar](properties_Appearance.md#show-formula-bar) - [Type](properties_Object.md#type) - [User Interface](properties_Appearance.md#user-interface) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) +[タイプ](properties_Object.md#タイプ) - +[オブジェクト名](properties_Object.md#オブジェクト名) - +[CSSクラス](properties_Object.md#cssクラス) - +[左](properties_CoordinatesAndSizing.md#左) - +[右](properties_CoordinatesAndSizing.md#右) - +[下](properties_CoordinatesAndSizing.md#下) - +[幅](properties_CoordinatesAndSizing.md#幅) - +[高さ](properties_CoordinatesAndSizing.md#高さ) - +[横方向サイズ変更](properties_ResizingOptions.md#横方向サイズ変更) - +[縦方向サイズ変更](properties_ResizingOptions.md#縦方向サイズ変更) - +[表示状態](properties_Display.md#表示状態) - +[ユーザーインターフェース](properties_Appearance.md#ユーザーインターフェース) - +[フォーミュラバーを表示](properties_Appearance.md#フォーミュラバーを表示) - +[境界線カラー](./properties_BackgroundAndBorder.md#border-color) - +[境界線スタイル](properties_BackgroundAndBorder.md#border-line-style) - +[メソッド](properties_Action.md#メソッド) ## サポートされるイベント From 253042155ba6d50ed68a5aa63fb401cba45d1995 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:41 +0100 Subject: [PATCH 16/37] writeproarea_overview.md Japanese --- .../current/FormObjects/writeProArea_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md index 544e5d0af0d6fe..4deeefb0ef97f1 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md @@ -13,7 +13,7 @@ title: 4D Write Pro エリア ## プロパティ一覧 -[Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border color](./properties_BackgroundAndBorder.md#border-color) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Keyboard Layout](properties_Entry.md#keyboard-layout) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Print Variable Frame](properties_Print.md#print-frame) - [Resolution](properties_Appearance.md#resolution) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Show background](properties_Appearance.md#show-background-and-anchored-elements) - [Show footers](properties_Appearance.md#show-footers) - [Show headers](properties_Appearance.md#show-headers) - [Show hidden characters](properties_Appearance.md#show-hidden-characters) - [Show horizontal ruler](properties_Appearance.md#show-horizontal-ruler) - [Show HTML WYSIWYG](properties_Appearance.md#show-html-wysiwyg) - [Show page frame](properties_Appearance.md#show-page-frame) - [Show references](properties_Appearance.md#show-references) - [Show vertical ruler](properties_Appearance.md#show-vertical-ruler) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [View mode](properties_Appearance.md#view-mode) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Writing Tools](properties_Entry.md#writing-tools) - [Zoom](properties_Appearance.md#zoom) +[タイプ](properties_Object.md#タイプ) - [オブジェクト名](properties_Object.md#オブジェクト名) - [CSSクラス](properties_Object.md#cssクラス) - [左](properties_CoordinatesAndSizing.md#左) - [右](properties_CoordinatesAndSizing.md#右) - [下](properties_CoordinatesAndSizing.md#下) - [幅](properties_CoordinatesAndSizing.md#幅) - [高さ](properties_CoordinatesAndSizing.md#高さ) - [横方向サイズ変更](properties_ResizingOptions.md#横方向サイズ変更) - [縦方向サイズ変更](properties_ResizingOptions.md#縦方向サイズ変更) - [入力可](properties_Entry.md#入力可) - [自動スペルチェック](properties_Entry.md#自動スペルチェック) - [コンテキストメニュー](properties_Entry.md#コンテキストメニュー) - [選択を常に表示](properties_Entry.md#選択を常に表示) - [フォーカス可](properties_Entry.md#フォーカス可) - [表示状態](properties_Display.md#表示状態) - [フォーカスの四角を隠す](properties_Appearance.md#フォーカスの四角を隠す) - [横スクロールバー](properties_Appearance.md#横スクロールバー) - [縦スクロールバー](properties_Appearance.md#縦スクロールバー) - [解像度](properties_Appearance.md#解像度) - [拡大](properties_Appearance.md#拡大) - [ビューモード](properties_Appearance.md#ビューモード) - [ページフレームを表示](properties_Appearance.md#ページフレームを表示) - [参照を表示](properties_Appearance.md#参照を表示) - [ヘッダーを表示](properties_Appearance.md#ヘッダーを表示) - [フッターを表示](properties_Appearance.md#フッターを表示) - [背景を表示](properties_Appearance.md#背景を表示) - [非表示文字を表示](properties_Appearance.md#非表示文字を表示) - [HTML WYSIWYG 表示](properties_Appearance.md#html-wysiwyg-表示) - [水平ルーラーを表示](properties_Appearance.md#水平ルーラーを表示) - [垂直ルーラーを表示](properties_Appearance.md#垂直ルーラーを表示) - [境界線カラー](./properties_BackgroundAndBorder.md#border-color) - [境界線スタイル](properties_BackgroundAndBorder.md#border-line-style) - [ドラッグ有効](properties_Action.md#ドラッグ有効) - [ライティングツール](properties_Entry.md#ライティングツール) - [ドロップ有効](properties_Action.md#ドロップ有効) - [メソッド](properties_Action.md#メソッド) ## サポートされるイベント From 9c5ce001e4fce1ac8ecbc6dd69ab4a1fe7000cb8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:46 +0100 Subject: [PATCH 17/37] properties_display.md Japanese --- .../version-20/FormObjects/properties_Display.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Display.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Display.md index 66bd734e5d94cf..3cddb97bb250f3 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Display.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Display.md @@ -599,9 +599,9 @@ RB-1762-1 #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| -------- | ------ | --------------------------------------------------------------------------------------- | -| wordwrap | string | "automatic" (excluding list box column and footer), "normal", "none" | +| 名称 | データタイプ | とりうる値 | +| -------- | ------ | ------------------------------------------------------------------- | +| wordwrap | string | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | #### 対象オブジェクト From 1857abafd3ed1219d8450e0f7cecb9366ca94c4c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:49 +0100 Subject: [PATCH 18/37] properties_listbox.md Japanese --- .../version-20/FormObjects/properties_ListBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_ListBox.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_ListBox.md index 1ba46f66615c95..c0335e82beecbd 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_ListBox.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_ListBox.md @@ -153,7 +153,7 @@ title: リストボックス ## 列数 -Sets the length of the [column collection](#columns) of the list box. +リストボックスの[列のコレクション](#列) の長さを設定します。 > [`LISTBOX INSERT COLUMN`](https://doc.4d.com/4dv20/help/command/ja/page829.html) や [`LISTBOX DELETE COLUMN`](https://doc.4d.com/4dv20/help/command/ja/page830.html) などのコマンドを使うことで、プログラミングによって列数を動的に変更 (列の追加・削除) することができます。 From 5647536d5f058e43e23d2aaa8e7f5d588e252e81 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:53 +0100 Subject: [PATCH 19/37] properties_reference.md Japanese --- .../version-20/FormObjects/properties_Reference.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md index bdabf23f23de54..6fd2cfd867c892 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Reference.md @@ -48,7 +48,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`columns`](properties_ListBox.md#列) | リストボックス列のコレクション | 定義された列プロパティを格納した列オブジェクトのコレクション | | | | | | [`contextMenu`](properties_Entry.md#コンテキストメニュー) | 選択されたエリア内でユーザーに標準のコンテキストメニューを提供します。 | "automatic", "none" | | | | | | [`continuousExecution`](properties_Action.md#オブジェクトメソッド実行) | ユーザーによるコントロールのトラッキング中に、オブジェクトメソッドを実行するかどうかを指定します。 | true, false | | | | | -| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | "automatic" or "checkbox" for numeric columns, "popup" or "checkbox" for boolean columns | | | | | +| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | 数値型のカラムには"automatic" または "checkbox"、ブール型のカラムには"popup" または "checkbox" | | | | | | [`currentItemSource`](properties_DataSource.md#カレントの項目) | リストボックス内で最後に選択された項目 | オブジェクト型の式 | | | | | | [`currentItemPositionSource`](properties_DataSource.md#カレントの項目の位置) | リストボックス内で最後に選択された項目の位置 | 数値型の式 | | | | | | [`customBackgroundPicture`](properties_TextAndPicture.md#背景パス名) | ボタンの背景に描画されるピクチャーを設定します。 | POSIX シンタックスの相対パス。 style プロパティの "custom" オプションと併用する必要があります。 | | | | | @@ -65,7 +65,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`deletableInList`](properties_Subform.md#削除を許可) | リストサブフォーム内でユーザーがサブレコードを削除できるかどうかを指定します。 | true, false | | | | | | [`detailForm`](properties_ListBox.md#詳細フォーム名) (リストボックス)
[`detailForm`](properties_Subform.md#詳細フォーム) (サブフォーム) | 詳細フォームをリストサブフォームに関連づけます。 | テーブルまたはプロジェクトフォームの名前 (文字列), フォームを定義する .json ファイルへの POSIX パス (文字列), またはフォームを定義するオブジェクト | | | | | | [`display`](properties_Display.md#レンダリングしない) | フォーム上にオブジェクトを描画するかどうかを指定します。 | true, false | | | | | -| [`displayFormulaAsSymbol`](properties_Appearance.md#display-formula-source-as-symbol) | Displays source text of formulas as symbols. | true, false | | | | | +| [`displayFormulaAsSymbol`](properties_Appearance.md#フォーミュラのソースを記号として表示) | フォーミュラのソーステキストを記号として表示します。 | true, false | | | | | | [`doubleClickInEmptyAreaAction`](properties_Subform.md#空行をダブルクリック) | リストサブフォームの空行がダブルクリックされた際に実行されるアクションを指定します。 | "addSubrecord", 何もしない場合は "" | | | | | | [`doubleClickInRowAction`](properties_ListBox.md#行をダブルクリック) (リストボックス)
[`doubleClickInRowAction`](properties_Subform.md#行をダブルクリック) (サブフォーム) | レコードをダブルクリックしたときに実行するアクション | "editSubrecord", "displaySubrecord" | | | | | | [`dpi`](properties_Appearance.md#解像度) | 4D Write Pro エリアの画面解像度 | 0 = 自動, 72, 96 | | | | | @@ -164,8 +164,8 @@ title: フォームオブジェクト JSON プロパティリスト | [`shortcutControl`](properties_Entry.md#ショートカット) | ショートカットに Controlキーを使用します (Windows)。 | true, false | | | | | | [`shortcutKey`](properties_Entry.md#ショートカット) | ショートカットに使用する、特別な意味を持つキーの文字あるいは名前 | "a", "b",... あるいは "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | | | | | | [`shortcutShift`](properties_Entry.md#ショートカット) | ショートカットに Shiftキーを使用します。 | true, false | | | | | -| [`showBackground`](properties_Appearance.md#show-background-and-anchored-elements) | Displays or hides background contents. | true, false | | | | | -| [`showEmptyImages`](properties_Appearance.md#show-empty-or-unsupported-images) | Displays/hides a black rectangle for empty images | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | +| [`showBackground`](properties_Appearance.md#背景とアンカーされた要素を表示) | 背景要素を表示または非表示にします。 | true, false | | | | | +| [`showEmptyImages`](properties_Appearance.md#空またはサポートされていない画像を表示) | 空の画像に対して黒い四角形を表示または非表示にします | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | | [`showGraduations`](properties_Scale.md#目盛りを表示) | ラベルの隣に目盛を表示、または非表示にします。 | true, false | | | | | | [`showHeaders`](properties_Headers.md#ヘッダーを表示) | 列のヘッダーを表示/非表示にします。 | true, false | | | | | | [`showHiddenChars`](properties_Appearance.md#非表示文字を表示) | 非表示の文字を表示/非表示にします。 | true, false | | | | | From abc7afd196f10e217d0d992415a64d1562d3a685 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:56 +0100 Subject: [PATCH 20/37] properties_textandpicture.md Japanese --- .../version-20/FormObjects/properties_TextAndPicture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md index 50aaa2b3038c21..986616b3fff9f5 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md @@ -33,7 +33,7 @@ title: テキスト、ピクチャー #### 対象オブジェクト -[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) +[ボタン](button_overview.md) - [ラジオボタン](radio_overview.md) - [チェックボックス](checkbox_overview.md) --- From 996a7d403cd59310e9084bfa957bc10a8f742666 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:04:59 +0100 Subject: [PATCH 21/37] properties_display.md Japanese --- .../version-21-R4/FormObjects/properties_Display.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Display.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Display.md index f2831255d183cd..5de26b41d27ecd 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Display.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Display.md @@ -680,9 +680,9 @@ RB-1762-1 #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| -------- | ------ | --------------------------------------------------------------------------------------- | -| wordwrap | string | "automatic" (excluding list box column and footer), "normal", "none" | +| 名称 | データタイプ | とりうる値 | +| -------- | ------ | ------------------------------------------------------------------- | +| wordwrap | string | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | #### 対象オブジェクト From 8dbcb41497336a4ef2d105af5123cd0a73ee4383 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:02 +0100 Subject: [PATCH 22/37] properties_listbox.md Japanese --- .../version-21-R4/FormObjects/properties_ListBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_ListBox.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_ListBox.md index d51755627e73bc..04f53549d86352 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_ListBox.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_ListBox.md @@ -165,7 +165,7 @@ title: リストボックス ## 列数 -Sets the length of the [column collection](#columns) of the list box. +リストボックスの[列のコレクション](#列) の長さを設定します。 > [`LISTBOX INSERT COLUMN`](../commands/listbox-insert-column) あるいは [`LISTBOX DELETE COLUMN`](../commands/listbox-delete-column) などのコマンドを使用することで、カラムをプログラミングによって動的に追加または削除することができます。 From 02da1b32e493cb9a687b7b9f7d71e7231112dafb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:07 +0100 Subject: [PATCH 23/37] properties_reference.md Japanese --- .../FormObjects/properties_Reference.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Reference.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Reference.md index 279cfba4272f8a..8e5a4a50d81b77 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Reference.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_Reference.md @@ -48,7 +48,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`columns`](properties_ListBox.md#列) | リストボックス列のコレクション | 定義された列プロパティを格納した列オブジェクトのコレクション | | | | | | [`contextMenu`](properties_Entry.md#コンテキストメニュー) | 選択されたエリア内でユーザーに標準のコンテキストメニューを提供します。 | "automatic", "none" | | | | | | [`continuousExecution`](properties_Action.md#オブジェクトメソッド実行) | ユーザーによるコントロールのトラッキング中に、オブジェクトメソッドを実行するかどうかを指定します。 | true, false | | | | | -| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | "automatic" or "checkbox" for numeric columns, "popup" or "checkbox" for boolean columns | | | | | +| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | 数値型のカラムには"automatic" または "checkbox"、ブール型のカラムには"popup" または "checkbox" | | | | | | [`currentItemSource`](properties_DataSource.md#カレントの項目) | リストボックス内で最後に選択された項目 | オブジェクト型の式 | | | | | | [`currentItemPositionSource`](properties_DataSource.md#カレントの項目の位置) | リストボックス内で最後に選択された項目の位置 | 数値型の式 | | | | | | [`customBackgroundPicture`](properties_TextAndPicture.md#背景パス名) | ボタンの背景に描画されるピクチャーを設定します。 | POSIX シンタックスの相対パス。 style プロパティの "custom" オプションと併用する必要があります。 | | | | | @@ -65,7 +65,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`deletableInList`](properties_Subform.md#削除を許可) | リストサブフォーム内でユーザーがサブレコードを削除できるかどうかを指定します。 | true, false | | | | | | [`detailForm`](properties_ListBox.md#詳細フォーム名) (リストボックス)
[`detailForm`](properties_Subform.md#詳細フォーム) (サブフォーム) | 詳細フォームをリストサブフォームに関連づけます。 | テーブルまたはプロジェクトフォームの名前 (文字列), フォームを定義する .json ファイルへの POSIX パス (文字列), またはフォームを定義するオブジェクト | | | | | | [`display`](properties_Display.md#レンダリングしない) | フォーム上にオブジェクトを描画するかどうかを指定します。 | true, false | | | | | -| [`displayFormulaAsSymbol`](properties_Appearance.md#display-formula-source-as-symbol) | Displays source text of formulas as symbols. | true, false | | | | | +| [`displayFormulaAsSymbol`](properties_Appearance.md#フォーミュラのソースを記号として表示) | フォーミュラのソーステキストを記号として表示します。 | true, false | | | | | | [`doubleClickInEmptyAreaAction`](properties_Subform.md#空行をダブルクリック) | リストサブフォームの空行がダブルクリックされた際に実行されるアクションを指定します。 | "addSubrecord", 何もしない場合は "" | | | | | | [`doubleClickInRowAction`](properties_ListBox.md#行をダブルクリック) (リストボックス)
[`doubleClickInRowAction`](properties_Subform.md#行をダブルクリック) (サブフォーム) | レコードをダブルクリックしたときに実行するアクション | "editSubrecord", "displaySubrecord" | | | | | | [`dpi`](properties_Appearance.md#解像度) | 4D Write Pro エリアの画面解像度 | 0 = 自動, 72, 96 | | | | | @@ -165,8 +165,8 @@ title: フォームオブジェクト JSON プロパティリスト | [`shortcutControl`](properties_Entry.md#ショートカット) | ショートカットに Controlキーを使用します (Windows)。 | true, false | | | | | | [`shortcutKey`](properties_Entry.md#ショートカット) | ショートカットに使用する、特別な意味を持つキーの文字あるいは名前 | "a", "b",... あるいは "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | | | | | | [`shortcutShift`](properties_Entry.md#ショートカット) | ショートカットに Shiftキーを使用します。 | true, false | | | | | -| [`showBackground`](properties_Appearance.md#show-background-and-anchored-elements) | Displays or hides background contents. | true, false | | | | | -| [`showEmptyImages`](properties_Appearance.md#show-empty-or-unsupported-images) | Displays/hides a black rectangle for empty images | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | +| [`showBackground`](properties_Appearance.md#背景とアンカーされた要素を表示) | 背景要素を表示または非表示にします。 | true, false | | | | | +| [`showEmptyImages`](properties_Appearance.md#空またはサポートされていない画像を表示) | 空の画像に対して黒い四角形を表示または非表示にします | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | | [`showGraduations`](properties_Scale.md#目盛りを表示) | ラベルの隣に目盛を表示、または非表示にします。 | true, false | | | | | | [`showHeaders`](properties_Headers.md#ヘッダーを表示) | 列のヘッダーを表示/非表示にします。 | true, false | | | | | | [`showHiddenChars`](properties_Appearance.md#非表示文字を表示) | 非表示の文字を表示/非表示にします。 | true, false | | | | | @@ -175,7 +175,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`showPageFrames`](properties_Appearance.md#ページフレームを表示) | ドキュメントビューがページビューモードの場合に、ページフレームを表示/非表示にします。 | true, false | | | | | | [`showReferences`](properties_Appearance.md#参照を表示) | ドキュメントに *参照* として挿入された 4D式をすべて表示します。 | true, false | | | | | | [`showSelection`](properties_Entry.md#選択を常に表示) | オブジェクト中で選択した文字列の反転状態が、フォーカスを失った後も表示されるようになります。 | true, false | | | | | -| [`showTableBorders`](properties_Appearance.md#show-table-borders) | Displays internal and external table borders as dotted lines when these borders are invisible | true, false | | | | | +| [`showTableBorders`](properties_Appearance.md#表組みの境界線を表示) | 境界線が非表示になっている場合には、表組の内部および外部の境界線を点線として表示します | true, false | | | | | | [`showVerticalRuler`](properties_Appearance.md#垂直ルーラーを表示) | ドキュメントビューがページビューモードの場合に、垂直ルーラーを表示/非表示にします。 | true, false | | | | | | [`singleClickEdit`](properties_Entry.md#シングルクリック編集) | 編集モードへの直接移行を可能にします。 | true, false | | | | | | [`sizingX`](properties_ResizingOptions.md#横方向サイズ変更) | ユーザーがフォームの幅をサイズ変更したときの、オブジェクトの挙動を指定します。 | "grow", "move", "fixed" | | | | | @@ -224,7 +224,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`webEngine`](properties_WebArea.md#埋め込みwebレンダリングエンジンを使用) | Webエリアで使用する描画エンジンを 2つのうちから選択します。 | "embedded", "system" | | | | | | [`width`](properties_CoordinatesAndSizing.md#幅) | オブジェクトの横のサイズを指定します。 | 最小値: 0 | | | | | | [`withFormulaBar`](properties_Appearance.md#フォーミュラバーを表示) | 4D View Pro エリアにおいて、ツールバーのすぐ下にフォーミュラバーを表示します。 | true, false | | | | | -| [`wordwrap`](properties_Display.md#ワードラップ) | このオプションは、表示する内容がオブジェクトの幅を超えたときの表示を管理します。 | "automatic" (excluding list box column and footer), "normal", "none" | | | | | +| [`wordwrap`](properties_Display.md#ワードラップ) | このオプションは、表示する内容がオブジェクトの幅を超えたときの表示を管理します。 | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | | | | | | [`writingTools`](properties_Entry.md#writing-tools) | ローカルなAI ベースのライティングツールの利用可/不可を管理します。 | true, false | | | | | | **z** | | | | | | | | [`zoom`](properties_Appearance.md#拡大) | 4D Write Pro エリアのズーム率を設定します。 | 数値 (最小値 = 0) | | | | | From 56ebca88aafdf54b483675172fb0078979cd7195 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:12 +0100 Subject: [PATCH 24/37] properties_textandpicture.md Japanese --- .../version-21-R4/FormObjects/properties_TextAndPicture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_TextAndPicture.md index 2ab2fce5ce7d71..dcfbf8e99ee550 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R4/FormObjects/properties_TextAndPicture.md @@ -37,7 +37,7 @@ title: テキスト、ピクチャー #### 対象オブジェクト -[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) +[ボタン](button_overview.md) - [ラジオボタン](radio_overview.md) - [チェックボックス](checkbox_overview.md) #### コマンド From 883c6821900f782297f82dd98ae3f9bceb27779a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:16 +0100 Subject: [PATCH 25/37] properties_display.md Japanese --- .../version-21-R5/FormObjects/properties_Display.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Display.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Display.md index f2831255d183cd..5de26b41d27ecd 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Display.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Display.md @@ -680,9 +680,9 @@ RB-1762-1 #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| -------- | ------ | --------------------------------------------------------------------------------------- | -| wordwrap | string | "automatic" (excluding list box column and footer), "normal", "none" | +| 名称 | データタイプ | とりうる値 | +| -------- | ------ | ------------------------------------------------------------------- | +| wordwrap | string | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | #### 対象オブジェクト From ce65b4921c07ee661d541652820ae31ebe40aadc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:20 +0100 Subject: [PATCH 26/37] properties_listbox.md Japanese --- .../version-21-R5/FormObjects/properties_ListBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_ListBox.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_ListBox.md index d51755627e73bc..04f53549d86352 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_ListBox.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_ListBox.md @@ -165,7 +165,7 @@ title: リストボックス ## 列数 -Sets the length of the [column collection](#columns) of the list box. +リストボックスの[列のコレクション](#列) の長さを設定します。 > [`LISTBOX INSERT COLUMN`](../commands/listbox-insert-column) あるいは [`LISTBOX DELETE COLUMN`](../commands/listbox-delete-column) などのコマンドを使用することで、カラムをプログラミングによって動的に追加または削除することができます。 From d940f2262ea4206d96131e059193074816d90258 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:24 +0100 Subject: [PATCH 27/37] properties_reference.md Japanese --- .../FormObjects/properties_Reference.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Reference.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Reference.md index 6c966a2bbccc2b..0b175f9459c586 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Reference.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_Reference.md @@ -51,7 +51,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`columns`](properties_ListBox.md#列) | リストボックス列のコレクション | 定義された列プロパティを格納した列オブジェクトのコレクション | | | | | | [`contextMenu`](properties_Entry.md#コンテキストメニュー) | 選択されたエリア内でユーザーに標準のコンテキストメニューを提供します。 | "automatic", "none" | | | | | | [`continuousExecution`](properties_Action.md#オブジェクトメソッド実行) | ユーザーによるコントロールのトラッキング中に、オブジェクトメソッドを実行するかどうかを指定します。 | true, false | | | | | -| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | "automatic" or "checkbox" for numeric columns, "popup" or "checkbox" for boolean columns | | | | | +| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | 数値型のカラムには"automatic" または "checkbox"、ブール型のカラムには"popup" または "checkbox" | | | | | | [`currentItemSource`](properties_DataSource.md#カレントの項目) | リストボックス内で最後に選択された項目 | オブジェクト型の式 | | | | | | [`currentItemPositionSource`](properties_DataSource.md#カレントの項目の位置) | リストボックス内で最後に選択された項目の位置 | 数値型の式 | | | | | | [`customBackgroundPicture`](properties_TextAndPicture.md#背景パス名) | ボタンの背景に描画されるピクチャーを設定します。 | POSIX シンタックスの相対パス。 style プロパティの "custom" オプションと併用する必要があります。 | | | | | @@ -68,7 +68,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`deletableInList`](properties_Subform.md#削除を許可) | リストサブフォーム内でユーザーがサブレコードを削除できるかどうかを指定します。 | true, false | | | | | | [`detailForm`](properties_ListBox.md#詳細フォーム名) (リストボックス)
[`detailForm`](properties_Subform.md#詳細フォーム) (サブフォーム) | 詳細フォームをリストサブフォームに関連づけます。 | テーブルまたはプロジェクトフォームの名前 (文字列), フォームを定義する .json ファイルへの POSIX パス (文字列), またはフォームを定義するオブジェクト | | | | | | [`display`](properties_Display.md#レンダリングしない) | フォーム上にオブジェクトを描画するかどうかを指定します。 | true, false | | | | | -| [`displayFormulaAsSymbol`](properties_Appearance.md#display-formula-source-as-symbol) | Displays source text of formulas as symbols. | true, false | | | | | +| [`displayFormulaAsSymbol`](properties_Appearance.md#フォーミュラのソースを記号として表示) | フォーミュラのソーステキストを記号として表示します。 | true, false | | | | | | [`doubleClickInEmptyAreaAction`](properties_Subform.md#空行をダブルクリック) | リストサブフォームの空行がダブルクリックされた際に実行されるアクションを指定します。 | "addSubrecord", 何もしない場合は "" | | | | | | [`doubleClickInRowAction`](properties_ListBox.md#行をダブルクリック) (リストボックス)
[`doubleClickInRowAction`](properties_Subform.md#行をダブルクリック) (サブフォーム) | レコードをダブルクリックしたときに実行するアクション | "editSubrecord", "displaySubrecord" | | | | | | [`dpi`](properties_Appearance.md#解像度) | 4D Write Pro エリアの画面解像度 | 0 = 自動, 72, 96 | | | | | @@ -172,8 +172,8 @@ title: フォームオブジェクト JSON プロパティリスト | [`shortcutControl`](properties_Entry.md#ショートカット) | ショートカットに Controlキーを使用します (Windows)。 | true, false | | | | | | [`shortcutKey`](properties_Entry.md#ショートカット) | ショートカットに使用する、特別な意味を持つキーの文字あるいは名前 | "a", "b",... あるいは "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | | | | | | [`shortcutShift`](properties_Entry.md#ショートカット) | ショートカットに Shiftキーを使用します。 | true, false | | | | | -| [`showBackground`](properties_Appearance.md#show-background-and-anchored-elements) | Displays or hides background contents. | true, false | | | | | -| [`showEmptyImages`](properties_Appearance.md#show-empty-or-unsupported-images) | Displays/hides a black rectangle for empty images | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | +| [`showBackground`](properties_Appearance.md#背景とアンカーされた要素を表示) | 背景要素を表示または非表示にします。 | true, false | | | | | +| [`showEmptyImages`](properties_Appearance.md#空またはサポートされていない画像を表示) | 空の画像に対して黒い四角形を表示または非表示にします | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | | [`showGraduations`](properties_Scale.md#目盛りを表示) | ラベルの隣に目盛を表示、または非表示にします。 | true, false | | | | | | [`showHeaders`](properties_Headers.md#ヘッダーを表示) | 列のヘッダーを表示/非表示にします。 | true, false | | | | | | [`showHiddenChars`](properties_Appearance.md#非表示文字を表示) | 非表示の文字を表示/非表示にします。 | true, false | | | | | @@ -182,7 +182,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`showPageFrames`](properties_Appearance.md#ページフレームを表示) | ドキュメントビューがページビューモードの場合に、ページフレームを表示/非表示にします。 | true, false | | | | | | [`showReferences`](properties_Appearance.md#参照を表示) | ドキュメントに *参照* として挿入された 4D式をすべて表示します。 | true, false | | | | | | [`showSelection`](properties_Entry.md#選択を常に表示) | オブジェクト中で選択した文字列の反転状態が、フォーカスを失った後も表示されるようになります。 | true, false | | | | | -| [`showTableBorders`](properties_Appearance.md#show-table-borders) | Displays internal and external table borders as dotted lines when these borders are invisible | true, false | | | | | +| [`showTableBorders`](properties_Appearance.md#表組みの境界線を表示) | 境界線が非表示になっている場合には、表組の内部および外部の境界線を点線として表示します | true, false | | | | | | [`showVerticalRuler`](properties_Appearance.md#垂直ルーラーを表示) | ドキュメントビューがページビューモードの場合に、垂直ルーラーを表示/非表示にします。 | true, false | | | | | | [`singleClickEdit`](properties_Entry.md#シングルクリック編集) | 編集モードへの直接移行を可能にします。 | true, false | | | | | | [`sizingX`](properties_ResizingOptions.md#横方向サイズ変更) | ユーザーがフォームの幅をサイズ変更したときの、オブジェクトの挙動を指定します。 | "grow", "move", "fixed" | | | | | @@ -231,7 +231,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`webEngine`](properties_WebArea.md#埋め込みwebレンダリングエンジンを使用) | Webエリアで使用する描画エンジンを 2つのうちから選択します。 | "embedded", "system" | | | | | | [`width`](properties_CoordinatesAndSizing.md#幅) | オブジェクトの横のサイズを指定します。 | 最小値: 0 | | | | | | [`withFormulaBar`](properties_Appearance.md#フォーミュラバーを表示) | 4D View Pro エリアにおいて、ツールバーのすぐ下にフォーミュラバーを表示します。 | true, false | | | | | -| [`wordwrap`](properties_Display.md#ワードラップ) | このオプションは、表示する内容がオブジェクトの幅を超えたときの表示を管理します。 | "automatic" (excluding list box column and footer), "normal", "none" | | | | | +| [`wordwrap`](properties_Display.md#ワードラップ) | このオプションは、表示する内容がオブジェクトの幅を超えたときの表示を管理します。 | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | | | | | | [`writingTools`](properties_Entry.md#writing-tools) | ローカルなAI ベースのライティングツールの利用可/不可を管理します。 | true, false | | | | | | **z** | | | | | | | | [`zoom`](properties_Appearance.md#拡大) | 4D Write Pro エリアのズーム率を設定します。 | 数値 (最小値 = 0) | | | | | From aed1857a87b0c20fc472ba7f9e96d1718aa938fd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:30 +0100 Subject: [PATCH 28/37] properties_textandpicture.md Japanese --- .../version-21-R5/FormObjects/properties_TextAndPicture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_TextAndPicture.md index 2ab2fce5ce7d71..dcfbf8e99ee550 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R5/FormObjects/properties_TextAndPicture.md @@ -37,7 +37,7 @@ title: テキスト、ピクチャー #### 対象オブジェクト -[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) +[ボタン](button_overview.md) - [ラジオボタン](radio_overview.md) - [チェックボックス](checkbox_overview.md) #### コマンド From 2b6249449f34e484552af6db453ef92f2ebdcc05 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:34 +0100 Subject: [PATCH 29/37] properties_display.md Japanese --- .../version-21/FormObjects/properties_Display.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md index e71230ad65500d..d28a92a0e9087b 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md @@ -680,9 +680,9 @@ RB-1762-1 #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| -------- | ------ | --------------------------------------------------------------------------------------- | -| wordwrap | string | "automatic" (excluding list box column and footer), "normal", "none" | +| 名称 | データタイプ | とりうる値 | +| -------- | ------ | ------------------------------------------------------------------- | +| wordwrap | string | "automatic" (リストボックスカラムとフッターを除く)、"normal"、"none" | #### 対象オブジェクト From 9d95edd64548f0791afae6aca9e6590395f9ab77 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:37 +0100 Subject: [PATCH 30/37] properties_listbox.md Japanese --- .../version-21/FormObjects/properties_ListBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md index 2d11c50e6e9df7..d0539378b8d1da 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md @@ -165,7 +165,7 @@ title: リストボックス ## 列数 -Sets the length of the [column collection](#columns) of the list box. +リストボックスの[列のコレクション](#列) の長さを設定します。 > [`LISTBOX INSERT COLUMN`](../commands-legacy/listbox-insert-column.md) あるいは [`LISTBOX DELETE COLUMN`](../commands-legacy/listbox-delete-column.md) などのコマンドを使用することで、カラムをプログラミングによって動的に追加または削除することができます。 From ccdd43d5f39fb5fdb371675c4dcf6ae650cc3e89 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:41 +0100 Subject: [PATCH 31/37] properties_reference.md Japanese --- .../version-21/FormObjects/properties_Reference.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md index 4bcb015afc4870..eff753034131de 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md @@ -48,7 +48,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`columns`](properties_ListBox.md#列) | リストボックス列のコレクション | 定義された列プロパティを格納した列オブジェクトのコレクション | | | | | | [`contextMenu`](properties_Entry.md#コンテキストメニュー) | 選択されたエリア内でユーザーに標準のコンテキストメニューを提供します。 | "automatic", "none" | | | | | | [`continuousExecution`](properties_Action.md#オブジェクトメソッド実行) | ユーザーによるコントロールのトラッキング中に、オブジェクトメソッドを実行するかどうかを指定します。 | true, false | | | | | -| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | "automatic" or "checkbox" for numeric columns, "popup" or "checkbox" for boolean columns | | | | | +| [`controlType`](properties_Display.md#表示タイプ) | リストボックスのセル内で値がどのように表示されるかを指定します。 | 数値型のカラムには"automatic" または "checkbox"、ブール型のカラムには"popup" または "checkbox" | | | | | | [`currentItemSource`](properties_DataSource.md#カレントの項目) | リストボックス内で最後に選択された項目 | オブジェクト型の式 | | | | | | [`currentItemPositionSource`](properties_DataSource.md#カレントの項目の位置) | リストボックス内で最後に選択された項目の位置 | 数値型の式 | | | | | | [`customBackgroundPicture`](properties_TextAndPicture.md#背景パス名) | ボタンの背景に描画されるピクチャーを設定します。 | POSIX シンタックスの相対パス。 style プロパティの "custom" オプションと併用する必要があります。 | | | | | @@ -65,7 +65,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`deletableInList`](properties_Subform.md#削除を許可) | リストサブフォーム内でユーザーがサブレコードを削除できるかどうかを指定します。 | true, false | | | | | | [`detailForm`](properties_ListBox.md#詳細フォーム名) (リストボックス)
[`detailForm`](properties_Subform.md#詳細フォーム) (サブフォーム) | 詳細フォームをリストサブフォームに関連づけます。 | テーブルまたはプロジェクトフォームの名前 (文字列), フォームを定義する .json ファイルへの POSIX パス (文字列), またはフォームを定義するオブジェクト | | | | | | [`display`](properties_Display.md#レンダリングしない) | フォーム上にオブジェクトを描画するかどうかを指定します。 | true, false | | | | | -| [`displayFormulaAsSymbol`](properties_Appearance.md#display-formula-source-as-symbol) | Displays source text of formulas as symbols. | true, false | | | | | +| [`displayFormulaAsSymbol`](properties_Appearance.md#フォーミュラのソースを記号として表示) | フォーミュラのソーステキストを記号として表示します。 | true, false | | | | | | [`doubleClickInEmptyAreaAction`](properties_Subform.md#空行をダブルクリック) | リストサブフォームの空行がダブルクリックされた際に実行されるアクションを指定します。 | "addSubrecord", 何もしない場合は "" | | | | | | [`doubleClickInRowAction`](properties_ListBox.md#行をダブルクリック) (リストボックス)
[`doubleClickInRowAction`](properties_Subform.md#行をダブルクリック) (サブフォーム) | レコードをダブルクリックしたときに実行するアクション | "editSubrecord", "displaySubrecord" | | | | | | [`dpi`](properties_Appearance.md#解像度) | 4D Write Pro エリアの画面解像度 | 0 = 自動, 72, 96 | | | | | @@ -165,8 +165,8 @@ title: フォームオブジェクト JSON プロパティリスト | [`shortcutControl`](properties_Entry.md#ショートカット) | ショートカットに Controlキーを使用します (Windows)。 | true, false | | | | | | [`shortcutKey`](properties_Entry.md#ショートカット) | ショートカットに使用する、特別な意味を持つキーの文字あるいは名前 | "a", "b",... あるいは "[F1]" -> "[F15]", "[Return]", "[Enter]", "[Backspace]", "[Tab]", "[Esc]", "[Del]", "[Home]", "[End]", "[Help]", "[Page up]", "[Page down]", "[left arrow]", "[right arrow]", "[up arrow]", "[down arrow]" | | | | | | [`shortcutShift`](properties_Entry.md#ショートカット) | ショートカットに Shiftキーを使用します。 | true, false | | | | | -| [`showBackground`](properties_Appearance.md#show-background-and-anchored-elements) | Displays or hides background contents. | true, false | | | | | -| [`showEmptyImages`](properties_Appearance.md#show-empty-or-unsupported-images) | Displays/hides a black rectangle for empty images | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | +| [`showBackground`](properties_Appearance.md#背景とアンカーされた要素を表示) | 背景要素を表示または非表示にします。 | true, false | | | | | +| [`showEmptyImages`](properties_Appearance.md#空またはサポートされていない画像を表示) | 空の画像に対して黒い四角形を表示または非表示にします | true, false | | [`showFooters`](properties_Footers.md#フッターを表示) | 列のフッターを表示/非表示にします。 | true, false | | [`showGraduations`](properties_Scale.md#目盛りを表示) | ラベルの隣に目盛を表示、または非表示にします。 | true, false | | | | | | [`showHeaders`](properties_Headers.md#ヘッダーを表示) | 列のヘッダーを表示/非表示にします。 | true, false | | | | | | [`showHiddenChars`](properties_Appearance.md#非表示文字を表示) | 非表示の文字を表示/非表示にします。 | true, false | | | | | @@ -175,7 +175,7 @@ title: フォームオブジェクト JSON プロパティリスト | [`showPageFrames`](properties_Appearance.md#ページフレームを表示) | ドキュメントビューがページビューモードの場合に、ページフレームを表示/非表示にします。 | true, false | | | | | | [`showReferences`](properties_Appearance.md#参照を表示) | ドキュメントに *参照* として挿入された 4D式をすべて表示します。 | true, false | | | | | | [`showSelection`](properties_Entry.md#選択を常に表示) | オブジェクト中で選択した文字列の反転状態が、フォーカスを失った後も表示されるようになります。 | true, false | | | | | -| [`showTableBorders`](properties_Appearance.md#show-table-borders) | Displays internal and external table borders as dotted lines when these borders are invisible | true, false | | | | | +| [`showTableBorders`](properties_Appearance.md#表組みの境界線を表示) | 境界線が非表示になっている場合には、表組の内部および外部の境界線を点線として表示します | true, false | | | | | | [`showVerticalRuler`](properties_Appearance.md#垂直ルーラーを表示) | ドキュメントビューがページビューモードの場合に、垂直ルーラーを表示/非表示にします。 | true, false | | | | | | [`singleClickEdit`](properties_Entry.md#シングルクリック編集) | 編集モードへの直接移行を可能にします。 | true, false | | | | | | [`sizingX`](properties_ResizingOptions.md#横方向サイズ変更) | ユーザーがフォームの幅をサイズ変更したときの、オブジェクトの挙動を指定します。 | "grow", "move", "fixed" | | | | | From a7d45101148c42aebc26fec8859c31907d4e8c55 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:44 +0100 Subject: [PATCH 32/37] properties_textandpicture.md Japanese --- .../version-21/FormObjects/properties_TextAndPicture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md index 48109f1f0f43c0..abf19f1f33fd93 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md @@ -37,7 +37,7 @@ title: テキスト、ピクチャー #### 対象オブジェクト -[Button](button_overview.md) - [Radio Button](radio_overview.md) - [Check Box](checkbox_overview.md) +[ボタン](button_overview.md) - [ラジオボタン](radio_overview.md) - [チェックボックス](checkbox_overview.md) #### コマンド From 0b9a19b1a01d0329a3c7fcb8342b5cfd83865fde Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:46 +0100 Subject: [PATCH 33/37] definition.md Spanish --- .../embedding-studio/Classes/Definition.md | 165 ++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md diff --git a/i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md b/i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md new file mode 100644 index 00000000000000..0c3a6c37dd4a37 --- /dev/null +++ b/i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md @@ -0,0 +1,165 @@ +--- +id: definition +title: Definición +--- + +# Definición + +The `Definition` class describes how a single vector field on a dataclass should be computed: which dataclass, which vector field, which model alias, and which text template ([Phrase](Phrase.md)) to render from each entity. + +A collection of these is what [Settings](Settings.md) persists. + +## Propiedades + +| Nombre de la propiedad | Tipo | Descripción | +| ---------------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `dataclassName` | Text | Name of the target dataclass. | +| `vectorName` | Text | Name of the `4D.Vector` field on that dataclass. | +| `modelAlias` | Text | Embedding model alias (e.g. `"text-embedding-3-small"`). | +| `phrase` | [Phrase](Phrase.md) | Compiled template used to build the text that will be embedded. | +| `autoInvalidate` | Boolean | Controls automatic invalidation on entity save. Default: `True`. | + +## Class constructor + +Create a definition. + +| Nombre del argumento | Tipo | Descripción | +| -------------------- | ---- | -------------------------------------------------------------------------------------------------- | +| *dataclassName* | Text | Name of the target dataclass. | +| *vectorName* | Text | Name of the target vector field. | +| *modelAlias* | Text | Embedding model alias. | +| *phraseTemplate* | Text | Phrase template with `{field}` placeholders — compiled into a [Phrase](Phrase.md). | + +```4d +var $def:=cs.EmbeddingStudio.Definition.new(\ + "Students"; \ + "student_vector_1"; \ + "text-embedding-3-small"; \ + "Student {firstName} {lastName}") +``` + +## Propiedades calculadas + +### hasDefinition + +**hasDefinition** : Boolean *(read-only)* + +Returns `True` if at least a model or a phrase template has been set. A definition without either has no content to process. + +```4d +If ($def.hasDefinition) + // worth validating further +End if +``` + +## Funciones + +### validate() + +**validate**( *settings* : Settings ) : Object + +Validates the definition against the live datastore model and the known embedding models. All errors are collected before returning — the result always describes the full set of problems found. + +| Argumento | Tipo | Descripción | +| ---------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| *settings* | [Settings](Settings.md) \| Null | Used to pass phrase validation options. Pass `Null` to skip phrase options. | +| Resultado | Object | `{success: Boolean, errors: Collection}` where each error is `{field: Text, message: Text}`. | + +Checked in order: + +| Check | `field` value | +| ------------------------------------ | ----------------- | +| `dataclassName` is not empty | `"dataclassName"` | +| `vectorName` is not empty | `"vectorName"` | +| `modelAlias` is set and recognised | `"modelAlias"` | +| Dataclass exists in `ds` | `"dataclassName"` | +| Vector field exists | `"vectorName"` | +| Field type is `4D.Vector` | `"vectorName"` | +| Phrase template is not empty | `"phrase"` | +| Phrase keys resolve in the dataclass | `"phrase"` | + +The first two checks (identity) return immediately on failure; the remaining checks accumulate so all problems are reported in one pass. + +```4d +var $result:=$def.validate(cs.EmbeddingStudio.Settings.new()) + +If (Not($result.success)) + var $err : Object + For each ($err; $result.errors) + TRACE // $err.field, $err.message + End for each +End if +``` + +### invalidateVectors() + +**invalidateVectors**() : Object + +Marks all already-computed entities for re-embedding, forcing a full rebuild on the next run. Only entities that already have a vector value are processed — entities with a `Null` vector are skipped. + +Useful during development or after a model/phrase change to trigger a clean rebuild of all vectors. + +The strategy depends on whether a companion `_dirty` field exists on the dataclass: + +| Companion `_dirty` field | Action taken | +| ------------------------ | -------------------------------------------------------------- | +| Present | Sets `_dirty` to `True` — vector is left untouched | +| Absent | Nullifies the vector field | + +| Argumento | Tipo | Descripción | +| --------- | ------ | ------------------------------------------------------------------ | +| Resultado | Object | `{updated: Integer, skipped: Integer, errors: Collection of Text}` | + +- `updated` — number of entities successfully marked +- `skipped` — number of entities that could not be saved +- `errors` — one entry per save failure, formatted as `"DataclassName: statusText"` + +```4d +var $result:=$def.invalidateVectors() + +If ($result.skipped > 0) + var $e : Text + For each ($e; $result.errors) + // $e + End for each +End if +// → { updated: 42; skipped: 0; errors: [] } +``` + +### toObject() + +**toObject**() : Object + +Returns a plain object suitable for JSON persistence. The phrase is flattened to its template text. + +| Argumento | Tipo | Descripción | +| --------- | ------ | --------------------------------------------------------------------------------------------------------------------------------- | +| Resultado | Object | `{version, dataclassName, vectorName, modelAlias, phrase, autoInvalidate}` where `phrase` is the template string. | + +```4d +$def.toObject() +// → { version: 0; dataclassName: "Students"; vectorName: "student_vector_1"; +// modelAlias: "text-embedding-3-small"; phrase: "Student {firstName} {lastName}"; +// autoInvalidate: true } +``` + +## Automatic invalidation + +`autoInvalidate` controls whether save-time automatic invalidation is enabled for this definition. + +- `True` (default): when relevant attributes change on an entity save, vectors are automatically invalidated. +- `False`: save-time automatic invalidation is skipped for this definition. + +This setting does not affect manual invalidation via `invalidateVectors()`. + +## Dirty flag convention + +The pipeline in [Process](Process.md) will recompute an entity whenever the target vector is `Null`, or when a sibling field `_dirty` exists on the dataclass and is `True`. + +Declaring the dirty flag is optional — when absent, only the null-vector case triggers recomputation. When present, it is cleared automatically on successful save. + +## Ver también + +- [Settings](Settings.md) +- [Process](Process.md) +- [Phrase](Phrase.md) From cbda26821fe6700ca3fb782d27bf25ad2f8d2ce4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:49 +0100 Subject: [PATCH 34/37] definition.md Japanese --- .../embedding-studio/Classes/Definition.md | 165 ++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md b/i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md new file mode 100644 index 00000000000000..6b29b5b7376cff --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Definition.md @@ -0,0 +1,165 @@ +--- +id: definition +title: 定義 +--- + +# 定義 + +The `Definition` class describes how a single vector field on a dataclass should be computed: which dataclass, which vector field, which model alias, and which text template ([Phrase](Phrase.md)) to render from each entity. + +A collection of these is what [Settings](Settings.md) persists. + +## プロパティ + +| プロパティ名 | 型 | 説明 | +| ---------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `dataclassName` | Text | Name of the target dataclass. | +| `vectorName` | Text | Name of the `4D.Vector` field on that dataclass. | +| `modelAlias` | Text | Embedding model alias (e.g. `"text-embedding-3-small"`). | +| `phrase` | [Phrase](Phrase.md) | Compiled template used to build the text that will be embedded. | +| `autoInvalidate` | Boolean | Controls automatic invalidation on entity save. Default: `True`. | + +## Class constructor + +Create a definition. + +| 引数名 | 型 | 説明 | +| ---------------- | ---- | -------------------------------------------------------------------------------------------------- | +| *dataclassName* | Text | Name of the target dataclass. | +| *vectorName* | Text | Name of the target vector field. | +| *modelAlias* | Text | Embedding model alias. | +| *phraseTemplate* | Text | Phrase template with `{field}` placeholders — compiled into a [Phrase](Phrase.md). | + +```4d +var $def:=cs.EmbeddingStudio.Definition.new(\ + "Students"; \ + "student_vector_1"; \ + "text-embedding-3-small"; \ + "Student {firstName} {lastName}") +``` + +## 計算プロパティ + +### hasDefinition + +**hasDefinition** : Boolean *(read-only)* + +Returns `True` if at least a model or a phrase template has been set. A definition without either has no content to process. + +```4d +If ($def.hasDefinition) + // worth validating further +End if +``` + +## 関数 + +### validate() + +**validate**( *settings* : Settings ) : Object + +Validates the definition against the live datastore model and the known embedding models. All errors are collected before returning — the result always describes the full set of problems found. + +| 引数 | 型 | 説明 | +| ---- | ------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| *設定* | [Settings](Settings.md) \| Null | Used to pass phrase validation options. Pass `Null` to skip phrase options. | +| 戻り値 | Object | `{success: Boolean, errors: Collection}` where each error is `{field: Text, message: Text}`. | + +Checked in order: + +| Check | `field` value | +| ------------------------------------ | ----------------- | +| `dataclassName` is not empty | `"dataclassName"` | +| `vectorName` is not empty | `"vectorName"` | +| `modelAlias` is set and recognised | `"modelAlias"` | +| Dataclass exists in `ds` | `"dataclassName"` | +| Vector field exists | `"vectorName"` | +| Field type is `4D.Vector` | `"vectorName"` | +| Phrase template is not empty | `"phrase"` | +| Phrase keys resolve in the dataclass | `"phrase"` | + +The first two checks (identity) return immediately on failure; the remaining checks accumulate so all problems are reported in one pass. + +```4d +var $result:=$def.validate(cs.EmbeddingStudio.Settings.new()) + +If (Not($result.success)) + var $err : Object + For each ($err; $result.errors) + TRACE // $err.field, $err.message + End for each +End if +``` + +### invalidateVectors() + +**invalidateVectors**() : Object + +Marks all already-computed entities for re-embedding, forcing a full rebuild on the next run. Only entities that already have a vector value are processed — entities with a `Null` vector are skipped. + +Useful during development or after a model/phrase change to trigger a clean rebuild of all vectors. + +The strategy depends on whether a companion `_dirty` field exists on the dataclass: + +| Companion `_dirty` field | Action taken | +| ------------------------ | -------------------------------------------------------------- | +| Present | Sets `_dirty` to `True` — vector is left untouched | +| Absent | Nullifies the vector field | + +| 引数 | 型 | 説明 | +| --- | ------ | ------------------------------------------------------------------ | +| 戻り値 | Object | `{updated: Integer, skipped: Integer, errors: Collection of Text}` | + +- `updated` — number of entities successfully marked +- `skipped` — number of entities that could not be saved +- `errors` — one entry per save failure, formatted as `"DataclassName: statusText"` + +```4d +var $result:=$def.invalidateVectors() + +If ($result.skipped > 0) + var $e : Text + For each ($e; $result.errors) + // $e + End for each +End if +// → { updated: 42; skipped: 0; errors: [] } +``` + +### toObject() + +**toObject**() : Object + +Returns a plain object suitable for JSON persistence. The phrase is flattened to its template text. + +| 引数 | 型 | 説明 | +| --- | ------ | --------------------------------------------------------------------------------------------------------------------------------- | +| 戻り値 | Object | `{version, dataclassName, vectorName, modelAlias, phrase, autoInvalidate}` where `phrase` is the template string. | + +```4d +$def.toObject() +// → { version: 0; dataclassName: "Students"; vectorName: "student_vector_1"; +// modelAlias: "text-embedding-3-small"; phrase: "Student {firstName} {lastName}"; +// autoInvalidate: true } +``` + +## Automatic invalidation + +`autoInvalidate` controls whether save-time automatic invalidation is enabled for this definition. + +- `True` (default): when relevant attributes change on an entity save, vectors are automatically invalidated. +- `False`: save-time automatic invalidation is skipped for this definition. + +This setting does not affect manual invalidation via `invalidateVectors()`. + +## Dirty flag convention + +The pipeline in [Process](Process.md) will recompute an entity whenever the target vector is `Null`, or when a sibling field `_dirty` exists on the dataclass and is `True`. + +Declaring the dirty flag is optional — when absent, only the null-vector case triggers recomputation. When present, it is cleared automatically on successful save. + +## 参照 + +- [Settings](Settings.md) +- [Process](Process.md) +- [Phrase](Phrase.md) From 2c7710a868f88f3f1d08cee272abdc017044126f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:51 +0100 Subject: [PATCH 35/37] scheduler.md French --- .../embedding-studio/Classes/Scheduler.md | 369 ++++++++++++++++++ 1 file changed, 369 insertions(+) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md b/i18n/fr/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md new file mode 100644 index 00000000000000..152989726fb6b5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md @@ -0,0 +1,369 @@ +--- +id: scheduler +title: Périodicité +--- + +# Périodicité + +The `Scheduler` class is the public entry point for the **automated embedding recalculation** service. It maintains a background task that runs the embedding pipeline (see [Process](Process.md)) at a configured interval or a fixed daily time, guarantees that **at most one** recalculation batch runs at a time, and exposes runtime status for administration and monitoring interfaces. + +It is a **singleton**, accessed through `cs.EmbeddingStudio.Scheduler.me`. + +The scheduler runs two named workers: + +| Worker | Rôle | +| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `EmbeddingStudioScheduler` | Background loop that re-reads the config each cycle, computes the next run and fires when due. | +| `EmbeddingStudio` | Execution worker that runs one recalculation batch (shared with the Studio UI, so scheduled and manual runs are serialized). | + +## Configuration + +The configuration lives under the `scheduler` key of `Settings/embeddings.json`: + +```json +{ + "scheduler": { + "mode": "interval", + "intervalHours": 3, + "startFrom": "reference", + "startReference": "2026-09-02T14:00:00", + "dailyTime": "00:00" + } +} +``` + +| Touche | Type | Values / range | Description | +| ---------------- | ------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | Text | `"never"` \| `"interval"` \| `"daily"` | Scheduling mode. Absent/unknown ⇒ `never` (no automatic run). | +| `intervalHours` | Integer | `1`..`24` | Interval mode only. Out-of-range ⇒ default `3`. | +| `startFrom` | Text | `"reference"` \| `"lastExecution"` | Interval mode only. Anchor of the interval (see below). Anything other than `"lastExecution"` — including the legacy `"now"` — is normalized to `reference`. Default `reference`. | +| `startReference` | Text | `"YYYY-MM-DDThh:mm:ss"` | Interval mode with `startFrom = "reference"`. Fixed instant the interval counts from. Absent ⇒ the moment the scheduler was armed, then the current instant. | +| `dailyTime` | Text | `"HH:MM"` | Daily mode only. Time of day for the recalculation. Default `"00:00"`. | + +**Interval anchoring (`startFrom`)** + +- `reference` — **fixed rate**: the interval is anchored on the fixed `startReference` instant, so the slots do not drift whatever a run's duration is. Slots are advanced by `intervalHours` until the first one strictly after now. When `startReference` is absent (a fresh or legacy config), the anchor falls back to the moment the scheduler was armed (`start()`), then to the current instant. +- `lastExecution` — **fixed delay**: the interval is anchored on the last completed recalculation. If the elapsed time since the last run already exceeds the interval (e.g. after a restart), the run is triggered immediately. If there is no prior run, it runs immediately. + +The effective configuration is read from the file on **every loop cycle**, so changes take effect without restarting the scheduler. + +## Starting the scheduler + +Configuring a `mode` is **not enough**: nothing runs until the scheduler is started. There are two ways to get there, and which one applies depends on a single option of your host database. + +### 1. Automatic — let the host database start it + +In the host database, open **Settings > Security** and check **"Execute 'On Host Database Event' method of the components"** (it is *unchecked* by default, for security reasons). + +With this option on, 4D Embedding Studio starts the scheduler by itself when the host database opens, and stops it when the host database closes. There is nothing else to write. + +Use [`autoStart()`](#autostart) to check whether the option is on: + +```4d +If (Not(cs.EmbeddingStudio.Scheduler.me.autoStart())) + // the option is off — I must start the scheduler myself + cs.EmbeddingStudio.Scheduler.me.start() +End if +``` + +### 2. Manual — start it from your own code + +If you prefer to leave the option off, the scheduler never starts on its own. Call [`start()`](#start) from wherever it suits you — typically the host `On Startup` or `On Server Startup` database method — and [`stop()`](#stop) when the database closes (`On Exit` / `On Server Shutdown`): + +```4d +// Host "On Server Startup" +cs.EmbeddingStudio.Scheduler.me.start() + +// Host "On Server Shutdown" +cs.EmbeddingStudio.Scheduler.me.stop() +``` + +> In client/server, arm the scheduler from `On Server Startup`, not from `On Startup`: +> `On Startup` runs on every remote client, and the scheduler state is per machine — each +> client would arm its own loop and run its own batches. If you do call [`start()`](#start) +> from `On Startup` (single-user setups), guard it with +> `If (Application type#4D Remote mode)`. + +`start()` is idempotent, so calling it from several places is harmless. + +### Checking that it really runs + +[`isStarted()`](#isstarted) tells you whether the background loop is alive right now — the answer to "is my schedule actually being watched?": + +```4d +var $s:=cs.EmbeddingStudio.Scheduler.me.status() +If ($s.enabled && Not($s.started)) + ALERT("A schedule is configured but the scheduler is not started.") +End if +``` + +## Fonctions + +### start() + +**start**() : Boolean + +Arms the scheduler and starts the background loop worker if it is not already running. Idempotent — calling it again while already armed simply refreshes the "start from now" anchor. + +| Résultat | Type | Description | +| -------- | ------- | ------------------------------ | +| Résultat | Boolean | Always `True`. | + +```4d +cs.EmbeddingStudio.Scheduler.me.start() +``` + +### stop() + +**stop**() + +Disarms the scheduler and stops the background loop worker. A recalculation batch already in progress is **not** interrupted — it finishes normally (use [`cancel()`](#cancel) to request an early stop). + +```4d +cs.EmbeddingStudio.Scheduler.me.stop() +``` + +### annuler() + +**cancel**() + +Requests a **cooperative** cancel of the batch currently running. The running batch is never force-killed; it stops gracefully between two chunks. Has no effect if no batch is running. + +```4d +cs.EmbeddingStudio.Scheduler.me.cancel() +``` + +### force() + +**force**() : Object + +Forces a recalculation **now**, regardless of the schedule. It honors the single-batch rule: if a batch is already running, the forced trigger is skipped (and logged). Non-blocking — the run happens on the execution worker. + +| Résultat | Type | Description | +| -------- | ------ | ----------------------------------------------------- | +| Résultat | Object | The current [status](#status) object. | + +```4d +var $status:=cs.EmbeddingStudio.Scheduler.me.force() +``` + +### status() + +**status**() : Object + +Returns the current scheduler status, without any input parameter — suitable for administration and monitoring displays. + +| Résultat | Type | Description | +| -------- | ------ | ---------------------------------------------------- | +| Résultat | Object | See [Status object](#status-object). | + +```4d +var $s:=cs.EmbeddingStudio.Scheduler.me.status() +If ($s.running) + ALERT("A recalculation is running since "+$s.batchStart) +End if +``` + +#### Objet statut + +| Touche | Type | Description | +| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | Boolean | `False` when `mode = "never"`. | +| `mode` | Text | Effective mode (`never` \| `interval` \| `daily`). | +| `armed` | Boolean | `True` when the background loop is armed (after `start()`, until `stop()`). | +| `running` | Boolean | `True` while a recalculation batch is in progress. | +| `batchStart` | Text \| Null | ISO timestamp of the running batch start (`Null` when idle). | +| `lastExecution` | Text \| Null | ISO timestamp of the last completed run (`Null` if none yet). Restored from the persisted history after a restart, so it survives the loss of in-memory state. | +| `lastRunBeforeRestart` | Boolean | `True` when `lastExecution` was recovered from the history after a restart rather than produced by a run in the current session. | +| `nextRun` | Text \| Null | ISO timestamp of the next scheduled run (`Null` in `never` mode). | +| `lastResult` | Text \| Null | Result of the last trigger: `started` \| `skipped` \| `completed` \| `failed`. | +| `error` | Text \| Null | Error summary when the last run failed (safe for admin display), else `Null`. | +| `started` | Boolean | `True` when the background loop is really alive (see [`isStarted()`](#isstarted)). | +| `autoStart` | Boolean | `True` when the host database starts the scheduler by itself (see [`autoStart()`](#autostart)). | + +### isStarted() + +**isStarted**() : Boolean + +Tells whether the scheduler is **effectively running**, i.e. whether its background loop is alive at this very moment. Unlike the `armed` flag of the [status](#status-object), it reflects reality: if the loop was never started, or was killed, the result is `False`. + +| Résultat | Type | Description | +| -------- | ------- | --------------------------------------------------------- | +| Résultat | Boolean | `True` when the background loop is alive. | + +```4d +If (Not(cs.EmbeddingStudio.Scheduler.me.isStarted())) + cs.EmbeddingStudio.Scheduler.me.start() +End if +``` + +### autoStart() + +**autoStart**() : Boolean + +Tells whether the host database authorizes 4D Embedding Studio to start itself, i.e. whether the **"Execute 'On Host Database Event' method of the components"** option is checked in the host **Settings > Security** (see [Starting the scheduler](#starting-the-scheduler)). + +- `True` — the scheduler starts with the host database and stops with it. You have nothing to call. +- `False` — nothing starts automatically: your code must call [`start()`](#start) and [`stop()`](#stop). + +The answer is read from the host structure settings. When they cannot be read, the result is `False` — the safe answer, since starting an already-started scheduler is harmless. + +| Résultat | Type | Description | +| -------- | ------- | -------------------------------------------------------------------- | +| Résultat | Boolean | `True` when the host starts the scheduler by itself. | + +```4d +var $auto:=cs.EmbeddingStudio.Scheduler.me.autoStart() +``` + +### config() + +**config**() : Object + +Returns the effective scheduler configuration with defaults applied (as resolved from `embeddings.json`). + +| Résultat | Type | Description | +| -------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------- | +| Résultat | Object | `{mode; intervalHours; startFrom; startReference; dailyTime}` (see [Configuration](#configuration)). | + +```4d +var $cfg:=cs.EmbeddingStudio.Scheduler.me.config() +``` + +### saveConfig() + +**saveConfig**( *cfg* : Object ) : Object + +Validates, normalizes and **persists** a scheduler configuration to the `scheduler` key of `embeddings.json`, then returns the normalized value. This is the programmatic equivalent of the scheduler settings window: it lets you change the schedule entirely by code, without the GUI. Only the `scheduler` key is written — other keys of the settings file are preserved. + +The configuration is written **on the server**: in a 4D Server / 4D remote setup the file is always edited on the server machine, so a remote client can safely call this method. Because the loop re-reads the configuration on every cycle, the new schedule takes effect without restarting the scheduler. + +| Paramètres | Type | Description | +| ---------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| cfg | Object | Raw configuration `{mode; intervalHours; startFrom; startReference; dailyTime}` (see [Configuration](#configuration)). Missing/out-of-range values are defaulted. | + +| Résultat | Type | Description | +| -------- | ------ | ---------------------------------------------------------------- | +| Résultat | Object | The normalized configuration that was persisted. | + +```4d +// Switch to a 6-hour interval counting from the last execution +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "interval"; intervalHours: 6; startFrom: "lastExecution"}) + +// Switch to a daily run at 02:30 +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "daily"; dailyTime: "02:30"}) + +// Disable the automatic schedule +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "never"}) +``` + +### nextRun() + +**nextRun**() : Object + +Computes the next scheduled run from the current configuration and state. + +| Résultat | Type | Description | +| -------- | -------------- | --------------------------------------------------------------------------------------------------------------- | +| Résultat | Object \| Null | `{date : Date; time : Time; timestamp : Text; immediate : Boolean}`, or `Null` in `never` mode. | + +```4d +var $next:=cs.EmbeddingStudio.Scheduler.me.nextRun() +``` + +### reload() + +**reload**() : Object + +No-op convenience: the configuration is re-read automatically on each loop cycle, so this simply returns the current [status](#status). Provided for callers that want an explicit "config changed, give me the up-to-date status" call. + +| Résultat | Type | Description | +| -------- | ------ | ----------------------------------------------------- | +| Résultat | Object | The current [status](#status) object. | + +## Concurrency & logging + +- **Single batch** — at any time, at most one recalculation batch runs. A trigger (scheduled or forced) fired while a batch is running is **skipped**, not queued. +- **Skip traceability** — skipped triggers are logged with their timestamp in the execution history (`Logs/embeddingHistory.json`). +- **Cooperative cancel** — `cancel()` stops a running batch gracefully between chunks; it is never force-killed. +- **History** — each run records start/end timestamps, status, token usage and the computed next run date in `Logs/embeddingHistory.json` (see [ProcessResult](ProcessResult.md) for per-run details). + +### Execution history file + +`Logs/embeddingHistory.json` is written by the pipeline itself (every full `process()` run, scheduled or manual), guarded by a semaphore so concurrent processes never interleave writes. It holds the **current** run at the top level, the one before it under `previous`, and the same pair per definition under `definitions`. + +```json +{ + "startTime": "2026-09-01T14:03:00", + "endTime": "2026-09-01T14:03:00", + "status": "completed", + "trigger": "completed", + "error": null, + "nextComputeDate": "2026-09-02T14:03:00", + "promptTokens": 0, + "totalTokens": 0, + "cumulativePromptTokens": 37802, + "cumulativeTotalTokens": 37802, + "previous": { "startTime": "…", "endTime": "…", "status": "completed", "error": null, + "nextComputeDate": "…", "promptTokens": 12764, "totalTokens": 12764, + "cumulativePromptTokens": 37802, "cumulativeTotalTokens": 37802 }, + "skipped": ["2026-09-01T12:00:00"], + "definitions": { + "Students.student_vector_1": { + "startTime": "…", "endTime": "…", "status": "completed", "error": null, + "promptTokens": 1054, "totalTokens": 1054, + "cumulativePromptTokens": 4210, "cumulativeTotalTokens": 4210, + "previous": { "…": "…" } + } + } +} +``` + +| Touche | Type | Description | +| -------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `startTime` / `endTime` | Text \| Null | ISO timestamps of the run, in the scheduler's local base. `endTime` is `null` while a run is in progress. | +| `status` | Text | `running` \| `completed` \| `failed`. | +| `trigger` | Text | Last event that touched the file: `started` \| `skipped` \| `completed` \| `failed`. | +| `error` | Text \| Null | Summary of the run's errors, or `null`. Never contains an API key. | +| `nextComputeDate` | Text \| Null | Next scheduled run computed at the end of the run (the `nextComputeDate` option of [Process](Process.md)). | +| `promptTokens` / `totalTokens` | Integer | Usage for this run alone. | +| `cumulativePromptTokens` / `cumulativeTotalTokens` | Integer | Running totals across all recorded runs. | +| `previous` | Object | Snapshot of the preceding run — the same keys, without `trigger`, `skipped` and `definitions`. Only one generation is kept. | +| `skipped` | Collection | ISO timestamps of triggers skipped because a batch was already running. Capped at the **last 50**. | +| `definitions` | Object | One entry per definition, keyed `"."`, each with its own `startTime`, `endTime`, `status` (`completed` \| `failed` \| `skipped`), `error`, token counters and `previous`. | + +[`status()`](#status) reads `startTime`, `endTime`, `status`, `trigger`, `error` and `nextComputeDate` back from this file, which is how `lastExecution` survives a server restart. + +## Lifecycle + +| Host setting | What happens | What you must do | +| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| **"Execute 'On Host Database Event' method of the components"** checked | The scheduler starts when the host database opens and stops when it closes. | Nothing. | +| Option unchecked (default) | The scheduler never starts by itself. | Call [`start()`](#start) at startup and [`stop()`](#stop) at shutdown. | + +Ask [`autoStart()`](#autostart) which case you are in, and [`isStarted()`](#isstarted) whether the loop is currently alive. Stopping the scheduler never interrupts a batch in progress — it finishes normally. + +## Exemple + +```4d +// --- Start at server startup, unless the host does it for us --- +If (Not(cs.EmbeddingStudio.Scheduler.me.autoStart())) + cs.EmbeddingStudio.Scheduler.me.start() +End if + +// --- Admin panel: force a recalculation and read status --- +var $status:=cs.EmbeddingStudio.Scheduler.me.force() + +// --- Monitoring: display last / next run and current state --- +$status:=cs.EmbeddingStudio.Scheduler.me.status() +var $info:="Mode: "+$status.mode\ + +" — Last: "+String($status.lastExecution)\ + +" — Next: "+String($status.nextRun)\ + +" — "+($status.running ? "running" : String($status.lastResult)) + +// --- Cancel a long-running batch --- +cs.EmbeddingStudio.Scheduler.me.cancel() + +// --- Disable automatic runs --- +cs.EmbeddingStudio.Scheduler.me.stop() +``` From 62bf198273d072bb8c75a15452feb7287455fec8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:55 +0100 Subject: [PATCH 36/37] scheduler.md Spanish --- .../embedding-studio/Classes/Scheduler.md | 369 ++++++++++++++++++ 1 file changed, 369 insertions(+) create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md diff --git a/i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md b/i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md new file mode 100644 index 00000000000000..d76f5fce408e54 --- /dev/null +++ b/i18n/es/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md @@ -0,0 +1,369 @@ +--- +id: scheduler +title: Backups periódicos +--- + +# Backups periódicos + +The `Scheduler` class is the public entry point for the **automated embedding recalculation** service. It maintains a background task that runs the embedding pipeline (see [Process](Process.md)) at a configured interval or a fixed daily time, guarantees that **at most one** recalculation batch runs at a time, and exposes runtime status for administration and monitoring interfaces. + +It is a **singleton**, accessed through `cs.EmbeddingStudio.Scheduler.me`. + +The scheduler runs two named workers: + +| Worker | Rol | +| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `EmbeddingStudioScheduler` | Background loop that re-reads the config each cycle, computes the next run and fires when due. | +| `EmbeddingStudio` | Execution worker that runs one recalculation batch (shared with the Studio UI, so scheduled and manual runs are serialized). | + +## Configuración + +The configuration lives under the `scheduler` key of `Settings/embeddings.json`: + +```json +{ + "scheduler": { + "mode": "interval", + "intervalHours": 3, + "startFrom": "reference", + "startReference": "2026-09-02T14:00:00", + "dailyTime": "00:00" + } +} +``` + +| Llave | Tipo | Values / range | Descripción | +| ---------------- | ------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | Text | `"never"` \| `"interval"` \| `"daily"` | Scheduling mode. Absent/unknown ⇒ `never` (no automatic run). | +| `intervalHours` | Integer | `1`..`24` | Interval mode only. Out-of-range ⇒ default `3`. | +| `startFrom` | Text | `"reference"` \| `"lastExecution"` | Interval mode only. Anchor of the interval (see below). Anything other than `"lastExecution"` — including the legacy `"now"` — is normalized to `reference`. Default `reference`. | +| `startReference` | Text | `"YYYY-MM-DDThh:mm:ss"` | Interval mode with `startFrom = "reference"`. Fixed instant the interval counts from. Absent ⇒ the moment the scheduler was armed, then the current instant. | +| `dailyTime` | Text | `"HH:MM"` | Daily mode only. Time of day for the recalculation. Default `"00:00"`. | + +**Interval anchoring (`startFrom`)** + +- `reference` — **fixed rate**: the interval is anchored on the fixed `startReference` instant, so the slots do not drift whatever a run's duration is. Slots are advanced by `intervalHours` until the first one strictly after now. When `startReference` is absent (a fresh or legacy config), the anchor falls back to the moment the scheduler was armed (`start()`), then to the current instant. +- `lastExecution` — **fixed delay**: the interval is anchored on the last completed recalculation. If the elapsed time since the last run already exceeds the interval (e.g. after a restart), the run is triggered immediately. If there is no prior run, it runs immediately. + +The effective configuration is read from the file on **every loop cycle**, so changes take effect without restarting the scheduler. + +## Starting the scheduler + +Configuring a `mode` is **not enough**: nothing runs until the scheduler is started. There are two ways to get there, and which one applies depends on a single option of your host database. + +### 1. Automatic — let the host database start it + +In the host database, open **Settings > Security** and check **"Execute 'On Host Database Event' method of the components"** (it is *unchecked* by default, for security reasons). + +With this option on, 4D Embedding Studio starts the scheduler by itself when the host database opens, and stops it when the host database closes. There is nothing else to write. + +Use [`autoStart()`](#autostart) to check whether the option is on: + +```4d +If (Not(cs.EmbeddingStudio.Scheduler.me.autoStart())) + // the option is off — I must start the scheduler myself + cs.EmbeddingStudio.Scheduler.me.start() +End if +``` + +### 2. Manual — start it from your own code + +If you prefer to leave the option off, the scheduler never starts on its own. Call [`start()`](#start) from wherever it suits you — typically the host `On Startup` or `On Server Startup` database method — and [`stop()`](#stop) when the database closes (`On Exit` / `On Server Shutdown`): + +```4d +// Host "On Server Startup" +cs.EmbeddingStudio.Scheduler.me.start() + +// Host "On Server Shutdown" +cs.EmbeddingStudio.Scheduler.me.stop() +``` + +> In client/server, arm the scheduler from `On Server Startup`, not from `On Startup`: +> `On Startup` runs on every remote client, and the scheduler state is per machine — each +> client would arm its own loop and run its own batches. If you do call [`start()`](#start) +> from `On Startup` (single-user setups), guard it with +> `If (Application type#4D Remote mode)`. + +`start()` is idempotent, so calling it from several places is harmless. + +### Checking that it really runs + +[`isStarted()`](#isstarted) tells you whether the background loop is alive right now — the answer to "is my schedule actually being watched?": + +```4d +var $s:=cs.EmbeddingStudio.Scheduler.me.status() +If ($s.enabled && Not($s.started)) + ALERT("A schedule is configured but the scheduler is not started.") +End if +``` + +## Funciones + +### start() + +**start**() : Boolean + +Arms the scheduler and starts the background loop worker if it is not already running. Idempotent — calling it again while already armed simply refreshes the "start from now" anchor. + +| Resultado | Tipo | Descripción | +| --------- | ------- | ------------------------------ | +| resultado | Boolean | Always `True`. | + +```4d +cs.EmbeddingStudio.Scheduler.me.start() +``` + +### stop() + +**stop**() + +Disarms the scheduler and stops the background loop worker. A recalculation batch already in progress is **not** interrupted — it finishes normally (use [`cancel()`](#cancel) to request an early stop). + +```4d +cs.EmbeddingStudio.Scheduler.me.stop() +``` + +### cancelado() + +**cancel**() + +Requests a **cooperative** cancel of the batch currently running. The running batch is never force-killed; it stops gracefully between two chunks. Has no effect if no batch is running. + +```4d +cs.EmbeddingStudio.Scheduler.me.cancel() +``` + +### force() + +**force**() : Object + +Forces a recalculation **now**, regardless of the schedule. It honors the single-batch rule: if a batch is already running, the forced trigger is skipped (and logged). Non-blocking — the run happens on the execution worker. + +| Resultado | Tipo | Descripción | +| --------- | ------ | ----------------------------------------------------- | +| resultado | Object | The current [status](#status) object. | + +```4d +var $status:=cs.EmbeddingStudio.Scheduler.me.force() +``` + +### status() + +**status**() : Object + +Returns the current scheduler status, without any input parameter — suitable for administration and monitoring displays. + +| Resultado | Tipo | Descripción | +| --------- | ------ | ---------------------------------------------------- | +| resultado | Object | See [Status object](#status-object). | + +```4d +var $s:=cs.EmbeddingStudio.Scheduler.me.status() +If ($s.running) + ALERT("A recalculation is running since "+$s.batchStart) +End if +``` + +#### Objeto estado + +| Llave | Tipo | Descripción | +| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | Boolean | `False` when `mode = "never"`. | +| `mode` | Text | Effective mode (`never` \| `interval` \| `daily`). | +| `armed` | Boolean | `True` when the background loop is armed (after `start()`, until `stop()`). | +| `running` | Boolean | `True` while a recalculation batch is in progress. | +| `batchStart` | Text \| Null | ISO timestamp of the running batch start (`Null` when idle). | +| `lastExecution` | Text \| Null | ISO timestamp of the last completed run (`Null` if none yet). Restored from the persisted history after a restart, so it survives the loss of in-memory state. | +| `lastRunBeforeRestart` | Boolean | `True` when `lastExecution` was recovered from the history after a restart rather than produced by a run in the current session. | +| `nextRun` | Text \| Null | ISO timestamp of the next scheduled run (`Null` in `never` mode). | +| `lastResult` | Text \| Null | Result of the last trigger: `started` \| `skipped` \| `completed` \| `failed`. | +| `error` | Text \| Null | Error summary when the last run failed (safe for admin display), else `Null`. | +| `started` | Boolean | `True` when the background loop is really alive (see [`isStarted()`](#isstarted)). | +| `autoStart` | Boolean | `True` when the host database starts the scheduler by itself (see [`autoStart()`](#autostart)). | + +### isStarted() + +**isStarted**() : Boolean + +Tells whether the scheduler is **effectively running**, i.e. whether its background loop is alive at this very moment. Unlike the `armed` flag of the [status](#status-object), it reflects reality: if the loop was never started, or was killed, the result is `False`. + +| Resultado | Tipo | Descripción | +| --------- | ------- | --------------------------------------------------------- | +| resultado | Boolean | `True` when the background loop is alive. | + +```4d +If (Not(cs.EmbeddingStudio.Scheduler.me.isStarted())) + cs.EmbeddingStudio.Scheduler.me.start() +End if +``` + +### autoStart() + +**autoStart**() : Boolean + +Tells whether the host database authorizes 4D Embedding Studio to start itself, i.e. whether the **"Execute 'On Host Database Event' method of the components"** option is checked in the host **Settings > Security** (see [Starting the scheduler](#starting-the-scheduler)). + +- `True` — the scheduler starts with the host database and stops with it. You have nothing to call. +- `False` — nothing starts automatically: your code must call [`start()`](#start) and [`stop()`](#stop). + +The answer is read from the host structure settings. When they cannot be read, the result is `False` — the safe answer, since starting an already-started scheduler is harmless. + +| Resultado | Tipo | Descripción | +| --------- | ------- | -------------------------------------------------------------------- | +| resultado | Boolean | `True` when the host starts the scheduler by itself. | + +```4d +var $auto:=cs.EmbeddingStudio.Scheduler.me.autoStart() +``` + +### config() + +**config**() : Object + +Returns the effective scheduler configuration with defaults applied (as resolved from `embeddings.json`). + +| Resultado | Tipo | Descripción | +| --------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------- | +| resultado | Object | `{mode; intervalHours; startFrom; startReference; dailyTime}` (see [Configuration](#configuration)). | + +```4d +var $cfg:=cs.EmbeddingStudio.Scheduler.me.config() +``` + +### saveConfig() + +**saveConfig**( *cfg* : Object ) : Object + +Validates, normalizes and **persists** a scheduler configuration to the `scheduler` key of `embeddings.json`, then returns the normalized value. This is the programmatic equivalent of the scheduler settings window: it lets you change the schedule entirely by code, without the GUI. Only the `scheduler` key is written — other keys of the settings file are preserved. + +The configuration is written **on the server**: in a 4D Server / 4D remote setup the file is always edited on the server machine, so a remote client can safely call this method. Because the loop re-reads the configuration on every cycle, the new schedule takes effect without restarting the scheduler. + +| Parámetros | Tipo | Descripción | +| ---------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| cfg | Object | Raw configuration `{mode; intervalHours; startFrom; startReference; dailyTime}` (see [Configuration](#configuration)). Missing/out-of-range values are defaulted. | + +| Resultado | Tipo | Descripción | +| --------- | ------ | ---------------------------------------------------------------- | +| resultado | Object | The normalized configuration that was persisted. | + +```4d +// Switch to a 6-hour interval counting from the last execution +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "interval"; intervalHours: 6; startFrom: "lastExecution"}) + +// Switch to a daily run at 02:30 +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "daily"; dailyTime: "02:30"}) + +// Disable the automatic schedule +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "never"}) +``` + +### nextRun() + +**nextRun**() : Object + +Computes the next scheduled run from the current configuration and state. + +| Resultado | Tipo | Descripción | +| --------- | -------------- | --------------------------------------------------------------------------------------------------------------- | +| resultado | Object \| Null | `{date : Date; time : Time; timestamp : Text; immediate : Boolean}`, or `Null` in `never` mode. | + +```4d +var $next:=cs.EmbeddingStudio.Scheduler.me.nextRun() +``` + +### reload() + +**reload**() : Object + +No-op convenience: the configuration is re-read automatically on each loop cycle, so this simply returns the current [status](#status). Provided for callers that want an explicit "config changed, give me the up-to-date status" call. + +| Resultado | Tipo | Descripción | +| --------- | ------ | ----------------------------------------------------- | +| resultado | Object | The current [status](#status) object. | + +## Concurrency & logging + +- **Single batch** — at any time, at most one recalculation batch runs. A trigger (scheduled or forced) fired while a batch is running is **skipped**, not queued. +- **Skip traceability** — skipped triggers are logged with their timestamp in the execution history (`Logs/embeddingHistory.json`). +- **Cooperative cancel** — `cancel()` stops a running batch gracefully between chunks; it is never force-killed. +- **History** — each run records start/end timestamps, status, token usage and the computed next run date in `Logs/embeddingHistory.json` (see [ProcessResult](ProcessResult.md) for per-run details). + +### Execution history file + +`Logs/embeddingHistory.json` is written by the pipeline itself (every full `process()` run, scheduled or manual), guarded by a semaphore so concurrent processes never interleave writes. It holds the **current** run at the top level, the one before it under `previous`, and the same pair per definition under `definitions`. + +```json +{ + "startTime": "2026-09-01T14:03:00", + "endTime": "2026-09-01T14:03:00", + "status": "completed", + "trigger": "completed", + "error": null, + "nextComputeDate": "2026-09-02T14:03:00", + "promptTokens": 0, + "totalTokens": 0, + "cumulativePromptTokens": 37802, + "cumulativeTotalTokens": 37802, + "previous": { "startTime": "…", "endTime": "…", "status": "completed", "error": null, + "nextComputeDate": "…", "promptTokens": 12764, "totalTokens": 12764, + "cumulativePromptTokens": 37802, "cumulativeTotalTokens": 37802 }, + "skipped": ["2026-09-01T12:00:00"], + "definitions": { + "Students.student_vector_1": { + "startTime": "…", "endTime": "…", "status": "completed", "error": null, + "promptTokens": 1054, "totalTokens": 1054, + "cumulativePromptTokens": 4210, "cumulativeTotalTokens": 4210, + "previous": { "…": "…" } + } + } +} +``` + +| Llave | Tipo | Descripción | +| -------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `startTime` / `endTime` | Text \| Null | ISO timestamps of the run, in the scheduler's local base. `endTime` is `null` while a run is in progress. | +| `status` | Text | `running` \| `completed` \| `failed`. | +| `trigger` | Text | Last event that touched the file: `started` \| `skipped` \| `completed` \| `failed`. | +| `error` | Text \| Null | Summary of the run's errors, or `null`. Never contains an API key. | +| `nextComputeDate` | Text \| Null | Next scheduled run computed at the end of the run (the `nextComputeDate` option of [Process](Process.md)). | +| `promptTokens` / `totalTokens` | Integer | Usage for this run alone. | +| `cumulativePromptTokens` / `cumulativeTotalTokens` | Integer | Running totals across all recorded runs. | +| `previous` | Object | Snapshot of the preceding run — the same keys, without `trigger`, `skipped` and `definitions`. Only one generation is kept. | +| `skipped` | Collection | ISO timestamps of triggers skipped because a batch was already running. Capped at the **last 50**. | +| `definitions` | Object | One entry per definition, keyed `"."`, each with its own `startTime`, `endTime`, `status` (`completed` \| `failed` \| `skipped`), `error`, token counters and `previous`. | + +[`status()`](#status) reads `startTime`, `endTime`, `status`, `trigger`, `error` and `nextComputeDate` back from this file, which is how `lastExecution` survives a server restart. + +## Lifecycle + +| Host setting | What happens | What you must do | +| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| **"Execute 'On Host Database Event' method of the components"** checked | The scheduler starts when the host database opens and stops when it closes. | Nothing. | +| Option unchecked (default) | The scheduler never starts by itself. | Call [`start()`](#start) at startup and [`stop()`](#stop) at shutdown. | + +Ask [`autoStart()`](#autostart) which case you are in, and [`isStarted()`](#isstarted) whether the loop is currently alive. Stopping the scheduler never interrupts a batch in progress — it finishes normally. + +## Ejemplo + +```4d +// --- Start at server startup, unless the host does it for us --- +If (Not(cs.EmbeddingStudio.Scheduler.me.autoStart())) + cs.EmbeddingStudio.Scheduler.me.start() +End if + +// --- Admin panel: force a recalculation and read status --- +var $status:=cs.EmbeddingStudio.Scheduler.me.force() + +// --- Monitoring: display last / next run and current state --- +$status:=cs.EmbeddingStudio.Scheduler.me.status() +var $info:="Mode: "+$status.mode\ + +" — Last: "+String($status.lastExecution)\ + +" — Next: "+String($status.nextRun)\ + +" — "+($status.running ? "running" : String($status.lastResult)) + +// --- Cancel a long-running batch --- +cs.EmbeddingStudio.Scheduler.me.cancel() + +// --- Disable automatic runs --- +cs.EmbeddingStudio.Scheduler.me.stop() +``` From 50e1629af845b4a14f24ad1dcb8f1d801ac5a5e5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 6 Nov 2026 14:05:58 +0100 Subject: [PATCH 37/37] scheduler.md Japanese --- .../embedding-studio/Classes/Scheduler.md | 369 ++++++++++++++++++ 1 file changed, 369 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md b/i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md new file mode 100644 index 00000000000000..8b61a1089b1b15 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/embedding-studio/Classes/Scheduler.md @@ -0,0 +1,369 @@ +--- +id: scheduler +title: スケジューラー +--- + +# スケジューラー + +The `Scheduler` class is the public entry point for the **automated embedding recalculation** service. It maintains a background task that runs the embedding pipeline (see [Process](Process.md)) at a configured interval or a fixed daily time, guarantees that **at most one** recalculation batch runs at a time, and exposes runtime status for administration and monitoring interfaces. + +It is a **singleton**, accessed through `cs.EmbeddingStudio.Scheduler.me`. + +The scheduler runs two named workers: + +| Worker | ロール | +| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `EmbeddingStudioScheduler` | Background loop that re-reads the config each cycle, computes the next run and fires when due. | +| `EmbeddingStudio` | Execution worker that runs one recalculation batch (shared with the Studio UI, so scheduled and manual runs are serialized). | + +## 設定 + +The configuration lives under the `scheduler` key of `Settings/embeddings.json`: + +```json +{ + "scheduler": { + "mode": "interval", + "intervalHours": 3, + "startFrom": "reference", + "startReference": "2026-09-02T14:00:00", + "dailyTime": "00:00" + } +} +``` + +| キー | 型 | Values / range | 説明 | +| ---------------- | ------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | Text | `"never"` \| `"interval"` \| `"daily"` | Scheduling mode. Absent/unknown ⇒ `never` (no automatic run). | +| `intervalHours` | Integer | `1`..`24` | Interval mode only. Out-of-range ⇒ default `3`. | +| `startFrom` | Text | `"reference"` \| `"lastExecution"` | Interval mode only. Anchor of the interval (see below). Anything other than `"lastExecution"` — including the legacy `"now"` — is normalized to `reference`. Default `reference`. | +| `startReference` | Text | `"YYYY-MM-DDThh:mm:ss"` | Interval mode with `startFrom = "reference"`. Fixed instant the interval counts from. Absent ⇒ the moment the scheduler was armed, then the current instant. | +| `dailyTime` | Text | `"HH:MM"` | Daily mode only. Time of day for the recalculation. Default `"00:00"`. | + +**Interval anchoring (`startFrom`)** + +- `reference` — **fixed rate**: the interval is anchored on the fixed `startReference` instant, so the slots do not drift whatever a run's duration is. Slots are advanced by `intervalHours` until the first one strictly after now. When `startReference` is absent (a fresh or legacy config), the anchor falls back to the moment the scheduler was armed (`start()`), then to the current instant. +- `lastExecution` — **fixed delay**: the interval is anchored on the last completed recalculation. If the elapsed time since the last run already exceeds the interval (e.g. after a restart), the run is triggered immediately. If there is no prior run, it runs immediately. + +The effective configuration is read from the file on **every loop cycle**, so changes take effect without restarting the scheduler. + +## Starting the scheduler + +Configuring a `mode` is **not enough**: nothing runs until the scheduler is started. There are two ways to get there, and which one applies depends on a single option of your host database. + +### 1. Automatic — let the host database start it + +In the host database, open **Settings > Security** and check **"Execute 'On Host Database Event' method of the components"** (it is *unchecked* by default, for security reasons). + +With this option on, 4D Embedding Studio starts the scheduler by itself when the host database opens, and stops it when the host database closes. There is nothing else to write. + +Use [`autoStart()`](#autostart) to check whether the option is on: + +```4d +If (Not(cs.EmbeddingStudio.Scheduler.me.autoStart())) + // the option is off — I must start the scheduler myself + cs.EmbeddingStudio.Scheduler.me.start() +End if +``` + +### 2. Manual — start it from your own code + +If you prefer to leave the option off, the scheduler never starts on its own. Call [`start()`](#start) from wherever it suits you — typically the host `On Startup` or `On Server Startup` database method — and [`stop()`](#stop) when the database closes (`On Exit` / `On Server Shutdown`): + +```4d +// Host "On Server Startup" +cs.EmbeddingStudio.Scheduler.me.start() + +// Host "On Server Shutdown" +cs.EmbeddingStudio.Scheduler.me.stop() +``` + +> In client/server, arm the scheduler from `On Server Startup`, not from `On Startup`: +> `On Startup` runs on every remote client, and the scheduler state is per machine — each +> client would arm its own loop and run its own batches. If you do call [`start()`](#start) +> from `On Startup` (single-user setups), guard it with +> `If (Application type#4D Remote mode)`. + +`start()` is idempotent, so calling it from several places is harmless. + +### Checking that it really runs + +[`isStarted()`](#isstarted) tells you whether the background loop is alive right now — the answer to "is my schedule actually being watched?": + +```4d +var $s:=cs.EmbeddingStudio.Scheduler.me.status() +If ($s.enabled && Not($s.started)) + ALERT("A schedule is configured but the scheduler is not started.") +End if +``` + +## 関数 + +### start() + +**start**() : Boolean + +Arms the scheduler and starts the background loop worker if it is not already running. Idempotent — calling it again while already armed simply refreshes the "start from now" anchor. + +| 戻り値 | 型 | 説明 | +| --- | ------- | ------------------------------ | +| 戻り値 | Boolean | Always `True`. | + +```4d +cs.EmbeddingStudio.Scheduler.me.start() +``` + +### stop() + +**stop**() + +Disarms the scheduler and stops the background loop worker. A recalculation batch already in progress is **not** interrupted — it finishes normally (use [`cancel()`](#cancel) to request an early stop). + +```4d +cs.EmbeddingStudio.Scheduler.me.stop() +``` + +### キャンセル() + +**cancel**() + +Requests a **cooperative** cancel of the batch currently running. The running batch is never force-killed; it stops gracefully between two chunks. Has no effect if no batch is running. + +```4d +cs.EmbeddingStudio.Scheduler.me.cancel() +``` + +### force() + +**force**() : Object + +Forces a recalculation **now**, regardless of the schedule. It honors the single-batch rule: if a batch is already running, the forced trigger is skipped (and logged). Non-blocking — the run happens on the execution worker. + +| 戻り値 | 型 | 説明 | +| --- | ------ | ----------------------------------------------------- | +| 戻り値 | Object | The current [status](#status) object. | + +```4d +var $status:=cs.EmbeddingStudio.Scheduler.me.force() +``` + +### status() + +**status**() : Object + +Returns the current scheduler status, without any input parameter — suitable for administration and monitoring displays. + +| 戻り値 | 型 | 説明 | +| --- | ------ | ---------------------------------------------------- | +| 戻り値 | Object | See [Status object](#status-object). | + +```4d +var $s:=cs.EmbeddingStudio.Scheduler.me.status() +If ($s.running) + ALERT("A recalculation is running since "+$s.batchStart) +End if +``` + +#### ステータスオブジェクト + +| キー | 型 | 説明 | +| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | Boolean | `False` when `mode = "never"`. | +| `mode` | Text | Effective mode (`never` \| `interval` \| `daily`). | +| `armed` | Boolean | `True` when the background loop is armed (after `start()`, until `stop()`). | +| `running` | Boolean | `True` while a recalculation batch is in progress. | +| `batchStart` | Text \| Null | ISO timestamp of the running batch start (`Null` when idle). | +| `lastExecution` | Text \| Null | ISO timestamp of the last completed run (`Null` if none yet). Restored from the persisted history after a restart, so it survives the loss of in-memory state. | +| `lastRunBeforeRestart` | Boolean | `True` when `lastExecution` was recovered from the history after a restart rather than produced by a run in the current session. | +| `nextRun` | Text \| Null | ISO timestamp of the next scheduled run (`Null` in `never` mode). | +| `lastResult` | Text \| Null | Result of the last trigger: `started` \| `skipped` \| `completed` \| `failed`. | +| `エラー発生` | Text \| Null | Error summary when the last run failed (safe for admin display), else `Null`. | +| `started` | Boolean | `True` when the background loop is really alive (see [`isStarted()`](#isstarted)). | +| `autoStart` | Boolean | `True` when the host database starts the scheduler by itself (see [`autoStart()`](#autostart)). | + +### isStarted() + +**isStarted**() : Boolean + +Tells whether the scheduler is **effectively running**, i.e. whether its background loop is alive at this very moment. Unlike the `armed` flag of the [status](#status-object), it reflects reality: if the loop was never started, or was killed, the result is `False`. + +| 戻り値 | 型 | 説明 | +| --- | ------- | --------------------------------------------------------- | +| 戻り値 | Boolean | `True` when the background loop is alive. | + +```4d +If (Not(cs.EmbeddingStudio.Scheduler.me.isStarted())) + cs.EmbeddingStudio.Scheduler.me.start() +End if +``` + +### autoStart() + +**autoStart**() : Boolean + +Tells whether the host database authorizes 4D Embedding Studio to start itself, i.e. whether the **"Execute 'On Host Database Event' method of the components"** option is checked in the host **Settings > Security** (see [Starting the scheduler](#starting-the-scheduler)). + +- `True` — the scheduler starts with the host database and stops with it. You have nothing to call. +- `False` — nothing starts automatically: your code must call [`start()`](#start) and [`stop()`](#stop). + +The answer is read from the host structure settings. When they cannot be read, the result is `False` — the safe answer, since starting an already-started scheduler is harmless. + +| 戻り値 | 型 | 説明 | +| --- | ------- | -------------------------------------------------------------------- | +| 戻り値 | Boolean | `True` when the host starts the scheduler by itself. | + +```4d +var $auto:=cs.EmbeddingStudio.Scheduler.me.autoStart() +``` + +### config() + +**config**() : Object + +Returns the effective scheduler configuration with defaults applied (as resolved from `embeddings.json`). + +| 戻り値 | 型 | 説明 | +| --- | ------ | --------------------------------------------------------------------------------------------------------------------------------------- | +| 戻り値 | Object | `{mode; intervalHours; startFrom; startReference; dailyTime}` (see [Configuration](#configuration)). | + +```4d +var $cfg:=cs.EmbeddingStudio.Scheduler.me.config() +``` + +### saveConfig() + +**saveConfig**( *cfg* : Object ) : Object + +Validates, normalizes and **persists** a scheduler configuration to the `scheduler` key of `embeddings.json`, then returns the normalized value. This is the programmatic equivalent of the scheduler settings window: it lets you change the schedule entirely by code, without the GUI. Only the `scheduler` key is written — other keys of the settings file are preserved. + +The configuration is written **on the server**: in a 4D Server / 4D remote setup the file is always edited on the server machine, so a remote client can safely call this method. Because the loop re-reads the configuration on every cycle, the new schedule takes effect without restarting the scheduler. + +| 引数 | 型 | 説明 | +| --- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| cfg | Object | Raw configuration `{mode; intervalHours; startFrom; startReference; dailyTime}` (see [Configuration](#configuration)). Missing/out-of-range values are defaulted. | + +| 戻り値 | 型 | 説明 | +| --- | ------ | ---------------------------------------------------------------- | +| 戻り値 | Object | The normalized configuration that was persisted. | + +```4d +// Switch to a 6-hour interval counting from the last execution +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "interval"; intervalHours: 6; startFrom: "lastExecution"}) + +// Switch to a daily run at 02:30 +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "daily"; dailyTime: "02:30"}) + +// Disable the automatic schedule +cs.EmbeddingStudio.Scheduler.me.saveConfig({mode: "never"}) +``` + +### nextRun() + +**nextRun**() : Object + +Computes the next scheduled run from the current configuration and state. + +| 戻り値 | 型 | 説明 | +| --- | -------------- | --------------------------------------------------------------------------------------------------------------- | +| 戻り値 | Object \| Null | `{date : Date; time : Time; timestamp : Text; immediate : Boolean}`, or `Null` in `never` mode. | + +```4d +var $next:=cs.EmbeddingStudio.Scheduler.me.nextRun() +``` + +### reload() + +**reload**() : Object + +No-op convenience: the configuration is re-read automatically on each loop cycle, so this simply returns the current [status](#status). Provided for callers that want an explicit "config changed, give me the up-to-date status" call. + +| 戻り値 | 型 | 説明 | +| --- | ------ | ----------------------------------------------------- | +| 戻り値 | Object | The current [status](#status) object. | + +## Concurrency & logging + +- **Single batch** — at any time, at most one recalculation batch runs. A trigger (scheduled or forced) fired while a batch is running is **skipped**, not queued. +- **Skip traceability** — skipped triggers are logged with their timestamp in the execution history (`Logs/embeddingHistory.json`). +- **Cooperative cancel** — `cancel()` stops a running batch gracefully between chunks; it is never force-killed. +- **History** — each run records start/end timestamps, status, token usage and the computed next run date in `Logs/embeddingHistory.json` (see [ProcessResult](ProcessResult.md) for per-run details). + +### Execution history file + +`Logs/embeddingHistory.json` is written by the pipeline itself (every full `process()` run, scheduled or manual), guarded by a semaphore so concurrent processes never interleave writes. It holds the **current** run at the top level, the one before it under `previous`, and the same pair per definition under `definitions`. + +```json +{ + "startTime": "2026-09-01T14:03:00", + "endTime": "2026-09-01T14:03:00", + "status": "completed", + "trigger": "completed", + "error": null, + "nextComputeDate": "2026-09-02T14:03:00", + "promptTokens": 0, + "totalTokens": 0, + "cumulativePromptTokens": 37802, + "cumulativeTotalTokens": 37802, + "previous": { "startTime": "…", "endTime": "…", "status": "completed", "error": null, + "nextComputeDate": "…", "promptTokens": 12764, "totalTokens": 12764, + "cumulativePromptTokens": 37802, "cumulativeTotalTokens": 37802 }, + "skipped": ["2026-09-01T12:00:00"], + "definitions": { + "Students.student_vector_1": { + "startTime": "…", "endTime": "…", "status": "completed", "error": null, + "promptTokens": 1054, "totalTokens": 1054, + "cumulativePromptTokens": 4210, "cumulativeTotalTokens": 4210, + "previous": { "…": "…" } + } + } +} +``` + +| キー | 型 | 説明 | +| -------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `startTime` / `endTime` | Text \| Null | ISO timestamps of the run, in the scheduler's local base. `endTime` is `null` while a run is in progress. | +| `status` | Text | `running` \| `completed` \| `failed`. | +| `trigger` | Text | Last event that touched the file: `started` \| `skipped` \| `completed` \| `failed`. | +| `エラー発生` | Text \| Null | Summary of the run's errors, or `null`. Never contains an API key. | +| `nextComputeDate` | Text \| Null | Next scheduled run computed at the end of the run (the `nextComputeDate` option of [Process](Process.md)). | +| `promptTokens` / `totalTokens` | Integer | Usage for this run alone. | +| `cumulativePromptTokens` / `cumulativeTotalTokens` | Integer | Running totals across all recorded runs. | +| `previous` | Object | Snapshot of the preceding run — the same keys, without `trigger`, `skipped` and `definitions`. Only one generation is kept. | +| `skipped` | Collection | ISO timestamps of triggers skipped because a batch was already running. Capped at the **last 50**. | +| `definitions` | Object | One entry per definition, keyed `"."`, each with its own `startTime`, `endTime`, `status` (`completed` \| `failed` \| `skipped`), `error`, token counters and `previous`. | + +[`status()`](#status) reads `startTime`, `endTime`, `status`, `trigger`, `error` and `nextComputeDate` back from this file, which is how `lastExecution` survives a server restart. + +## Lifecycle + +| Host setting | What happens | What you must do | +| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| **"Execute 'On Host Database Event' method of the components"** checked | The scheduler starts when the host database opens and stops when it closes. | Nothing. | +| Option unchecked (default) | The scheduler never starts by itself. | Call [`start()`](#start) at startup and [`stop()`](#stop) at shutdown. | + +Ask [`autoStart()`](#autostart) which case you are in, and [`isStarted()`](#isstarted) whether the loop is currently alive. Stopping the scheduler never interrupts a batch in progress — it finishes normally. + +## 例題 + +```4d +// --- Start at server startup, unless the host does it for us --- +If (Not(cs.EmbeddingStudio.Scheduler.me.autoStart())) + cs.EmbeddingStudio.Scheduler.me.start() +End if + +// --- Admin panel: force a recalculation and read status --- +var $status:=cs.EmbeddingStudio.Scheduler.me.force() + +// --- Monitoring: display last / next run and current state --- +$status:=cs.EmbeddingStudio.Scheduler.me.status() +var $info:="Mode: "+$status.mode\ + +" — Last: "+String($status.lastExecution)\ + +" — Next: "+String($status.nextRun)\ + +" — "+($status.running ? "running" : String($status.lastResult)) + +// --- Cancel a long-running batch --- +cs.EmbeddingStudio.Scheduler.me.cancel() + +// --- Disable automatic runs --- +cs.EmbeddingStudio.Scheduler.me.stop() +```