@intlayer/docs 5.5.8 → 5.5.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/ar/autoFill.md +1 -2
- package/ar/intlayer_with_create_react_app.md +1 -14
- package/ar/intlayer_with_nextjs_14.md +1 -14
- package/ar/intlayer_with_nextjs_15.md +1 -14
- package/ar/intlayer_with_nextjs_page_router.md +1 -13
- package/ar/intlayer_with_nuxt.md +792 -0
- package/ar/intlayer_with_react_native+expo.md +6 -3
- package/ar/intlayer_with_vite+preact.md +7 -18
- package/ar/intlayer_with_vite+react.md +7 -17
- package/ar/intlayer_with_vite+vue.md +25 -5
- package/ar/packages/nuxt-intlayer/index.md +29 -0
- package/ar/roadmap.md +11 -11
- package/de/autoFill.md +1 -2
- package/de/how_works_intlayer.md +1 -1
- package/de/intlayer_with_create_react_app.md +1 -14
- package/de/intlayer_with_nextjs_14.md +1 -14
- package/de/intlayer_with_nextjs_15.md +1 -14
- package/de/intlayer_with_nextjs_page_router.md +1 -13
- package/de/intlayer_with_nuxt.md +791 -0
- package/de/intlayer_with_react_native+expo.md +6 -3
- package/de/intlayer_with_vite+preact.md +7 -18
- package/de/intlayer_with_vite+react.md +7 -17
- package/de/intlayer_with_vite+vue.md +84 -62
- package/de/packages/nuxt-intlayer/index.md +29 -0
- package/de/roadmap.md +11 -11
- package/en/autoFill.md +1 -2
- package/en/how_works_intlayer.md +17 -3
- package/en/intlayer_with_angular.md +535 -6
- package/en/intlayer_with_create_react_app.md +1 -14
- package/en/intlayer_with_nextjs_14.md +193 -59
- package/en/intlayer_with_nextjs_15.md +192 -61
- package/en/intlayer_with_nextjs_page_router.md +396 -61
- package/en/intlayer_with_nuxt.md +737 -0
- package/en/intlayer_with_react_native+expo.md +6 -3
- package/en/intlayer_with_vite+preact.md +8 -27
- package/en/intlayer_with_vite+react.md +7 -17
- package/en/intlayer_with_vite+solid.md +6 -3
- package/en/intlayer_with_vite+svelte.md +6 -3
- package/en/intlayer_with_vite+vue.md +17 -6
- package/en/packages/nuxt-intlayer/index.md +31 -0
- package/en/roadmap.md +13 -13
- package/en/t.md +5 -5
- package/en-GB/how_works_intlayer.md +16 -4
- package/en-GB/intlayer_with_create_react_app.md +1 -14
- package/en-GB/intlayer_with_nextjs_14.md +1 -14
- package/en-GB/intlayer_with_nextjs_15.md +1 -14
- package/en-GB/intlayer_with_nextjs_page_router.md +1 -13
- package/en-GB/intlayer_with_nuxt.md +795 -0
- package/en-GB/intlayer_with_react_native+expo.md +6 -3
- package/en-GB/intlayer_with_vite+preact.md +7 -18
- package/en-GB/intlayer_with_vite+react.md +6 -9
- package/en-GB/intlayer_with_vite+vue.md +65 -59
- package/en-GB/packages/nuxt-intlayer/index.md +31 -0
- package/en-GB/roadmap.md +11 -11
- package/es/autoFill.md +1 -2
- package/es/how_works_intlayer.md +1 -1
- package/es/intlayer_with_create_react_app.md +1 -14
- package/es/intlayer_with_nextjs_14.md +1 -14
- package/es/intlayer_with_nextjs_15.md +1 -14
- package/es/intlayer_with_nextjs_page_router.md +1 -13
- package/es/intlayer_with_nuxt.md +731 -0
- package/es/intlayer_with_react_native+expo.md +6 -3
- package/es/intlayer_with_vite+preact.md +7 -18
- package/es/intlayer_with_vite+react.md +7 -17
- package/es/intlayer_with_vite+vue.md +64 -51
- package/es/packages/nuxt-intlayer/index.md +29 -0
- package/fr/autoFill.md +1 -2
- package/fr/how_works_intlayer.md +1 -1
- package/fr/intlayer_with_create_react_app.md +1 -14
- package/fr/intlayer_with_nextjs_14.md +1 -14
- package/fr/intlayer_with_nextjs_15.md +1 -14
- package/fr/intlayer_with_nextjs_page_router.md +1 -13
- package/fr/intlayer_with_nuxt.md +731 -0
- package/fr/intlayer_with_react_native+expo.md +6 -3
- package/fr/intlayer_with_vite+preact.md +7 -18
- package/fr/intlayer_with_vite+react.md +7 -17
- package/fr/intlayer_with_vite+vue.md +30 -15
- package/fr/packages/nuxt-intlayer/index.md +29 -0
- package/fr/roadmap.md +11 -11
- package/hi/autoFill.md +1 -2
- package/hi/how_works_intlayer.md +1 -1
- package/hi/intlayer_with_create_react_app.md +1 -14
- package/hi/intlayer_with_nextjs_14.md +1 -14
- package/hi/intlayer_with_nextjs_15.md +1 -14
- package/hi/intlayer_with_nextjs_page_router.md +1 -13
- package/hi/intlayer_with_nuxt.md +784 -0
- package/hi/intlayer_with_react_native+expo.md +6 -3
- package/hi/intlayer_with_vite+preact.md +7 -18
- package/hi/intlayer_with_vite+react.md +7 -17
- package/hi/intlayer_with_vite+vue.md +59 -47
- package/hi/packages/nuxt-intlayer/index.md +29 -0
- package/hi/roadmap.md +11 -11
- package/index.cjs +30 -0
- package/index.d.ts +2 -0
- package/it/autoFill.md +1 -2
- package/it/how_works_intlayer.md +1 -1
- package/it/intlayer_with_create_react_app.md +0 -6
- package/it/intlayer_with_nextjs_14.md +1 -14
- package/it/intlayer_with_nextjs_15.md +1 -14
- package/it/intlayer_with_nextjs_page_router.md +1 -13
- package/it/intlayer_with_nuxt.md +793 -0
- package/it/intlayer_with_react_native+expo.md +6 -3
- package/it/intlayer_with_vite+preact.md +7 -18
- package/it/intlayer_with_vite+react.md +7 -17
- package/it/intlayer_with_vite+vue.md +26 -17
- package/it/packages/nuxt-intlayer/index.md +29 -0
- package/it/roadmap.md +11 -11
- package/ja/autoFill.md +1 -2
- package/ja/how_works_intlayer.md +1 -1
- package/ja/intlayer_with_create_react_app.md +1 -14
- package/ja/intlayer_with_nextjs_14.md +1 -14
- package/ja/intlayer_with_nextjs_15.md +1 -14
- package/ja/intlayer_with_nextjs_page_router.md +1 -13
- package/ja/intlayer_with_nuxt.md +792 -0
- package/ja/intlayer_with_react_native+expo.md +6 -3
- package/ja/intlayer_with_vite+preact.md +7 -18
- package/ja/intlayer_with_vite+react.md +7 -17
- package/ja/intlayer_with_vite+vue.md +68 -63
- package/ja/packages/nuxt-intlayer/index.md +29 -0
- package/ja/roadmap.md +11 -11
- package/ko/autoFill.md +1 -2
- package/ko/how_works_intlayer.md +1 -1
- package/ko/intlayer_with_create_react_app.md +1 -14
- package/ko/intlayer_with_nextjs_14.md +1 -14
- package/ko/intlayer_with_nextjs_15.md +1 -14
- package/ko/intlayer_with_nextjs_page_router.md +1 -13
- package/ko/intlayer_with_nuxt.md +784 -0
- package/ko/intlayer_with_react_native+expo.md +6 -3
- package/ko/intlayer_with_vite+preact.md +7 -18
- package/ko/intlayer_with_vite+react.md +7 -17
- package/ko/intlayer_with_vite+vue.md +69 -59
- package/ko/packages/nuxt-intlayer/index.md +31 -0
- package/ko/roadmap.md +11 -11
- package/package.json +4 -4
- package/pt/autoFill.md +1 -2
- package/pt/how_works_intlayer.md +1 -1
- package/pt/intlayer_with_create_react_app.md +1 -14
- package/pt/intlayer_with_nextjs_14.md +1 -14
- package/pt/intlayer_with_nextjs_15.md +1 -14
- package/pt/intlayer_with_nextjs_page_router.md +1 -13
- package/pt/intlayer_with_nuxt.md +792 -0
- package/pt/intlayer_with_react_native+expo.md +6 -3
- package/pt/intlayer_with_vite+preact.md +7 -18
- package/pt/intlayer_with_vite+react.md +7 -17
- package/pt/intlayer_with_vite+vue.md +23 -19
- package/pt/packages/nuxt-intlayer/index.md +29 -0
- package/pt/roadmap.md +11 -11
- package/ru/autoFill.md +1 -2
- package/ru/how_works_intlayer.md +1 -1
- package/ru/intlayer_with_create_react_app.md +1 -14
- package/ru/intlayer_with_nextjs_14.md +1 -14
- package/ru/intlayer_with_nextjs_15.md +1 -14
- package/ru/intlayer_with_nextjs_page_router.md +1 -13
- package/ru/intlayer_with_nuxt.md +792 -0
- package/ru/intlayer_with_react_native+expo.md +6 -3
- package/ru/intlayer_with_vite+preact.md +7 -18
- package/ru/intlayer_with_vite+react.md +7 -17
- package/ru/intlayer_with_vite+vue.md +25 -17
- package/ru/packages/nuxt-intlayer/index.md +31 -0
- package/ru/roadmap.md +11 -11
- package/zh/autoFill.md +1 -2
- package/zh/intlayer_with_create_react_app.md +1 -14
- package/zh/intlayer_with_nextjs_14.md +1 -14
- package/zh/intlayer_with_nextjs_15.md +1 -14
- package/zh/intlayer_with_nextjs_page_router.md +1 -13
- package/zh/intlayer_with_nuxt.md +784 -0
- package/zh/intlayer_with_react_native+expo.md +6 -3
- package/zh/intlayer_with_vite+preact.md +7 -18
- package/zh/intlayer_with_vite+react.md +7 -17
- package/zh/intlayer_with_vite+vue.md +68 -57
- package/zh/packages/nuxt-intlayer/index.md +31 -0
- package/zh/roadmap.md +11 -11
|
@@ -20,15 +20,18 @@ With Intlayer, you can:
|
|
|
20
20
|
From your React Native project, install the following packages:
|
|
21
21
|
|
|
22
22
|
```bash packageManager="npm"
|
|
23
|
-
npm install intlayer react-intlayer
|
|
23
|
+
npm install intlayer react-intlayer
|
|
24
|
+
npm install --save-dev react-native-intlayer
|
|
24
25
|
```
|
|
25
26
|
|
|
26
27
|
```bash packageManager="pnpm"
|
|
27
|
-
pnpm add intlayer react-intlayer
|
|
28
|
+
pnpm add intlayer react-intlayer
|
|
29
|
+
pnpm add --save-dev react-native-intlayer
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
```bash packageManager="yarn"
|
|
31
|
-
yarn add intlayer react-intlayer
|
|
33
|
+
yarn add intlayer react-intlayer
|
|
34
|
+
yarn add --save-dev react-native-intlayer
|
|
32
35
|
```
|
|
33
36
|
|
|
34
37
|
### Packages
|
|
@@ -24,15 +24,18 @@ With Intlayer, you can:
|
|
|
24
24
|
Install the necessary packages using npm:
|
|
25
25
|
|
|
26
26
|
```bash packageManager="npm"
|
|
27
|
-
npm install intlayer preact-intlayer
|
|
27
|
+
npm install intlayer preact-intlayer
|
|
28
|
+
npm install --save-dev vite-intlayer
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
```bash packageManager="pnpm"
|
|
31
|
-
pnpm add intlayer preact-intlayer
|
|
32
|
+
pnpm add intlayer preact-intlayer
|
|
33
|
+
pnpm add --save-dev vite-intlayer
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
```bash packageManager="yarn"
|
|
35
|
-
yarn add intlayer preact-intlayer
|
|
37
|
+
yarn add intlayer preact-intlayer
|
|
38
|
+
yarn add --save-dev vite-intlayer
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
- **intlayer**
|
|
@@ -505,13 +508,7 @@ module.exports = App;
|
|
|
505
508
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you must call the value of the function, like:
|
|
506
509
|
|
|
507
510
|
> ```jsx
|
|
508
|
-
>
|
|
509
|
-
> ```
|
|
510
|
-
|
|
511
511
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
512
|
-
|
|
513
|
-
> ```
|
|
514
|
-
>
|
|
515
512
|
> ```
|
|
516
513
|
|
|
517
514
|
> Note: In Preact, `className` is typically written as `class`.
|
|
@@ -1235,24 +1232,8 @@ module.exports = LocaleSwitcher;
|
|
|
1235
1232
|
```
|
|
1236
1233
|
|
|
1237
1234
|
> Documentation references:
|
|
1238
|
-
|
|
1239
|
-
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useLocale.md) (API is similar for `preact-intlayer`)
|
|
1240
|
-
|
|
1241
|
-
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocaleName.md)
|
|
1242
|
-
|
|
1243
|
-
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocalizedUrl.md)
|
|
1244
|
-
|
|
1245
|
-
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getHTMLTextDir.md)
|
|
1246
|
-
|
|
1247
|
-
> - [`hreflang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1248
|
-
|
|
1249
|
-
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1250
|
-
|
|
1251
|
-
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1252
|
-
|
|
1253
|
-
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1254
|
-
|
|
1255
|
-
> - [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)
|
|
1235
|
+
>
|
|
1236
|
+
> > - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useLocale.md) (API is similar for `preact-intlayer`)> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocaleName.md)> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocalizedUrl.md)> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getHTMLTextDir.md)> - [`hreflang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)> - [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)
|
|
1256
1237
|
|
|
1257
1238
|
Below is the updated **Step 9** with added explanations and refined code examples:
|
|
1258
1239
|
|
|
@@ -22,15 +22,18 @@ With Intlayer, you can:
|
|
|
22
22
|
Install the necessary packages using npm:
|
|
23
23
|
|
|
24
24
|
```bash packageManager="npm"
|
|
25
|
-
npm install intlayer react-intlayer
|
|
25
|
+
npm install intlayer react-intlayer
|
|
26
|
+
npm install --save-dev vite-intlayer
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
```bash packageManager="pnpm"
|
|
29
|
-
pnpm add intlayer react-intlayer
|
|
30
|
+
pnpm add intlayer react-intlayer
|
|
31
|
+
pnpm add --save-dev vite-intlayer
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
```bash packageManager="yarn"
|
|
33
|
-
yarn add intlayer react-intlayer
|
|
35
|
+
yarn add intlayer react-intlayer
|
|
36
|
+
yarn add --save-dev vite-intlayer
|
|
34
37
|
```
|
|
35
38
|
|
|
36
39
|
- **intlayer**
|
|
@@ -532,13 +535,7 @@ module.exports = App;
|
|
|
532
535
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you must call the value of the function, like:
|
|
533
536
|
|
|
534
537
|
> ```jsx
|
|
535
|
-
>
|
|
536
|
-
> ```
|
|
537
|
-
|
|
538
538
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
539
|
-
|
|
540
|
-
> ```
|
|
541
|
-
>
|
|
542
539
|
> ```
|
|
543
540
|
|
|
544
541
|
> To Learn more about the `useIntlayer` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useIntlayer.md).
|
|
@@ -1217,21 +1214,14 @@ const LocaleSwitcher = () => {
|
|
|
1217
1214
|
```
|
|
1218
1215
|
|
|
1219
1216
|
> Documentation references:
|
|
1220
|
-
|
|
1217
|
+
>
|
|
1221
1218
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useLocale.md)
|
|
1222
|
-
|
|
1223
1219
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocaleName.md)
|
|
1224
|
-
|
|
1225
1220
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocalizedUrl.md)
|
|
1226
|
-
|
|
1227
1221
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getHTMLTextDir.md)
|
|
1228
|
-
|
|
1229
1222
|
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1230
|
-
|
|
1231
1223
|
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1232
|
-
|
|
1233
1224
|
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1234
|
-
|
|
1235
1225
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1236
1226
|
|
|
1237
1227
|
Below is the updated **Step 9** with added explanations and refined code examples:
|
|
@@ -24,15 +24,18 @@ With Intlayer, you can:
|
|
|
24
24
|
Install the necessary packages using npm:
|
|
25
25
|
|
|
26
26
|
```bash packageManager="npm"
|
|
27
|
-
npm install intlayer solid-intlayer
|
|
27
|
+
npm install intlayer solid-intlayer
|
|
28
|
+
npm install --save-dev vite-intlayer
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
```bash packageManager="pnpm"
|
|
31
|
-
pnpm add intlayer solid-intlayer
|
|
32
|
+
pnpm add intlayer solid-intlayer
|
|
33
|
+
pnpm add --save-dev vite-intlayer
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
```bash packageManager="yarn"
|
|
35
|
-
yarn add intlayer solid-intlayer
|
|
37
|
+
yarn add intlayer solid-intlayer
|
|
38
|
+
yarn add --save-dev vite-intlayer
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
- **intlayer**
|
|
@@ -24,15 +24,18 @@ With Intlayer, you can:
|
|
|
24
24
|
Install the necessary packages using npm:
|
|
25
25
|
|
|
26
26
|
```bash packageManager="npm"
|
|
27
|
-
npm install intlayer svelte-intlayer
|
|
27
|
+
npm install intlayer svelte-intlayer
|
|
28
|
+
npm install --save-dev vite-intlayer
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
```bash packageManager="pnpm"
|
|
31
|
-
pnpm add intlayer svelte-intlayer
|
|
32
|
+
pnpm add intlayer svelte-intlayer
|
|
33
|
+
pnpm add --save-dev vite-intlayer
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
```bash packageManager="yarn"
|
|
35
|
-
yarn add intlayer svelte-intlayer
|
|
37
|
+
yarn add intlayer svelte-intlayer
|
|
38
|
+
yarn add --save-dev vite-intlayer
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
- **intlayer**
|
|
@@ -22,15 +22,18 @@ With Intlayer, you can:
|
|
|
22
22
|
Install the necessary packages using npm:
|
|
23
23
|
|
|
24
24
|
```bash packageManager="npm"
|
|
25
|
-
npm install intlayer vue-intlayer
|
|
25
|
+
npm install intlayer vue-intlayer
|
|
26
|
+
npm install --save-dev vite-intlayer
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
```bash packageManager="pnpm"
|
|
29
|
-
pnpm add intlayer vue-intlayer
|
|
30
|
+
pnpm add intlayer vue-intlayer
|
|
31
|
+
pnpm add --save-dev vite-intlayer
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
```bash packageManager="yarn"
|
|
33
|
-
yarn add intlayer vue-intlayer
|
|
35
|
+
yarn add intlayer vue-intlayer
|
|
36
|
+
yarn add --save-dev vite-intlayer
|
|
34
37
|
```
|
|
35
38
|
|
|
36
39
|
- **intlayer**
|
|
@@ -410,13 +413,21 @@ const countRef = ref(0);
|
|
|
410
413
|
|
|
411
414
|
#### Accessing Content in Intlayer
|
|
412
415
|
|
|
413
|
-
Intlayer offers
|
|
416
|
+
Intlayer offers different APIs to access your content:
|
|
414
417
|
|
|
415
418
|
- **Component-based syntax** (recommended):
|
|
416
|
-
Use the `<myContent />` syntax to render content as an Intlayer Node. This integrates seamlessly with the [Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_visual_editor.md) and [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_CMS.md).
|
|
419
|
+
Use the `<myContent />`, or `<Component :is="myContent" />` syntax to render content as an Intlayer Node. This integrates seamlessly with the [Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_visual_editor.md) and [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_CMS.md).
|
|
417
420
|
|
|
418
421
|
- **String-based syntax**:
|
|
419
|
-
Use `{{ myContent }}` to render the content as plain text, without
|
|
422
|
+
Use `{{ myContent }}` to render the content as plain text, without Visual Editor support.
|
|
423
|
+
|
|
424
|
+
- **Raw HTML syntax**:
|
|
425
|
+
Use `<div v-html="myContent" />` to render the content as raw HTML, without Visual Editor support.
|
|
426
|
+
|
|
427
|
+
- **Destructuration syntax**:
|
|
428
|
+
The `useIntlayer` composable returns an Proxy with the content. This proxy can be destructured to access the content while keeping the reactivity.
|
|
429
|
+
- Use `const content = useIntlayer("myContent");` And `{{ content.myContent }}` / `<content.myContent />`.
|
|
430
|
+
- Or use `const { myContent } = useIntlayer("myContent");` And `{{ myContent}}` / `<myContent/>` to destructure the content.
|
|
420
431
|
|
|
421
432
|
### (Optional) Step 6: Change the language of your content
|
|
422
433
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# nuxt-intlayer: NPM Package to internationalize (i18n) an Vue application
|
|
2
|
+
|
|
3
|
+
**Intlayer** is a suite of packages designed specifically for JavaScript developers. It is compatible with frameworks like Vue, Vue, and Express.js.
|
|
4
|
+
|
|
5
|
+
**The `nuxt-intlayer` package** allows you to internationalize your Vue application. It provides context providers and hooks for Vue internationalization.
|
|
6
|
+
|
|
7
|
+
## Why Internationalize Your Vue Application?
|
|
8
|
+
|
|
9
|
+
Internationalizing your Vue application is essential for serving a global audience effectively. It allows your application to deliver content and messages in the preferred language of each user. This capability enhances user experience and broadens your application's reach by making it more accessible and relevant to people from different linguistic backgrounds.
|
|
10
|
+
|
|
11
|
+
## Why to integrate Intlayer?
|
|
12
|
+
|
|
13
|
+
- **JavaScript-Powered Content Management**: Harness the flexibility of JavaScript to define and manage your content efficiently.
|
|
14
|
+
- **Type-Safe Environment**: Leverage TypeScript to ensure all your content definitions are precise and error-free.
|
|
15
|
+
- **Integrated Content Files**: Keep your translations close to their respective components, enhancing maintainability and clarity.
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
Install the necessary package using your preferred package manager:
|
|
20
|
+
|
|
21
|
+
```bash packageManager="npm"
|
|
22
|
+
npm install nuxt-intlayer
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```bash packageManager="yarn"
|
|
26
|
+
yarn add nuxt-intlayer
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```bash packageManager="pnpm"
|
|
30
|
+
pnpm add nuxt-intlayer
|
|
31
|
+
```
|
package/en/roadmap.md
CHANGED
|
@@ -14,7 +14,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
14
14
|
- **Distributed**: Alternatively, split your content into separate files at the component or feature level for better maintainability. This keeps your content close to the relevant code (components, tests, Storybook, etc.). Removing a component ensures any associated content is also removed, preventing leftover data from cluttering your codebase.
|
|
15
15
|
|
|
16
16
|
> Resources:
|
|
17
|
-
|
|
17
|
+
>
|
|
18
18
|
> - [Content Declaration](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/get_started.md)
|
|
19
19
|
|
|
20
20
|
### 2. Internationalization
|
|
@@ -23,7 +23,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
23
23
|
- Easily manage translations for all these locales from one place.
|
|
24
24
|
|
|
25
25
|
> Resources:
|
|
26
|
-
|
|
26
|
+
>
|
|
27
27
|
> - [Internationalization](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/translation.md)
|
|
28
28
|
|
|
29
29
|
### 3. Markdown Support
|
|
@@ -32,7 +32,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
32
32
|
- Ideal for blog posts, articles, documentation pages, or any scenario where rich text formatting is needed.
|
|
33
33
|
|
|
34
34
|
> Resources:
|
|
35
|
-
|
|
35
|
+
>
|
|
36
36
|
> - [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/markdown.md)
|
|
37
37
|
|
|
38
38
|
### 4. External file support
|
|
@@ -43,7 +43,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
43
43
|
- Enables multilingual content management by linking language-specific Markdown files dynamically.
|
|
44
44
|
|
|
45
45
|
> Resources:
|
|
46
|
-
|
|
46
|
+
>
|
|
47
47
|
> - [File Content Embedding](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/file.md)
|
|
48
48
|
|
|
49
49
|
### 5. Dynamic Content & Function Fetching
|
|
@@ -132,7 +132,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
132
132
|
- Fully compatible with the new Next.js Turbopack as well as traditional Webpack.
|
|
133
133
|
|
|
134
134
|
> Resources:
|
|
135
|
-
|
|
135
|
+
>
|
|
136
136
|
> - [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_nextjs_15.md)
|
|
137
137
|
|
|
138
138
|
### 2. Vite
|
|
@@ -140,7 +140,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
140
140
|
- Similar to Next.js, you can integrate Intlayer with Vite and use a **middleware** to redirect users to content based on their preferred language.
|
|
141
141
|
|
|
142
142
|
> Resources:
|
|
143
|
-
|
|
143
|
+
>
|
|
144
144
|
> - [Vite](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_vite+react.md)
|
|
145
145
|
|
|
146
146
|
### 3. Express
|
|
@@ -149,7 +149,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
149
149
|
- Personalize emails, error messages, push notifications, and more with localized text.
|
|
150
150
|
|
|
151
151
|
> Resources:
|
|
152
|
-
|
|
152
|
+
>
|
|
153
153
|
> - [Express](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_express.md)
|
|
154
154
|
|
|
155
155
|
### 4. React Native
|
|
@@ -158,7 +158,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
158
158
|
- Supports both iOS and Android platforms.
|
|
159
159
|
|
|
160
160
|
> Resources:
|
|
161
|
-
|
|
161
|
+
>
|
|
162
162
|
> - [React Native](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_react_native.md)
|
|
163
163
|
|
|
164
164
|
### 5. Lynx
|
|
@@ -167,7 +167,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
167
167
|
- Supports both iOS and Android platforms.
|
|
168
168
|
|
|
169
169
|
> Resources:
|
|
170
|
-
|
|
170
|
+
>
|
|
171
171
|
> - [Lynx](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_lynx.md)
|
|
172
172
|
|
|
173
173
|
---
|
|
@@ -184,7 +184,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
184
184
|
- Can be hosted locally or deployed on a remote server.
|
|
185
185
|
|
|
186
186
|
> Resources:
|
|
187
|
-
|
|
187
|
+
>
|
|
188
188
|
> - [Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_visual_editor.md)
|
|
189
189
|
|
|
190
190
|
### 2. Intlayer CMS (Remote)
|
|
@@ -194,7 +194,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
194
194
|
- Interact with your content via your live application interface.
|
|
195
195
|
|
|
196
196
|
> Resources:
|
|
197
|
-
|
|
197
|
+
>
|
|
198
198
|
> - [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_CMS.md)
|
|
199
199
|
|
|
200
200
|
---
|
|
@@ -206,7 +206,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
206
206
|
- Useful for **CI/CD pipelines**, ensuring your content is always synchronized with your code.
|
|
207
207
|
|
|
208
208
|
> Resources:
|
|
209
|
-
|
|
209
|
+
>
|
|
210
210
|
> - [CLI](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_cli.md)
|
|
211
211
|
|
|
212
212
|
---
|
|
@@ -223,7 +223,7 @@ Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring co
|
|
|
223
223
|
- When using remote dictionaries and the Intlayer CMS, you can **update your application’s content on the fly**, without needing to redeploy.
|
|
224
224
|
|
|
225
225
|
> Resources:
|
|
226
|
-
|
|
226
|
+
>
|
|
227
227
|
> - [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_CMS.md)
|
|
228
228
|
|
|
229
229
|
---
|
package/en/t.md
CHANGED
|
@@ -14,7 +14,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
14
14
|
- **Distributed**: Alternatively, split your content into separate files at the component or feature level for better maintainability. This keeps your content close to the relevant code (components, tests, Storybook, etc.). Removing a component ensures any associated content is also removed, preventing leftover data from cluttering your codebase.
|
|
15
15
|
|
|
16
16
|
> Resources:
|
|
17
|
-
|
|
17
|
+
>
|
|
18
18
|
> - [Content Declaration](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/get_started.md)
|
|
19
19
|
|
|
20
20
|
### 2. Internationalization
|
|
@@ -23,7 +23,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
23
23
|
- Easily manage translations for all these locales from one place.
|
|
24
24
|
|
|
25
25
|
> Resources:
|
|
26
|
-
|
|
26
|
+
>
|
|
27
27
|
> - [Internationalization](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/translation.md)
|
|
28
28
|
|
|
29
29
|
### 3. Markdown Support
|
|
@@ -32,7 +32,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
32
32
|
- Ideal for blog posts, articles, documentation pages, or any scenario where rich text formatting is needed.
|
|
33
33
|
|
|
34
34
|
> Resources:
|
|
35
|
-
|
|
35
|
+
>
|
|
36
36
|
> - [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/markdown.md)
|
|
37
37
|
|
|
38
38
|
### 4. External file support
|
|
@@ -43,7 +43,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
43
43
|
- Enables multilingual content management by linking language-specific Markdown files dynamically.
|
|
44
44
|
|
|
45
45
|
> Resources:
|
|
46
|
-
|
|
46
|
+
>
|
|
47
47
|
> - [File Content Embedding](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/file.md)
|
|
48
48
|
|
|
49
49
|
### 5. Dynamic Content & Logic-Based Rendering
|
|
@@ -157,7 +157,7 @@ This section ensures all related dynamic content and logic-driven features are g
|
|
|
157
157
|
Intlayer supports **TypeScript** (also JavaScript) and **JSON** for declaring content.
|
|
158
158
|
|
|
159
159
|
> Resources:
|
|
160
|
-
|
|
160
|
+
>
|
|
161
161
|
> - [Content Declaration Formats](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/content_extention_customization.md)
|
|
162
162
|
|
|
163
163
|
(Other sections remain unchanged.)
|
|
@@ -67,21 +67,29 @@ Intlayer allows you to declare content locally, and then export it to the CMS to
|
|
|
67
67
|
|
|
68
68
|
Thus, you will be able to push and pull content from the CMS to your application, in a similar way to what you do with Git for your code.
|
|
69
69
|
|
|
70
|
-
If configured on your project, Intlayer will automatically manage the fetching of the content from the CMS when the application starts (dev) / builds (prod).
|
|
70
|
+
For externalized dictionaries using the CMS, Intlayer performs a basic fetch operation to retrieve distant dictionaries and merges them with your local ones. If configured on your project, Intlayer will automatically manage the fetching of the content from the CMS when the application starts (dev) / builds (prod).
|
|
71
71
|
|
|
72
72
|
## Visual editor
|
|
73
73
|
|
|
74
74
|
Intlayer also provides a visual editor to allow you to edit your content in a visual way. This [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/intlayer_visual_editor.md) is available in the external `intlayer-editor` package.
|
|
75
75
|
|
|
76
|
+
The visual editor is a standalone application that can be used to edit your content. It's composed on two parts: the server and the client.
|
|
77
|
+
|
|
76
78
|

