Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
9232bd8
created 21-R2
arnaud4d Jan 13, 2026
7c7d1db
Update updates.md (#3066)
arnaud4d Jan 13, 2026
e433cb4
Update updates.md
arnaud4d Jan 13, 2026
32bdd5d
New Crowdin updates (#3067)
arnaud4d Jan 14, 2026
4eb9afb
added qodly info (#3068)
arnaud4d Jan 14, 2026
adf0e6a
added develop mode (#3069)
arnaud4d Jan 14, 2026
6e0ac51
Feature/qodly in webarea (#3070)
arnaud4d Jan 14, 2026
a28e9c3
ES Method resolve path edit (#3071)
sandritica Jan 14, 2026
49b64cb
Update docusaurus.config.js (#3072)
arnaud4d Jan 14, 2026
1e94d67
Edit/update footer (#3073)
arnaud4d Jan 14, 2026
c6a8bd9
rewrote (#3075)
arnaud4d Jan 15, 2026
2d819e5
fix links to whats new (#3076)
arnaud4d Jan 15, 2026
5945dcb
Merge branch 'main' into main
arnaud4d Jan 15, 2026
546ca78
pict reduced (#3077)
arnaud4d Jan 15, 2026
abeb7ba
New Crowdin updates (#3074)
arnaud4d Jan 16, 2026
5e2f024
fix lot of links and anchors (#3078)
arnaud4d Jan 16, 2026
16e8cd8
additional fix (#3079)
arnaud4d Jan 16, 2026
37114af
New Crowdin updates (#3080)
arnaud4d Jan 19, 2026
abaeebb
write pro link fix (#3081)
arnaud4d Jan 19, 2026
c55f5a1
fix links in all pages (#3082)
arnaud4d Jan 19, 2026
5258b31
New Crowdin updates (#3083)
arnaud4d Jan 20, 2026
8a793b7
New Crowdin updates (#3084)
arnaud4d Jan 20, 2026
cd096e0
fix example (#3085)
arnaud4d Jan 20, 2026
c77bf56
anchor fix (#3086)
arnaud4d Jan 20, 2026
1a1a9c7
New Crowdin updates (#3087)
arnaud4d Jan 21, 2026
94880f1
New Crowdin updates (#3088)
arnaud4d Jan 21, 2026
7caeecb
removed old note (#3089)
arnaud4d Jan 21, 2026
a4a038c
Update listbox_overview.md (#3090)
arnaud4d Jan 21, 2026
b5a4f80
New Crowdin updates (#3091)
arnaud4d Jan 22, 2026
f6251a4
removed deprecated info (#3092)
arnaud4d Jan 22, 2026
839de25
Merge branch 'main' into main
arnaud4d Jan 22, 2026
abaa642
New Crowdin updates (#3093)
arnaud4d Jan 22, 2026
1e6ba94
Update properties.md (#3094)
arnaud4d Jan 22, 2026
d8a6185
New Crowdin updates (#3095)
arnaud4d Jan 23, 2026
885bfb8
fix XML decode (#3096)
arnaud4d Jan 23, 2026
949e1e3
New Crowdin updates (#3097)
arnaud4d Jan 26, 2026
d39a628
Tempo/cherry peek json (#3101)
arnaud4d Jan 26, 2026
369f927
New Crowdin updates (#3100)
arnaud4d Jan 26, 2026
3b833d1
New Crowdin updates (#3102)
arnaud4d Jan 27, 2026
e99a760
Update sidebars.js (#3103)
arnaud4d Jan 27, 2026
22f2eca
New Crowdin updates (#3105)
arnaud4d Jan 27, 2026
a407108
Fix/sorted sidebar (#3104)
arnaud4d Jan 27, 2026
d958b7b
Revert "Fix/sorted sidebar (#3104)"
arnaud4d Jan 27, 2026
5e0274e
Revert "Update sidebars.js (#3103)"
arnaud4d Jan 27, 2026
784c9fe
New Crowdin updates (#3106)
arnaud4d Jan 28, 2026
ad8c1f5
fix links using urls (#3107)
arnaud4d Jan 28, 2026
ddc6d32
clean up old info (#3108)
arnaud4d Jan 28, 2026
87de78b
New Crowdin updates (#3109)
arnaud4d Jan 29, 2026
60756e8
open window, open form window types and a fix for web areas (#3110)
arnaud4d Jan 29, 2026
4a0cb89
fixed constant list (#3112)
arnaud4d Jan 30, 2026
1a73068
New Crowdin updates (#3111)
arnaud4d Jan 30, 2026
9a82f17
added async page
arnaud4d Jan 30, 2026
4ef84de
New Crowdin updates (#3113)
arnaud4d Feb 2, 2026
1e1239a
update lib table 20 (#3114)
arnaud4d Feb 2, 2026
eab315e
New Crowdin updates (#3115)
arnaud4d Feb 2, 2026
f951460
lists without french (#3116)
arnaud4d Feb 2, 2026
bc2515f
test (#3117)
arnaud4d Feb 2, 2026
00c6c20
Merge de Fix/syntax check (#3118)
arnaud4d Feb 2, 2026
771e2e2
New Crowdin updates (#3119)
arnaud4d Feb 3, 2026
b579cd9
New Crowdin updates (#3120)
arnaud4d Feb 4, 2026
4df5617
Update homepageTiles.js (#3121)
arnaud4d Feb 4, 2026
fd4cab3
fixes (#3122)
arnaud4d Feb 4, 2026
03dccc3
New Crowdin updates (#3123)
arnaud4d Feb 5, 2026
44770ac
Gk/no index (#3124)
guillaume-kotulski Feb 5, 2026
caf9fff
fix EN et FR (#3125)
arnaud4d Feb 5, 2026
42f0c96
restore *... (#3126)
arnaud4d Feb 6, 2026
83c0e6c
New Crowdin updates (#3127)
arnaud4d Feb 6, 2026
413a88b
fixes (#3128)
arnaud4d Feb 6, 2026
e553e34
Fix/syntax (#3129)
arnaud4d Feb 6, 2026
167b72b
Fix/syntax (#3130)
arnaud4d Feb 6, 2026
b61bd11
Fix/syntax (#3132)
arnaud4d Feb 6, 2026
07cf42b
New Crowdin updates (#3133)
arnaud4d Feb 9, 2026
f8df81f
Merge branch 'main' into main
arnaud4d Feb 9, 2026
4935091
Fix/syntax (#3134)
arnaud4d Feb 9, 2026
ce01366
New Crowdin updates (#3135)
arnaud4d Feb 10, 2026
073a96e
history (#3136)
guillaume-kotulski Feb 11, 2026
8594667
Fix/syntax (#3137)
arnaud4d Feb 11, 2026
e1aba40
New Crowdin updates (#3138)
arnaud4d Feb 11, 2026
c611dec
add prior version in history (#3140)
guillaume-kotulski Feb 12, 2026
f601867
fix XML example (#3141)
arnaud4d Feb 12, 2026
a821295
Fix/syntax (#3142)
arnaud4d Feb 12, 2026
c0d5244
fix in 21/R2/current (#3144)
arnaud4d Feb 13, 2026
2097250
Update properties_TextAndPicture.md (#3143)
mouna-elmaazouzi Feb 13, 2026
e7059d9
New Crowdin updates (#3139)
arnaud4d Feb 16, 2026
e2e6764
Fix/syntax (#3145)
arnaud4d Feb 16, 2026
b29900f
fixes up to QUERY BY EXAMPLE (#3146)
arnaud4d Feb 17, 2026
e4886d7
New Crowdin updates (#3147)
arnaud4d Feb 17, 2026
2395d88
Fix/syntax (#3148)
arnaud4d Feb 17, 2026
8898fb6
New Crowdin updates (#3149)
arnaud4d Feb 18, 2026
9a24313
Fix/syntax (#3150)
arnaud4d Feb 18, 2026
88217d6
Fix/list box split (#3151)
arnaud4d Feb 18, 2026
1783bf8
Ajout d'un commentaire sur la Pull Request #3152.
arnaud4d Feb 18, 2026
e601a6f
Fix/history for commands (#3152)
arnaud4d Feb 18, 2026
6f7eb44
Fix/open form window link (#3153)
arnaud4d Feb 18, 2026
8907883
Update json-parse-array.md (#3154)
arnaud4d Feb 18, 2026
9ac09cc
step 1
arnaud4d Feb 18, 2026
1b7ce5f
Fix/syntax json (#3155)
arnaud4d Feb 18, 2026
d78271b
New Crowdin updates (#3156)
arnaud4d Feb 19, 2026
373f508
Feature/use cert mac (#3157)
arnaud4d Feb 19, 2026
8172742
first working version (links broken in main)
arnaud4d Feb 19, 2026
3bf477e
Update current.json
arnaud4d Feb 19, 2026
70f06ef
Update current.json
arnaud4d Feb 19, 2026
968f88c
New Crowdin updates (#3158)
arnaud4d Feb 20, 2026
66727c7
update des i18n sur current
arnaud4d Feb 20, 2026
e0b1908
updated all links to files with links to urls
arnaud4d Feb 20, 2026
b6969b4
Revert "updated all links to files with links to urls"
arnaud4d Feb 20, 2026
be9d830
fixed links in docs and /language
arnaud4d Feb 20, 2026
92458d3
removed commands-legacy and commands in current, all languages
arnaud4d Feb 20, 2026
7e9206f
added back cst-list
arnaud4d Feb 20, 2026
7e25215
db methds are back
arnaud4d Feb 20, 2026
6da1786
small fix
arnaud4d Feb 23, 2026
ee1eba9
fix/realIntoText
arnaud4d Feb 23, 2026
20c29b2
Feature/4DWP-hierarchical-lists (#3162)
mouna-elmaazouzi Feb 23, 2026
67995b9
fix links in index
arnaud4d Feb 23, 2026
92462c2
Update sidebars.js
arnaud4d Feb 23, 2026
6fc4391
fixed themes
arnaud4d Feb 23, 2026
467b51c
command-index
arnaud4d Feb 23, 2026
ea05cc0
language-legacy in i18n
arnaud4d Feb 23, 2026
19b3570
links to URLs fixed
arnaud4d Feb 23, 2026
296051c
Revert "links to URLs fixed"
arnaud4d Feb 23, 2026
a2b6719
first set (#3164)
arnaud4d Feb 24, 2026
2958dff
Document new architecture for sorted themes
arnaud4d Feb 24, 2026
703c8bf
Fix formatting of folder structure in README
arnaud4d Feb 24, 2026
aebabc9
ok i18
arnaud4d Feb 24, 2026
e4967b6
edits url links
arnaud4d Feb 24, 2026
01bf89f
links fixed
arnaud4d Feb 24, 2026
44ae779
New Crowdin updates (#3163)
arnaud4d Feb 24, 2026
ab06eb2
fix slig 4d
arnaud4d Feb 24, 2026
f62b868
fix slug 2
arnaud4d Feb 24, 2026
02beee4
fix slug 3
arnaud4d Feb 24, 2026
9a519c5
fixed slug 4
arnaud4d Feb 24, 2026
1d78b2b
added missing fr slugs
arnaud4d Feb 24, 2026
044e378
update links in index and theme index
arnaud4d Feb 24, 2026
fc6f13e
restore links in command-index
arnaud4d Feb 24, 2026
7a254f0
update links within themes, including picts
arnaud4d Feb 24, 2026
98fc6e0
New Crowdin updates (#3167)
arnaud4d Feb 25, 2026
713a4de
remplacer tous les liens "x.md" par "../commands/x"
arnaud4d Feb 25, 2026
a674ba7
New Crowdin updates (#3168)
arnaud4d Feb 25, 2026
e241bdb
fix true false
arnaud4d Feb 25, 2026
e96f902
fixs (#3170)
arnaud4d Feb 26, 2026
b40612f
fix in db methods and WP
arnaud4d Feb 26, 2026
0ee166f
fix remainaing links in EN
arnaud4d Feb 26, 2026
33fce0f
fix FR missing commands
arnaud4d Feb 26, 2026
0bd8ff5
last fixes
arnaud4d Feb 26, 2026
4cdd256
Update user-new.md
arnaud4d Feb 26, 2026
2174722
Fix/syntax2502 (#3171)
arnaud4d Feb 26, 2026
205f4d6
New Crowdin updates (#3173)
arnaud4d Feb 27, 2026
a306273
New Crowdin updates (#3174)
arnaud4d Mar 2, 2026
b32eae6
Fix/query param & set external (#3175)
arnaud4d Mar 2, 2026
b5a2232
New Crowdin updates (#3177)
arnaud4d Mar 2, 2026
ea67f7e
Fix/syntax0203 (#3178)
arnaud4d Mar 2, 2026
756633c
Edits in legacy commands (#3176)
sandritica Mar 3, 2026
d9f1504
New Crowdin updates (#3179)
arnaud4d Mar 4, 2026
7f17751
Feature/4d methodia2 (#3180)
arnaud4d Mar 4, 2026
e4ab734
Update FormulaClass.md (#3181)
arnaud4d Mar 4, 2026
fd952c6
Fix/formula (#3182)
arnaud4d Mar 4, 2026
8765f0c
Merge branch 'test/sorted-sidebar'
arnaud4d Mar 4, 2026
5d02ead
Main sorted (#3184)
arnaud4d Mar 5, 2026
7fa17fc
Update current.json
arnaud4d Mar 5, 2026
dee9993
Update Crowdin configuration file
arnaud4d Mar 5, 2026
5153d7f
Update Crowdin configuration file
arnaud4d Mar 5, 2026
be4484f
Fix/syntax new arch (#3185)
arnaud4d Mar 5, 2026
cc01b43
Fix/syntax new arch (#3186)
arnaud4d Mar 5, 2026
cd78caf
New Crowdin updates (#3187)
arnaud4d Mar 6, 2026
c523d0d
Merge branch 'main' of https://github.com/doc4d/docs
arnaud4d Mar 6, 2026
869aaa5
Update preprocessing.conf (#3188)
arnaud4d Mar 6, 2026
e98079c
Update Crowdin configuration file
arnaud4d Mar 6, 2026
b1d6f20
fix (#3189)
arnaud4d Mar 6, 2026
ddedcf1
Fix/syntax0603 (#3190)
arnaud4d Mar 6, 2026
d262356
moved (#3191)
arnaud4d Mar 6, 2026
eeaed84
Fix/add link 4dwp (#3192)
arnaud4d Mar 6, 2026
5bea360
New Crowdin updates (#3194)
arnaud4d Mar 9, 2026
35cb7ae
Fix sidebar label from 'Outils' to 'Tools'
arnaud4d Mar 9, 2026
ac11770
Change title from 'Ensembles' to 'Sets'
arnaud4d Mar 9, 2026
2675942
Translate title from 'Sets' to 'Ensembles'
arnaud4d Mar 9, 2026
7bc2206
Update sidebar label for Tools in French docs
arnaud4d Mar 9, 2026
784ea3d
Update docusaurus.config.js
arnaud4d Mar 9, 2026
c5bf158
Delete 3152.md
arnaud4d Mar 9, 2026
7fdadcf
fix and cleanuup (#3197)
arnaud4d Mar 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 8 additions & 0 deletions .doc_preprocessing.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ module.exports = {
from: "→",
to: "->"
},
{
from: "<div class=\"no-index\">",
to: ""
},
{
from: "</div>",
to: ""
},
{
from: "&larr;",
to: "<-"
Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"git.ignoreLimitWarning": true
}
142 changes: 142 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,148 @@ Aller dans l'interface Algolia et lancer un reindex de la doc
4. git push (fait une PR auto et pas de conflit)


## Building new architecture for sorted themes
### Edit the sidebars.js file
- replace the whole themes "Commands by themes" with
```{
"type": "category",
"label": "Commands by theme",
"items": [
{
"type": "autogenerated",
"dirName": "language-legacy",
}
],
},
```
### Edit the docusaurus.config.js
1. fix the locale for npm run start
```function getCliLocaleFromArgv() {
// supporte: "--locale fr" ou "--locale=fr"
const i = process.argv.indexOf('--locale');
if (i > -1 && process.argv[i + 1] && !process.argv[i + 1].startsWith('--')) {
return process.argv[i + 1];
}
const eq = process.argv.find((a) => a.startsWith('--locale='));
if (eq) return eq.split('=')[1];
return undefined;
}
```
2. Implement the functions to get i18n, sort, and push
```// docusaurus.config.js
const fs = require('fs');
const path = require('path');

// 1) Collator FR (tri “dictionnaire” : accents pris en compte)
const collators = {};
function getCollator(locale) {
const loc = locale || 'en';
if (!collators[loc]) {
// Sensibilité 'accent' => 'é' > 'e' (contraire de 'base' qui les considère égaux)
collators[loc] = new Intl.Collator(loc, {
usage: 'sort',
sensitivity: 'accent',
ignorePunctuation: false,
numeric: true,
});
// Log de diag : vérifie la locale réellement résolue par ICU
const resolved = collators[loc].resolvedOptions().locale;
console.log(`[sidebar-sort] requested=${loc} resolved=${resolved}`);
}
return collators[loc];
}

// 2) Charge le catalogue i18n des sidebars pour la locale
function loadSidebarTranslations(locale) {
if (!locale || typeof locale !== 'string') return {};
const base = path.join(__dirname, 'i18n', locale, 'docusaurus-plugin-content-docs');
const candidates = [
path.join(base, 'current.json'),
path.join(base, 'current', 'current.json'),
path.join(base, 'default', 'current.json'),
path.join(__dirname, 'i18n', locale, 'code.json'),
];
for (const file of candidates) {
if (fs.existsSync(file)) {
try {
return JSON.parse(fs.readFileSync(file, 'utf8'));
} catch { /* ignore */ }
}
}
return {};
}

// 3) Déduit le nom de la sidebar (docs/mainSidebar/…)
// à partir des clés présentes dans le JSON de traduction.
function guessSidebarNameFromTranslations(translations) {
for (const k of Object.keys(translations || {})) {
const m = /^sidebar\.([^.]+)\.category\./.exec(k);
if (m) return m[1];
}
return 'docs';
}

// 4) Récupère la traduction d’un label de catégorie
function getTranslatedCategoryLabel(labelSource, sidebarName, translations) {
const src = String(labelSource || '').normalize('NFC').trim();
if (!src) return '';
const directKey = `sidebar.${sidebarName}.category.${src}`;
const direct = translations[directKey]?.message;
if (direct && direct.trim()) return direct;

// Tolérance : si le nom de sidebar diffère, on scanne
for (const [k, v] of Object.entries(translations)) {
const m = /^sidebar\.([^.]+)\.category\.(.+)$/.exec(k);
if (!m) continue;
const keyLabel = String(m[2] || '').normalize('NFC').trim();
if (keyLabel.localeCompare(src, undefined, {sensitivity: 'accent'}) === 0) {
const msg = v?.message;
if (msg && msg.trim()) return msg;
}
}
// Pas de traduction → fallback source
return src;
}

// 5) Clé de tri
function sortKey(item, helpers) {
const { translations, sidebarName } = helpers;
if (item.type === 'category') {
return getTranslatedCategoryLabel(item.label, sidebarName, translations);
}
return item.label || item.title || item.id || '';
}

// 6) Tri des catégories racine.
function sortRec(items, helpers) {
const collator = getCollator(helpers.locale);
const withChildrenSorted = items.map((it) => {
if (it.type === 'category' && Array.isArray(it.items)) {
return { ...it, items: sortRec(it.items, helpers) };
}
return it;
});
return withChildrenSorted.sort((a, b) => collator.compare(sortKey(a, helpers), sortKey(b, helpers)));
}
```

### In docs/ AND in i18n/\<locale>\/docusaurus-plugin-content-docs/current folders

1. Add a "language-legacy/" folder
2. Add "language-legacy/\<theme\>" subfolders
3. "language-legacy/\<theme>\/_category_.json" files
contents of the_category_.json files:
```{
"label": "Arrays",
"link": {"type": "doc", "id": "commands/theme/Arrays_theme"},
"key": "Arrays-key"
}
```
4; Check missing slugs
4. fix links:
- ./commands/truc.md -> ./commands/truc
- ../commands/truc.md -> ../commands/truc
- ../commands-legacy/truc.md -> ../commands/truc



Expand Down
2 changes: 2 additions & 0 deletions crowdin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ files:
- /docs/commands-legacy/*.*
- /docs/*-legacy/*.*
- /docs/WritePro/*-legacy/*.*
- /docs/language-legacy/**/*.*
translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/current/**/%original_file_name%
- source: /i18n/en/docusaurus-plugin-content-docs/*.json
ignore:
Expand All @@ -17,6 +18,7 @@ files:
- /versioned_docs/**/WritePro/*-legacy/*.*
- /versioned_docs/version-18/
- /versioned_docs/**/*-legacy/*.*
- /versioned_docs/**/language-legacy/**/*.*
translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/**/%original_file_name%
- source: /i18n/en/docusaurus-theme-classic/*.json
translation: /i18n/%two_letters_code%/docusaurus-theme-classic/%original_file_name%
Expand Down
5 changes: 5 additions & 0 deletions docs/API/BlobClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,14 @@ The Blob class lets you create and manipulate [blob objects](../Concepts/dt_blob


<!-- REF #4D.Blob.new().Params -->
<div class="no-index">

| Parameter | Type | | Description |
| --------- | --------------- | :-: | ------------ |
| blobScal | Blob | -> | Blob to copy |
| blobObj | 4D.Blob | -> | Blob to copy |
| Result | 4D.Blob | <- | New 4D.Blob |
</div>
<!-- END REF -->

#### Description
Expand Down Expand Up @@ -62,11 +64,14 @@ The `.size` property <!-- REF #Blob.size.Summary -->returns the size of a `4D.Bl


<!-- REF #Blob.slice().Params -->
<div class="no-index">

| Parameter | Type ||Description |
| --------- | ------- | :-: | --- |
| start| Real | -> | index of the first byte to include in the new `4D.Blob`. |
| end| Real | -> | index of the first byte that will not be included in the new `4D.Blob` |
| Result| 4D.Blob | <- | New `4D.Blob`|
</div>
<!-- END REF -->

#### Description
Expand Down
3 changes: 3 additions & 0 deletions docs/API/ClassClass.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,13 @@ This property is **read-only**.


<!-- REF #ClassClass.new().Params -->
<div class="no-index">

|Parameter|Type||Description|
|---------|--- |:---:|------|
|param|any|->|Parameter(s) to pass to the constructor function|
|Result|4D.Object|<-|New object of the class|
</div>
<!-- END REF -->


Expand Down
Loading