@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
@@ -1,36 +1,36 @@
1
1
  ---
2
- createdAt: 2025-03-07
3
- updatedAt: 2025-06-29
4
- title: Traduisez votre application mobile React Native et Expo (i18n)
5
- description: Découvrez comment rendre votre application mobile React Native et Expo multilingue. Suivez la documentation pour internationaliser (i18n) et traduire votre application.
2
+ createdAt: 2024-03-07
3
+ updatedAt: 2024-03-07
4
+ title: Prise en main d'Intlayer avec Vite + React
5
+ description: Apprenez à ajouter l'internationalisation (i18n) à votre application Vite et React en utilisant Intlayer. Suivez ce guide pour rendre votre application multilingue.
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
- # Commencer l'internationalisation (i18n) avec Intlayer, Vite et React
20
+ # Prise en main de l'internationalisation (i18n) avec Intlayer, Vite et React
21
21
 
22
- Voir le [Modèle d'Application](https://github.com/aymericzip/intlayer-vite-react-template) sur GitHub.
22
+ Voir le [Modèle d'application](https://github.com/aymericzip/intlayer-vite-react-template) sur GitHub.
23
23
 
24
- ## Qu'est-ce que Intlayer ?
24
+ ## Qu'est-ce qu'Intlayer ?
25
25
 
26
26
  **Intlayer** est une bibliothèque d'internationalisation (i18n) innovante et open-source conçue pour simplifier la prise en charge multilingue dans les applications web modernes.
27
27
 
28
28
  Avec Intlayer, vous pouvez :
29
29
 
30
- - **Gérer facilement les traductions** en utilisant des dictionnaires déclaratifs au niveau des composants.
31
- - **Localiser dynamiquement les métadonnées**, les routes et le contenu.
32
- - **Assurer la prise en charge de TypeScript** avec des types générés automatiquement, améliorant l'autocomplétion et la détection des erreurs.
33
- - **Bénéficier de fonctionnalités avancées**, telles que la détection et le changement dynamique de la langue.
30
+ - **Gérez facilement les traductions** en utilisant des dictionnaires déclaratifs au niveau des composants.
31
+ - **Localisez dynamiquement les métadonnées**, les routes et le contenu.
32
+ - **Assurez la prise en charge de TypeScript** avec des types générés automatiquement, améliorant l'autocomplétion et la détection des erreurs.
33
+ - **Bénéficiez de fonctionnalités avancées**, comme la détection dynamique de la langue et le changement de locale.
34
34
 
35
35
  ---
36
36
 
@@ -38,7 +38,7 @@ Avec Intlayer, vous pouvez :
38
38
 
39
39
  ### Étape 1 : Installer les dépendances
40
40
 
41
- Installez les paquets nécessaires avec npm :
41
+ Installez les paquets nécessaires en utilisant npm :
42
42
 
43
43
  ```bash packageManager="npm"
44
44
  npm install intlayer react-intlayer
@@ -57,13 +57,13 @@ yarn add --save-dev vite-intlayer
57
57
 
58
58
  - **intlayer**
59
59
 
60
- Le package principal qui fournit des outils d'internationalisation pour la gestion de la configuration, la traduction, la [déclaration de contenu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/get_started.md), la transpilation, et les [commandes CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/intlayer_cli.md).
60
+ Le paquet principal qui fournit des outils d'internationalisation pour la gestion de la configuration, la traduction, la [déclaration de contenu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/get_started.md), la transpilation, et les [commandes CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/intlayer_cli.md).
61
61
 
62
62
  - **react-intlayer**
63
- Le package qui intègre Intlayer avec une application React. Il fournit des fournisseurs de contexte et des hooks pour l'internationalisation dans React.
63
+ Le paquet qui intègre Intlayer avec une application React. Il fournit des fournisseurs de contexte et des hooks pour l'internationalisation dans React.
64
64
 
65
65
  - **vite-intlayer**
66
- Inclut le plugin Vite pour intégrer Intlayer avec le [bundler Vite](https://vite.dev/guide/why.html#why-bundle-for-production), ainsi que le middleware pour détecter la locale préférée de l'utilisateur, gérer les cookies et gérer la redirection des URL.
66
+ Inclut le plugin Vite pour intégrer Intlayer avec le [bundler Vite](https://vite.dev/guide/why.html#why-bundle-for-production), ainsi que des middlewares pour détecter la locale préférée de l'utilisateur, gérer les cookies, et gérer la redirection des URL.
67
67
 
68
68
  ### Étape 2 : Configuration de votre projet
69
69
 
@@ -78,7 +78,7 @@ const config: IntlayerConfig = {
78
78
  Locales.ENGLISH,
79
79
  Locales.FRENCH,
80
80
  Locales.SPANISH,
81
- // Vos autres locales
81
+ // Vos autres langues
82
82
  ],
83
83
  defaultLocale: Locales.ENGLISH,
84
84
  },
@@ -91,14 +91,13 @@ export default config;
91
91
  import { Locales } from "intlayer";
92
92
 
93
93
  /** @type {import('intlayer').IntlayerConfig} */
94
- // Configuration de l'internationalisation
95
94
  const config = {
96
95
  internationalization: {
97
96
  locales: [
98
97
  Locales.ENGLISH,
99
98
  Locales.FRENCH,
100
99
  Locales.SPANISH,
101
- // Vos autres locales
100
+ // Vos autres langues
102
101
  ],
103
102
  defaultLocale: Locales.ENGLISH,
104
103
  },
@@ -111,14 +110,13 @@ export default config;
111
110
  const { Locales } = require("intlayer");
112
111
 
113
112
  /** @type {import('intlayer').IntlayerConfig} */
114
- // Configuration de l'internationalisation
115
113
  const config = {
116
114
  internationalization: {
117
115
  locales: [
118
116
  Locales.ENGLISH,
119
117
  Locales.FRENCH,
120
118
  Locales.SPANISH,
121
- // Vos autres locales
119
+ // Vos autres langues
122
120
  ],
123
121
  defaultLocale: Locales.ENGLISH,
124
122
  },
@@ -127,7 +125,7 @@ const config = {
127
125
  module.exports = config;
128
126
  ```
129
127
 
130
- > Grâce à ce fichier de configuration, vous pouvez configurer des URL localisées, la redirection via middleware, les noms de cookies, l'emplacement et l'extension de vos déclarations de contenu, désactiver les logs Intlayer dans la console, et bien plus encore. Pour une liste complète des paramètres disponibles, consultez la [documentation de configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md).
128
+ > Grâce à ce fichier de configuration, vous pouvez configurer des URLs localisées, la redirection via middleware, les noms des cookies, l'emplacement et l'extension de vos déclarations de contenu, désactiver les logs Intlayer dans la console, et bien plus encore. Pour une liste complète des paramètres disponibles, consultez la [documentation de configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md).
131
129
 
132
130
  ### Étape 3 : Intégrer Intlayer dans votre configuration Vite
133
131
 
@@ -329,7 +327,7 @@ const appContent = {
329
327
  ),
330
328
  es: (
331
329
  <>
332
- Edita <code>src/App.tsx</code> y guarda para probar HMR
330
+ Editez <code>src/App.tsx</code> et enregistrez pour tester HMR
333
331
  </>
334
332
  ),
335
333
  },
@@ -345,7 +343,7 @@ const appContent = {
345
343
  module.exports = appContent;
346
344
  ```
347
345
 
348
- ````json fileName="src/app.content.json" contentDeclarationFormat="json"
346
+ ```json fileName="src/app.content.json" contentDeclarationFormat="json"
349
347
  {
350
348
  "$schema": "https://intlayer.org/schema.json",
351
349
  "key": "app",
@@ -361,7 +359,7 @@ module.exports = appContent;
361
359
  "reactLogo": {
362
360
  "nodeType": "translation",
363
361
  "translation": {
364
- "en": "Logo React",
362
+ "en": "React logo",
365
363
  "fr": "Logo React",
366
364
  "es": "Logo React"
367
365
  }
@@ -393,6 +391,15 @@ module.exports = appContent;
393
391
  "readTheDocs": {
394
392
  "nodeType": "translation",
395
393
  "translation": {
394
+ "en": "Click on the Vite and React logos to learn more",
395
+ "fr": "Cliquez sur les logos Vite et React pour en savoir plus",
396
+ "es": "Haga clic en los logotipos de Vite y React para obtener más información"
397
+ }
398
+ }
399
+ }
400
+ }
401
+ ```
402
+
396
403
  > Vos déclarations de contenu peuvent être définies n'importe où dans votre application dès qu'elles sont incluses dans le répertoire `contentDir` (par défaut, `./src`). Et correspondent à l'extension de fichier de déclaration de contenu (par défaut, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
397
404
 
398
405
  > Pour plus de détails, consultez la [documentation sur la déclaration de contenu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/get_started.md).
@@ -448,7 +455,7 @@ const App: FC = () => (
448
455
  );
449
456
 
450
457
  export default App;
451
- ````
458
+ ```
452
459
 
453
460
  ```tsx {5,9} fileName="src/App.msx" codeFormat="esm"
454
461
  import { useState } from "react";
@@ -606,7 +613,7 @@ const LocaleSwitcher = () => {
606
613
 
607
614
  ### (Optionnel) Étape 7 : Ajouter un routage localisé à votre application
608
615
 
609
- Le but de cette étape est de créer des routes uniques pour chaque langue. Cela est utile pour le SEO et pour des URLs optimisées pour le référencement.
616
+ L'objectif de cette étape est de créer des routes uniques pour chaque langue. Cela est utile pour le SEO et pour des URLs optimisées pour le référencement.
610
617
  Exemple :
611
618
 
612
619
  ```plaintext
@@ -664,7 +671,7 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
664
671
  return (
665
672
  <Navigate
666
673
  to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
667
- replace // Remplacer l'entrée actuelle de l'historique par la nouvelle
674
+ replace // Remplace l'entrée actuelle de l'historique par la nouvelle
668
675
  />
669
676
  );
670
677
  }
@@ -698,7 +705,7 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
698
705
  };
