@intlayer/docs 8.6.0 → 8.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +60 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +60 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/doc.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +3 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/cli/index.md +54 -42
- package/docs/ar/cli/init.md +32 -20
- package/docs/ar/cli/standalone.md +91 -0
- package/docs/ar/configuration.md +39 -7
- package/docs/ar/custom_domains.md +250 -0
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -33
- package/docs/ar/intlayer_with_tanstack.md +25 -16
- package/docs/ar/intlayer_with_vanilla.md +506 -0
- package/docs/bn/cli/index.md +195 -0
- package/docs/bn/cli/init.md +96 -0
- package/docs/bn/cli/standalone.md +91 -0
- package/docs/bn/configuration.md +46 -14
- package/docs/bn/custom_domains.md +250 -0
- package/docs/bn/intlayer_with_vanilla.md +506 -0
- package/docs/cs/cli/index.md +195 -0
- package/docs/cs/cli/init.md +96 -0
- package/docs/cs/cli/standalone.md +91 -0
- package/docs/cs/configuration.md +46 -7
- package/docs/cs/custom_domains.md +250 -0
- package/docs/cs/intlayer_with_vanilla.md +506 -0
- package/docs/de/cli/index.md +53 -41
- package/docs/de/cli/standalone.md +91 -0
- package/docs/de/configuration.md +46 -7
- package/docs/de/custom_domains.md +250 -0
- package/docs/de/intlayer_with_tanstack+solid.md +15 -36
- package/docs/de/intlayer_with_tanstack.md +25 -16
- package/docs/de/intlayer_with_vanilla.md +506 -0
- package/docs/en/bundle_optimization.md +288 -23
- package/docs/en/cli/index.md +6 -1
- package/docs/en/cli/init.md +13 -1
- package/docs/en/cli/standalone.md +91 -0
- package/docs/en/configuration.md +46 -7
- package/docs/en/custom_domains.md +245 -0
- package/docs/en/intlayer_with_tanstack+solid.md +15 -36
- package/docs/en/intlayer_with_tanstack.md +25 -16
- package/docs/en/intlayer_with_vanilla.md +506 -0
- package/docs/en-GB/cli/index.md +56 -44
- package/docs/en-GB/cli/init.md +28 -21
- package/docs/en-GB/cli/standalone.md +91 -0
- package/docs/en-GB/configuration.md +53 -14
- package/docs/en-GB/custom_domains.md +250 -0
- package/docs/en-GB/intlayer_with_tanstack+solid.md +15 -36
- package/docs/en-GB/intlayer_with_tanstack.md +25 -16
- package/docs/en-GB/intlayer_with_vanilla.md +506 -0
- package/docs/es/cli/index.md +65 -53
- package/docs/es/cli/init.md +33 -21
- package/docs/es/cli/standalone.md +91 -0
- package/docs/es/configuration.md +39 -1
- package/docs/es/custom_domains.md +250 -0
- package/docs/es/intlayer_with_tanstack+solid.md +15 -36
- package/docs/es/intlayer_with_tanstack.md +25 -16
- package/docs/es/intlayer_with_vanilla.md +506 -0
- package/docs/fr/cli/index.md +43 -31
- package/docs/fr/cli/init.md +37 -25
- package/docs/fr/cli/standalone.md +91 -0
- package/docs/fr/configuration.md +46 -7
- package/docs/fr/custom_domains.md +250 -0
- package/docs/fr/intlayer_with_tanstack+solid.md +15 -36
- package/docs/fr/intlayer_with_tanstack.md +25 -16
- package/docs/fr/intlayer_with_vanilla.md +506 -0
- package/docs/hi/cli/index.md +71 -59
- package/docs/hi/cli/init.md +37 -33
- package/docs/hi/cli/standalone.md +91 -0
- package/docs/hi/configuration.md +39 -7
- package/docs/hi/custom_domains.md +250 -0
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -33
- package/docs/hi/intlayer_with_tanstack.md +25 -16
- package/docs/hi/intlayer_with_vanilla.md +506 -0
- package/docs/id/cli/index.md +59 -47
- package/docs/id/cli/init.md +32 -25
- package/docs/id/cli/standalone.md +91 -0
- package/docs/id/configuration.md +46 -7
- package/docs/id/custom_domains.md +250 -0
- package/docs/id/intlayer_with_tanstack+solid.md +14 -33
- package/docs/id/intlayer_with_tanstack.md +25 -16
- package/docs/id/intlayer_with_vanilla.md +506 -0
- package/docs/it/cli/index.md +58 -41
- package/docs/it/cli/init.md +37 -38
- package/docs/it/cli/standalone.md +91 -0
- package/docs/it/configuration.md +46 -7
- package/docs/it/custom_domains.md +250 -0
- package/docs/it/intlayer_with_tanstack+solid.md +15 -36
- package/docs/it/intlayer_with_tanstack.md +25 -16
- package/docs/it/intlayer_with_vanilla.md +506 -0
- package/docs/ja/cli/index.md +59 -47
- package/docs/ja/cli/init.md +36 -24
- package/docs/ja/cli/standalone.md +91 -0
- package/docs/ja/configuration.md +46 -7
- package/docs/ja/custom_domains.md +250 -0
- package/docs/ja/intlayer_with_tanstack+solid.md +15 -36
- package/docs/ja/intlayer_with_tanstack.md +25 -16
- package/docs/ja/intlayer_with_vanilla.md +506 -0
- package/docs/ko/cli/index.md +58 -46
- package/docs/ko/cli/init.md +39 -35
- package/docs/ko/cli/standalone.md +91 -0
- package/docs/ko/configuration.md +47 -8
- package/docs/ko/custom_domains.md +250 -0
- package/docs/ko/intlayer_with_tanstack+solid.md +15 -36
- package/docs/ko/intlayer_with_tanstack.md +25 -16
- package/docs/ko/intlayer_with_vanilla.md +506 -0
- package/docs/nl/cli/index.md +195 -0
- package/docs/nl/cli/init.md +96 -0
- package/docs/nl/cli/standalone.md +91 -0
- package/docs/nl/configuration.md +46 -7
- package/docs/nl/custom_domains.md +250 -0
- package/docs/nl/intlayer_with_vanilla.md +506 -0
- package/docs/pl/cli/index.md +56 -44
- package/docs/pl/cli/init.md +36 -32
- package/docs/pl/cli/standalone.md +91 -0
- package/docs/pl/configuration.md +46 -7
- package/docs/pl/custom_domains.md +250 -0
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -33
- package/docs/pl/intlayer_with_tanstack.md +25 -16
- package/docs/pl/intlayer_with_vanilla.md +506 -0
- package/docs/pt/cli/index.md +64 -52
- package/docs/pt/cli/init.md +35 -31
- package/docs/pt/cli/standalone.md +91 -0
- package/docs/pt/configuration.md +46 -7
- package/docs/pt/custom_domains.md +250 -0
- package/docs/pt/intlayer_with_tanstack+solid.md +15 -36
- package/docs/pt/intlayer_with_tanstack.md +25 -16
- package/docs/pt/intlayer_with_vanilla.md +506 -0
- package/docs/ru/cli/index.md +54 -42
- package/docs/ru/cli/init.md +31 -27
- package/docs/ru/cli/standalone.md +91 -0
- package/docs/ru/configuration.md +46 -7
- package/docs/ru/custom_domains.md +250 -0
- package/docs/ru/intlayer_with_tanstack+solid.md +15 -36
- package/docs/ru/intlayer_with_tanstack.md +25 -16
- package/docs/ru/intlayer_with_vanilla.md +506 -0
- package/docs/tr/cli/index.md +64 -52
- package/docs/tr/cli/init.md +37 -30
- package/docs/tr/cli/standalone.md +91 -0
- package/docs/tr/configuration.md +46 -7
- package/docs/tr/custom_domains.md +250 -0
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -33
- package/docs/tr/intlayer_with_tanstack.md +25 -16
- package/docs/tr/intlayer_with_vanilla.md +506 -0
- package/docs/uk/cli/index.md +60 -55
- package/docs/uk/cli/init.md +32 -20
- package/docs/uk/cli/standalone.md +91 -0
- package/docs/uk/configuration.md +46 -7
- package/docs/uk/custom_domains.md +250 -0
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -33
- package/docs/uk/intlayer_with_tanstack.md +25 -16
- package/docs/uk/intlayer_with_vanilla.md +506 -0
- package/docs/ur/cli/index.md +195 -0
- package/docs/ur/cli/init.md +96 -0
- package/docs/ur/cli/standalone.md +91 -0
- package/docs/ur/configuration.md +46 -7
- package/docs/ur/custom_domains.md +250 -0
- package/docs/ur/intlayer_with_vanilla.md +506 -0
- package/docs/vi/cli/index.md +72 -61
- package/docs/vi/cli/init.md +33 -21
- package/docs/vi/cli/standalone.md +91 -0
- package/docs/vi/configuration.md +46 -7
- package/docs/vi/custom_domains.md +250 -0
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -33
- package/docs/vi/intlayer_with_tanstack.md +25 -16
- package/docs/vi/intlayer_with_vanilla.md +506 -0
- package/docs/zh/cli/index.md +56 -49
- package/docs/zh/cli/init.md +30 -18
- package/docs/zh/cli/standalone.md +91 -0
- package/docs/zh/configuration.md +46 -7
- package/docs/zh/custom_domains.md +250 -0
- package/docs/zh/intlayer_with_tanstack+solid.md +15 -36
- package/docs/zh/intlayer_with_tanstack.md +25 -16
- package/docs/zh/intlayer_with_vanilla.md +506 -0
- package/package.json +8 -8
- package/src/doc.ts +4 -1
- package/src/generated/docs.entry.ts +60 -0
- package/docs/ar/bundle_optimization.md +0 -185
- package/docs/de/bundle_optimization.md +0 -195
- package/docs/en-GB/bundle_optimization.md +0 -184
- package/docs/es/bundle_optimization.md +0 -194
- package/docs/fr/bundle_optimization.md +0 -184
- package/docs/hi/bundle_optimization.md +0 -185
- package/docs/id/bundle_optimization.md +0 -185
- package/docs/it/bundle_optimization.md +0 -185
- package/docs/ja/bundle_optimization.md +0 -185
- package/docs/ko/bundle_optimization.md +0 -185
- package/docs/pl/bundle_optimization.md +0 -185
- package/docs/pt/bundle_optimization.md +0 -184
- package/docs/ru/bundle_optimization.md +0 -185
- package/docs/tr/bundle_optimization.md +0 -184
- package/docs/uk/bundle_optimization.md +0 -186
- package/docs/vi/bundle_optimization.md +0 -185
- package/docs/zh/bundle_optimization.md +0 -185
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-30
|
|
3
|
+
updatedAt: 2025-12-30
|
|
4
|
+
title: Initialiseer Intlayer
|
|
5
|
+
description: Leer hoe u Intlayer in uw project kunt initialiseren.
|
|
6
|
+
keywords:
|
|
7
|
+
- Initialiseren
|
|
8
|
+
- CLI
|
|
9
|
+
- Intlayer
|
|
10
|
+
- AI
|
|
11
|
+
slugs:
|
|
12
|
+
- doc
|
|
13
|
+
- concept
|
|
14
|
+
- cli
|
|
15
|
+
- init
|
|
16
|
+
history:
|
|
17
|
+
- version: 8.6.4
|
|
18
|
+
date: 2026-03-31
|
|
19
|
+
changes: "Optie --no-gitignore toegevoegd"
|
|
20
|
+
- version: 7.5.9
|
|
21
|
+
date: 2025-12-30
|
|
22
|
+
changes: "Commando init toegevoegd"
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Initialiseer Intlayer
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx intlayer init
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Het `init` commando configureert Intlayer automatisch in uw project door de benodigde bestanden en instellingen aan te maken. Dit is de aanbevolen manier om met Intlayer aan de slag te gaan.
|
|
32
|
+
|
|
33
|
+
## Aliassen:
|
|
34
|
+
|
|
35
|
+
- `npx intlayer init`
|
|
36
|
+
|
|
37
|
+
## Argumenten:
|
|
38
|
+
|
|
39
|
+
- `--project-root [projectRoot]` - Optioneel. Specificeer de hoofdmap van het project. Indien niet opgegeven, zoekt het commando naar de projectmap vanaf de huidige werkmap.
|
|
40
|
+
- `--no-gitignore` - Optioneel. Slaat het automatisch bijwerken van het `.gitignore`-bestand over. Als deze vlag is ingesteld, wordt `.intlayer` niet toegevoegd aan `.gitignore`.
|
|
41
|
+
|
|
42
|
+
## Wat het doet:
|
|
43
|
+
|
|
44
|
+
Het `init` commando voert de volgende configuratietaken uit:
|
|
45
|
+
|
|
46
|
+
1. **Valideert projectstructuur** - Garandeert dat u zich in een geldige projectmap bevindt met een `package.json` bestand.
|
|
47
|
+
2. **Werkt `.gitignore` bij** - Voegt `.intlayer` toe aan uw `.gitignore` bestand om gegenereerde bestanden uit te sluiten van versiebeheer (kan worden overgeslagen met `--no-gitignore`).
|
|
48
|
+
3. **Configureert TypeScript** - Werkt eventuele `tsconfig.json` bestanden bij om Intlayer type-definities op te nemen (`.intlayer/**/*.ts`).
|
|
49
|
+
4. **Maakt configuratiebestand aan** - Genereert een `intlayer.config.ts` (voor TypeScript-projecten) of `intlayer.config.mjs` (voor JavaScript-projecten) met standaardinstellingen.
|
|
50
|
+
5. **Werkt Vite-config bij** - Indien een Vite-configuratiebestand wordt gedetecteerd, wordt de import voor de `vite-intlayer` plugin toegevoegd.
|
|
51
|
+
6. **Werkt Next.js-config bij** - Indien een Next.js-configuratiebestand wordt gedetecteerd, wordt de import voor de `next-intlayer` plugin toegevoegd.
|
|
52
|
+
|
|
53
|
+
## Voorbeelden:
|
|
54
|
+
|
|
55
|
+
### Basis initialisatie:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx intlayer init
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Dit initialiseert Intlayer in de huidige map en detecteert automatisch de hoofdmap van het project.
|
|
62
|
+
|
|
63
|
+
### Initialiseren met aangepaste projectmap:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx intlayer init --project-root ./mijn-project
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Dit initialiseert Intlayer in de opgegeven directory.
|
|
70
|
+
|
|
71
|
+
### Initialiseren zonder .gitignore bij te werken:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx intlayer init --no-gitignore
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Dit configureert alle configuratiebestanden maar wijzigt uw `.gitignore` niet.
|
|
78
|
+
|
|
79
|
+
## Voorbeeld van uitvoer:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npx intlayer init
|
|
83
|
+
Checking Intlayer configuration...
|
|
84
|
+
✓ Added .intlayer to .gitignore
|
|
85
|
+
✓ Updated tsconfig.json to include intlayer types
|
|
86
|
+
✓ Created intlayer.config.ts
|
|
87
|
+
✓ Injected import into vite.config.ts
|
|
88
|
+
✓ Intlayer init setup complete.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Opmerkingen:
|
|
92
|
+
|
|
93
|
+
- Het commando is idempotent - u kunt het veilig meerdere keren uitvoeren. Reeds geconfigureerde stappen worden overgeslagen.
|
|
94
|
+
- Indien er al een configuratiebestand bestaat, wordt dit niet overschreven.
|
|
95
|
+
- TypeScript-configuratiebestanden zonder een `include` array (bijv. solution-style configuraties met references) worden overgeslagen.
|
|
96
|
+
- Het commando stopt met een foutmelding als er geen `package.json` wordt gevonden in de hoofdmap van het project.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2024-08-11
|
|
3
|
+
updatedAt: 2026-03-31
|
|
4
|
+
title: Standalone Bundel
|
|
5
|
+
description: Leer hoe u een zelfstandige JavaScript-bundel van de applicatie-inhoud kunt maken.
|
|
6
|
+
keywords:
|
|
7
|
+
- Standalone
|
|
8
|
+
- Bundel
|
|
9
|
+
- CLI
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Editor
|
|
12
|
+
- CMS
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- concept
|
|
16
|
+
- cli
|
|
17
|
+
- standalone
|
|
18
|
+
history:
|
|
19
|
+
- version: 8.6.4
|
|
20
|
+
date: 2026-03-31
|
|
21
|
+
changes: "Initialisatie van de documentatie voor het standalone commando"
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Standalone Bundel
|
|
25
|
+
|
|
26
|
+
Met het `standalone` commando kunt u een zelfstandige JavaScript-bundel maken die Intlayer en eventuele andere gespecificeerde pakketten bevat. Dit is met name handig voor het gebruik van Intlayer in omgevingen zonder pakketbeheerder of bundler, zoals een eenvoudige HTML/JS-applicatie.
|
|
27
|
+
|
|
28
|
+
De bundel maakt gebruik van [esbuild](https://esbuild.github.io/) om de gevraagde pakketten en hun afhankelijkheden te combineren in een enkel bestand dat eenvoudig in elk webproject kan worden geïmporteerd.
|
|
29
|
+
|
|
30
|
+
## Gebruik
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx intlayer standalone --packages [pakketten...] [opties]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Opties
|
|
37
|
+
|
|
38
|
+
- `-o, --outfile [outfile]` - Optioneel. De naam van het uitvoerbestand. Standaard: `intlayer-bundle.js`.
|
|
39
|
+
- `--packages [pakketten...]` - Vereist. Een lijst met pakketten die in de bundel moeten worden opgenomen (bijv. `intlayer`, `vanilla-intlayer`).
|
|
40
|
+
- `--version [version]` - Optioneel. De versie van de pakketten die gebundeld moeten worden. Indien niet gespecificeerd, wordt standaard de versie van de Intlayer CLI gebruikt.
|
|
41
|
+
- `--minify` - Optioneel. Of de uitvoer moet worden geminimaliseerd. Standaard: `true`.
|
|
42
|
+
- `--platform [platform]` - Optioneel. Het doelplatform voor de bundel (bijv. `browser`, `node`). Standaard: `browser`.
|
|
43
|
+
- `--format [format]` - Optioneel. Het uitvoerformaat voor de bundel (bijv. `esm`, `cjs`, `iife`). Standaard: `esm`.
|
|
44
|
+
|
|
45
|
+
## Algemene Opties
|
|
46
|
+
|
|
47
|
+
- `--env-file [envFile]` - Omgevingsbestand.
|
|
48
|
+
- `-e, --env [env]` - Omgeving.
|
|
49
|
+
- `--base-dir [baseDir]` - Basisdirectory.
|
|
50
|
+
- `--no-cache` - Cache uitschakelen.
|
|
51
|
+
- `--verbose` - Gedetailleerde uitvoer.
|
|
52
|
+
|
|
53
|
+
## Voorbeelden:
|
|
54
|
+
|
|
55
|
+
### Een bundel maken voor Vanilla JS:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx intlayer standalone --packages intlayer vanilla-intlayer --outfile intlayer.js
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Dit maakt een bestand `intlayer.js` aan met daarin zowel de `intlayer` als `vanilla-intlayer` pakketten, geminimaliseerd en in ESM-formaat, klaar voor gebruik in een browser via een `<script>` tag.
|
|
62
|
+
|
|
63
|
+
### Een specifieke versie bundelen:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx intlayer standalone --packages intlayer --version 8.6.4
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Bundelen met een ander formaat:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx intlayer standalone --packages intlayer --format iife
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Wat het doet:
|
|
76
|
+
|
|
77
|
+
1. **Maakt een tijdelijke omgeving aan** - Richt een tijdelijke directory in om afhankelijkheden te beheren.
|
|
78
|
+
2. **Installeert pakketten** - Gebruikt `npm` of `bun` (indien beschikbaar) om de gevraagde pakketten en hun afhankelijkheden te installeren.
|
|
79
|
+
3. **Genereert een toegangspunt** - Maakt een tijdelijk toegangspuntbestand aan dat alle gevraagde pakketten exporteert en ze blootstelt als globale variabelen bij uitvoering in een browser.
|
|
80
|
+
4. **Bundelt met esbuild** - Gebruikt esbuild om alles te combineren in een enkel bestand, met toepassing van minimalisatie en formatering zoals gevraagd.
|
|
81
|
+
5. **Genereert het bestand** - Schrijft de resulterende bundel naar het opgegeven uitvoerpad.
|
|
82
|
+
|
|
83
|
+
## Globale Variabelen
|
|
84
|
+
|
|
85
|
+
Wanneer de bundel in een browser wordt geladen, stelt deze de gevraagde pakketten bloot als globale variabelen op het `window` object. De variabelenamen zijn gebaseerd op de pakketnamen (bijv. `intlayer` wordt `Intlayer`, `vanilla-intlayer` wordt `VanillaIntlayer`).
|
|
86
|
+
|
|
87
|
+
```javascript
|
|
88
|
+
// Toegang tot Intlayer vanuit de bundel
|
|
89
|
+
const { getLocaleName } = window.Intlayer;
|
|
90
|
+
const { installIntlayer, useIntlayer } = window.VanillaIntlayer;
|
|
91
|
+
```
|
package/docs/nl/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-04-08
|
|
4
4
|
title: Configuratie (Configuration)
|
|
5
5
|
description: Leer hoe u Intlayer configureert voor uw applicatie. Begrijp de verschillende instellingen en opties die beschikbaar zijn om Intlayer aan uw behoeften aan te passen.
|
|
6
6
|
keywords:
|
|
@@ -14,6 +14,12 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 8.7.0
|
|
18
|
+
date: 2026-04-08
|
|
19
|
+
changes: "Opties `prune` en `minify` toegevoegd aan de buildconfiguratie"
|
|
20
|
+
- version: 8.7.0
|
|
21
|
+
date: 2026-04-03
|
|
22
|
+
changes: "`currentDomain` optie toegevoegd"
|
|
17
23
|
- version: 8.4.0
|
|
18
24
|
date: 2026-03-20
|
|
19
25
|
changes: "Objectnotatie per locale toegevoegd voor 'compiler.output' en 'dictionary.fill'"
|
|
@@ -237,6 +243,17 @@ const config: IntlayerConfig = {
|
|
|
237
243
|
fr: "/[locale]/a-propos",
|
|
238
244
|
},
|
|
239
245
|
}),
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Koppelt locales aan domeinhastnamen voor domeingebaseerde routing.
|
|
249
|
+
* URL's voor deze locales zullen absoluut zijn (bijv. https://intlayer.cn/).
|
|
250
|
+
* Het domein impliceert de locale, dus er wordt geen locale-voorvoegsel aan het pad toegevoegd.
|
|
251
|
+
* Standaard: undefined
|
|
252
|
+
*/
|
|
253
|
+
domains: {
|
|
254
|
+
en: "intlayer.org",
|
|
255
|
+
zh: "intlayer.cn",
|
|
256
|
+
},
|
|
240
257
|
},
|
|
241
258
|
|
|
242
259
|
/**
|
|
@@ -388,6 +405,25 @@ const config: IntlayerConfig = {
|
|
|
388
405
|
*/
|
|
389
406
|
optimize: true,
|
|
390
407
|
|
|
408
|
+
/**
|
|
409
|
+
* Minimaliseer de woordenboeken om de bundelgrootte te verkleinen.
|
|
410
|
+
* Standaard: false
|
|
411
|
+
*
|
|
412
|
+
* Opmerking:
|
|
413
|
+
* - Deze optie wordt genegeerd als `optimize` is uitgeschakeld.
|
|
414
|
+
* - Deze optie wordt genegeerd als `editor.enabled` op true staat.
|
|
415
|
+
*/
|
|
416
|
+
minify: true,
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Verwijder ongebruikte sleutels in woordenboeken.
|
|
420
|
+
* Standaard: false
|
|
421
|
+
*
|
|
422
|
+
* Opmerking:
|
|
423
|
+
* - Deze optie wordt genegeerd als `optimize` is uitgeschakeld.
|
|
424
|
+
*/
|
|
425
|
+
purge: true,
|
|
426
|
+
|
|
391
427
|
/**
|
|
392
428
|
* Uitvoerformaat voor gegenereerde woordenboekbestanden.
|
|
393
429
|
* Standaard: ['cjs', 'esm']
|
|
@@ -597,12 +633,13 @@ Definieert de instellingen voor de ingebouwde visuele editor, inclusief de serve
|
|
|
597
633
|
|
|
598
634
|
Instellingen die het gedrag van routing regelen, inclusief URL-structuur, opslag van locales en beheer van middleware.
|
|
599
635
|
|
|
600
|
-
| Veld | Beschrijving
|
|
601
|
-
| ---------- |
|
|
602
|
-
| `mode` | URL routingmodus voor het beheer van locales.
|
|
603
|
-
| `storage` | Configuratie van de opslag van de locale op de client.
|
|
604
|
-
| `basePath` | Basispad voor de URL's van de applicatie.
|
|
605
|
-
| `rewrite` | Aangepaste URL-herschrijfregels die de standaard routingmodus overschrijven voor specifieke paden. Ondersteunt dynamische parameters `[param]`.
|
|
636
|
+
| Veld | Beschrijving | Type | Standaard | Voorbeeld | Opmerking |
|
|
637
|
+
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
638
|
+
| `mode` | URL routingmodus voor het beheer van locales. | `'prefix-no-default'` | <br/> `'prefix-all'` | <br/> `'no-prefix'` | <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) of `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: locale wordt op andere manieren beheerd. `'search-params'`: `/dashboard?locale=fr` | Heeft geen invloed op het beheer van cookies of opslag van locales. |
|
|
639
|
+
| `storage` | Configuratie van de opslag van de locale op de client. | `false` | <br/> `'cookie'` | <br/> `'localStorage'` | <br/> `'sessionStorage'` | <br/> `'header'` | <br/> `CookiesAttributes` | <br/> `StorageAttributes` | <br/> `Array` | `['cookie', 'header']` | `'localStorage'` <br/> `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Zie de tabel met opslagparameters hieronder. |
|
|
640
|
+
| `basePath` | Basispad voor de URL's van de applicatie. | `string` | `''` | `'/my-app'` | Als de applicatie op het adres `https://example.com/my-app` werkt, is basePath `'/my-app'` en worden URL's `https://example.com/my-app/en`. |
|
|
641
|
+
| `rewrite` | Aangepaste URL-herschrijfregels die de standaard routingmodus overschrijven voor specifieke paden. Ondersteunt dynamische parameters `[param]`. | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | Zie voorbeeld hieronder | • Herschrijfregels hebben voorrang op `mode`.<br/>• Werkt met Next.js en Vite.<br/>• `getLocalizedUrl()` past automatisch de juiste regels toe.<br/>• Zie [Aangepaste URL-herschrijvingen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md). |
|
|
642
|
+
| `domains` | Koppelt locales aan domeinhastnamen voor domeingebaseerde routing. Wanneer ingesteld, gebruiken URL's voor die locale dat domein als basis (absolute URL) en wordt er geen locale-voorvoegsel aan het pad toegevoegd. | `Partial<Record<Locale, string>>` | `undefined` | `{ zh: 'intlayer.zh', fr: 'intlayer.org' }` | • Het standaardprotocol is `https://` wanneer dit niet in de hostnaam is opgenomen.<br/>• Het domein zelf identificeert de locale, dus er wordt geen `/zh/` voorvoegsel toegevoegd.<br/>• `getLocalizedUrl('/', 'zh')` retourneert `https://intlayer.zh/`. |
|
|
606
643
|
|
|
607
644
|
**Voorbeeld `rewrite`**:
|
|
608
645
|
|
|
@@ -906,6 +943,8 @@ Build-opties worden toegepast op de plug-ins `@intlayer/babel` en `@intlayer/swc
|
|
|
906
943
|
| ----------------- | --------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
907
944
|
| `mode` | Beheert de buildmodus. | `'auto'` | <br/> `'manual'` | `'auto'` | `'manual'` | • `'auto'`: de build wordt automatisch gestart tijdens de build van de applicatie.<br/>• `'manual'`: wordt alleen uitgevoerd bij een expliciete build-opdracht.<br/>• Kan worden gebruikt om de build van woordenboeken uit te schakelen (bijv. om uitvoering in Node.js-omgevingen te stoppen). |
|
|
908
945
|
| `optimize` | Beheert of er build-optimalisatie moet plaatsvinden. | `boolean` | `undefined` | `process.env.NODE_ENV === 'production'` | • Indien niet gedefinieerd, wordt optimalisatie gestart bij de build van het framework (Vite/Next.js).<br/>• `true` forceert optimalisatie zelfs in dev-modus.<br/>• `false` schakelt het uit.<br/>• Indien ingeschakeld, vervangt het woordenboekaanroepen voor chunking-optimalisatie.<br/>• Vereist plug-ins `@intlayer/babel` en `@intlayer/swc`. |
|
|
946
|
+
| `minify` | Minimaliseer de woordenboeken om de bundelgrootte te verkleinen. | `boolean` | `false` | | • Geeft aan of de bundel moet worden geminimaliseerd.<br/>• Standaard: `true` in productie.<br/>• Deze optie wordt genegeerd als `optimize` is uitgeschakeld.<br/>• Deze optie wordt genegeerd als `editor.enabled` is waar. |
|
|
947
|
+
| `purge` | Verwijder ongebruikte sleutels in woordenboeken. | `boolean` | `false` | | • Geeft aan of de bundel moet worden opgeschoond.<br/>• Standaard: `true` in productie.<br/>• Deze optie wordt genegeerd als `optimize` is uitgeschakeld. |
|
|
909
948
|
| `checkTypes` | Geeft aan of de build TypeScript types moet controleren en fouten moet loggen. | `boolean` | `false` | | Kan het buildproces vertragen. |
|
|
910
949
|
| `outputFormat` | Beheert het uitvoerformaat van woordenboeken. | `('esm' | 'cjs')[]` | `['esm', 'cjs']` | `['cjs']` | |
|
|
911
950
|
| `traversePattern` | Patronen die definieren welke bestanden tijdens de optimalisatie moeten worden gescand. | `string[]` | `['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*']` | `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']` | • Beperk de optimalisatie tot relevante bestanden voor het verhogen van de buildprestaties.<br/>• Zou worden genegeerd als `optimize` was uitgeschakeld.<br/>• Gebruikt glob-patronen. |
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-04-02
|
|
3
|
+
updatedAt: 2026-04-02
|
|
4
|
+
title: Aangepaste domeinen
|
|
5
|
+
description: Leer hoe u domeingebaseerde locale routing configureert in Intlayer om verschillende locales te bedienen vanaf speciale hostnames.
|
|
6
|
+
keywords:
|
|
7
|
+
- Aangepaste domeinen
|
|
8
|
+
- Domeinrouting
|
|
9
|
+
- Routing
|
|
10
|
+
- Internationalisering
|
|
11
|
+
- i18n
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- concept
|
|
15
|
+
- custom_domains
|
|
16
|
+
history:
|
|
17
|
+
- version: 8.5.0
|
|
18
|
+
date: 2026-04-02
|
|
19
|
+
changes: "Domeingebaseerde locale routing toegevoegd via de routing.domains-configuratie."
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Aangepaste domeinen
|
|
23
|
+
|
|
24
|
+
Intlayer ondersteunt domeingebaseerde locale routing, waardoor u specifieke locales kunt bedienen vanaf speciale hostnames. Chinese bezoekers kunnen bijvoorbeeld worden doorgeleid naar `intlayer.zh` in plaats van `intlayer.org/zh`.
|
|
25
|
+
|
|
26
|
+
## Hoe het werkt
|
|
27
|
+
|
|
28
|
+
De `domains`-map in `routing` koppelt elke locale aan een hostname. Intlayer gebruikt deze map op twee plaatsen:
|
|
29
|
+
|
|
30
|
+
1. **URL-generatie** (`getLocalizedUrl`): wanneer de doel-locale op een _ander_ domein staat dan de huidige pagina, wordt een absolute URL geretourneerd (bijv. `https://intlayer.zh/about`). Wanneer beide domeinen overeenkomen, wordt een relatieve URL geretourneerd (bijv. `/fr/about`).
|
|
31
|
+
2. **Serverproxy** (Next.js & Vite): inkomende verzoeken worden omgeleid of herschreven op basis van het domein waarop ze binnenkomen.
|
|
32
|
+
|
|
33
|
+
### Exclusieve vs. gedeelde domeinen
|
|
34
|
+
|
|
35
|
+
Het belangrijkste onderscheid is **exclusiviteit**:
|
|
36
|
+
|
|
37
|
+
- **Exclusief domein** — er is slechts één locale aan die hostname gekoppeld (bijv. `zh → intlayer.zh`). Het domein zelf identificeert de locale, dus er wordt geen locale-prefix aan het pad toegevoegd. `https://intlayer.zh/about` bedient Chinese inhoud.
|
|
38
|
+
- **Gedeeld domein** — er zijn meerdere locales aan dezelfde hostname gekoppeld (bijv. zowel `en` als `fr` zijn gekoppeld aan `intlayer.org`). Normale prefixgebaseerde routing is van toepassing. `intlayer.org/fr/about` bedient Franse inhoud.
|
|
39
|
+
|
|
40
|
+
## Configuratie
|
|
41
|
+
|
|
42
|
+
```typescript fileName="intlayer.config.ts"
|
|
43
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
44
|
+
|
|
45
|
+
const config: IntlayerConfig = {
|
|
46
|
+
internationalization: {
|
|
47
|
+
locales: [
|
|
48
|
+
Locales.ENGLISH,
|
|
49
|
+
Locales.FRENCH,
|
|
50
|
+
Locales.SPANISH,
|
|
51
|
+
Locales.CHINESE,
|
|
52
|
+
],
|
|
53
|
+
defaultLocale: Locales.ENGLISH,
|
|
54
|
+
},
|
|
55
|
+
routing: {
|
|
56
|
+
mode: "prefix-no-default",
|
|
57
|
+
domains: {
|
|
58
|
+
// Gedeeld domein — en en fr gebruiken prefix-routing op intlayer.org
|
|
59
|
+
en: "intlayer.org",
|
|
60
|
+
// Exclusief domein — zh heeft een eigen hostname, geen /zh/-prefix nodig
|
|
61
|
+
zh: "intlayer.zh",
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export default config;
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Locales die niet in `domains` staan, blijven de standaard prefix-routing gebruiken zonder domeinoverschrijving.
|
|
70
|
+
|
|
71
|
+
## URL-generatie
|
|
72
|
+
|
|
73
|
+
`getLocalizedUrl` genereert automatisch het juiste URL-type op basis van de aanroepende context.
|
|
74
|
+
|
|
75
|
+
### Dezelfde-domein locale (relatieve URL)
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
// Huidige pagina: intlayer.org/about
|
|
79
|
+
getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.org" });
|
|
80
|
+
// → "/fr/about"
|
|
81
|
+
|
|
82
|
+
getLocalizedUrl("/about", "en", { currentDomain: "intlayer.org" });
|
|
83
|
+
// → "/about" (standaard locale, geen prefix)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Domeinoverschrijdende locale (absolute URL)
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
// Huidige pagina: intlayer.org/about
|
|
90
|
+
getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.org" });
|
|
91
|
+
// → "https://intlayer.zh/about" (exclusief domein, geen /zh/-prefix)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Bedienen vanaf het eigen domein van de locale
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
// Huidige pagina: intlayer.zh/about
|
|
98
|
+
getLocalizedUrl("/about", "zh", { currentDomain: "intlayer.zh" });
|
|
99
|
+
// → "/about" (al op het juiste domein — relatieve URL)
|
|
100
|
+
|
|
101
|
+
getLocalizedUrl("/about", "fr", { currentDomain: "intlayer.zh" });
|
|
102
|
+
// → "https://intlayer.org/fr/about" (domeinoverschrijdende link terug naar intlayer.org)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Automatische detectie van het huidige domein
|
|
106
|
+
|
|
107
|
+
`currentDomain` is optioneel. Indien weggelaten, lost `getLocalizedUrl` dit in deze volgorde op:
|
|
108
|
+
|
|
109
|
+
1. De hostname van een absolute input-URL (bijv. `https://intlayer.org/about` → `intlayer.org`).
|
|
110
|
+
2. `window.location.hostname` in browseromgevingen.
|
|
111
|
+
3. Als geen van beide beschikbaar is (SSR zonder expliciete optie), wordt een relatieve URL geretourneerd voor locales op hetzelfde domein en wordt er geen absolute URL gegenereerd — dit is de veilige fallback.
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
// Browser — window.location.hostname === 'intlayer.org'
|
|
115
|
+
getLocalizedUrl("/about", "zh");
|
|
116
|
+
// → "https://intlayer.zh/about" (automatisch gedetecteerd door window)
|
|
117
|
+
|
|
118
|
+
// Vanaf een absolute URL — domein automatisch gedetecteerd
|
|
119
|
+
getLocalizedUrl("https://intlayer.org/about", "zh");
|
|
120
|
+
// → "https://intlayer.zh/about"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### `getMultilingualUrls` met domeinen
|
|
124
|
+
|
|
125
|
+
`getMultilingualUrls` roept `getLocalizedUrl` aan voor elke locale, dus het genereert een mix van relatieve en absolute URL's afhankelijk van het domein van de aanroeper:
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
// currentDomain: 'intlayer.org'
|
|
129
|
+
getMultilingualUrls("/about", { currentDomain: "intlayer.org" });
|
|
130
|
+
// {
|
|
131
|
+
// en: "/about",
|
|
132
|
+
// fr: "/fr/about",
|
|
133
|
+
// es: "/es/about",
|
|
134
|
+
// zh: "https://intlayer.zh/about",
|
|
135
|
+
// }
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Deze absolute URL's zijn klaar voor gebruik in `<link rel="alternate" hreflang="...">` tags voor SEO.
|
|
139
|
+
|
|
140
|
+
## Proxy-gedrag
|
|
141
|
+
|
|
142
|
+
### Next.js
|
|
143
|
+
|
|
144
|
+
De `intlayerProxy`-middleware handelt domeinrouting automatisch af. Voeg deze toe aan uw `middleware.ts`:
|
|
145
|
+
|
|
146
|
+
```typescript fileName="middleware.ts"
|
|
147
|
+
export { intlayerProxy as default } from "next-intlayer/proxy";
|
|
148
|
+
|
|
149
|
+
export const config = {
|
|
150
|
+
matcher: "/((?!api|static|assets|robots|sitemap|.*\\..*|_next).*)",
|
|
151
|
+
};
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Redirect** — verzoek komt binnen op het verkeerde domein voor een gegeven locale-prefix:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
GET intlayer.org/zh/about
|
|
158
|
+
→ 301 https://intlayer.zh/about
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Rewrite** — verzoek komt binnen op het exclusieve domein van de locale zonder prefix:
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
GET intlayer.zh/about
|
|
165
|
+
→ herschrijven naar /zh/about (alleen interne Next.js-routing, URL blijft schoon)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Vite
|
|
169
|
+
|
|
170
|
+
De `intlayerProxy` Vite-plugin past dezelfde logica toe tijdens ontwikkeling:
|
|
171
|
+
|
|
172
|
+
```typescript fileName="vite.config.ts"
|
|
173
|
+
import { defineConfig } from "vite";
|
|
174
|
+
import { intlayerProxy } from "vite-intlayer";
|
|
175
|
+
|
|
176
|
+
export default defineConfig({
|
|
177
|
+
plugins: [intlayerProxy()],
|
|
178
|
+
});
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
> **Opmerking**: bij lokale ontwikkeling bevindt u zich meestal op `localhost`, dus domeinoverschrijdende omleidingen verwijzen naar de live domeinen in plaats van naar een andere lokale poort. Gebruik een hosts-bestandsoverschrijving (bijv. `127.0.0.1 intlayer.zh`) of een reverse proxy als u multidomeinrouting lokaal wilt testen.
|
|
182
|
+
|
|
183
|
+
## Locale-kiezer (Locale Switcher)
|
|
184
|
+
|
|
185
|
+
De `useLocale`-hook van `next-intlayer` handelt domeinbewuste navigatie automatisch af. Wanneer een gebruiker overschakelt naar een locale op een ander domein, voert de hook een volledige paginanavigatie uit (`window.location.href`) in plaats van een client-side routerpush, omdat de Next.js-router geen cross-origin navigatie kan uitvoeren.
|
|
186
|
+
|
|
187
|
+
```tsx fileName="components/LocaleSwitcher.tsx"
|
|
188
|
+
"use client";
|
|
189
|
+
|
|
190
|
+
import { useLocale } from "next-intlayer";
|
|
191
|
+
|
|
192
|
+
export const LocaleSwitcher = () => {
|
|
193
|
+
const { availableLocales, locale, setLocale } = useLocale();
|
|
194
|
+
|
|
195
|
+
return (
|
|
196
|
+
<ul>
|
|
197
|
+
{availableLocales.map((localeEl) => (
|
|
198
|
+
<li key={localeEl}>
|
|
199
|
+
<button
|
|
200
|
+
onClick={() => setLocale(localeEl)}
|
|
201
|
+
aria-current={localeEl === locale ? "true" : undefined}
|
|
202
|
+
>
|
|
203
|
+
{l.toUpperCase()}
|
|
204
|
+
</button>
|
|
205
|
+
</li>
|
|
206
|
+
))}
|
|
207
|
+
</ul>
|
|
208
|
+
);
|
|
209
|
+
};
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Er is geen extra configuratie vereist — `useLocale` detecteert intern `window.location.hostname` en beslist tussen `router.replace` (hetzelfde domein) en `window.location.href` (ander domein).
|
|
213
|
+
|
|
214
|
+
## SEO: `hreflang` alternatieve links
|
|
215
|
+
|
|
216
|
+
Domeingebaseerde routing wordt vaak gebruikt in combinatie met `hreflang` om zoekmachines te laten weten welke URL ze moeten indexeren voor elke taal. Gebruik `getMultilingualUrls` om de volledige set alternatieve URL's te genereren:
|
|
217
|
+
|
|
218
|
+
```tsx fileName="app/[locale]/layout.tsx"
|
|
219
|
+
import { getMultilingualUrls } from "intlayer";
|
|
220
|
+
import type { Metadata } from "next";
|
|
221
|
+
|
|
222
|
+
export const generateMetadata = (): Metadata => {
|
|
223
|
+
const alternates = getMultilingualUrls("/", {
|
|
224
|
+
currentDomain: process.env.NEXT_PUBLIC_DOMAIN, // bijv. "intlayer.org"
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
return {
|
|
228
|
+
alternates: {
|
|
229
|
+
languages: alternates,
|
|
230
|
+
},
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Dit genereert:
|
|
236
|
+
|
|
237
|
+
```html
|
|
238
|
+
<link rel="alternate" hreflang="en" href="https://intlayer.org/" />
|
|
239
|
+
<link rel="alternate" hreflang="fr" href="https://intlayer.org/fr/" />
|
|
240
|
+
<link rel="alternate" hreflang="es" href="https://intlayer.org/es/" />
|
|
241
|
+
<link rel="alternate" hreflang="zh" href="https://intlayer.zh/" />
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Kern-utilities
|
|
245
|
+
|
|
246
|
+
| Utility | Beschrijving |
|
|
247
|
+
| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
248
|
+
| `getLocalizedUrl(url, locale, { currentDomain })` | Retourneert relatieve of absolute URL, afhankelijk van of de doel-locale op het huidige domein staat. |
|
|
249
|
+
| `getMultilingualUrls(url, { currentDomain })` | Retourneert een locale-keyed map van gelokaliseerde URL's, waarbij relatief en absoluut naar behoefte worden gemengd. |
|
|
250
|
+
| `getPrefix(locale, { domains })` | Retourneert een lege prefix voor exclusieve domeinlocales, anders de normale prefix. |
|