@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.
Files changed (172) hide show
  1. package/ar/autoFill.md +1 -2
  2. package/ar/intlayer_with_create_react_app.md +1 -14
  3. package/ar/intlayer_with_nextjs_14.md +1 -14
  4. package/ar/intlayer_with_nextjs_15.md +1 -14
  5. package/ar/intlayer_with_nextjs_page_router.md +1 -13
  6. package/ar/intlayer_with_nuxt.md +792 -0
  7. package/ar/intlayer_with_react_native+expo.md +6 -3
  8. package/ar/intlayer_with_vite+preact.md +7 -18
  9. package/ar/intlayer_with_vite+react.md +7 -17
  10. package/ar/intlayer_with_vite+vue.md +25 -5
  11. package/ar/packages/nuxt-intlayer/index.md +29 -0
  12. package/ar/roadmap.md +11 -11
  13. package/de/autoFill.md +1 -2
  14. package/de/how_works_intlayer.md +1 -1
  15. package/de/intlayer_with_create_react_app.md +1 -14
  16. package/de/intlayer_with_nextjs_14.md +1 -14
  17. package/de/intlayer_with_nextjs_15.md +1 -14
  18. package/de/intlayer_with_nextjs_page_router.md +1 -13
  19. package/de/intlayer_with_nuxt.md +791 -0
  20. package/de/intlayer_with_react_native+expo.md +6 -3
  21. package/de/intlayer_with_vite+preact.md +7 -18
  22. package/de/intlayer_with_vite+react.md +7 -17
  23. package/de/intlayer_with_vite+vue.md +84 -62
  24. package/de/packages/nuxt-intlayer/index.md +29 -0
  25. package/de/roadmap.md +11 -11
  26. package/en/autoFill.md +1 -2
  27. package/en/how_works_intlayer.md +17 -3
  28. package/en/intlayer_with_angular.md +535 -6
  29. package/en/intlayer_with_create_react_app.md +1 -14
  30. package/en/intlayer_with_nextjs_14.md +193 -59
  31. package/en/intlayer_with_nextjs_15.md +192 -61
  32. package/en/intlayer_with_nextjs_page_router.md +396 -61
  33. package/en/intlayer_with_nuxt.md +737 -0
  34. package/en/intlayer_with_react_native+expo.md +6 -3
  35. package/en/intlayer_with_vite+preact.md +8 -27
  36. package/en/intlayer_with_vite+react.md +7 -17
  37. package/en/intlayer_with_vite+solid.md +6 -3
  38. package/en/intlayer_with_vite+svelte.md +6 -3
  39. package/en/intlayer_with_vite+vue.md +17 -6
  40. package/en/packages/nuxt-intlayer/index.md +31 -0
  41. package/en/roadmap.md +13 -13
  42. package/en/t.md +5 -5
  43. package/en-GB/how_works_intlayer.md +16 -4
  44. package/en-GB/intlayer_with_create_react_app.md +1 -14
  45. package/en-GB/intlayer_with_nextjs_14.md +1 -14
  46. package/en-GB/intlayer_with_nextjs_15.md +1 -14
  47. package/en-GB/intlayer_with_nextjs_page_router.md +1 -13
  48. package/en-GB/intlayer_with_nuxt.md +795 -0
  49. package/en-GB/intlayer_with_react_native+expo.md +6 -3
  50. package/en-GB/intlayer_with_vite+preact.md +7 -18
  51. package/en-GB/intlayer_with_vite+react.md +6 -9
  52. package/en-GB/intlayer_with_vite+vue.md +65 -59
  53. package/en-GB/packages/nuxt-intlayer/index.md +31 -0
  54. package/en-GB/roadmap.md +11 -11
  55. package/es/autoFill.md +1 -2
  56. package/es/how_works_intlayer.md +1 -1
  57. package/es/intlayer_with_create_react_app.md +1 -14
  58. package/es/intlayer_with_nextjs_14.md +1 -14
  59. package/es/intlayer_with_nextjs_15.md +1 -14
  60. package/es/intlayer_with_nextjs_page_router.md +1 -13
  61. package/es/intlayer_with_nuxt.md +731 -0
  62. package/es/intlayer_with_react_native+expo.md +6 -3
  63. package/es/intlayer_with_vite+preact.md +7 -18
  64. package/es/intlayer_with_vite+react.md +7 -17
  65. package/es/intlayer_with_vite+vue.md +64 -51
  66. package/es/packages/nuxt-intlayer/index.md +29 -0
  67. package/fr/autoFill.md +1 -2
  68. package/fr/how_works_intlayer.md +1 -1
  69. package/fr/intlayer_with_create_react_app.md +1 -14
  70. package/fr/intlayer_with_nextjs_14.md +1 -14
  71. package/fr/intlayer_with_nextjs_15.md +1 -14
  72. package/fr/intlayer_with_nextjs_page_router.md +1 -13
  73. package/fr/intlayer_with_nuxt.md +731 -0
  74. package/fr/intlayer_with_react_native+expo.md +6 -3
  75. package/fr/intlayer_with_vite+preact.md +7 -18
  76. package/fr/intlayer_with_vite+react.md +7 -17
  77. package/fr/intlayer_with_vite+vue.md +30 -15
  78. package/fr/packages/nuxt-intlayer/index.md +29 -0
  79. package/fr/roadmap.md +11 -11
  80. package/hi/autoFill.md +1 -2
  81. package/hi/how_works_intlayer.md +1 -1
  82. package/hi/intlayer_with_create_react_app.md +1 -14
  83. package/hi/intlayer_with_nextjs_14.md +1 -14
  84. package/hi/intlayer_with_nextjs_15.md +1 -14
  85. package/hi/intlayer_with_nextjs_page_router.md +1 -13
  86. package/hi/intlayer_with_nuxt.md +784 -0
  87. package/hi/intlayer_with_react_native+expo.md +6 -3
  88. package/hi/intlayer_with_vite+preact.md +7 -18
  89. package/hi/intlayer_with_vite+react.md +7 -17
  90. package/hi/intlayer_with_vite+vue.md +59 -47
  91. package/hi/packages/nuxt-intlayer/index.md +29 -0
  92. package/hi/roadmap.md +11 -11
  93. package/index.cjs +30 -0
  94. package/index.d.ts +2 -0
  95. package/it/autoFill.md +1 -2
  96. package/it/how_works_intlayer.md +1 -1
  97. package/it/intlayer_with_create_react_app.md +0 -6
  98. package/it/intlayer_with_nextjs_14.md +1 -14
  99. package/it/intlayer_with_nextjs_15.md +1 -14
  100. package/it/intlayer_with_nextjs_page_router.md +1 -13
  101. package/it/intlayer_with_nuxt.md +793 -0
  102. package/it/intlayer_with_react_native+expo.md +6 -3
  103. package/it/intlayer_with_vite+preact.md +7 -18
  104. package/it/intlayer_with_vite+react.md +7 -17
  105. package/it/intlayer_with_vite+vue.md +26 -17
  106. package/it/packages/nuxt-intlayer/index.md +29 -0
  107. package/it/roadmap.md +11 -11
  108. package/ja/autoFill.md +1 -2
  109. package/ja/how_works_intlayer.md +1 -1
  110. package/ja/intlayer_with_create_react_app.md +1 -14
  111. package/ja/intlayer_with_nextjs_14.md +1 -14
  112. package/ja/intlayer_with_nextjs_15.md +1 -14
  113. package/ja/intlayer_with_nextjs_page_router.md +1 -13
  114. package/ja/intlayer_with_nuxt.md +792 -0
  115. package/ja/intlayer_with_react_native+expo.md +6 -3
  116. package/ja/intlayer_with_vite+preact.md +7 -18
  117. package/ja/intlayer_with_vite+react.md +7 -17
  118. package/ja/intlayer_with_vite+vue.md +68 -63
  119. package/ja/packages/nuxt-intlayer/index.md +29 -0
  120. package/ja/roadmap.md +11 -11
  121. package/ko/autoFill.md +1 -2
  122. package/ko/how_works_intlayer.md +1 -1
  123. package/ko/intlayer_with_create_react_app.md +1 -14
  124. package/ko/intlayer_with_nextjs_14.md +1 -14
  125. package/ko/intlayer_with_nextjs_15.md +1 -14
  126. package/ko/intlayer_with_nextjs_page_router.md +1 -13
  127. package/ko/intlayer_with_nuxt.md +784 -0
  128. package/ko/intlayer_with_react_native+expo.md +6 -3
  129. package/ko/intlayer_with_vite+preact.md +7 -18
  130. package/ko/intlayer_with_vite+react.md +7 -17
  131. package/ko/intlayer_with_vite+vue.md +69 -59
  132. package/ko/packages/nuxt-intlayer/index.md +31 -0
  133. package/ko/roadmap.md +11 -11
  134. package/package.json +4 -4
  135. package/pt/autoFill.md +1 -2
  136. package/pt/how_works_intlayer.md +1 -1
  137. package/pt/intlayer_with_create_react_app.md +1 -14
  138. package/pt/intlayer_with_nextjs_14.md +1 -14
  139. package/pt/intlayer_with_nextjs_15.md +1 -14
  140. package/pt/intlayer_with_nextjs_page_router.md +1 -13
  141. package/pt/intlayer_with_nuxt.md +792 -0
  142. package/pt/intlayer_with_react_native+expo.md +6 -3
  143. package/pt/intlayer_with_vite+preact.md +7 -18
  144. package/pt/intlayer_with_vite+react.md +7 -17
  145. package/pt/intlayer_with_vite+vue.md +23 -19
  146. package/pt/packages/nuxt-intlayer/index.md +29 -0
  147. package/pt/roadmap.md +11 -11
  148. package/ru/autoFill.md +1 -2
  149. package/ru/how_works_intlayer.md +1 -1
  150. package/ru/intlayer_with_create_react_app.md +1 -14
  151. package/ru/intlayer_with_nextjs_14.md +1 -14
  152. package/ru/intlayer_with_nextjs_15.md +1 -14
  153. package/ru/intlayer_with_nextjs_page_router.md +1 -13
  154. package/ru/intlayer_with_nuxt.md +792 -0
  155. package/ru/intlayer_with_react_native+expo.md +6 -3
  156. package/ru/intlayer_with_vite+preact.md +7 -18
  157. package/ru/intlayer_with_vite+react.md +7 -17
  158. package/ru/intlayer_with_vite+vue.md +25 -17
  159. package/ru/packages/nuxt-intlayer/index.md +31 -0
  160. package/ru/roadmap.md +11 -11
  161. package/zh/autoFill.md +1 -2
  162. package/zh/intlayer_with_create_react_app.md +1 -14
  163. package/zh/intlayer_with_nextjs_14.md +1 -14
  164. package/zh/intlayer_with_nextjs_15.md +1 -14
  165. package/zh/intlayer_with_nextjs_page_router.md +1 -13
  166. package/zh/intlayer_with_nuxt.md +784 -0
  167. package/zh/intlayer_with_react_native+expo.md +6 -3
  168. package/zh/intlayer_with_vite+preact.md +7 -18
  169. package/zh/intlayer_with_vite+react.md +7 -17
  170. package/zh/intlayer_with_vite+vue.md +68 -57
  171. package/zh/packages/nuxt-intlayer/index.md +31 -0
  172. 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 react-native-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 react-native-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 react-native-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 vite-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 two APIs to access your content:
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 any interactivity.
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
  ![visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.gif)
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
- In development mode, Intlayer uses a centralised static import for dictionaries to simplify the development experience.
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
- By optimising the build, Intlayer will replace all calls of dictionaries to optimise chunking. That way the final bundle will import only the dictionaries that are used.
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 (WIP)
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