|
|
77
79
|
|
|
80
|
+
- The server is a simple Express application that listens to requests from the client and retreives the content of your application, such as the `dictionaries` and the configuration to make it accessible on the client side.
|
|
81
|
+
- On the other hand, the client is a React application that is used to interact with your content using a visual interface.
|
|
82
|
+
|
|
83
|
+
When you call your content using `useIntlayer` and the editor is enabled, it automatically wraps your strings with an Proxy object named `IntlayerNode`. This node uses `window.sendMessage` to communicate with a wrapped iframe containing the visual editor interface.
|
|
84
|
+
On the editor side, the editor listens to these messages and simulates real interaction with your content, allowing you to edit text directly in your application's context.
|
|
85
|
+
|
|
78
86
|
## App build optimisation
|
|
79
87
|
|
|
80
88
|
To optimise the bundle size of your application, Intlayer provides two plugins to optimise the build of your application: `@intlayer/babel` and `@intlayer/swc` plugins.
|
|
81
89
|
|
|
82
|
-
|
|
90
|
+
The Babel and SWC plugins work by analyzing your application's Abstract Syntax Tree (AST) to replace calls of Intlayer functions with optimized code. This process makes your final bundle lighter in production by ensuring that only the dictionaries that are actually used are imported, optimizing chunking and reducing bundle size.
|
|
83
91
|
|
|
84
|
-
|
|
92
|
+
In development mode, Intlayer uses a centralised static import for dictionaries to simplify the development experience.
|
|
85
93
|
|
|
86
94
|
By activating the option `activateDynamicImport` in the [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/configuration.md), Intlayer will use the dynamic import to load the dictionaries. This option is disabled by default to avoid asynchronous processing when rendering the application.
|
|
87
95
|
|
|
@@ -176,6 +184,10 @@ The `@intlayer/webpack` package is used to provide a Webpack configuration to ma
|
|
|
176
184
|
|
|
177
185
|
The `@intlayer/cli` package is an NPM package that is used to declare the scripts related to the Intlayer command line interfaces. It ensures the uniformity of all Intlayer CLI commands. This package is notably consumed by the [intlayer-cli](https://github.com/aymericzip/intlayer/tree/main/docs/en-GB/packages/intlayer-cli/index.md), and the [intlayer](https://github.com/aymericzip/intlayer/tree/main/docs/en-GB/packages/intlayer/index.md) packages.
|
|
178
186
|
|
|
187
|
+
### @intlayer/mcp
|
|
188
|
+
|
|
189
|
+
The `@intlayer/mcp` package provides an MCP (Model Context Protocol) server that delivers AI-powered IDE assistance tailored for the Intlayer ecosystem. It automatically loads documentation and integrates with the Intlayer CLI.
|
|
190
|
+
|
|
179
191
|
### @intlayer/dictionaries-entry & @intlayer/unmerged-dictionaries-entry & @intlayer/dynamic-dictionaries-entry
|
|
180
192
|
|
|
181
193
|
The `@intlayer/dictionaries-entry`, `@intlayer/unmerged-dictionaries-entry` and `@intlayer/dynamic-dictionaries-entry` packages return the entry path of the Intlayer dictionaries. Since searching the filesystem from the browser is impossible, using bundlers like Webpack or Rollup to retrieve the entry path of the dictionaries is not possible. These packages are designed to be aliased, allowing for bundling optimisation across various bundlers such as Vite, Webpack, and Turbopack.
|
|
@@ -196,7 +208,7 @@ The `@intlayer/editor-react` package provides states, contexts, hooks and compon
|
|
|
196
208
|
|
|
197
209
|
The `@intlayer/babel` package provides tools that optimise bundling of dictionaries for Vite and Webpack-based applications.
|
|
198
210
|
|
|
199
|
-
### @intlayer/swc
|
|
211
|
+
### @intlayer/swc
|
|
200
212
|
|
|
201
213
|
The `@intlayer/swc` package provides tools that optimise bundling of dictionaries for Next.js applications.
|
|
202
214
|
|
|
@@ -325,13 +325,7 @@ const App = () => (
|
|
|
325
325
|
> Note: If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you must call the value of the function, like:
|
|
326
326
|
|
|
327
327
|
> ```jsx
|
|
328
|
-
>
|
|
329
|
-
> ```
|
|
330
|
-
|
|
331
328
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
332
|
-
|
|
333
|
-
> ```
|
|
334
|
-
>
|
|
335
329
|
> ```
|
|
336
330
|
|
|
337
331
|
> To Learn more about the `useIntlayer` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/react-intlayer/useIntlayer.md).
|
|
@@ -973,21 +967,14 @@ const LocaleSwitcher = () => {
|
|
|
973
967
|
```
|
|
974
968
|
|
|
975
969
|
> Documentation references:
|
|
976
|
-
|
|
970
|
+
>
|
|
977
971
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/react-intlayer/useLocale.md)
|
|
978
|
-
|
|
979
972
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocaleName.md)
|
|
980
|
-
|
|
981
973
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocalizedUrl.md)
|
|
982
|
-
|
|
983
974
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getHTMLTextDir.md)
|
|
984
|
-
|
|
985
975
|
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
986
|
-
|
|
987
976
|
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
988
|
-
|
|
989
977
|
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
990
|
-
|
|
991
978
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
992
979
|
|
|
993
980
|
### (Optional) Step 9: Switch the HTML Language and Direction Attributes
|
|
@@ -568,13 +568,7 @@ const ServerComponentExample = () => {
|
|
|
568
568
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you must call the value of the function, like:
|
|
569
569
|
|
|
570
570
|
> ```jsx
|
|
571
|
-
>
|
|
572
|
-
> ```
|
|
573
|
-
|
|
574
571
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
575
|
-
|
|
576
|
-
> ```
|
|
577
|
-
>
|
|
578
572
|
> ```
|
|
579
573
|
|
|
580
574
|
> To Learn more about the `useIntlayer` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/next-intlayer/useIntlayer.md).
|
|
@@ -1051,21 +1045,14 @@ const LocaleSwitcher = () => {
|
|
|
1051
1045
|
```
|
|
1052
1046
|
|
|
1053
1047
|
> Documentation references:
|
|
1054
|
-
|
|
1048
|
+
>
|
|
1055
1049
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/next-intlayer/useLocale.md)
|
|
1056
|
-
|
|
1057
1050
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocaleName.md)
|
|
1058
|
-
|
|
1059
1051
|
> - [`getLocalisedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocalisedUrl.md)
|
|
1060
|
-
|
|
1061
1052
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getHTMLTextDir.md)
|
|
1062
|
-
|
|
1063
1053
|
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localised-versions?hl=fr)
|
|
1064
|
-
|
|
1065
1054
|
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1066
|
-
|
|
1067
1055
|
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1068
|
-
|
|
1069
1056
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1070
1057
|
|
|
1071
1058
|
### (Optional) Step 11: Creating a Localised Link Component
|
|
@@ -582,13 +582,7 @@ const ServerComponentExample = () => {
|
|
|
582
582
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you must call the value of the function, like:
|
|
583
583
|
|
|
584
584
|
> ```jsx
|
|
585
|
-
>
|
|
586
|
-
> ```
|
|
587
|
-
|
|
588
585
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
589
|
-
|
|
590
|
-
> ```
|
|
591
|
-
>
|
|
592
586
|
> ```
|
|
593
587
|
|
|
594
588
|
> To Learn more about the `useIntlayer` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/next-intlayer/useIntlayer.md).
|
|
@@ -1097,21 +1091,14 @@ export const LocaleSwitcher = () => {
|
|
|
1097
1091
|
```
|
|
1098
1092
|
|
|
1099
1093
|
> Documentation references:
|
|
1100
|
-
|
|
1094
|
+
>
|
|
1101
1095
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/next-intlayer/useLocale.md)
|
|
1102
|
-
|
|
1103
1096
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocaleName.md)
|
|
1104
|
-
|
|
1105
1097
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocalizedUrl.md)
|
|
1106
|
-
|
|
1107
1098
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getHTMLTextDir.md)
|
|
1108
|
-
|
|
1109
1099
|
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localised-versions?hl=fr)
|
|
1110
|
-
|
|
1111
1100
|
> - [`lang` attribute](https://developer.mozilla.org/en-GB/docs/Web/HTML/Global_attributes/lang)
|
|
1112
|
-
|
|
1113
1101
|
> - [`dir` attribute](https://developer.mozilla.org/en-GB/docs/Web/HTML/Global_attributes/dir)
|
|
1114
|
-
|
|
1115
1102
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-GB/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1116
1103
|
|
|
1117
1104
|
### (Optional) Step 11: Creating a Localised Link Component
|
|
@@ -529,13 +529,7 @@ const ComponentExample = () => {
|
|
|
529
529
|
> value of the function as follows:
|
|
530
530
|
|
|
531
531
|
> ```jsx
|
|
532
|
-
>
|
|
533
|
-
> ```
|
|
534
|
-
|
|
535
532
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
536
|
-
|
|
537
|
-
> ```
|
|
538
|
-
>
|
|
539
533
|
> ```
|
|
540
534
|
|
|
541
535
|
> To Learn more about the `useIntlayer` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/next-intlayer/useIntlayer.md).
|
|
@@ -865,19 +859,13 @@ const LocaleSwitcher = () => {
|
|
|
865
859
|
> The `useLocalePageRouter` API is the same as `useLocale`. To Learn more about the `useLocale` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/next-intlayer/useLocale.md).
|
|
866
860
|
|
|
867
861
|
> Documentation references:
|
|
868
|
-
|
|
862
|
+
>
|
|
869
863
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocaleName.md)
|
|
870
|
-
|
|
871
864
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocalizedUrl.md)
|
|
872
|
-
|
|
873
865
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getHTMLTextDir.md)
|
|
874
|
-
|
|
875
866
|
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
876
|
-
|
|
877
867
|
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
878
|
-
|
|
879
868
|
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
880
|
-
|
|
881
869
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
882
870
|
|
|
883
871
|
### (Optional) Step 10: Creating a Localised Link Component
|