>]
+```
+
+## 参照
+
+[defer](../commands/defer)
+
+## プロパティ
+
+| | |
+| --- | --- |
+| コマンド番号 | 1861 |
+| スレッドセーフである | yes |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Record Locking/locked-records-info.md b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Record Locking/locked-records-info.md
index 58bdfb0061bbec..10aec11c113ca2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Record Locking/locked-records-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Record Locking/locked-records-info.md
@@ -84,7 +84,25 @@ displayed_sidebar: docs
コードが4D Server上で実行され、リモートのクライアントマシンによってロックされている場合、以下の様なオブジェクトが$vOlocked 内に返されます:
```json
-{ "records": [ { "contextID": "B0EC087DC2FA704496C0EA15DC011D1C", "contextAttributes": { "task_id": 2, "user_name": "achim", "user4d_id": 1, "host_name": "achim-pcwin", "task_name": "P_RandomLock", "is_remote_context": true, "client_uid": "0696E66F6CD731468E6XXX581A87554A", "client_version": -268364752 }, "recordNumber": 1 } ]}
+{
+ "records": [
+ {
+ "contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
+ "contextAttributes": {
+ "task_id": 2,
+ "user_name": "achim",
+ "user4d_id": 1,
+ "host_name": "achim-pcwin",
+ "task_name": "P_RandomLock",
+ "is_remote_context": true,
+ "client_uid": "0696E66F6CD731468E6XXX581A87554A",
+ "client_version": -268364752
+ },
+ "recordNumber": 1
+ }
+ ]
+}
+
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md
index 1783f8d8a71f79..7fdf4debb261ce 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md
@@ -78,10 +78,11 @@ displayed_sidebar: docs
"MyArea" というマルチスタイルエリア内に以下の様なテキストが入っている場合:
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
このテキストは以下の様に表示されます:

diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md
index 646d3de02f90a7..1a14026f3fc9f4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md
@@ -65,8 +65,9 @@ displayed_sidebar: docs
以下のテキストドキュメントが与えられている場合を考えます(フィールドはtabによって分けられています)。
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
以下のコードを実行すると、
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md
index 21d7db6fee1d95..b6dfe0a9b7e756 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md
@@ -68,8 +68,18 @@ displayed_sidebar: docs
以下のXML 構造がある場合を考えます:
-```RAW
- Harry Potter 29.99 Learning XML 39.95
+```xml
+
+
+
+ Harry Potter
+ 29.99
+
+
+ Learning XML
+ 39.95
+
+
```
以下のコードを実行すると、XML 要素を素早く検索し、その値を表示させることができます:
@@ -95,10 +105,18 @@ displayed_sidebar: docs
以下のXML構造があるとき:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
以下のコード使用して、それぞれのElem2 要素の参照をarrAfound 配列に取得することができます:
```4d
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md
index 5eb0c365e18fca..7973024cb0186d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/DataStoreClass.md
@@ -120,11 +120,11 @@ $foreignStudents:=Open datastore($connectTo;"foreign")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|connectionInfo|Object|->|Connection properties used to reach the remote datastore|
-|localID |Text|->|Id to assign to the opened datastore on the local application (mandatory)|
-|Result |4D.DataStoreImplementation|<-|Datastore object|
+|connectionInfo|Object|->|リモートデータストアへの接続に使用する接続プロパティ|
+|localID |Text|->|ローカルアプリケーション内で、開かれたデータストアに対して割り当てる ID (必須)|
+|戻り値|4D.DataStoreImplementation|<-|Datastore object|
@@ -334,9 +334,9 @@ ALERT("They are "+String($foreignStudents.Students.all().length)+" foreign stude
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Object|<-|Information about the encryption of the current datastore and of each table|
+|戻り値|Object|<-|Information about the encryption of the current datastore and of each table|
@@ -408,9 +408,9 @@ ALERT("They are "+String($foreignStudents.Students.all().length)+" foreign stude
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-||||Does not require any parameters|
+||||引数を必要としません|
@@ -490,9 +490,9 @@ ds.unlock() // コピー操作をおこなったので、データストアの
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|Result|Collection|<-|Collection of optimization context objects|
+|戻り値|Collection|<-|Collection of optimization context objects|
@@ -569,9 +569,9 @@ $info:=$ds.getAllRemoteContexts()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Object|<-|Datastore properties|
+|戻り値|Object|<-|Datastore properties|
@@ -640,10 +640,10 @@ $info:=$remoteDS.getInfo()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|contextName|Text|->|Name of the context|
-|Result|Object|<-|Description of the optimization context|
+|contextName|Text|->|コンテキストの名前|
+|戻り値|Object|<-|Description of the optimization context|
@@ -734,9 +734,9 @@ ORDAリクエストログのフォーマットの詳細は、[**ORDAクライア
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Boolean|<-|True if the Data Explorer access is disabled, False if it is enabled (default)|
+|戻り値|Boolean|<-|True if the Data Explorer access is disabled, False if it is enabled (default)|
@@ -770,9 +770,9 @@ ORDAリクエストログのフォーマットの詳細は、[**ORDAクライア
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|Result|Boolean|<-|True if locked|
+|戻り値|Boolean|<-|True if locked|
@@ -847,11 +847,11 @@ ORDAリクエストログのフォーマットの詳細は、[**ORDAクライア
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|curPassPhrase |Text|->|Current encryption passphrase|
-|curDataKey |Object|->|Current data encryption key|
-|Result|Object|<-|Result of the encryption key matching|
+|curPassPhrase |Text|->|カレントの暗号化パスフレーズ|
+|curDataKey |Object|->|カレントのデータ暗号化キー|
+|戻り値|Object|<-|Result of the encryption key matching|
@@ -924,9 +924,9 @@ ORDAリクエストログのフォーマットの詳細は、[**ORDAクライア
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|status|Boolean|->|True to disable Data Explorer access to data on the `webAdmin` port, False (default) to grant access|
+|status|Boolean|->|`webAdmin` ポート上で、データエクスプローラーによるデータアクセスを無効にするには true、アクセスを有効にするには false (デフォルト)|
@@ -969,15 +969,15 @@ ORDAリクエストログのフォーマットの詳細は、[**ORDAクライア
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|contextName|Text|->|Name of the context|
-|dataClassName|Text|->|Name of the dataclass|
-|dataClassObject|4D.DataClass|->|dataclass object (e.g datastore.Employee)|
-|attributes|Text|->|Attribute list separated by a comma|
-|attributesColl|Collection|->|Collection of attribute names (text)|
-|contextType|Text|->|If provided, value must be "main" or "currentItem"|
-|pageLength|Integer|->|Page length of the entity selection linked to the context (default is 80)|
+|contextName|Text|->|コンテキストの名称|
+|dataClassName|Text|->|データクラスの名称|
+|dataClassObject|4D.DataClass|->|DataClass オブジェクト (例: datastore.Employee)|
+|attributes|Text|->|カンマ区切りの属性リスト|
+|attributesColl|Collection|->|属性名 (テキスト) のコレクション|
+|contextType|Text|->|渡す場合、値は "main" または "currentItem" のいずれか|
+|pageLength|Integer|->|コンテキストにリンクされたエンティティセレクションのページ長 (デフォルトは 80)|
@@ -1103,11 +1103,11 @@ Form.currentItemLearntAttributes:=Form.selectedPerson.getRemoteContextAttributes
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|file |4D.File|->|File object |
-|options |Integer|->|Log response option (server only)|
-|reqNum |Integer|->|Number of requests to keep in memory (client only)|
+|file |4D.File|->|File オブジェクト|
+|options |Integer|->|ログレスポンスオプション (サーバーのみ)|
+|reqNum |Integer|->|メモリ内に保管するリクエストの数 (クライアントのみ)|
@@ -1218,9 +1218,9 @@ SET DATABASE PARAMETER(4D Server Log Recording;0)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|:---:|---|
-||||Does not require any parameters|
+||||引数を必要としません|
@@ -1286,9 +1286,9 @@ End if
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-||||Does not require any parameters|
+||||引数を必要としません|
@@ -1324,9 +1324,9 @@ ORDAリクエストログがマシン上で開始されていない場合、こ
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-||||Does not require any parameters|
+||||引数を必要としません|
@@ -1364,9 +1364,9 @@ ORDAリクエストログがマシン上で開始されていない場合、こ
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-||||Does not require any parameters|
+||||引数を必要としません|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Directory.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Directory.md
index eea6ebadfc7b5a..b07068bb3e2f90 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Directory.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Directory.md
@@ -401,12 +401,12 @@ Windows 上においては、`.isPackage` は常に **false** を返します。
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|destinationFolder |4D.Folder |->|Destination folder|
-|newName|Text|->|Name for the copy|
-|overwrite|Integer|->|`fk overwrite` to replace existing elements|
-|Result|4D.Folder|<-|Copied file or folder|
+|destinationFolder |4D.Folder |->|コピー先フォルダ|
+|newName|Text|->|コピーの新しい名前|
+|overwrite|Integer|->|既存の要素を上書きするためには `fk overwrite`|
+|戻り値|4D.Folder|<-|Copied file or folder|
@@ -458,10 +458,10 @@ $copiedImages:=$userImages.copyTo(Folder(fk database folder);fk overwrite)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|path|Text|->|Relative POSIX file pathname|
-|Result|4D.File|<-|`File` object (null if invalid path)|
+|path|Text|->|相対 POSIX ファイルパス名|
+|戻り値|4D.File|<-|`File` object (null if invalid path)|
@@ -502,10 +502,10 @@ $myPDF:=Folder(fk documents folder).file("Pictures/info.pdf")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|options|Integer|->|File list options|
-|Result|Collection|<-|Collection of children file objects|
+|options|Integer|->|ファイルリスト用のオプション|
+|戻り値|Collection|<-|Collection of children file objects|
@@ -567,10 +567,10 @@ $myPDF:=Folder(fk documents folder).file("Pictures/info.pdf")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|path|Text|->|Relative POSIX file pathname|
-|Result|4D.Folder|<-|Created folder object (null if invalid *path*)|
+|path|Text|->|相対 POSIX ファイルパス名|
+|戻り値|4D.Folder|<-|Created folder object (null if invalid *path*)|
@@ -611,10 +611,10 @@ $myPDF:=Folder(fk documents folder).file("Pictures/info.pdf")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|options|Integer|->|Folder list options|
-|Result|Collection|<-|Collection of children folder objects|
+|options|Integer|->|フォルダリスト用のオプション|
+|戻り値|Collection|<-|Collection of children folder objects|
@@ -662,10 +662,10 @@ $myPDF:=Folder(fk documents folder).file("Pictures/info.pdf")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|size|Integer|->|Side length for the returned picture (pixels)|
-|Result|Picture|<-|Icon|
+|size|Integer|->|返されるピクチャーの一辺の長さ(ピクセル単位)|
+|戻り値|Picture|<-|Icon|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Document.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Document.md
index 4a9bb1f3283150..3c9d91b31b9cef 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Document.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Document.md
@@ -397,12 +397,12 @@ title: Document クラス
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|destinationFolder | 4D.Folder |->|Destination folder|
-|newName|Text|->|Name for the copy|
-|overwrite|Integer|->|`fk overwrite` to replace existing elements|
-|Result|4D.File|<-|Copied file|
+|destinationFolder | 4D.Folder |->|コピー先フォルダ|
+|newName|Text|->|コピーの新しい名前|
+|overwrite|Integer|->|既存の要素を上書きするためには `fk overwrite`|
+|戻り値|4D.File|<-|Copied file|
@@ -453,9 +453,9 @@ $copy:=$source.copyTo(Folder("/PACKAGE");fk overwrite)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|Result | 4D.Blob |<-|File content|
+|戻り値| 4D.Blob |<-|File content|
@@ -497,10 +497,10 @@ $copy:=$source.copyTo(Folder("/PACKAGE");fk overwrite)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|size|Integer|->|Side length for the returned picture (pixels)|
-|Result|Picture|<-|Icon|
+|size|Integer|->|返されるピクチャーの一辺の長さ(ピクセル単位)|
+|戻り値|Picture|<-|Icon|
@@ -534,12 +534,12 @@ $copy:=$source.copyTo(Folder("/PACKAGE");fk overwrite)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|charSetName |Text |-> |Name of character set|
-|charSetNum |Integer |-> |Number of character set|
-|breakMode|Integer |-> |Processing mode for line breaks|
-|Result |Text |<- |Text from the document|
+|charSetName |Text |-> |文字セット名|
+|charSetNum |Integer |-> |文字セットのID番号|
+|breakMode|Integer |-> |改行文字に対する処理モード|
+|戻り値|Text |<- |ドキュメントからのテキストhe document|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EmailObjectClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EmailObjectClass.md
index 24a540dca7735a..e0f47e7308f8c9 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EmailObjectClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EmailObjectClass.md
@@ -20,7 +20,7 @@ title: Email
Email オブジェクトは次のプロパティを提供します:
-> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the Email object.
+> 4D は Email オブジェクトのフォーマットは [JMAP specification](https://jmap.io/spec/rfc8621/) に準拠します。
| |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -376,17 +376,17 @@ MailAttachment オブジェクトは [`MAIL New attachment`](MailAttachmentClass
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|mime|Blob, Text|->|Email in MIME|
-|Result|Object|<-|Email object|
+|mime|Blob, Text|->|MIME形式のEメール|
+|戻り値|Object|<-|Email object|
#### 説明
`MAIL Convert from MIME` コマンドは、 MIMEドキュメントを有効な Emailオブジェクトへと変換します。
-> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the returned email object.
+> 4Dは戻り値の Email オブジェクトのフォーマットは [JMAP specification](https://jmap.io/spec/rfc8621/) に準拠します。
*mime* には、変換する有効な MIME ドキュメントを渡します。 これはどのメールサーバーまたはアプリケーションから提供されたものでも可能です。 *mime* 引数として、BLOB またはテキストを渡すことができます。 MIME がファイルから渡された場合、文字セットと改行コード変換に関する問題を避けるため、BLOB型の引数を使用することが推奨されます。
@@ -464,11 +464,11 @@ $status:=$transporter.send($email)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|mail|Object|->|Email object|
-|options|Object|->|Charset and encoding mail options|
-|Result|Text|<-|Email object converted to MIME|
+|mail|Object|->|Email オブジェクト|
+|options|Object|->|文字セットおよびエンコーディングのメールオプション|
+|戻り値|Text|<-|Email object converted to MIME|
@@ -477,7 +477,7 @@ $status:=$transporter.send($email)
`MAIL Convert to MIME` コマンドは、 Emailオブジェクトを MIMEテキストへと変換します。 このコマンドは、Email オブジェクトを送信する前に整形する目的で[SMTP_transporter.send()](SMTPTransporterClass.md#send) コマンドによって内部的に呼び出されます。 また、オブジェクトの MIME フォーマットを解析するためにも使用されます。
*mail* には、変換するメールのコンテンツとストラクチャーの詳細を渡します。 この情報には、メールアドレス (送信者と受信者)、メッセージそのもの、メッセージの表示タイプなどが含まれます。
-> 4D follows the [JMAP specification](https://jmap.io/spec/rfc8621/) to format the email object.
+> 4D は Email オブジェクトのフォーマットは [JMAP specification](https://jmap.io/spec/rfc8621/) に準拠します。
*options* 引数を渡すと、メールに対して特定の文字セットとエンコーディング設定を指定することができます。 次のプロパティを利用することができます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntityClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntityClass.md
index 54e1e683bb248b..cc0ba5ad139efa 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntityClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntityClass.md
@@ -86,9 +86,9 @@ title: Entity
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.Entity|<-|New entity referencing the record|
+|戻り値|4D.Entity|<-|New entity referencing the record|
@@ -142,11 +142,11 @@ title: Entity
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|entityToCompare|4D.Entity|->|Entity to be compared with the original entity|
-|attributesToCompare|Collection|-> |Name of attributes to be compared |
-|Result|Collection|<-|Differences between the entities|
+|entityToCompare|4D.Entity|->|対象エンティティと比較するエンティティ|
+|attributesToCompare|Collection|-> |比較する属性の名称|
+|戻り値|Collection|<-|Differences between the entities|
@@ -345,10 +345,10 @@ vCompareResult1 (すべての差異が返されています):
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|mode|Integer|->|`dk force drop if stamp changed`: Forces the drop even if the stamp has changed|
-|Result|Object|<-|Result of drop operation|
+|mode|Integer|->|`dk force drop if stamp changed`: スタンプが変更されていた場合でも強制的にドロップする|
+|戻り値|Object|<-|Result of drop operation|
@@ -454,9 +454,9 @@ vCompareResult1 (すべての差異が返されています):
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.Entity|<-|Reference to first entity of an entity selection (Null if not found)|
+|戻り値|4D.Entity|<-|Reference to first entity of an entity selection (Null if not found)|
@@ -495,9 +495,9 @@ vCompareResult1 (すべての差異が返されています):
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|filler|Object|->|Object from which to fill the entity|
+|filler|Object|->|エンティティの属性値を設定するオブジェクト|
@@ -582,9 +582,9 @@ vCompareResult1 (すべての差異が返されています):
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.DataClass|<-|DataClass object to which the entity belongs|
+|戻り値|4D.DataClass|<-|DataClass object to which the entity belongs|
@@ -629,10 +629,10 @@ vCompareResult1 (すべての差異が返されています):
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|mode|Integer|->|`dk key as string`: primary key is returned as a string, no matter the primary key type|
-|Result|any|<-|Value of the primary key of the entity (Integer or Text)|
+|mode|Integer|->|`dk key as string`: プライマリーキーの型にかかわらず、プライマリーキーを文字列として返します|
+|戻り値|any|<-|Value of the primary key of the entity (Integer or Text)|
@@ -671,9 +671,9 @@ vCompareResult1 (すべての差異が返されています):
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|result|Text|<-|Context attributes linked to the entity, separated by a comma|
+|戻り値|Text|<-|Context attributes linked to the entity, separated by a comma|
@@ -731,9 +731,9 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.EntitySelection|<-|Entity selection to which the entity belongs (Null if not found)|
+|戻り値|4D.EntitySelection|<-|Entity selection to which the entity belongs (Null if not found)|
@@ -776,9 +776,9 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Integer|<-|Stamp of the entity (0 if entity has just been created)|
+|戻り値|Integer|<-|Stamp of the entity (0 if entity has just been created)|
@@ -824,10 +824,10 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|entitySelection|4D.EntitySelection|->|Position of the entity is given according to this entity selection|
-|Result|Integer|<-|Position of the entity in an entity selection|
+|entitySelection|4D.EntitySelection|->|エンティティの位置を取得する対象のエンティティセレクション|
+|戻り値|Integer|<-|Position of the entity in an entity selection|
@@ -874,9 +874,9 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Boolean|<-|True if entity has just been created and not yet saved. Otherwise, False.|
+|戻り値|Boolean|<-|True if entity has just been created and not yet saved. Otherwise, False.|
@@ -915,9 +915,9 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.Entity|<-|Reference to last entity of an entity selection (Null if not found)|
+|戻り値|4D.Entity|<-|Reference to last entity of an entity selection (Null if not found)|
@@ -956,10 +956,10 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|mode|Integer|->|`dk reload if stamp changed`: Reload before locking if stamp changed|
-|Result|Object|<-|Result of lock operation|
+|mode|Integer|->|`dk reload if stamp changed`: スタンプが変更されていた場合でも強制的にドロップする|
+|戻り値|Object|<-|Result of lock operation|
@@ -1081,9 +1081,9 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.Entity|<-|Reference to next entity in the entity selection (Null if not found)|
+|戻り値|4D.Entity|<-|Reference to next entity in the entity selection (Null if not found)|
@@ -1125,9 +1125,9 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.Entity|<-|Reference to previous entity in the entity selection (Null if not found)|
+|戻り値|4D.Entity|<-|Reference to previous entity in the entity selection (Null if not found)|
@@ -1168,9 +1168,9 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Object|<-|Status object|
+|戻り値|Object|<-|Status object|
@@ -1233,10 +1233,10 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|mode|Integer|->|`dk auto merge`: Enables the automatic merge mode|
-|Result|Object|<-|Result of save operation|
+|mode|Integer|->|`dk auto merge`: 自動マージモードを有効化します|
+|戻り値|Object|<-|Result of save operation|
@@ -1370,12 +1370,12 @@ $info:=$address.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|filterString |Text |->|Attribute(s) to extract (comma-separated string)|
-|filterCol |Collection |->|Collection of attribute(s) to extract|
-|options|Integer|->|`dk with primary key`: adds the \_\_KEY property;
`dk with stamp`: adds the \_STAMP property|
-|Result|Object|<-|Object built from the entity|
+|filterString |Text |->|取得する属性 (カンマ区切り)|
+|filterCol |Collection |->|取得する属性のコレクション|
+|options|Integer|->|`dk with primary key`: \_\_KEY プロパティを追加;
`dk with stamp`: \_STAMP プロパティを追加|
+|戻り値|Object|<-|Object built from the entity|
@@ -1661,9 +1661,9 @@ employeeObject:=employeeSelected.toObject("directReports.*")
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Boolean|<-|True if at least one entity attribute has been modified and not yet saved, else False|
+|戻り値|Boolean|<-|True if at least one entity attribute has been modified and not yet saved, else False|
@@ -1784,9 +1784,9 @@ employeeObject:=employeeSelected.toObject("directReports.*")
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Object|<-|Status object|
+|戻り値|Object|<-|Status object|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntitySelectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntitySelectionClass.md
index 65559d4afcf148..f7cb73ed106690 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntitySelectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/EntitySelectionClass.md
@@ -57,11 +57,11 @@ title: EntitySelection
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|dsTable|Table|->|Table in the 4D database whose current selection will be used to build the entity selection|
-|settings|Object|->|Build option: context |
-|Result|4D.EntitySelection|<-|Entity selection matching the dataclass related to the given table|
+|dsTable|Table|->|エンティティセレクションの元となるカレントセレクションが属する 4Dデータベースのテーブル|
+|settings|Object|->|ビルドオプション: context |
+|戻り値|4D.EntitySelection|<-|Entity selection matching the dataclass related to the given table|
@@ -104,9 +104,9 @@ $employees:=Create entity selection([Employee])
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|entitySelection|EntitySelection|->|An entity selection|
+|entitySelection|EntitySelection|->|エンティティセレクション|
@@ -298,11 +298,11 @@ $result:=$sel[0].lock() //動作しません
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|entity|4D.Entity|->|Entity to be added to the entity selection|
-|entitySelection|4D.EntitySelection|->|Entity selection to be added to the original entity selection|
-|Result|4D.EntitySelection|<-|Entity selection including the added *entity* or *entitySelection*|
+|entity|4D.Entity|->|エンティティセレクションに追加するエンティティ|
+|entitySelection|4D.EntitySelection|->|エンティティセレクションに追加するエンティティセレクション|
+|戻り値|4D.EntitySelection|<-|Entity selection including the added *entity* or *entitySelection*|
@@ -388,11 +388,11 @@ $sellist2:=$sellist2.add($sellist1)
-|Parameter|Type||Description|
+|引数|型||説明|Parameter|Type||Description|
|---------|--- |:---:|------|
-|entity |4D.Entity|->|Entity to intersect with|
-|entitySelection |4D.EntitySelection|->|Entity selection to intersect with|
-|Result|4D.EntitySelection|<-|New entity selection with the result of intersection with logical AND operator|
+|entity |4D.Entity|->|交差するエンティティ|
+|entitySelection |4D.EntitySelection|->|交差するエンティティセレクション|
+|戻り値|4D.EntitySelection|<-|New entity selection with the result of intersection with logical AND operator|
@@ -458,10 +458,10 @@ $sellist2:=$sellist2.add($sellist1)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|index|Integer|->|Index of entity to return|
-|Result|4D.Entity |<-|The entity at that index|
+|index|Integer|->|取得するエンティティのインデックス|
+|戻り値|4D.Entity |<-|The entity at that index|
@@ -507,10 +507,10 @@ $emp2:=$employees.at(-3) // $employees エンティティセレクションの
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|attributePath |Text|->|Attribute path to be used for calculation|
-|Result|Real|<-|Arithmetic mean (average) of entity attribute values (Undefined if empty entity selection)|
+|attributePath |Text|->|計算に使用する属性パス|
+|戻り値|Real|<-|Arithmetic mean (average) of entity attribute values (Undefined if empty entity selection)|
@@ -563,10 +563,10 @@ $emp2:=$employees.at(-3) // $employees エンティティセレクションの
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|entity|4D.Entity|->|Entity to evaluate|
-|Result|Boolean|<-|True if the entity belongs to the entity selection, else False|
+|entity|4D.Entity|->|評価するエンティティ|
+|戻り値|Boolean|<-|True if the entity belongs to the entity selection, else False|
@@ -615,10 +615,10 @@ $emp2:=$employees.at(-3) // $employees エンティティセレクションの
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|attributePath |Text|->|Path of the attribute to be used for calculation|
-|Result|Real|<-|Number of non null *attributePath* values in the entity selection|
+|attributePath |Text|->|計算に使用する属性パス|
+|戻り値|Real|<-|Number of non null *attributePath* values in the entity selection|
@@ -664,10 +664,10 @@ $emp2:=$employees.at(-3) // $employees エンティティセレクションの
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|option |Integer|->|`ck shared`: return a shareable entity selection|
-|Result|4D.EntitySelection|<-|Copy of the entity selection|
+|option |Integer|->|`ck shared`: 共有可能なエンティティセレクションを返します|
+|戻り値|4D.EntitySelection|<-|Copy of the entity selection|
@@ -732,11 +732,11 @@ $emp2:=$employees.at(-3) // $employees エンティティセレクションの
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|attributePath|Text|->|Path of attribute whose distinct values you want to get|
-|options|Integer|->|`dk diacritical`, `dk count values`|
-|Result|Collection|<-|Collection with only distinct values|
+|attributePath|Text|->|重複しない値を取得する属性のパス|
+|options|Integer|->|`dk diacritical`、 `dk count values`|
+|戻り値|Collection|<-|Collection with only distinct values|
@@ -825,10 +825,11 @@ $jobs:=ds.Employee.all().distinct("jobName";dk count values)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|attribute|Text|->|Object attribute name whose paths you want to get|
-|Result|Collection|<-|New collection with distinct paths|
+|attributePath|Text|->|重複しない値を取得する属性のパス|
+|options|Integer|->|`dk diacritical`、 `dk count values`|
+|戻り値|Collection|<-|New collection with distinct paths|
@@ -886,10 +887,10 @@ $paths:=ds.Employee.all().distinctPaths("fullData")
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|mode|Integer|->|`dk stop dropping on first error`: stops method execution on first non-droppable entity|
-|Result|4D.EntitySelection|<-|Empty entity selection if successful, else entity selection containing non-droppable entity(ies)|
+|mode|Integer|->|`dk stop dropping on first error`: 最初のドロップ不可エンティティで実行を止めます|
+|戻り値|4D.EntitySelection|<-|Empty entity selection if successful, else entity selection containing non-droppable entity(ies)|
@@ -958,12 +959,12 @@ $paths:=ds.Employee.all().distinctPaths("fullData")
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|attributePath |Text|->|Attribute path whose values must be extracted to the new collection |
-|targetPath|Text|->|Target attribute path or attribute name|
-|option|Integer|->|`ck keep null`: include null attributes in the returned collection (ignored by default)|
-|Result|Collection|<-|Collection containing extracted values|
+|attributePath |Text|->|新しいコレクションに抽出する値の属性パス|
+|targetPath|Text|->|抽出先の属性パスあるいは属性名|
+|option|Integer|->|`ck keep null`: 返されるコレクションに null 属性を含めます (デフォルトでは無視されます)|
+|戻り値|Collection|<-|Collection containing extracted values|
@@ -1064,9 +1065,9 @@ $paths:=ds.Employee.all().distinctPaths("fullData")
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.Entity|<-|Reference to the first entity of the entity selection (Null if selection is empty)|
+|戻り値|4D.Entity|<-|Reference to the first entity of the entity selection (Null if selection is empty)|
@@ -1125,9 +1126,9 @@ $paths:=ds.Employee.all().distinctPaths("fullData")
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.DataClass|<-|Dataclass object to which the entity selection belongs|
+|戻り値|4D.DataClass|<-|Dataclass object to which the entity selection belongs|
@@ -1177,9 +1178,9 @@ $paths:=ds.Employee.all().distinctPaths("fullData")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|result|Text|<-|Context attributes linked to the entity selection, separated by a comma|
+|戻り値|Text|<-|Context attributes linked to the entity selection, separated by a comma|
@@ -1235,9 +1236,9 @@ $info:=$persons.getRemoteContextAttributes()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Boolean|<-|True if the entity selection is alterable, False otherwise|
+|戻り値|Boolean|<-|True if the entity selection is alterable, False otherwise|
@@ -1280,9 +1281,9 @@ Form.products.add(Form.product)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Boolean|<-|True if the entity selection is ordered, False otherwise|
+|戻り値|Boolean|<-|True if the entity selection is ordered, False otherwise|
@@ -1337,9 +1338,9 @@ Form.products.add(Form.product)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|4D.Entity |<-|Reference to the last entity of the entity selection (Null if empty entity selection)|
+|戻り値|4D.Entity |<-|Reference to the last entity of the entity selection (Null if empty entity selection)|
@@ -1425,10 +1426,10 @@ Form.products.add(Form.product)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |---|------|
-|attributePath |Text|->|Path of the attribute to be used for calculation|
-|Result|any|<-|Highest value of attribute|
+|attributePath |Text|->|計算に使用する属性パス|
+|戻り値|any|<-|Highest value of attribute|
@@ -1481,10 +1482,10 @@ Form.products.add(Form.product)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|attributePath |Text|->|Path of the attribute to be used for calculation|
-|Result|any|<-|Lowest value of attribute|
+|attributePath |Text|->|計算に使用する属性パス|
+|戻り値|any|<-|Lowest value of attribute|
@@ -1534,12 +1535,12 @@ Form.products.add(Form.product)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|entity |4D.Entity|->|Entity to substract|
-|entitySelection|4D.EntitySelection|->|Entity selection to substract|
-|keepOrder|Integer|->|`dk keep ordered` (integer) to keep the initial order in the resulting entity selection|
-|Result|4D.EntitySelection|<-|New entity selection or a new reference on the existing entity selection|
+|entity |4D.Entity|->|除外するエンティティ|
+|entitySelection|4D.EntitySelection|->|除外するエンティティセレクション|
+|keepOrder|Integer|->|結果のエンティティセレクションにおいて元の順列を維持するには `dk keep ordered` (整数) を渡します|
+|戻り値|4D.EntitySelection|<-|New entity selection or a new reference on the existing entity selection|
@@ -1620,11 +1621,11 @@ $listsel:=$listsel.minus($selectedItems; dk keep ordered)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|entity|4D.Entity|->|Entity to intersect with|
-|entitySelection|4D.EntitySelection|->|Entity selection to intersect with|
-|Result|4D.EntitySelection|<-|New entity selection or new reference to the original entity selection|
+|entity|4D.Entity|->|交差するエンティティ|
+|entitySelection|4D.EntitySelection|->|交差するエンティティセレクション|
+|戻り値|4D.EntitySelection|<-|New entity selection or new reference to the original entity selection|
@@ -1684,11 +1685,11 @@ $listsel:=$listsel.minus($selectedItems; dk keep ordered)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|pathString |Text |->|Attribute path(s) and sorting instruction(s) for the entity selection|
-|pathObjects |Collection |->|Collection of criteria objects|
-|Result|4D.EntitySelection|<-|New entity selection in the specified order|
+|pathString |Text |->|エンティティセレクションの属性パスと並べ替えの指定|
+|pathObjects |Collection |->|条件オブジェクトのコレクション|
+|戻り値|4D.EntitySelection|<-|New entity selection in the specified order|
@@ -1766,13 +1767,13 @@ pathObjects コレクションには必要な数だけオブジェクトを追
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|formulaString|Text|->|Formula string|
-|formulaObj|Object|->|Formula object|
-|sortOrder |Integer|->|`dk ascending` (default) or `dk descending`|
-|settings|Object|->|Parameter(s) for the formula|
-|Result|4D.EntitySelection|<-|New ordered entity selection|
+|formulaString|Text|->|フォーミュラ文字列|
+|formulaObj|Object|->|フォーミュラオブジェクト|
+|sortOrder |Integer|->|`dk ascending` (デフォルト) または `dk descending`|
+|settings|Object|->|フォーミュラに渡す引数|
+|戻り値|4D.EntitySelection|<-|New ordered entity selection|
@@ -1893,13 +1894,13 @@ pathObjects コレクションには必要な数だけオブジェクトを追
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|queryString |Text |-> |Search criteria as string|
-|formula |Object |-> |Search criteria as formula object|
-|value|any|->|Value(s) to use for indexed placeholder(s)|
-|querySettings|Object|->|Query options: parameters, attributes, args, allowFormulas, context, queryPath, queryPlan|
-|Result|4D.EntitySelection|<-|New entity selection made up of entities from entity selection meeting the search criteria specified in *queryString* or *formula*|
+|queryString |Text |-> |検索条件 (文字列)|
+|formula |Object |-> |検索条件 (フォーミュラオブジェクト)|
+|value|any|->|インデックスプレースホルダーで使用するための値|
+|querySettings|Object|->|クエリオプション: parameters, attributes, args, allowFormulas, context, queryPath, queryPlan|
+|戻り値|4D.EntitySelection|<-|New entity selection made up of entities from entity selection meeting the search criteria specified in *queryString* or *formula*|
@@ -2084,10 +2085,10 @@ pathObjects コレクションには必要な数だけオブジェクトを追
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|selectedEntities |4D.EntitySelection|->|Entity selection with entities for which to know the rank in the entity selection|
-|Result|Object|<-|Range(s) of selected entities in entity selection|
+|selectedEntities |4D.EntitySelection|->|呼び出し対象のエンティティセレクションにおける、選別したエンティティの位置範囲|
+|戻り値|Object|<-|Range(s) of selected entities in entity selection|
@@ -2158,11 +2159,11 @@ $result2:=$invoices.selected($creditSel)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|startFrom |Integer |->|Index to start the operation at (included) |
-|end |Integer|->|End index (not included)|
-|Result|4D.EntitySelection|<-|New entity selection containing sliced entities (shallow copy)|
+|startFrom |Integer |->|処理を開始するインデックス(含まれる)|
+|end |Integer|->|終了インデックス (含まれない)|
+|戻り値|4D.EntitySelection|<-|New entity selection containing sliced entities (shallow copy)|
@@ -2227,10 +2228,10 @@ $slice:=ds.Employee.all().slice(-1;-2) // インデックス 9 から 8番まで
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|attributePath |Text|->|Path of the attribute to be used for calculation|
-|Result|Real|<-|Sum of entity selection values|
+|attributePath |Text|->|計算に使用する属性パス|
+|戻り値|Real|<-|Sum of entity selection values|
@@ -2281,14 +2282,14 @@ $sum:=$sel.sum("salary")
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|filterString |Text|->|String with entity attribute path(s) to extract|
-|filterCol |Collection|->|Collection of entity attribute path(s) to extract|
-|options|Integer|->|`dk with primary key`: adds the primary key
`dk with stamp`: adds the stamp|
-|begin|Integer| ->|Designates the starting index|
-|howMany|Integer|->|Number of entities to extract|
-|Result|Collection|<-|Collection of objects containing attributes and values of entity selection|
+|filterString |Text|->|抽出するエンティティの属性パスの文字列|
+|filterCol |Collection|->|抽出するエンティティの属性パスのコレクション|
+|options|Integer|->|`dk with primary key`: プライマリーキーを追加
`dk with stamp`: スタンプを追加|
+|begin|Integer| ->|開始インデックス|
+|howMany|Integer|->|抽出するエンティティ数|
+|戻り値|Collection|<-|Collection of objects containing attributes and values of entity selection|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileClass.md
index 56dca04fa25259..400e56be90108d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileClass.md
@@ -74,13 +74,13 @@ $created:=File("/PACKAGE/SpecialPrefs/"+Current user+".myPrefs").create()
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|path|Text|->|File path|
-|fileConstant|Integer|->|4D file constant|
-|pathType|Integer|->|`fk posix path` (default) or `fk platform path`|
-|*||->|* to return file of host database|
-|Result|4D.File|<-|New file object|
+|path|Text|->|ファイルパス|
+|fileConstant|Integer|->|4Dファイル定数|
+|pathType|Integer|->|`fk posix path` (デフォルト) または `fk platform path`|
+|*||->|ホストデータベースのファイルを返すには * を渡します|
+|戻り値|4D.File|<-|New file object|
@@ -175,9 +175,9 @@ $created:=File("/PACKAGE/SpecialPrefs/"+Current user+".myPrefs").create()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|Result|Boolean|<-|True if the file was created successfully, false otherwise|
+|戻り値|Boolean|<-|True if the file was created successfully, false otherwise|
@@ -218,12 +218,12 @@ $created:=File("/PACKAGE/SpecialPrefs/"+Current user+".myPrefs").create()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|destinationFolder|4D.Folder|->|Destination folder for the alias or shortcut|
-|aliasName|Text|->|Name of the alias or shortcut|
-|aliasType|Integer|->|Type of the alias link|
-|Result|4D.File|<-|Alias or shortcut file reference|
+|destinationFolder|4D.Folder|->|エイリアスまたはショートカットの作成先フォルダー|
+|aliasName|Text|->|エイリアスまたはショートカットの名称|
+|aliasType|Integer|->|エイリアスリンクのタイプ|
+|戻り値|4D.File|<-|Alias or shortcut file reference|
@@ -276,9 +276,9 @@ Windows 上では、常にショートカット (.lnk ファイル) が作成さ
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-||||Does not require any parameters|
+||||引数を必要としません|
@@ -432,11 +432,11 @@ ALERT($info.Copyright)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|destinationFolder|4D.Folder|->|Destination folder|
-|newName|Text|->|Full name for the moved file|
-|Result|4D.File|<-|Moved file|
+|destinationFolder|4D.Folder|->|移動先フォルダ|
+|newName|Text|->|移動先でのファイルの完全な名称|
+|戻り値|4D.File|<-|Moved file|
@@ -480,11 +480,11 @@ $myFile.moveTo($DocFolder.folder("Archives");"Infos_old.txt")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|mode|Text|->|Opening mode: "read", "write", "append"|
-|options|Object|->|Opening options|
-|Result|[4D.FileHandle](FileHandleClass)|<-|New File handle object|
+|mode|Text|->|開くモード: "read"、"write"、"append"|
+|options|Object|->|開くオプション|
+|戻り値|[4D.FileHandle](FileHandleClass)|<-|New File handle object|
@@ -563,10 +563,10 @@ $fhandle:=$f.open("read")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|newName|Text|->|New full name for the file|
-|Result|4D.File|<-|Renamed file|
+|newName|Text|->|ファイルの新しい完全な名称|
+|戻り値|4D.File|<-|Renamed file|
@@ -609,9 +609,9 @@ $fhandle:=$f.open("read")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|info|Object|->|Properties to write in .exe/.dll version resource or .plist file|
+|info|Object|->|.exe/.dll バージョンリソースや .plist ファイル情報内に書き込むプロパティ|
@@ -703,9 +703,9 @@ $infoPlistFile.setAppInfo($info)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|content|BLOB|->|New contents for the file|
+|content|BLOB|->|ファイルの新しいコンテンツ|
@@ -740,12 +740,12 @@ $infoPlistFile.setAppInfo($info)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|----|---|--------|
-|text|Text|->|Text to store in the file|
-|charSetName|Text|->|Name of character set|
-|charSetNum|Integer|->|Number of character set|
-|breakMode|Integer|->|Processing mode for line breaks|
+|text|Text|->|ファイルに保存するテキスト|
+|charSetName|Text|->|文字セットの名前|
+|charSetNum|Integer|->|文字セットの番号|
+|breakMode|Integer|->|改行の処理モード|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md
index f3d8200cd29cda..e76291f3b056af 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FileHandleClass.md
@@ -212,9 +212,9 @@ FileHandle オブジェクトは共有できません。
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|Result|Real|<-|Size of the document in bytes|
+|戻り値|Real|<-|Size of the document in bytes|
@@ -319,10 +319,10 @@ $s:=$fh.readText()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|bytes|Real|->|Number of bytes to be read|
-|Result|[4D.Blob](BlobClass)|<-|Bytes read from the file|
+|bytes|Real|->|読み取るバイト数|
+|戻り値|[4D.Blob](BlobClass)|<-|Bytes read from the file|
@@ -359,9 +359,9 @@ $s:=$fh.readText()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|Result|Text|<-|Line of text|
+|戻り値|Text|<-|Line of text|
@@ -405,10 +405,10 @@ $s:=$fh.readText()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|stopChar|Text|->|Character(s) at which to stop reading|
-|Result|Text|<-|Text from the file|
+|stopChar|Text|->|読み取りを停止する文字|
+|戻り値|Text|<-|Text from the file|
@@ -454,9 +454,9 @@ $s:=$fh.readText()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|size|Real|->|New size of the document in bytes|
+|size|Real|->|ドキュメントの新しいサイズ (バイト単位)|
@@ -490,9 +490,9 @@ $s:=$fh.readText()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|blob|[4D.Blob](BlobClass)|->|Blob to write in the file|
+|blob|[4D.Blob](BlobClass)|->|ファイルに書き込むBlob|
@@ -528,9 +528,9 @@ $s:=$fh.readText()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|lineOfText|Text|->|Text to write|
+|lineOfText|Text|->|書き込むテキスト|
@@ -564,9 +564,9 @@ $s:=$fh.readText()
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|textToWrite|Text|->|Text to write|
+|textToWrite|Text|->|書き込むテキスト|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FolderClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FolderClass.md
index 447cbe4fe7f5bd..aa39b55806b690 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FolderClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FolderClass.md
@@ -72,13 +72,13 @@ Form.curfolder:=Folder("C:\\Users\\JohnSmith\\";fk platform path)
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|path|Text|->|Folder path|
-|folderConstant|Integer|->|4D folder constant|
-|pathType|Integer|->|`fk posix path` (default) or `fk platform path`|
-|*||->|* to return folder of host database|
-|Result|4D.Folder|<-|New folder object|
+|path|Text|->|フォルダーパス|
+|folderConstant|Integer|->|4Dフォルダー定数|
+|pathType|Integer|->|`fk posix path` (デフォルト) または `fk platform path`|
+|*||->|ホストデータベースのフォルダーを返すには * を渡します|
+|戻り値|4D.Folder|<-|New folder object|
@@ -161,9 +161,9 @@ Form.curfolder:=Folder("C:\\Users\\JohnSmith\\";fk platform path)
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|Result|Boolean|<-|True if the folder was created successfully, false otherwise|
+|戻り値|Boolean|<-|True if the folder was created successfully, false otherwise|
@@ -219,12 +219,12 @@ End if
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|destinationFolder|4D.Folder|->|Destination folder for the alias or shortcut|
-|aliasName|Text|->|Name of the alias or shortcut|
-|aliasType|Integer|->|Type of the alias link|
-|Result|4D.File|<-|Alias or shortcut reference|
+|destinationFolder|4D.Folder|->|エイリアスまたはショートカットの作成先フォルダー|
+|aliasName|Text|->|エイリアスまたはショートカットの名称|
+|aliasType|Integer|->|エイリアスリンクのタイプ|
+|戻り値|4D.File|<-|Alias or shortcut reference|
@@ -277,9 +277,9 @@ $aliasFile:=$myFolder.createAlias(Folder("/PACKAGE");"Jan2019")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|option |Integer|->|Folder deletion option|
+|option |Integer|->|フォルダー削除のオプション|
@@ -353,11 +353,11 @@ $aliasFile:=$myFolder.createAlias(Folder("/PACKAGE");"Jan2019")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|----|---|---|
-|destinationFolder|4D.Folder|->|Destination folder|
-|newName|Text|->|Full name for the moved folder|
-|Result|4D.Folder|<-|Moved folder|
+|destinationFolder|4D.Folder|->|移動先フォルダー|
+|newName|Text|->|移動先でのフォルダーの完全な名称|
+|戻り値|4D.Folder|<-|Moved folder|
@@ -411,10 +411,10 @@ $aliasFile:=$myFolder.createAlias(Folder("/PACKAGE");"Jan2019")
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|newName|Text|->|New full name for the folder|
-|Result|4D.Folder|<-|Renamed folder|
+|newName|Text|->|フォルダーの新しい完全な名称|
+|戻り値|4D.Folder|<-|Renamed folder|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FunctionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FunctionClass.md
index ee9016d2e107a5..07b751fb241401 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FunctionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/FunctionClass.md
@@ -138,10 +138,10 @@ Formulaオブジェクトは、オブジェクトプロパティに格納する
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|formulaExp|Expression|->|Formula to be returned as object|
-|Result|4D.Function|<-|Native function encapsulating the formula|
+|formulaExp|Expression|->|オブジェクトとして返されるフォーミュラ|
+|戻り値|4D.Function|<-|Native function encapsulating the formula|
@@ -314,10 +314,10 @@ Formulaオブジェクトは、オブジェクトプロパティに格納する
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|formulaString|Text|->|Text formula to be returned as object|
-|Result|4D.Function|<-|Native object encapsulating the formula|
+|formulaString|Text|->|オブジェクトとして返されるテキストフォーミュラ|
+|戻り値|4D.Function|<-|Native object encapsulating the formula|
@@ -380,11 +380,11 @@ Formulaオブジェクトは、オブジェクトプロパティに格納する
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|thisObj|Object|->|Object to be returned by the This command in the formula|
-|formulaParams |Collection|->|Collection of values to be passed as $1...$n when `formula` is executed|
-|Result|any|<-|Value from formula execution|
+|thisObj|Object|->|関数内での `This` コマンドによって返されるオブジェクト|
+|formulaParams |Collection|->|`formula` が実行される際に $1...$n として渡される値のコレクション|
+|戻り値|any|<-|Value from formula execution|
@@ -455,11 +455,11 @@ Formulaオブジェクトは、オブジェクトプロパティに格納する
-|Parameter|Type||Description|
+|引数|型||説明|
|---|---|---|---|
-|thisObj|Object|->|Object to be returned by the This command in the formula|
-|params |any|->|Value(s) to be passed as $1...$n when formula is executed|
-|Result|any|<-|Value from formula execution|
+|thisObj|Object|->|フォーミュラ内での `This` コマンドによって返されるオブジェクト|
+|params |any|->|`formula` が実行される際に $1...$n として渡される値のコレクション|
+|戻り値|any|<-|Value from formula execution|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md
index 1ba484474653d6..77ff7dca0f4082 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md
@@ -722,9 +722,9 @@ End if
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Object|<-|Status of the expunge operation |
+|戻り値|Object|<-|Status of the expunge operation |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/POP3TransporterClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/POP3TransporterClass.md
index ce600ba21bcf1d..9e2ced9dfd208c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/POP3TransporterClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/POP3TransporterClass.md
@@ -215,9 +215,9 @@ POP3 Transporter オブジェクトは [POP3 New transporter](#pop3-new-transpor
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Object|<-|boxInfo object|
+|戻り値|Object|<-|boxInfo object|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/SessionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/SessionClass.md
index 35ec308563a9b7..cbc2d39878a864 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/SessionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/SessionClass.md
@@ -264,9 +264,9 @@ End if
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Boolean|<-|True if session is a Guest one, False otherwise|
+|戻り値|Boolean|<-|True if session is a Guest one, False otherwise|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Transporter.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Transporter.md
index 52dbef13822ac1..e0734eb0d8c15a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Transporter.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/Transporter.md
@@ -354,9 +354,9 @@ title: Transporter クラス
-|Parameter|Type||Description|
+|引数|型||説明|
|---------|--- |:---:|------|
-|Result|Object|<-|Status of the transporter object connection|
+|戻り値|Object|<-|Status of the transporter object connection|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md
index 2233446859915a..1247e505686fcc 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md
@@ -59,6 +59,14 @@ title: 制御フロー
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
上記の結果はほぼ同じで、_MethodB_ は必要な場合にのみ評価されます。
> **注記:** [三項演算子](../dt_boolean.md#三項演算子) を使うことで、条件式を 1行で書くことができ、[If...Else](../cf_branching.md#ifelseend-if) 文を置き換えることもできます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md
index f97984d16353f8..72a231d0d611e2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md
@@ -1247,15 +1247,21 @@ var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
**order by** 宣言はクエリ文字列でサポートされており、これによって返されるエンティティセレクション内でエンティティは類似度順にソートされます。 例:
```4d
-var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
- // デフォルト順、最初のエンティティは最も類似したもの
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc"; $comparisonVector)
+ //the first entity is the most similar
```
+:::note
+
+The default order is ascending, although a descending order is usually the most useful for vector similarity queries. Thus, you will usually have to add the `desc` keyword in your vector similarity query strings.
+
+:::
+
同じベクトルがクエリ文字列内に複数回出現した場合、order by は最初のものの結果に適用されます。例:
```4d
var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField desc"; /
- {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 は order by に使用されます。
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
```
詳細については[以下の例題](#例題-4-2)を参照してください (例題 4 と 5)。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md
index 09763adf955435..985225e8315173 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md
@@ -58,6 +58,14 @@ title: 制御フロー
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
上記の結果はほぼ同じで、*MethodB* は必要な場合にのみ評価されます。
> **注記:** [三項演算子](../dt_boolean.md#三項演算子) を使うことで、条件式を 1行で書くことができ、[If...Else](../cf_branching.md#ifelseend-if) 文を置き換えることもできます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md
index 5497f31a73c8ae..8140c31fa373c1 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md
@@ -96,7 +96,8 @@ title: フォームオブジェクト JSON プロパティリスト
| [`hideFocusRing`](properties_Appearance.md#フォーカスの四角を隠す) | オブジェクトにフォーカスがあるときに選択状態を表す強調用の四角形を非表示にします。 | true, false |
| [`hideSystemHighlight`](properties_Appearance.md#セレクションハイライトを非表示) | リストボックス内の選択レコードのハイライトを非表示にします。 | true, false |
| [`highlightSet`](properties_ListBox.md#ハイライトセット) | セットの名称 | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#横線カラー) | リストボックス内の横線の色を指定します (デフォルトはグレー)。 | 任意の CSS値; "transparent"; "automatic" |
+| [`horizontalLineStroke`](properties_Gridlines.md#横線カラー) | リストボックス内の横線の色を指定します (デフォルトはグレー)。 | 任意の css値; "transparent"; "automatic" |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Sets a horizontal padding for listbox cells. | Number of pixels (must be >=0) |
| **i** | | |
| [`icon`](properties_TextAndPicture.md#ピクチャーパス名) | ボタン、チェックボックス、ラジオボタン、リストボックスヘッダーに使用するピクチャーのパス名 | POSIX シンタックスの相対パス、またはファイルシステムパス |
| [`iconFrames`](properties_TextAndPicture.md#状態の数) | ピクチャー内で表示される状態の数を設定します。 | 最小値: 1 |
@@ -214,6 +215,7 @@ title: フォームオブジェクト JSON プロパティリスト
| [`variableCalculation`](properties_Object.md#変数の計算) | 数値の計算を実行することができます。 | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
| [`verticalAlign`](properties_Text.md#縦揃え) | エリア中のテキストの縦位置を指定します。 | "automatic", "top", "middle", "bottom" |
| [`verticalLineStroke`](properties_Gridlines.md#縦線カラー) | リストボックス内の縦線の色を指定します (デフォルトはグレー)。 | 任意の css値; "transparent"; "automatic" |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Sets a vertical padding for listbox cells. | ピクセル数 (>=0) |
| [`visibility`](properties_Display.md#表示状態) | アプリケーションモードでオブジェクトが非表示になります。 | "visible", "hidden", "selectedRows", "unselectedRows" |
| **w** | | |
| [`webEngine`](properties_WebArea.md#埋め込みwebレンダリングエンジンを使用) | Webエリアで使用する描画エンジンを 2つのうちから選択します。 | "embedded", "system" |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md
index 120a2087373e27..e7901690e7edd7 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md
@@ -210,7 +210,7 @@ GitHub に保存されているコンポーネントは [**dependencies.json**
}
```
-... 上記の場合、"myGitHubComponent1" は宣言とパス定義の両方がされていますが、"myComponent2" は宣言されているだけです。 **environment4d.json** ファイルは必須ではありません。 このファイルは、**dependencies.json** ファイル内で宣言された一部またはすべてのコンポーネントのついて、**カスタムパス** を定義するのに使用します。 このファイルは、プロジェクトパッケージフォルダーまたはその親フォルダーのいずれかに保存することができます (ルートまでの任意のレベル)。
+... 上記の場合、"myGitHubComponent1" は宣言とパス定義の両方がされていますが、"myComponent2" は宣言されているだけです。 そのため、[**environment4d.json**](#environment4djson) ファイルにパスを定義する必要があります:
```json
{
@@ -481,7 +481,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ

-接続が確立されると、入力エリアの右側に GitHubアイコン  が表示されます。 このアイコンをクリックすると、既定のブラウザーでリポジトリを開くことができます。
+接続が確立されると、入力エリアの右側に GitHubアイコン  が表示されます。 このアイコンをクリックすると、既定のブラウザでリポジトリを開くことができます。
:::note
@@ -513,7 +513,7 @@ GitHub 依存関係は[**dependencies.json**](#dependenciesjson) ファイル内
#### GitHub 依存関係バージョン範囲の変更
-一覧に表示されたGitHub 依存関係に対して[バージョン設定](#github-依存関係のバージョン範囲を定義) を編集することができます: 編集する依存関係を選択し、コンテキストメニューから**依存関係を編集...** を選択して下さい。 In the "依存関係を編集" ダイアログボックス内にて、依存関係のルールメニューを編集し、**適用** をクリックします。
+一覧に表示されたGitHub 依存関係に対して[バージョン設定](#github-依存関係のバージョン範囲を定義) を編集することができます: 編集する依存関係を選択し、コンテキストメニューから**依存関係を編集...** を選択して下さい。 "依存関係を編集" ダイアログボックス内にて、依存関係のルールメニューを編集し、**適用** をクリックします。
バージョン範囲の変更は、自動アップデート機能を使用しているときに依存関係を特定のバージョン番号にロックしておきたいときに有用です。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md
index 1833bc959b47d3..0c50ec51d67660 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md
@@ -42,7 +42,7 @@ displayed_sidebar: docs
デフォルトでは、旧式の4D Write ドキュメント内に挿入されたHTM式は読み込まれません(4D Write Pro ではサポートされません)。*option* 引数にwk import html expressions as text 定数を渡した場合、HTML 式は、*##htmlBegin##* および *##htmlEnd##* タグに挟まれた標準テキストとして読み込まれます(この場合、後からフォーマットを直す必要があります)。返される標準テキストは、例えば以下のような形です:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md
index 7ab558d972a6d1..6a21df45f1e0d4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md
@@ -65,8 +65,9 @@ displayed_sidebar: docs
以下のテキストドキュメントが与えられている場合を考えます(フィールドはtabによって分けられています)。
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
以下のコードを実行すると、
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md
index 4d5bc0b94bbf96..800b4aa8247e2d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md
@@ -68,8 +68,18 @@ displayed_sidebar: docs
以下のXML 構造がある場合を考えます:
-```RAW
- Harry Potter 29.99 Learning XML 39.95
+```xml
+
+
+
+ Harry Potter
+ 29.99
+
+
+ Learning XML
+ 39.95
+
+
```
以下のコードを実行すると、XML 要素を素早く検索し、その値を表示させることができます:
@@ -95,10 +105,18 @@ displayed_sidebar: docs
以下のXML構造があるとき:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
以下のコード使用して、それぞれのElem2 要素の参照をarrAfound 配列に取得することができます:
```4d
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/locked-records-info.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/locked-records-info.md
index d8f3ec5c11c0cc..98b65c51c2590c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/locked-records-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/locked-records-info.md
@@ -84,7 +84,25 @@ displayed_sidebar: docs
コードが4D Server上で実行され、リモートのクライアントマシンによってロックされている場合、以下の様なオブジェクトが$vOlocked 内に返されます:
```json
-{ "records": [ { "contextID": "B0EC087DC2FA704496C0EA15DC011D1C", "contextAttributes": { "task_id": 2, "user_name": "achim", "user4d_id": 1, "host_name": "achim-pcwin", "task_name": "P_RandomLock", "is_remote_context": true, "client_uid": "0696E66F6CD731468E6XXX581A87554A", "client_version": -268364752 }, "recordNumber": 1 } ]}
+{
+ "records": [
+ {
+ "contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
+ "contextAttributes": {
+ "task_id": 2,
+ "user_name": "achim",
+ "user4d_id": 1,
+ "host_name": "achim-pcwin",
+ "task_name": "P_RandomLock",
+ "is_remote_context": true,
+ "client_uid": "0696E66F6CD731468E6XXX581A87554A",
+ "client_version": -268364752
+ },
+ "recordNumber": 1
+ }
+ ]
+}
+
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
index 8bff52dd55abf3..6e95cb7005b717 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
@@ -52,7 +52,7 @@ displayed_sidebar: docs
```4d
// On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// メソッドコード
```
@@ -132,7 +132,7 @@ BASIC認証モードの**On Web Authenticationデータベースメソッド**
```4d
//On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $ipServerDuser : Boolean
ARRAY TEXT($users;0)
@@ -178,7 +178,7 @@ DIGESTモードのの例題:
```4d
//On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
$result:=False
//セキュリティのため@を含むユーザ名とパスワードは拒否
If(WithWildcard($user))
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md
index 090cabe87a3922..6b7e28f2e62161 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md
@@ -74,9 +74,17 @@ displayed_sidebar: docs
2番目の引数 (*$http*) はWebブラウザから送信されたHTTPリクエストのヘッダとボディです。この情報は**On Web Connectionデータベースメソッド**に"そのまま"渡されることに留意してください。その内容は接続を試みたWebブラウザの仕様により異なります。
Mac OS上のSafariでは、以下のようなヘッダを受け取るでしょう (一部省略):
-```RAW
-GET /favicon.ico HTTP/1.1Referer: http://123.45.67.89/4dcgi/testUser-Agent: Mozilla/5.0 (Macintosh; U; Intel macOS; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10Cache-Control: max-age=0Accept: */*Accept-Language: ja-jpAccept-Encoding: gzip, deflateConnection: keep-aliveHost: 123.45.67.89
-```
+```txt
+GET /favicon.ico HTTP/1.1
+Referer: http://123.45.67.89/4dcgi/test
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
+Cache-Control: max-age=0
+Accept: */*
+Accept-Language: ja-jp
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 123.45.67.89
+```
Windows上のMicrosoft Internet Explorer 8では、以下のようなヘッダを受け取るでしょう:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md
index 4ee2d107d81f0b..820d327adfdb1f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\** トークナイズドされた形式とは、以下のようなトークンシンタックス形式の標準テキストで表現された4D ランゲージおよびストラクチャー要素です(* *フォーミュラ内でのトークンの使用 参照)* *:*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md
index ccaceb9ded586d..178d49367fbd1a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md
@@ -78,10 +78,11 @@ displayed_sidebar: docs
"MyArea" というマルチスタイルエリア内に以下の様なテキストが入っている場合:
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
このテキストは以下の様に表示されます:

diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md
index b252cd34ca066b..076e68ea3a0745 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md
@@ -45,8 +45,13 @@ displayed_sidebar: docs
結果の例:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md
index 7c79e83e6bda03..b65742cd7aa9ce 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md
@@ -3,7 +3,7 @@ id: ClassClass
title: Class
---
-プロジェクトにおいてユーザークラスが [定義](Concepts/classes.md#クラス定義) されていれば、それは 4Dランゲージ環境に読み込まれます。 クラスとは、それ自身が "Class" クラスのオブジェクトであり、プロパティと関数を持ちます。
+When a user class is [defined](../Project/code-overview.md#creating-classes) in the project, it is loaded in the 4D language environment. クラスとは、それ自身が "Class" クラスのオブジェクトであり、プロパティと関数を持ちます。
### 概要
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md
index 31b4ade55aeb9a..e2ab97c1a83c3d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md
@@ -1222,11 +1222,11 @@ $es:=ds.Movie.query("roles.actor.lastName = :1 AND roles.actor{2}.lastName = :2"
この場合、*value* 引数は、以下のプロパティを格納した**比較ベクトルオブジェクト** である必要があります:
-| プロパティ | 型 | 説明 |
-| --------- | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| vector | [4D.Vector](../API/VectorClass.md) | 必須設定です。 比較するベクトル |
-| metric | Text | 任意。 クエリに使用する[ベクトル計算](../API/VectorClass.md#ことなるベクトル計算を理解する)。 以下の(テキスト)定数のいずれか一つを使用できます:`mk cosine` (省略時のデフォルト): ベクトル間のコサイン類似度を計算します。`mk dot`: ベクトルのドット類似度を計算します。`mk euclidean`: ベクトル間のユークリッド距離を計算します。 |
-| threshold | Real | 任意(デフォルト: 0.5)。 選択された"metric"に従って、コサイン、ドット、またはユークリッド類似度に基づいたベクトル比較をフィルタリングするために使用されるしきい値。 最適な結果を得るためには、特定の用途に最適な類似度のしきい値をきちんと選択することが強く推奨されます。 |
+| プロパティ | 型 | 説明 |
+| --------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| vector | [4D.Vector](../API/VectorClass.md) | 必須設定です。 比較するベクトル |
+| metric | Text | 任意。 クエリに使用する[ベクトル計算](../API/VectorClass.md#ことなるベクトル計算を理解する)。 You can use one of the following (Text) constants:`mk cosine` (default if omitted): calculates the [cosine similarity](./VectorClass.md#cosinesimilarity) between vectors.`mk dot`: calculates the [dot similarity](VectorClass.md#dotsimilarity) of vectors.`mk euclidean`: calculates the [Euclidean distance](./VectorClass.md#euclideandistance) between vectors. |
+| threshold | Real | 任意(デフォルト: 0.5)。 選択された"metric"に従って、コサイン、ドット、またはユークリッド類似度に基づいたベクトル比較をフィルタリングするために使用されるしきい値。 最適な結果を得るためには、特定の用途に最適な類似度のしきい値をきちんと選択することが強く推奨されます。 |
**comparator** 記号の、一部のみがサポートされます。 これらの比較記号は、結果としきい値を比較するのに使用されるという点に注意してください:
@@ -1241,23 +1241,33 @@ $es:=ds.Movie.query("roles.actor.lastName = :1 AND roles.actor{2}.lastName = :2"
```4d
var $myVector : 4D.Vector
-$myVector := getVector //(例: 4D.AIKit などから)ベクトルを取得するメソッド
-var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.2}
+$myVector := getVector //method to get a vector, e.g. from 4D.AIKit
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 1.2}
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
**order by** 宣言はクエリ文字列でサポートされており、これによって返されるエンティティセレクション内でエンティティは類似度順にソートされます。 例:
```4d
-var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
- // デフォルト順、最初のエンティティは最も類似したもの
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc"; $comparisonVector)
+ //$results.first() entity is the most similar
```
-同じベクトルがクエリ文字列内に複数回出現した場合、order by は最初のものの結果に適用されます。例:
+:::note
+
+You will generally want vector similarity query results to be sorted from "most similar" to "least similar." By default, results returned with an **order by** clause are sorted in ascending order. Depending on the similarity metric used, you may need to adjust the sorting direction to obtain the correct ranking:
+
+- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Therefore, you will typically need to include the `desc` keyword in the query string.
+- for [**euclidean distance**](./VectorClass.md#euclideandistance) similarity, lower values indicate greater similarity. In this case, the default ascending order (or explicitly using the `asc` keyword) is appropriate.
+
+:::
+
+You can only order on a single vector field. 同じベクトルがクエリ文字列内に複数回出現した場合、order by は最初のものの結果に適用されます。例:
```4d
var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField desc"; /
- {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 は order by に使用されます。
+ {vector : $myVector1 };{vector : $myVector2 })
+ //myVectorField > :1 is used for the order by
```
詳細については[以下の例題](#例題-4-2)を参照してください (例題 4 と 5)。
@@ -1265,6 +1275,7 @@ var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 orde
:::tip 関連したblog 記事
- [4D AI: Searching Entities by Vector Similarity in 4D](https://blog.4d.com/4d-ai-searching-entities-by-vector-similarity-in-4d)
+- [4D AI: Sorting Query Results by Vector Similarity](https://blog.4d.com/4d-ai-sorting-query-results-by-vector-similarity/)
- [Why Your Search Stack Feels Broken — and How Vector Search Fixes It](https://blog.4d.com/why-your-search-stack-feels-broken-and-how-vector-search-fixes-it)
:::
@@ -1631,30 +1642,29 @@ var $client:=cs.AIKit.OpenAI.new("my api key")
var $result:=$client.embeddings.create("my long text to search"; "text-embedding-ada-002")
var $vector:=$result.vector
- // embedding 属性は4D.Vector クラスオブジェクトを格納した4D フィールドに基づいています
- // デフォルトのmetric (コサイン)での検索
-var $employees:=ds.Employee.query("embedding > :1"; {vector : $vector})
- // ユークリッド計量での検索
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk euclidean})
- // 明示的にコサイン計量を指定し、カスタムのしきい値を用いた検索
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk cosine; threshold: 0.9})
- // フォーミュラを使用した検索
-var $employees:=ds.Employee.query(Formula(This.embedding.cosineSimilarity($vector)>0.9))
+ //embedding attribute is based upon a 4D field storing 4D.Vector class objects
+
+ //search with default metric (cosine)
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector : $vector})
+
+ //search with euclidean metric
+var $employees:=ds.Employee.query("embedding < :1 order by embedding"; {vector: $vector; metric: mk euclidean})
+
+ //search with explicit cosine metric and custom threshold
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector: $vector; metric: mk cosine; threshold: 0.9})
+
+ //search with a formula
+var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vector)>0.9))
```
#### 例題 5
-異なるメトリックでのベクトルを使用したベクトル類似度によるクエリを実行し、コサイン類似度で結果を並べ替えたい場合を考えます:
+Vector-based semantic ordering can be combined with traditional ORDA filters in the same query.
```4d
- // 比較ベクトルを作成
-var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
-var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
-
- // embedding 属性は、4D.Vector クラスオブジェクトを格納している4D フィールドに基づいています
-ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
- .orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 0.4}
+var $results := ds.MyTable.query("myVectorField <= :1 AND salary>100000 order by myVectorField, salary desc"; $comparisonVector)
```
#### 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md
index 76ac96acfb0212..ea1bcb318289bd 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md
@@ -855,7 +855,7 @@ End if
クライアント/サーバーでは、リモートユーザーセッションの `.storage` オブジェクトは、サーバーまたはクライアントのものとは**同じではありません**。
-リモートユーザーセッションとWeb セッションが[OTP を使用して共有されていた](../Desktop/sessions.md#sharing-a-desktop-session-for-web-accesses) 場合、これらはたとえOTP がクライアント側のセッションから[作成](#createotp) されていた場合でも、同じ`.storage` オブジェクトをサーバー上で共有します。
+リモートユーザーセッションとWeb セッションが[OTP を使用して共有されていた](../Desktop/sessions.md#sharing-a-remote-session-for-web-accesses) 場合、これらはたとえOTP がクライアント側のセッションから[作成](#createotp) されていた場合でも、同じ`.storage` オブジェクトをサーバー上で共有します。
:::tip
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md
index d9b85cd68a8b69..f54e12ef369aa9 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md
@@ -931,7 +931,7 @@ End if
`server` の関数の引数と戻り値は、[**ストリーム可能**](./dt_object.md#ストリーミングサポート) ストリーム可能でなければなりません。 例えば、[4D.Datastore](../API/DataStoreClass.md)、[File handle](../API/FileHandleClass.md)、あるいは [WebServer](../API/WebServerClass.md) などはストリーム不可能なクラスですが、 [4D.File](../API/FileClass.md) クラスはストリーム可能です。
-この機能は、特に[リモートユーザーセッション](../Desktop/sessions.md#リモートユーザーセッション) のコンテキストにおいて有用で、これを使用することでビジネスロジックを[セッションシングルトン](#shared-or-session-singleton-functions) に実装することでセッションの全てのプロセス間でこれを共有することができ、結果として[`Session`](../commands/session) コマンドの機能を拡張することが可能になります。 この場合、全てのセッション情報がサーバーに集められる様に、関連するビジネスロジックが**サーバー上で**実行されるようにしたい場合があるかもしれません。
+この機能は、特に[リモートユーザーセッション](../Desktop/sessions.md#リモートユーザーセッション) のコンテキストにおいて有用で、これを使用することでビジネスロジックを[セッションシングルトン](#session-singleton) に実装することでセッションの全てのプロセス間でこれを共有することができ、結果として[`Session`](../commands/session) コマンドの機能を拡張することが可能になります。 この場合、全てのセッション情報がサーバーに集められる様に、関連するビジネスロジックが**サーバー上で**実行されるようにしたい場合があるかもしれません。 この場合、全てのセッション情報がサーバーに集められる様に、関連するビジネスロジックが**サーバー上で**実行されるようにしたい場合があるかもしれません。
デフォルトで、共有シングルトンまたはセッションシングルトンの関数はローカルに実行されます。 `server` キーワードをクラス関数定義に追加することで、4D はシングルトンインスタンスをサーバー上で使用します。 この場合、まだインスタンスが存在していない場合、サーバー上でシングルトンのインスタンス化が起こりうることに注意してください。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md
index 09763adf955435..985225e8315173 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md
@@ -58,6 +58,14 @@ title: 制御フロー
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
上記の結果はほぼ同じで、*MethodB* は必要な場合にのみ評価されます。
> **注記:** [三項演算子](../dt_boolean.md#三項演算子) を使うことで、条件式を 1行で書くことができ、[If...Else](../cf_branching.md#ifelseend-if) 文を置き換えることもできます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md
index 54432cce1ac618..d3601236d00c90 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md
@@ -13,13 +13,13 @@ title: メソッド
4D ランゲージにおいて、数種類のメソッドが存在します。 その呼び出し方によって、メソッドは区別されます:
-| 型 | 自動呼び出しのコンテキスト | 引数の受け取り | 説明 |
-| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **プロジェクトメソッド** | 呼び出しに応じて ([プロジェクトメソッドの呼び出し](#calling-project-methods) 参照) | ◯ | 任意のアクションを実行するためのコードです。 作成されたプロジェクトメソッドは、そのプロジェクトのランゲージの一部となります。 |
-| **オブジェクト (ウィジェット) メソッド** | メソッドが設定されたフォームオブジェクトに関連したイベント発生時に | × | フォームオブジェクト (ウィジェットとも呼びます) のプロパティです。 |
-| **フォームメソッド** | メソッドが設定されたフォームに関連したイベント発生時に | × | フォームのプロパティです。 フォームメソッドを使用してデータとオブジェクトを管理することができます。ただし、これら目的には、オブジェクトメソッドを使用する方が通常は簡単であり、より効果的です。 |
-| **トリガー** (別名 *テーブルメソッド*) | テーブルのレコード操作 (追加・削除・修正) の度に | × | テーブルのプロパティです。 トリガーは、データベースのレコードに対して「不正な」操作がおこなわれることを防ぎます。 |
-| **データベースメソッド** | 作業セッションのイベント発生時に | ○ (既定) | 4D には 16のデータベースメソッドがあります。 |
-| **クラス** | クラスのオブジェクトがインスタンス化されたとき、あるいは他のメソッドや[データベースフィールド](../Develop/field-properties.md#class) 内においてオブジェクトインスタンス上でクラスの関数が実行されたときに自動的に呼び出されます。 | ◯(クラス関数) | オブジェクトのクラスの[constructor](./classes.md#class-constructor), [properties](./classes.md#property*) と[関数](./classes.md#function) を宣言および設定するためには、**Class** が使用されます。 [**クラス**](classes.md) 参照。 |
+| 型 | 自動呼び出しのコンテキスト | 引数の受け取り | 説明 |
+| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **プロジェクトメソッド** | On demand, when the project method name is called (see [Project methods](../Project/project-method-properties.md)) | ◯ | 任意のアクションを実行するためのコードです。 作成されたプロジェクトメソッドは、そのプロジェクトのランゲージの一部となります。 |
+| **オブジェクト (ウィジェット) メソッド** | メソッドが設定されたフォームオブジェクトに関連したイベント発生時に | × | フォームオブジェクト (ウィジェットとも呼びます) のプロパティです。 |
+| **フォームメソッド** | メソッドが設定されたフォームに関連したイベント発生時に | × | フォームのプロパティです。 フォームメソッドを使用してデータとオブジェクトを管理することができます。ただし、これら目的には、オブジェクトメソッドを使用する方が通常は簡単であり、より効果的です。 |
+| **トリガー** (別名 *テーブルメソッド*) | テーブルのレコード操作 (追加・削除・修正) の度に | × | テーブルのプロパティです。 トリガーは、データベースのレコードに対して「不正な」操作がおこなわれることを防ぎます。 |
+| **データベースメソッド** | 作業セッションのイベント発生時に | ○ (既定) | 4D には 16のデータベースメソッドがあります。 |
+| **クラス** | クラスのオブジェクトがインスタンス化されたとき、あるいは他のメソッドや[データベースフィールド](../Develop/field-properties.md#class) 内においてオブジェクトインスタンス上でクラスの関数が実行されたときに自動的に呼び出されます。 | ◯(クラス関数) | オブジェクトのクラスの[constructor](./classes.md#class-constructor), [properties](./classes.md#property) と[関数](./classes.md#function) を宣言および設定するためには、**Class** が使用されます。 [**クラス**](classes.md) 参照。 [**クラス**](classes.md) 参照。 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md
index 78eac711d90790..aaea001a20fc0d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md
@@ -131,20 +131,20 @@ title: クライアント/サーバー管理
以下の表は、デフォルトでのコードの実行場所と、その実行場所を切り替えるための方法(許可されていれば)をまとめたものです。 この表での **ローカル** とは、コードはそれが実際に呼ばれたマシン上で実行されることを意味するという点に注意してください。
-| コード | デフォルトの実行場所 | 切り替え方法 |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [ORDA データモデル関数](../ORDA/ordaClasses.md) | server | 関数定義内で `local` キーワードを使用 |
-| ORDA 計算属性関数のうち [`get()`](../ORDA/ordaClasses.md#function-get-attributename)、 [`set()`](../ORDA/ordaClasses.md#function-set-attributename) | server | 関数定義内で `local` キーワードを使用 |
-| ORDA 計算属性関数のうち [`query()`](../ORDA/ordaClasses.md#function-query-attributename)、 [`orderBy()`](../ORDA/ordaClasses.md#function-orderby-attributename) | server | n/a |
-| ORDA イベント関数 [(全般)](../ORDA/orda-events.md) | server | n/a |
-| ORDA イベント関数 [`constructor()`](../ORDA/ordaClasses.md#class-constructor-1) | ローカル | n/a |
-| ORDA イベント関数 [`event touched()`](../ORDA/orda-events.md#function-event-touched) | server | 関数定義内で `local` キーワードを使用 |
-| [ユーザークラス関数](../Concepts/classes.md#function) | ローカル | n/a |
-| [共有シングルトンまたは施ッションシングルトンの関数](../Concepts/classes.md#シングルトンクラス) | ローカル | 関数定義内で `server` キーワードを使用 |
-| トリガ | server | n/a |
-| クライアントから呼び出されたプロジェクトメソッド | client | [**サーバー上で実行する** オプション](../Project/project-method-properties.md#サーバー上で実行) をチェックする。 コードは、[ユーザーセッションプロセス](./sessions.md#remote-user-sessions-remote-user-sessions) のツインプロセス内で実行されます。 |
-| | | [`Execute on server`](../commands/execute-on-server) コマンドを呼び出す。 コードは[ストアドプロシージャセッション](./sessions.md#stored-procedure-sessions-stored-procedure-sessions) 内で実行されます。 |
-| サーバー上のストアドプロシージャから呼び出されたプロジェクトメソッド | server | [`EXECUTE ON CLIENT`](../commands/execute-on-client) コマンドを呼び出す。 ターゲットとなるクライアントは [登録されている](../commands/register-client) 必要があります。 |
-| オブジェクトメソッド | ローカル | n/a |
-| 以下のデータベースメソッド:- On Backup Shutdown
- On Backup Startup
- On Server Close Connection
- On Server Open Connection
- On Server Shutdown
- On Server Startup
- On SQL Authentication
- On Web Authentication
- On Web Connection
| server | n/a |
-| 以下のデータベースメソッド: | client | n/a |
\ No newline at end of file
+| コード | デフォルトの実行場所 | 切り替え方法 |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [ORDA データモデル関数](../ORDA/ordaClasses.md) | server | 関数定義内で `local` キーワードを使用 |
+| ORDA 計算属性関数のうち [`get()`](../ORDA/ordaClasses.md#function-get-attributename)、 [`set()`](../ORDA/ordaClasses.md#function-set-attributename) | server | 関数定義内で `local` キーワードを使用 |
+| ORDA 計算属性関数のうち [`query()`](../ORDA/ordaClasses.md#function-query-attributename)、 [`orderBy()`](../ORDA/ordaClasses.md#function-orderby-attributename) | server | n/a |
+| ORDA イベント関数 [(全般)](../ORDA/orda-events.md) | server | n/a |
+| ORDA イベント関数 [`constructor()`](../ORDA/ordaClasses.md#class-constructor-1) | ローカル | n/a |
+| ORDA イベント関数 [`event touched()`](../ORDA/orda-events.md#function-event-touched) | server | 関数定義内で `local` キーワードを使用 |
+| [ユーザークラス関数](../Concepts/classes.md#function) | ローカル | n/a |
+| [共有シングルトンまたは施ッションシングルトンの関数](../Concepts/classes.md#シングルトンクラス) | ローカル | 関数定義内で `server` キーワードを使用 |
+| トリガ | server | n/a |
+| クライアントから呼び出されたプロジェクトメソッド | client | [**サーバー上で実行する** オプション](../Project/project-method-properties.md#サーバー上で実行) をチェックする。 コードは、[ユーザーセッションプロセス](./sessions.md#remote-user-sessions) のツインプロセス内で実行されます。 |
+| | | [`Execute on server`](../commands/execute-on-server) コマンドを呼び出す。 コードは[ストアドプロシージャセッション](./sessions.md#stored-procedure-sessions) 内で実行されます。 |
+| サーバー上のストアドプロシージャから呼び出されたプロジェクトメソッド | server | [`EXECUTE ON CLIENT`](../commands/execute-on-client) コマンドを呼び出す。 ターゲットとなるクライアントは [登録されている](../commands/register-client) 必要があります。 |
+| オブジェクトメソッド | ローカル | n/a |
+| 以下のデータベースメソッド:- On Backup Shutdown
- On Backup Startup
- On Server Close Connection
- On Server Open Connection
- On Server Shutdown
- On Server Startup
- On SQL Authentication
- On Web Authentication
- On Web Connection
| server | n/a |
+| 以下のデータベースメソッド: | client | n/a |
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md
index a4aa007beeedd2..83780b886e96e9 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md
@@ -164,7 +164,7 @@ Session.setPrivileges("viewProducts")
### 効果
-スタンドアロンセッションでも、Web セッションと [OTP 共有](#sharing-a-desktop-session-for-web-accesses)を使用することでクライアント/サーバーアプリケーションの開発とテストを行うことができます。 スタンドアロンセッション内のコードでも、リモートセッションにおける `session` オブジェクトと同じように `session` オブジェクトを使用することができます。
+スタンドアロンセッションでも、Web セッションと [OTP 共有](#sharing-a-remote-session-for-web-accesses)を使用することでクライアント/サーバーアプリケーションの開発とテストを行うことができます。 スタンドアロンセッション内のコードでも、リモートセッションにおける `session` オブジェクトと同じように `session` オブジェクトを使用することができます。 スタンドアロンセッション内のコードでも、リモートセッションにおける `session` オブジェクトと同じように `session` オブジェクトを使用することができます。
### 利用可能性
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md
index 79142fc89a5ce9..33abea6114d27f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md
@@ -68,7 +68,7 @@ title: コンポーネントの開発
- ホストプロジェクトがインタープリタモードで実行中である
- コンポーネントが、[インタープリタモードでロードされてい](../Project/components.md#interpreted-and-compiled-components) 、ソースコードが編集可能である
-- コンポーネントのファイルはローカルに保存されます(つまり、それらは[downloaded from GitHub からダウンロードされるわけではありません](../Project/components.md#github-依存関係を追加))。
+- the component files are stored locally (i.e. they are not [downloaded from GitHub](../Project/components.md#adding-a-github-or-gitlab-dependency)).
このコンテキストでは、以下の2箇所において、コンポーネントのコードをコードエディターで開き、編集して、保存することができます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md
index a1f2c7b4200138..08104cd7828bfd 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md
@@ -18,7 +18,7 @@ title: 4D アプリケーションの拡張
4D は様々なコンポーネントを4D コミュニティに対して提供しており、これは幅広い開発需要をカバーしています。 全ての4D製の コンポーネントは[**4D github repository**](https://github.com/4d) にあります。
-これらのコンポーネントの一部は、デフォルトで[依存関係マネージャ](../Project/components.md#adding-a-github-dependency), に登録されています。具体的には以下の通りです:
+A subset of these components is listed by default in the Github panel of the [Dependency Manager](../Project/components.md#adding-a-github-or-gitlab-dependency), including:
| コンポーネント | Github リポジトリ | 説明 | 主な機能 |
| --------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md
index 2fc85b74e81e7c..31140e57fa7c34 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md
@@ -41,7 +41,7 @@ title: フォームプロパティ
## フォームクラス
-フォームに割り当てる既存の[ユーザークラス](../Concepts/classes.md#class-definition) の名前。 ユーザークラスはホストプロジェクトのものでも[コンポーネント](../Extensions/develop-components.md#sharing-of-classes) のものでも使用可能です。後者の場合は正式なシンタックスは"[*componentNameSpace*](../settings/general.md#component-namespace-in-the-class-store).className" となります。
+フォームに割り当てる既存の[ユーザークラス](../Project/code-overview.md#user-classes) の名前。 ユーザークラスはホストプロジェクトのものでも[コンポーネント](../Extensions/develop-components.md#sharing-of-classes) のものでも使用可能です。後者の場合は正式なシンタックスは"[*componentNameSpace*](../settings/general.md#component-namespace-in-the-class-store).className" となります。
フォームにクラスを割り当てることで、以下のような利点があります:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md
index 5497f31a73c8ae..8140c31fa373c1 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md
@@ -96,7 +96,8 @@ title: フォームオブジェクト JSON プロパティリスト
| [`hideFocusRing`](properties_Appearance.md#フォーカスの四角を隠す) | オブジェクトにフォーカスがあるときに選択状態を表す強調用の四角形を非表示にします。 | true, false |
| [`hideSystemHighlight`](properties_Appearance.md#セレクションハイライトを非表示) | リストボックス内の選択レコードのハイライトを非表示にします。 | true, false |
| [`highlightSet`](properties_ListBox.md#ハイライトセット) | セットの名称 | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#横線カラー) | リストボックス内の横線の色を指定します (デフォルトはグレー)。 | 任意の CSS値; "transparent"; "automatic" |
+| [`horizontalLineStroke`](properties_Gridlines.md#横線カラー) | リストボックス内の横線の色を指定します (デフォルトはグレー)。 | 任意の css値; "transparent"; "automatic" |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Sets a horizontal padding for listbox cells. | Number of pixels (must be >=0) |
| **i** | | |
| [`icon`](properties_TextAndPicture.md#ピクチャーパス名) | ボタン、チェックボックス、ラジオボタン、リストボックスヘッダーに使用するピクチャーのパス名 | POSIX シンタックスの相対パス、またはファイルシステムパス |
| [`iconFrames`](properties_TextAndPicture.md#状態の数) | ピクチャー内で表示される状態の数を設定します。 | 最小値: 1 |
@@ -214,6 +215,7 @@ title: フォームオブジェクト JSON プロパティリスト
| [`variableCalculation`](properties_Object.md#変数の計算) | 数値の計算を実行することができます。 | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
| [`verticalAlign`](properties_Text.md#縦揃え) | エリア中のテキストの縦位置を指定します。 | "automatic", "top", "middle", "bottom" |
| [`verticalLineStroke`](properties_Gridlines.md#縦線カラー) | リストボックス内の縦線の色を指定します (デフォルトはグレー)。 | 任意の css値; "transparent"; "automatic" |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Sets a vertical padding for listbox cells. | ピクセル数 (>=0) |
| [`visibility`](properties_Display.md#表示状態) | アプリケーションモードでオブジェクトが非表示になります。 | "visible", "hidden", "selectedRows", "unselectedRows" |
| **w** | | |
| [`webEngine`](properties_WebArea.md#埋め込みwebレンダリングエンジンを使用) | Webエリアで使用する描画エンジンを 2つのうちから選択します。 | "embedded", "system" |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md
index 996b6ab529a6f6..a2fed7d412e6dc 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md
@@ -28,7 +28,7 @@ Form.comp.city:=$cityManager.City.getCityName(Form.comp.zipcode)

-各データモデルオブジェクトに関わるクラスは、4D によって [あらかじめ自動的に作成](#クラスの作成) されます。
+In addition, 4D [automatically pre-creates](../Project/code-overview.md#orda-classes) the classes for each available data model object.
## アーキテクチャー
@@ -45,7 +45,7 @@ ORDA データモデルクラスはすべて **`cs`** クラスストアのプ
| cs.*DataClassName*Entity | cs.EmployeeEntity | [`dataClass.get()`](API/DataClassClass.md#get), [`dataClass.new()`](API/DataClassClass.md#new), [`entitySelection.first()`](API/EntitySelectionClass.md#first), [`entitySelection.last()`](API/EntitySelectionClass.md#last), [`entity.previous()`](API/EntityClass.md#previous), [`entity.next()`](API/EntityClass.md#next), [`entity.first()`](API/EntityClass.md#first), [`entity.last()`](API/EntityClass.md#last), [`entity.clone()`](API/EntityClass.md#clone) |
| cs.*DataClassName*Selection | cs.EmployeeSelection | [`dataClass.query()`](API/DataClassClass.md#query), [`entitySelection.query()`](API/EntitySelectionClass.md#query), [`dataClass.all()`](API/DataClassClass.md#all), [`dataClass.fromCollection()`](API/DataClassClass.md#fromcollection), [`dataClass.newSelection()`](API/DataClassClass.md#newselection), [`entitySelection.drop()`](API/EntitySelectionClass.md#drop), [`entity.getSelection()`](API/EntityClass.md#getselection), [`entitySelection.and()`](API/EntitySelectionClass.md#and), [`entitySelection.minus()`](API/EntitySelectionClass.md#minus), [`entitySelection.or()`](API/EntitySelectionClass.md#or), [`entitySelection.orderBy()`](API/EntitySelectionClass.md#or), [`entitySelection.orderByFormula()`](API/EntitySelectionClass.md#orderbyformula), [`entitySelection.slice()`](API/EntitySelectionClass.md#slice), `Create entity selection` |
-> ORDA ユーザークラスは通常のクラスファイル (.4dm) としてプロジェクトの Classes サブフォルダーに保存されます [(後述参照)](#クラスファイル)。
+> ORDA ユーザークラスは通常のクラスファイル (.4dm) としてプロジェクトの Classes サブフォルダーに保存されます。
ORDA データモデルユーザークラスのオブジェクトインスタンスは、それらの親クラスのプロパティや関数を使うことができます:
@@ -274,7 +274,7 @@ End if
データモデルクラスを作成・編集する際には次のルールに留意しなくてはなりません:
- 4D のテーブル名は、**cs** [クラスストア](Concepts/classes.md#クラスストア) 内において自動的に DataClass クラス名として使用されるため、**cs** 名前空間において衝突があってはなりません。 特に:
- - 4D テーブル名と[ユーザークラス名](../Concepts/classes.md#クラス定義)に同じ名前をつけてはいけません。 衝突が起きた場合には、ユーザークラスのコンストラクターは使用不可となります (コンパイラーにより警告が返されます)。
+ - Do not give the same name to a 4D table and to a [user class name](../Project/code-overview.md#user-classes). 衝突が起きた場合には、ユーザークラスのコンストラクターは使用不可となります (コンパイラーにより警告が返されます)。
- 4D テーブルに予約語を使用してはいけません (例: "DataClass")。
- クラス定義の際、[`Class extends`](../Concepts/classes.md#class-extends-classname) ステートメントに使用する親クラスの名前は完全に合致するものでなくてはいけません (文字の大小が区別されます)。 たとえば、EntitySelection クラスを継承するには `Class extends EntitySelection` と書きます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Project/components.md
index bf145a8a45cc44..674c7ed8692a4c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Project/components.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/Project/components.md
@@ -49,7 +49,7 @@ title: 依存関係
4Dプロジェクトにコンポーネントを読み込むには、以下の方法があります:
- コンポーネントファイルを[プロジェクトの**Components**フォルダ](architecture.md#components)内にコピーする(インタープリタ版コンポーネントパッケージフォルダはフォルダ名の末尾が".4dbase" になっている必要があります、上記参照)。
-- または、プロジェクトの **dependencies.json** ファイルでコンポーネントを宣言します。これは、[**依存関係インターフェースを使用して依存関係を追加**](#github依存関係の追加) するときに、ローカルファイルに対して自動的におこなわれます。
+- または、プロジェクトの **dependencies.json** ファイルでコンポーネントを宣言します。これは、[**依存関係インターフェースを使用して依存関係を追加**](#githubまたはgitlab依存関係の追加) するときに、ローカルファイルに対して自動的におこなわれます。
**dependencies.json** ファイルで宣言されているコンポーネントは、異なる場所に保存できます:
@@ -530,7 +530,7 @@ GitHubでリリースが作成されると、そこに**タグ** と**バージ
:::note
-If the component is stored on a [private repository](#private-repositories) and your personal token is missing, an error message is displayed and a **Add a personal access token...** button is displayed (see [Providing your access token](#providing-your-access-token)).
+もしコンポーネントが [プライベートリポジトリ](#認証とトークン) に保存されていて、必要なパーソナルアクセストークン (personal access token) がない場合はエラーメッセージが表示され、**パーソナルアクセストークンを追加...** ボタンが表示されます ([アクセストークンの提供](#アクセストークンの提供) 参照)。
:::
@@ -550,7 +550,7 @@ If the component is stored on a [private repository](#private-repositories) and
- **メジャー更新の手前まで**: [セマンティックバージョニングの範囲](#タグとバージョン)を定義して、更新を次のメジャーバージョンの手前までに制限します。
- **マイナー更新の手前まで**: 上と同様に、更新を次のマイナーバージョンの手前までに制限します。
- **自動更新しない(タグ指定)**: 利用可能なリストから [特定のタグ](#セマンティックバージョン範囲]) を選択するか、手動で入力します。
-- **自動更新する(latest)** (GitHub) あるいは **Highest** (GitLab): 対応するタグを持ったリリースをダウンロードすることを許可します。これらは通常最新のリリースです。 **警告:** このオプションを使用するのは開発の初期段階では便利かもしれませんが、ベータリリースを含め新しいリリースを自動的に取り込むため、予期せぬアップデートや変更を引き起こす可能性があります。そのため、製品環境や共有プロジェクトでは避けた方が賢明です。
+- **自動更新する(latest)** (GitHub) あるいは **自動更新する(Highest)** (GitLab): 対応するタグを持ったリリースをダウンロードすることを許可します。これらは通常最新のリリースです。 **警告:** このオプションを使用するのは開発の初期段階では便利かもしれませんが、ベータリリースを含め新しいリリースを自動的に取り込むため、予期せぬアップデートや変更を引き起こす可能性があります。そのため、製品環境や共有プロジェクトでは避けた方が賢明です。
現在の依存関係バージョンは、依存関係の項目の右側に表示されます:
@@ -591,7 +591,7 @@ If the component is stored on a [private repository](#private-repositories) and

-[コンポーネントバージョン設定](#github-依存関係のバージョン範囲を定義) に合致する新しいコンポーネントのバージョンがGitHub 上で検知された場合、特殊な依存関係ステータスが表示されます:
+If a new component version matching your [component versioning configuration](#defining-a-dependency-version-range) is detected on GitHub, a specific dependency status is displayed:

diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md
index d03629243b8a5b..a6faad8d0500de 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md
@@ -27,11 +27,11 @@ title: はじめに
1. [依存関係マネージャー](../Project/components.md) ウィンドウを開きます。
2. **+** ボタンをクリックしてコンポーネントを追加します。
3. **GitHub** タブをクリックします。
-4. [コンポーネントのデフォルトのリスト](../Extensions/overview.md) から**4d/4D-ViewPro** を選択し、[依存関係ルール](../Project/components.md#github-依存関係のバージョン範囲を定義) として**Follow 4D version** を選択して、**追加** をクリックします。
+4. [コンポーネントのデフォルトのリスト](../Extensions/overview.md) から**4d/4D-ViewPro** を選択し、[依存関係ルール](../Project/components.md#依存関係のバージョン範囲を定義) として**4D のバージョンに追随する** を選択して、**追加** をクリックします。

-プロジェクトを再起動すると、4D View Pro コンポーネントは[Github 依存関係](../Project/components.md#githubの依存関係の追加)としてインストールされます。
+プロジェクトを再起動すると、4D View Pro コンポーネントは[Github 依存関係](../Project/components.md#githubまたはgitlab依存関係を追加する)としてインストールされます。
4D View Pro はライセンスを必要とします。 これらの機能を使用するには、アプリケーションにおいて当該ライセンスを有効化しておく必要があります。 4D View ライセンスがインストールされていない場合、4D View Pro 機能を必要とするオブジェクトのコンテンツはランタイムでは表示されず、エラーメッセージだけが表示されます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md
index d989b84ec448b5..f3255ffec745ca 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md
@@ -42,7 +42,7 @@ displayed_sidebar: docs
デフォルトでは、旧式の4D Write ドキュメント内に挿入されたHTM式は読み込まれません(4D Write Pro ではサポートされません)。*option* 引数にwk import html expressions as text 定数を渡した場合、HTML 式は、*##htmlBegin##* および *##htmlEnd##* タグに挟まれた標準テキストとして読み込まれます(この場合、後からフォーマットを直す必要があります)。返される標準テキストは、例えば以下のような形です:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md
index bf1a8b4470193e..5d308e006a56d2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md
@@ -25,16 +25,16 @@ title: コードエディター
コードエディターにはメソッドの実行と編集に関連する基本的な機能に素早くアクセスするためのツールバーがあります。
-| 機能 | アイコン | 説明 |
-| -------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| **メソッド実行** |  | コードエディターウィンドウには、そのエディターで開かれているメソッドを実行するためのボタンがあります。 このボタンに割り当てられているメニューを使用して、実行タイプを選択できます:- **新規プロセスで実行**: プロセスを作成し、そのプロセス内でメソッドを実行します。
- **新規プロセスで実行&デバッグ**: プロセスを作成し、デバッガーを開いてメソッドを表示します。
- **アプリケーションプロセスで実行**: アプリケーションプロセス内でメソッドを実行します。
- **アプリケーションプロセスで実行&デバッグ**: アプリケーションプロセス内でデバッガーを開き、メソッドを表示します。
メソッド実行に関するより詳細な情報については、[プロジェクトメソッドの呼び出し](../Concepts/methods.md#プロジェクトメソッドの呼び出し)を参照して下さい。 |
-| **メソッド中を検索** |  | [*検索* エリア](#検索と置換) を表示します。 |
-| **マクロ** |  | 選択対象にマクロを挿入します。 ドロップダウンの矢印をクリックすると、利用可能なマクロがすべて表示されます。 マクロの作成とインスタンス化についの詳細は、 [マクロ](#マクロ) を参照ください。 |
-| **すべて折りたたむ / すべて展開** |  | これらのボタンを使用してコードの制御フロー構造を折りたたんだり展開したりできます。 |
-| **メソッド情報** |  | [メソッドプロパティ](../Project/project-method-properties.md) ダイアログボックスを表示します(プロジェクトモードのみ)。 |
-| **最新のクリップボードの値** |  | 直近でクリップボードに保存された値を表示します。 |
-| **クリップボード** |  | コードエディターで利用可能な 9つのクリップボードです。 クリップボードのアイコンをクリックするか、あるいはキーボードショートカットによって、
[これらのクリップボードを利用](#クリップボード) できます。 [環境設定オプション](Preferences/methods.md#options-1) を使用するとそれらを非表示にすることができます。 |
-| **ナビゲーションドロップダウン** |  | 自動的にタグ付けされたコンテンツや手動で宣言されたマーカーを使用して、メソッドやクラス内を移動できます。 後述参照。 |
+| 機能 | アイコン | 説明 |
+| -------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **メソッド実行** |  | コードエディターウィンドウには、そのエディターで開かれているメソッドを実行するためのボタンがあります。 このボタンに割り当てられているメニューを使用して、実行タイプを選択できます:- **新規プロセスで実行**: プロセスを作成し、そのプロセス内でメソッドを実行します。
- **新規プロセスで実行&デバッグ**: プロセスを作成し、デバッガーを開いてメソッドを表示します。
- **アプリケーションプロセスで実行**: アプリケーションプロセス内でメソッドを実行します。
- **アプリケーションプロセスで実行&デバッグ**: アプリケーションプロセス内でデバッガーを開き、メソッドを表示します。
For more information on method execution, see [Project Methods](../Project/project-method-properties.md). |
+| **メソッド中を検索** |  | [*検索* エリア](#検索と置換) を表示します。 |
+| **マクロ** |  | 選択対象にマクロを挿入します。 ドロップダウンの矢印をクリックすると、利用可能なマクロがすべて表示されます。 マクロの作成とインスタンス化についの詳細は、 [マクロ](#マクロ) を参照ください。 |
+| **すべて折りたたむ / すべて展開** |  | これらのボタンを使用してコードの制御フロー構造を折りたたんだり展開したりできます。 |
+| **メソッド情報** |  | [メソッドプロパティ](../Project/project-method-properties.md) ダイアログボックスを表示します(プロジェクトモードのみ)。 |
+| **最新のクリップボードの値** |  | 直近でクリップボードに保存された値を表示します。 |
+| **クリップボード** |  | コードエディターで利用可能な 9つのクリップボードです。 クリップボードのアイコンをクリックするか、あるいはキーボードショートカットによって、
[これらのクリップボードを利用](#クリップボード) できます。 [環境設定オプション](Preferences/methods.md#options-1) を使用するとそれらを非表示にすることができます。 |
+| **ナビゲーションドロップダウン** |  | 自動的にタグ付けされたコンテンツや手動で宣言されたマーカーを使用して、メソッドやクラス内を移動できます。 後述参照。 |
### 編集エリア
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
index fa6fe52f28184a..2786d8ea34f4c8 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
@@ -52,7 +52,7 @@ displayed_sidebar: docs
```4d
// On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// メソッドコード
```
@@ -132,7 +132,7 @@ BASIC認証モードの**On Web Authenticationデータベースメソッド**
```4d
//On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $ipServerDuser : Boolean
ARRAY TEXT($users;0)
@@ -178,7 +178,7 @@ DIGESTモードのの例題:
```4d
//On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
$result:=False
//セキュリティのため@を含むユーザ名とパスワードは拒否
If(WithWildcard($user))
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md
index ebfd475005dc2d..1ef2fb517b99dc 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md
@@ -74,9 +74,17 @@ displayed_sidebar: docs
2番目の引数 (*$http*) はWebブラウザから送信されたHTTPリクエストのヘッダとボディです。この情報は**On Web Connectionデータベースメソッド**に"そのまま"渡されることに留意してください。その内容は接続を試みたWebブラウザの仕様により異なります。
Mac OS上のSafariでは、以下のようなヘッダを受け取るでしょう (一部省略):
-```RAW
-GET /favicon.ico HTTP/1.1Referer: http://123.45.67.89/4dcgi/testUser-Agent: Mozilla/5.0 (Macintosh; U; Intel macOS; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10Cache-Control: max-age=0Accept: */*Accept-Language: ja-jpAccept-Encoding: gzip, deflateConnection: keep-aliveHost: 123.45.67.89
-```
+```txt
+GET /favicon.ico HTTP/1.1
+Referer: http://123.45.67.89/4dcgi/test
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
+Cache-Control: max-age=0
+Accept: */*
+Accept-Language: ja-jp
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 123.45.67.89
+```
Windows上のMicrosoft Internet Explorer 8では、以下のようなヘッダを受け取るでしょう:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md
index df1e01afef4f9c..8698a2f43df259 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md
@@ -45,8 +45,13 @@ displayed_sidebar: docs
結果の例:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md
index 2aa29f33493bd6..25cf7dfde190aa 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\** トークナイズドされた形式とは、以下のようなトークンシンタックス形式の標準テキストで表現された4D ランゲージおよびストラクチャー要素です(* *フォーミュラ内でのトークンの使用 参照)* *:*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md
index 58bdfb0061bbec..10aec11c113ca2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md
@@ -84,7 +84,25 @@ displayed_sidebar: docs
コードが4D Server上で実行され、リモートのクライアントマシンによってロックされている場合、以下の様なオブジェクトが$vOlocked 内に返されます:
```json
-{ "records": [ { "contextID": "B0EC087DC2FA704496C0EA15DC011D1C", "contextAttributes": { "task_id": 2, "user_name": "achim", "user4d_id": 1, "host_name": "achim-pcwin", "task_name": "P_RandomLock", "is_remote_context": true, "client_uid": "0696E66F6CD731468E6XXX581A87554A", "client_version": -268364752 }, "recordNumber": 1 } ]}
+{
+ "records": [
+ {
+ "contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
+ "contextAttributes": {
+ "task_id": 2,
+ "user_name": "achim",
+ "user4d_id": 1,
+ "host_name": "achim-pcwin",
+ "task_name": "P_RandomLock",
+ "is_remote_context": true,
+ "client_uid": "0696E66F6CD731468E6XXX581A87554A",
+ "client_version": -268364752
+ },
+ "recordNumber": 1
+ }
+ ]
+}
+
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
index 1783f8d8a71f79..7fdf4debb261ce 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
@@ -78,10 +78,11 @@ displayed_sidebar: docs
"MyArea" というマルチスタイルエリア内に以下の様なテキストが入っている場合:
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
このテキストは以下の様に表示されます:

diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md
index 646d3de02f90a7..1a14026f3fc9f4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md
@@ -65,8 +65,9 @@ displayed_sidebar: docs
以下のテキストドキュメントが与えられている場合を考えます(フィールドはtabによって分けられています)。
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
以下のコードを実行すると、
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md
index 21d7db6fee1d95..b6dfe0a9b7e756 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md
@@ -68,8 +68,18 @@ displayed_sidebar: docs
以下のXML 構造がある場合を考えます:
-```RAW
- Harry Potter 29.99 Learning XML 39.95
+```xml
+
+
+
+ Harry Potter
+ 29.99
+
+
+ Learning XML
+ 39.95
+
+
```
以下のコードを実行すると、XML 要素を素早く検索し、その値を表示させることができます:
@@ -95,10 +105,18 @@ displayed_sidebar: docs
以下のXML構造があるとき:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
以下のコード使用して、それぞれのElem2 要素の参照をarrAfound 配列に取得することができます:
```4d
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md
index 09763adf955435..985225e8315173 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md
@@ -58,6 +58,14 @@ title: 制御フロー
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
上記の結果はほぼ同じで、*MethodB* は必要な場合にのみ評価されます。
> **注記:** [三項演算子](../dt_boolean.md#三項演算子) を使うことで、条件式を 1行で書くことができ、[If...Else](../cf_branching.md#ifelseend-if) 文を置き換えることもできます。
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 5497f31a73c8ae..8140c31fa373c1 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
@@ -96,7 +96,8 @@ title: フォームオブジェクト JSON プロパティリスト
| [`hideFocusRing`](properties_Appearance.md#フォーカスの四角を隠す) | オブジェクトにフォーカスがあるときに選択状態を表す強調用の四角形を非表示にします。 | true, false |
| [`hideSystemHighlight`](properties_Appearance.md#セレクションハイライトを非表示) | リストボックス内の選択レコードのハイライトを非表示にします。 | true, false |
| [`highlightSet`](properties_ListBox.md#ハイライトセット) | セットの名称 | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#横線カラー) | リストボックス内の横線の色を指定します (デフォルトはグレー)。 | 任意の CSS値; "transparent"; "automatic" |
+| [`horizontalLineStroke`](properties_Gridlines.md#横線カラー) | リストボックス内の横線の色を指定します (デフォルトはグレー)。 | 任意の css値; "transparent"; "automatic" |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Sets a horizontal padding for listbox cells. | Number of pixels (must be >=0) |
| **i** | | |
| [`icon`](properties_TextAndPicture.md#ピクチャーパス名) | ボタン、チェックボックス、ラジオボタン、リストボックスヘッダーに使用するピクチャーのパス名 | POSIX シンタックスの相対パス、またはファイルシステムパス |
| [`iconFrames`](properties_TextAndPicture.md#状態の数) | ピクチャー内で表示される状態の数を設定します。 | 最小値: 1 |
@@ -214,6 +215,7 @@ title: フォームオブジェクト JSON プロパティリスト
| [`variableCalculation`](properties_Object.md#変数の計算) | 数値の計算を実行することができます。 | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
| [`verticalAlign`](properties_Text.md#縦揃え) | エリア中のテキストの縦位置を指定します。 | "automatic", "top", "middle", "bottom" |
| [`verticalLineStroke`](properties_Gridlines.md#縦線カラー) | リストボックス内の縦線の色を指定します (デフォルトはグレー)。 | 任意の css値; "transparent"; "automatic" |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Sets a vertical padding for listbox cells. | ピクセル数 (>=0) |
| [`visibility`](properties_Display.md#表示状態) | アプリケーションモードでオブジェクトが非表示になります。 | "visible", "hidden", "selectedRows", "unselectedRows" |
| **w** | | |
| [`webEngine`](properties_WebArea.md#埋め込みwebレンダリングエンジンを使用) | Webエリアで使用する描画エンジンを 2つのうちから選択します。 | "embedded", "system" |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md
index 120a2087373e27..e7901690e7edd7 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md
@@ -210,7 +210,7 @@ GitHub に保存されているコンポーネントは [**dependencies.json**
}
```
-... 上記の場合、"myGitHubComponent1" は宣言とパス定義の両方がされていますが、"myComponent2" は宣言されているだけです。 **environment4d.json** ファイルは必須ではありません。 このファイルは、**dependencies.json** ファイル内で宣言された一部またはすべてのコンポーネントのついて、**カスタムパス** を定義するのに使用します。 このファイルは、プロジェクトパッケージフォルダーまたはその親フォルダーのいずれかに保存することができます (ルートまでの任意のレベル)。
+... 上記の場合、"myGitHubComponent1" は宣言とパス定義の両方がされていますが、"myComponent2" は宣言されているだけです。 そのため、[**environment4d.json**](#environment4djson) ファイルにパスを定義する必要があります:
```json
{
@@ -481,7 +481,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ

-接続が確立されると、入力エリアの右側に GitHubアイコン  が表示されます。 このアイコンをクリックすると、既定のブラウザーでリポジトリを開くことができます。
+接続が確立されると、入力エリアの右側に GitHubアイコン  が表示されます。 このアイコンをクリックすると、既定のブラウザでリポジトリを開くことができます。
:::note
@@ -513,7 +513,7 @@ GitHub 依存関係は[**dependencies.json**](#dependenciesjson) ファイル内
#### GitHub 依存関係バージョン範囲の変更
-一覧に表示されたGitHub 依存関係に対して[バージョン設定](#github-依存関係のバージョン範囲を定義) を編集することができます: 編集する依存関係を選択し、コンテキストメニューから**依存関係を編集...** を選択して下さい。 In the "依存関係を編集" ダイアログボックス内にて、依存関係のルールメニューを編集し、**適用** をクリックします。
+一覧に表示されたGitHub 依存関係に対して[バージョン設定](#github-依存関係のバージョン範囲を定義) を編集することができます: 編集する依存関係を選択し、コンテキストメニューから**依存関係を編集...** を選択して下さい。 "依存関係を編集" ダイアログボックス内にて、依存関係のルールメニューを編集し、**適用** をクリックします。
バージョン範囲の変更は、自動アップデート機能を使用しているときに依存関係を特定のバージョン番号にロックしておきたいときに有用です。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md
index 20a2f2c77ba2e7..10e3dab40ef907 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md
@@ -42,7 +42,7 @@ displayed_sidebar: docs
デフォルトでは、旧式の4D Write ドキュメント内に挿入されたHTM式は読み込まれません(4D Write Pro ではサポートされません)。*option* 引数にwk import html expressions as text 定数を渡した場合、HTML 式は、*##htmlBegin##* および *##htmlEnd##* タグに挟まれた標準テキストとして読み込まれます(この場合、後からフォーマットを直す必要があります)。返される標準テキストは、例えば以下のような形です:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
index a61a3604684b4b..ad6a7a3426528f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
@@ -24,7 +24,7 @@ title: OpenAIParameters
| `onResponse` | 4D.Function | リクエストが**正常に**終了した場合に非同期で呼び出される関数。
*Ensure that the current process does not terminate.* |
| `onError` | 4D.Function | リクエストが**エラーで**終了した場合に非同期で呼び出される関数。
*Ensure that the current process does not terminate.* |
-> コールバック関数は、同期コード内での関数によって返される結果のオブジェクト型([OpenAIResult](Classes/OpenAIResult.md) 子クラスのうちのいずれか)と同じものを受け取ります。
+> これらのコールバック関数は、同期コード内での関数によって返される結果のオブジェクト型([OpenAIResult](./OpenAIResult.md) 子クラスのうちのいずれか)と同じものを受け取ります。
詳細な情報については [非同期コードに関するドキュメンテーション](../asynchronous-call.md) を参照してください。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md
index 2e0c34a9644140..5d860febaff353 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md
@@ -65,8 +65,9 @@ displayed_sidebar: docs
以下のテキストドキュメントが与えられている場合を考えます(フィールドはtabによって分けられています)。
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
以下のコードを実行すると、
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md
index 763ed978070f14..b8a18c6e7c68df 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md
@@ -68,8 +68,18 @@ displayed_sidebar: docs
以下のXML 構造がある場合を考えます:
-```RAW
- Harry Potter 29.99 Learning XML 39.95
+```xml
+
+
+
+ Harry Potter
+ 29.99
+
+
+ Learning XML
+ 39.95
+
+
```
以下のコードを実行すると、XML 要素を素早く検索し、その値を表示させることができます:
@@ -95,10 +105,18 @@ displayed_sidebar: docs
以下のXML構造があるとき:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
以下のコード使用して、それぞれのElem2 要素の参照をarrAfound 配列に取得することができます:
```4d
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/locked-records-info.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/locked-records-info.md
index 6687ed85889e20..7238b6d264e0c5 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/locked-records-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/locked-records-info.md
@@ -84,7 +84,25 @@ displayed_sidebar: docs
コードが4D Server上で実行され、リモートのクライアントマシンによってロックされている場合、以下の様なオブジェクトが$vOlocked 内に返されます:
```json
-{ "records": [ { "contextID": "B0EC087DC2FA704496C0EA15DC011D1C", "contextAttributes": { "task_id": 2, "user_name": "achim", "user4d_id": 1, "host_name": "achim-pcwin", "task_name": "P_RandomLock", "is_remote_context": true, "client_uid": "0696E66F6CD731468E6XXX581A87554A", "client_version": -268364752 }, "recordNumber": 1 } ]}
+{
+ "records": [
+ {
+ "contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
+ "contextAttributes": {
+ "task_id": 2,
+ "user_name": "achim",
+ "user4d_id": 1,
+ "host_name": "achim-pcwin",
+ "task_name": "P_RandomLock",
+ "is_remote_context": true,
+ "client_uid": "0696E66F6CD731468E6XXX581A87554A",
+ "client_version": -268364752
+ },
+ "recordNumber": 1
+ }
+ ]
+}
+
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md
index 386b2187979570..6d36db4cf55cbf 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md
@@ -52,7 +52,7 @@ displayed_sidebar: docs
```4d
// On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// メソッドコード
```
@@ -132,7 +132,7 @@ BASIC認証モードの**On Web Authenticationデータベースメソッド**
```4d
//On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $ipServerDuser : Boolean
ARRAY TEXT($users;0)
@@ -178,7 +178,7 @@ DIGESTモードのの例題:
```4d
//On Web Authentication データベースメソッド
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
$result:=False
//セキュリティのため@を含むユーザ名とパスワードは拒否
If(WithWildcard($user))
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md
index 090cabe87a3922..6b7e28f2e62161 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md
@@ -74,9 +74,17 @@ displayed_sidebar: docs
2番目の引数 (*$http*) はWebブラウザから送信されたHTTPリクエストのヘッダとボディです。この情報は**On Web Connectionデータベースメソッド**に"そのまま"渡されることに留意してください。その内容は接続を試みたWebブラウザの仕様により異なります。
Mac OS上のSafariでは、以下のようなヘッダを受け取るでしょう (一部省略):
-```RAW
-GET /favicon.ico HTTP/1.1Referer: http://123.45.67.89/4dcgi/testUser-Agent: Mozilla/5.0 (Macintosh; U; Intel macOS; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10Cache-Control: max-age=0Accept: */*Accept-Language: ja-jpAccept-Encoding: gzip, deflateConnection: keep-aliveHost: 123.45.67.89
-```
+```txt
+GET /favicon.ico HTTP/1.1
+Referer: http://123.45.67.89/4dcgi/test
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
+Cache-Control: max-age=0
+Accept: */*
+Accept-Language: ja-jp
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 123.45.67.89
+```
Windows上のMicrosoft Internet Explorer 8では、以下のようなヘッダを受け取るでしょう:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md
index fc7413c2972c4a..1157267518327f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\** トークナイズドされた形式とは、以下のようなトークンシンタックス形式の標準テキストで表現された4D ランゲージおよびストラクチャー要素です(* *フォーミュラ内でのトークンの使用 参照)* *:*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md
index 54d352dd1b03ff..82fb76dbdf6348 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md
@@ -78,10 +78,11 @@ displayed_sidebar: docs
"MyArea" というマルチスタイルエリア内に以下の様なテキストが入っている場合:
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
このテキストは以下の様に表示されます:

diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md
index b252cd34ca066b..076e68ea3a0745 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md
@@ -45,8 +45,13 @@ displayed_sidebar: docs
結果の例:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## 参照
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index 97c5b5f18c5b72..a86c22d35af198 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -1217,11 +1217,11 @@ If *attributePath* designates an attribute storing [**vector objects**](../API/V
In this case, the *value* parameter must be a **comparison vector object** containing the following properties:
-| Propriedade | Tipo | Descrição |
-| ----------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| vector | [4D.Vector](../API/VectorClass.md) | Obrigatório. The vector to be compared |
-| metric | Text | Opcional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. You can use one of the following (Text) constants:`mk cosine` (default if omitted): calculates the cosine similarity between vectors.`mk dot`: calculates the dot similarity of vectors.`mk euclidean`: calculates the Euclidean distance between vectors. |
-| threshold | Real | Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results. |
+| Propriedade | Tipo | Descrição |
+| ----------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| vector | [4D.Vector](../API/VectorClass.md) | Obrigatório. The vector to be compared |
+| metric | Text | Opcional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. You can use one of the following (Text) constants:`mk cosine` (default if omitted): calculates the [cosine similarity](./VectorClass.md#cosinesimilarity) between vectors.`mk dot`: calculates the [dot similarity](VectorClass.md#dotsimilarity) of vectors.`mk euclidean`: calculates the [Euclidean distance](./VectorClass.md#euclideandistance) between vectors. |
+| threshold | Real | Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results. |
Only a subset of **comparator** symbols are supported. Note that they compare results to the threshold value:
@@ -1237,7 +1237,7 @@ For example, you want to return entities of MyClass where the similarity with a
```4d
var $myVector : 4D.Vector
$myVector := getVector //method to get a vector, e.g. from 4D.AIKit
-var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.2}
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 1.2}
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
@@ -1245,14 +1245,24 @@ The **order by** statement is supported in the query string so that entities in
```4d
var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc"; $comparisonVector)
- //the first entity is the most similar
+ //$results.first() entity is the most similar
```
-If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+:::note
+
+You will generally want vector similarity query results to be sorted from "most similar" to "least similar." By default, results returned with an **order by** clause are sorted in ascending order. Depending on the similarity metric used, you may need to adjust the sorting direction to obtain the correct ranking:
+
+- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Therefore, you will typically need to include the `desc` keyword in the query string.
+- for [**euclidean distance**](./VectorClass.md#euclideandistance) similarity, lower values indicate greater similarity. In this case, the default ascending order (or explicitly using the `asc` keyword) is appropriate.
+
+:::
+
+You can only order on a single vector field. If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
```4d
var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField desc"; /
- {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+ {vector : $myVector1 };{vector : $myVector2 })
+ //myVectorField > :1 is used for the order by
```
See [more examples below](#example-4-2) (examples 4 and 5).
@@ -1260,6 +1270,7 @@ See [more examples below](#example-4-2) (examples 4 and 5).
:::tip Related blog posts
- [4D AI: Searching Entities by Vector Similarity in 4D](https://blog.4d.com/4d-ai-searching-entities-by-vector-similarity-in-4d)
+- [4D AI: Sorting Query Results by Vector Similarity](https://blog.4d.com/4d-ai-sorting-query-results-by-vector-similarity/)
- [Why Your Search Stack Feels Broken — and How Vector Search Fixes It](https://blog.4d.com/why-your-search-stack-feels-broken-and-how-vector-search-fixes-it)
:::
@@ -1627,12 +1638,16 @@ var $result:=$client.embeddings.create("my long text to search"; "text-embedding
var $vector:=$result.vector
//embedding attribute is based upon a 4D field storing 4D.Vector class objects
+
//search with default metric (cosine)
-var $employees:=ds.Employee.query("embedding > :1"; {vector : $vector})
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector : $vector})
+
//search with euclidean metric
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk euclidean})
+var $employees:=ds.Employee.query("embedding < :1 order by embedding"; {vector: $vector; metric: mk euclidean})
+
//search with explicit cosine metric and custom threshold
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk cosine; threshold: 0.9})
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector: $vector; metric: mk cosine; threshold: 0.9})
+
//search with a formula
var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vector)>0.9))
@@ -1640,17 +1655,11 @@ var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vect
#### Exemplo 2
-We want to execute a query by vector similarity using vectors with different metrics and order the results by cosine similarity:
+Vector-based semantic ordering can be combined with traditional ORDA filters in the same query.
```4d
- //Create the comparison vectors
-var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
-var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
-
- //embedding attribute is based upon a 4D field storing 4D.Vector class objects
-ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
- .orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
-
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 0.4}
+var $results := ds.MyTable.query("myVectorField <= :1 AND salary>100000 order by myVectorField, salary desc"; $comparisonVector)
```
#### Veja também
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/QuotaManagerClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/QuotaManagerClass.md
new file mode 100644
index 00000000000000..2f0c26a0f6e5e9
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/QuotaManagerClass.md
@@ -0,0 +1,136 @@
+---
+id: QuotaManagerClass
+title: QuotaManager
+---
+
+The `4D.QuotaManager` class provides you with an interface to configure and monitor some usage limits you apply to your 4D application. Thresholds are useful for example to protect the server from poorly optimized requests or excessive use of server resources. Typically, the quota manager allows you to provide thresholds to ORDA resources a REST server session can access.
+
+`4D.QuotaManager` objects can be instantiated by the [`quotas` property of a session](./SessionClass.md#quotas) object.
+
+História
+
+| Release | Mudanças |
+| ------- | ----------------- |
+| 21 R4 | Classe adicionada |
+
+
+
+### QuotaManager Object
+
+4D.QuotaManager objects provide the following properties:
+
+| |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [](#currentvalues)
|
+| [](#defaultentitysettimeout)
|
+| [](#maxentitysettimeout)
|
+| [](#nbentitysets)
|
+
+
+
+## .currentValues
+
+**currentValues** : Object
+
+#### Descrição
+
+The `.currentValues` property contains the current values related to the defined quotas properties. This object is automatically updated by the server.
+
+
+
+
+
+## .defaultEntitySetTimeout
+
+**defaultEntitySetTimeout** : Integer
+
+#### Descrição
+
+The `.defaultEntitySetTimeout` property contains the default inactivity timeout for REST entity sets stored in memory during the current session (in seconds).
+
+By default, this value is 2 hours (7200 seconds). It can also be defined at the entity set creation using the [`$timeout` REST API](../REST/$timeout.md).
+
+You can change this value dynamically using the [`quotas.defaultEntitySetTimeout` property of the Session](./SessionClass.md#quotas), so that it will be used for any entity set created afterwards in the session (existing entity set default timeout values are not modified).
+
+:::note
+
+If you define a value higher than the `maxEntitySetTimeout` property value, it will be aligned with the `maxEntitySetTimeout` value.
+
+:::
+
+You cannot pass a value <=0 (an error is generated in this case). To reset the property value for the session, pass *undefined*.
+
+#### Exemplo
+
+In some 4D code in a REST process:
+
+```4d
+Session.quotas.defaultEntitySetTimeout:=1200
+```
+
+
+
+
+
+## .maxEntitySetTimeout
+
+**maxEntitySetTimeout** : Integer
+
+#### Descrição
+
+The `.maxEntitySetTimeout` property contains the maximum inactivity timeout value for REST entity sets stored in memory during the current session (in seconds).
+
+You can set this value using the [`quotas.maxEntitySetTimeout` property of the Session](./SessionClass.md#quotas), so that it will be used for any entity set created afterward in the session (existing entity set maximum timeout values are not modified).
+
+Once the `.maxEntitySetTimeout` property is set, any entity set created afterward in the session could not have a timeout value longer than the `.maxEntitySetTimeout` value.
+
+For example, assuming the maximum inactivity timeout is set to 40 minutes (2400 seconds), if an entity set is created with a required timeout which exceeds the maximum value:
+
+```
+http://127.0.0.1/rest/People?$filter=ID>=4&$method=entityset&$timeout=3000
+```
+
+... then the timeout defined in the request is ignored and the entity set will be released after 40 minutes if not used during this period of time.
+
+You cannot pass a value <=0 (an error is generated in this case). To reset the property value for the session, pass *undefined*.
+
+#### Exemplo
+
+In some 4D code in a REST process:
+
+```4d
+Session.quotas.maxEntitySetTimeout:=2400
+```
+
+
+
+
+
+## .nbEntitySets
+
+**nbEntitySets** : Integer
+
+#### Descrição
+
+The `.nbEntitySets` property contains the maximum number of REST entity sets allowed in memory for the current session (in seconds).
+
+By default, there is no limit for entity sets [stored in memory by REST requests](../REST/$info.md) (the value is 0). You can set a limit to control the server payload for a specific session.
+
+When the maximum number of allowed entity sets is reached, a REST request that need to create an entity set will get a [**429** HTTP status code and an error response](../REST/REST_requests.md#rest-status-and-response), until at least one entity set is released. You can release an entity set from the cache using the [`$release` REST command](../REST/$entityset.md#entitysetrelease).
+
+You cannot pass a value <=0 (an error is generated in this case). To reset the property value for the session, pass *undefined*.
+
+#### Exemplo
+
+In some 4D code in a REST process:
+
+```4d
+ //max 50 entity sets
+Session.quotas.nbEntitySets:=50
+```
+
+
+
+
+
+
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md
index 18e86823d388d6..3f78332bac9ff8 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md
@@ -44,6 +44,7 @@ All session types can handle privileges, but only the code executed in a **web c
| [](#info)
|
| [](#isguest)
|
| [](#promote)
|
+| [](#quotas)
|
| [](#restore)
|
| [](#setprivileges)
|
| [](#storage)
|
@@ -535,6 +536,8 @@ Desde `. nfo` é uma propriedade computada, é recomendável chamá-lo uma vez e
:::
+Essa propriedade é **somente leitura**.
+
@@ -673,6 +676,58 @@ End if
+
+
+## .quotas
+
+História
+
+| Release | Mudanças |
+| ------- | ---------- |
+| 21 R4 | Adicionado |
+
+
+
+**.quotas** : 4D.QuotaManager
+
+#### Descrição
+
+The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds in the current session. Server thresholds are used to control the requests to the server and help preventing excessive use of resources (see [`4D.QuotaManager` class](./QuotaManagerClass.md)).
+
+Essa propriedade é **somente leitura**.
+
+The following properties of the `4D.QuotaManager` object are available for the session:
+
+| Propriedade | | Tipo | Writable | Descrição |
+| ------------------------------------------------------------------------- | ------------ | ------- | -------- | --------------------------------------------------------------------------------- |
+| [nbEntitySets](./QuotaManagerClass.md#nbentitysets) | | Integer | sim | Maximum allowed number of entity sets in server's memory |
+| [defaultEntitySetTimeout](./QuotaManagerClass.md#defaultentitysettimeout) | | Integer | sim | Default inactivity timeout for entity sets in memory (seconds) |
+| [maxEntitySetTimeout](./QuotaManagerClass.md#maxentitysettimeout) | | Integer | sim | Maximum inactivity timeout for entity sets in memory (seconds) |
+| currentValues | | Object | não | |
+| | nbEntitySets | Integer | não | Number of entity sets currently in memory |
+
+When you modify a value, it is immediately taken into account by the server (no need to restart) and will be applied to further REST requests.
+
+:::tip Related blog post
+
+[Make your REST server at the top of its game ... Forget throttling or crashing and tune yourself the memory usage](https://blog.4d.com/make-your-rest-server-at-the-top-of-its-game-forget-throttling-or-crashing-and-tune-yourself-the-memory-usage).
+
+:::
+
+#### Exemplo
+
+```4d
+ //set the maximum number of entity sets in memory
+ //for the session to 50
+Session.quotas.nbEntitySets:=50
+```
+
+
+
+#### Veja também
+
+[QuotaManager class](./QuotaManagerClass.md)
+
## .restore()
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 65202849823f1a..9fa01c1dd3a6fc 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -112,7 +112,7 @@ Você deseja listar as classes 4D integradas:
## Objecto de classe
-Quando uma classe é [definida](#class-definition) no projeto, ela é carregada no ambiente de linguagem 4D. Uma classe é um objeto em si, da classe ["Class" class](API/ClassClass.md). Um objecto classe tem as seguintes propriedades e função:
+Quando uma classe é [definida](../Project/code-overview.md#creating-classes) no projeto, ela é carregada no ambiente de linguagem 4D. Uma classe é um objeto em si, da classe ["Class" class](API/ClassClass.md). Um objecto classe tem as seguintes propriedades e função:
- [`name`](API/ClassClass.md#name) string
- objeto [`superclass`](API/ClassClass.md#superclass) (nulo se não tiver)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_collection.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_collection.md
index 7368323fee01ef..97822a26710474 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_collection.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_collection.md
@@ -110,6 +110,43 @@ Pode criar dois tipos de coleções:
Para obter mais informações, consulte a seção [Objetos e coleções compartilhados](shared.md).
+## Assignment
+
+Collection and [object](./dt_object.md) data types are handled in the 4D language through **references** (i.e., internal pointers), unlike scalar data types (integer, date, etc.). As a result, when assigning a collection to a variable (e.g. `$myVar:=[1;2;3]`), it is the **reference** that is assigned, not the value itself. Any subsequent modification of the *$myVar* variable will therefore be reflected everywhere the original collection is referenced. This follows the same principle as [pointers](./dt_collection.md), except that the *$myVar* variable does not need to be dereferenced.
+
+Por exemplo:
+
+```4d
+var $col1; $col2 : Collection
+var $o : Object
+
+$col1:=[1;2;3] //a reference to the collection is created
+$col2:=$col1 //both variables share the same collection reference
+$o:={ list:$col1 } //the object stores a reference to the same collection
+
+$col1.push(4)
+//$col2 = [1,2,3,4]
+//$o = {"list":[1,2,3,4]}
+
+$col2[0]:=10
+//$col1 = [10,2,3,4]
+//$o = {"list":[10,2,3,4]}
+
+$o.list.push(5)
+//$col1 = [10,2,3,4,5]
+//$col2 = [10,2,3,4,5]
+
+ASSERT($col1=$col2) //True
+```
+
+This principle applies wherever objects or collections are assigned, including in [parameters](./parameters.md) or [formula](../commands/formula) expressions.
+
+:::note
+
+If you want to create a **deep copy** of a collection, use the [`collection.copy()`](../API/CollectionClass.md#copy) function.
+
+:::
+
## Funções de Collection
As referências de coleções 4D se beneficiam de funções de classe especiais (às vezes denominadas *funções de membro*). As funções da coleção estão listadas na seção [Referência de API de classe](../API/CollectionClass.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_object.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_object.md
index f9c29a65ce245d..11e2be982f5999 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_object.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/dt_object.md
@@ -28,7 +28,7 @@ Tenha em atenção que os nomes das propriedades diferenciam entre maiúsculas e
:::
-Pode gerenciar variáveis, campos ou expressões do tipo Objeto usando a [notação do objeto](#properties) padrão ou os comandos disponíveis no tema **Objetos (Idioma)**. Observe que comandos específicos do tema **Queridos** como `QUERY BY ATTRIBUTE`, `QUERY SELECÇÃO BY ATTRIBUTE`, ou `ORDER BY ATTRIBUTE` podem ser usados para realizar processamento em campos de objeto.
+Pode gerenciar variáveis, campos ou expressões do tipo Objeto usando a [notação do objeto](#properties) padrão ou os comandos disponíveis no tema **Objetos (Idioma)**.
Cada valor de propriedade acessado através da notação de objeto é considerado uma expressão. Quando a notação de objeto for ativada em seu banco de dados (ver abaixo), pode usar esses valores sempre que expressões 4D forem esperadas:
@@ -114,6 +114,36 @@ Pode criar dois tipos de objetos:
- objetos compartilhados, usando o comando [`New shared object`](../commands/new-shared-object). Estes objetos podem ser compartidos entre processos, incluidos os threads preemptivos. O acesso a esses objetos é controlado pelas estruturas `Use...End use`.
Para obter mais informações, consulte a seção [Objetos e coleções compartilhados](shared.md).
+## Assignment
+
+Object and [collection](./dt_collection.md) data types are handled in the 4D language through **references** (i.e., internal pointers), unlike scalar data types (integer, date, etc.). As a result, when assigning an object or a collection to a variable (e.g. `$myVar:={ a:2 }`), it is the **reference** that is assigned, not the value itself. Any subsequent modification of the *$myVar* variable will therefore be reflected everywhere the original object is referenced. This follows the same principle as [pointers](./dt_collection.md), except that the *$myVar* variable does not need to be dereferenced.
+
+Por exemplo:
+
+```4d
+var $o1; $o2 : Object
+var $col : Collection
+
+$col:=[1;2;3] //a reference to the collection is created
+$o1:={ a:2 ; b:$col } //a reference to the object is created
+$o2:=$o1 //both variables $o1 and $o2 share the reference to the same object
+
+$o1.a:=10 //$o2 = {"a":10,"b":[1,2,3]}
+$o2.a:=20 //$o1 = {"a":20,"b":[1,2,3]}
+$col.push(4)
+//$o1 = {"a":20,"b":[1,2,3,4]}
+//$o2 = {"a":20,"b":[1,2,3,4]}
+ASSERT($o1=$o2) //True
+```
+
+This principle applies wherever objects or collections are used, including in [parameters](./parameters.md) or [formula](../commands/formula) expressions.
+
+:::note
+
+If you want to create a **deep copy** of an object, use the [`OB COPY`](../commands/ob-copy) command.
+
+:::
+
## Properties {#properties}
Você acessa os valores de propriedade do objeto por meio de uma cadeia de tokens. As propriedades do objeto podem ser acessadas de duas maneiras:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md
index f9a89a20669377..75ba15ea050e37 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/flow-control.md
@@ -58,6 +58,14 @@ A expressão é TRUE apenas se ambos os métodos forem TRUE. No entanto, mesmo s
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
O resultado é semelhante e *MethodB* é avaliado apenas se necessário.
> **Nota:** O [operador ternário](operators.md#ternary-operator) permite escrever expressões condicionais de uma linha e pode substituir uma sequência completa de instruções If..Else.
@@ -808,3 +816,24 @@ logConsole($message)
```
+## defer (expression)
+
+História
+
+| Release | Mudanças |
+| ------- | ---------- |
+| 21 R4 | Adicionado |
+
+
+
+The [`defer`](../commands/defer) command allows you to stack one or more expression(s) that will automatically execute when the current method or function **finishes running**.
+
+Whether you are managing document closings, resetting interprocess flags, or freeing up resources, ensuring that your housekeeping tasks execute flawlessly no matter how or where your function terminates can be handled by `defer` keywords.
+
+```4d
+ //make sure some code is executed at exit
+defer(myCleaningMethod)
+ //Do something...
+```
+
+See the [`defer`](../commands/defer) command description for more information.
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/methods.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/methods.md
index d0bd1d4a51e54a..1f1dc831d477c0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/methods.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/methods.md
@@ -13,13 +13,13 @@ O tamanho máximo de um método de projecto é limitado a 2 GB de texto ou 32.00
Na Linguagem 4D, existem várias categorias de métodos. A categoria depende da forma como podem ser chamados:
-| Tipo | Contexto de chamada | Aceita parâmetros | Descrição |
-| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Métodos projeto** | On demand, when the project method name [is called](../Project/project-method-properties.md) | Sim | Pode conter qualquer código para executar ações personalizadas Quando um método projeto for criado, se torna parte parte da linguagem do banco de dados na qual foi criado. |
-| **Método objeto (widget)** | Automático, quando um evento envolve a forma a que o método está ligado | Não | Propriedade de um objecto de formulário (também chamado widget) |
-| **Método formulário** | Automático, quando um evento envolve o objecto ao qual o método está ligado | Não | Propriedade de um formulário. Pode-se utilizar um método de formulário para gerir dados e objectos, mas é geralmente mais simples e mais eficiente utilizar um método de objecto para estes fins. |
-| **Trigger** (o *método tabla*) | Automático, cada vez que manipula os registos de uma tabela (Adicionar, Apagar e Modificar) | Não | Propriedade de uma tabela. Os gatilhos/triggers são métodos que podem prevenir operações "ilegais" com os registos da sua base de dados. |
-| **Método base** | Automático, quando ocorre um evento de sessão de trabalho | Sim (pré-definido) | Existem 16 métodos base em 4D. |
-| **Class** | Automatically called when an object of the class is instantiated or when a function of the class is executed on an object instance in any other methods or in a [database field](../Develop/field-properties.md#class). | yes (class functions) | A **Class** is used to declare and configure the class [constructor](./classes.md#class-constructor), [properties](./classes.md#property), and [functions](./classes.md#function) of objects. Veja [**Classes**](classes.md) |
+| Tipo | Contexto de chamada | Aceita parâmetros | Descrição |
+| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Métodos projeto** | On demand, when the project method name [is called](../Project/project-method-properties.md) | Sim | Pode conter qualquer código para executar ações personalizadas Quando um método projeto for criado, se torna parte parte da linguagem do banco de dados na qual foi criado. |
+| **Método objeto (widget)** | Automático, quando um evento envolve a forma a que o método está ligado | Não | Propriedade de um objecto de formulário (também chamado widget) |
+| **Método formulário** | Automático, quando um evento envolve o objecto ao qual o método está ligado | Não | Propriedade de um formulário. Pode-se utilizar um método de formulário para gerir dados e objectos, mas é geralmente mais simples e mais eficiente utilizar um método de objecto para estes fins. |
+| **Trigger** (o *método tabla*) | Automático, cada vez que manipula os registos de uma tabela (Adicionar, Apagar e Modificar) | Não | Propriedade de uma tabela. Os gatilhos/triggers são métodos que podem prevenir operações "ilegais" com os registos da sua base de dados. |
+| **Método base** | Automático, quando ocorre um evento de sessão de trabalho | Sim (pré-definido) | Existem 16 métodos base em 4D. |
+| **Class** | Automatically called when an object of the class is instantiated or when a function of the class is executed on an object instance in any other methods or in a [database field](../Develop/field-properties.md#class). | yes (class functions) | A **Class** is used to declare and configure the class [constructor](./classes.md#class-constructor), [properties](./classes.md#property), and [functions](./classes.md#function) of objects. See [**Classes**](classes.md) and [**Function** class](../API/FunctionClass.md). |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md
index 9494e03c367619..0d9e52e2cc87dc 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/operators.md
@@ -21,10 +21,12 @@ Os valores que os operadores afectam são os operandos. Na expressão `1 + 2`, o
O **operador de atribuição** (`a:=b`) inicializa ou atualiza o valor de `a` com o valor de `b`:
```4d
-$myNumber:=3 //atribui 3 à variável MyNumber
-$myDate:=!2018/01/21! //atribui um literal de data
-$myLength:=Length("Acme") //atribui o resultado do comando (4) a $myLength
-$col:=New collection //$col é inicializado com uma coleção vazia
+$myNumber:=3 //assigns 3 to $myNumber variable
+$myDate:=!2026/01/21! //assigns a date literal
+$myLength:=Length("Acme") //assigns the result of the command (4) to $myLength
+$col:=New collection //$col is initialized with an empty collection
+$myObject:={ a:2 ; b:$col } //assigns an object reference to $myObject
+$myObject.a:=3 //assigns a value to an object property
```
> NÃO confunda o operador de atribuição `:=` com o operador de comparação de igualdade `=`. Um operador de atribuição diferente (e não `=`) foi escolhido deliberadamente para evitar problemas e confusões que geralmente ocorrem com == ou === em outras linguagens de programação. Esses erros são geralmente difíceis de reconhecer pelo compilador e geram problemas trabalhosos.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
index 1e2d08cfb0694c..10049d551ba435 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Reference.md
@@ -96,7 +96,8 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle) | Oculta o retângulo de seleção quando o objeto tem o foco. | true, false |
| [`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight) | Utilizado para especificar a ocultação dos registos destacados no list box. | true, false |
| [`highlightSet`](properties_ListBox.md#highlight-set) | Nome do conjunto. | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Any CSS value, "transparent", "automatic" |
+| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Sets a horizontal padding for listbox cells. | Number of pixels (must be >=0) |
| **i** | | |
| [`icon`](properties_TextAndPicture.md#picture-pathname) | O nome do caminho da imagem utilizada para botões, caixas de verificação, botões rádio e cabeçalhos de list box. | Caminho relativo ou filesystem na sintaxe POSIX. |
| [`iconFrames`](properties_TextAndPicture.md#number-of-states) | Define o número exato de estados presentes na imagem. | mínimo: 1 |
@@ -214,6 +215,7 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`variableCalculation`](properties_Object.md#variable-calculation) | Permite efetuar cálculos matemáticos. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
| [`verticalAlign`](properties_Text.md#vertical-alignment) | Localização vertical do texto na área que o contém. | "automatic", "top", "middle", "bottom" |
| [`verticalLineStroke`](properties_Gridlines.md#vertical-line-color) | Define a cor das linhas verticais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Sets a vertical padding for listbox cells. | Número de píxeles (debe ser >=0) |
| [`visibility`](properties_Display.md#visibility) | Permite ocultar o objeto no ambiente da aplicação. | "visible", "hidden", "selectedRows", "unselectedRows" |
| **w** | | |
| [`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine) | Usado para escolher entre dois motores de renderização para a área Web, dependendo das especificações da aplicação. | "embedded", "system" |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
index cdf9c06fff7851..e43ffc13008705 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -3,6 +3,22 @@ id: updates
title: Notas de lançamento
---
+## 4D 21 R4
+
+Leia [**O que há de novo no 4D v21 R4**](https://blog.4d.com/whats-new-in-4d-21-r4/), o post do blog que lista todos os novos recursos e aprimoramentos em 4D v21 R4.
+
+#### Destaques
+
+- Multi-level list style sheets are now [supported in 4D Write Pro Interface](../WritePro/writeprointerface#multi-level-list-style-sheets), allowing users to create and manage structured multi-level lists directly from the toolbar and sidebar.
+- New [`defer`](../commands/defer) command to declare some code to be always executed at method or function exit; new [`Deferred formulas`](../commands/deferred-formulas) command to get the list of deferred formulas.
+- New session `.quotas` property to configure thresholds for sessions.
+- New [`4D.QuotaManager`](../API/QuotaManagerClass.md) class to handle threshold objects for protecting the server.
+- New [`$entityset/$release`](../REST/$entityset.md#entitysetrelease) REST request to delete entity sets from server cache.
+
+#### Mudanças de comportamento
+
+- The **`GET /Employee/$entityset/?$method=release`** REST syntax is **deprecated** and should no longer be used. To delete entity sets, you must now use [`/$entityset/$release` with a POST verb](./$entityset.md).
+
## 4D 21 R3
Leia [**O que há de novo no 4D v21 R3**](https://blog.4d.com/whats-new-in-4d-21-r3/), o post do blog que lista todos os novos recursos e aprimoramentos em 4D v21 R3.
@@ -10,7 +26,7 @@ Leia [**O que há de novo no 4D v21 R3**](https://blog.4d.com/whats-new-in-4d-21
#### Destaques
- The [`JSON Validate`](../commands/json-validate) command now supports of JSON Schema draft 2020-12.
-- 4D Write Pro now supports [hierarchical list style sheets](../WritePro/user-legacy/stylesheets.md#hierarchical-list-style-sheets), enabling the creation and management of structured [multi-level lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#multi-level-lists) with automatic numbering.
+- 4D Write Pro now supports [multi-level list style sheets](../WritePro/user-legacy/stylesheets.md#multi-level-list-style-sheets), enabling the creation and management of structured [multi-level lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#multi-level-lists) with automatic numbering.
- Ability to use a custom certificate from the macOS keychain instead of a local certificates folder in [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) and [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew) classes.
- New [`4D.Method` class](../API/MethodClass.md) to create and execute a 4D method code from text source. [`METHOD Get path`](../commands/method-get-path) and [`METHOD RESOLVE PATH`](../commands/method-resolve-path) commands support a new `path volatile method` constant (128).
- IMAP transporter now supports mailbox event notifications using the IDLE protocol through a [notifier object](../API/IMAPTransporterClass.md#notifier) of the [4D.IMAPNotifier](../API/IMAPNotifierClass.md) class, configurable via the `listener` property of [IMAP New transporter](../commands/imap-new-transporter).
@@ -64,23 +80,24 @@ Leia [**O que há de novo no 4D v21 R2**](https://blog.4d.com/whats-new-in-4d-21
## Tabela da biblioteca
-| Biblioteca | Versão atual | Atualizado em 4D | Comentário |
-| ---------- | -------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
-| BoringSSL | 664a985 | **21 R4** | Usado para QUIC |
-| CEF | 7258 | 21 | Chromium 139 |
-| Hunspell | 7.3.27 | 20 | Usado para verificação ortográfica em formulários 4D e 4D Write Pro |
-| ICU | 77.1 | 21 | This upgrade forces an automatic rebuild of alphanumeric, text and object indexes. |
-| libldap | 2.6.10 | 21 | |
-| libsasl | 2.1.28 | 20 | |
-| Liblsquic | 4.2.0 | 20 R10 | Usado para QUIC |
-| Libuv | 1.51.0 | 21 | Usado para QUIC |
-| libZip | 1.11.4 | 21 | Utilizado pelos componentes zip class, 4D Write Pro, svg e serverNet |
-| LZMA | 5.8.1 | 21 | |
-| ngtcp2 | 1.22.1 | **21 R4** | Usado para QUIC |
-| OpenSSL | 4.0 | **21 R4** | |
-| PDFWriter | 4.7.0 | 21 | Used for [`WP Export document`](../WritePro/commands/wp-export-document.md) and [`WP Export variable`](../WritePro/commands/wp-export-variable.md) |
-| SpreadJS | 18.2.0 | 21 R2 | Veja [este post de blog](https://blog.4d.com/4d-view-pro-whats-new-in-4d-21-r2/) para uma visão geral dos novos recursos |
-| webKit | WKWebView | 19 | |
-| Xerces | 3.3.0 | 21 | Used for XML commands |
-| Zlib | 1.3.1 | 21 | |
+| Biblioteca | Versão atual | Atualizado em 4D | Comentário |
+| --------------- | -------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
+| BoringSSL | 664a985 | **21 R4** | Usado para QUIC |
+| CEF | 7258 | 21 | Chromium 139 |
+| Hunspell | 7.3.27 | 20 | Usado para verificação ortográfica em formulários 4D e 4D Write Pro |
+| ICU | 77.1 | 21 | This upgrade forces an automatic rebuild of alphanumeric, text and object indexes. |
+| libldap | 2.6.10 | 21 | |
+| libsasl | 2.1.28 | 20 | |
+| Liblsquic | 4.2.0 | 20 R10 | Usado para QUIC |
+| Libuv | 1.51.0 | 21 | Usado para QUIC |
+| libZip | 1.11.4 | 21 | Utilizado pelos componentes zip class, 4D Write Pro, svg e serverNet |
+| LZMA | 5.8.1 | 21 | |
+| ngtcp2 | 1.22.1 | **21 R4** | Usado para QUIC |
+| OpenSSL | 4.0 | **21 R4** | |
+| PDFWriter | 4.7.0 | 21 | Used for [`WP Export document`](../WritePro/commands/wp-export-document.md) and [`WP Export variable`](../WritePro/commands/wp-export-variable.md) |
+| SpreadJS | 18.2.0 | 21 R2 | Veja [este post de blog](https://blog.4d.com/4d-view-pro-whats-new-in-4d-21-r2/) para uma visão geral dos novos recursos |
+| webKit | WKWebView | 19 | |
+| Windows App SDK | 2.0.1 | **21 R4** | Used for [Fluent UI rendering](../FormEditor/forms.md#fluent-ui-rendering) |
+| Xerces | 3.3.0 | 21 | Used for XML commands |
+| Zlib | 1.3.1 | 21 | |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md
index b87df657d93e80..2c5960ce58602c 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md
@@ -591,7 +591,7 @@ Além disso, você pode verificar se há atualizações a qualquer momento, para

-Se uma nova versão de componente que corresponda à sua [configuração de controle de versão de componente](#defining-a-github-dependency-version-range) for detectada no GitHub, um status de dependência específico será exibido:
+Se uma nova versão de componente que corresponda à sua [configuração de controle de versão de componente](#defining-a-dependency-version-range) for detectada no GitHub, um status de dependência específico será exibido:

diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$entityset.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$entityset.md
index a3b066a20c0751..ef33b483c0e4f0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$entityset.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$entityset.md
@@ -11,6 +11,7 @@ Después de [crear un conjunto de entidades]($method.md#methodentityset) mediant
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [**$entityset/\{entitySetID\}**](#entitysetentitysetid) | `/People/$entityset/0ANUMBER` | Recupera um conjunto de entidades existente |
| [**$entityset/\{entitySetID\}?$logicOperator...&$otherCollection**](#entitysetentitysetidlogicoperatorothercollection) | `/Employee/$entityset/0ANUMBER?$logicOperator=AND&$otherCollection=0ANUMBER` | Cria um novo conjunto de entidades a partir da comparação de conjuntos de entidades existentes |
+| [**$entityset/$release**](#entitysetrelease) | `/Employee/$entityset/$release` | Releases one or more existing entity sets from the 4D Server's cache |
## $entityset/\{entitySetID\}
@@ -89,3 +90,28 @@ Se houver uma intersecção, esta consulta devolve true. . .
No exemplo seguinte, criamos um conjunto de entidades que combina todas as entidades de ambos os conjuntos de entidades:
` GET /rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7?$logicOperator=OR&$otherCollection=C05A0D887C664D4DA1B38366DD21629B&$method=entityset`
+
+## $entityset/$release
+
+Releases on or more existing entity set(s) stored in [4D Server's cache](./$info.md).
+
+### Descrição
+
+You can use this command to release a collection of entity sets, which you created using [`$method=entityset`](#methodentityset), from 4D Server's cache.
+
+### Exemplo
+
+Release two entity sets from the server's cache:
+
+`POST /rest/Employee/$entityset/$release`
+
+The body must contain a collection with the entity sets ids to release:
+
+**Datos POST**:
+
+```json
+[
+"552AE0C8329045FDB65A8C151AEBC532", "9D0617688D7540C090D7675CAF21D7C8"
+]
+```
+
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$info.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$info.md
index 7a947bf75f8fc3..89973af3d66c21 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$info.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$info.md
@@ -13,26 +13,26 @@ Ao chamar este pedido para o seu projeto, recupera informações nas seguintes p
| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| cacheSize | Number | Tamanho da cache do servidor 4D. |
| usedCache | Number | Quanto do cache do 4D Server foi usado. |
-| entitySetCount | Number | Número de selecções de entidades. |
-| entitySet | Collection | Uma coleção em que cada objeto contém informações sobre cada seleção de entidades. |
+| entitySetCount | Number | Number of entity sets. |
+| entitySet | Collection | A collection in which each object contains information about each entity set. |
| ProgressInfo | Collection | Uma coleção que contém informações sobre os indicadores de progresso. |
| sessionInfo | Collection | Uma coleção em que cada objeto contém informações sobre cada sessão de usuário. |
| privileges | Object | An object with a "privileges" property (collection of objects). Each object of the collection has a "privilege" property with a privilege name of the user session as value. |
### entitySet
-Para cada seleção de entidades atualmente armazenada no cache do 4D Server, a seguinte informação é retornada:
+For each entity set currently stored in 4D Server's cache, the following information is returned:
-| Propriedade | Tipo | Descrição |
-| ------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| id | Text | Um UUID que faz referência ao conjunto de entidades. |
-| dataClass | Text | Nome da dataclass. |
-| selectionSize | Number | Número de entidades na seleção de entidades. |
-| sorted | Parâmetros | Devuelve true si el conjunto fue ordenado ( utilizando `$orderby`) o false si no está ordenado. |
-| refreshed | Date | Quando o conjunto de entidades foi criado ou utilizado a última vez. |
-| expires | Date | Quando o conjunto de entidades expirará (esta data/hora muda sempre que o conjunto de entidades é atualizado). A diferença entre refreshed e expires é o tempo limite para um conjunto de entidades. Este valor es de dos horas por defecto o lo que hayas definido utilizando `$timeout`. |
+| Propriedade | Tipo | Descrição |
+| ------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| id | Text | Um UUID que faz referência ao conjunto de entidades. |
+| dataClass | Text | Nome da dataclass. |
+| selectionSize | Number | Number of entities in the entity set. |
+| sorted | Parâmetros | Devuelve true si el conjunto fue ordenado ( utilizando `$orderby`) o false si no está ordenado. |
+| refreshed | Date | Quando o conjunto de entidades foi criado ou utilizado a última vez. |
+| expires | Date | Quando o conjunto de entidades expirará (esta data/hora muda sempre que o conjunto de entidades é atualizado). A diferença entre refreshed e expires é o tempo limite para um conjunto de entidades. Este valor es de dos horas por defecto o lo que hayas definido utilizando `$timeout`. It can also be modified for the session through the [`Session.quotas`](../API/SessionClass.md#quotas) property. |
-Para obtener información sobre cómo crear una selección de entidades, consulte `$method=entityset`. Si desea eliminar la selección de entidades de la caché de 4D Server, utilice `$method=release`.
+For information about how to create an entity set, refer to [`$method=entityset`](./$method.md#methodentityset). If you want to remove the entity selection from 4D Server's cache, use [`$entityset/$release`](./$entityset.md#entitysetrelease).
> 4D también crea sus propias selecciones de entidades con fines de optimización, por lo que las que se crean con `$method=entityset` no son las únicas que se devuelven.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$method.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$method.md
index d21437b56a1f5a..6337a0852d4dcb 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$method.md
@@ -9,9 +9,8 @@ Este parâmetro permite-lhe definir a operação a executar com a entidade ou a
| Sintaxe | Exemplo | Descrição |
| ----------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
-| [**$method=delete**](#methoddelete) | `POST /Employee?$filter="ID=11"& $method=delete` | Elimina a entidade, coleção de entidades ou seleção de entidades atual |
+| [**$method=delete**](#methoddelete) | `POST /Employee?$filter="ID=11"& $method=delete` | Deletes the current entity, entity collection, or entity set |
| [**$method=entityset**](#methodentityset) | `GET /People/?$filter="ID>320"& $method=entityset& $timeout=600` | Cria um conjunto de entidades no cache do 4D Server baseado na coleção de entidades definidas no pedido REST |
-| [**$method=release**](#methodrelease) | `GET /Employee/$entityset/?$method=release` | Libera um conjunto de entidades existente armazenado no cache do 4D Server |
| [**$method=subentityset**](#methodsubentityset) | `GET /Company(1)/staff?$expand=staff& $method=subentityset& $subOrderby=lastName ASC` | Cria um conjunto de entidades com base na coleção de entidades relacionadas definidas no pedido REST |
| [**$method=update**](#methodupdate) | `POST /Person/?$method=update` | Actualiza e/ou cria uma ou mais entidades |
@@ -53,64 +52,36 @@ Cria um conjunto de entidades no cache do 4D Server baseado na coleção de enti
### Descrição
-Quando cria uma coleção de entidades em REST, pode também criar um conjunto de entidades que será guardado na cache do 4D Server. The entity set will have a reference number that you can pass to `$entityset/\{entitySetID\}` to access it. Por padrão, é válido durante duas horas; no entanto, pode modificar esse tempo passando um valor (em segundos) para $timeout.
+Quando cria uma coleção de entidades em REST, pode também criar um conjunto de entidades que será guardado na cache do 4D Server. The entity set will have a reference number that you can pass to `$entityset/\{entitySetID\}` to access it. By default, it is valid for two hours; however, you can modify that amount of time by passing a value (in seconds) to [`$timeout`](./$timeout.md). It can also be modified for the session through the [`Session.quotas`](../API/SessionClass.md#quotas) property.
If you have used `$savedfilter` and/or `$savedorderby` (in conjunction with `$filter` and/or `$orderby`) when you created your entity set, you can recreate it with the same reference ID even if it has been removed from 4D Server's cache.
+:::note
+
+By default, you can create as many entity sets as you want. However, the total number of entity sets in the 4D Server cache can be limited for a session through the [`Session.quotas`](../API/SessionClass.md#quotas) property.
+
+:::
+
### Exemplo
-To create an entity set, which will be saved in 4D Server's cache for two hours, add `$method=entityset` at the end of your REST request:
+Para criar um conjunto de entidades, que será guardado no cache do 4D Server por duas horas, adicione `$method=entityset` no final do seu pedido REST:
`GET /rest/People/?$filter="ID>320"&$method=entityset`
-You can create an entity set that will be stored in 4D Server's cache for only ten minutes by passing a new timeout to `$timeout`:
+Pode criar um conjunto de entidades que será armazenado na cache do 4D Server por apenas dez minutos, passando um novo timeout para `$timeout`:
`GET /rest/People/?$filter="ID>320"&$method=entityset&$timeout=600`
-You can also save the filter and order by, by passing true to `$savedfilter` and `$savedorderby`.
+Também é possível guardar o filtro e ordenar por, passando true para `$savedfilter` e `$savedorderby`.
> `$skip` y `$top/$limit` no se tienen en cuenta al guardar un conjunto de entidades.
-Después de crear un conjunto de entidades, el primer elemento, `__ENTITYSET`, se añade al objeto devuelto e indica la URI a utilizar para acceder al conjunto de entidades:
+Depois de criar um conjunto de entidades, o primeiro elemento, `__ENTITYSET`, é adicionado ao objeto retornado e indica o URI a ser usado para acessar o conjunto da entidade:
```json
__ENTITYSET: "http://127.0.0.1:8081/rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7"`
```
-## $method=release
-
-Libera um conjunto de entidades existente armazenado no cache do 4D Server.
-
-### Descrição
-
-Você pode lançar um entity set, que você criou usando [`$method=entityset`](#methodentityset), no cache do servidor 4D.
-
-### Exemplo
-
-Mostra um conjunto de entidades existente:
-
-`GET /rest/Employee/$entityset/4C51204DD8184B65AC7D79F09A077F24?$method=release`
-
-#### Responsa:
-
-Se o pedido for bem sucedido, é devolvida a seguinte resposta:
-
-```json
-{
- "ok": true
-} If the entity set wasn't found, an error is returned:
-
-{
- "__ERROR": [
- {
- "message": "Error code: 1802\nEntitySet \"4C51204DD8184B65AC7D79F09A077F24\" cannot be found\ncomponent: 'dbmg'\ntask 22, name: 'HTTP connection handler'\n",
- "componentSignature": "dbmg",
- "errCode": 1802
- }
- ]
-}
-```
-
## $method=subentityset
Cria um conjunto de entidades no cache do 4D Server baseado na coleção de entidades relacionadas definidas no pedido REST
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$timeout.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$timeout.md
index d839911c2707c0..30c910a6cefe67 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$timeout.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$timeout.md
@@ -13,6 +13,12 @@ Una vez que se ha definido el tiempo de espera, cada vez que se llama a un conju
Se um conjunto de entidades for removido e depois recriado utilizando `$method=entityset` com [`$savedfilter`]($savedfilter.md), o novo tempo limite predefinido é de 10 minutos, independentemente do tempo limite definido ao chamar `$timeout`.
+:::note
+
+The timeout can also be modified for a session using the [`Session.quotas`](../API/SessionClass.md#quotas) property.
+
+:::
+
## Exemplo
No nosso conjunto de entidades que criamos, definimos o tempo limite para 20 minutos:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-new.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-new.md
index 670bfd17705c81..867c75e5be9d24 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-new.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/commands-legacy/wp-new.md
@@ -41,7 +41,7 @@ Também pode utilizar o parâmetro *fonte*, em cujo caso o novo objeto 4D Write
Como padrão, expressões HTML inseridas em documentos 4D WRite legados não são importados (não têm compatibilidade com 4D Write Pro). Se passar a constante wk import html expressions as text no parâmetro *opção*, expressões HTML serão importadas como texto raw entre as tags *##htmlBegin##* e *##htmlEnd##* \-- que exigirá depois ações de formatação. Por exemplo:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
index 1b9160d78a4b70..2884595d9436a5 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md
@@ -10,7 +10,7 @@ to import
## Listas
-4D Write Pro supports flat lists (single-level) and hierarchical lists (multi-level).
+4D Write Pro supports flat lists (single-level) and multi-level lists.
### Single-level lists
@@ -39,7 +39,7 @@ When the list is created using [the WP SET ATTRIBUTE command](../commands-legacy
### Multi-level lists
-Multi-level lists are based on [hierarchical list style sheets](../user-legacy/stylesheets.md#hierarchical-list-style-sheets). Multi-level lists contain a root-level style sheet and one or more sub-level style sheet(s). Each level is attached to a hierarchical list style sheet and represents a depth in the list (level 1, level 2, level 3, etc.).
+Multi-level lists are based on [multi-level list style sheets](../user-legacy/stylesheets.md#multi-level-list-style-sheets). Multi-level lists contain a root-level style sheet and one or more sub-level style sheet(s). Each level is attached to a multi-level list style sheet and represents a depth in the list (level 1, level 2, level 3, etc.).
When a new sub-level is created, the level numbering restarts at 1. When you add or remove an element in your multi-level list, the numbers are automatically adjusted.
@@ -55,30 +55,30 @@ Multi-level lists can be managed using:
:::tip Related blog post
-[4D Write Pro – Creating Multi-level Bullet or Numbered Lists Using Hierarchical list Style Sheets](https://blog.4d.com/4d-write-pro-creating-multi-level-bullet-or-numbered-lists-using-hierarchical-paragraph-style-sheets)
+[4D Write Pro – Creating Multi-level Bullet or Numbered Lists Using Multi-level list Style Sheets](https://blog.4d.com/4d-write-pro-creating-multi-level-bullet-or-numbered-lists-using-multi-level-paragraph-style-sheets)
:::
-
+
-## Hierarchical list style sheets
+## Multi-level list style sheets
-Hierarchical list style sheets are used to create [multi-level lists](../user-legacy/using-a-4d-write-pro-area.md#multi-level-lists).
+Multi-level list style sheets are used to create [multi-level lists](../user-legacy/using-a-4d-write-pro-area.md#multi-level-lists).
-To create a hierarchical list style sheet, use [WP New style sheet](../commands/wp-new-style-sheet.md) and pass in *listLevelCount* the desired number of levels. You then define a hierarchy of related paragraph style sheets: one **root-level** style sheet and one or more **sub-level** style sheets linked to it. Each level represents a depth in the list (level 1, level 2, level 3, etc.) and is automatically named "root-level name + lvl + index", for example "Mylist lvl 2".
+To create a multi-level list style sheet, use [WP New style sheet](../commands/wp-new-style-sheet.md) and pass in *listLevelCount* the desired number of levels. You then define a hierarchy of related paragraph style sheets: one **root-level** style sheet and one or more **sub-level** style sheets linked to it. Each level represents a depth in the list (level 1, level 2, level 3, etc.) and is automatically named "root-level name + lvl + index", for example "Mylist lvl 2".
-To customize hierarchical list styles, the paragraph style sheet object can be customized using [style sheet attributes](../commands-legacy/4d-write-pro-attributes.md#style-sheets).
+To customize multi-level list styles, the paragraph style sheet object can be customized using [style sheet attributes](../commands-legacy/4d-write-pro-attributes.md#style-sheets).
-Hierarchical list style sheets are fully supported by the following commands: [`WP Get style sheet`](../commands/wp-get-style-sheet.md), [`WP SET ATTRIBUTES`](../commands/wp-set-attributes.md), [`WP DELETE STYLE SHEET`](../commands/wp-delete-style-sheet.md).
+Multi-level list style sheets are fully supported by the following commands: [`WP Get style sheet`](../commands/wp-get-style-sheet.md), [`WP SET ATTRIBUTES`](../commands/wp-set-attributes.md), [`WP DELETE STYLE SHEET`](../commands/wp-delete-style-sheet.md).
### Exemplo
-The following example creates a three-level hierarchical list style sheet and applies it to paragraphs.
+The following example creates a three-level multi-level list style sheet and applies it to paragraphs.
```4d
-// Create 3 hierarchical list style sheets
+// Create 3 multi-level list style sheets
WP New style sheet(wpArea; wk type paragraph; "MyList"; 3)
// Retrieve each level
@@ -92,7 +92,7 @@ WP SET ATTRIBUTES($level1; {listStyleType: wk upper latin; fontBold: wk true})
WP SET ATTRIBUTES($level2; {listConcatStringFormat: True})
WP SET ATTRIBUTES($level3; {listStringFormatLtr: "(#)"})
-// Apply hierarchical style sheets to paragraphs
+// Apply multi-level style sheets to paragraphs
var $paragraphs : Collection
$paragraphs:=WP Get elements(wpArea; wk type paragraph)
@@ -103,7 +103,7 @@ WP SET ATTRIBUTES($paragraphs[2]; wk style sheet; $level3)
result:
-
+
To delete the first sub-leve:
@@ -113,11 +113,11 @@ WP DELETE STYLE SHEET(wpArea; "MyList"; 2)
result:
-
+
### Predefined attribute values
-When created, hierarchical list style sheets use predefined values:
+When created, multi-level list style sheets use predefined values:
- `wk margin left` = 0.75 cm \* (number of previous levels) or 0.25 inches \* (number of previous levels), depending on current layout unit
- `wk list type` = `wk decimal`
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index e2f9f7c9aa33df..2a94c5c5367911 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -411,3 +411,154 @@ The History area lists all your prompts sent to the AI. You can hide/show this a
The Erase button allows you to reset the whole window and erase all interactions. It is equivalent to close/reopen the AI dialog box.
+## Multi-level list style sheets
+
+4D Write Pro Interface allows users to create and manage [multi-level lists](./user-legacy/using-a-4d-write-pro-area.md#multi-level-lists) directly from both the toolbar and widget sidebar.
+
+**Toolbar:**
+
+
+
+**Sidebar:**
+
+
+
+To manage multi-level list style sheets, click the  multi-level list button.
+
+When the multi-level list mode is enabled, the Style Sheets panel displays the [multi-level list style sheets](./user-legacy/stylesheets.md#multi-level-list-style-sheets) defined in the document as well as [predefined templates](#predefined-templates).
+
+
+
+### Managing multi-level style sheets
+
+The Style Sheets panel allows you in general to:
+
+-  Create a new style sheet.
+-  Delete a style sheet.
+-  Update a style sheet.
+
+Once a multi-level list style sheet is selected, the panel provides also tools to manage the hierarchy and numbering of the list:
+
+-  Increase the list level of selected paragraphs.
+-  Decrease the list level of selected paragraphs.
+-  Append a level to the list and create a new sub-level.
+-  Modify numbering formats.
+-  Concatenate numbering markers between levels.
+
+### Creating a style sheet
+
+To create a multi-level list style sheet you can either:
+
+- Select and apply one of the predefined templates to the paragraph(s), the selected template and all it sub-levels are then displayed on the top part of the sytle sheets panel. You can customize its levels and formatting (such as numbering styles, colors, fonts, or hierarchy), and then create a new style sheet based on the resulting selection.
+
+- Duplicate one of the existing style sheets via the Duplicate option in the  bottom menu.
+
+- Click the  button and then "New style sheet based on selection" after having selected paragraph(s) to use for the style sheet according to the following:
+ - If the selected paragraph(s) use(s) a list marker, a new multi-level list style sheet made of one level is created based on the current formatting.
+ - If the selected paragraph(s) already use(s) a root-level or a sub-level of a multi-level list style sheet, the complete hierarchy is duplicated.
+
+:::note
+
+For detailed information about creating and configuring multi-level list style sheets by programming, see [Multi-level list style sheets](./user-legacy/stylesheets.md#multi-level-list-style-sheets).
+
+:::
+
+### Applying a multi-level list
+
+You can apply either a multi-level list style sheet defined in the document or one of the predefined templates to the selected paragraphs using the Style Sheets panel:
+
+
+
+### Predefined templates
+
+The interface provides the following predefined multi-level list templates:
+
+**Technical Blueprint**
+
+Level 1: 1
+Level 2: 1.1
+Level 3: 1.1.1
+Level 4: 1.1.1.1
+Level 5: 1.1.1.1.1
+
+**Legal & Governance**
+
+Level 1: I.
+Level 2: A.
+Level 3: 1.
+Level 4: a)
+Level 5: (1)
+Level 6: (a)
+Level 7: (i)
+
+**Educational Material**
+
+Level 1: I.
+Level 2: 1.
+Level 3: 1.1.
+Level 4: a.
+Level 5: ●
+
+**Meeting Minutes**
+
+Level 1: 1.
+Level 2: ●
+
+**Visual Hierarchy**
+
+Level 1: ♣ (Club)
+Level 2: ♦ (Diamond)
+Level 3: ■ (Square)
+Level 4: □ (Hollow Square)
+Level 5: ● (Disc)
+Level 6: ○ (Circle)
+Level 7: – (Dash)
+
+### Customizing predefined templates
+
+You can customize the available templates to provide users with predefined multi-level lists that match the needs of your application.
+
+The predefined multi-level list templates are defined in a JSON file named `multiLevelStyles.json`. This file is located in the 4D Write Pro Interface component Resources folder.
+
+You can customize the available templates by adding your own `multiLevelStyles.json` file in either:
+
+- the project's local Resources folder directly,
+- a `4D WritePro Interface` folder located within the project Resources folder.
+
+If a `multiLevelStyles.json` file is present in both locations, the file located in the `4D WritePro Interface` folder takes precedence.
+
+Each template definition includes:
+
+- a template name,
+- one or more list levels,
+- the 4D Write Pro attributes applied to each level. Any 4D Write Pro attribute can be used in a template definition.
+
+You can use either the attribute names or the corresponding 4D Write Pro constants as JSON keys and values.
+For example, the following definitions are equivalent:
+
+- `"listStyleType": "wk upper roman"`
+- `"wk list style type": "wk upper roman"`
+
+#### Exemplo
+
+Example of a customized JSON file:
+
+```json
+{
+ "predefinedMultiLevelLists": [
+ {
+ "name": "Technical Blue Print Updated",
+ "levels": [
+ { "listStyleType": "wk decimal" },
+ { "listStyleType": "wk decimal", "listConcatStringFormat": true }
+ ]
+ }
+ ]
+}
+```
+
+### Veja também
+
+- [Related blog post: Multi-Level Style Sheets in 4D Write Pro: Now With a Dedicated UI](https://blog.4d.com/multi-level-style-sheets-in-4d-write-pro-now-with-a-dedicated-ui)
+- [multi-level list style sheets](./user-legacy/stylesheets.md#multi-level-list-style-sheets)
+- [multi-level lists](./user-legacy/using-a-4d-write-pro-area.md#multi-level-lists)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button.png
new file mode 100644
index 00000000000000..5f8e7ee323f616
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button1.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button1.png
new file mode 100644
index 00000000000000..07da3e87098960
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button1.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button2.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button2.png
new file mode 100644
index 00000000000000..088e4c64ed531e
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button2.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button3.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button3.png
new file mode 100644
index 00000000000000..ddda09768ac90f
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button3.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button4.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button4.png
new file mode 100644
index 00000000000000..aadcadc4745659
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button4.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button5.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button5.png
new file mode 100644
index 00000000000000..7de845916f4a1f
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button5.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button6.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button6.png
new file mode 100644
index 00000000000000..636cb5780823cd
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button6.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button8.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button8.png
new file mode 100644
index 00000000000000..0d5031837e8773
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-button8.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-panel.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-panel.png
new file mode 100644
index 00000000000000..652d71520d5fe7
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-panel.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-panel2.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-panel2.png
new file mode 100644
index 00000000000000..6e3c56f16b0d7a
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-panel2.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-stylesheets1.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-stylesheets1.png
new file mode 100644
index 00000000000000..10c1d6e47429a9
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-stylesheets1.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-stylesheets2.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-stylesheets2.png
new file mode 100644
index 00000000000000..a0d750f5bd4f62
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list-stylesheets2.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list7.png b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list7.png
new file mode 100644
index 00000000000000..646a3d751ced01
Binary files /dev/null and b/i18n/pt/docusaurus-plugin-content-docs/current/assets/en/WritePro/wp-multi-level-list7.png differ
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-authentication-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-authentication-database-method.md
index e7e5887db2d0f6..891fa35a60bba9 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-authentication-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-authentication-database-method.md
@@ -53,7 +53,7 @@ Deve declarar esses parâmetros desta forma:
```4d
// On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// Código para o método
```
@@ -129,7 +129,7 @@ Exemplo do On Web Authentication database method*Licenses* em modo BASIC:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuário;$senha;$IPNavegador;$IPServidor : Text
var $ipServerDusuário : Boolean
ARRAY TEXT($usuários;0)
@@ -178,7 +178,7 @@ Exemplo do On Web Authentication database method em modo DIGEST:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuario : Text
$result:=False
$usuario:=$user
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-connection-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-connection-database-method.md
index 5ab24e3cd89ed6..6d39deceb79702 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-connection-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands-legacy/on-web-connection-database-method.md
@@ -76,8 +76,16 @@ Note que você é livre para usar este parâmetro quando quiser. 4D simplesmente
O segundo parâmetro (*$http*) é o cabeçalho e o corpo da petição HTTP enviada pelo navegador web. Note que esta informação se passa a seu **On Web Connection database method** tal como está. O conteúdo varia em função do tipo de navegador web que estiver tentando a conexão.
Com Safari rodando em Mac OS, pode receber um cabeçalho similar a este:
-```RAW
-GET /favicon.ico HTTP/1.1Referer: http://123.45.67.89/4dcgi/testUser-Agent: Mozilla/5.0 (Macintosh; U; Intel macOS; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10Cache-Control: max-age=0Accept: */*Accept-Language: fr-frAccept-Encoding: gzip, deflateConnection: keep-aliveHost: 123.45.67.89
+```txt
+GET /favicon.ico HTTP/1.1
+Referer: http://123.45.67.89/4dcgi/test
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
+Cache-Control: max-age=0
+Accept: */*
+Accept-Language: fr-fr
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 123.45.67.89
```
Com Microsoft Internet Explorer 8 rodando em Windows, pode receber um cabeçalho similar a este:
```RAW
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Date and Time/timestamp.md b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Date and Time/timestamp.md
index cfb37e8a3bdb65..50d12f1137ae5a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Date and Time/timestamp.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Date and Time/timestamp.md
@@ -45,8 +45,13 @@ Pode utilizar **Timestamp** em um arquivo de histórico para saber com precisão
Resultado:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## Ver também
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Formulas/parse-formula.md b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Formulas/parse-formula.md
index da3c7afc31411b..2795a3e4335bf1 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Formulas/parse-formula.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Formulas/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\*** **Os equivalentes tokenizados são elementos* **de estrutura* *e da linguagem 4D em texto sem formato expressos com a sintaxe do token, como é mostrado abaixo (consulte também* *Usar tokens em fórmulas):*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Interruptions/defer.md b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Interruptions/defer.md
index ba09a589f734b4..814562f0880bda 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Interruptions/defer.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Interruptions/defer.md
@@ -47,6 +47,8 @@ defer(ALERT("2"))
Em *exitFormula*, você passa a expressão que deseja avaliar na saída do método ou função, independentemente da forma de término. Internamente, toda vez que `defer` é chamado, o 4D converte *exitFormula* em uma [formula](../../commands/formula) e a adiciona a uma pilha associada ao método ou função. Quando o método ou função termina, todas as formulas armazenadas na pilha são avaliadas na ordem em que aparecem na coleção.
+Para fins de depuração, você pode obter a pilha atual de fórmulas a qualquer momento usando o comando [`Deferred formulas`](../../commands/deferred-formulas).
+
Como para todas as [formulas](../../commands/formula), se a expressão *exitFormula* usar variáveis locais, seus valores atuais são copiados e armazenados no objeto formula retornado **no momento em que ele é colocado na pilha diferida**. Quando executada, a formula usa esses valores copiados em vez dos valores atuais das variáveis locais.
:::note Notas
@@ -109,11 +111,10 @@ defer(SET DATABASE PARAMETER(Diagnostic log level; $logLevel))
## Ver também
-[throw](../commands/throw)
+[Deferred formulas](../commands/deferred-formulas)
[Last errors](../commands/last-errors)
[ON ERR CALL](../commands/on-err-call)
-
-## Propriedades
+[throw](../commands/throw)
| | |
| --- | --- |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Interruptions/deferred-formulas.md b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Interruptions/deferred-formulas.md
new file mode 100644
index 00000000000000..e30f8836c228b3
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Interruptions/deferred-formulas.md
@@ -0,0 +1,55 @@
+---
+id: deferred-formulas
+title: Deferred formulas
+slug: /commands/deferred-formulas
+displayed_sidebar: docs
+---
+
+**Deferred formulas** : Collection
+
+
+
+| Parâmetro | Tipo | | Descrição |
+| --- | --- | --- | --- |
+| Resultado | Collection | ← |Pilha de fórmulas diferidas na função ou no método|
+
+
+
+
+Histórico
+
+|Versão|Alterações|
+|---|---|
+|21 R4|Criado|
+
+
+
+
+## Descrição
+
+O comando `Deferred formulas` retorna a coleção de todas as fórmulas que foram diferidas usando o comando [`defer`](../../commands/defer) na função ou no método atual.
+
+Se o comando for chamado a partir de outro contexto, ele retorna uma coleção vazia.
+
+
+
+## Exemplo
+
+```4d
+defer(ALERT("1"))
+defer(ALERT("2"))
+...
+var $colStack:=Deferred formulas
+ //$colStack = [<>,<>]
+```
+
+## Ver também
+
+[defer](../commands/defer)
+
+## Propriedades
+
+| | |
+| --- | --- |
+| Número do comando | 1861 |
+| Thread-seguro | yes |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md
index fdb0105cf661cd..2bd8ec6d5eeced 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/Styled Text/st-get-plain-text.md
@@ -82,10 +82,11 @@ Você está procurando o texto "muito bem" entre os valores de um campo de texto
Dado o seguinte texto localizado na área multi estilo "MyArea":
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
Este texto é mostrado:

diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md
index 013aa07f90221b..8951ce4e392d2d 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/System Documents/document-to-text.md
@@ -67,8 +67,9 @@ Nota de Compatibidade: opções de compatibilidade estão disponíveis para gere
Dado o documento texto seguinte (os campos estão separados por tabulações):
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
Quando executa este código:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md
index b1978ae59baeac..56d7d8581f9af0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/language-legacy/XML DOM/dom-find-xml-element.md
@@ -88,10 +88,18 @@ A mesma pesquisa também pode ser realizada desta forma:
Dada a seguinte estrutura XML:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
O código abaixo permite recuperar a referência de cada elemento Elem2 no array arrEncontrados:
```4d
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md
index ffe82075aa8a2a..5015e31b9be839 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/flow-control.md
@@ -59,6 +59,14 @@ A expressão é TRUE apenas se ambos os métodos forem TRUE. Entretanto, mesmo s
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
O resultado é parecido mas o _MethodB_ é avaliado somente se necessário.
> **Nota:** o [operador ternário](operators.md#ternary-operator) permite escrever expressões condicionais de uma linha e pode substituir uma sequência completa de instruções If.. Else.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md
index 420b31f7bedd4e..7fbdcfd8a3d976 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/API/DataClassClass.md
@@ -1246,6 +1246,12 @@ var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc
//the first entity is the most similar
```
+:::note
+
+The default order is ascending, although a descending order is usually the most useful for vector similarity queries. Thus, you will usually have to add the `desc` keyword in your vector similarity query strings.
+
+:::
+
If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
```4d
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md
index f9a89a20669377..df915590e5850e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/flow-control.md
@@ -58,6 +58,14 @@ A expressão é TRUE apenas se ambos os métodos forem TRUE. No entanto, mesmo s
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
O resultado é semelhante e *MethodB* é avaliado apenas se necessário.
> **Nota:** O [operador ternário](operators.md#ternary-operator) permite escrever expressões condicionais de uma linha e pode substituir uma sequência completa de instruções If..Else.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md
index 1e2d08cfb0694c..10049d551ba435 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Reference.md
@@ -96,7 +96,8 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle) | Oculta o retângulo de seleção quando o objeto tem o foco. | true, false |
| [`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight) | Utilizado para especificar a ocultação dos registos destacados no list box. | true, false |
| [`highlightSet`](properties_ListBox.md#highlight-set) | Nome do conjunto. | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Any CSS value, "transparent", "automatic" |
+| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Sets a horizontal padding for listbox cells. | Number of pixels (must be >=0) |
| **i** | | |
| [`icon`](properties_TextAndPicture.md#picture-pathname) | O nome do caminho da imagem utilizada para botões, caixas de verificação, botões rádio e cabeçalhos de list box. | Caminho relativo ou filesystem na sintaxe POSIX. |
| [`iconFrames`](properties_TextAndPicture.md#number-of-states) | Define o número exato de estados presentes na imagem. | mínimo: 1 |
@@ -214,6 +215,7 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`variableCalculation`](properties_Object.md#variable-calculation) | Permite efetuar cálculos matemáticos. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
| [`verticalAlign`](properties_Text.md#vertical-alignment) | Localização vertical do texto na área que o contém. | "automatic", "top", "middle", "bottom" |
| [`verticalLineStroke`](properties_Gridlines.md#vertical-line-color) | Define a cor das linhas verticais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Sets a vertical padding for listbox cells. | Número de píxeles (debe ser >=0) |
| [`visibility`](properties_Display.md#visibility) | Permite ocultar o objeto no ambiente da aplicação. | "visible", "hidden", "selectedRows", "unselectedRows" |
| **w** | | |
| [`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine) | Usado para escolher entre dois motores de renderização para a área Web, dependendo das especificações da aplicação. | "embedded", "system" |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/REST/$method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/REST/$method.md
index 8338676845ead1..232f1e11df28fd 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/REST/$method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/REST/$method.md
@@ -59,19 +59,19 @@ If you have used `$savedfilter` and/or `$savedorderby` (in conjunction with `$fi
### Exemplo
-To create an entity set, which will be saved in 4D Server's cache for two hours, add `$method=entityset` at the end of your REST request:
+Para criar um conjunto de entidades, que será guardado no cache do 4D Server por duas horas, adicione `$method=entityset` no final do seu pedido REST:
`GET /rest/People/?$filter="ID>320"&$method=entityset`
-You can create an entity set that will be stored in 4D Server's cache for only ten minutes by passing a new timeout to `$timeout`:
+Pode criar um conjunto de entidades que será armazenado na cache do 4D Server por apenas dez minutos, passando um novo timeout para `$timeout`:
`GET /rest/People/?$filter="ID>320"&$method=entityset&$timeout=600`
-You can also save the filter and order by, by passing true to `$savedfilter` and `$savedorderby`.
+Também é possível guardar o filtro e ordenar por, passando true para `$savedfilter` e `$savedorderby`.
> `$skip` y `$top/$limit` no se tienen en cuenta al guardar un conjunto de entidades.
-Después de crear un conjunto de entidades, el primer elemento, `__ENTITYSET`, se añade al objeto devuelto e indica la URI a utilizar para acceder al conjunto de entidades:
+Depois de criar um conjunto de entidades, o primeiro elemento, `__ENTITYSET`, é adicionado ao objeto retornado e indica o URI a ser usado para acessar o conjunto da entidade:
```json
__ENTITYSET: "http://127.0.0.1:8081/rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7"`
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md
index 887721805e93d4..8523429b45f066 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/WritePro/commands-legacy/wp-new.md
@@ -41,7 +41,7 @@ Também pode utilizar o parâmetro *fonte*, em cujo caso o novo objeto 4D Write
Como padrão, expressões HTML inseridas em documentos 4D WRite legados não são importados (não têm compatibilidade com 4D Write Pro). Se passar a constante wk import html expressions as text no parâmetro *opção*, expressões HTML serão importadas como texto raw entre as tags *##htmlBegin##* e *##htmlEnd##* \-- que exigirá depois ações de formatação. Por exemplo:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md
index 9f4e0ad8ea94c8..dd6d1102a2fdef 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/document-to-text.md
@@ -67,8 +67,9 @@ Nota de Compatibidade: opções de compatibilidade estão disponíveis para gere
Dado o documento texto seguinte (os campos estão separados por tabulações):
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
Quando executa este código:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md
index 0e0421b81a4011..100a0f49d973ab 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/dom-find-xml-element.md
@@ -88,10 +88,18 @@ A mesma pesquisa também pode ser realizada desta forma:
Dada a seguinte estrutura XML:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
O código abaixo permite recuperar a referência de cada elemento Elem2 no array arrEncontrados:
```4d
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
index 5bb42097d5f785..b5405521c4e556 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
@@ -53,7 +53,7 @@ Deve declarar esses parâmetros desta forma:
```4d
// On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// Código para o método
```
@@ -129,7 +129,7 @@ Exemplo do On Web Authentication database method*Licenses* em modo BASIC:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuário;$senha;$IPNavegador;$IPServidor : Text
var $ipServerDusuário : Boolean
ARRAY TEXT($usuários;0)
@@ -178,7 +178,7 @@ Exemplo do On Web Authentication database method em modo DIGEST:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuario : Text
$result:=False
$usuario:=$user
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md
index 3300834e4ddd81..4101d2bc036a82 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/on-web-connection-database-method.md
@@ -76,8 +76,16 @@ Note que você é livre para usar este parâmetro quando quiser. 4D simplesmente
O segundo parâmetro (*$http*) é o cabeçalho e o corpo da petição HTTP enviada pelo navegador web. Note que esta informação se passa a seu **On Web Connection database method** tal como está. O conteúdo varia em função do tipo de navegador web que estiver tentando a conexão.
Com Safari rodando em Mac OS, pode receber um cabeçalho similar a este:
-```RAW
-GET /favicon.ico HTTP/1.1Referer: http://123.45.67.89/4dcgi/testUser-Agent: Mozilla/5.0 (Macintosh; U; Intel macOS; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10Cache-Control: max-age=0Accept: */*Accept-Language: fr-frAccept-Encoding: gzip, deflateConnection: keep-aliveHost: 123.45.67.89
+```txt
+GET /favicon.ico HTTP/1.1
+Referer: http://123.45.67.89/4dcgi/test
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
+Cache-Control: max-age=0
+Accept: */*
+Accept-Language: fr-fr
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 123.45.67.89
```
Com Microsoft Internet Explorer 8 rodando em Windows, pode receber um cabeçalho similar a este:
```RAW
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md
index 1a4b256c2ad6ff..57dfbe48f4ee62 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\*** **Os equivalentes tokenizados são elementos* **de estrutura* *e da linguagem 4D em texto sem formato expressos com a sintaxe do token, como é mostrado abaixo (consulte também* *Usar tokens em fórmulas):*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md
index 3afb6a99aac512..74220b11269831 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/st-get-plain-text.md
@@ -82,10 +82,11 @@ Você está procurando o texto "muito bem" entre os valores de um campo de texto
Dado o seguinte texto localizado na área multi estilo "MyArea":
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
Este texto é mostrado:

diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md
index e0643302f32c13..39a1fffd9bb056 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/commands-legacy/timestamp.md
@@ -45,8 +45,13 @@ Pode utilizar **Timestamp** em um arquivo de histórico para saber com precisão
Resultado:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## Ver também
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md
index 7724f9bf50d28a..1774cbcceb4c41 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/ClassClass.md
@@ -3,7 +3,7 @@ id: ClassClass
title: Class
---
-Quando uma classe de usuário é [defined](Concepts/classes.md#class-definition) no projeto, ela é carregada no ambiente de linguagem 4D. Uma classe é um objeto em si mesmo, da classe "Class", que tem propriedades e uma função.
+Quando uma classe de usuário é [defined](../Project/code-overview.md#creating-classes) no projeto, ela é carregada no ambiente de linguagem 4D. Uma classe é um objeto em si mesmo, da classe "Class", que tem propriedades e uma função.
### Resumo
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md
index 1aee0b96165337..34d2d77ab845ca 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md
@@ -1217,11 +1217,11 @@ If *attributePath* designates an attribute storing [**vector objects**](../API/V
In this case, the *value* parameter must be a **comparison vector object** containing the following properties:
-| Propriedade | Tipo | Descrição |
-| ----------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| vector | [4D.Vector](../API/VectorClass.md) | Obrigatório. The vector to be compared |
-| metric | Text | Opcional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. You can use one of the following (Text) constants:`mk cosine` (default if omitted): calculates the cosine similarity between vectors.`mk dot`: calculates the dot similarity of vectors.`mk euclidean`: calculates the Euclidean distance between vectors. |
-| threshold | Real | Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results. |
+| Propriedade | Tipo | Descrição |
+| ----------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| vector | [4D.Vector](../API/VectorClass.md) | Obrigatório. The vector to be compared |
+| metric | Text | Opcional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. You can use one of the following (Text) constants:`mk cosine` (default if omitted): calculates the [cosine similarity](./VectorClass.md#cosinesimilarity) between vectors.`mk dot`: calculates the [dot similarity](VectorClass.md#dotsimilarity) of vectors.`mk euclidean`: calculates the [Euclidean distance](./VectorClass.md#euclideandistance) between vectors. |
+| threshold | Real | Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results. |
Only a subset of **comparator** symbols are supported. Note that they compare results to the threshold value:
@@ -1237,7 +1237,7 @@ For example, you want to return entities of MyClass where the similarity with a
```4d
var $myVector : 4D.Vector
$myVector := getVector //method to get a vector, e.g. from 4D.AIKit
-var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.2}
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 1.2}
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
@@ -1245,14 +1245,24 @@ The **order by** statement is supported in the query string so that entities in
```4d
var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc"; $comparisonVector)
- //the first entity is the most similar
+ //$results.first() entity is the most similar
```
-If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+:::note
+
+You will generally want vector similarity query results to be sorted from "most similar" to "least similar." By default, results returned with an **order by** clause are sorted in ascending order. Depending on the similarity metric used, you may need to adjust the sorting direction to obtain the correct ranking:
+
+- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Therefore, you will typically need to include the `desc` keyword in the query string.
+- for [**euclidean distance**](./VectorClass.md#euclideandistance) similarity, lower values indicate greater similarity. In this case, the default ascending order (or explicitly using the `asc` keyword) is appropriate.
+
+:::
+
+You can only order on a single vector field. If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
```4d
var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField desc"; /
- {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+ {vector : $myVector1 };{vector : $myVector2 })
+ //myVectorField > :1 is used for the order by
```
See [more examples below](#example-4-2) (examples 4 and 5).
@@ -1260,6 +1270,7 @@ See [more examples below](#example-4-2) (examples 4 and 5).
:::tip Related blog posts
- [4D AI: Searching Entities by Vector Similarity in 4D](https://blog.4d.com/4d-ai-searching-entities-by-vector-similarity-in-4d)
+- [4D AI: Sorting Query Results by Vector Similarity](https://blog.4d.com/4d-ai-sorting-query-results-by-vector-similarity/)
- [Why Your Search Stack Feels Broken — and How Vector Search Fixes It](https://blog.4d.com/why-your-search-stack-feels-broken-and-how-vector-search-fixes-it)
:::
@@ -1627,12 +1638,16 @@ var $result:=$client.embeddings.create("my long text to search"; "text-embedding
var $vector:=$result.vector
//embedding attribute is based upon a 4D field storing 4D.Vector class objects
+
//search with default metric (cosine)
-var $employees:=ds.Employee.query("embedding > :1"; {vector : $vector})
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector : $vector})
+
//search with euclidean metric
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk euclidean})
+var $employees:=ds.Employee.query("embedding < :1 order by embedding"; {vector: $vector; metric: mk euclidean})
+
//search with explicit cosine metric and custom threshold
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk cosine; threshold: 0.9})
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector: $vector; metric: mk cosine; threshold: 0.9})
+
//search with a formula
var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vector)>0.9))
@@ -1640,17 +1655,11 @@ var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vect
#### Exemplo 2
-We want to execute a query by vector similarity using vectors with different metrics and order the results by cosine similarity:
+Vector-based semantic ordering can be combined with traditional ORDA filters in the same query.
```4d
- //Create the comparison vectors
-var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
-var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
-
- //embedding attribute is based upon a 4D field storing 4D.Vector class objects
-ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
- .orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
-
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 0.4}
+var $results := ds.MyTable.query("myVectorField <= :1 AND salary>100000 order by myVectorField, salary desc"; $comparisonVector)
```
#### Veja também
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md
index 5e57ee79b8324e..18e86823d388d6 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/API/SessionClass.md
@@ -855,7 +855,7 @@ Quando um objeto `Session` é criado, a propriedade `.storage` está vazia. Essa
In client/server, the `.storage` object of the remote user session is **not** the same on the server and on the client.
-When a remote user session and a web session are [shared using an OTP](../Desktop/sessions.md#sharing-a-desktop-session-for-web-accesses), they also share the same `.storage` object on the server, even if the OTP was [created](#createotp) from the session on the client side.
+When a remote user session and a web session are [shared using an OTP](../Desktop/sessions.md#sharing-a-remote-session-for-web-accesses), they also share the same `.storage` object on the server, even if the OTP was [created](#createotp) from the session on the client side.
:::tip
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md
index 6aea961c6aec82..f185782446c50a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/classes.md
@@ -928,7 +928,7 @@ The `server` keyword is useless for [ORDA data model functions](../ORDA/ordaClas
`server` function parameters and result must be [**streamable**](./dt_object.md#streaming-support). For example, [4D.Datastore](../API/DataStoreClass.md), [File handle](../API/FileHandleClass.md), or [WebServer](../API/WebServerClass.md) are non-streamable classes but [4D.File](../API/FileClass.md) is streamable.
-This feature is particularly useful in the context of [remote user sessions](../Desktop/sessions.md#remote-user-sessions), allowing you to implement the business logic in a [session singleton](#shared-or-session-singleton-functions) to share it accross all the processes of the session, thus extending the functionalities of the [`Session`](../commands/session) command. In this case, you might want the relevant business logic to be executed **on the server** so that all the session information is gathered on the server.
+This feature is particularly useful in the context of [remote user sessions](../Desktop/sessions.md#remote-user-sessions), allowing you to implement the business logic in a [session singleton](#session-singleton) to share it accross all the processes of the session, thus extending the functionalities of the [`Session`](../commands/session) command. In this case, you might want the relevant business logic to be executed **on the server** so that all the session information is gathered on the server.
By default, shared or session singleton functions are executed locally. Adding the `server` keyword in the class function definition makes 4D use the singleton instance on the server. Note that this can result of an instantiation of the singleton on the server if no instance exists yet.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md
index f9a89a20669377..df915590e5850e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/flow-control.md
@@ -58,6 +58,14 @@ A expressão é TRUE apenas se ambos os métodos forem TRUE. No entanto, mesmo s
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
O resultado é semelhante e *MethodB* é avaliado apenas se necessário.
> **Nota:** O [operador ternário](operators.md#ternary-operator) permite escrever expressões condicionais de uma linha e pode substituir uma sequência completa de instruções If..Else.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md
index aabc9b5a2bc2a1..e1eb6aa67b7d42 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Concepts/methods.md
@@ -13,13 +13,13 @@ O tamanho máximo de um método de projecto é limitado a 2 GB de texto ou 32.00
Na Linguagem 4D, existem várias categorias de métodos. A categoria depende da forma como podem ser chamados:
-| Tipo | Contexto de chamada | Aceita parâmetros | Descrição |
-| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Métodos projeto** | Por demanda, quando chamar ao nome do método projeto (ver [Chamando a métodos projeto](#chamando-metodos-projeto)) | Sim | Pode conter qualquer código para executar ações personalizadas Quando um método projeto for criado, se torna parte parte da linguagem do banco de dados na qual foi criado. |
-| **Método objeto (widget)** | Automático, quando um evento envolve a forma a que o método está ligado | Não | Propriedade de um objecto de formulário (também chamado widget) |
-| **Método formulário** | Automático, quando um evento envolve o objecto ao qual o método está ligado | Não | Propriedade de um formulário. Pode-se utilizar um método de formulário para gerir dados e objectos, mas é geralmente mais simples e mais eficiente utilizar um método de objecto para estes fins. |
-| **Trigger** (o *método tabla*) | Automático, cada vez que manipula os registos de uma tabela (Adicionar, Apagar e Modificar) | Não | Propriedade de uma tabela. Os gatilhos/triggers são métodos que podem prevenir operações "ilegais" com os registos da sua base de dados. |
-| **Método base** | Automático, quando ocorre um evento de sessão de trabalho | Sim (pré-definido) | Existem 16 métodos base em 4D. |
-| **Class** | Automatically called when an object of the class is instantiated or when a function of the class is executed on an object instance in any other methods or in a [database field](../Develop/field-properties.md#class). | yes (class functions) | A **Class** is used to declare and configure the class [constructor](./classes.md#class-constructor), [properties](./classes.md#property*), and [functions](./classes.md#function) of objects. Veja [**Classes**](classes.md) |
+| Tipo | Contexto de chamada | Aceita parâmetros | Descrição |
+| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Métodos projeto** | On demand, when the project method name is called (see [Project methods](../Project/project-method-properties.md)) | Sim | Pode conter qualquer código para executar ações personalizadas Quando um método projeto for criado, se torna parte parte da linguagem do banco de dados na qual foi criado. |
+| **Método objeto (widget)** | Automático, quando um evento envolve a forma a que o método está ligado | Não | Propriedade de um objecto de formulário (também chamado widget) |
+| **Método formulário** | Automático, quando um evento envolve o objecto ao qual o método está ligado | Não | Propriedade de um formulário. Pode-se utilizar um método de formulário para gerir dados e objectos, mas é geralmente mais simples e mais eficiente utilizar um método de objecto para estes fins. |
+| **Trigger** (o *método tabla*) | Automático, cada vez que manipula os registos de uma tabela (Adicionar, Apagar e Modificar) | Não | Propriedade de uma tabela. Os gatilhos/triggers são métodos que podem prevenir operações "ilegais" com os registos da sua base de dados. |
+| **Método base** | Automático, quando ocorre um evento de sessão de trabalho | Sim (pré-definido) | Existem 16 métodos base em 4D. |
+| **Class** | Automatically called when an object of the class is instantiated or when a function of the class is executed on an object instance in any other methods or in a [database field](../Develop/field-properties.md#class). | yes (class functions) | A **Class** is used to declare and configure the class [constructor](./classes.md#class-constructor), [properties](./classes.md#property), and [functions](./classes.md#function) of objects. Veja [**Classes**](classes.md) |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md
index 84e98f856380b8..e94638623a4625 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/clientServer.md
@@ -131,20 +131,20 @@ In a client/server application, it is important to know where your code will be
The following table summarizes where the code is executed by default and how to switch its execution location (if allowed). Note that **local** means that the code will be executed on the machine from where it is actually called.
-| Code | Default execution | How to switch |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [ORDA data model functions](../ORDA/ordaClasses.md) | server | use `local` keyword in function definition |
-| ORDA computed attribute functions [`get()`](../ORDA/ordaClasses.md#function-get-attributename), [`set()`](../ORDA/ordaClasses.md#function-set-attributename) | server | use `local` keyword in function definition |
-| ORDA computed attribute functions [`query()`](../ORDA/ordaClasses.md#function-query-attributename), [`orderBy()`](../ORDA/ordaClasses.md#function-orderby-attributename) | server | n/a |
-| ORDA event functions [(general)](../ORDA/orda-events.md) | server | n/a |
-| ORDA event function [`constructor()`](../ORDA/ordaClasses.md#class-constructor-1) | local | n/a |
-| ORDA event function [`event touched()`](../ORDA/orda-events.md#function-event-touched) | server | use `local` keyword in function definition |
-| [User class functions](../Concepts/classes.md#function) | local | n/a |
-| [Shared or session singleton function](../Concepts/classes.md#singleton-classes) | local | use `server` keyword in function definition |
-| Trigger | server | n/a |
-| Project method called from a client | client | check [**Execute on server** option](../Project/project-method-properties.md#execute-on-server). The code is executed in the twin process of the [user session process](./sessions.md#remote-user-sessions-remote-user-sessions) |
-| | | call [`Execute on server`](../commands/execute-on-server) command. The code is executed in the [Stored procedures session](./sessions.md#stored-procedure-sessions-stored-procedure-sessions) |
-| Project method called from a stored procedure on the server | server | call [`EXECUTE ON CLIENT`](../commands/execute-on-client) command. The target client must have been [registered](../commands/register-client) |
-| Object method | local | n/a |
-| Database methods:- On Backup Shutdown
- On Backup Startup
- On Server Close Connection
- On Server Open Connection
- On Server Shutdown
- On Server Startup
- On SQL Authentication
- On Web Authentication
- On Web Connection
| server | n/a |
-| Database methods: | client | n/a |
\ No newline at end of file
+| Code | Default execution | How to switch |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [ORDA data model functions](../ORDA/ordaClasses.md) | server | use `local` keyword in function definition |
+| ORDA computed attribute functions [`get()`](../ORDA/ordaClasses.md#function-get-attributename), [`set()`](../ORDA/ordaClasses.md#function-set-attributename) | server | use `local` keyword in function definition |
+| ORDA computed attribute functions [`query()`](../ORDA/ordaClasses.md#function-query-attributename), [`orderBy()`](../ORDA/ordaClasses.md#function-orderby-attributename) | server | n/a |
+| ORDA event functions [(general)](../ORDA/orda-events.md) | server | n/a |
+| ORDA event function [`constructor()`](../ORDA/ordaClasses.md#class-constructor-1) | local | n/a |
+| ORDA event function [`event touched()`](../ORDA/orda-events.md#function-event-touched) | server | use `local` keyword in function definition |
+| [User class functions](../Concepts/classes.md#function) | local | n/a |
+| [Shared or session singleton function](../Concepts/classes.md#singleton-classes) | local | use `server` keyword in function definition |
+| Trigger | server | n/a |
+| Project method called from a client | client | check [**Execute on server** option](../Project/project-method-properties.md#execute-on-server). The code is executed in the twin process of the [user session process](./sessions.md#remote-user-sessions) |
+| | | call [`Execute on server`](../commands/execute-on-server) command. The code is executed in the [Stored procedures session](./sessions.md#stored-procedure-sessions) |
+| Project method called from a stored procedure on the server | server | call [`EXECUTE ON CLIENT`](../commands/execute-on-client) command. The target client must have been [registered](../commands/register-client) |
+| Object method | local | n/a |
+| Database methods:- On Backup Shutdown
- On Backup Startup
- On Server Close Connection
- On Server Open Connection
- On Server Shutdown
- On Server Startup
- On SQL Authentication
- On Web Authentication
- On Web Connection
| server | n/a |
+| Database methods: | client | n/a |
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md
index 5c82bdb20726ff..6151d7e13c968e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Desktop/sessions.md
@@ -164,7 +164,7 @@ A standalone session is the single-user session running when you work locally wi
### Utilização
-The standalone session can be used to develop and test your client/server application and its interaction with web sessions and [OTP sharing](#sharing-a-desktop-session-for-web-accesses). You can use the `session` object in your code in standalone session just as the `session` object of the remote sessions.
+The standalone session can be used to develop and test your client/server application and its interaction with web sessions and [OTP sharing](#sharing-a-remote-session-for-web-accesses). You can use the `session` object in your code in standalone session just as the `session` object of the remote sessions.
### Disponibilidade
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md
index 944e17300c27c2..7ca409d5102b08 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/develop-components.md
@@ -68,7 +68,7 @@ You can edit a component code as long as the following conditions are met:
- the host project is running interpreted,
- the component has been [loaded in interpreted mode](../Project/components.md#interpreted-and-compiled-components) and the source code is available,
-- the component files are stored locally (i.e. they are not [downloaded from GitHub](../Project/components.md#adding-a-github-dependency)).
+- the component files are stored locally (i.e. they are not [downloaded from GitHub](../Project/components.md#adding-a-github-or-gitlab-dependency)).
In this context, you can open, edit, and save your component code in the Code editor on the host project from two places:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md
index ca0a3fc936d7f5..090b6856ce76e3 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Extensions/overview.md
@@ -18,8 +18,7 @@ The 4D [project architecture](../Project/architecture.md) is open and can be ext
4D proposes various components to the 4D community, covering many development needs. All 4D components can be found on the [**4D github repository**](https://github.com/4d).
-A subset of these components is listed by default in the Github panel of the [Dependency Manager](../Project/components.md#adding-a-github-dependency), including:
-including:
+A subset of these components is listed by default in the Github panel of the [Dependency Manager](../Project/components.md#adding-a-github-or-gitlab-dependency), including:
| Componente | Github repository | Descrição | Principais funcionalidades |
| --------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md
index 240ffe5bce0c15..a3ed7f6292f466 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormEditor/properties_FormProperties.md
@@ -41,7 +41,7 @@ Um ficheiro CSS definido ao nível do formulário substituirá a(s) folha(s) de
## Classe de formulário
-Nome de uma [classe usuário](../Concepts/classes.md#class-definition) existente para associar ao formulário. A classe do usuário pode pertencer ao projeto host ou a um [componente](../Extensions/develop-components.md#sharing-of-classes), caso em que a sintaxe formal é "[*componentNameSpace*](../settings/general.md#component-namespace-in-the-class-store).className".
+Nome de uma [classe usuário](../Project/code-overview.md#user-classes) existente para associar ao formulário. A classe do usuário pode pertencer ao projeto host ou a um [componente](../Extensions/develop-components.md#sharing-of-classes), caso em que a sintaxe formal é "[*componentNameSpace*](../settings/general.md#component-namespace-in-the-class-store).className".
A associação de uma classe ao formulário oferece os seguintes benefícios:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md
index 1e2d08cfb0694c..10049d551ba435 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/FormObjects/properties_Reference.md
@@ -96,7 +96,8 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle) | Oculta o retângulo de seleção quando o objeto tem o foco. | true, false |
| [`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight) | Utilizado para especificar a ocultação dos registos destacados no list box. | true, false |
| [`highlightSet`](properties_ListBox.md#highlight-set) | Nome do conjunto. | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Any CSS value, "transparent", "automatic" |
+| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Sets a horizontal padding for listbox cells. | Number of pixels (must be >=0) |
| **i** | | |
| [`icon`](properties_TextAndPicture.md#picture-pathname) | O nome do caminho da imagem utilizada para botões, caixas de verificação, botões rádio e cabeçalhos de list box. | Caminho relativo ou filesystem na sintaxe POSIX. |
| [`iconFrames`](properties_TextAndPicture.md#number-of-states) | Define o número exato de estados presentes na imagem. | mínimo: 1 |
@@ -214,6 +215,7 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`variableCalculation`](properties_Object.md#variable-calculation) | Permite efetuar cálculos matemáticos. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
| [`verticalAlign`](properties_Text.md#vertical-alignment) | Localização vertical do texto na área que o contém. | "automatic", "top", "middle", "bottom" |
| [`verticalLineStroke`](properties_Gridlines.md#vertical-line-color) | Define a cor das linhas verticais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Sets a vertical padding for listbox cells. | Número de píxeles (debe ser >=0) |
| [`visibility`](properties_Display.md#visibility) | Permite ocultar o objeto no ambiente da aplicação. | "visible", "hidden", "selectedRows", "unselectedRows" |
| **w** | | |
| [`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine) | Usado para escolher entre dois motores de renderização para a área Web, dependendo das especificações da aplicação. | "embedded", "system" |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md
index 525c7fbba419af..88a926fb9500de 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ORDA/ordaClasses.md
@@ -28,7 +28,7 @@ Graças a esta caraterística, toda a lógica comercial da sua aplicação 4D po

-Além disso, 4D [pré-criações automaticamente](#creating-classes) as classes para cada objeto do modelo de dados disponível.
+Além disso, 4D [pré-criações automaticamente](../Project/code-overview.md#orda-classes) as classes para cada objeto do modelo de dados disponível.
## Arquitetura
@@ -45,7 +45,7 @@ Todas as classes do modelo de dados ORDA são expostas como propriedades do **`c
| cs._DataClassName_Entity | cs. EmployeeEntity | [`dataClass.get()`](API/DataClassClass.md#get), [`dataClass.new()`](API/DataClassClass.md#new), [`entitySelection.first()`](API/EntitySelectionClass.md#first), [`entitySelection.last()`](API/EntitySelectionClass.md#last), [`entity.previous()`](API/EntityClass.md#previous), [`entity.next()`](API/EntityClass.md#next), [`entity.first()`](API/EntityClass.md#first), [`entity.last()`](API/EntityClass.md#last), [`entity.clone()`](API/EntityClass.md#clone) |
| cs._DataClassName_Selection | cs. EmployeeSelection | [`dataClass.query()`](API/DataClassClass.md#query), [`entitySelection.query()`](API/EntitySelectionClass.md#query), [`dataClass.all()`](API/DataClassClass.md#all), [`dataClass.fromCollection()`](API/DataClassClass.md#fromcollection), [`dataClass.newSelection()`](API/DataClassClass.md#newselection), [`entitySelection.drop()`](API/EntitySelectionClass.md#drop), [`entity.getSelection()`](API/EntityClass.md#getselection), [`entitySelection.and()`](API/EntitySelectionClass.md#and), [`entitySelection.minus()`](API/EntitySelectionClass.md#minus), [`entitySelection.or()`](API/EntitySelectionClass.md#or), [`entitySelection.orderBy()`](API/EntitySelectionClass.md#or), [`entitySelection.orderByFormula()`](API/EntitySelectionClass.md#orderbyformula), [`entitySelection.slice()`](API/EntitySelectionClass.md#slice), `Create entity selection` |
-> As classes de utilizador ORDA são armazenadas como arquivos de classe normais (.4dm) na subpasta Classes do projeto [(ver abaixo)](#class-files).
+> ORDA user classes are stored as regular class files (.4dm) in the Classes subfolder of the project.
Além disso, as instâncias de objetos das classes de usuárioes do modelo de dados ORDA beneficiam das propriedades e funções dos seus pais:
@@ -265,7 +265,7 @@ End if
Ao criar ou editar classes de modelo de dados, é necessário preste atenção às seguintes regras:
- Como eles são usados para definir nomes automáticos de classe de DataClass nos **cs** [loja de classe](Concepts/classes.md#class-stores), tabelas 4D devem ser nomeadas para evitar qualquer conflito no namespace **cs**. Em particular:
- - Não dê o mesmo nome a uma tabela 4D e a um [nome de classe de usuário](../Concepts/classes.md#class-definition). Se isso acontecer, o construtor da classe de utilizador torna-se inutilizável (o compilador emite um aviso).
+ - Não dê o mesmo nome a uma tabela 4D e a um [nome de classe de usuário](../Project/code-overview.md#user-classes). Se isso acontecer, o construtor da classe de utilizador torna-se inutilizável (o compilador emite um aviso).
- Não use um nome reservado para uma tabela 4D (por exemplo, "DataClass").
- Ao definir uma classe, verifique se a instrução [`class extends`](../Concepts/classes.md#class-extends-classname) corresponde exatamente ao nome da classe pai (lembre-se de que são sensíveis a maiúsculas e minúsculas). Por exemplo, 'Classe amplia EntitySelection' para uma classe de seleção de entidade.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Project/components.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Project/components.md
index 3a82bcfa78d3fc..3b5768ce085645 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Project/components.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/Project/components.md
@@ -49,7 +49,7 @@ This section describes how to work with components in the **4D** and **4D Server
Para carregar um componente no seu projeto 4D, você pode:
- copie os arquivos de componentes na pasta [**Components** do seu projeto](architecture.md#components) (as pastas de pacotes de componentes interpretados devem ser sufixadas com ".4dbase", veja acima),
-- ou, declarar o componente nas **dependências**. fil\*\* arquivo de seu projeto; isto é feito automaticamente para arquivos locais quando você [**adicionar uma dependência usando a interface do Gerenciador de Dependência**](#adding-a-github-dependency).
+- ou, declarar o componente nas **dependências**. fil\*\* arquivo de seu projeto; isto é feito automaticamente para arquivos locais quando você [**adicionar uma dependência usando a interface do Gerenciador de Dependência**](#adding-a-github-or-gitlab-dependency).
Os componentes declarados no arquivo **dependencies.json** podem ser armazenados em locais diferentes:
@@ -530,7 +530,7 @@ Once the connection is established, an icon  and your personal token is missing, an error message is displayed and a **Add a personal access token...** button is displayed (see [Providing your access token](#providing-your-access-token)).
+If the component is stored on a [private repository](#authentication-and-tokens) and your personal token is missing, an error message is displayed and a **Add a personal access token...** button is displayed (see [Providing your access token](#providing-your-access-token)).
:::
@@ -591,7 +591,7 @@ Além disso, você pode verificar se há atualizações a qualquer momento, para

-Se uma nova versão de componente que corresponda à sua [configuração de controle de versão de componente](#defining-a-github-dependency-version-range) for detectada no GitHub, um status de dependência específico será exibido:
+Se uma nova versão de componente que corresponda à sua [configuração de controle de versão de componente](#defining-a-dependency-version-range) for detectada no GitHub, um status de dependência específico será exibido:

diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/REST/$method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/REST/$method.md
index 8338676845ead1..232f1e11df28fd 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/REST/$method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/REST/$method.md
@@ -59,19 +59,19 @@ If you have used `$savedfilter` and/or `$savedorderby` (in conjunction with `$fi
### Exemplo
-To create an entity set, which will be saved in 4D Server's cache for two hours, add `$method=entityset` at the end of your REST request:
+Para criar um conjunto de entidades, que será guardado no cache do 4D Server por duas horas, adicione `$method=entityset` no final do seu pedido REST:
`GET /rest/People/?$filter="ID>320"&$method=entityset`
-You can create an entity set that will be stored in 4D Server's cache for only ten minutes by passing a new timeout to `$timeout`:
+Pode criar um conjunto de entidades que será armazenado na cache do 4D Server por apenas dez minutos, passando um novo timeout para `$timeout`:
`GET /rest/People/?$filter="ID>320"&$method=entityset&$timeout=600`
-You can also save the filter and order by, by passing true to `$savedfilter` and `$savedorderby`.
+Também é possível guardar o filtro e ordenar por, passando true para `$savedfilter` e `$savedorderby`.
> `$skip` y `$top/$limit` no se tienen en cuenta al guardar un conjunto de entidades.
-Después de crear un conjunto de entidades, el primer elemento, `__ENTITYSET`, se añade al objeto devuelto e indica la URI a utilizar para acceder al conjunto de entidades:
+Depois de criar um conjunto de entidades, o primeiro elemento, `__ENTITYSET`, é adicionado ao objeto retornado e indica o URI a ser usado para acessar o conjunto da entidade:
```json
__ENTITYSET: "http://127.0.0.1:8081/rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7"`
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md
index 5317d67f6bb774..014689d5f56f27 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/ViewPro/getting-started.md
@@ -26,11 +26,11 @@ The easiest way to install 4D View Pro in an opened project is to use the Depend
1. Open the [Dependency Manager](../Project/components.md) window.
2. Click on the **+** button to add a component.
3. Click on the **GitHub** tab.
-4. Select **4d/4D-ViewPro** in the [default list of components](../Extensions/overview.md) and (recommended) **Follow 4D version** as [Dependency rule](../Project/components.md#defining-a-github-dependency-version-range), then click **Add**.
+4. Select **4d/4D-ViewPro** in the [default list of components](../Extensions/overview.md) and (recommended) **Follow 4D version** as [Dependency rule](../Project/components.md#defining-a-dependency-version-range), then click **Add**.

-Once you restart the project, the 4D View Pro component is installed as a [Github dependency](../Project/components.md#adding-a-github-dependency).
+Once you restart the project, the 4D View Pro component is installed as a [Github dependency](../Project/components.md#adding-a-github-or-gitlab-dependency).
4D View Pro requires a license. Você precisa ativar essa licença em seu aplicativo para usar seus recursos. Ao usar esse componente sem uma licença, o conteúdo de um objeto que requer um recurso do 4D View Pro não é exibido em tempo de execução; em vez disso, é exibida uma mensagem de erro:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md
index 670bfd17705c81..867c75e5be9d24 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/WritePro/commands-legacy/wp-new.md
@@ -41,7 +41,7 @@ Também pode utilizar o parâmetro *fonte*, em cujo caso o novo objeto 4D Write
Como padrão, expressões HTML inseridas em documentos 4D WRite legados não são importados (não têm compatibilidade com 4D Write Pro). Se passar a constante wk import html expressions as text no parâmetro *opção*, expressões HTML serão importadas como texto raw entre as tags *##htmlBegin##* e *##htmlEnd##* \-- que exigirá depois ações de formatação. Por exemplo:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md
index b74fd831337a4f..2abf9aa191c342 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/code-editor/write-class-method.md
@@ -25,16 +25,16 @@ If you are used to coding with **VS Code**, you can also use this editor with 4D
Cada janela do Editor de Código possui uma barra de ferramentas que fornece acesso instantâneo a funções básicas relacionadas à execução e edição de código.
-| Elemento | Ícone | Descrição |
-| -------------------------------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Execução do método** |  | Ao trabalhar com métodos, cada janela do Code Editor tem um botão que pode ser usado para executar o método atual. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
For more information on method execution, see [Calling Project Methods](../Concepts/methods.md#calling-project-methods). |
-| **Procurar no método** |  | Exibe a área de [\*Pesquisa](#find-and-replace). |
-| **Macros** |  | Insere uma macro na seleção. Clique na seta pendente para visualizar uma lista de macros disponíveis. Para obter mais informações sobre como criar e instanciar macros, consulte [Macros](#macros). |
-| **Expandir tudo / Recolher tudo** |  | Estes botões permitem expandir ou recolher todas as estruturas de fluxo de controle do código. |
-| **Informações sobre o método** |  | Exibe a caixa de diálogo de [Propriedades do Método](../Project/project-method-properties.md) (apenas métodos de projeto). |
-| **Últimos valores da área de transferência** |  | Exibe os últimos valores armazenados na área de transferência. |
-| **Pranchetas** |  | Nove pranchetas disponíveis no editor de código. You can [use these clipboards](#clipboards) by clicking on them directly or by using keyboard shortcuts. Você pode usar uma [opção de Preferências](Preferences/methods.md#options-1) para ocultá-las. |
-| **Menu de navegação suspenso** |  | Permite navegar dentro de métodos e classes com conteúdo marcado automaticamente ou marcadores declarados manualmente. Ver abaixo |
+| Elemento | Ícone | Descrição |
+| -------------------------------------------- | --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Execução do método** |  | Ao trabalhar com métodos, cada janela do Code Editor tem um botão que pode ser usado para executar o método atual. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
For more information on method execution, see [Project Methods](../Project/project-method-properties.md). |
+| **Procurar no método** |  | Exibe a área de [\*Pesquisa](#find-and-replace). |
+| **Macros** |  | Insere uma macro na seleção. Clique na seta pendente para visualizar uma lista de macros disponíveis. Para obter mais informações sobre como criar e instanciar macros, consulte [Macros](#macros). |
+| **Expandir tudo / Recolher tudo** |  | Estes botões permitem expandir ou recolher todas as estruturas de fluxo de controle do código. |
+| **Informações sobre o método** |  | Exibe a caixa de diálogo de [Propriedades do Método](../Project/project-method-properties.md) (apenas métodos de projeto). |
+| **Últimos valores da área de transferência** |  | Exibe os últimos valores armazenados na área de transferência. |
+| **Pranchetas** |  | Nove pranchetas disponíveis no editor de código. You can [use these clipboards](#clipboards) by clicking on them directly or by using keyboard shortcuts. Você pode usar uma [opção de Preferências](Preferences/methods.md#options-1) para ocultá-las. |
+| **Menu de navegação suspenso** |  | Permite navegar dentro de métodos e classes com conteúdo marcado automaticamente ou marcadores declarados manualmente. Ver abaixo |
### Área de edição
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
index e7e5887db2d0f6..891fa35a60bba9 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
@@ -53,7 +53,7 @@ Deve declarar esses parâmetros desta forma:
```4d
// On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// Código para o método
```
@@ -129,7 +129,7 @@ Exemplo do On Web Authentication database method*Licenses* em modo BASIC:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuário;$senha;$IPNavegador;$IPServidor : Text
var $ipServerDusuário : Boolean
ARRAY TEXT($usuários;0)
@@ -178,7 +178,7 @@ Exemplo do On Web Authentication database method em modo DIGEST:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuario : Text
$result:=False
$usuario:=$user
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md
index 5ab24e3cd89ed6..6d39deceb79702 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/commands-legacy/on-web-connection-database-method.md
@@ -76,8 +76,16 @@ Note que você é livre para usar este parâmetro quando quiser. 4D simplesmente
O segundo parâmetro (*$http*) é o cabeçalho e o corpo da petição HTTP enviada pelo navegador web. Note que esta informação se passa a seu **On Web Connection database method** tal como está. O conteúdo varia em função do tipo de navegador web que estiver tentando a conexão.
Com Safari rodando em Mac OS, pode receber um cabeçalho similar a este:
-```RAW
-GET /favicon.ico HTTP/1.1Referer: http://123.45.67.89/4dcgi/testUser-Agent: Mozilla/5.0 (Macintosh; U; Intel macOS; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10Cache-Control: max-age=0Accept: */*Accept-Language: fr-frAccept-Encoding: gzip, deflateConnection: keep-aliveHost: 123.45.67.89
+```txt
+GET /favicon.ico HTTP/1.1
+Referer: http://123.45.67.89/4dcgi/test
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
+Cache-Control: max-age=0
+Accept: */*
+Accept-Language: fr-fr
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 123.45.67.89
```
Com Microsoft Internet Explorer 8 rodando em Windows, pode receber um cabeçalho similar a este:
```RAW
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md
index cfb37e8a3bdb65..50d12f1137ae5a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Date and Time/timestamp.md
@@ -45,8 +45,13 @@ Pode utilizar **Timestamp** em um arquivo de histórico para saber com precisão
Resultado:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## Ver também
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md
index da3c7afc31411b..2795a3e4335bf1 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Formulas/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\*** **Os equivalentes tokenizados são elementos* **de estrutura* *e da linguagem 4D em texto sem formato expressos com a sintaxe do token, como é mostrado abaixo (consulte também* *Usar tokens em fórmulas):*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
index 346103cfed73e5..6041f2b59041f2 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
@@ -82,10 +82,11 @@ Você está procurando o texto "muito bem" entre os valores de um campo de texto
Dado o seguinte texto localizado na área multi estilo "MyArea":
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
Este texto é mostrado:

diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md
index 013aa07f90221b..8951ce4e392d2d 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/System Documents/document-to-text.md
@@ -67,8 +67,9 @@ Nota de Compatibidade: opções de compatibilidade estão disponíveis para gere
Dado o documento texto seguinte (os campos estão separados por tabulações):
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
Quando executa este código:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md
index b1978ae59baeac..56d7d8581f9af0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R3/language-legacy/XML DOM/dom-find-xml-element.md
@@ -88,10 +88,18 @@ A mesma pesquisa também pode ser realizada desta forma:
Dada a seguinte estrutura XML:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
O código abaixo permite recuperar a referência de cada elemento Elem2 no array arrEncontrados:
```4d
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md
index f9a89a20669377..df915590e5850e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/flow-control.md
@@ -58,6 +58,14 @@ A expressão é TRUE apenas se ambos os métodos forem TRUE. No entanto, mesmo s
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
O resultado é semelhante e *MethodB* é avaliado apenas se necessário.
> **Nota:** O [operador ternário](operators.md#ternary-operator) permite escrever expressões condicionais de uma linha e pode substituir uma sequência completa de instruções If..Else.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md
index 1e2d08cfb0694c..10049d551ba435 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Reference.md
@@ -96,7 +96,8 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle) | Oculta o retângulo de seleção quando o objeto tem o foco. | true, false |
| [`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight) | Utilizado para especificar a ocultação dos registos destacados no list box. | true, false |
| [`highlightSet`](properties_ListBox.md#highlight-set) | Nome do conjunto. | string |
-| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Any CSS value, "transparent", "automatic" |
+| [`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color) | Define a cor das linhas horizontais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding) | Sets a horizontal padding for listbox cells. | Number of pixels (must be >=0) |
| **i** | | |
| [`icon`](properties_TextAndPicture.md#picture-pathname) | O nome do caminho da imagem utilizada para botões, caixas de verificação, botões rádio e cabeçalhos de list box. | Caminho relativo ou filesystem na sintaxe POSIX. |
| [`iconFrames`](properties_TextAndPicture.md#number-of-states) | Define o número exato de estados presentes na imagem. | mínimo: 1 |
@@ -214,6 +215,7 @@ Nesta página, encontrará uma lista completa de todas as propriedades de object
| [`variableCalculation`](properties_Object.md#variable-calculation) | Permite efetuar cálculos matemáticos. | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |
| [`verticalAlign`](properties_Text.md#vertical-alignment) | Localização vertical do texto na área que o contém. | "automatic", "top", "middle", "bottom" |
| [`verticalLineStroke`](properties_Gridlines.md#vertical-line-color) | Define a cor das linhas verticais num list box (cinzento por predefinição). | Qualquer valor CSS, "transparent", "automatic" |
+| [`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding) | Sets a vertical padding for listbox cells. | Número de píxeles (debe ser >=0) |
| [`visibility`](properties_Display.md#visibility) | Permite ocultar o objeto no ambiente da aplicação. | "visible", "hidden", "selectedRows", "unselectedRows" |
| **w** | | |
| [`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine) | Usado para escolher entre dois motores de renderização para a área Web, dependendo das especificações da aplicação. | "embedded", "system" |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/$method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/$method.md
index 8338676845ead1..232f1e11df28fd 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/$method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/$method.md
@@ -59,19 +59,19 @@ If you have used `$savedfilter` and/or `$savedorderby` (in conjunction with `$fi
### Exemplo
-To create an entity set, which will be saved in 4D Server's cache for two hours, add `$method=entityset` at the end of your REST request:
+Para criar um conjunto de entidades, que será guardado no cache do 4D Server por duas horas, adicione `$method=entityset` no final do seu pedido REST:
`GET /rest/People/?$filter="ID>320"&$method=entityset`
-You can create an entity set that will be stored in 4D Server's cache for only ten minutes by passing a new timeout to `$timeout`:
+Pode criar um conjunto de entidades que será armazenado na cache do 4D Server por apenas dez minutos, passando um novo timeout para `$timeout`:
`GET /rest/People/?$filter="ID>320"&$method=entityset&$timeout=600`
-You can also save the filter and order by, by passing true to `$savedfilter` and `$savedorderby`.
+Também é possível guardar o filtro e ordenar por, passando true para `$savedfilter` e `$savedorderby`.
> `$skip` y `$top/$limit` no se tienen en cuenta al guardar un conjunto de entidades.
-Después de crear un conjunto de entidades, el primer elemento, `__ENTITYSET`, se añade al objeto devuelto e indica la URI a utilizar para acceder al conjunto de entidades:
+Depois de criar um conjunto de entidades, o primeiro elemento, `__ENTITYSET`, é adicionado ao objeto retornado e indica o URI a ser usado para acessar o conjunto da entidade:
```json
__ENTITYSET: "http://127.0.0.1:8081/rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7"`
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md
index f610ab1da60130..90ef81dcbb2358 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/commands-legacy/wp-new.md
@@ -41,7 +41,7 @@ Também pode utilizar o parâmetro *fonte*, em cujo caso o novo objeto 4D Write
Como padrão, expressões HTML inseridas em documentos 4D WRite legados não são importados (não têm compatibilidade com 4D Write Pro). Se passar a constante wk import html expressions as text no parâmetro *opção*, expressões HTML serão importadas como texto raw entre as tags *##htmlBegin##* e *##htmlEnd##* \-- que exigirá depois ações de formatação. Por exemplo:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
index 1465a542460f3b..da0ecd5c9017c6 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
@@ -24,7 +24,7 @@ Use these callback properties for more granular control over success and error h
| `onResponse` | 4D. Function | A function to be called asynchronously when the request finishes **successfully**.
*Ensure that the current process does not terminate.* |
| `onError` | 4D. Function | A function to be called asynchronously when the request finishes **with errors**.
*Ensure that the current process does not terminate.* |
-> The callback function will receive the same result object type (one of [OpenAIResult](Classes/OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
+> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
See [documentation about asynchronous code for examples](../asynchronous-call.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md
index ee54c5a55aaffb..c717845a1b4972 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/document-to-text.md
@@ -67,8 +67,9 @@ Nota de Compatibidade: opções de compatibilidade estão disponíveis para gere
Dado o documento texto seguinte (os campos estão separados por tabulações):
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
Quando executa este código:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md
index 1d741ace6c50db..563d49ddcf4313 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/dom-find-xml-element.md
@@ -88,10 +88,18 @@ A mesma pesquisa também pode ser realizada desta forma:
Dada a seguinte estrutura XML:
-```RAW
- aaa bbb ccc
+```xml
+
+
+
+ aaa
+ bbb
+ ccc
+
+
```
+
O código abaixo permite recuperar a referência de cada elemento Elem2 no array arrEncontrados:
```4d
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md
index 49bf1810c873e6..b561f8a26a8825 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-authentication-database-method.md
@@ -53,7 +53,7 @@ Deve declarar esses parâmetros desta forma:
```4d
// On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// Código para o método
```
@@ -129,7 +129,7 @@ Exemplo do On Web Authentication database method*Licenses* em modo BASIC:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuário;$senha;$IPNavegador;$IPServidor : Text
var $ipServerDusuário : Boolean
ARRAY TEXT($usuários;0)
@@ -178,7 +178,7 @@ Exemplo do On Web Authentication database method em modo DIGEST:
```4d
//Método de banco On Web Authentication
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $usuario : Text
$result:=False
$usuario:=$user
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md
index 3300834e4ddd81..4101d2bc036a82 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/on-web-connection-database-method.md
@@ -76,8 +76,16 @@ Note que você é livre para usar este parâmetro quando quiser. 4D simplesmente
O segundo parâmetro (*$http*) é o cabeçalho e o corpo da petição HTTP enviada pelo navegador web. Note que esta informação se passa a seu **On Web Connection database method** tal como está. O conteúdo varia em função do tipo de navegador web que estiver tentando a conexão.
Com Safari rodando em Mac OS, pode receber um cabeçalho similar a este:
-```RAW
-GET /favicon.ico HTTP/1.1Referer: http://123.45.67.89/4dcgi/testUser-Agent: Mozilla/5.0 (Macintosh; U; Intel macOS; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10Cache-Control: max-age=0Accept: */*Accept-Language: fr-frAccept-Encoding: gzip, deflateConnection: keep-aliveHost: 123.45.67.89
+```txt
+GET /favicon.ico HTTP/1.1
+Referer: http://123.45.67.89/4dcgi/test
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
+Cache-Control: max-age=0
+Accept: */*
+Accept-Language: fr-fr
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 123.45.67.89
```
Com Microsoft Internet Explorer 8 rodando em Windows, pode receber um cabeçalho similar a este:
```RAW
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md
index 0795072075d6be..70282265134010 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\*** **Os equivalentes tokenizados são elementos* **de estrutura* *e da linguagem 4D em texto sem formato expressos com a sintaxe do token, como é mostrado abaixo (consulte também* *Usar tokens em fórmulas):*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md
index 12f9d4a0dc20d4..9c668b93a7b38c 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/st-get-plain-text.md
@@ -82,10 +82,11 @@ Você está procurando o texto "muito bem" entre os valores de um campo de texto
Dado o seguinte texto localizado na área multi estilo "MyArea":
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
Este texto é mostrado:

diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md
index e0643302f32c13..39a1fffd9bb056 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands-legacy/timestamp.md
@@ -45,8 +45,13 @@ Pode utilizar **Timestamp** em um arquivo de histórico para saber com precisão
Resultado:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## Ver também
diff --git a/versioned_docs/version-20/Concepts/flow-control.md b/versioned_docs/version-20/Concepts/flow-control.md
index 364d2baae08fb9..e02b9205e19cea 100644
--- a/versioned_docs/version-20/Concepts/flow-control.md
+++ b/versioned_docs/version-20/Concepts/flow-control.md
@@ -59,6 +59,14 @@ The expression is TRUE only if both methods are TRUE. However, even if _MethodA_
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
The result is similar and _MethodB_ is evaluated only if necessary.
> **Note:** The [ternary operator](operators.md#ternary-operator) allows writing one-line conditional expressions and can replace a full sequence of If..Else statements.
diff --git a/versioned_docs/version-21-R2/Concepts/flow-control.md b/versioned_docs/version-21-R2/Concepts/flow-control.md
index 51a18d47d67092..26c792d28e63f0 100644
--- a/versioned_docs/version-21-R2/Concepts/flow-control.md
+++ b/versioned_docs/version-21-R2/Concepts/flow-control.md
@@ -59,6 +59,14 @@ The expression is TRUE only if both methods are TRUE. However, even if _MethodA_
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
The result is similar and _MethodB_ is evaluated only if necessary.
> **Note:** The [ternary operator](operators.md#ternary-operator) allows writing one-line conditional expressions and can replace a full sequence of If..Else statements.
diff --git a/versioned_docs/version-21-R2/FormObjects/properties_Reference.md b/versioned_docs/version-21-R2/FormObjects/properties_Reference.md
index 2dc38d3de1884c..97bbe5b71b5a72 100644
--- a/versioned_docs/version-21-R2/FormObjects/properties_Reference.md
+++ b/versioned_docs/version-21-R2/FormObjects/properties_Reference.md
@@ -98,7 +98,8 @@ You will find in this page a comprehensive list of all object properties sorted
|[`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle)|Hides the selection rectangle when the object has the focus.|true, false|
|[`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight)|Used to specify hiding highlighted records in the list box.|true, false|
|[`highlightSet`](properties_ListBox.md#highlight-set)|Name of the set.| string|
-|[`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color)|Defines the color of the horizontal lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color)|Defines the color of the horizontal lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding)|Sets a horizontal padding for listbox cells.|Number of pixels (must be >=0)|
|**i**|||
|[`icon`](properties_TextAndPicture.md#picture-pathname)|The pathname of the picture used for buttons, check boxes, radio buttons, list box headers.|Relative or filesystem path in POSIX syntax.|
|[`iconFrames`](properties_TextAndPicture.md#number-of-states)|Sets the exact number of states present in the picture. |minimum: 1|
@@ -216,6 +217,7 @@ You will find in this page a comprehensive list of all object properties sorted
|[`variableCalculation`](properties_Object.md#variable-calculation)|Allows mathematical calculations to be performed.|"none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare"|
|[`verticalAlign`](properties_Text.md#vertical-alignment)|Vertical location of text within the area that contains it. |"automatic", "top", "middle", "bottom"|
|[`verticalLineStroke`](properties_Gridlines.md#vertical-line-color)|Defines the color of the vertical lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding)|Sets a vertical padding for listbox cells.|Number of pixels (must be >=0)|
|[`visibility`](properties_Display.md#visibility)|Allows hiding the object in the Application environment.|"visible", "hidden", "selectedRows", "unselectedRows"|
|**w**|||
|[`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine)| Used to choose between two rendering engines for the Web area, depending on the specifics of the application.|"embedded", "system"|
diff --git a/versioned_docs/version-21-R2/WritePro/commands-legacy/wp-new.md b/versioned_docs/version-21-R2/WritePro/commands-legacy/wp-new.md
index b6cefcf09e6021..f84e9c70b87f8a 100644
--- a/versioned_docs/version-21-R2/WritePro/commands-legacy/wp-new.md
+++ b/versioned_docs/version-21-R2/WritePro/commands-legacy/wp-new.md
@@ -42,7 +42,7 @@ If the *source* parameter is used, the new 4D Write Pro object will be filled wi
By defaut, HTML expressions inserted in legacy 4D Write documents are not imported (no 4D Write Pro support). If you pass the wk import html expressions as text constant in the *option* parameter, HTML expressions will be imported as raw text within *##htmlBegin##* and *##htmlEnd##* tags -- which will require formatting actions afterwards. For example:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/versioned_docs/version-21-R2/commands-legacy/describe-query-execution.md b/versioned_docs/version-21-R2/commands-legacy/describe-query-execution.md
index 668f20694943e0..63046573ff0cb2 100644
--- a/versioned_docs/version-21-R2/commands-legacy/describe-query-execution.md
+++ b/versioned_docs/version-21-R2/commands-legacy/describe-query-execution.md
@@ -58,8 +58,10 @@ The following example illustrates the type of information obtained using these c
After executing this code, *$vResultPlan* and *$vResultPath* contain descriptions of the queries performed, for example:
-```RAW
-$vResultPlan : Employees.LastName == T@ And Employees.Salary > 2500 And Join on Table : Companies : Employees.Company = Companies.Name [index : Companies.Name ] LIKE H@ And Join on Table : Cities : Employees.City = Cities.Name [index : Cities.Pop ] < 50000$vResultPath : (Employees.LastName == T@ And Employees.Salary > 2500) And (Join on Table : Companies : Employees.Company = Companies.Name with filter {[index : Companies.Name ] LIKE H@}) And (Join on Table : Cities : Employees.City = Cities.Name with filter {[index : Cities.Pop ] < 50000}) (3 records found in 1 ms)
+```txt
+$vResultPlan :
+ Employees.LastName == T@ And Employees.Salary > 2500 And Join on Table : Companies : Employees.Company = Companies.Name [index : Companies.Name ] LIKE H@ And Join on Table : Cities : Employees.City = Cities.Name [index : Cities.Pop ] < 50000$
+vResultPath : (Employees.LastName == T@ And Employees.Salary > 2500) And (Join on Table : Companies : Employees.Company = Companies.Name with filter {[index : Companies.Name ] LIKE H@}) And (Join on Table : Cities : Employees.City = Cities.Name with filter {[index : Cities.Pop ] < 50000}) (3 records found in 1 ms)
```
If the Description in XML Format constant is passed to the [Last query path](last-query-path.md) command, *$vResultPath* contains the description of the query expressed in XML:
diff --git a/versioned_docs/version-21-R2/commands-legacy/document-to-text.md b/versioned_docs/version-21-R2/commands-legacy/document-to-text.md
index f356272b0c9fbd..345f068c94bc54 100644
--- a/versioned_docs/version-21-R2/commands-legacy/document-to-text.md
+++ b/versioned_docs/version-21-R2/commands-legacy/document-to-text.md
@@ -67,8 +67,9 @@ By default, when you omit the *breakMode* parameter, line breaks are processed i
Given the following text document (fields are separated by tabs):
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
When you execute this code:
diff --git a/versioned_docs/version-21-R2/commands-legacy/locked-records-info.md b/versioned_docs/version-21-R2/commands-legacy/locked-records-info.md
index 77e84fcbb69f3d..18bc1714269c79 100644
--- a/versioned_docs/version-21-R2/commands-legacy/locked-records-info.md
+++ b/versioned_docs/version-21-R2/commands-legacy/locked-records-info.md
@@ -77,14 +77,59 @@ You execute the following code:
If two records were locked in the \[Table\] table, the following object is returned in $vOlocked:
-```RAW
-{ "records": [ { "contextID": "A9BB84C0E57349E089FA44E04C0F2F25", "contextAttributes": { "task_id": 8, "user_name": "roland", "user4d_id": 1, "host_name": "iMac de roland", "task_name": "P_RandomLock", "client_version": -1342106592 }, "recordNumber": 1 }, { "contextID": "8916338D1B8A4D86B857D92F593CCAC3", "contextAttributes": { "task_id": 9, "user_name": "roland", "user4d_id": 1, "host_name": "iMac de roland", "task_name": "P_RandomLock", "client_version": -1342106592 }, "recordNumber": 2 } ]}
+```json
+{
+ "records": [
+ {
+ "contextID": "A9BB84C0E57349E089FA44E04C0F2F25",
+ "contextAttributes": {
+ "task_id": 8,
+ "user_name": "roland",
+ "user4d_id": 1,
+ "host_name": "iMac de roland",
+ "task_name": "P_RandomLock",
+ "client_version": -1342106592
+ },
+ "recordNumber": 1
+ },
+ {
+ "contextID": "8916338D1B8A4D86B857D92F593CCAC3",
+ "contextAttributes": {
+ "task_id": 9,
+ "user_name": "roland",
+ "user4d_id": 1,
+ "host_name": "iMac de roland",
+ "task_name": "P_RandomLock",
+ "client_version": -1342106592
+ },
+ "recordNumber": 2
+ }
+ ]
+}
```
If the code is executed on a 4D Server and the locking is caused by a remote client machine, the following object is returned in $vOlocked:
```json
-{ "records": [ { "contextID": "B0EC087DC2FA704496C0EA15DC011D1C", "contextAttributes": { "task_id": 2, "user_name": "achim", "user4d_id": 1, "host_name": "achim-pcwin", "task_name": "P_RandomLock", "is_remote_context": true, "client_uid": "0696E66F6CD731468E6XXX581A87554A", "client_version": -268364752 }, "recordNumber": 1 } ]}
+{
+ "records": [
+ {
+ "contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
+ "contextAttributes": {
+ "task_id": 2,
+ "user_name": "achim",
+ "user4d_id": 1,
+ "host_name": "achim-pcwin",
+ "task_name": "P_RandomLock",
+ "is_remote_context": true,
+ "client_uid": "0696E66F6CD731468E6XXX581A87554A",
+ "client_version": -268364752
+ },
+ "recordNumber": 1
+ }
+ ]
+}
+
```
## See also
diff --git a/versioned_docs/version-21-R2/commands-legacy/method-get-code.md b/versioned_docs/version-21-R2/commands-legacy/method-get-code.md
index 1d9ac0ad22e2f0..8df2c6850b3458 100644
--- a/versioned_docs/version-21-R2/commands-legacy/method-get-code.md
+++ b/versioned_docs/version-21-R2/commands-legacy/method-get-code.md
@@ -110,8 +110,12 @@ If you execute the following code:
The resulting document will contain:
-```RAW
- //%attributes = {"lang":"en"} comment added and reserved by 4DCase of : (Form event code=On Load) ALL RECORDS([Customer])End case
+```json
+ //%attributes = {"lang":"en"} comment added and reserved by 4D
+Case of
+ : (Form event code=On Load)
+ ALL RECORDS([Customer])
+End case
```
If you execute the following code:
@@ -126,8 +130,12 @@ If you execute the following code:
The resulting document will contain:
-```RAW
- //%attributes = {"lang":"en"} comment added and reserved by 4DCase of : (Form event code:C388=On Load:K2:1) ALL RECORDS:C47([Customer:1])End case
+```json
+ //%attributes = {"lang":"en"} comment added and reserved by 4D
+Case of
+ : (Form event code:C388=On Load:K2:1)
+ ALL RECORDS:C47([Customer:1])
+End case
```
## See also
diff --git a/versioned_docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md b/versioned_docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
index 4d2d2ebfefb369..59467e6b33c5dc 100644
--- a/versioned_docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
+++ b/versioned_docs/version-21-R2/commands-legacy/on-web-authentication-database-method.md
@@ -53,7 +53,7 @@ You must declare these parameters as follows:
```4d
// On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// Code for the method
```
@@ -127,7 +127,7 @@ Example of the On Web Authentication database method in BASIC mode:
```4d
//On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $ipServerDuser : Boolean
ARRAY TEXT($users;0)
ARRAY LONGINT($nums;0)
@@ -172,7 +172,7 @@ Example of the On Web Authentication database method in DIGEST mode:
```4d
//On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
$result:=False
//For security reasons, refuse names that contain @
If(WithWildcard($user))
diff --git a/versioned_docs/version-21-R2/commands-legacy/parse-formula.md b/versioned_docs/version-21-R2/commands-legacy/parse-formula.md
index f0a34c4f733336..370ebf50a5761f 100644
--- a/versioned_docs/version-21-R2/commands-legacy/parse-formula.md
+++ b/versioned_docs/version-21-R2/commands-legacy/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\*** *Tokenized equivalents are 4D language and structure elements in plain text* **expressed with token syntax as shown below (* *see also Using tokens in formulas):*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/versioned_docs/version-21-R2/commands-legacy/st-get-plain-text.md b/versioned_docs/version-21-R2/commands-legacy/st-get-plain-text.md
index c98f1b2cfb2aca..2281455a944043 100644
--- a/versioned_docs/version-21-R2/commands-legacy/st-get-plain-text.md
+++ b/versioned_docs/version-21-R2/commands-legacy/st-get-plain-text.md
@@ -81,10 +81,11 @@ You are looking for the text "very nice" among the values of a multistyle text f
Given the following text placed in the multi-style area entitled "MyArea":
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+It is now Go to the 4D site or Open a window
```
+
This text is displayed:

diff --git a/versioned_docs/version-21-R2/commands-legacy/timestamp.md b/versioned_docs/version-21-R2/commands-legacy/timestamp.md
index d93e32d7c90ab7..2dd0ea1de8b39f 100644
--- a/versioned_docs/version-21-R2/commands-legacy/timestamp.md
+++ b/versioned_docs/version-21-R2/commands-legacy/timestamp.md
@@ -45,8 +45,13 @@ You can use **Timestamp** in a log file to know precisely when the events occurr
Result:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## See also
diff --git a/versioned_docs/version-21-R2/commands-legacy/web-set-option.md b/versioned_docs/version-21-R2/commands-legacy/web-set-option.md
index aa42444aaf44ca..d7148a5eb0f8d7 100644
--- a/versioned_docs/version-21-R2/commands-legacy/web-set-option.md
+++ b/versioned_docs/version-21-R2/commands-legacy/web-set-option.md
@@ -90,8 +90,39 @@ Enabling the HTTP debug log without body parts:
A log entry looks like this:
-```RAW
-# REQUEST# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089388#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber:5GET /4DWEBTEST HTTP/1.1Accept: text/html,(...)Accept-Encoding: gzip, deflateConnection: keep-aliveHost: 127.0.0.1User-Agent: 4D_HTTP_Client/0.0.0.0# RESPONSE# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089389 (elapsed time: 1 ms)#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber:6HTTP/1.1 200 OKAccept-Ranges: bytesConnection: keep-aliveContent-Encoding: gzipContent-Length: 3555Content-Type: text/plain; charset=UTF-8Date: Thu, 20 Apr 2017 10:51:29 GMTExpires: Thu, 20 Apr 2017 10:51:29 GMTServer: 4D/16.0.1[Body Size: 3555]
+```txt
+# REQUEST
+# SocketID: 1592
+# PeerIP: 127.0.0.1
+# PeerPort: 54912
+# TimeStamp: 39089388
+#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
+#SequenceNumber:5
+GET /4DWEBTEST HTTP/1.1
+Accept: text/html,(...)
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 127.0.0.1
+User-Agent: 4D_HTTP_Client/0.0.0.0
+
+# RESPONSE
+# SocketID: 1592
+# PeerIP: 127.0.0.1
+# PeerPort: 54912
+# TimeStamp: 39089389 (elapsed time: 1 ms)
+#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
+#SequenceNumber:6
+HTTP/1.1 200 OK
+Accept-Ranges: bytes
+Connection: keep-alive
+Content-Encoding: gzip
+Content-Length: 3555
+Content-Type: text/plain; charset=UTF-8
+Date: Thu, 20 Apr 2017 10:51:29 GMT
+Expires: Thu, 20 Apr 2017 10:51:29 GMT
+Server: 4D/16.0.1
+
+[Body Size: 3555]
```
## See also
diff --git a/versioned_docs/version-21-R3/API/ClassClass.md b/versioned_docs/version-21-R3/API/ClassClass.md
index 5fbd27fe7701a7..87ed164dc29c90 100644
--- a/versioned_docs/version-21-R3/API/ClassClass.md
+++ b/versioned_docs/version-21-R3/API/ClassClass.md
@@ -4,7 +4,7 @@ title: Class
---
-When a user class is [defined](Concepts/classes.md#class-definition) in the project, it is loaded in the 4D language environment. A class is an object itself, of "Class" class, which has properties and a function.
+When a user class is [defined](../Project/code-overview.md#creating-classes) in the project, it is loaded in the 4D language environment. A class is an object itself, of "Class" class, which has properties and a function.
diff --git a/versioned_docs/version-21-R3/API/DataClassClass.md b/versioned_docs/version-21-R3/API/DataClassClass.md
index dff84253be03d2..0a06212fd70c79 100644
--- a/versioned_docs/version-21-R3/API/DataClassClass.md
+++ b/versioned_docs/version-21-R3/API/DataClassClass.md
@@ -1219,7 +1219,7 @@ In this case, the *value* parameter must be a **comparison vector object** conta
|Property|Type|Description|
|---|---|---|
|vector|[4D.Vector](../API/VectorClass.md)|Mandatory. The vector to be compared|
-|metric|Text|Optional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. You can use one of the following (Text) constants:`mk cosine` (default if omitted): calculates the cosine similarity between vectors.`mk dot`: calculates the dot similarity of vectors.`mk euclidean`: calculates the Euclidean distance between vectors.|
+|metric|Text|Optional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. You can use one of the following (Text) constants:`mk cosine` (default if omitted): calculates the [cosine similarity](./VectorClass.md#cosinesimilarity) between vectors.`mk dot`: calculates the [dot similarity](VectorClass.md#dotsimilarity) of vectors.`mk euclidean`: calculates the [Euclidean distance](./VectorClass.md#euclideandistance) between vectors.|
|threshold|Real|Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results.|
Only a subset of **comparator** symbols are supported. Note that they compare results to the threshold value:
@@ -1236,7 +1236,7 @@ For example, you want to return entities of MyClass where the similarity with a
```4d
var $myVector : 4D.Vector
$myVector := getVector //method to get a vector, e.g. from 4D.AIKit
-var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.2}
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 1.2}
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
@@ -1244,21 +1244,24 @@ The **order by** statement is supported in the query string so that entities in
```4d
var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc"; $comparisonVector)
- //the first entity is the most similar
+ //$results.first() entity is the most similar
```
:::note
-The default order is ascending, although a descending order is usually the most useful for vector similarity queries. Thus, you will usually have to add the `desc` keyword in your vector similarity query strings.
+You will generally want vector similarity query results to be sorted from "most similar" to "least similar." By default, results returned with an **order by** clause are sorted in ascending order. Depending on the similarity metric used, you may need to adjust the sorting direction to obtain the correct ranking:
+- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Therefore, you will typically need to include the `desc` keyword in the query string.
+- for [**euclidean distance**](./VectorClass.md#euclideandistance) similarity, lower values indicate greater similarity. In this case, the default ascending order (or explicitly using the `asc` keyword) is appropriate.
:::
-If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+You can only order on a single vector field. If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
```4d
var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField desc"; /
- {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+ {vector : $myVector1 };{vector : $myVector2 })
+ //myVectorField > :1 is used for the order by
```
See [more examples below](#example-4-2) (examples 4 and 5).
@@ -1267,6 +1270,7 @@ See [more examples below](#example-4-2) (examples 4 and 5).
:::tip Related blog posts
- [4D AI: Searching Entities by Vector Similarity in 4D](https://blog.4d.com/4d-ai-searching-entities-by-vector-similarity-in-4d)
+- [4D AI: Sorting Query Results by Vector Similarity](https://blog.4d.com/4d-ai-sorting-query-results-by-vector-similarity/)
- [Why Your Search Stack Feels Broken — and How Vector Search Fixes It](https://blog.4d.com/why-your-search-stack-feels-broken-and-how-vector-search-fixes-it)
:::
@@ -1635,12 +1639,16 @@ var $result:=$client.embeddings.create("my long text to search"; "text-embedding
var $vector:=$result.vector
//embedding attribute is based upon a 4D field storing 4D.Vector class objects
+
//search with default metric (cosine)
-var $employees:=ds.Employee.query("embedding > :1"; {vector : $vector})
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector : $vector})
+
//search with euclidean metric
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk euclidean})
+var $employees:=ds.Employee.query("embedding < :1 order by embedding"; {vector: $vector; metric: mk euclidean})
+
//search with explicit cosine metric and custom threshold
-var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk cosine; threshold: 0.9})
+var $employees:=ds.Employee.query("embedding > :1 order by embedding desc"; {vector: $vector; metric: mk cosine; threshold: 0.9})
+
//search with a formula
var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vector)>0.9))
@@ -1649,19 +1657,15 @@ var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vect
#### Example 5
-We want to execute a query by vector similarity using vectors with different metrics and order the results by cosine similarity:
+Vector-based semantic ordering can be combined with traditional ORDA filters in the same query.
-```4d
- //Create the comparison vectors
-var $vector1Comparison:={vector: $myvector; metric: mk cosine; threshold: 0.4}
-var $vector2Comparison:={vector: $myvector; metric: mk euclidean; threshold:1}
-
- //embedding attribute is based upon a 4D field storing 4D.Vector class objects
-ds.VectorTable.query("embedding>:1 and embedding<:2";$vector1Comparison;$vector2Comparison)\
- .orderByFormula(Formula(This.embedding.cosineSimilarity($vector1Comparison)))
+```4d
+var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 0.4}
+var $results := ds.MyTable.query("myVectorField <= :1 AND salary>100000 order by myVectorField, salary desc"; $comparisonVector)
```
+
#### See also
[`.query()`](EntitySelectionClass.md#query) for entity selections
diff --git a/versioned_docs/version-21-R3/API/SessionClass.md b/versioned_docs/version-21-R3/API/SessionClass.md
index 55d3c5f064a98b..04140e68c650c3 100644
--- a/versioned_docs/version-21-R3/API/SessionClass.md
+++ b/versioned_docs/version-21-R3/API/SessionClass.md
@@ -903,7 +903,7 @@ When a `Session` object is created, the `.storage` property is empty. This prope
In client/server, the `.storage` object of the remote user session is **not** the same on the server and on the client.
-When a remote user session and a web session are [shared using an OTP](../Desktop/sessions.md#sharing-a-desktop-session-for-web-accesses), they also share the same `.storage` object on the server, even if the OTP was [created](#createotp) from the session on the client side.
+When a remote user session and a web session are [shared using an OTP](../Desktop/sessions.md#sharing-a-remote-session-for-web-accesses), they also share the same `.storage` object on the server, even if the OTP was [created](#createotp) from the session on the client side.
:::tip
diff --git a/versioned_docs/version-21-R3/Concepts/classes.md b/versioned_docs/version-21-R3/Concepts/classes.md
index 321a1b3ec8bdd0..c521a4802bde82 100644
--- a/versioned_docs/version-21-R3/Concepts/classes.md
+++ b/versioned_docs/version-21-R3/Concepts/classes.md
@@ -974,7 +974,7 @@ The `server` keyword is useless for [ORDA data model functions](../ORDA/ordaClas
`server` function parameters and result must be [**streamable**](./dt_object.md#streaming-support). For example, [4D.Datastore](../API/DataStoreClass.md), [File handle](../API/FileHandleClass.md), or [WebServer](../API/WebServerClass.md) are non-streamable classes but [4D.File](../API/FileClass.md) is streamable.
-This feature is particularly useful in the context of [remote user sessions](../Desktop/sessions.md#remote-user-sessions), allowing you to implement the business logic in a [session singleton](#shared-or-session-singleton-functions) to share it accross all the processes of the session, thus extending the functionalities of the [`Session`](../commands/session) command. In this case, you might want the relevant business logic to be executed **on the server** so that all the session information is gathered on the server.
+This feature is particularly useful in the context of [remote user sessions](../Desktop/sessions.md#remote-user-sessions), allowing you to implement the business logic in a [session singleton](#session-singleton) to share it accross all the processes of the session, thus extending the functionalities of the [`Session`](../commands/session) command. In this case, you might want the relevant business logic to be executed **on the server** so that all the session information is gathered on the server.
By default, shared or session singleton functions are executed locally. Adding the `server` keyword in the class function definition makes 4D use the singleton instance on the server. Note that this can result of an instantiation of the singleton on the server if no instance exists yet.
diff --git a/versioned_docs/version-21-R3/Concepts/flow-control.md b/versioned_docs/version-21-R3/Concepts/flow-control.md
index 51a18d47d67092..26c792d28e63f0 100644
--- a/versioned_docs/version-21-R3/Concepts/flow-control.md
+++ b/versioned_docs/version-21-R3/Concepts/flow-control.md
@@ -59,6 +59,14 @@ The expression is TRUE only if both methods are TRUE. However, even if _MethodA_
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
The result is similar and _MethodB_ is evaluated only if necessary.
> **Note:** The [ternary operator](operators.md#ternary-operator) allows writing one-line conditional expressions and can replace a full sequence of If..Else statements.
diff --git a/versioned_docs/version-21-R3/Concepts/methods.md b/versioned_docs/version-21-R3/Concepts/methods.md
index 8273a1b66f4334..8fcdbf02716023 100644
--- a/versioned_docs/version-21-R3/Concepts/methods.md
+++ b/versioned_docs/version-21-R3/Concepts/methods.md
@@ -16,11 +16,11 @@ In the 4D Language, there are several categories of methods. The category depend
|Type|Calling context|Accepts parameters|Description|
|----|-----|-----|----|
-|**Project method**|On demand, when the project method name is called (see [Calling project methods](#calling-project-methods))|Yes|Can contain any code to execute any custom actions. Once a project method is created, it becomes part of the language of the project.|
+|**Project method**|On demand, when the project method name is called (see [Project methods](../Project/project-method-properties.md))|Yes|Can contain any code to execute any custom actions. Once a project method is created, it becomes part of the language of the project.|
|**Object (widget) method**|Automatic, when an event involves the object to which the method is attached|No|Property of a form object (also called widget)|
|**Form method**|Automatic, when an event involves the form to which the method is attached|No|Property of a form. You can use a form method to manage data and objects, but it is generally simpler and more efficient to use an object method for these purposes.|
|**Trigger** (aka *Table method*)|Automatic, each time that you manipulate the records of a table (Add, Delete and Modify)|No|Property of a table. Triggers are methods that can prevent "illegal" operations with the records of your database.|
|**Database method**|Automatic, when a working session event occurs|Yes (predefined)|There are 16 database methods in 4D. |
-|**Class**|Automatically called when an object of the class is instantiated or when a function of the class is executed on an object instance in any other methods or in a [database field](../Develop/field-properties.md#class).|yes (class functions)|A **Class** is used to declare and configure the class [constructor](./classes.md#class-constructor), [properties](./classes.md#property*), and [functions](./classes.md#function) of objects. See [**Classes**](classes.md) |
+|**Class**|Automatically called when an object of the class is instantiated or when a function of the class is executed on an object instance in any other methods or in a [database field](../Develop/field-properties.md#class).|yes (class functions)|A **Class** is used to declare and configure the class [constructor](./classes.md#class-constructor), [properties](./classes.md#property), and [functions](./classes.md#function) of objects. See [**Classes**](classes.md) |
diff --git a/versioned_docs/version-21-R3/Desktop/clientServer.md b/versioned_docs/version-21-R3/Desktop/clientServer.md
index fd25b4d95b2b80..0e398819487b64 100644
--- a/versioned_docs/version-21-R3/Desktop/clientServer.md
+++ b/versioned_docs/version-21-R3/Desktop/clientServer.md
@@ -147,8 +147,8 @@ The following table summarizes where the code is executed by default and how to
|[User class functions](../Concepts/classes.md#function)|local|n/a|
|[Shared or session singleton function](../Concepts/classes.md#singleton-classes)|local|use `server` keyword in function definition|
|Trigger|server|n/a|
-|Project method called from a client|client|check [**Execute on server** option](../Project/project-method-properties.md#execute-on-server). The code is executed in the twin process of the [user session process](./sessions.md#remote-user-sessions-remote-user-sessions)|
-|||call [`Execute on server`](../commands/execute-on-server) command. The code is executed in the [Stored procedures session](./sessions.md#stored-procedure-sessions-stored-procedure-sessions) |
+|Project method called from a client|client|check [**Execute on server** option](../Project/project-method-properties.md#execute-on-server). The code is executed in the twin process of the [user session process](./sessions.md#remote-user-sessions)|
+|||call [`Execute on server`](../commands/execute-on-server) command. The code is executed in the [Stored procedures session](./sessions.md#stored-procedure-sessions) |
|Project method called from a stored procedure on the server|server|call [`EXECUTE ON CLIENT`](../commands/execute-on-client) command. The target client must have been [registered](../commands/register-client) |
|Object method|local|n/a|
|Database methods:- On Backup Shutdown
- On Backup Startup
- On Server Close Connection
- On Server Open Connection
- On Server Shutdown
- On Server Startup
- On SQL Authentication
- On Web Authentication
- On Web Connection
|server|n/a|
diff --git a/versioned_docs/version-21-R3/Desktop/sessions.md b/versioned_docs/version-21-R3/Desktop/sessions.md
index bb572fa20be8de..9b06b610141f74 100644
--- a/versioned_docs/version-21-R3/Desktop/sessions.md
+++ b/versioned_docs/version-21-R3/Desktop/sessions.md
@@ -179,7 +179,7 @@ A standalone session is the single-user session running when you work locally wi
### Usage
-The standalone session can be used to develop and test your client/server application and its interaction with web sessions and [OTP sharing](#sharing-a-desktop-session-for-web-accesses). You can use the `session` object in your code in standalone session just as the `session` object of the remote sessions.
+The standalone session can be used to develop and test your client/server application and its interaction with web sessions and [OTP sharing](#sharing-a-remote-session-for-web-accesses). You can use the `session` object in your code in standalone session just as the `session` object of the remote sessions.
### Availability
diff --git a/versioned_docs/version-21-R3/Extensions/develop-components.md b/versioned_docs/version-21-R3/Extensions/develop-components.md
index f8e876eb01099b..1782b7b8af47c7 100644
--- a/versioned_docs/version-21-R3/Extensions/develop-components.md
+++ b/versioned_docs/version-21-R3/Extensions/develop-components.md
@@ -69,7 +69,7 @@ You can edit a component code as long as the following conditions are met:
- the host project is running interpreted,
- the component has been [loaded in interpreted mode](../Project/components.md#interpreted-and-compiled-components) and the source code is available,
-- the component files are stored locally (i.e. they are not [downloaded from GitHub](../Project/components.md#adding-a-github-dependency)).
+- the component files are stored locally (i.e. they are not [downloaded from GitHub](../Project/components.md#adding-a-github-or-gitlab-dependency)).
In this context, you can open, edit, and save your component code in the Code editor on the host project from two places:
diff --git a/versioned_docs/version-21-R3/Extensions/overview.md b/versioned_docs/version-21-R3/Extensions/overview.md
index 286c18b636e7dc..76cce22a98b29d 100644
--- a/versioned_docs/version-21-R3/Extensions/overview.md
+++ b/versioned_docs/version-21-R3/Extensions/overview.md
@@ -19,8 +19,7 @@ The 4D [project architecture](../Project/architecture.md) is open and can be ext
4D proposes various components to the 4D community, covering many development needs. All 4D components can be found on the [**4D github repository**](https://github.com/4d).
-A subset of these components is listed by default in the Github panel of the [Dependency Manager](../Project/components.md#adding-a-github-dependency), including:
- including:
+A subset of these components is listed by default in the Github panel of the [Dependency Manager](../Project/components.md#adding-a-github-or-gitlab-dependency), including:
|Component|Github repository|Description|Main Features|
|---|---|---|---|
diff --git a/versioned_docs/version-21-R3/FormEditor/properties_FormProperties.md b/versioned_docs/version-21-R3/FormEditor/properties_FormProperties.md
index 9e0ff0c8d7b9da..a6b0b1b4d0df13 100644
--- a/versioned_docs/version-21-R3/FormEditor/properties_FormProperties.md
+++ b/versioned_docs/version-21-R3/FormEditor/properties_FormProperties.md
@@ -45,7 +45,7 @@ A CSS file defined at the form level will override default style sheet(s). For m
## Form Class
-Name of an existing [user class](../Concepts/classes.md#class-definition) to associate to the form. The user class can belong to the host project or to a [component](../Extensions/develop-components.md#sharing-of-classes), in which case the formal syntax is "[*componentNameSpace*](../settings/general.md#component-namespace-in-the-class-store).className".
+Name of an existing [user class](../Project/code-overview.md#user-classes) to associate to the form. The user class can belong to the host project or to a [component](../Extensions/develop-components.md#sharing-of-classes), in which case the formal syntax is "[*componentNameSpace*](../settings/general.md#component-namespace-in-the-class-store).className".
Associating a class to the form provides the following benefits:
diff --git a/versioned_docs/version-21-R3/FormObjects/properties_Reference.md b/versioned_docs/version-21-R3/FormObjects/properties_Reference.md
index 2dc38d3de1884c..97bbe5b71b5a72 100644
--- a/versioned_docs/version-21-R3/FormObjects/properties_Reference.md
+++ b/versioned_docs/version-21-R3/FormObjects/properties_Reference.md
@@ -98,7 +98,8 @@ You will find in this page a comprehensive list of all object properties sorted
|[`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle)|Hides the selection rectangle when the object has the focus.|true, false|
|[`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight)|Used to specify hiding highlighted records in the list box.|true, false|
|[`highlightSet`](properties_ListBox.md#highlight-set)|Name of the set.| string|
-|[`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color)|Defines the color of the horizontal lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color)|Defines the color of the horizontal lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding)|Sets a horizontal padding for listbox cells.|Number of pixels (must be >=0)|
|**i**|||
|[`icon`](properties_TextAndPicture.md#picture-pathname)|The pathname of the picture used for buttons, check boxes, radio buttons, list box headers.|Relative or filesystem path in POSIX syntax.|
|[`iconFrames`](properties_TextAndPicture.md#number-of-states)|Sets the exact number of states present in the picture. |minimum: 1|
@@ -216,6 +217,7 @@ You will find in this page a comprehensive list of all object properties sorted
|[`variableCalculation`](properties_Object.md#variable-calculation)|Allows mathematical calculations to be performed.|"none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare"|
|[`verticalAlign`](properties_Text.md#vertical-alignment)|Vertical location of text within the area that contains it. |"automatic", "top", "middle", "bottom"|
|[`verticalLineStroke`](properties_Gridlines.md#vertical-line-color)|Defines the color of the vertical lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding)|Sets a vertical padding for listbox cells.|Number of pixels (must be >=0)|
|[`visibility`](properties_Display.md#visibility)|Allows hiding the object in the Application environment.|"visible", "hidden", "selectedRows", "unselectedRows"|
|**w**|||
|[`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine)| Used to choose between two rendering engines for the Web area, depending on the specifics of the application.|"embedded", "system"|
diff --git a/versioned_docs/version-21-R3/ORDA/ordaClasses.md b/versioned_docs/version-21-R3/ORDA/ordaClasses.md
index b76af78426d75d..2cc22681c05c72 100644
--- a/versioned_docs/version-21-R3/ORDA/ordaClasses.md
+++ b/versioned_docs/version-21-R3/ORDA/ordaClasses.md
@@ -31,7 +31,7 @@ Thanks to this feature, the entire business logic of your 4D application can be

-In addition, 4D [automatically pre-creates](#creating-classes) the classes for each available data model object.
+In addition, 4D [automatically pre-creates](../Project/code-overview.md#orda-classes) the classes for each available data model object.
## Architecture
@@ -49,7 +49,7 @@ All ORDA data model classes are exposed as properties of the **`cs`** class stor
|cs.*DataClassName*Entity|cs.EmployeeEntity|[`dataClass.get()`](API/DataClassClass.md#get), [`dataClass.new()`](API/DataClassClass.md#new), [`entitySelection.first()`](API/EntitySelectionClass.md#first), [`entitySelection.last()`](API/EntitySelectionClass.md#last), [`entity.previous()`](API/EntityClass.md#previous), [`entity.next()`](API/EntityClass.md#next), [`entity.first()`](API/EntityClass.md#first), [`entity.last()`](API/EntityClass.md#last), [`entity.clone()`](API/EntityClass.md#clone)|
|cs.*DataClassName*Selection|cs.EmployeeSelection|[`dataClass.query()`](API/DataClassClass.md#query), [`entitySelection.query()`](API/EntitySelectionClass.md#query), [`dataClass.all()`](API/DataClassClass.md#all), [`dataClass.fromCollection()`](API/DataClassClass.md#fromcollection), [`dataClass.newSelection()`](API/DataClassClass.md#newselection), [`entitySelection.drop()`](API/EntitySelectionClass.md#drop), [`entity.getSelection()`](API/EntityClass.md#getselection), [`entitySelection.and()`](API/EntitySelectionClass.md#and), [`entitySelection.minus()`](API/EntitySelectionClass.md#minus), [`entitySelection.or()`](API/EntitySelectionClass.md#or), [`entitySelection.orderBy()`](API/EntitySelectionClass.md#or), [`entitySelection.orderByFormula()`](API/EntitySelectionClass.md#orderbyformula), [`entitySelection.slice()`](API/EntitySelectionClass.md#slice), `Create entity selection`|
-> ORDA user classes are stored as regular class files (.4dm) in the Classes subfolder of the project [(see below)](#class-files).
+> ORDA user classes are stored as regular class files (.4dm) in the Classes subfolder of the project.
Also, object instances from ORDA data model user classes benefit from their parent's properties and functions:
@@ -289,7 +289,7 @@ End if
When creating or editing data model classes, you must pay attention to the following rules:
- Since they are used to define automatic DataClass class names in the **cs** [class store](Concepts/classes.md#class-stores), 4D tables must be named in order to avoid any conflict in the **cs** namespace. In particular:
- - Do not give the same name to a 4D table and to a [user class name](../Concepts/classes.md#class-definition). If such a case occurs, the constructor of the user class becomes unusable (a warning is returned by the compiler).
+ - Do not give the same name to a 4D table and to a [user class name](../Project/code-overview.md#user-classes). If such a case occurs, the constructor of the user class becomes unusable (a warning is returned by the compiler).
- Do not use a reserved name for a 4D table (e.g., "DataClass").
- When defining a class, make sure the [`Class extends`](../Concepts/classes.md#class-extends-classname) statement exactly matches the parent class name (remember that they're case sensitive). For example, `Class extends EntitySelection` for an entity selection class.
diff --git a/versioned_docs/version-21-R3/Project/components.md b/versioned_docs/version-21-R3/Project/components.md
index a9d5476d00daf8..2995b644c47fe3 100644
--- a/versioned_docs/version-21-R3/Project/components.md
+++ b/versioned_docs/version-21-R3/Project/components.md
@@ -53,7 +53,7 @@ This section describes how to work with components in the **4D** and **4D Server
To load a component in your 4D project, you can either:
- copy the component files in the [**Components** folder of your project](architecture.md#components) (interpreted component package folders must be suffixed with ".4dbase", see above),
-- or, declare the component in the **dependencies.json** file of your project; this is done automatically for local files when you [**add a dependency using the Dependency manager interface**](#adding-a-github-dependency).
+- or, declare the component in the **dependencies.json** file of your project; this is done automatically for local files when you [**add a dependency using the Dependency manager interface**](#adding-a-github-or-gitlab-dependency).
Components declared in the **dependencies.json** file can be stored at different locations:
@@ -569,7 +569,7 @@ Once the connection is established, an icon  and your personal token is missing, an error message is displayed and a **Add a personal access token...** button is displayed (see [Providing your access token](#providing-your-access-token)).
+If the component is stored on a [private repository](#authentication-and-tokens) and your personal token is missing, an error message is displayed and a **Add a personal access token...** button is displayed (see [Providing your access token](#providing-your-access-token)).
:::
@@ -635,7 +635,7 @@ In addition, you can check for updates at any moment, for a single dependency or

-If a new component version matching your [component versioning configuration](#defining-a-github-dependency-version-range) is detected on GitHub, a specific dependency status is displayed:
+If a new component version matching your [component versioning configuration](#defining-a-dependency-version-range) is detected on GitHub, a specific dependency status is displayed:

diff --git a/versioned_docs/version-21-R3/ViewPro/getting-started.md b/versioned_docs/version-21-R3/ViewPro/getting-started.md
index d60bf44e2e4c18..ca7fd5ab1b3e35 100644
--- a/versioned_docs/version-21-R3/ViewPro/getting-started.md
+++ b/versioned_docs/version-21-R3/ViewPro/getting-started.md
@@ -29,11 +29,11 @@ The easiest way to install 4D View Pro in an opened project is to use the Depend
1. Open the [Dependency Manager](../Project/components.md) window.
2. Click on the **+** button to add a component.
3. Click on the **GitHub** tab.
-4. Select **4d/4D-ViewPro** in the [default list of components](../Extensions/overview.md) and (recommended) **Follow 4D version** as [Dependency rule](../Project/components.md#defining-a-github-dependency-version-range), then click **Add**.
+4. Select **4d/4D-ViewPro** in the [default list of components](../Extensions/overview.md) and (recommended) **Follow 4D version** as [Dependency rule](../Project/components.md#defining-a-dependency-version-range), then click **Add**.

-Once you restart the project, the 4D View Pro component is installed as a [Github dependency](../Project/components.md#adding-a-github-dependency).
+Once you restart the project, the 4D View Pro component is installed as a [Github dependency](../Project/components.md#adding-a-github-or-gitlab-dependency).
4D View Pro requires a license. You need to activate this license in your application in order to use its features. When using this component without a license, the contents of an object that requires a 4D View Pro feature are not displayed at runtime, an error message is displayed instead:
diff --git a/versioned_docs/version-21-R3/WritePro/commands-legacy/wp-new.md b/versioned_docs/version-21-R3/WritePro/commands-legacy/wp-new.md
index 772c7022ba2bbc..ef9fddb5ea7a5c 100644
--- a/versioned_docs/version-21-R3/WritePro/commands-legacy/wp-new.md
+++ b/versioned_docs/version-21-R3/WritePro/commands-legacy/wp-new.md
@@ -42,7 +42,7 @@ If the *source* parameter is used, the new 4D Write Pro object will be filled wi
By defaut, HTML expressions inserted in legacy 4D Write documents are not imported (no 4D Write Pro support). If you pass the `wk import html expressions as text` constant in the *option* parameter, HTML expressions will be imported as raw text within *##htmlBegin##* and *##htmlEnd##* tags -- which will require formatting actions afterwards. For example:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/versioned_docs/version-21-R3/code-editor/write-class-method.md b/versioned_docs/version-21-R3/code-editor/write-class-method.md
index 081001ee44f424..aede1805cb4fbf 100644
--- a/versioned_docs/version-21-R3/code-editor/write-class-method.md
+++ b/versioned_docs/version-21-R3/code-editor/write-class-method.md
@@ -27,7 +27,7 @@ Each Code Editor window has a toolbar that provides instant access to basic func
| Element | Icon | Description |
|---|---|---|
-| **Method execution** |  | When working with methods, each Code Editor window has a button that can be used to run the current method. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
For more information on method execution, see [Calling Project Methods](../Concepts/methods.md#calling-project-methods). |
+| **Method execution** |  | When working with methods, each Code Editor window has a button that can be used to run the current method. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
For more information on method execution, see [Project Methods](../Project/project-method-properties.md). |
| **Find in method** |  | Displays the [*Search* area](#find-and-replace). |
| **Macros** |  | Inserts a macro at the selection. Click the dropdown arrow to display a list of available macros. For more information on how to create and instantiate macros, see [Macros](#macros). |
| **Expand all / Collapse all** |  | These buttons allow expanding or collapsing all the control flow structures of the code. |
diff --git a/versioned_docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md b/versioned_docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
index ac669a182f81ef..49a6ad45b9e1da 100644
--- a/versioned_docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
+++ b/versioned_docs/version-21-R3/commands-legacy/on-web-authentication-database-method.md
@@ -53,7 +53,7 @@ You must declare these parameters as follows:
```4d
// On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// Code for the method
```
@@ -127,7 +127,7 @@ Example of the On Web Authentication database method in BASIC mode:
```4d
//On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $ipServerDuser : Boolean
ARRAY TEXT($users;0)
ARRAY LONGINT($nums;0)
@@ -172,7 +172,7 @@ Example of the On Web Authentication database method in DIGEST mode:
```4d
//On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
$result:=False
//For security reasons, refuse names that contain @
If(WithWildcard($user))
diff --git a/versioned_docs/version-21-R3/language-legacy/Date and Time/timestamp.md b/versioned_docs/version-21-R3/language-legacy/Date and Time/timestamp.md
index 0d8374cd15407c..15b7205e1e1e4d 100644
--- a/versioned_docs/version-21-R3/language-legacy/Date and Time/timestamp.md
+++ b/versioned_docs/version-21-R3/language-legacy/Date and Time/timestamp.md
@@ -45,8 +45,13 @@ You can use **Timestamp** in a log file to know precisely when the events occurr
Result:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## See also
diff --git a/versioned_docs/version-21-R3/language-legacy/Design Object Access/form-get-names.md b/versioned_docs/version-21-R3/language-legacy/Design Object Access/form-get-names.md
index 97b15a143d2bcb..811aba14c4cb65 100644
--- a/versioned_docs/version-21-R3/language-legacy/Design Object Access/form-get-names.md
+++ b/versioned_docs/version-21-R3/language-legacy/Design Object Access/form-get-names.md
@@ -5,7 +5,7 @@ slug: /commands/form-get-names
displayed_sidebar: docs
---
-**FORM GET NAMES** ( {*aTable* : Table ;} *arrNames* : Text array {; *filter* : Text {; *marker* : Real}}{; *} )
+**FORM GET NAMES** ( {*aTable* : Table ;} *arrNames* : Text array {; *filter* : Text} {; *marker* : Real} {; *} )
diff --git a/versioned_docs/version-21-R3/language-legacy/Design Object Access/method-get-code.md b/versioned_docs/version-21-R3/language-legacy/Design Object Access/method-get-code.md
index 81c5ec8a125f70..a42cd7150200ad 100644
--- a/versioned_docs/version-21-R3/language-legacy/Design Object Access/method-get-code.md
+++ b/versioned_docs/version-21-R3/language-legacy/Design Object Access/method-get-code.md
@@ -110,8 +110,12 @@ If you execute the following code:
The resulting document will contain:
-```RAW
- //%attributes = {"lang":"en"} comment added and reserved by 4DCase of : (Form event code=On Load) ALL RECORDS([Customer])End case
+```json
+ //%attributes = {"lang":"en"} comment added and reserved by 4D
+Case of
+ : (Form event code=On Load)
+ ALL RECORDS([Customer])
+End case
```
If you execute the following code:
@@ -126,8 +130,12 @@ If you execute the following code:
The resulting document will contain:
-```RAW
- //%attributes = {"lang":"en"} comment added and reserved by 4DCase of : (Form event code:C388=On Load:K2:1) ALL RECORDS:C47([Customer:1])End case
+```json
+ //%attributes = {"lang":"en"} comment added and reserved by 4D
+Case of
+ : (Form event code:C388=On Load:K2:1)
+ ALL RECORDS:C47([Customer:1])
+End case
```
## See also
diff --git a/versioned_docs/version-21-R3/language-legacy/Formulas/parse-formula.md b/versioned_docs/version-21-R3/language-legacy/Formulas/parse-formula.md
index d40d818afa4b14..c8de963307e464 100644
--- a/versioned_docs/version-21-R3/language-legacy/Formulas/parse-formula.md
+++ b/versioned_docs/version-21-R3/language-legacy/Formulas/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\*** *Tokenized equivalents are 4D language and structure elements in plain text* **expressed with token syntax as shown below (* *see also Using tokens in formulas):*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/versioned_docs/version-21-R3/language-legacy/Printing/accumulate.md b/versioned_docs/version-21-R3/language-legacy/Printing/accumulate.md
index e39883fdc4a8db..8641735413262c 100644
--- a/versioned_docs/version-21-R3/language-legacy/Printing/accumulate.md
+++ b/versioned_docs/version-21-R3/language-legacy/Printing/accumulate.md
@@ -5,14 +5,14 @@ slug: /commands/accumulate
displayed_sidebar: docs
---
-**ACCUMULATE** ( {*...dataField* : Field} {; *...dataVar* : Variable )
+**ACCUMULATE** ( {*...data* : any} )
| Parameter | Type | | Description |
| --- | --- | --- | --- |
-| dataField | Field | → | Numeric field on which to accumulate |
-| dataVar | Variable | → | Numeric variable on which to accumulate |
+| data | Field, Variable | → | Numeric field or variable on which to accumulate |
+
diff --git a/versioned_docs/version-21-R3/language-legacy/Queries/describe-query-execution.md b/versioned_docs/version-21-R3/language-legacy/Queries/describe-query-execution.md
index a99b3233786ccd..eb2bc27d537748 100644
--- a/versioned_docs/version-21-R3/language-legacy/Queries/describe-query-execution.md
+++ b/versioned_docs/version-21-R3/language-legacy/Queries/describe-query-execution.md
@@ -58,8 +58,10 @@ The following example illustrates the type of information obtained using these c
After executing this code, *$vResultPlan* and *$vResultPath* contain descriptions of the queries performed, for example:
-```RAW
-$vResultPlan : Employees.LastName == T@ And Employees.Salary > 2500 And Join on Table : Companies : Employees.Company = Companies.Name [index : Companies.Name ] LIKE H@ And Join on Table : Cities : Employees.City = Cities.Name [index : Cities.Pop ] < 50000$vResultPath : (Employees.LastName == T@ And Employees.Salary > 2500) And (Join on Table : Companies : Employees.Company = Companies.Name with filter {[index : Companies.Name ] LIKE H@}) And (Join on Table : Cities : Employees.City = Cities.Name with filter {[index : Cities.Pop ] < 50000}) (3 records found in 1 ms)
+```txt
+$vResultPlan :
+ Employees.LastName == T@ And Employees.Salary > 2500 And Join on Table : Companies : Employees.Company = Companies.Name [index : Companies.Name ] LIKE H@ And Join on Table : Cities : Employees.City = Cities.Name [index : Cities.Pop ] < 50000$
+vResultPath : (Employees.LastName == T@ And Employees.Salary > 2500) And (Join on Table : Companies : Employees.Company = Companies.Name with filter {[index : Companies.Name ] LIKE H@}) And (Join on Table : Cities : Employees.City = Cities.Name with filter {[index : Cities.Pop ] < 50000}) (3 records found in 1 ms)
```
If the Description in XML Format constant is passed to the [Last query path](../commands/last-query-path) command, *$vResultPath* contains the description of the query expressed in XML:
diff --git a/versioned_docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md b/versioned_docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md
index 4a8a3055d38d37..70434ba6db2c38 100644
--- a/versioned_docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md
+++ b/versioned_docs/version-21-R3/language-legacy/Record Locking/locked-records-info.md
@@ -1,4 +1,4 @@
----
+---
id: locked-records-info
title: Locked records info
slug: /commands/locked-records-info
@@ -77,14 +77,59 @@ You execute the following code:
If two records were locked in the \[Table\] table, the following object is returned in $vOlocked:
-```RAW
-{ "records": [ { "contextID": "A9BB84C0E57349E089FA44E04C0F2F25", "contextAttributes": { "task_id": 8, "user_name": "roland", "user4d_id": 1, "host_name": "iMac de roland", "task_name": "P_RandomLock", "client_version": -1342106592 }, "recordNumber": 1 }, { "contextID": "8916338D1B8A4D86B857D92F593CCAC3", "contextAttributes": { "task_id": 9, "user_name": "roland", "user4d_id": 1, "host_name": "iMac de roland", "task_name": "P_RandomLock", "client_version": -1342106592 }, "recordNumber": 2 } ]}
+```json
+{
+ "records": [
+ {
+ "contextID": "A9BB84C0E57349E089FA44E04C0F2F25",
+ "contextAttributes": {
+ "task_id": 8,
+ "user_name": "roland",
+ "user4d_id": 1,
+ "host_name": "iMac de roland",
+ "task_name": "P_RandomLock",
+ "client_version": -1342106592
+ },
+ "recordNumber": 1
+ },
+ {
+ "contextID": "8916338D1B8A4D86B857D92F593CCAC3",
+ "contextAttributes": {
+ "task_id": 9,
+ "user_name": "roland",
+ "user4d_id": 1,
+ "host_name": "iMac de roland",
+ "task_name": "P_RandomLock",
+ "client_version": -1342106592
+ },
+ "recordNumber": 2
+ }
+ ]
+}
```
If the code is executed on a 4D Server and the locking is caused by a remote client machine, the following object is returned in $vOlocked:
```json
-{ "records": [ { "contextID": "B0EC087DC2FA704496C0EA15DC011D1C", "contextAttributes": { "task_id": 2, "user_name": "achim", "user4d_id": 1, "host_name": "achim-pcwin", "task_name": "P_RandomLock", "is_remote_context": true, "client_uid": "0696E66F6CD731468E6XXX581A87554A", "client_version": -268364752 }, "recordNumber": 1 } ]}
+{
+ "records": [
+ {
+ "contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
+ "contextAttributes": {
+ "task_id": 2,
+ "user_name": "achim",
+ "user4d_id": 1,
+ "host_name": "achim-pcwin",
+ "task_name": "P_RandomLock",
+ "is_remote_context": true,
+ "client_uid": "0696E66F6CD731468E6XXX581A87554A",
+ "client_version": -268364752
+ },
+ "recordNumber": 1
+ }
+ ]
+}
+
```
## See also
diff --git a/versioned_docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md b/versioned_docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
index 5510544d1f18c9..4bc828941d96d1 100644
--- a/versioned_docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
+++ b/versioned_docs/version-21-R3/language-legacy/Styled Text/st-get-plain-text.md
@@ -81,10 +81,11 @@ You are looking for the text "very nice" among the values of a multistyle text f
Given the following text placed in the multi-style area entitled "MyArea":
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+
It is now Go to the 4D site or Open a window
```
+
This text is displayed:

diff --git a/versioned_docs/version-21-R3/language-legacy/System Documents/document-to-text.md b/versioned_docs/version-21-R3/language-legacy/System Documents/document-to-text.md
index f591edab429b3b..b0466ee07cd2b0 100644
--- a/versioned_docs/version-21-R3/language-legacy/System Documents/document-to-text.md
+++ b/versioned_docs/version-21-R3/language-legacy/System Documents/document-to-text.md
@@ -67,8 +67,9 @@ By default, when you omit the *breakMode* parameter, line breaks are processed i
Given the following text document (fields are separated by tabs):
-```RAW
-id name price vat3 4D Tags 99 19.6
+```txt
+id name price vat
+3 4D Tags 99 19.6
```
When you execute this code:
diff --git a/versioned_docs/version-21-R3/language-legacy/Web Server/web-set-option.md b/versioned_docs/version-21-R3/language-legacy/Web Server/web-set-option.md
index 86f3e99a676ac4..f9a3a5984e0979 100644
--- a/versioned_docs/version-21-R3/language-legacy/Web Server/web-set-option.md
+++ b/versioned_docs/version-21-R3/language-legacy/Web Server/web-set-option.md
@@ -90,8 +90,39 @@ Enabling the HTTP debug log without body parts:
A log entry looks like this:
-```RAW
-# REQUEST# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089388#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber:5GET /4DWEBTEST HTTP/1.1Accept: text/html,(...)Accept-Encoding: gzip, deflateConnection: keep-aliveHost: 127.0.0.1User-Agent: 4D_HTTP_Client/0.0.0.0# RESPONSE# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089389 (elapsed time: 1 ms)#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber:6HTTP/1.1 200 OKAccept-Ranges: bytesConnection: keep-aliveContent-Encoding: gzipContent-Length: 3555Content-Type: text/plain; charset=UTF-8Date: Thu, 20 Apr 2017 10:51:29 GMTExpires: Thu, 20 Apr 2017 10:51:29 GMTServer: 4D/16.0.1[Body Size: 3555]
+```txt
+# REQUEST
+# SocketID: 1592
+# PeerIP: 127.0.0.1
+# PeerPort: 54912
+# TimeStamp: 39089388
+#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
+#SequenceNumber:5
+GET /4DWEBTEST HTTP/1.1
+Accept: text/html,(...)
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 127.0.0.1
+User-Agent: 4D_HTTP_Client/0.0.0.0
+
+# RESPONSE
+# SocketID: 1592
+# PeerIP: 127.0.0.1
+# PeerPort: 54912
+# TimeStamp: 39089389 (elapsed time: 1 ms)
+#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
+#SequenceNumber:6
+HTTP/1.1 200 OK
+Accept-Ranges: bytes
+Connection: keep-alive
+Content-Encoding: gzip
+Content-Length: 3555
+Content-Type: text/plain; charset=UTF-8
+Date: Thu, 20 Apr 2017 10:51:29 GMT
+Expires: Thu, 20 Apr 2017 10:51:29 GMT
+Server: 4D/16.0.1
+
+[Body Size: 3555]
```
## See also
diff --git a/versioned_docs/version-21/Concepts/flow-control.md b/versioned_docs/version-21/Concepts/flow-control.md
index 51a18d47d67092..26c792d28e63f0 100644
--- a/versioned_docs/version-21/Concepts/flow-control.md
+++ b/versioned_docs/version-21/Concepts/flow-control.md
@@ -59,6 +59,14 @@ The expression is TRUE only if both methods are TRUE. However, even if _MethodA_
End if
```
+However, the most elegant solution is then to use the [`&&` short-circuit operator](./operators.md#short-circuit-and-operator-) and to write:
+
+```4d
+If (MethodA && MethodB)
+ ...
+End if
+```
+
The result is similar and _MethodB_ is evaluated only if necessary.
> **Note:** The [ternary operator](operators.md#ternary-operator) allows writing one-line conditional expressions and can replace a full sequence of If..Else statements.
diff --git a/versioned_docs/version-21/FormObjects/properties_Reference.md b/versioned_docs/version-21/FormObjects/properties_Reference.md
index 2dc38d3de1884c..97bbe5b71b5a72 100644
--- a/versioned_docs/version-21/FormObjects/properties_Reference.md
+++ b/versioned_docs/version-21/FormObjects/properties_Reference.md
@@ -98,7 +98,8 @@ You will find in this page a comprehensive list of all object properties sorted
|[`hideFocusRing`](properties_Appearance.md#hide-focus-rectangle)|Hides the selection rectangle when the object has the focus.|true, false|
|[`hideSystemHighlight`](properties_Appearance.md#hide-selection-highlight)|Used to specify hiding highlighted records in the list box.|true, false|
|[`highlightSet`](properties_ListBox.md#highlight-set)|Name of the set.| string|
-|[`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color)|Defines the color of the horizontal lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"
|
+|[`horizontalLineStroke`](properties_Gridlines.md#horizontal-line-color)|Defines the color of the horizontal lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`horizontalPadding`](./properties_CoordinatesAndSizing.md#horizontal-padding)|Sets a horizontal padding for listbox cells.|Number of pixels (must be >=0)
|
|**i**|||
|[`icon`](properties_TextAndPicture.md#picture-pathname)|The pathname of the picture used for buttons, check boxes, radio buttons, list box headers.|Relative or filesystem path in POSIX syntax.|
|[`iconFrames`](properties_TextAndPicture.md#number-of-states)|Sets the exact number of states present in the picture. |minimum: 1|
@@ -216,6 +217,7 @@ You will find in this page a comprehensive list of all object properties sorted
|[`variableCalculation`](properties_Object.md#variable-calculation)|Allows mathematical calculations to be performed.|"none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare"|
|[`verticalAlign`](properties_Text.md#vertical-alignment)|Vertical location of text within the area that contains it. |"automatic", "top", "middle", "bottom"|
|[`verticalLineStroke`](properties_Gridlines.md#vertical-line-color)|Defines the color of the vertical lines in a list box (gray by default).|Any CSS value, "transparent", "automatic"|
+|[`verticalPadding`](./properties_CoordinatesAndSizing.md#vertical-padding)|Sets a vertical padding for listbox cells.|Number of pixels (must be >=0)|
|[`visibility`](properties_Display.md#visibility)|Allows hiding the object in the Application environment.|"visible", "hidden", "selectedRows", "unselectedRows"
|
|**w**|||
|[`webEngine`](properties_WebArea.md#use-embedded-web-rendering-engine)| Used to choose between two rendering engines for the Web area, depending on the specifics of the application.|"embedded", "system"|
diff --git a/versioned_docs/version-21/WritePro/commands-legacy/wp-new.md b/versioned_docs/version-21/WritePro/commands-legacy/wp-new.md
index a6e5c7b11e30c9..6bde35f6686281 100644
--- a/versioned_docs/version-21/WritePro/commands-legacy/wp-new.md
+++ b/versioned_docs/version-21/WritePro/commands-legacy/wp-new.md
@@ -42,7 +42,7 @@ If the *source* parameter is used, the new 4D Write Pro object will be filled wi
By defaut, HTML expressions inserted in legacy 4D Write documents are not imported (no 4D Write Pro support). If you pass the wk import html expressions as text constant in the *option* parameter, HTML expressions will be imported as raw text within *##htmlBegin##* and *##htmlEnd##* tags -- which will require formatting actions afterwards. For example:
-```RAW
+```html
##htmlBegin##Imported titlebold##htmlEnd##
```
diff --git a/versioned_docs/version-21/aikit/Classes/OpenAIParameters.md b/versioned_docs/version-21/aikit/Classes/OpenAIParameters.md
index e2de1778abef1b..2836e1e408d716 100644
--- a/versioned_docs/version-21/aikit/Classes/OpenAIParameters.md
+++ b/versioned_docs/version-21/aikit/Classes/OpenAIParameters.md
@@ -24,7 +24,7 @@ Use these callback properties for more granular control over success and error h
| `onResponse` | 4D.Function| A function to be called asynchronously when the request finishes **successfully**.
*Ensure that the current process does not terminate.* |
| `onError` | 4D.Function| A function to be called asynchronously when the request finishes **with errors**.
*Ensure that the current process does not terminate.* |
-> The callback function will receive the same result object type (one of [OpenAIResult](Classes/OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
+> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
See [documentation about asynchronous code for examples](../asynchronous-call.md)
diff --git a/versioned_docs/version-21/commands-legacy/on-web-authentication-database-method.md b/versioned_docs/version-21/commands-legacy/on-web-authentication-database-method.md
index 8ed590085ea8d2..cef7b17c95f663 100644
--- a/versioned_docs/version-21/commands-legacy/on-web-authentication-database-method.md
+++ b/versioned_docs/version-21/commands-legacy/on-web-authentication-database-method.md
@@ -53,7 +53,7 @@ You must declare these parameters as follows:
```4d
// On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
// Code for the method
```
@@ -127,7 +127,7 @@ Example of the On Web Authentication database method in BASIC mode:
```4d
//On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
var $ipServerDuser : Boolean
ARRAY TEXT($users;0)
ARRAY LONGINT($nums;0)
@@ -172,7 +172,7 @@ Example of the On Web Authentication database method in DIGEST mode:
```4d
//On Web Authentication Database Method
- #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ;\ $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
+ #DECLARE($url : Text ; $http : Text ; $BrowserIP : Text ; $ServerIP : Text ; $user : Text ; $password: Text) -> $result : Boolean
$result:=False
//For security reasons, refuse names that contain @
If(WithWildcard($user))
diff --git a/versioned_docs/version-21/commands-legacy/parse-formula.md b/versioned_docs/version-21/commands-legacy/parse-formula.md
index fcbae2510d615c..e8ffbb6389f67a 100644
--- a/versioned_docs/version-21/commands-legacy/parse-formula.md
+++ b/versioned_docs/version-21/commands-legacy/parse-formula.md
@@ -34,7 +34,7 @@ displayed_sidebar: docs
**\*\*** *Tokenized equivalents are 4D language and structure elements in plain text* **expressed with token syntax as shown below (* *see also Using tokens in formulas):*
-```RAW
+```txt
[Table:1]Field:1+String:C10(1)
```
diff --git a/versioned_docs/version-21/commands-legacy/st-get-plain-text.md b/versioned_docs/version-21/commands-legacy/st-get-plain-text.md
index 165448dce45e6e..28db48b1b29951 100644
--- a/versioned_docs/version-21/commands-legacy/st-get-plain-text.md
+++ b/versioned_docs/version-21/commands-legacy/st-get-plain-text.md
@@ -81,10 +81,11 @@ You are looking for the text "very nice" among the values of a multistyle text f
Given the following text placed in the multi-style area entitled "MyArea":
-```RAW
-It is now Go to the 4D site or Open a window
+```html
+
It is now Go to the 4D site or Open a window
```
+
This text is displayed:

diff --git a/versioned_docs/version-21/commands-legacy/timestamp.md b/versioned_docs/version-21/commands-legacy/timestamp.md
index d93e32d7c90ab7..2dd0ea1de8b39f 100644
--- a/versioned_docs/version-21/commands-legacy/timestamp.md
+++ b/versioned_docs/version-21/commands-legacy/timestamp.md
@@ -45,8 +45,13 @@ You can use **Timestamp** in a log file to know precisely when the events occurr
Result:
-```RAW
-2016-12-12T13:31:29.477Z Log with timestamp2016-12-12T13:31:29.478Z Connection of user12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'2016-12-12T13:31:29.492Z Click on button16842016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
+```txt
+2016-12-12T13:31:29.477Z Log with timestamp
+2016-12-12T13:31:29.478Z Connection of user
+12016-12-12T13:31:29.486Z ERROR - Exception of type 'System exception'
+2016-12-12T13:31:29.492Z Click on button1684
+2016-12-12T13:31:29.502Z [SP_HELP- 1 rows] Command processed
+2016-12-12T13:31:29.512Z [SP_HELP- 5 rows] Result set fetched
```
## See also
diff --git a/versioned_docs/version-21/commands-legacy/web-set-option.md b/versioned_docs/version-21/commands-legacy/web-set-option.md
index b1b681834aca4d..f69b02d7085be5 100644
--- a/versioned_docs/version-21/commands-legacy/web-set-option.md
+++ b/versioned_docs/version-21/commands-legacy/web-set-option.md
@@ -90,8 +90,39 @@ Enabling the HTTP debug log without body parts:
A log entry looks like this:
-```RAW
-# REQUEST# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089388#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber:5GET /4DWEBTEST HTTP/1.1Accept: text/html,(...)Accept-Encoding: gzip, deflateConnection: keep-aliveHost: 127.0.0.1User-Agent: 4D_HTTP_Client/0.0.0.0# RESPONSE# SocketID: 1592# PeerIP: 127.0.0.1# PeerPort: 54912# TimeStamp: 39089389 (elapsed time: 1 ms)#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD#SequenceNumber:6HTTP/1.1 200 OKAccept-Ranges: bytesConnection: keep-aliveContent-Encoding: gzipContent-Length: 3555Content-Type: text/plain; charset=UTF-8Date: Thu, 20 Apr 2017 10:51:29 GMTExpires: Thu, 20 Apr 2017 10:51:29 GMTServer: 4D/16.0.1[Body Size: 3555]
+```txt
+# REQUEST
+# SocketID: 1592
+# PeerIP: 127.0.0.1
+# PeerPort: 54912
+# TimeStamp: 39089388
+#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
+#SequenceNumber:5
+GET /4DWEBTEST HTTP/1.1
+Accept: text/html,(...)
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Host: 127.0.0.1
+User-Agent: 4D_HTTP_Client/0.0.0.0
+
+# RESPONSE
+# SocketID: 1592
+# PeerIP: 127.0.0.1
+# PeerPort: 54912
+# TimeStamp: 39089389 (elapsed time: 1 ms)
+#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
+#SequenceNumber:6
+HTTP/1.1 200 OK
+Accept-Ranges: bytes
+Connection: keep-alive
+Content-Encoding: gzip
+Content-Length: 3555
+Content-Type: text/plain; charset=UTF-8
+Date: Thu, 20 Apr 2017 10:51:29 GMT
+Expires: Thu, 20 Apr 2017 10:51:29 GMT
+Server: 4D/16.0.1
+
+[Body Size: 3555]
```
## See also