699
706
 
700
707
  /**
701
- * Un composant de routeur qui configure les routes spécifiques à une locale.
708
+ * Un composant de routeur qui configure les routes spécifiques à chaque locale.
702
709
  * Il utilise React Router pour gérer la navigation et rendre les composants localisés.
703
710
  */
704
711
  export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
@@ -809,7 +816,7 @@ const AppLocalized = ({ children, locale }) => {
809
816
  };
810
817
 
811
818
  /**
812
- * Un composant de routeur qui configure des routes spécifiques à chaque locale.
819
+ * Un composant routeur qui configure les routes spécifiques à chaque locale.
813
820
  * Il utilise React Router pour gérer la navigation et rendre les composants localisés.
814
821
  */
815
822
  export const LocaleRouter = ({ children }) => (
@@ -890,14 +897,14 @@ const AppLocalized = ({ children, locale }) => {
890
897
  );
891
898
  }
892
899
 
893
- // Envelopper les enfants avec IntlayerProvider et définir la locale courante
900
+ // Envelopper les enfants avec IntlayerProvider et définir la locale actuelle
894
901
  return (
895
902
  <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
896
903
  );
897
904
  } else {
898
905
  /**
899
906
  * Lorsque middleware.prefixDefault est faux, la locale par défaut n'est pas préfixée.
900
- * Assurez-vous que la locale courante est valide et n'est pas la locale par défaut.
907
+ * Assurez-vous que la locale actuelle est valide et n'est pas la locale par défaut.
901
908
  */
902
909
  if (
903
910
  currentLocale.toString() !== defaultLocale.toString() &&
@@ -905,7 +912,7 @@ const AppLocalized = ({ children, locale }) => {
905
912
  .filter(
906
913
  (locale) => locale.toString() !== defaultLocale.toString() // Exclure la locale par défaut
907
914
  )
908
- .includes(currentLocale) // Vérifier si la locale courante est dans la liste des locales valides
915
+ .includes(currentLocale) // Vérifier si la locale actuelle est dans la liste des locales valides
909
916
  ) {
910
917
  // Rediriger vers le chemin sans préfixe de locale
911
918
  return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
@@ -920,7 +927,7 @@ const AppLocalized = ({ children, locale }) => {
920
927
 
921
928
  /**
922
929
  * Un composant de routeur qui configure des routes spécifiques à la locale.
923
- * Il utilise React Router pour gérer la navigation et rendre les composants localisés.
930
+ * Il utilise React Router pour gérer la navigation et rendre des composants localisés.
924
931
  */
925
932
  const LocaleRouter = ({ children }) => (
926
933
  <BrowserRouter>
@@ -931,7 +938,7 @@ const LocaleRouter = ({ children }) => (
931
938
  )
932
939
  .map((locale) => (
933
940
  <Route
934
- // Modèle de route pour capturer la locale (ex. /en/, /fr/) et correspondre à tous les chemins suivants
941
+ // Modèle de route pour capturer la locale (ex. : /en/, /fr/) et correspondre à tous les chemins suivants
935
942
  path={`/${locale}/*`}
936
943
  key={locale}
937
944
  element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Enveloppe les enfants avec la gestion de la locale
@@ -939,7 +946,7 @@ const LocaleRouter = ({ children }) => (
939
946
  ))}
940
947
 
941
948
  {
942
- // Si le préfixe de la locale par défaut est désactivé, rendre les enfants directement à la racine
949
+ // Si le préfixe pour la locale par défaut est désactivé, rendre les enfants directement à la racine
943
950
  !middleware.prefixDefault && (
944
951
  <Route
945
952
  path="*"
@@ -1028,9 +1035,9 @@ module.exports = defineConfig({
1028
1035
  });
1029
1036
  ```
1030
1037
 
1031
- ### (Optionnel) Étape 8 : Modifier lURL lorsque la langue change
1038
+ ### (Optionnel) Étape 8 : Modifier l'URL lorsque la langue change
1032
1039
 
1033
- Pour modifier lURL lorsque la langue change, vous pouvez utiliser la propriété `onLocaleChange` fournie par le hook `useLocale`. Parallèlement, vous pouvez utiliser les hooks `useLocation` et `useNavigate` de `react-router-dom` pour mettre à jour le chemin de lURL.
1040
+ Pour modifier l'URL lorsque la langue change, vous pouvez utiliser la propriété `onLocaleChange` fournie par le hook `useLocale`. Parallèlement, vous pouvez utiliser les hooks `useLocation` et `useNavigate` de `react-router-dom` pour mettre à jour le chemin de l'URL.
1034
1041
 
1035
1042
  ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
1036
1043
  import { useLocation, useNavigate } from "react-router-dom";
@@ -1044,7 +1051,7 @@ import { useLocale } from "react-intlayer";
1044
1051
  import { type FC } from "react";
1045
1052
 
1046
1053
  const LocaleSwitcher: FC = () => {
1047
- const { pathname, search } = useLocation(); // Obtenir le chemin actuel de l’URL. Exemple : /fr/about?foo=bar
1054
+ const { pathname, search } = useLocation(); // Récupère le chemin URL actuel. Exemple : /fr/about?foo=bar
1048
1055
  const navigate = useNavigate();
1049
1056
 
1050
1057
  const { locale, availableLocales, setLocale } = useLocale({
@@ -1138,7 +1145,7 @@ const LocaleSwitcher = () => {
1138
1145
  key={localeItem}
1139
1146
  >
1140
1147
  <span>
1141
- {/* Langue locale - ex. FR */}
1148
+ {/* Locale - ex. FR */}
1142
1149
  {localeItem}
1143
1150
  </span>
1144
1151
  <span>
@@ -1146,7 +1153,7 @@ const LocaleSwitcher = () => {
1146
1153
  {getLocaleName(localeItem, locale)}
1147
1154
  </span>
1148
1155
  <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
1149
- {/* Langue dans la locale courante - ex. Francés avec la locale courante réglée sur Locales.SPANISH */}
1156
+ {/* Langue dans la locale actuelle - ex. Francés avec la locale actuelle définie sur Locales.SPANISH */}
1150
1157
  {getLocaleName(localeItem)}
1151
1158
  </span>
1152
1159
  <span dir="ltr" lang={Locales.ENGLISH}>
@@ -1214,7 +1221,7 @@ const LocaleSwitcher = () => {
1214
1221
  {getLocaleName(localeItem)}
1215
1222
  </span>
1216
1223
  <span dir="ltr" lang={Locales.ENGLISH}>
1217
- {/* Langue en anglais - par exemple French */}
1224
+ {/* Langue en anglais - par exemple Français */}
1218
1225
  {getLocaleName(localeItem, Locales.ENGLISH)}
1219
1226
  </span>
1220
1227
  </a>
@@ -1240,15 +1247,15 @@ Voici la **Étape 9** mise à jour avec des explications supplémentaires et des
1240
1247
 
1241
1248
  ---
1242
1249
 
1243
- ### (Optionnel) Étape 9 : Modifier les attributs Lang et Dir de la balise HTML
1250
+ ### (Optionnel) Étape 9 : Modifier les attributs de langue et de direction du HTML
1244
1251
 
1245
- Lorsque votre application prend en charge plusieurs langues, il est crucial de mettre à jour les attributs `lang` et `dir` de la balise `<html>` pour correspondre à la locale actuelle. Cela garantit :
1252
+ Lorsque votre application prend en charge plusieurs langues, il est crucial de mettre à jour les attributs `lang` et `dir` de la balise `<html>` pour qu'ils correspondent à la locale actuelle. Cela garantit :
1246
1253
 
1247
1254
  - **Accessibilité** : Les lecteurs d'écran et les technologies d'assistance s'appuient sur l'attribut `lang` correct pour prononcer et interpréter le contenu avec précision.
1248
1255
  - **Rendu du texte** : L'attribut `dir` (direction) assure que le texte est affiché dans le bon ordre (par exemple, de gauche à droite pour l'anglais, de droite à gauche pour l'arabe ou l'hébreu), ce qui est essentiel pour la lisibilité.
1249
1256
  - **SEO** : Les moteurs de recherche utilisent l'attribut `lang` pour déterminer la langue de votre page, aidant ainsi à diffuser le contenu localisé approprié dans les résultats de recherche.
1250
1257
 
1251
- En mettant à jour ces attributs dynamiquement lorsque la locale change, vous garantissez une expérience cohérente et accessible pour les utilisateurs dans toutes les langues prises en charge.
1258
+ En mettant à jour ces attributs de manière dynamique lorsque la locale change, vous garantissez une expérience cohérente et accessible pour les utilisateurs dans toutes les langues prises en charge.
1252
1259
 
1253
1260
  #### Implémentation du Hook
1254
1261
 
@@ -1289,7 +1296,7 @@ import { getHTMLTextDir } from "intlayer";
1289
1296
  * - `lang` : Informe les navigateurs et les moteurs de recherche de la langue de la page.
1290
1297
  * - `dir` : Assure l'ordre de lecture correct (par exemple, 'ltr' pour l'anglais, 'rtl' pour l'arabe).
1291
1298
  *
1292
- * Cette mise à jour dynamique est essentielle pour un rendu correct du texte, l'accessibilité et le SEO.
1299
+ * Cette mise à jour dynamique est essentielle pour un rendu correct du texte, l'accessibilité et le référencement SEO.
1293
1300
  */
1294
1301
  export const useI18nHTMLAttributes = () => {
1295
1302
  const { locale } = useLocale();
@@ -1311,7 +1318,7 @@ const { getHTMLTextDir } = require("intlayer");
1311
1318
 
1312
1319
  /**
1313
1320
  * Met à jour les attributs `lang` et `dir` de l'élément HTML <html> en fonction de la locale courante.
1314
- * - `lang` : Informe les navigateurs et moteurs de recherche de la langue de la page.
1321
+ * - `lang` : Informe les navigateurs et les moteurs de recherche de la langue de la page.
1315
1322
  * - `dir` : Assure l'ordre de lecture correct (par exemple, 'ltr' pour l'anglais, 'rtl' pour l'arabe).
1316
1323
  *
1317
1324
  * Cette mise à jour dynamique est essentielle pour un rendu correct du texte, l'accessibilité et le SEO.
@@ -1342,7 +1349,7 @@ import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1342
1349
  import "./App.css";
1343
1350
 
1344
1351
  const AppContent: FC = () => {
1345
- // Appliquez le hook pour mettre à jour les attributs lang et dir de la balise <html> selon la locale.
1352
+ // Appliquez le hook pour mettre à jour les attributs lang et dir de la balise <html> en fonction de la locale.
1346
1353
  useI18nHTMLAttributes();
1347
1354
 
1348
1355
  // ... Le reste de votre composant
@@ -1402,12 +1409,13 @@ module.exports = App;
1402
1409
 
1403
1410
  En appliquant ces modifications, votre application va :
1404
1411
 
1405
- - Assurer que l'attribut **lang** reflète correctement la locale actuelle, ce qui est important pour le SEO et le comportement du navigateur.
1412
+ - Assurer que l'attribut **langue** (`lang`) reflète correctement la locale actuelle, ce qui est important pour le SEO et le comportement du navigateur.
1406
1413
  - Ajuster la **direction du texte** (`dir`) selon la locale, améliorant la lisibilité et l'utilisabilité pour les langues avec des ordres de lecture différents.
1407
1414
  - Fournir une expérience plus **accessible**, car les technologies d'assistance dépendent de ces attributs pour fonctionner de manière optimale.
1408
1415
 
1409
- ### (Optionnel) Étape 10 : Création d'un composant de lien localisé
1416
+ ### (Optionnel) Étape 10 : Créer un composant de lien localisé
1410
1417
 
1418
+ ```tsx fileName="src/App.tsx" codeFormat="typescript"
1411
1419
  // Appliquer le hook pour mettre à jour les attributs lang et dir de la balise <html> en fonction de la locale.
1412
1420
  useI18nHTMLAttributes();
1413
1421
 
@@ -1422,23 +1430,23 @@ const App = () => (
1422
1430
 
1423
1431
  module.exports = App;
1424
1432
 
1425
- ````
1433
+ ```
1426
1434
 
1427
1435
  En appliquant ces modifications, votre application va :
1428
1436
 
1429
- - S'assurer que l'attribut **langue** (`lang`) reflète correctement la locale actuelle, ce qui est important pour le référencement SEO et le comportement des navigateurs.
1430
- - Ajuster la **direction du texte** (`dir`) selon la locale, améliorant ainsi la lisibilité et l'utilisabilité pour les langues avec des ordres de lecture différents.
1437
+ - S'assurer que l'attribut **lang** reflète correctement la locale actuelle, ce qui est important pour le SEO et le comportement des navigateurs.
1438
+ - Ajuster la **direction du texte** (`dir`) selon la locale, améliorant la lisibilité et l'utilisabilité pour les langues avec des ordres de lecture différents.
1431
1439
  - Offrir une expérience plus **accessible**, car les technologies d'assistance dépendent de ces attributs pour fonctionner de manière optimale.
1432
1440
 
1433
1441
  ### (Optionnel) Étape 10 : Créer un composant Link localisé
1434
1442
 
1435
- Pour garantir que la navigation de votre application respecte la langue actuelle, vous pouvez créer un composant `Link` personnalisé. Ce composant préfixe automatiquement les URL internes avec la langue courante. Par exemple, lorsqu’un utilisateur francophone clique sur un lien vers la page « À propos », il est redirigé vers `/fr/about` au lieu de `/about`.
1443
+ Pour garantir que la navigation de votre application respecte la locale actuelle, vous pouvez créer un composant `Link` personnalisé. Ce composant préfixe automatiquement les URL internes avec la langue courante. Par exemple, lorsqu’un utilisateur francophone clique sur un lien vers la page "À propos", il est redirigé vers `/fr/about` au lieu de `/about`.
1436
1444
 
1437
1445
  Ce comportement est utile pour plusieurs raisons :
1438
1446
 
1439
- - **SEO et expérience utilisateur** : Les URL localisées aident les moteurs de recherche à indexer correctement les pages spécifiques à une langue et fournissent aux utilisateurs un contenu dans leur langue préférée.
1440
- - **Cohérence** : En utilisant un lien localisé dans toute votre application, vous garantissez que la navigation reste dans la langue actuelle, évitant ainsi des changements de langue inattendus.
1441
- - **Maintenabilité** : Centraliser la logique de localisation dans un seul composant simplifie la gestion des URLs, rendant votre base de code plus facile à maintenir et à étendre au fur et à mesure que votre application grandit.
1447
+ - **SEO et expérience utilisateur** : Les URL localisées aident les moteurs de recherche à indexer correctement les pages spécifiques à une langue et fournissent aux utilisateurs du contenu dans leur langue préférée.
1448
+ - **Cohérence** : En utilisant un lien localisé dans toute votre application, vous garantissez que la navigation reste dans la locale actuelle, évitant ainsi des changements de langue inattendus.
1449
+ - **Maintenabilité** : Centraliser la logique de localisation dans un seul composant simplifie la gestion des URL, rendant votre base de code plus facile à maintenir et à étendre à mesure que votre application grandit.
1442
1450
 
1443
1451
  Voici l'implémentation d'un composant `Link` localisé en TypeScript :
1444
1452
 
@@ -1487,7 +1495,7 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
1487
1495
  );
1488
1496
 
1489
1497
  Link.displayName = "Link";
1490
- ````
1498
+ ```
1491
1499
 
1492
1500
  ```jsx fileName="src/components/Link.mjx" codeFormat="esm"
1493
1501
  import { getLocalizedUrl } from "intlayer";
@@ -1503,7 +1511,7 @@ export const checkIsExternalLink = (href?: string): boolean =>
1503
1511
 
1504
1512
  /**
1505
1513
  * Composant Link personnalisé qui adapte l'attribut href en fonction de la locale actuelle.
1506
- * Pour les liens internes, il utilise `getLocalizedUrl` pour préfixer l'URL avec la locale (par exemple, /fr/about).
1514
+ * Pour les liens internes, il utilise `getLocalizedUrl` pour préfixer l'URL avec la locale (ex. : /fr/about).
1507
1515
  * Cela garantit que la navigation reste dans le même contexte de locale.
1508
1516
  */
1509
1517
  export const Link = forwardRef(({ href, children, ...props }, ref) => {
@@ -1571,12 +1579,12 @@ Link.displayName = "Link";
1571
1579
  Le hook `useLocale` fournit la locale actuelle (par exemple, `fr` pour le français).
1572
1580
 
1573
1581
  - **Localisation de l'URL** :
1574
- Pour les liens internes (c'est-à-dire non externes), `getLocalizedUrl` est utilisé pour préfixer automatiquement l'URL avec la locale courante. Cela signifie que si votre utilisateur est en français, passer `/about` comme `href` le transformera en `/fr/about`.
1582
+ Pour les liens internes (cest-à-dire non externes), `getLocalizedUrl` est utilisé pour préfixer automatiquement l'URL avec la locale courante. Cela signifie que si votre utilisateur est en français, passer `/about` comme `href` le transformera en `/fr/about`.
1575
1583
 
1576
1584
  - **Retour du lien** :
1577
1585
  Le composant retourne un élément `<a>` avec l’URL localisée, garantissant que la navigation est cohérente avec la locale.
1578
1586
 
1579
- En intégrant ce composant `Link` dans toute votre application, vous maintenez une expérience utilisateur cohérente et adaptée à la langue tout en bénéficiant d’un meilleur référencement SEO et d’une meilleure ergonomie.
1587
+ En intégrant ce composant `Link` dans toute votre application, vous maintenez une expérience utilisateur cohérente et adaptée à la langue tout en bénéficiant d’une meilleure SEO et d’une meilleure utilisabilité.
1580
1588
 
1581
1589
  ### Configurer TypeScript
1582
1590
 
@@ -1602,7 +1610,7 @@ Assurez-vous que votre configuration TypeScript inclut les types générés auto
1602
1610
 
1603
1611
  Il est recommandé d'ignorer les fichiers générés par Intlayer. Cela vous permet d'éviter de les commettre dans votre dépôt Git.
1604
1612
 
1605
- Pour ce faire, vous pouvez ajouter les instructions suivantes à votre fichier `.gitignore` :
1613
+ Pour ce faire, vous pouvez ajouter les instructions suivantes dans votre fichier `.gitignore` :
1606
1614
 
1607
1615
  ```plaintext
1608
1616
  # Ignorer les fichiers générés par Intlayer
@@ -1615,7 +1623,7 @@ Pour améliorer votre expérience de développement avec Intlayer, vous pouvez i
1615
1623
 
1616
1624
  [Installer depuis le Marketplace VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
1617
1625
 
1618
- Cette extension fournit :
1626
+ Cette extension offre :
1619
1627
 
1620
1628
  - **Autocomplétion** pour les clés de traduction.
1621
1629
  - **Détection d'erreurs en temps réel** pour les traductions manquantes.
@@ -1632,6 +1640,6 @@ Pour aller plus loin, vous pouvez implémenter l’[éditeur visuel](https://git
1632
1640
 
1633
1641
  ---
1634
1642
 
1635
- ## Historique de la documentation
1643
+ ## Historique du document
1636
1644
 
1637
1645
  - 5.5.10 - 2025-06-29 : Historique initial