@intlayer/docs 5.5.11 → 5.5.12

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 (313) hide show
  1. package/blog/ar/intlayer_with_next-intl.md +0 -1
  2. package/blog/ar/list_i18n_technologies/CMS/wordpress.md +1 -1
  3. package/blog/ar/list_i18n_technologies/frameworks/angular.md +1 -1
  4. package/blog/ar/list_i18n_technologies/frameworks/flutter.md +1 -1
  5. package/blog/ar/list_i18n_technologies/frameworks/react-native.md +1 -1
  6. package/blog/ar/list_i18n_technologies/frameworks/react.md +1 -1
  7. package/blog/ar/list_i18n_technologies/frameworks/svelte.md +1 -1
  8. package/blog/ar/list_i18n_technologies/frameworks/vue.md +1 -1
  9. package/blog/ar/what_is_internationalization.md +2 -2
  10. package/blog/de/intlayer_with_next-intl.md +0 -1
  11. package/blog/de/list_i18n_technologies/CMS/wordpress.md +1 -1
  12. package/blog/de/list_i18n_technologies/frameworks/angular.md +1 -1
  13. package/blog/de/list_i18n_technologies/frameworks/flutter.md +1 -1
  14. package/blog/de/list_i18n_technologies/frameworks/react-native.md +1 -1
  15. package/blog/de/list_i18n_technologies/frameworks/react.md +1 -1
  16. package/blog/de/list_i18n_technologies/frameworks/svelte.md +1 -1
  17. package/blog/de/list_i18n_technologies/frameworks/vue.md +1 -1
  18. package/blog/de/what_is_internationalization.md +2 -2
  19. package/blog/en/intlayer_with_next-intl.md +0 -1
  20. package/blog/en/list_i18n_technologies/CMS/wordpress.md +1 -1
  21. package/blog/en/list_i18n_technologies/frameworks/angular.md +1 -1
  22. package/blog/en/list_i18n_technologies/frameworks/flutter.md +1 -1
  23. package/blog/en/list_i18n_technologies/frameworks/react-native.md +1 -1
  24. package/blog/en/list_i18n_technologies/frameworks/react.md +1 -1
  25. package/blog/en/list_i18n_technologies/frameworks/svelte.md +1 -1
  26. package/blog/en/list_i18n_technologies/frameworks/vue.md +1 -1
  27. package/blog/en/what_is_internationalization.md +2 -2
  28. package/blog/en-GB/intlayer_with_next-intl.md +0 -1
  29. package/blog/en-GB/list_i18n_technologies/CMS/wordpress.md +1 -1
  30. package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +1 -1
  31. package/blog/en-GB/list_i18n_technologies/frameworks/flutter.md +1 -1
  32. package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +1 -1
  33. package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +1 -1
  34. package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +1 -1
  35. package/blog/en-GB/what_is_internationalization.md +2 -2
  36. package/blog/es/intlayer_with_next-intl.md +0 -1
  37. package/blog/es/list_i18n_technologies/CMS/wordpress.md +1 -1
  38. package/blog/es/list_i18n_technologies/frameworks/angular.md +1 -1
  39. package/blog/es/list_i18n_technologies/frameworks/flutter.md +1 -1
  40. package/blog/es/list_i18n_technologies/frameworks/react-native.md +1 -1
  41. package/blog/es/list_i18n_technologies/frameworks/react.md +1 -1
  42. package/blog/es/list_i18n_technologies/frameworks/svelte.md +1 -1
  43. package/blog/es/list_i18n_technologies/frameworks/vue.md +1 -1
  44. package/blog/es/what_is_internationalization.md +2 -2
  45. package/blog/fr/intlayer_with_next-intl.md +0 -1
  46. package/blog/fr/list_i18n_technologies/CMS/wordpress.md +1 -1
  47. package/blog/fr/list_i18n_technologies/frameworks/angular.md +1 -1
  48. package/blog/fr/list_i18n_technologies/frameworks/flutter.md +1 -1
  49. package/blog/fr/list_i18n_technologies/frameworks/react-native.md +1 -1
  50. package/blog/fr/list_i18n_technologies/frameworks/react.md +1 -1
  51. package/blog/fr/list_i18n_technologies/frameworks/svelte.md +1 -1
  52. package/blog/fr/list_i18n_technologies/frameworks/vue.md +1 -1
  53. package/blog/fr/what_is_internationalization.md +2 -2
  54. package/blog/hi/list_i18n_technologies/CMS/wordpress.md +1 -1
  55. package/blog/hi/list_i18n_technologies/frameworks/angular.md +1 -1
  56. package/blog/hi/list_i18n_technologies/frameworks/flutter.md +1 -1
  57. package/blog/hi/list_i18n_technologies/frameworks/react-native.md +1 -1
  58. package/blog/hi/list_i18n_technologies/frameworks/react.md +1 -1
  59. package/blog/hi/list_i18n_technologies/frameworks/svelte.md +1 -1
  60. package/blog/hi/list_i18n_technologies/frameworks/vue.md +1 -1
  61. package/blog/hi/what_is_internationalization.md +2 -2
  62. package/blog/it/intlayer_with_next-intl.md +0 -1
  63. package/blog/it/list_i18n_technologies/CMS/wordpress.md +1 -1
  64. package/blog/it/list_i18n_technologies/frameworks/angular.md +1 -1
  65. package/blog/it/list_i18n_technologies/frameworks/react-native.md +1 -1
  66. package/blog/it/list_i18n_technologies/frameworks/react.md +1 -1
  67. package/blog/it/list_i18n_technologies/frameworks/svelte.md +1 -1
  68. package/blog/it/list_i18n_technologies/frameworks/vue.md +1 -1
  69. package/blog/it/what_is_internationalization.md +2 -2
  70. package/blog/ja/intlayer_with_next-intl.md +0 -1
  71. package/blog/ja/list_i18n_technologies/CMS/wordpress.md +1 -1
  72. package/blog/ja/list_i18n_technologies/frameworks/angular.md +1 -1
  73. package/blog/ja/list_i18n_technologies/frameworks/flutter.md +1 -1
  74. package/blog/ja/list_i18n_technologies/frameworks/react-native.md +1 -1
  75. package/blog/ja/list_i18n_technologies/frameworks/react.md +1 -1
  76. package/blog/ja/list_i18n_technologies/frameworks/svelte.md +1 -1
  77. package/blog/ja/list_i18n_technologies/frameworks/vue.md +1 -1
  78. package/blog/ja/what_is_internationalization.md +2 -2
  79. package/blog/ko/intlayer_with_next-intl.md +0 -1
  80. package/blog/ko/list_i18n_technologies/CMS/wordpress.md +1 -1
  81. package/blog/ko/list_i18n_technologies/frameworks/angular.md +1 -1
  82. package/blog/ko/list_i18n_technologies/frameworks/react-native.md +1 -1
  83. package/blog/ko/list_i18n_technologies/frameworks/react.md +1 -1
  84. package/blog/ko/list_i18n_technologies/frameworks/vue.md +1 -1
  85. package/blog/pt/intlayer_with_next-intl.md +0 -1
  86. package/blog/pt/list_i18n_technologies/CMS/wordpress.md +1 -1
  87. package/blog/pt/list_i18n_technologies/frameworks/angular.md +1 -1
  88. package/blog/pt/list_i18n_technologies/frameworks/flutter.md +1 -1
  89. package/blog/pt/list_i18n_technologies/frameworks/react-native.md +1 -1
  90. package/blog/pt/list_i18n_technologies/frameworks/react.md +1 -1
  91. package/blog/pt/list_i18n_technologies/frameworks/svelte.md +1 -1
  92. package/blog/pt/list_i18n_technologies/frameworks/vue.md +1 -1
  93. package/blog/pt/what_is_internationalization.md +2 -2
  94. package/blog/ru/intlayer_with_next-intl.md +0 -1
  95. package/blog/ru/list_i18n_technologies/CMS/wordpress.md +1 -1
  96. package/blog/ru/list_i18n_technologies/frameworks/angular.md +1 -1
  97. package/blog/ru/list_i18n_technologies/frameworks/flutter.md +1 -1
  98. package/blog/ru/list_i18n_technologies/frameworks/react-native.md +1 -1
  99. package/blog/ru/list_i18n_technologies/frameworks/react.md +1 -1
  100. package/blog/ru/list_i18n_technologies/frameworks/svelte.md +1 -1
  101. package/blog/ru/list_i18n_technologies/frameworks/vue.md +1 -1
  102. package/blog/ru/what_is_internationalization.md +2 -2
  103. package/blog/zh/intlayer_with_next-intl.md +0 -1
  104. package/blog/zh/list_i18n_technologies/CMS/wordpress.md +1 -1
  105. package/blog/zh/list_i18n_technologies/frameworks/angular.md +1 -1
  106. package/blog/zh/list_i18n_technologies/frameworks/flutter.md +1 -1
  107. package/blog/zh/list_i18n_technologies/frameworks/react-native.md +1 -1
  108. package/blog/zh/list_i18n_technologies/frameworks/react.md +1 -1
  109. package/blog/zh/list_i18n_technologies/frameworks/svelte.md +1 -1
  110. package/blog/zh/list_i18n_technologies/frameworks/vue.md +1 -1
  111. package/blog/zh/what_is_internationalization.md +2 -2
  112. package/dist/cjs/blog.cjs +2 -2
  113. package/dist/cjs/blog.cjs.map +1 -1
  114. package/dist/cjs/common.cjs +17 -6
  115. package/dist/cjs/common.cjs.map +1 -1
  116. package/dist/cjs/doc.cjs +2 -2
  117. package/dist/cjs/doc.cjs.map +1 -1
  118. package/dist/cjs/frequentQuestions.cjs +2 -2
  119. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  120. package/dist/cjs/generated/blog.entry.cjs +1152 -252
  121. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  122. package/dist/cjs/generated/docs.entry.cjs +3778 -1124
  123. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  124. package/dist/cjs/generated/frequentQuestions.entry.cjs +794 -161
  125. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  126. package/dist/cjs/generated/legal.entry.cjs +32 -31
  127. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  128. package/dist/cjs/legal.cjs +2 -2
  129. package/dist/cjs/legal.cjs.map +1 -1
  130. package/dist/esm/blog.mjs +2 -2
  131. package/dist/esm/blog.mjs.map +1 -1
  132. package/dist/esm/common.mjs +17 -6
  133. package/dist/esm/common.mjs.map +1 -1
  134. package/dist/esm/doc.mjs +2 -2
  135. package/dist/esm/doc.mjs.map +1 -1
  136. package/dist/esm/frequentQuestions.mjs +2 -2
  137. package/dist/esm/frequentQuestions.mjs.map +1 -1
  138. package/dist/esm/generated/blog.entry.mjs +1151 -252
  139. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  140. package/dist/esm/generated/docs.entry.mjs +3777 -1124
  141. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  142. package/dist/esm/generated/frequentQuestions.entry.mjs +793 -161
  143. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  144. package/dist/esm/generated/legal.entry.mjs +31 -31
  145. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  146. package/dist/esm/legal.mjs +2 -2
  147. package/dist/esm/legal.mjs.map +1 -1
  148. package/dist/types/blog.d.ts +2 -2
  149. package/dist/types/blog.d.ts.map +1 -1
  150. package/dist/types/common.d.ts +3 -2
  151. package/dist/types/common.d.ts.map +1 -1
  152. package/dist/types/doc.d.ts +2 -2
  153. package/dist/types/doc.d.ts.map +1 -1
  154. package/dist/types/frequentQuestions.d.ts +2 -2
  155. package/dist/types/frequentQuestions.d.ts.map +1 -1
  156. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  157. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  158. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
  159. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  160. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  161. package/dist/types/legal.d.ts +2 -2
  162. package/dist/types/legal.d.ts.map +1 -1
  163. package/docs/ar/intlayer_with_vite+react.md +100 -108
  164. package/docs/de/intlayer_with_vite+react.md +121 -142
  165. package/docs/en/CI_CD.md +3 -1
  166. package/docs/en/autoFill.md +3 -1
  167. package/docs/en/configuration.md +4 -1
  168. package/docs/en/dictionary/condition.md +3 -1
  169. package/docs/en/dictionary/content_extention_customization.md +3 -1
  170. package/docs/en/dictionary/enumeration.md +3 -1
  171. package/docs/en/dictionary/file.md +3 -1
  172. package/docs/en/dictionary/function_fetching.md +3 -1
  173. package/docs/en/dictionary/get_started.md +3 -1
  174. package/docs/en/dictionary/insertion.md +3 -1
  175. package/docs/en/dictionary/markdown.md +3 -1
  176. package/docs/en/dictionary/nesting.md +3 -1
  177. package/docs/en/dictionary/translation.md +3 -1
  178. package/docs/en/how_works_intlayer.md +3 -1
  179. package/docs/en/index.md +3 -1
  180. package/docs/en/interest_of_intlayer.md +3 -1
  181. package/docs/en/intlayer_CMS.md +3 -1
  182. package/docs/en/intlayer_cli.md +3 -1
  183. package/docs/en/intlayer_visual_editor.md +3 -1
  184. package/docs/en/intlayer_with_angular.md +3 -1
  185. package/docs/en/intlayer_with_create_react_app.md +3 -1
  186. package/docs/en/intlayer_with_express.md +3 -1
  187. package/docs/en/intlayer_with_lynx+react.md +3 -1
  188. package/docs/en/intlayer_with_nextjs_14.md +6 -1
  189. package/docs/en/intlayer_with_nextjs_15.md +5 -1
  190. package/docs/en/intlayer_with_nextjs_page_router.md +5 -1
  191. package/docs/en/intlayer_with_nuxt.md +3 -1
  192. package/docs/en/intlayer_with_react_native+expo.md +3 -1
  193. package/docs/en/intlayer_with_vite+preact.md +3 -1
  194. package/docs/en/intlayer_with_vite+react.md +9 -7
  195. package/docs/en/intlayer_with_vite+solid.md +3 -1
  196. package/docs/en/intlayer_with_vite+svelte.md +3 -1
  197. package/docs/en/intlayer_with_vite+vue.md +3 -1
  198. package/docs/en/introduction.md +3 -1
  199. package/docs/en/mcp_server.md +42 -1
  200. package/docs/en/packages/@intlayer/api/index.md +3 -1
  201. package/docs/en/packages/@intlayer/chokidar/index.md +3 -1
  202. package/docs/en/packages/@intlayer/cli/index.md +3 -1
  203. package/docs/en/packages/@intlayer/config/index.md +3 -1
  204. package/docs/en/packages/@intlayer/core/index.md +3 -1
  205. package/docs/en/packages/@intlayer/design-system/index.md +3 -1
  206. package/docs/en/packages/@intlayer/dictionary-entry/index.md +3 -1
  207. package/docs/en/packages/@intlayer/editor/index.md +3 -1
  208. package/docs/en/packages/@intlayer/editor-react/index.md +3 -1
  209. package/docs/en/packages/@intlayer/webpack/index.md +3 -1
  210. package/docs/en/packages/angular-intlayer/index.md +3 -1
  211. package/docs/en/packages/express-intlayer/index.md +3 -1
  212. package/docs/en/packages/express-intlayer/t.md +3 -1
  213. package/docs/en/packages/intlayer/getConfiguration.md +3 -1
  214. package/docs/en/packages/intlayer/getEnumeration.md +3 -1
  215. package/docs/en/packages/intlayer/getHTMLTextDir.md +3 -1
  216. package/docs/en/packages/intlayer/getLocaleLang.md +3 -1
  217. package/docs/en/packages/intlayer/getLocaleName.md +3 -1
  218. package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -1
  219. package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -1
  220. package/docs/en/packages/intlayer/getPathWithoutLocale.md +3 -1
  221. package/docs/en/packages/intlayer/getTranslation.md +3 -1
  222. package/docs/en/packages/intlayer/getTranslationContent.md +3 -1
  223. package/docs/en/packages/intlayer/index.md +3 -1
  224. package/docs/en/packages/intlayer-cli/index.md +3 -1
  225. package/docs/en/packages/intlayer-editor/index.md +3 -1
  226. package/docs/en/packages/lynx-intlayer/index.md +3 -1
  227. package/docs/en/packages/next-intlayer/index.md +3 -1
  228. package/docs/en/packages/next-intlayer/t.md +3 -1
  229. package/docs/en/packages/next-intlayer/useDictionary.md +3 -1
  230. package/docs/en/packages/next-intlayer/useIntlayer.md +3 -1
  231. package/docs/en/packages/next-intlayer/useIntlayerAsync.md +3 -1
  232. package/docs/en/packages/next-intlayer/useLocale.md +3 -1
  233. package/docs/en/packages/nuxt-intlayer/index.md +3 -1
  234. package/docs/en/packages/preact-intlayer/index.md +3 -1
  235. package/docs/en/packages/react-intlayer/index.md +3 -1
  236. package/docs/en/packages/react-intlayer/t.md +3 -1
  237. package/docs/en/packages/react-intlayer/useDictionary.md +3 -1
  238. package/docs/en/packages/react-intlayer/useIntlayer.md +3 -1
  239. package/docs/en/packages/react-intlayer/useIntlayerAsync.md +3 -1
  240. package/docs/en/packages/react-intlayer/useLocale.md +3 -1
  241. package/docs/en/packages/react-native-intlayer/index.md +3 -1
  242. package/docs/en/packages/react-scripts-intlayer/index.md +3 -1
  243. package/docs/en/packages/solid-intlayer/index.md +3 -1
  244. package/docs/en/packages/svelte-intlayer/index.md +3 -1
  245. package/docs/en/packages/vite-intlayer/index.md +3 -1
  246. package/docs/en/packages/vue-intlayer/index.md +3 -1
  247. package/docs/en/per_locale_file.md +3 -1
  248. package/docs/en/roadmap.md +5 -2
  249. package/docs/en/vs_code_extension.md +3 -1
  250. package/docs/en-GB/intlayer_with_vite+react.md +64 -83
  251. package/docs/es/intlayer_with_vite+react.md +91 -94
  252. package/docs/fr/intlayer_with_vite+react.md +73 -65
  253. package/docs/hi/intlayer_with_vite+react.md +107 -107
  254. package/docs/it/intlayer_with_vite+react.md +156 -112
  255. package/docs/ja/intlayer_with_vite+react.md +153 -218
  256. package/docs/ko/intlayer_with_vite+react.md +116 -148
  257. package/docs/ko/packages/intlayer/getLocalizedUrl.md +1 -23
  258. package/docs/pt/intlayer_with_vite+react.md +110 -132
  259. package/docs/ru/intlayer_with_vite+react.md +98 -83
  260. package/docs/zh/intlayer_with_vite+react.md +147 -184
  261. package/docs/zh/packages/intlayer/getLocalizedUrl.md +1 -23
  262. package/frequent_questions/ar/build_error_CI_CD.md +75 -0
  263. package/frequent_questions/de/build_error_CI_CD.md +75 -0
  264. package/frequent_questions/en/build_error_CI_CD.md +75 -0
  265. package/frequent_questions/en-GB/build_error_CI_CD.md +75 -0
  266. package/frequent_questions/es/build_error_CI_CD.md +75 -0
  267. package/frequent_questions/fr/build_error_CI_CD.md +75 -0
  268. package/frequent_questions/hi/build_error_CI_CD.md +75 -0
  269. package/frequent_questions/it/build_error_CI_CD.md +75 -0
  270. package/frequent_questions/ja/build_error_CI_CD.md +75 -0
  271. package/frequent_questions/ja/intlayer_command_undefined.md +3 -3
  272. package/frequent_questions/ko/build_error_CI_CD.md +75 -0
  273. package/frequent_questions/ko/intlayer_command_undefined.md +3 -3
  274. package/frequent_questions/pt/build_error_CI_CD.md +75 -0
  275. package/frequent_questions/ru/build_error_CI_CD.md +75 -0
  276. package/frequent_questions/zh/build_error_CI_CD.md +75 -0
  277. package/frequent_questions/zh/intlayer_command_undefined.md +3 -3
  278. package/legal/ar/privacy_notice.md +83 -0
  279. package/legal/ar/terms_of_service.md +55 -0
  280. package/legal/de/privacy_notice.md +83 -0
  281. package/legal/de/terms_of_service.md +55 -0
  282. package/legal/en/privacy_notice.md +83 -0
  283. package/legal/en/terms_of_service.md +55 -0
  284. package/legal/en-GB/privacy_notice.md +83 -0
  285. package/legal/en-GB/terms_of_service.md +55 -0
  286. package/legal/es/privacy_notice.md +83 -0
  287. package/legal/es/terms_of_service.md +55 -0
  288. package/legal/fr/privacy_notice.md +83 -0
  289. package/legal/fr/terms_of_service.md +55 -0
  290. package/legal/hi/privacy_notice.md +83 -0
  291. package/legal/hi/terms_of_service.md +55 -0
  292. package/legal/it/privacy_notice.md +83 -0
  293. package/legal/it/terms_of_service.md +55 -0
  294. package/legal/ja/privacy_notice.md +83 -0
  295. package/legal/ja/terms_of_service.md +55 -0
  296. package/legal/ko/privacy_notice.md +83 -0
  297. package/legal/ko/terms_of_service.md +55 -0
  298. package/legal/pt/privacy_notice.md +83 -0
  299. package/legal/pt/terms_of_service.md +55 -0
  300. package/legal/ru/privacy_notice.md +83 -0
  301. package/legal/ru/terms_of_service.md +55 -0
  302. package/legal/zh/privacy_notice.md +83 -0
  303. package/legal/zh/terms_of_service.md +55 -0
  304. package/package.json +7 -6
  305. package/src/blog.ts +6 -4
  306. package/src/common.ts +23 -7
  307. package/src/doc.ts +6 -4
  308. package/src/frequentQuestions.ts +6 -4
  309. package/src/generated/blog.entry.ts +1177 -280
  310. package/src/generated/docs.entry.ts +3868 -1217
  311. package/src/generated/frequentQuestions.entry.ts +808 -178
  312. package/src/generated/legal.entry.ts +34 -36
  313. package/src/legal.ts +6 -4
@@ -188,4 +188,6 @@ console.log(customContent.greeting); // Output: "Bonjour"
188
188
 
189
189
  ## Doc History
190
190
 
191
- - 5.5.10 - 2025-06-29: Init history
191
+ | Version | Date | Changes |
192
+ | ------- | ---------- | ------------ |
193
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -496,4 +496,6 @@ The `intlayer` package also provides some functions to help you to international
496
496
 
497
497
  ## Doc History
498
498
 
499
- - 5.5.10 - 2025-06-29: Init history
499
+ | Version | Date | Changes |
500
+ | ------- | ---------- | ------------ |
501
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -62,4 +62,6 @@ Consult [intlayer-cli](https://github.com/aymericzip/intlayer/blob/main/docs/doc
62
62
 
63
63
  ## Doc History
64
64
 
65
- - 5.5.10 - 2025-06-29: Init history
65
+ | Version | Date | Changes |
66
+ | ------- | ---------- | ------------ |
67
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -134,4 +134,6 @@ If your content is outlined, you can long-press it to display the edit drawer.
134
134
 
135
135
  ## Doc History
136
136
 
137
- - 5.5.10 - 2025-06-29: Init history
137
+ | Version | Date | Changes |
138
+ | ------- | ---------- | ------------ |
139
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -80,4 +80,6 @@ Intlayer provides a lot of features to help you internationalize your Vite appli
80
80
 
81
81
  ## Doc History
82
82
 
83
- - 5.5.10 - 2025-06-29: Init history
83
+ | Version | Date | Changes |
84
+ | ------- | ---------- | ------------ |
85
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -283,4 +283,6 @@ The `next-intlayer` package also provides some functions to help you to internat
283
283
 
284
284
  ## Doc History
285
285
 
286
- - 5.5.10 - 2025-06-29: Init history
286
+ | Version | Date | Changes |
287
+ | ------- | ---------- | ------------ |
288
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -349,4 +349,6 @@ For more detailed usage and advanced features, refer to the [next-intlayer docum
349
349
 
350
350
  ## Doc History
351
351
 
352
- - 5.5.10 - 2025-06-29: Init history
352
+ | Version | Date | Changes |
353
+ | ------- | ---------- | ------------ |
354
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -265,4 +265,6 @@ This documentation focuses on the integration of the `useDictionary` hook, provi
265
265
 
266
266
  ## Doc History
267
267
 
268
- - 5.5.10 - 2025-06-29: Init history
268
+ | Version | Date | Changes |
269
+ | ------- | ---------- | ------------ |
270
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -260,4 +260,6 @@ This documentation outlines the use of the `useIntlayer` hook specifically withi
260
260
 
261
261
  ## Doc History
262
262
 
263
- - 5.5.10 - 2025-06-29: Init history
263
+ | Version | Date | Changes |
264
+ | ------- | ---------- | ------------ |
265
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -234,4 +234,6 @@ Instructions for setting up content declaration files are available [here](https
234
234
 
235
235
  ## Doc History
236
236
 
237
- - 5.5.10 - 2025-06-29: Init history
237
+ | Version | Date | Changes |
238
+ | ------- | ---------- | ------------ |
239
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -128,4 +128,6 @@ The `useLocale` hook from `next-intlayer` is a crucial tool for managing locales
128
128
 
129
129
  ## Doc History
130
130
 
131
- - 5.5.10 - 2025-06-29: Init history
131
+ | Version | Date | Changes |
132
+ | ------- | ---------- | ------------ |
133
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -50,4 +50,6 @@ pnpm add nuxt-intlayer
50
50
 
51
51
  ## Doc History
52
52
 
53
- - 5.5.10 - 2025-06-29: Init history
53
+ | Version | Date | Changes |
54
+ | ------- | ---------- | ------------ |
55
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -50,4 +50,6 @@ pnpm add preact-intlayer
50
50
 
51
51
  ## Doc History
52
52
 
53
- - 5.5.10 - 2025-06-29: Init history
53
+ | Version | Date | Changes |
54
+ | ------- | ---------- | ------------ |
55
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -277,4 +277,6 @@ The `react-intlayer` package also provides some functions to help you to interna
277
277
 
278
278
  ## Doc History
279
279
 
280
- - 5.5.10 - 2025-06-29: Init history
280
+ | Version | Date | Changes |
281
+ | ------- | ---------- | ------------ |
282
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -299,4 +299,6 @@ For more detailed usage and advanced features, refer to the [react-intlayer docu
299
299
 
300
300
  ## Doc History
301
301
 
302
- - 5.5.10 - 2025-06-29: Init history
302
+ | Version | Date | Changes |
303
+ | ------- | ---------- | ------------ |
304
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -282,4 +282,6 @@ This documentation focuses on the integration of the `useDictionary` hook, provi
282
282
 
283
283
  ## Doc History
284
284
 
285
- - 5.5.10 - 2025-06-29: Init history
285
+ | Version | Date | Changes |
286
+ | ------- | ---------- | ------------ |
287
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -248,4 +248,6 @@ This section specifically targets the integration of the `useIntlayer` hook in R
248
248
 
249
249
  ## Doc History
250
250
 
251
- - 5.5.10 - 2025-06-29: Init history
251
+ | Version | Date | Changes |
252
+ | ------- | ---------- | ------------ |
253
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -249,4 +249,6 @@ Instructions for setting up content declaration files are available [here](https
249
249
 
250
250
  ## Doc History
251
251
 
252
- - 5.5.10 - 2025-06-29: Init history
252
+ | Version | Date | Changes |
253
+ | ------- | ---------- | ------------ |
254
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -207,4 +207,6 @@ The `useLocale` hook from `react-intlayer` is an essential tool for managing loc
207
207
 
208
208
  ## Doc History
209
209
 
210
- - 5.5.10 - 2025-06-29: Init history
210
+ | Version | Date | Changes |
211
+ | ------- | ---------- | ------------ |
212
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -80,4 +80,6 @@ Intlayer provides a lot of features to help you internationalize your Vite appli
80
80
 
81
81
  ## Doc History
82
82
 
83
- - 5.5.10 - 2025-06-29: Init history
83
+ | Version | Date | Changes |
84
+ | ------- | ---------- | ------------ |
85
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -77,4 +77,6 @@ Intlayer provides a lot of features to help you internationalize your React appl
77
77
 
78
78
  ## Doc History
79
79
 
80
- - 5.5.10 - 2025-06-29: Init history
80
+ | Version | Date | Changes |
81
+ | ------- | ---------- | ------------ |
82
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -51,4 +51,6 @@ pnpm add solid-intlayer
51
51
 
52
52
  ## Doc History
53
53
 
54
- - 5.5.10 - 2025-06-29: Init history
54
+ | Version | Date | Changes |
55
+ | ------- | ---------- | ------------ |
56
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -50,4 +50,6 @@ pnpm add svelte-intlayer
50
50
 
51
51
  ## Doc History
52
52
 
53
- - 5.5.10 - 2025-06-29: Init history
53
+ | Version | Date | Changes |
54
+ | ------- | ---------- | ------------ |
55
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -73,4 +73,6 @@ Intlayer provides a lot of features to help you internationalize your Vite appli
73
73
 
74
74
  ## Doc History
75
75
 
76
- - 5.5.10 - 2025-06-29: Init history
76
+ | Version | Date | Changes |
77
+ | ------- | ---------- | ------------ |
78
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -50,4 +50,6 @@ pnpm add vue-intlayer
50
50
 
51
51
  ## Doc History
52
52
 
53
- - 5.5.10 - 2025-06-29: Init history
53
+ | Version | Date | Changes |
54
+ | ------- | ---------- | ------------ |
55
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -316,4 +316,6 @@ Use the [intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/doc
316
316
 
317
317
  ## Doc History
318
318
 
319
- - 5.5.10 - 2025-06-29: Init history
319
+ | Version | Date | Changes |
320
+ | ------- | ---------- | ------------ |
321
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -333,5 +333,8 @@ Stay tuned for upcoming releases, and feel free to explore the existing features
333
333
 
334
334
  ## Doc History
335
335
 
336
- - 5.5.10 - 2025-06-30: Add Preact and Nuxt support, MCP Server, update CLI
337
- - 5.5.10 - 2025-06-29: Init history
336
+ | Version | Date | Changes |
337
+ | ------- | ---------- | --------------------------------------------------- |
338
+ | 5.5.10 | 2025-06-30 | Add Preact and Nuxt support, MCP Server, update CLI |
339
+ | 5.5.11 | 2025-06-29 | Add `docs` commands |
340
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -149,4 +149,6 @@ Intlayer is released under the **MIT License**.
149
149
 
150
150
  ## Doc History
151
151
 
152
- - 5.5.10 - 2025-06-29: Init history
152
+ | Version | Date | Changes |
153
+ | ------- | ---------- | ------------ |
154
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -1,20 +1,20 @@
1
1
  ---
2
- createdAt: 2025-03-07
3
- updatedAt: 2025-06-29
4
- title: Translate your React Native and Expo mobile app (i18n)
5
- description: Discover how to make your React Native and Expo mobile app multilingual. Follow the documentation to internationalise (i18n) and translate it.
2
+ createdAt: 2024-03-07
3
+ updatedAt: 2024-03-07
4
+ title: Getting Started with Intlayer in Vite + React
5
+ description: Learn how to add internationalisation (i18n) to your Vite and React application using Intlayer. Follow this guide to make your app multilingual.
6
6
  keywords:
7
7
  - Internationalisation
8
8
  - Documentation
9
9
  - Intlayer
10
10
  - Vite
11
11
  - React
12
- - React Native
12
+ - i18n
13
13
  - JavaScript
14
14
  slugs:
15
15
  - doc
16
16
  - environment
17
- - react-native-and-expo
17
+ - vite-and-react
18
18
  ---
19
19
 
20
20
  # Getting Started Internationalising (i18n) with Intlayer and Vite and React
@@ -242,13 +242,13 @@ const appContent = {
242
242
  key: "app",
243
243
  content: {
244
244
  viteLogo: t({
245
- "en-GB": "Vite logo",
245
+ 'en-GB': "Vite logo",
246
246
  en: "Vite logo",
247
247
  fr: "Logo Vite",
248
248
  es: "Logo Vite",
249
249
  }),
250
250
  reactLogo: t({
251
- "en-GB": "React logo",
251
+ 'en-GB': "React logo",
252
252
  en: "React logo",
253
253
  fr: "Logo React",
254
254
  es: "Logo React",
@@ -257,19 +257,24 @@ const appContent = {
257
257
  title: "Vite + React",
258
258
 
259
259
  count: t({
260
- "en-GB": "count is ",
260
+ 'en-GB': "count is ",
261
261
  en: "count is ",
262
262
  fr: "le compte est ",
263
263
  es: "el recuento es ",
264
264
  }),
265
265
 
266
- edit:
267
- t <
268
- ReactNode >
269
- {
270
- // Remember to import React if you use a React node in your content
271
- "en-GB": (
272
- <>
266
+ edit: t<ReactNode>({
267
+ // Remember to import React if you use a React node in your content
268
+ 'en-GB': (
269
+ <>
270
+ Edit <code>src/App.tsx</code> and save to test HMR
271
+ </>
272
+ ),
273
+ en: (
274
+ <>
275
+ Edit <code>src/App.tsx</code> and save to test HMR
276
+ </>
277
+ ),
273
278
  Edit <code>src/App.tsx</code> and save to test HMR
274
279
  </>
275
280
  ),
@@ -286,7 +291,7 @@ const appContent = {
286
291
  },
287
292
 
288
293
  readTheDocs: t({
289
- "en-GB": "Click on the Vite and React logos to learn more",
294
+ 'en-GB': "Click on the Vite and React logos to learn more",
290
295
  en: "Click on the Vite and React logos to learn more",
291
296
  fr: "Cliquez sur les logos Vite et React pour en savoir plus",
292
297
  es: "Haga clic en los logotipos de Vite y React para obtener más información",
@@ -306,11 +311,13 @@ const appContent = {
306
311
  content: {
307
312
  viteLogo: t({
308
313
  "en-GB": "Vite logo",
314
+ en: "Vite logo",
309
315
  fr: "Logo Vite",
310
316
  es: "Logo Vite",
311
317
  }),
312
318
  reactLogo: t({
313
319
  "en-GB": "React logo",
320
+ en: "React logo",
314
321
  fr: "Logo React",
315
322
  es: "Logo React",
316
323
  }),
@@ -319,6 +326,7 @@ const appContent = {
319
326
 
320
327
  count: t({
321
328
  "en-GB": "count is ",
329
+ en: "count is ",
322
330
  fr: "le compte est ",
323
331
  es: "el recuento es ",
324
332
  }),
@@ -333,6 +341,11 @@ const appContent = {
333
341
  Edit <code>src/App.tsx</code> and save to test HMR
334
342
  </>
335
343
  ),
344
+ en: (
345
+ <>
346
+ Edit <code>src/App.tsx</code> and save to test HMR
347
+ </>
348
+ ),
336
349
  fr: (
337
350
  <>
338
351
  Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
@@ -347,6 +360,7 @@ const appContent = {
347
360
 
348
361
  readTheDocs: t({
349
362
  "en-GB": "Click on the Vite and React logos to learn more",
363
+ en: "Click on the Vite and React logos to learn more",
350
364
  fr: "Cliquez sur les logos Vite et React pour en savoir plus",
351
365
  es: "Haga clic en los logotipos de Vite y React para obtener más información",
352
366
  }),
@@ -365,6 +379,7 @@ module.exports = appContent;
365
379
  "nodeType": "translation",
366
380
  "translation": {
367
381
  "en-GB": "Vite logo",
382
+ "en": "Vite logo",
368
383
  "fr": "Logo Vite",
369
384
  "es": "Logo Vite"
370
385
  }
@@ -373,6 +388,7 @@ module.exports = appContent;
373
388
  "nodeType": "translation",
374
389
  "translation": {
375
390
  "en-GB": "React logo",
391
+ "en": "React logo",
376
392
  "fr": "Logo React",
377
393
  "es": "Logo React"
378
394
  }
@@ -381,6 +397,7 @@ module.exports = appContent;
381
397
  "nodeType": "translation",
382
398
  "translation": {
383
399
  "en-GB": "Vite + React",
400
+ "en": "Vite + React",
384
401
  "fr": "Vite + React",
385
402
  "es": "Vite + React"
386
403
  }
@@ -389,6 +406,7 @@ module.exports = appContent;
389
406
  "nodeType": "translation",
390
407
  "translation": {
391
408
  "en-GB": "count is ",
409
+ "en": "count is ",
392
410
  "fr": "le compte est ",
393
411
  "es": "el recuento es "
394
412
  }
@@ -397,6 +415,7 @@ module.exports = appContent;
397
415
  "nodeType": "translation",
398
416
  "translation": {
399
417
  "en-GB": "Edit src/App.tsx and save to test HMR",
418
+ "en": "Edit src/App.tsx and save to test HMR",
400
419
  "fr": "Éditez src/App.tsx et enregistrez pour tester HMR",
401
420
  "es": "Edita src/App.tsx y guarda para probar HMR"
402
421
  }
@@ -405,6 +424,7 @@ module.exports = appContent;
405
424
  "nodeType": "translation",
406
425
  "translation": {
407
426
  "en-GB": "Click on the Vite and React logos to learn more",
427
+ "en": "Click on the Vite and React logos to learn more",
408
428
  "fr": "Cliquez sur les logos Vite et React pour en savoir plus",
409
429
  "es": "Haga clic en los logotipos de Vite y React para obtener más información"
410
430
  }
@@ -413,7 +433,7 @@ module.exports = appContent;
413
433
  }
414
434
  ```
415
435
 
416
- > Your content declarations can be defined anywhere in your application as soon as they are included into the `contentDir` directory (by default, `./src`). And match the content declaration file extension (by default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
436
+ > Your content declarations can be defined anywhere in your application as soon as they are included in the `contentDir` directory (by default, `./src`). And match the content declaration file extension (by default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
417
437
 
418
438
  > For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/get_started.md).
419
439
 
@@ -635,9 +655,9 @@ Example:
635
655
  - https://example.com/fr/about
636
656
  ```
637
657
 
638
- > By default, the routes are not prefixed for the default locale. If you wish to prefix the default locale, you can set the `middleware.prefixDefault` option to `true` in your configuration. See the [configuration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md) for more information.
658
+ > By default, the routes are not prefixed for the default locale. If you want to prefix the default locale, you can set the `middleware.prefixDefault` option to `true` in your configuration. See the [configuration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md) for more information.
639
659
 
640
- To add localised routing to your application, you can create a `LocaleRouter` component that wraps your application's routes and manages locale-based routing. Here is an example using [React Router](https://reactrouter.com/home):
660
+ To add localised routing to your application, you can create a `LocaleRouter` component that wraps your application's routes and handles locale-based routing. Here is an example using [React Router](https://reactrouter.com/home):
641
661
 
642
662
  ```tsx fileName="src/components/LocaleRouter.tsx" codeFormat="typescript"
643
663
  // Importing necessary dependencies and functions
@@ -772,6 +792,7 @@ const { locales, defaultLocale } = internationalization;
772
792
 
773
793
  /**
774
794
  * A component that handles localisation and wraps children with the appropriate locale context.
795
+ /**
775
796
  * It manages URL-based locale detection and validation.
776
797
  */
777
798
  const AppLocalized = ({ children, locale }) => {
@@ -807,7 +828,7 @@ const AppLocalized = ({ children, locale }) => {
807
828
  } else {
808
829
  /**
809
830
  * When middleware.prefixDefault is false, the default locale is not prefixed.
810
- * Ensure that the current locale is valid and is not the default locale.
831
+ * Ensure that the current locale is valid and not the default locale.
811
832
  */
812
833
  if (
813
834
  currentLocale.toString() !== defaultLocale.toString() &&
@@ -876,25 +897,6 @@ const {
876
897
  useLocation,
877
898
  } = require("react-router-dom"); // Router components for managing navigation
878
899
 
879
- // Destructuring configuration from Intlayer
880
- const { internationalisation, middleware } = configuration;
881
- const { locales, defaultLocale } = internationalisation;
882
-
883
- /**
884
- * A component that handles localisation and wraps children with the appropriate locale context.
885
- * It manages URL-based locale detection and validation.
886
- */
887
- // Importing necessary dependencies and functions
888
- const { configuration, getPathWithoutLocale } = require("intlayer"); // Utility functions and types from 'intlayer'
889
- const { IntlayerProvider, useLocale } = require("react-intlayer"); // Provider for internationalisation context
890
- const {
891
- BrowserRouter,
892
- Routes,
893
- Route,
894
- Navigate,
895
- useLocation,
896
- } = require("react-router-dom"); // Router components for managing navigation
897
-
898
900
  // Destructuring configuration from Intlayer
899
901
  const { internationalization, middleware } = configuration;
900
902
  const { locales, defaultLocale } = internationalization;
@@ -936,7 +938,7 @@ const AppLocalized = ({ children, locale }) => {
936
938
  } else {
937
939
  /**
938
940
  * When middleware.prefixDefault is false, the default locale is not prefixed.
939
- * Ensure that the current locale is valid and is not the default locale.
941
+ * Ensure that the current locale is valid and not the default locale.
940
942
  */
941
943
  if (
942
944
  currentLocale.toString() !== defaultLocale.toString() &&
@@ -1271,9 +1273,9 @@ const LocaleSwitcher = () => {
1271
1273
  > - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/{{locale}}/packages/intlayer/getLocalizedUrl.md)
1272
1274
  > - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/intlayer/getHTMLTextDir.md)
1273
1275
  > - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
1274
- > - [`lang` attribute`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
1275
- > - [`dir` attribute`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
1276
- > - [`aria-current` attribute`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
1276
+ > - [`lang` attribute`](https://developer.mozilla.org/en-GB/docs/Web/HTML/Global_attributes/lang)
1277
+ > - [`dir` attribute`](https://developer.mozilla.org/en-GB/docs/Web/HTML/Global_attributes/dir)
1278
+ > - [`aria-current` attribute`](https://developer.mozilla.org/en-GB/docs/Web/Accessibility/ARIA/Attributes/aria-current)
1277
1279
 
1278
1280
  Below is the updated **Step 9** with added explanations and refined code examples:
1279
1281
 
@@ -1285,7 +1287,7 @@ When your application supports multiple languages, it is crucial to update the `
1285
1287
 
1286
1288
  - **Accessibility**: Screen readers and assistive technologies depend on the correct `lang` attribute to pronounce and interpret content accurately.
1287
1289
  - **Text Rendering**: The `dir` (direction) attribute guarantees that text is rendered in the correct order (e.g., left-to-right for English, right-to-left for Arabic or Hebrew), which is essential for readability.
1288
- - **SEO**: Search engines use the `lang` attribute to identify the language of your page, aiding in delivering the appropriate localised content in search results.
1290
+ - **SEO**: Search engines use the `lang` attribute to identify the language of your page, helping to deliver the appropriate localised content in search results.
1289
1291
 
1290
1292
  By updating these attributes dynamically when the locale changes, you guarantee a consistent and accessible experience for users across all supported languages.
1291
1293
 
@@ -1396,33 +1398,6 @@ const App: FC = () => (
1396
1398
  export default App;
1397
1399
  ```
1398
1400
 
1399
- ````jsx fileName="src/App.msx" codeFormat="esm"
1400
- #### Using the Hook in Your Application
1401
-
1402
- Integrate the hook into your main component so that the HTML attributes update whenever the locale changes:
1403
-
1404
- ```tsx fileName="src/App.tsx" codeFormat="typescript"
1405
- import type { FC } from "react";
1406
- import { IntlayerProvider, useIntlayer } from "react-intlayer";
1407
- import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1408
- import "./App.css";
1409
-
1410
- const AppContent: FC = () => {
1411
- // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1412
- useI18nHTMLAttributes();
1413
-
1414
- // ... Rest of your component
1415
- };
1416
-
1417
- const App: FC = () => (
1418
- <IntlayerProvider>
1419
- <AppContent />
1420
- </IntlayerProvider>
1421
- );
1422
-
1423
- export default App;
1424
- ````
1425
-
1426
1401
  ```jsx fileName="src/App.msx" codeFormat="esm"
1427
1402
  import { IntlayerProvider, useIntlayer } from "react-intlayer";
1428
1403
  import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
@@ -1474,21 +1449,27 @@ By applying these changes, your application will:
1474
1449
 
1475
1450
  ### (Optional) Step 10: Creating a Localised Link Component
1476
1451
 
1477
- // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1478
- useI18nHTMLAttributes();
1452
+ ```tsx fileName="src/App.tsx" codeFormat="typescript"
1453
+ import type { FC } from "react";
1454
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
1455
+ import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1456
+ import "./App.css";
1457
+
1458
+ const AppContent: FC = () => {
1459
+ // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1460
+ useI18nHTMLAttributes();
1479
1461
 
1480
- // ... Rest of your component
1462
+ // ... Rest of your component
1481
1463
  };
1482
1464
 
1483
1465
  const App = () => (
1484
- <IntlayerProvider>
1485
- <AppContent />
1486
- </IntlayerProvider>
1466
+ <IntlayerProvider>
1467
+ <AppContent />
1468
+ </IntlayerProvider>
1487
1469
  );
1488
1470
 
1489
1471
  module.exports = App;
1490
-
1491
- ````
1472
+ ```
1492
1473
 
1493
1474
  By applying these changes, your application will:
1494
1475
 
@@ -1553,7 +1534,7 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
1553
1534
  );
1554
1535
 
1555
1536
  Link.displayName = "Link";
1556
- ````
1537
+ ```
1557
1538
 
1558
1539
  ```jsx fileName="src/components/Link.mjx" codeFormat="esm"
1559
1540
  import { getLocalizedUrl } from "intlayer";
@@ -1604,7 +1585,7 @@ const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
1604
1585
  /**
1605
1586
  * A custom Link component that adapts the href attribute based on the current locale.
1606
1587
  * For internal links, it uses `getLocalizedUrl` to prefix the URL with the locale (e.g., /fr/about).
1607
- * This ensures that navigation remains within the same locale context.
1588
+ * This ensures that navigation stays within the same locale context.
1608
1589
  */
1609
1590
  const Link = forwardRef(({ href, children, ...props }, ref) => {
1610
1591
  const { locale } = useLocale();
@@ -1642,7 +1623,7 @@ Link.displayName = "Link";
1642
1623
  - **Returning the Link**:
1643
1624
  The component returns an `<a>` element with the localised URL, ensuring that navigation is consistent with the locale.
1644
1625
 
1645
- By integrating this `Link` component across your application, you maintain a coherent and language-aware user experience whilst also benefitting from improved SEO and usability.
1626
+ By integrating this `Link` component across your application, you maintain a coherent and language-aware user experience while also benefiting from improved SEO and usability.
1646
1627
 
1647
1628
  ### Configure TypeScript
1648
1629