@intlayer/docs 5.5.8

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 (1135) hide show
  1. package/LICENSE +202 -0
  2. package/ar/CI_CD.md +149 -0
  3. package/ar/autoFill.md +157 -0
  4. package/ar/concept/content/file.md +1 -0
  5. package/ar/configuration.md +492 -0
  6. package/ar/dictionary/condition.md +213 -0
  7. package/ar/dictionary/content_extention_customization.md +81 -0
  8. package/ar/dictionary/enumeration.md +221 -0
  9. package/ar/dictionary/file.md +209 -0
  10. package/ar/dictionary/function_fetching.md +190 -0
  11. package/ar/dictionary/get_started.md +490 -0
  12. package/ar/dictionary/insertion.md +161 -0
  13. package/ar/dictionary/markdown.md +343 -0
  14. package/ar/dictionary/nesting.md +249 -0
  15. package/ar/dictionary/translation.md +307 -0
  16. package/ar/header.md +7 -0
  17. package/ar/how_works_intlayer.md +219 -0
  18. package/ar/index.md +125 -0
  19. package/ar/interest_of_intlayer.md +132 -0
  20. package/ar/intlayer_CMS.md +328 -0
  21. package/ar/intlayer_cli.md +258 -0
  22. package/ar/intlayer_visual_editor.md +210 -0
  23. package/ar/intlayer_with_angular.md +3 -0
  24. package/ar/intlayer_with_create_react_app.md +1196 -0
  25. package/ar/intlayer_with_express.md +270 -0
  26. package/ar/intlayer_with_lynx+react.md +482 -0
  27. package/ar/intlayer_with_nextjs_14.md +1260 -0
  28. package/ar/intlayer_with_nextjs_15.md +1311 -0
  29. package/ar/intlayer_with_nextjs_page_router.md +1099 -0
  30. package/ar/intlayer_with_react_native+expo.md +539 -0
  31. package/ar/intlayer_with_vite+preact.md +1679 -0
  32. package/ar/intlayer_with_vite+react.md +1582 -0
  33. package/ar/intlayer_with_vite+solid.md +3 -0
  34. package/ar/intlayer_with_vite+svelte.md +3 -0
  35. package/ar/intlayer_with_vite+vue.md +989 -0
  36. package/ar/introduction.md +190 -0
  37. package/ar/mcp_server.md +150 -0
  38. package/ar/packages/@intlayer/api/index.md +31 -0
  39. package/ar/packages/@intlayer/chokidar/index.md +31 -0
  40. package/ar/packages/@intlayer/cli/index.md +1 -0
  41. package/ar/packages/@intlayer/config/index.md +116 -0
  42. package/ar/packages/@intlayer/core/index.md +25 -0
  43. package/ar/packages/@intlayer/design-system/index.md +21 -0
  44. package/ar/packages/@intlayer/dictionary-entry/index.md +21 -0
  45. package/ar/packages/@intlayer/editor/index.md +21 -0
  46. package/ar/packages/@intlayer/editor-react/index.md +21 -0
  47. package/ar/packages/@intlayer/webpack/index.md +35 -0
  48. package/ar/packages/angular-intlayer/index.md +3 -0
  49. package/ar/packages/express-intlayer/index.md +232 -0
  50. package/ar/packages/express-intlayer/t.md +448 -0
  51. package/ar/packages/intlayer/getConfiguration.md +120 -0
  52. package/ar/packages/intlayer/getEnumeration.md +138 -0
  53. package/ar/packages/intlayer/getHTMLTextDir.md +97 -0
  54. package/ar/packages/intlayer/getLocaleLang.md +61 -0
  55. package/ar/packages/intlayer/getLocaleName.md +93 -0
  56. package/ar/packages/intlayer/getLocalizedUrl.md +221 -0
  57. package/ar/packages/intlayer/getMultilingualUrls.md +198 -0
  58. package/ar/packages/intlayer/getPathWithoutLocale.md +50 -0
  59. package/ar/packages/intlayer/getTranslation.md +175 -0
  60. package/ar/packages/intlayer/getTranslationContent.md +175 -0
  61. package/ar/packages/intlayer/index.md +254 -0
  62. package/ar/packages/intlayer-cli/index.md +41 -0
  63. package/ar/packages/intlayer-editor/index.md +113 -0
  64. package/ar/packages/lynx-intlayer/index.md +58 -0
  65. package/ar/packages/next-intlayer/index.md +267 -0
  66. package/ar/packages/next-intlayer/t.md +341 -0
  67. package/ar/packages/next-intlayer/useDictionary.md +248 -0
  68. package/ar/packages/next-intlayer/useIntlayer.md +237 -0
  69. package/ar/packages/next-intlayer/useIntlayerAsync.md +211 -0
  70. package/ar/packages/next-intlayer/useLocale.md +105 -0
  71. package/ar/packages/preact-intlayer/index.md +3 -0
  72. package/ar/packages/react-intlayer/index.md +261 -0
  73. package/ar/packages/react-intlayer/t.md +283 -0
  74. package/ar/packages/react-intlayer/useDictionary.md +268 -0
  75. package/ar/packages/react-intlayer/useIntlayer.md +225 -0
  76. package/ar/packages/react-intlayer/useIntlayerAsync.md +226 -0
  77. package/ar/packages/react-intlayer/useLocale.md +184 -0
  78. package/ar/packages/react-native-intlayer/index.md +57 -0
  79. package/ar/packages/react-scripts-intlayer/index.md +57 -0
  80. package/ar/packages/solid-intlayer/index.md +3 -0
  81. package/ar/packages/svelte-intlayer/index.md +3 -0
  82. package/ar/packages/vite-intlayer/index.md +53 -0
  83. package/ar/packages/vue-intlayer/index.md +3 -0
  84. package/ar/per_locale_file.md +298 -0
  85. package/ar/privacy_notice.md +61 -0
  86. package/ar/roadmap.md +208 -0
  87. package/ar/terms_of_service.md +33 -0
  88. package/ar/vs_code_extension.md +139 -0
  89. package/de/CI_CD.md +149 -0
  90. package/de/angular-intlayer/index.md +3 -0
  91. package/de/autoFill.md +157 -0
  92. package/de/configuration.md +501 -0
  93. package/de/dictionary/condition.md +213 -0
  94. package/de/dictionary/content_extention_customization.md +81 -0
  95. package/de/dictionary/enumeration.md +221 -0
  96. package/de/dictionary/file.md +207 -0
  97. package/de/dictionary/function_fetching.md +190 -0
  98. package/de/dictionary/get_started.md +466 -0
  99. package/de/dictionary/insertion.md +167 -0
  100. package/de/dictionary/markdown.md +345 -0
  101. package/de/dictionary/nesting.md +252 -0
  102. package/de/dictionary/translation.md +287 -0
  103. package/de/header.md +5 -0
  104. package/de/how_works_intlayer.md +216 -0
  105. package/de/index.md +125 -0
  106. package/de/insertion.md +0 -0
  107. package/de/interest_of_intlayer.md +132 -0
  108. package/de/intlayer_CMS.md +334 -0
  109. package/de/intlayer_cli.md +274 -0
  110. package/de/intlayer_visual_editor.md +210 -0
  111. package/de/intlayer_with_angular.md +3 -0
  112. package/de/intlayer_with_create_react_app.md +1200 -0
  113. package/de/intlayer_with_express.md +268 -0
  114. package/de/intlayer_with_lynx+react.md +482 -0
  115. package/de/intlayer_with_nextjs_14.md +1258 -0
  116. package/de/intlayer_with_nextjs_15.md +1306 -0
  117. package/de/intlayer_with_nextjs_page_router.md +1087 -0
  118. package/de/intlayer_with_react_native+expo.md +539 -0
  119. package/de/intlayer_with_vite+preact.md +1701 -0
  120. package/de/intlayer_with_vite+react.md +1584 -0
  121. package/de/intlayer_with_vite+solid.md +3 -0
  122. package/de/intlayer_with_vite+svelte.md +3 -0
  123. package/de/intlayer_with_vite+vue.md +989 -0
  124. package/de/introduction.md +186 -0
  125. package/de/mcp_server.md +150 -0
  126. package/de/packages/@intlayer/api/index.md +31 -0
  127. package/de/packages/@intlayer/chokidar/index.md +31 -0
  128. package/de/packages/@intlayer/cli/index.md +21 -0
  129. package/de/packages/@intlayer/config/index.md +116 -0
  130. package/de/packages/@intlayer/core/index.md +25 -0
  131. package/de/packages/@intlayer/design-system/index.md +21 -0
  132. package/de/packages/@intlayer/dictionary-entry/index.md +21 -0
  133. package/de/packages/@intlayer/editor/index.md +21 -0
  134. package/de/packages/@intlayer/editor-react/index.md +21 -0
  135. package/de/packages/@intlayer/webpack/index.md +35 -0
  136. package/de/packages/angular-intlayer/index.md +31 -0
  137. package/de/packages/express-intlayer/index.md +229 -0
  138. package/de/packages/express-intlayer/t.md +432 -0
  139. package/de/packages/intlayer/getConfiguration.md +120 -0
  140. package/de/packages/intlayer/getEnumeration.md +140 -0
  141. package/de/packages/intlayer/getHTMLTextDir.md +97 -0
  142. package/de/packages/intlayer/getLocaleLang.md +57 -0
  143. package/de/packages/intlayer/getLocaleName.md +93 -0
  144. package/de/packages/intlayer/getLocalizedUrl.md +221 -0
  145. package/de/packages/intlayer/getMultilingualUrls.md +198 -0
  146. package/de/packages/intlayer/getPathWithoutLocale.md +50 -0
  147. package/de/packages/intlayer/getTranslation.md +166 -0
  148. package/de/packages/intlayer/getTranslationContent.md +166 -0
  149. package/de/packages/intlayer/index.md +478 -0
  150. package/de/packages/intlayer-cli/index.md +41 -0
  151. package/de/packages/intlayer-editor/index.md +113 -0
  152. package/de/packages/lynx-intlayer/index.md +58 -0
  153. package/de/packages/next-intlayer/index.md +263 -0
  154. package/de/packages/next-intlayer/t.md +325 -0
  155. package/de/packages/next-intlayer/useDictionary.md +242 -0
  156. package/de/packages/next-intlayer/useIntlayer.md +237 -0
  157. package/de/packages/next-intlayer/useIntlayerAsync.md +211 -0
  158. package/de/packages/next-intlayer/useLocale.md +105 -0
  159. package/de/packages/preact-intlayer/index.md +3 -0
  160. package/de/packages/react-intlayer/index.md +260 -0
  161. package/de/packages/react-intlayer/t.md +277 -0
  162. package/de/packages/react-intlayer/useDictionary.md +260 -0
  163. package/de/packages/react-intlayer/useIntlayer.md +225 -0
  164. package/de/packages/react-intlayer/useIntlayerAsync.md +226 -0
  165. package/de/packages/react-intlayer/useLocale.md +184 -0
  166. package/de/packages/react-native-intlayer/index.md +57 -0
  167. package/de/packages/react-scripts-intlayer/index.md +57 -0
  168. package/de/packages/solid-intlayer/index.md +3 -0
  169. package/de/packages/svelte-intlayer/index.md +3 -0
  170. package/de/packages/vite-intlayer/index.md +53 -0
  171. package/de/packages/vue-intlayer/index.md +3 -0
  172. package/de/per_locale_file.md +298 -0
  173. package/de/privacy_notice.md +61 -0
  174. package/de/roadmap.md +206 -0
  175. package/de/terms_of_service.md +33 -0
  176. package/de/vs_code_extension.md +139 -0
  177. package/en/CI_CD.md +149 -0
  178. package/en/autoFill.md +157 -0
  179. package/en/configuration.md +506 -0
  180. package/en/dictionary/condition.md +213 -0
  181. package/en/dictionary/content_extention_customization.md +81 -0
  182. package/en/dictionary/enumeration.md +221 -0
  183. package/en/dictionary/file.md +198 -0
  184. package/en/dictionary/function_fetching.md +190 -0
  185. package/en/dictionary/get_started.md +504 -0
  186. package/en/dictionary/insertion.md +167 -0
  187. package/en/dictionary/markdown.md +355 -0
  188. package/en/dictionary/nesting.md +249 -0
  189. package/en/dictionary/translation.md +285 -0
  190. package/en/frequent_questions/build_dictionaries.md +37 -0
  191. package/en/frequent_questions/domain_routing.md +92 -0
  192. package/en/frequent_questions/esbuild_error.md +9 -0
  193. package/en/frequent_questions/get_locale_cookie.md +121 -0
  194. package/en/frequent_questions/intlayer_command_undefined.md +135 -0
  195. package/en/frequent_questions/locale_incorect_in_url.md +52 -0
  196. package/en/frequent_questions/static_rendering.md +24 -0
  197. package/en/frequent_questions/unknown_command.md +76 -0
  198. package/en/header.md +5 -0
  199. package/en/how_works_intlayer.md +219 -0
  200. package/en/index.md +139 -0
  201. package/en/interest_of_intlayer.md +133 -0
  202. package/en/intlayer_CMS.md +334 -0
  203. package/en/intlayer_cli.md +309 -0
  204. package/en/intlayer_visual_editor.md +244 -0
  205. package/en/intlayer_with_angular.md +139 -0
  206. package/en/intlayer_with_create_react_app.md +1209 -0
  207. package/en/intlayer_with_express.md +391 -0
  208. package/en/intlayer_with_lynx+react.md +483 -0
  209. package/en/intlayer_with_nextjs_14.md +1298 -0
  210. package/en/intlayer_with_nextjs_15.md +1347 -0
  211. package/en/intlayer_with_nextjs_page_router.md +1126 -0
  212. package/en/intlayer_with_react_native+expo.md +630 -0
  213. package/en/intlayer_with_vite+preact.md +1659 -0
  214. package/en/intlayer_with_vite+react.md +1605 -0
  215. package/en/intlayer_with_vite+solid.md +254 -0
  216. package/en/intlayer_with_vite+svelte.md +254 -0
  217. package/en/intlayer_with_vite+vue.md +1000 -0
  218. package/en/introduction.md +185 -0
  219. package/en/mcp_server.md +150 -0
  220. package/en/packages/@intlayer/api/index.md +31 -0
  221. package/en/packages/@intlayer/chokidar/index.md +31 -0
  222. package/en/packages/@intlayer/cli/index.md +21 -0
  223. package/en/packages/@intlayer/config/index.md +116 -0
  224. package/en/packages/@intlayer/core/index.md +25 -0
  225. package/en/packages/@intlayer/design-system/index.md +21 -0
  226. package/en/packages/@intlayer/dictionary-entry/index.md +21 -0
  227. package/en/packages/@intlayer/editor/index.md +21 -0
  228. package/en/packages/@intlayer/editor-react/index.md +21 -0
  229. package/en/packages/@intlayer/webpack/index.md +35 -0
  230. package/en/packages/angular-intlayer/index.md +31 -0
  231. package/en/packages/express-intlayer/index.md +229 -0
  232. package/en/packages/express-intlayer/t.md +432 -0
  233. package/en/packages/intlayer/getConfiguration.md +120 -0
  234. package/en/packages/intlayer/getEnumeration.md +138 -0
  235. package/en/packages/intlayer/getHTMLTextDir.md +97 -0
  236. package/en/packages/intlayer/getLocaleLang.md +57 -0
  237. package/en/packages/intlayer/getLocaleName.md +93 -0
  238. package/en/packages/intlayer/getLocalizedUrl.md +221 -0
  239. package/en/packages/intlayer/getMultilingualUrls.md +198 -0
  240. package/en/packages/intlayer/getPathWithoutLocale.md +50 -0
  241. package/en/packages/intlayer/getTranslation.md +166 -0
  242. package/en/packages/intlayer/getTranslationContent.md +166 -0
  243. package/en/packages/intlayer/index.md +476 -0
  244. package/en/packages/intlayer-cli/index.md +41 -0
  245. package/en/packages/intlayer-editor/index.md +113 -0
  246. package/en/packages/lynx-intlayer/index.md +60 -0
  247. package/en/packages/next-intlayer/index.md +263 -0
  248. package/en/packages/next-intlayer/t.md +326 -0
  249. package/en/packages/next-intlayer/useDictionary.md +242 -0
  250. package/en/packages/next-intlayer/useIntlayer.md +237 -0
  251. package/en/packages/next-intlayer/useIntlayerAsync.md +211 -0
  252. package/en/packages/next-intlayer/useLocale.md +105 -0
  253. package/en/packages/preact-intlayer/index.md +31 -0
  254. package/en/packages/react-intlayer/index.md +257 -0
  255. package/en/packages/react-intlayer/t.md +277 -0
  256. package/en/packages/react-intlayer/useDictionary.md +260 -0
  257. package/en/packages/react-intlayer/useIntlayer.md +225 -0
  258. package/en/packages/react-intlayer/useIntlayerAsync.md +226 -0
  259. package/en/packages/react-intlayer/useLocale.md +184 -0
  260. package/en/packages/react-native-intlayer/index.md +59 -0
  261. package/en/packages/react-scripts-intlayer/index.md +57 -0
  262. package/en/packages/solid-intlayer/index.md +31 -0
  263. package/en/packages/svelte-intlayer/index.md +31 -0
  264. package/en/packages/vite-intlayer/index.md +53 -0
  265. package/en/packages/vue-intlayer/index.md +31 -0
  266. package/en/per_locale_file.md +297 -0
  267. package/en/privacy_notice.md +61 -0
  268. package/en/roadmap.md +270 -0
  269. package/en/t.md +163 -0
  270. package/en/terms_of_service.md +33 -0
  271. package/en/vs_code_extension.md +129 -0
  272. package/en-GB/CI_CD.md +149 -0
  273. package/en-GB/autoFill.md +0 -0
  274. package/en-GB/configuration.md +490 -0
  275. package/en-GB/dictionary/condition.md +213 -0
  276. package/en-GB/dictionary/content_extention_customization.md +83 -0
  277. package/en-GB/dictionary/enumeration.md +221 -0
  278. package/en-GB/dictionary/file.md +201 -0
  279. package/en-GB/dictionary/function_fetching.md +190 -0
  280. package/en-GB/dictionary/get_started.md +466 -0
  281. package/en-GB/dictionary/insertion.md +167 -0
  282. package/en-GB/dictionary/markdown.md +343 -0
  283. package/en-GB/dictionary/nesting.md +249 -0
  284. package/en-GB/dictionary/translation.md +285 -0
  285. package/en-GB/header.md +1 -0
  286. package/en-GB/how_works_intlayer.md +217 -0
  287. package/en-GB/index.md +142 -0
  288. package/en-GB/interest_of_intlayer.md +123 -0
  289. package/en-GB/intlayer_CMS.md +334 -0
  290. package/en-GB/intlayer_cli.md +239 -0
  291. package/en-GB/intlayer_visual_editor.md +210 -0
  292. package/en-GB/intlayer_with_angular.md +3 -0
  293. package/en-GB/intlayer_with_create_react_app.md +1192 -0
  294. package/en-GB/intlayer_with_express.md +267 -0
  295. package/en-GB/intlayer_with_lynx+react.md +484 -0
  296. package/en-GB/intlayer_with_nextjs_14.md +1267 -0
  297. package/en-GB/intlayer_with_nextjs_15.md +1308 -0
  298. package/en-GB/intlayer_with_nextjs_page_router.md +1087 -0
  299. package/en-GB/intlayer_with_react_native+expo.md +539 -0
  300. package/en-GB/intlayer_with_vite+preact.md +1648 -0
  301. package/en-GB/intlayer_with_vite+react.md +1430 -0
  302. package/en-GB/intlayer_with_vite+solid.md +3 -0
  303. package/en-GB/intlayer_with_vite+svelte.md +3 -0
  304. package/en-GB/intlayer_with_vite+vue.md +993 -0
  305. package/en-GB/introduction.md +201 -0
  306. package/en-GB/mcp_server.md +150 -0
  307. package/en-GB/packages/@intlayer/api/index.md +31 -0
  308. package/en-GB/packages/@intlayer/chokidar/index.md +31 -0
  309. package/en-GB/packages/@intlayer/cli/index.md +21 -0
  310. package/en-GB/packages/@intlayer/config/index.md +116 -0
  311. package/en-GB/packages/@intlayer/core/index.md +25 -0
  312. package/en-GB/packages/@intlayer/design-system/index.md +21 -0
  313. package/en-GB/packages/@intlayer/dictionary-entry/index.md +21 -0
  314. package/en-GB/packages/@intlayer/editor/index.md +21 -0
  315. package/en-GB/packages/@intlayer/editor-react/index.md +21 -0
  316. package/en-GB/packages/@intlayer/webpack/index.md +35 -0
  317. package/en-GB/packages/angular-intlayer/index.md +3 -0
  318. package/en-GB/packages/express-intlayer/index.md +229 -0
  319. package/en-GB/packages/express-intlayer/t.md +432 -0
  320. package/en-GB/packages/intlayer/getConfiguration.md +120 -0
  321. package/en-GB/packages/intlayer/getEnumeration.md +140 -0
  322. package/en-GB/packages/intlayer/getHTMLTextDir.md +97 -0
  323. package/en-GB/packages/intlayer/getLocaleLang.md +57 -0
  324. package/en-GB/packages/intlayer/getLocaleName.md +93 -0
  325. package/en-GB/packages/intlayer/getLocalizedUrl.md +221 -0
  326. package/en-GB/packages/intlayer/getMultilingualUrls.md +198 -0
  327. package/en-GB/packages/intlayer/getPathWithoutLocale.md +50 -0
  328. package/en-GB/packages/intlayer/getTranslation.md +166 -0
  329. package/en-GB/packages/intlayer/getTranslationContent.md +166 -0
  330. package/en-GB/packages/intlayer/index.md +476 -0
  331. package/en-GB/packages/intlayer-cli/index.md +41 -0
  332. package/en-GB/packages/intlayer-editor/index.md +113 -0
  333. package/en-GB/packages/lynx-intlayer/index.md +58 -0
  334. package/en-GB/packages/next-intlayer/index.md +263 -0
  335. package/en-GB/packages/next-intlayer/t.md +326 -0
  336. package/en-GB/packages/next-intlayer/useDictionary.md +242 -0
  337. package/en-GB/packages/next-intlayer/useIntlayer.md +237 -0
  338. package/en-GB/packages/next-intlayer/useIntlayerAsync.md +211 -0
  339. package/en-GB/packages/next-intlayer/useLocale.md +105 -0
  340. package/en-GB/packages/preact-intlayer/index.md +3 -0
  341. package/en-GB/packages/react-intlayer/index.md +257 -0
  342. package/en-GB/packages/react-intlayer/t.md +277 -0
  343. package/en-GB/packages/react-intlayer/useDictionary.md +260 -0
  344. package/en-GB/packages/react-intlayer/useIntlayer.md +225 -0
  345. package/en-GB/packages/react-intlayer/useIntlayerAsync.md +226 -0
  346. package/en-GB/packages/react-intlayer/useLocale.md +184 -0
  347. package/en-GB/packages/react-native-intlayer/index.md +57 -0
  348. package/en-GB/packages/react-scripts-intlayer/index.md +57 -0
  349. package/en-GB/packages/solid-intlayer/index.md +3 -0
  350. package/en-GB/packages/svelte-intlayer/index.md +3 -0
  351. package/en-GB/packages/vite-intlayer/index.md +53 -0
  352. package/en-GB/packages/vue-intlayer/index.md +3 -0
  353. package/en-GB/per_locale_file.md +298 -0
  354. package/en-GB/privacy_notice.md +57 -0
  355. package/en-GB/roadmap.md +206 -0
  356. package/en-GB/terms_of_service.md +33 -0
  357. package/en-GB/vs_code_extension.md +139 -0
  358. package/es/CI_CD.md +149 -0
  359. package/es/autoFill.md +157 -0
  360. package/es/configuration.md +503 -0
  361. package/es/dictionary/condition.md +213 -0
  362. package/es/dictionary/content_extention_customization.md +81 -0
  363. package/es/dictionary/enumeration.md +221 -0
  364. package/es/dictionary/file.md +206 -0
  365. package/es/dictionary/function_fetching.md +190 -0
  366. package/es/dictionary/get_started.md +466 -0
  367. package/es/dictionary/insertion.md +161 -0
  368. package/es/dictionary/markdown.md +338 -0
  369. package/es/dictionary/nesting.md +249 -0
  370. package/es/dictionary/translation.md +287 -0
  371. package/es/header.md +5 -0
  372. package/es/how_works_intlayer.md +217 -0
  373. package/es/index.md +122 -0
  374. package/es/interest_of_intlayer.md +132 -0
  375. package/es/intlayer_CMS.md +334 -0
  376. package/es/intlayer_cli.md +274 -0
  377. package/es/intlayer_visual_editor.md +210 -0
  378. package/es/intlayer_with_angular.md +3 -0
  379. package/es/intlayer_with_create_react_app.md +1192 -0
  380. package/es/intlayer_with_express.md +276 -0
  381. package/es/intlayer_with_lynx+react.md +475 -0
  382. package/es/intlayer_with_nextjs_14.md +1258 -0
  383. package/es/intlayer_with_nextjs_15.md +1308 -0
  384. package/es/intlayer_with_nextjs_page_router.md +1088 -0
  385. package/es/intlayer_with_react_native+expo.md +180 -0
  386. package/es/intlayer_with_vite+preact.md +1637 -0
  387. package/es/intlayer_with_vite+react.md +1592 -0
  388. package/es/intlayer_with_vite+solid.md +3 -0
  389. package/es/intlayer_with_vite+svelte.md +3 -0
  390. package/es/intlayer_with_vite+vue.md +947 -0
  391. package/es/introduction.md +184 -0
  392. package/es/mcp_server.md +150 -0
  393. package/es/packages/@intlayer/api/index.md +31 -0
  394. package/es/packages/@intlayer/chokidar/index.md +31 -0
  395. package/es/packages/@intlayer/cli/index.md +21 -0
  396. package/es/packages/@intlayer/config/index.md +116 -0
  397. package/es/packages/@intlayer/core/index.md +25 -0
  398. package/es/packages/@intlayer/design-system/index.md +21 -0
  399. package/es/packages/@intlayer/dictionary-entry/index.md +21 -0
  400. package/es/packages/@intlayer/editor/index.md +21 -0
  401. package/es/packages/@intlayer/editor-react/index.md +21 -0
  402. package/es/packages/@intlayer/webpack/index.md +35 -0
  403. package/es/packages/angular-intlayer/index.md +3 -0
  404. package/es/packages/express-intlayer/index.md +229 -0
  405. package/es/packages/express-intlayer/t.md +432 -0
  406. package/es/packages/intlayer/getConfiguration.md +120 -0
  407. package/es/packages/intlayer/getEnumeration.md +138 -0
  408. package/es/packages/intlayer/getHTMLTextDir.md +97 -0
  409. package/es/packages/intlayer/getLocaleLang.md +57 -0
  410. package/es/packages/intlayer/getLocaleName.md +93 -0
  411. package/es/packages/intlayer/getLocalizedUrl.md +221 -0
  412. package/es/packages/intlayer/getMultilingualUrls.md +198 -0
  413. package/es/packages/intlayer/getPathWithoutLocale.md +50 -0
  414. package/es/packages/intlayer/getTranslation.md +166 -0
  415. package/es/packages/intlayer/getTranslationContent.md +166 -0
  416. package/es/packages/intlayer/index.md +478 -0
  417. package/es/packages/intlayer-cli/index.md +41 -0
  418. package/es/packages/intlayer-editor/index.md +115 -0
  419. package/es/packages/lynx-intlayer/index.md +58 -0
  420. package/es/packages/next-intlayer/index.md +263 -0
  421. package/es/packages/next-intlayer/t.md +325 -0
  422. package/es/packages/next-intlayer/useDictionary.md +242 -0
  423. package/es/packages/next-intlayer/useIntlayer.md +237 -0
  424. package/es/packages/next-intlayer/useIntlayerAsync.md +211 -0
  425. package/es/packages/next-intlayer/useLocale.md +105 -0
  426. package/es/packages/preact-intlayer/index.md +3 -0
  427. package/es/packages/react-intlayer/index.md +263 -0
  428. package/es/packages/react-intlayer/t.md +277 -0
  429. package/es/packages/react-intlayer/useDictionary.md +270 -0
  430. package/es/packages/react-intlayer/useIntlayer.md +225 -0
  431. package/es/packages/react-intlayer/useIntlayerAsync.md +226 -0
  432. package/es/packages/react-intlayer/useLocale.md +184 -0
  433. package/es/packages/react-native-intlayer/index.md +57 -0
  434. package/es/packages/react-scripts-intlayer/index.md +57 -0
  435. package/es/packages/solid-intlayer/index.md +3 -0
  436. package/es/packages/svelte-intlayer/index.md +5 -0
  437. package/es/packages/vite-intlayer/index.md +53 -0
  438. package/es/packages/vue-intlayer/index.md +3 -0
  439. package/es/per_locale_file.md +293 -0
  440. package/es/privacy_notice.md +61 -0
  441. package/es/roadmap.md +157 -0
  442. package/es/terms_of_service.md +33 -0
  443. package/es/vs_code_extension.md +139 -0
  444. package/fr/CI_CD.md +149 -0
  445. package/fr/autoFill.md +157 -0
  446. package/fr/configuration.md +481 -0
  447. package/fr/dictionary/condition.md +213 -0
  448. package/fr/dictionary/content_extention_customization.md +81 -0
  449. package/fr/dictionary/enumeration.md +221 -0
  450. package/fr/dictionary/file.md +206 -0
  451. package/fr/dictionary/function_fetching.md +190 -0
  452. package/fr/dictionary/get_started.md +466 -0
  453. package/fr/dictionary/insertion.md +161 -0
  454. package/fr/dictionary/markdown.md +335 -0
  455. package/fr/dictionary/nesting.md +249 -0
  456. package/fr/dictionary/translation.md +287 -0
  457. package/fr/header.md +5 -0
  458. package/fr/how_works_intlayer.md +217 -0
  459. package/fr/index.md +122 -0
  460. package/fr/interest_of_intlayer.md +132 -0
  461. package/fr/intlayer_CMS.md +334 -0
  462. package/fr/intlayer_cli.md +274 -0
  463. package/fr/intlayer_visual_editor.md +210 -0
  464. package/fr/intlayer_with_angular.md +3 -0
  465. package/fr/intlayer_with_create_react_app.md +1192 -0
  466. package/fr/intlayer_with_express.md +270 -0
  467. package/fr/intlayer_with_lynx+react.md +466 -0
  468. package/fr/intlayer_with_nextjs_14.md +1258 -0
  469. package/fr/intlayer_with_nextjs_15.md +1308 -0
  470. package/fr/intlayer_with_nextjs_page_router.md +1085 -0
  471. package/fr/intlayer_with_react_native+expo.md +535 -0
  472. package/fr/intlayer_with_vite+preact.md +1621 -0
  473. package/fr/intlayer_with_vite+react.md +1589 -0
  474. package/fr/intlayer_with_vite+solid.md +3 -0
  475. package/fr/intlayer_with_vite+svelte.md +3 -0
  476. package/fr/intlayer_with_vite+vue.md +947 -0
  477. package/fr/introduction.md +190 -0
  478. package/fr/mcp_server.md +152 -0
  479. package/fr/packages/@intlayer/api/index.md +31 -0
  480. package/fr/packages/@intlayer/chokidar/index.md +31 -0
  481. package/fr/packages/@intlayer/cli/index.md +21 -0
  482. package/fr/packages/@intlayer/config/index.md +116 -0
  483. package/fr/packages/@intlayer/core/index.md +25 -0
  484. package/fr/packages/@intlayer/design-system/index.md +21 -0
  485. package/fr/packages/@intlayer/dictionary-entry/index.md +21 -0
  486. package/fr/packages/@intlayer/editor/index.md +21 -0
  487. package/fr/packages/@intlayer/editor-react/index.md +21 -0
  488. package/fr/packages/@intlayer/webpack/index.md +35 -0
  489. package/fr/packages/angular-intlayer/index.md +3 -0
  490. package/fr/packages/express-intlayer/index.md +238 -0
  491. package/fr/packages/express-intlayer/t.md +432 -0
  492. package/fr/packages/intlayer/getConfiguration.md +120 -0
  493. package/fr/packages/intlayer/getEnumeration.md +138 -0
  494. package/fr/packages/intlayer/getHTMLTextDir.md +97 -0
  495. package/fr/packages/intlayer/getLocaleLang.md +57 -0
  496. package/fr/packages/intlayer/getLocaleName.md +93 -0
  497. package/fr/packages/intlayer/getLocalizedUrl.md +221 -0
  498. package/fr/packages/intlayer/getMultilingualUrls.md +198 -0
  499. package/fr/packages/intlayer/getPathWithoutLocale.md +50 -0
  500. package/fr/packages/intlayer/getTranslation.md +166 -0
  501. package/fr/packages/intlayer/getTranslationContent.md +166 -0
  502. package/fr/packages/intlayer/index.md +476 -0
  503. package/fr/packages/intlayer-cli/index.md +41 -0
  504. package/fr/packages/intlayer-editor/index.md +115 -0
  505. package/fr/packages/lynx-intlayer/index.md +58 -0
  506. package/fr/packages/next-intlayer/index.md +266 -0
  507. package/fr/packages/next-intlayer/t.md +325 -0
  508. package/fr/packages/next-intlayer/useDictionary.md +242 -0
  509. package/fr/packages/next-intlayer/useIntlayer.md +237 -0
  510. package/fr/packages/next-intlayer/useIntlayerAsync.md +211 -0
  511. package/fr/packages/next-intlayer/useLocale.md +105 -0
  512. package/fr/packages/preact-intlayer/index.md +3 -0
  513. package/fr/packages/react-intlayer/index.md +257 -0
  514. package/fr/packages/react-intlayer/t.md +277 -0
  515. package/fr/packages/react-intlayer/useDictionary.md +269 -0
  516. package/fr/packages/react-intlayer/useIntlayer.md +234 -0
  517. package/fr/packages/react-intlayer/useIntlayerAsync.md +226 -0
  518. package/fr/packages/react-intlayer/useLocale.md +184 -0
  519. package/fr/packages/react-native-intlayer/index.md +57 -0
  520. package/fr/packages/react-scripts-intlayer/index.md +57 -0
  521. package/fr/packages/solid-intlayer/index.md +3 -0
  522. package/fr/packages/svelte-intlayer/index.md +3 -0
  523. package/fr/packages/vite-intlayer/index.md +53 -0
  524. package/fr/packages/vue-intlayer/index.md +3 -0
  525. package/fr/per_locale_file.md +297 -0
  526. package/fr/privacy_notice.md +57 -0
  527. package/fr/roadmap.md +206 -0
  528. package/fr/terms_of_service.md +33 -0
  529. package/fr/vs_code_extension.md +139 -0
  530. package/hi/CI_CD.md +149 -0
  531. package/hi/autoFill.md +157 -0
  532. package/hi/configuration.md +509 -0
  533. package/hi/dictionary/condition.md +213 -0
  534. package/hi/dictionary/content_extention_customization.md +81 -0
  535. package/hi/dictionary/enumeration.md +221 -0
  536. package/hi/dictionary/file.md +209 -0
  537. package/hi/dictionary/function_fetching.md +188 -0
  538. package/hi/dictionary/get_started.md +490 -0
  539. package/hi/dictionary/insertion.md +167 -0
  540. package/hi/dictionary/markdown.md +344 -0
  541. package/hi/dictionary/nesting.md +249 -0
  542. package/hi/dictionary/translation.md +307 -0
  543. package/hi/header.md +7 -0
  544. package/hi/how_works_intlayer.md +217 -0
  545. package/hi/index.md +125 -0
  546. package/hi/interest_of_intlayer.md +132 -0
  547. package/hi/intlayer_CMS.md +334 -0
  548. package/hi/intlayer_cli.md +274 -0
  549. package/hi/intlayer_visual_editor.md +210 -0
  550. package/hi/intlayer_with_angular.md +3 -0
  551. package/hi/intlayer_with_create_react_app.md +1395 -0
  552. package/hi/intlayer_with_express.md +273 -0
  553. package/hi/intlayer_with_lynx+react.md +456 -0
  554. package/hi/intlayer_with_nextjs_14.md +1283 -0
  555. package/hi/intlayer_with_nextjs_15.md +1319 -0
  556. package/hi/intlayer_with_nextjs_page_router.md +1097 -0
  557. package/hi/intlayer_with_react_native+expo.md +554 -0
  558. package/hi/intlayer_with_vite+preact.md +1538 -0
  559. package/hi/intlayer_with_vite+react.md +1540 -0
  560. package/hi/intlayer_with_vite+solid.md +3 -0
  561. package/hi/intlayer_with_vite+svelte.md +3 -0
  562. package/hi/intlayer_with_vite+vue.md +840 -0
  563. package/hi/introduction.md +190 -0
  564. package/hi/mcp_server.md +150 -0
  565. package/hi/packages/@intlayer/api/index.md +31 -0
  566. package/hi/packages/@intlayer/chokidar/index.md +31 -0
  567. package/hi/packages/@intlayer/cli/index.md +21 -0
  568. package/hi/packages/@intlayer/config/index.md +116 -0
  569. package/hi/packages/@intlayer/core/index.md +25 -0
  570. package/hi/packages/@intlayer/design-system/index.md +21 -0
  571. package/hi/packages/@intlayer/dictionary-entry/index.md +21 -0
  572. package/hi/packages/@intlayer/editor/index.md +21 -0
  573. package/hi/packages/@intlayer/editor-react/index.md +21 -0
  574. package/hi/packages/@intlayer/webpack/index.md +35 -0
  575. package/hi/packages/angular-intlayer/index.md +3 -0
  576. package/hi/packages/express-intlayer/index.md +232 -0
  577. package/hi/packages/express-intlayer/t.md +445 -0
  578. package/hi/packages/intlayer/getConfiguration.md +120 -0
  579. package/hi/packages/intlayer/getEnumeration.md +138 -0
  580. package/hi/packages/intlayer/getHTMLTextDir.md +97 -0
  581. package/hi/packages/intlayer/getLocaleLang.md +57 -0
  582. package/hi/packages/intlayer/getLocaleName.md +93 -0
  583. package/hi/packages/intlayer/getLocalizedUrl.md +221 -0
  584. package/hi/packages/intlayer/getMultilingualUrls.md +198 -0
  585. package/hi/packages/intlayer/getPathWithoutLocale.md +50 -0
  586. package/hi/packages/intlayer/getTranslation.md +175 -0
  587. package/hi/packages/intlayer/getTranslationContent.md +175 -0
  588. package/hi/packages/intlayer/index.md +314 -0
  589. package/hi/packages/intlayer-cli/index.md +41 -0
  590. package/hi/packages/intlayer-editor/index.md +113 -0
  591. package/hi/packages/lynx-intlayer/index.md +58 -0
  592. package/hi/packages/next-intlayer/index.md +270 -0
  593. package/hi/packages/next-intlayer/t.md +337 -0
  594. package/hi/packages/next-intlayer/useDictionary.md +248 -0
  595. package/hi/packages/next-intlayer/useIntlayer.md +237 -0
  596. package/hi/packages/next-intlayer/useIntlayerAsync.md +211 -0
  597. package/hi/packages/next-intlayer/useLocale.md +105 -0
  598. package/hi/packages/preact-intlayer/index.md +3 -0
  599. package/hi/packages/react-intlayer/index.md +261 -0
  600. package/hi/packages/react-intlayer/t.md +283 -0
  601. package/hi/packages/react-intlayer/useDictionary.md +268 -0
  602. package/hi/packages/react-intlayer/useIntlayer.md +225 -0
  603. package/hi/packages/react-intlayer/useIntlayerAsync.md +226 -0
  604. package/hi/packages/react-intlayer/useLocale.md +184 -0
  605. package/hi/packages/react-native-intlayer/index.md +57 -0
  606. package/hi/packages/react-scripts-intlayer/index.md +57 -0
  607. package/hi/packages/solid-intlayer/index.md +3 -0
  608. package/hi/packages/svelte-intlayer/index.md +3 -0
  609. package/hi/packages/vite-intlayer/index.md +53 -0
  610. package/hi/packages/vue-intlayer/index.md +3 -0
  611. package/hi/per_locale_file.md +298 -0
  612. package/hi/privacy_notice.md +61 -0
  613. package/hi/roadmap.md +206 -0
  614. package/hi/terms_of_service.md +33 -0
  615. package/hi/vs_code_extension.md +139 -0
  616. package/index.cjs +1265 -0
  617. package/index.d.ts +100 -0
  618. package/it/CI_CD.md +149 -0
  619. package/it/autoFill.md +157 -0
  620. package/it/configuration.md +503 -0
  621. package/it/dictionary/condition.md +213 -0
  622. package/it/dictionary/content_extention_customization.md +81 -0
  623. package/it/dictionary/enumeration.md +221 -0
  624. package/it/dictionary/file.md +207 -0
  625. package/it/dictionary/function_fetching.md +190 -0
  626. package/it/dictionary/get_started.md +466 -0
  627. package/it/dictionary/insertion.md +161 -0
  628. package/it/dictionary/markdown.md +343 -0
  629. package/it/dictionary/nesting.md +249 -0
  630. package/it/dictionary/translation.md +287 -0
  631. package/it/header.md +7 -0
  632. package/it/how_works_intlayer.md +217 -0
  633. package/it/index.md +125 -0
  634. package/it/interest_of_intlayer.md +132 -0
  635. package/it/intlayer_CMS.md +334 -0
  636. package/it/intlayer_cli.md +274 -0
  637. package/it/intlayer_visual_editor.md +210 -0
  638. package/it/intlayer_with_angular.md +3 -0
  639. package/it/intlayer_with_create_react_app.md +413 -0
  640. package/it/intlayer_with_express.md +267 -0
  641. package/it/intlayer_with_lynx+react.md +482 -0
  642. package/it/intlayer_with_nextjs_14.md +1269 -0
  643. package/it/intlayer_with_nextjs_15.md +1319 -0
  644. package/it/intlayer_with_nextjs_page_router.md +1095 -0
  645. package/it/intlayer_with_react_native+expo.md +261 -0
  646. package/it/intlayer_with_vite+preact.md +1681 -0
  647. package/it/intlayer_with_vite+react.md +1580 -0
  648. package/it/intlayer_with_vite+solid.md +3 -0
  649. package/it/intlayer_with_vite+svelte.md +3 -0
  650. package/it/intlayer_with_vite+vue.md +989 -0
  651. package/it/introduction.md +192 -0
  652. package/it/mcp_server.md +152 -0
  653. package/it/packages/@intlayer/api/index.md +31 -0
  654. package/it/packages/@intlayer/chokidar/index.md +31 -0
  655. package/it/packages/@intlayer/cli/index.md +21 -0
  656. package/it/packages/@intlayer/config/index.md +116 -0
  657. package/it/packages/@intlayer/core/index.md +25 -0
  658. package/it/packages/@intlayer/design-system/index.md +21 -0
  659. package/it/packages/@intlayer/dictionary-entry/index.md +21 -0
  660. package/it/packages/@intlayer/editor/index.md +21 -0
  661. package/it/packages/@intlayer/editor-react/index.md +21 -0
  662. package/it/packages/@intlayer/webpack/index.md +35 -0
  663. package/it/packages/angular-intlayer/index.md +3 -0
  664. package/it/packages/express-intlayer/index.md +229 -0
  665. package/it/packages/express-intlayer/t.md +432 -0
  666. package/it/packages/intlayer/getConfiguration.md +120 -0
  667. package/it/packages/intlayer/getEnumeration.md +138 -0
  668. package/it/packages/intlayer/getHTMLTextDir.md +97 -0
  669. package/it/packages/intlayer/getLocaleLang.md +57 -0
  670. package/it/packages/intlayer/getLocaleName.md +93 -0
  671. package/it/packages/intlayer/getLocalizedUrl.md +221 -0
  672. package/it/packages/intlayer/getMultilingualUrls.md +200 -0
  673. package/it/packages/intlayer/getPathWithoutLocale.md +50 -0
  674. package/it/packages/intlayer/getTranslation.md +166 -0
  675. package/it/packages/intlayer/getTranslationContent.md +166 -0
  676. package/it/packages/intlayer/index.md +479 -0
  677. package/it/packages/intlayer-cli/index.md +41 -0
  678. package/it/packages/intlayer-editor/index.md +113 -0
  679. package/it/packages/lynx-intlayer/index.md +58 -0
  680. package/it/packages/next-intlayer/index.md +267 -0
  681. package/it/packages/next-intlayer/t.md +326 -0
  682. package/it/packages/next-intlayer/useDictionary.md +242 -0
  683. package/it/packages/next-intlayer/useIntlayer.md +237 -0
  684. package/it/packages/next-intlayer/useIntlayerAsync.md +211 -0
  685. package/it/packages/next-intlayer/useLocale.md +105 -0
  686. package/it/packages/preact-intlayer/index.md +3 -0
  687. package/it/packages/react-intlayer/index.md +260 -0
  688. package/it/packages/react-intlayer/t.md +277 -0
  689. package/it/packages/react-intlayer/useDictionary.md +260 -0
  690. package/it/packages/react-intlayer/useIntlayer.md +225 -0
  691. package/it/packages/react-intlayer/useIntlayerAsync.md +226 -0
  692. package/it/packages/react-intlayer/useLocale.md +184 -0
  693. package/it/packages/react-native-intlayer/index.md +57 -0
  694. package/it/packages/react-scripts-intlayer/index.md +57 -0
  695. package/it/packages/solid-intlayer/index.md +5 -0
  696. package/it/packages/svelte-intlayer/index.md +3 -0
  697. package/it/packages/vite-intlayer/index.md +53 -0
  698. package/it/packages/vue-intlayer/index.md +5 -0
  699. package/it/per_locale_file.md +298 -0
  700. package/it/privacy_notice.md +61 -0
  701. package/it/roadmap.md +206 -0
  702. package/it/terms_of_service.md +33 -0
  703. package/it/vs_code_extension.md +139 -0
  704. package/ja/CI_CD.md +149 -0
  705. package/ja/autoFill.md +157 -0
  706. package/ja/configuration.md +507 -0
  707. package/ja/dictionary/condition.md +213 -0
  708. package/ja/dictionary/content_extention_customization.md +81 -0
  709. package/ja/dictionary/enumeration.md +221 -0
  710. package/ja/dictionary/file.md +209 -0
  711. package/ja/dictionary/function_fetching.md +190 -0
  712. package/ja/dictionary/get_started.md +466 -0
  713. package/ja/dictionary/insertion.md +161 -0
  714. package/ja/dictionary/markdown.md +343 -0
  715. package/ja/dictionary/nesting.md +249 -0
  716. package/ja/dictionary/translation.md +287 -0
  717. package/ja/header.md +7 -0
  718. package/ja/how_works_intlayer.md +217 -0
  719. package/ja/index.md +125 -0
  720. package/ja/interest_of_intlayer.md +132 -0
  721. package/ja/intlayer_CMS.md +334 -0
  722. package/ja/intlayer_cli.md +274 -0
  723. package/ja/intlayer_visual_editor.md +213 -0
  724. package/ja/intlayer_with_angular.md +3 -0
  725. package/ja/intlayer_with_create_react_app.md +1186 -0
  726. package/ja/intlayer_with_express.md +267 -0
  727. package/ja/intlayer_with_lynx+react.md +482 -0
  728. package/ja/intlayer_with_nextjs_14.md +1256 -0
  729. package/ja/intlayer_with_nextjs_15.md +1308 -0
  730. package/ja/intlayer_with_nextjs_page_router.md +1085 -0
  731. package/ja/intlayer_with_react_native+expo.md +537 -0
  732. package/ja/intlayer_with_vite+preact.md +1601 -0
  733. package/ja/intlayer_with_vite+react.md +1555 -0
  734. package/ja/intlayer_with_vite+solid.md +3 -0
  735. package/ja/intlayer_with_vite+svelte.md +3 -0
  736. package/ja/intlayer_with_vite+vue.md +990 -0
  737. package/ja/introduction.md +186 -0
  738. package/ja/mcp_server.md +150 -0
  739. package/ja/packages/@intlayer/api/index.md +31 -0
  740. package/ja/packages/@intlayer/chokidar/index.md +31 -0
  741. package/ja/packages/@intlayer/cli/index.md +21 -0
  742. package/ja/packages/@intlayer/config/index.md +116 -0
  743. package/ja/packages/@intlayer/core/index.md +25 -0
  744. package/ja/packages/@intlayer/design-system/index.md +21 -0
  745. package/ja/packages/@intlayer/dictionary-entry/index.md +21 -0
  746. package/ja/packages/@intlayer/editor/index.md +21 -0
  747. package/ja/packages/@intlayer/editor-react/index.md +21 -0
  748. package/ja/packages/@intlayer/webpack/index.md +35 -0
  749. package/ja/packages/angular-intlayer/index.md +3 -0
  750. package/ja/packages/express-intlayer/index.md +229 -0
  751. package/ja/packages/express-intlayer/t.md +432 -0
  752. package/ja/packages/intlayer/getConfiguration.md +120 -0
  753. package/ja/packages/intlayer/getEnumeration.md +140 -0
  754. package/ja/packages/intlayer/getHTMLTextDir.md +97 -0
  755. package/ja/packages/intlayer/getLocaleLang.md +59 -0
  756. package/ja/packages/intlayer/getLocaleName.md +93 -0
  757. package/ja/packages/intlayer/getLocalizedUrl.md +221 -0
  758. package/ja/packages/intlayer/getMultilingualUrls.md +198 -0
  759. package/ja/packages/intlayer/getPathWithoutLocale.md +50 -0
  760. package/ja/packages/intlayer/getTranslation.md +166 -0
  761. package/ja/packages/intlayer/getTranslationContent.md +166 -0
  762. package/ja/packages/intlayer/index.md +479 -0
  763. package/ja/packages/intlayer-cli/index.md +41 -0
  764. package/ja/packages/intlayer-editor/index.md +115 -0
  765. package/ja/packages/lynx-intlayer/index.md +58 -0
  766. package/ja/packages/next-intlayer/index.md +263 -0
  767. package/ja/packages/next-intlayer/t.md +326 -0
  768. package/ja/packages/next-intlayer/useDictionary.md +242 -0
  769. package/ja/packages/next-intlayer/useIntlayer.md +237 -0
  770. package/ja/packages/next-intlayer/useIntlayerAsync.md +211 -0
  771. package/ja/packages/next-intlayer/useLocale.md +105 -0
  772. package/ja/packages/preact-intlayer/index.md +3 -0
  773. package/ja/packages/react-intlayer/index.md +257 -0
  774. package/ja/packages/react-intlayer/t.md +277 -0
  775. package/ja/packages/react-intlayer/useDictionary.md +260 -0
  776. package/ja/packages/react-intlayer/useIntlayer.md +225 -0
  777. package/ja/packages/react-intlayer/useIntlayerAsync.md +226 -0
  778. package/ja/packages/react-intlayer/useLocale.md +184 -0
  779. package/ja/packages/react-native-intlayer/index.md +57 -0
  780. package/ja/packages/react-scripts-intlayer/index.md +57 -0
  781. package/ja/packages/solid-intlayer/index.md +3 -0
  782. package/ja/packages/svelte-intlayer/index.md +3 -0
  783. package/ja/packages/vite-intlayer/index.md +53 -0
  784. package/ja/packages/vue-intlayer/index.md +3 -0
  785. package/ja/per_locale_file.md +298 -0
  786. package/ja/privacy_notice.md +57 -0
  787. package/ja/roadmap.md +206 -0
  788. package/ja/terms_of_service.md +33 -0
  789. package/ja/vs_code_extension.md +139 -0
  790. package/ko/CI_CD.md +149 -0
  791. package/ko/autoFill.md +157 -0
  792. package/ko/configuration.md +507 -0
  793. package/ko/dictionary/condition.md +213 -0
  794. package/ko/dictionary/content_extention_customization.md +81 -0
  795. package/ko/dictionary/enumeration.md +221 -0
  796. package/ko/dictionary/file.md +207 -0
  797. package/ko/dictionary/function_fetching.md +190 -0
  798. package/ko/dictionary/get_started.md +466 -0
  799. package/ko/dictionary/insertion.md +167 -0
  800. package/ko/dictionary/markdown.md +343 -0
  801. package/ko/dictionary/nesting.md +249 -0
  802. package/ko/dictionary/translation.md +287 -0
  803. package/ko/header.md +7 -0
  804. package/ko/how_works_intlayer.md +216 -0
  805. package/ko/index.md +125 -0
  806. package/ko/interest_of_intlayer.md +132 -0
  807. package/ko/intlayer_CMS.md +334 -0
  808. package/ko/intlayer_cli.md +274 -0
  809. package/ko/intlayer_visual_editor.md +210 -0
  810. package/ko/intlayer_with_angular.md +3 -0
  811. package/ko/intlayer_with_create_react_app.md +1186 -0
  812. package/ko/intlayer_with_express.md +267 -0
  813. package/ko/intlayer_with_lynx+react.md +482 -0
  814. package/ko/intlayer_with_nextjs_14.md +1267 -0
  815. package/ko/intlayer_with_nextjs_15.md +1319 -0
  816. package/ko/intlayer_with_nextjs_page_router.md +1097 -0
  817. package/ko/intlayer_with_react_native+expo.md +537 -0
  818. package/ko/intlayer_with_vite+preact.md +1682 -0
  819. package/ko/intlayer_with_vite+react.md +1582 -0
  820. package/ko/intlayer_with_vite+solid.md +3 -0
  821. package/ko/intlayer_with_vite+svelte.md +3 -0
  822. package/ko/intlayer_with_vite+vue.md +988 -0
  823. package/ko/introduction.md +186 -0
  824. package/ko/mcp_server.md +150 -0
  825. package/ko/packages/@intlayer/api/index.md +31 -0
  826. package/ko/packages/@intlayer/chokidar/index.md +31 -0
  827. package/ko/packages/@intlayer/cli/index.md +21 -0
  828. package/ko/packages/@intlayer/config/index.md +116 -0
  829. package/ko/packages/@intlayer/core/index.md +25 -0
  830. package/ko/packages/@intlayer/design-system/index.md +21 -0
  831. package/ko/packages/@intlayer/dictionary-entry/index.md +21 -0
  832. package/ko/packages/@intlayer/editor/index.md +21 -0
  833. package/ko/packages/@intlayer/editor-react/index.md +21 -0
  834. package/ko/packages/@intlayer/webpack/index.md +35 -0
  835. package/ko/packages/angular-intlayer/index.md +5 -0
  836. package/ko/packages/express-intlayer/index.md +229 -0
  837. package/ko/packages/express-intlayer/t.md +432 -0
  838. package/ko/packages/intlayer/getConfiguration.md +120 -0
  839. package/ko/packages/intlayer/getEnumeration.md +138 -0
  840. package/ko/packages/intlayer/getHTMLTextDir.md +97 -0
  841. package/ko/packages/intlayer/getLocaleLang.md +57 -0
  842. package/ko/packages/intlayer/getLocaleName.md +93 -0
  843. package/ko/packages/intlayer/getLocalizedUrl.md +221 -0
  844. package/ko/packages/intlayer/getMultilingualUrls.md +198 -0
  845. package/ko/packages/intlayer/getPathWithoutLocale.md +50 -0
  846. package/ko/packages/intlayer/getTranslation.md +166 -0
  847. package/ko/packages/intlayer/getTranslationContent.md +166 -0
  848. package/ko/packages/intlayer/index.md +480 -0
  849. package/ko/packages/intlayer-cli/index.md +41 -0
  850. package/ko/packages/intlayer-editor/index.md +113 -0
  851. package/ko/packages/lynx-intlayer/index.md +58 -0
  852. package/ko/packages/next-intlayer/index.md +267 -0
  853. package/ko/packages/next-intlayer/t.md +337 -0
  854. package/ko/packages/next-intlayer/useDictionary.md +242 -0
  855. package/ko/packages/next-intlayer/useIntlayer.md +237 -0
  856. package/ko/packages/next-intlayer/useIntlayerAsync.md +211 -0
  857. package/ko/packages/next-intlayer/useLocale.md +105 -0
  858. package/ko/packages/preact-intlayer/index.md +3 -0
  859. package/ko/packages/react-intlayer/index.md +260 -0
  860. package/ko/packages/react-intlayer/t.md +277 -0
  861. package/ko/packages/react-intlayer/useDictionary.md +268 -0
  862. package/ko/packages/react-intlayer/useIntlayer.md +225 -0
  863. package/ko/packages/react-intlayer/useIntlayerAsync.md +226 -0
  864. package/ko/packages/react-intlayer/useLocale.md +184 -0
  865. package/ko/packages/react-native-intlayer/index.md +57 -0
  866. package/ko/packages/react-scripts-intlayer/index.md +57 -0
  867. package/ko/packages/solid-intlayer/index.md +3 -0
  868. package/ko/packages/svelte-intlayer/index.md +3 -0
  869. package/ko/packages/vite-intlayer/index.md +53 -0
  870. package/ko/packages/vue-intlayer/index.md +3 -0
  871. package/ko/per_locale_file.md +300 -0
  872. package/ko/privacy_notice.md +61 -0
  873. package/ko/roadmap.md +206 -0
  874. package/ko/terms_of_service.md +33 -0
  875. package/ko/vs_code_extension.md +139 -0
  876. package/package.json +96 -0
  877. package/pt/CI_CD.md +149 -0
  878. package/pt/autoFill.md +157 -0
  879. package/pt/configuration.md +503 -0
  880. package/pt/dictionary/condition.md +213 -0
  881. package/pt/dictionary/content_extention_customization.md +81 -0
  882. package/pt/dictionary/enumeration.md +221 -0
  883. package/pt/dictionary/file.md +210 -0
  884. package/pt/dictionary/function_fetching.md +190 -0
  885. package/pt/dictionary/get_started.md +490 -0
  886. package/pt/dictionary/insertion.md +161 -0
  887. package/pt/dictionary/markdown.md +339 -0
  888. package/pt/dictionary/nesting.md +249 -0
  889. package/pt/dictionary/translation.md +322 -0
  890. package/pt/header.md +7 -0
  891. package/pt/how_works_intlayer.md +216 -0
  892. package/pt/index.md +125 -0
  893. package/pt/interest_of_intlayer.md +132 -0
  894. package/pt/intlayer_CMS.md +334 -0
  895. package/pt/intlayer_cli.md +274 -0
  896. package/pt/intlayer_visual_editor.md +210 -0
  897. package/pt/intlayer_with_angular.md +3 -0
  898. package/pt/intlayer_with_create_react_app.md +1204 -0
  899. package/pt/intlayer_with_express.md +270 -0
  900. package/pt/intlayer_with_lynx+react.md +467 -0
  901. package/pt/intlayer_with_nextjs_14.md +1269 -0
  902. package/pt/intlayer_with_nextjs_15.md +1319 -0
  903. package/pt/intlayer_with_nextjs_page_router.md +1109 -0
  904. package/pt/intlayer_with_react_native+expo.md +259 -0
  905. package/pt/intlayer_with_vite+preact.md +1663 -0
  906. package/pt/intlayer_with_vite+react.md +1621 -0
  907. package/pt/intlayer_with_vite+solid.md +3 -0
  908. package/pt/intlayer_with_vite+svelte.md +3 -0
  909. package/pt/intlayer_with_vite+vue.md +989 -0
  910. package/pt/introduction.md +193 -0
  911. package/pt/mcp_server.md +150 -0
  912. package/pt/packages/@intlayer/api/index.md +31 -0
  913. package/pt/packages/@intlayer/chokidar/index.md +31 -0
  914. package/pt/packages/@intlayer/cli/index.md +21 -0
  915. package/pt/packages/@intlayer/config/index.md +116 -0
  916. package/pt/packages/@intlayer/core/index.md +25 -0
  917. package/pt/packages/@intlayer/design-system/index.md +21 -0
  918. package/pt/packages/@intlayer/dictionary-entry/index.md +21 -0
  919. package/pt/packages/@intlayer/editor/index.md +21 -0
  920. package/pt/packages/@intlayer/editor-react/index.md +21 -0
  921. package/pt/packages/@intlayer/webpack/index.md +35 -0
  922. package/pt/packages/angular-intlayer/index.md +3 -0
  923. package/pt/packages/express-intlayer/index.md +232 -0
  924. package/pt/packages/express-intlayer/t.md +267 -0
  925. package/pt/packages/intlayer/getConfiguration.md +120 -0
  926. package/pt/packages/intlayer/getEnumeration.md +138 -0
  927. package/pt/packages/intlayer/getHTMLTextDir.md +97 -0
  928. package/pt/packages/intlayer/getLocaleLang.md +57 -0
  929. package/pt/packages/intlayer/getLocaleName.md +93 -0
  930. package/pt/packages/intlayer/getLocalizedUrl.md +221 -0
  931. package/pt/packages/intlayer/getMultilingualUrls.md +198 -0
  932. package/pt/packages/intlayer/getPathWithoutLocale.md +50 -0
  933. package/pt/packages/intlayer/getTranslation.md +175 -0
  934. package/pt/packages/intlayer/getTranslationContent.md +177 -0
  935. package/pt/packages/intlayer/index.md +484 -0
  936. package/pt/packages/intlayer-cli/index.md +41 -0
  937. package/pt/packages/intlayer-editor/index.md +113 -0
  938. package/pt/packages/lynx-intlayer/index.md +58 -0
  939. package/pt/packages/next-intlayer/index.md +270 -0
  940. package/pt/packages/next-intlayer/t.md +341 -0
  941. package/pt/packages/next-intlayer/useDictionary.md +248 -0
  942. package/pt/packages/next-intlayer/useIntlayer.md +237 -0
  943. package/pt/packages/next-intlayer/useIntlayerAsync.md +211 -0
  944. package/pt/packages/next-intlayer/useLocale.md +105 -0
  945. package/pt/packages/preact-intlayer/index.md +3 -0
  946. package/pt/packages/react-intlayer/index.md +261 -0
  947. package/pt/packages/react-intlayer/t.md +289 -0
  948. package/pt/packages/react-intlayer/useDictionary.md +268 -0
  949. package/pt/packages/react-intlayer/useIntlayer.md +225 -0
  950. package/pt/packages/react-intlayer/useIntlayerAsync.md +226 -0
  951. package/pt/packages/react-intlayer/useLocale.md +184 -0
  952. package/pt/packages/react-native-intlayer/index.md +57 -0
  953. package/pt/packages/react-scripts-intlayer/index.md +57 -0
  954. package/pt/packages/solid-intlayer/index.md +3 -0
  955. package/pt/packages/svelte-intlayer/index.md +3 -0
  956. package/pt/packages/vite-intlayer/index.md +53 -0
  957. package/pt/packages/vue-intlayer/index.md +3 -0
  958. package/pt/per_locale_file.md +298 -0
  959. package/pt/privacy_notice.md +61 -0
  960. package/pt/roadmap.md +206 -0
  961. package/pt/terms_of_service.md +33 -0
  962. package/pt/vs_code_extension.md +139 -0
  963. package/ru/CI_CD.md +149 -0
  964. package/ru/autoFill.md +157 -0
  965. package/ru/configuration.md +507 -0
  966. package/ru/dictionary/condition.md +213 -0
  967. package/ru/dictionary/content_extention_customization.md +81 -0
  968. package/ru/dictionary/enumeration.md +221 -0
  969. package/ru/dictionary/file.md +209 -0
  970. package/ru/dictionary/function_fetching.md +188 -0
  971. package/ru/dictionary/get_started.md +311 -0
  972. package/ru/dictionary/insertion.md +161 -0
  973. package/ru/dictionary/markdown.md +339 -0
  974. package/ru/dictionary/nesting.md +249 -0
  975. package/ru/dictionary/translation.md +322 -0
  976. package/ru/environment/angular.md +3 -0
  977. package/ru/header.md +7 -0
  978. package/ru/how_works_intlayer.md +217 -0
  979. package/ru/index.md +125 -0
  980. package/ru/interest_of_intlayer.md +132 -0
  981. package/ru/intlayer_CMS.md +334 -0
  982. package/ru/intlayer_cli.md +274 -0
  983. package/ru/intlayer_visual_editor.md +210 -0
  984. package/ru/intlayer_with_angular.md +3 -0
  985. package/ru/intlayer_with_create_react_app.md +1196 -0
  986. package/ru/intlayer_with_express.md +273 -0
  987. package/ru/intlayer_with_lynx+react.md +482 -0
  988. package/ru/intlayer_with_nextjs_14.md +1274 -0
  989. package/ru/intlayer_with_nextjs_15.md +1318 -0
  990. package/ru/intlayer_with_nextjs_page_router.md +1100 -0
  991. package/ru/intlayer_with_react_native+expo.md +537 -0
  992. package/ru/intlayer_with_vite+preact.md +1663 -0
  993. package/ru/intlayer_with_vite+react.md +1546 -0
  994. package/ru/intlayer_with_vite+solid.md +3 -0
  995. package/ru/intlayer_with_vite+svelte.md +3 -0
  996. package/ru/intlayer_with_vite+vue.md +987 -0
  997. package/ru/introduction.md +190 -0
  998. package/ru/mcp_server.md +152 -0
  999. package/ru/packages/@intlayer/api/index.md +31 -0
  1000. package/ru/packages/@intlayer/chokidar/index.md +31 -0
  1001. package/ru/packages/@intlayer/cli/index.md +23 -0
  1002. package/ru/packages/@intlayer/config/index.md +116 -0
  1003. package/ru/packages/@intlayer/core/index.md +25 -0
  1004. package/ru/packages/@intlayer/design-system/index.md +21 -0
  1005. package/ru/packages/@intlayer/dictionary-entry/index.md +21 -0
  1006. package/ru/packages/@intlayer/editor/index.md +21 -0
  1007. package/ru/packages/@intlayer/editor-react/index.md +21 -0
  1008. package/ru/packages/@intlayer/webpack/index.md +35 -0
  1009. package/ru/packages/angular-intlayer/index.md +3 -0
  1010. package/ru/packages/express-intlayer/index.md +235 -0
  1011. package/ru/packages/express-intlayer/t.md +445 -0
  1012. package/ru/packages/intlayer/getConfiguration.md +120 -0
  1013. package/ru/packages/intlayer/getEnumeration.md +140 -0
  1014. package/ru/packages/intlayer/getHTMLTextDir.md +97 -0
  1015. package/ru/packages/intlayer/getLocaleLang.md +59 -0
  1016. package/ru/packages/intlayer/getLocaleName.md +93 -0
  1017. package/ru/packages/intlayer/getLocalizedUrl.md +221 -0
  1018. package/ru/packages/intlayer/getMultilingualUrls.md +198 -0
  1019. package/ru/packages/intlayer/getPathWithoutLocale.md +50 -0
  1020. package/ru/packages/intlayer/getTranslation.md +177 -0
  1021. package/ru/packages/intlayer/getTranslationContent.md +175 -0
  1022. package/ru/packages/intlayer/index.md +275 -0
  1023. package/ru/packages/intlayer-cli/index.md +41 -0
  1024. package/ru/packages/intlayer-editor/index.md +115 -0
  1025. package/ru/packages/lynx-intlayer/index.md +58 -0
  1026. package/ru/packages/next-intlayer/index.md +267 -0
  1027. package/ru/packages/next-intlayer/t.md +340 -0
  1028. package/ru/packages/next-intlayer/useDictionary.md +248 -0
  1029. package/ru/packages/next-intlayer/useIntlayer.md +237 -0
  1030. package/ru/packages/next-intlayer/useIntlayerAsync.md +211 -0
  1031. package/ru/packages/next-intlayer/useLocale.md +105 -0
  1032. package/ru/packages/preact-intlayer/index.md +3 -0
  1033. package/ru/packages/react-intlayer/index.md +261 -0
  1034. package/ru/packages/react-intlayer/t.md +289 -0
  1035. package/ru/packages/react-intlayer/useDictionary.md +268 -0
  1036. package/ru/packages/react-intlayer/useIntlayer.md +225 -0
  1037. package/ru/packages/react-intlayer/useIntlayerAsync.md +226 -0
  1038. package/ru/packages/react-intlayer/useLocale.md +184 -0
  1039. package/ru/packages/react-native-intlayer/index.md +57 -0
  1040. package/ru/packages/react-scripts-intlayer/index.md +57 -0
  1041. package/ru/packages/solid-intlayer/index.md +3 -0
  1042. package/ru/packages/svelte-intlayer/index.md +3 -0
  1043. package/ru/packages/vite-intlayer/index.md +53 -0
  1044. package/ru/packages/vue-intlayer/index.md +3 -0
  1045. package/ru/per_locale_file.md +298 -0
  1046. package/ru/privacy_notice.md +61 -0
  1047. package/ru/roadmap.md +206 -0
  1048. package/ru/terms_of_service.md +33 -0
  1049. package/ru/vs_code_extension.md +139 -0
  1050. package/zh/CI_CD.md +149 -0
  1051. package/zh/autoFill.md +157 -0
  1052. package/zh/configuration.md +484 -0
  1053. package/zh/dictionary/condition.md +213 -0
  1054. package/zh/dictionary/content_extention_customization.md +81 -0
  1055. package/zh/dictionary/enumeration.md +221 -0
  1056. package/zh/dictionary/file.md +209 -0
  1057. package/zh/dictionary/function_fetching.md +188 -0
  1058. package/zh/dictionary/get_started.md +490 -0
  1059. package/zh/dictionary/insertion.md +161 -0
  1060. package/zh/dictionary/markdown.md +342 -0
  1061. package/zh/dictionary/nesting.md +249 -0
  1062. package/zh/dictionary/translation.md +287 -0
  1063. package/zh/header.md +7 -0
  1064. package/zh/how_works_intlayer.md +217 -0
  1065. package/zh/index.md +125 -0
  1066. package/zh/interest_of_intlayer.md +132 -0
  1067. package/zh/intlayer_CMS.md +334 -0
  1068. package/zh/intlayer_cli.md +274 -0
  1069. package/zh/intlayer_visual_editor.md +210 -0
  1070. package/zh/intlayer_with_angular.md +3 -0
  1071. package/zh/intlayer_with_create_react_app.md +1196 -0
  1072. package/zh/intlayer_with_express.md +267 -0
  1073. package/zh/intlayer_with_lynx+react.md +484 -0
  1074. package/zh/intlayer_with_nextjs_14.md +1286 -0
  1075. package/zh/intlayer_with_nextjs_15.md +1322 -0
  1076. package/zh/intlayer_with_nextjs_page_router.md +1097 -0
  1077. package/zh/intlayer_with_react_native+expo.md +539 -0
  1078. package/zh/intlayer_with_vite+preact.md +1681 -0
  1079. package/zh/intlayer_with_vite+react.md +1577 -0
  1080. package/zh/intlayer_with_vite+solid.md +3 -0
  1081. package/zh/intlayer_with_vite+svelte.md +3 -0
  1082. package/zh/intlayer_with_vite+vue.md +988 -0
  1083. package/zh/introduction.md +186 -0
  1084. package/zh/mcp_server.md +152 -0
  1085. package/zh/packages/@intlayer/api/index.md +31 -0
  1086. package/zh/packages/@intlayer/chokidar/index.md +31 -0
  1087. package/zh/packages/@intlayer/cli/index.md +21 -0
  1088. package/zh/packages/@intlayer/config/index.md +116 -0
  1089. package/zh/packages/@intlayer/core/index.md +25 -0
  1090. package/zh/packages/@intlayer/design-system/index.md +21 -0
  1091. package/zh/packages/@intlayer/dictionary-entry/index.md +21 -0
  1092. package/zh/packages/@intlayer/editor/index.md +21 -0
  1093. package/zh/packages/@intlayer/editor-react/index.md +21 -0
  1094. package/zh/packages/@intlayer/webpack/index.md +35 -0
  1095. package/zh/packages/angular-intlayer/index.md +3 -0
  1096. package/zh/packages/express-intlayer/index.md +229 -0
  1097. package/zh/packages/express-intlayer/t.md +432 -0
  1098. package/zh/packages/intlayer/getConfiguration.md +120 -0
  1099. package/zh/packages/intlayer/getEnumeration.md +140 -0
  1100. package/zh/packages/intlayer/getHTMLTextDir.md +97 -0
  1101. package/zh/packages/intlayer/getLocaleLang.md +57 -0
  1102. package/zh/packages/intlayer/getLocaleName.md +93 -0
  1103. package/zh/packages/intlayer/getLocalizedUrl.md +221 -0
  1104. package/zh/packages/intlayer/getMultilingualUrls.md +198 -0
  1105. package/zh/packages/intlayer/getPathWithoutLocale.md +50 -0
  1106. package/zh/packages/intlayer/getTranslation.md +166 -0
  1107. package/zh/packages/intlayer/getTranslationContent.md +166 -0
  1108. package/zh/packages/intlayer/index.md +360 -0
  1109. package/zh/packages/intlayer-cli/index.md +41 -0
  1110. package/zh/packages/intlayer-editor/index.md +113 -0
  1111. package/zh/packages/lynx-intlayer/index.md +60 -0
  1112. package/zh/packages/next-intlayer/index.md +267 -0
  1113. package/zh/packages/next-intlayer/t.md +338 -0
  1114. package/zh/packages/next-intlayer/useDictionary.md +242 -0
  1115. package/zh/packages/next-intlayer/useIntlayer.md +237 -0
  1116. package/zh/packages/next-intlayer/useIntlayerAsync.md +211 -0
  1117. package/zh/packages/next-intlayer/useLocale.md +105 -0
  1118. package/zh/packages/preact-intlayer/index.md +3 -0
  1119. package/zh/packages/react-intlayer/index.md +257 -0
  1120. package/zh/packages/react-intlayer/t.md +271 -0
  1121. package/zh/packages/react-intlayer/useDictionary.md +260 -0
  1122. package/zh/packages/react-intlayer/useIntlayer.md +225 -0
  1123. package/zh/packages/react-intlayer/useIntlayerAsync.md +226 -0
  1124. package/zh/packages/react-intlayer/useLocale.md +184 -0
  1125. package/zh/packages/react-native-intlayer/index.md +57 -0
  1126. package/zh/packages/react-scripts-intlayer/index.md +57 -0
  1127. package/zh/packages/solid-intlayer/index.md +3 -0
  1128. package/zh/packages/svelte-intlayer/index.md +3 -0
  1129. package/zh/packages/vite-intlayer/index.md +53 -0
  1130. package/zh/packages/vue-intlayer/index.md +3 -0
  1131. package/zh/per_locale_file.md +298 -0
  1132. package/zh/privacy_notice.md +61 -0
  1133. package/zh/roadmap.md +206 -0
  1134. package/zh/terms_of_service.md +33 -0
  1135. package/zh/vs_code_extension.md +139 -0
@@ -0,0 +1,1192 @@
1
+ # Getting Started Internationalising (i18n) with Intlayer and React Create App
2
+
3
+ See [Application Template](https://github.com/aymericzip/intlayer-react-cra-template) on GitHub.
4
+
5
+ ## What is Intlayer?
6
+
7
+ **Intlayer** is an innovative, open-source internationalisation (i18n) library designed to simplify multilingual support in modern web applications.
8
+
9
+ With Intlayer, you can:
10
+
11
+ - **Easily manage translations** using declarative dictionaries at the component level.
12
+ - **Dynamically localise metadata**, routes, and content.
13
+ - **Ensure TypeScript support** with autogenerated types, improving autocompletion and error detection.
14
+ - **Benefit from advanced features**, like dynamic locale detection and switching.
15
+
16
+ ## Step-by-Step Guide to Set Up Intlayer in a React Application
17
+
18
+ ### Step 1: Install Dependencies
19
+
20
+ Install the necessary packages using npm:
21
+
22
+ ```bash packageManager="npm"
23
+ npm install intlayer react-intlayer react-scripts-intlayer
24
+ ```
25
+
26
+ ```bash packageManager="pnpm"
27
+ pnpm add intlayer react-intlayer react-scripts-intlayer
28
+ ```
29
+
30
+ ```bash packageManager="yarn"
31
+ yarn add intlayer react-intlayer react-scripts-intlayer
32
+ ```
33
+
34
+ - **intlayer**
35
+
36
+ The core package that provides internationalisation tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/dictionary/get_started.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/intlayer_cli.md).
37
+
38
+ - **react-intlayer**
39
+
40
+ The package that integrates Intlayer with React application. It provides context providers and hooks for React internationalisation.
41
+
42
+ - **react-scripts-intlayer**
43
+
44
+ Includes the `react-scripts-intlayer` commands and plugins for integrating Intlayer with the Create React App based application. These plugins are based on [craco](https://craco.js.org/) and include additional configuration for the [Webpack](https://webpack.js.org/) bundler.
45
+
46
+ ### Step 2: Configuration of your project
47
+
48
+ Create a config file to configure the languages of your application:
49
+
50
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
51
+ import { Locales, type IntlayerConfig } from "intlayer";
52
+
53
+ const config: IntlayerConfig = {
54
+ internationalisation: {
55
+ locales: [
56
+ Locales.ENGLISH,
57
+ Locales.FRENCH,
58
+ Locales.SPANISH,
59
+ // Your other locales
60
+ ],
61
+ defaultLocale: Locales.ENGLISH,
62
+ },
63
+ };
64
+
65
+ export default config;
66
+ ```
67
+
68
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
69
+ import { Locales } from "intlayer";
70
+
71
+ /** @type {import('intlayer').IntlayerConfig} */
72
+ const config = {
73
+ internationalisation: {
74
+ locales: [
75
+ Locales.ENGLISH,
76
+ Locales.FRENCH,
77
+ Locales.SPANISH,
78
+ // Your other locales
79
+ ],
80
+ defaultLocale: Locales.ENGLISH,
81
+ },
82
+ };
83
+
84
+ export default config;
85
+ ```
86
+
87
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
88
+ const { Locales } = require("intlayer");
89
+
90
+ /** @type {import('intlayer').IntlayerConfig} */
91
+ const config = {
92
+ internationalisation: {
93
+ locales: [
94
+ Locales.ENGLISH,
95
+ Locales.FRENCH,
96
+ Locales.SPANISH,
97
+ // Your other locales
98
+ ],
99
+ defaultLocale: Locales.ENGLISH,
100
+ },
101
+ };
102
+
103
+ module.exports = config;
104
+ ```
105
+
106
+ > Through this configuration file, you can set up localised URLs, middleware redirection, cookie names, the location and extension of your content declarations, disable Intlayer logs in the console, and more. For a complete list of available parameters, refer to the [configuration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/configuration.md).
107
+
108
+ ### Step 3: Integrate Intlayer in Your CRA Configuration
109
+
110
+ Change your scripts to use react-intlayer
111
+
112
+ ```json fileName="package.json"
113
+ "scripts": {
114
+ "build": "react-scripts-intlayer build",
115
+ "start": "react-scripts-intlayer start",
116
+ "transpile": "intlayer build"
117
+ },
118
+ ```
119
+
120
+ > `react-scripts-intlayer` scripts are based on [CRACO](https://craco.js.org/). You can also implement your own setup based on the intlayer craco plugin. [See example here](https://github.com/aymericzip/intlayer/blob/main/examples/react-app/craco.config.js).
121
+
122
+ ### Step 4: Declare Your Content
123
+
124
+ Create and manage your content declarations to store translations:
125
+
126
+ ```tsx fileName="src/app.content.tsx" codeFormat="typescript"
127
+ import { t, type Dictionary } from "intlayer";
128
+ import React, { type ReactNode } from "react";
129
+
130
+ const appContent = {
131
+ key: "app",
132
+ content: {
133
+ getStarted: t<ReactNode>({
134
+ en: (
135
+ <>
136
+ Edit <code>src/App.tsx</code> and save to reload
137
+ </>
138
+ ),
139
+ fr: (
140
+ <>
141
+ Éditez <code>src/App.tsx</code> et enregistrez pour recharger
142
+ </>
143
+ ),
144
+ es: (
145
+ <>
146
+ Edita <code>src/App.tsx</code> y guarda para recargar
147
+ </>
148
+ ),
149
+ }),
150
+ reactLink: {
151
+ href: "https://reactjs.org",
152
+ content: t({
153
+ en: "Learn React",
154
+ fr: "Apprendre React",
155
+ es: "Aprender React",
156
+ }),
157
+ },
158
+ },
159
+ } satisfies Dictionary;
160
+
161
+ export default appContent;
162
+ ```
163
+
164
+ ```jsx fileName="src/app.content.mjx" codeFormat="esm"
165
+ import { t } from "intlayer";
166
+
167
+ /** @type {import('intlayer').Dictionary} */
168
+ const appContent = {
169
+ key: "app",
170
+ content: {
171
+ getStarted: t({
172
+ en: "Get started by editing",
173
+ fr: "Commencez par éditer",
174
+ es: "Comience por editar",
175
+ }),
176
+ reactLink: {
177
+ href: "https://reactjs.org",
178
+ content: t({
179
+ en: "Learn React",
180
+ fr: "Apprendre React",
181
+ es: "Aprender React",
182
+ }),
183
+ },
184
+ },
185
+ };
186
+
187
+ export default appContent;
188
+ ```
189
+
190
+ ```jsx fileName="src/app.content.csx" codeFormat="commonjs"
191
+ const { t } = require("intlayer");
192
+
193
+ /** @type {import('intlayer').Dictionary} */
194
+ const appContent = {
195
+ key: "app",
196
+ content: {
197
+ getStarted: t({
198
+ en: "Get started by editing",
199
+ fr: "Commencez par éditer",
200
+ es: "Comience por editar",
201
+ }),
202
+ reactLink: {
203
+ href: "https://reactjs.org",
204
+ content: t({
205
+ en: "Learn React",
206
+ fr: "Apprendre React",
207
+ es: "Aprender React",
208
+ }),
209
+ },
210
+ },
211
+ };
212
+
213
+ module.exports = appContent;
214
+ ```
215
+
216
+ > Your content declarations can be defined anywhere in your application as soon 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}`).
217
+
218
+ > For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/dictionary/get_started.md).
219
+
220
+ > If your content file includes TSX code, you should consider importing `import React from "react";` in your content file.
221
+
222
+ ### Step 5: Utilise Intlayer in Your Code
223
+
224
+ Access your content dictionaries throughout your application:
225
+
226
+ ```tsx {4,7} fileName="src/App.tsx" codeFormat="typescript"
227
+ import logo from "./logo.svg";
228
+ import "./App.css";
229
+ import type { FC } from "react";
230
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
231
+
232
+ const AppContent: FC = () => {
233
+ const content = useIntlayer("app");
234
+
235
+ return (
236
+ <div className="App">
237
+ <img src={logo} className="App-logo" alt="logo" />
238
+
239
+ {content.getStarted}
240
+ <a
241
+ className="App-link"
242
+ href={content.reactLink.href.value}
243
+ target="_blank"
244
+ rel="noopener noreferrer"
245
+ >
246
+ {content.reactLink.content}
247
+ </a>
248
+ </div>
249
+ );
250
+ };
251
+
252
+ const App: FC = () => (
253
+ <IntlayerProvider>
254
+ <AppContent />
255
+ </IntlayerProvider>
256
+ );
257
+
258
+ export default App;
259
+ ```
260
+
261
+ ```jsx {3,6} fileName="src/App.mjx" codeFormat="esm"
262
+ import "./App.css";
263
+ import logo from "./logo.svg";
264
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
265
+
266
+ const AppContent = () => {
267
+ const content = useIntlayer("app");
268
+
269
+ return (
270
+ <div className="App">
271
+ <img src={logo} className="App-logo" alt="logo" />
272
+
273
+ {content.getStarted}
274
+ <a
275
+ className="App-link"
276
+ href={content.reactLink.href.value}
277
+ target="_blank"
278
+ rel="noopener noreferrer"
279
+ >
280
+ {content.reactLink.content}
281
+ </a>
282
+ </div>
283
+ );
284
+ };
285
+
286
+ const App = () => (
287
+ <IntlayerProvider>
288
+ <AppContent />
289
+ </IntlayerProvider>
290
+ );
291
+ ```
292
+
293
+ ```jsx {3,6} fileName="src/App.csx" codeFormat="commonjs"
294
+ require("./App.css");
295
+ const logo = require("./logo.svg");
296
+ const { IntlayerProvider, useIntlayer } = require("react-intlayer");
297
+
298
+ const AppContent = () => {
299
+ const content = useIntlayer("app");
300
+
301
+ return (
302
+ <div className="App">
303
+ <img src={logo} className="App-logo" alt="logo" />
304
+
305
+ {content.getStarted}
306
+ <a
307
+ className="App-link"
308
+ href={content.reactLink.href.value}
309
+ target="_blank"
310
+ rel="noopener noreferrer"
311
+ >
312
+ {content.reactLink.content}
313
+ </a>
314
+ </div>
315
+ );
316
+ };
317
+
318
+ const App = () => (
319
+ <IntlayerProvider>
320
+ <AppContent />
321
+ </IntlayerProvider>
322
+ );
323
+ ```
324
+
325
+ > Note: If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you must call the value of the function, like:
326
+
327
+ > ```jsx
328
+ >
329
+ > ```
330
+
331
+ > <img src={content.image.src.value} alt={content.image.value} />
332
+
333
+ > ```
334
+ >
335
+ > ```
336
+
337
+ > To Learn more about the `useIntlayer` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/react-intlayer/useIntlayer.md).
338
+
339
+ ### (Optional) Step 6: Change the language of your content
340
+
341
+ To change the language of your content, you can use the `setLocale` function provided by the `useLocale` hook. This function allows you to set the locale of the application and update the content accordingly.
342
+
343
+ ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
344
+ import { Locales } from "intlayer";
345
+ import { useLocale } from "react-intlayer";
346
+
347
+ const LocaleSwitcher = () => {
348
+ const { setLocale } = useLocale();
349
+
350
+ return (
351
+ <button onClick={() => setLocale(Locales.English)}>
352
+ Change Language to English
353
+ </button>
354
+ );
355
+ };
356
+ ```
357
+
358
+ ```jsx fileName="src/components/LocaleSwitcher.mjx" codeFormat="esm"
359
+ import { Locales } from "intlayer";
360
+ import { useLocale } from "react-intlayer";
361
+
362
+ const LocaleSwitcher = () => {
363
+ const { setLocale } = useLocale();
364
+
365
+ return (
366
+ <button onClick={() => setLocale(Locales.English)}>
367
+ Change Language to English
368
+ </button>
369
+ );
370
+ };
371
+ ```
372
+
373
+ ```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
374
+ const { Locales } = require("intlayer");
375
+ const { useLocale } = require("react-intlayer");
376
+
377
+ const LocaleSwitcher = () => {
378
+ const { setLocale } = useLocale();
379
+
380
+ return (
381
+ <button onClick={() => setLocale(Locales.English)}>
382
+ Change Language to English
383
+ </button>
384
+ );
385
+ };
386
+ ```
387
+
388
+ > To Learn more about the `useLocale` hook, refer to the [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/react-intlayer/useLocale.md).
389
+
390
+ ### (Optional) Step 7: Add localised Routing to your application
391
+
392
+ The purpose of this step is to make unique routes for each language. This is useful for SEO and SEO-friendly URLs.
393
+ Example:
394
+
395
+ ```plaintext
396
+ - https://example.com/about
397
+ - https://example.com/es/about
398
+ - https://example.com/fr/about
399
+ ```
400
+
401
+ > 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/en-GB/configuration.md) for more information.
402
+
403
+ 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):
404
+
405
+ ```tsx fileName="src/components/LocaleRouter.tsx" codeFormat="typescript"
406
+ // Importing necessary dependencies and functions
407
+ import { type Locales, configuration, getPathWithoutLocale } from "intlayer"; // Utility functions and types from 'intlayer'
408
+ import type { FC, PropsWithChildren } from "react"; // React types for functional components and props
409
+ import { IntlayerProvider } from "react-intlayer"; // Provider for internationalisation context
410
+ import {
411
+ BrowserRouter,
412
+ Routes,
413
+ Route,
414
+ Navigate,
415
+ useLocation,
416
+ } from "react-router-dom"; // Router components for managing navigation
417
+
418
+ // Destructuring configuration from Intlayer
419
+ const { internationalisation, middleware } = getConfiguration();
420
+ const { locales, defaultLocale } = internationalisation;
421
+
422
+ /**
423
+ * A component that handles localisation and wraps children with the appropriate locale context.
424
+ * It manages URL-based locale detection and validation.
425
+ */
426
+ const AppLocalised: FC<PropsWithChildren<{ locale: Locales }>> = ({
427
+ children,
428
+ locale,
429
+ }) => {
430
+ const { pathname, search } = useLocation(); // Get the current URL path
431
+
432
+ // Determine the current locale, falling back to the default if not provided
433
+ const currentLocale = locale ?? defaultLocale;
434
+
435
+ // Remove the locale prefix from the path to construct a base path
436
+ const pathWithoutLocale = getPathWithoutLocale(
437
+ pathname // Current URL path
438
+ );
439
+
440
+ /**
441
+ * If middleware.prefixDefault is true, the default locale should always be prefixed.
442
+ */
443
+ if (middleware.prefixDefault) {
444
+ // Validate the locale
445
+ if (!locale || !locales.includes(locale)) {
446
+ // Redirect to the default locale with the updated path
447
+ return (
448
+ <Navigate
449
+ to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
450
+ replace // Replace the current history entry with the new one
451
+ />
452
+ );
453
+ }
454
+
455
+ // Wrap children with the IntlayerProvider and set the current locale
456
+ return (
457
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
458
+ );
459
+ } else {
460
+ /**
461
+ * When middleware.prefixDefault is false, the default locale is not prefixed.
462
+ * Ensure that the current locale is valid and not the default locale.
463
+ */
464
+ if (
465
+ currentLocale.toString() !== defaultLocale.toString() &&
466
+ !locales
467
+ .filter(
468
+ (locale) => locale.toString() !== defaultLocale.toString() // Exclude the default locale
469
+ )
470
+ .includes(currentLocale) // Check if the current locale is in the list of valid locales
471
+ ) {
472
+ // Redirect to the path without locale prefix
473
+ return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
474
+ }
475
+
476
+ // Wrap children with the IntlayerProvider and set the current locale
477
+ return (
478
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
479
+ );
480
+ }
481
+ };
482
+
483
+ /**
484
+ * A router component that sets up locale-specific routes.
485
+ * It uses React Router to manage navigation and render localised components.
486
+ */
487
+ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
488
+ <BrowserRouter>
489
+ <Routes>
490
+ {locales
491
+ .filter(
492
+ (locale) => middleware.prefixDefault || locale !== defaultLocale
493
+ )
494
+ .map((locale) => (
495
+ <Route
496
+ // Route pattern to capture the locale (e.g., /en/, /fr/) and match all subsequent paths
497
+ path={`/${locale}/*`}
498
+ key={locale}
499
+ element={<AppLocalised locale={locale}>{children}</AppLocalised>} // Wraps children with locale management
500
+ />
501
+ ))}
502
+
503
+ {
504
+ // If prefixing the default locale is disabled, render the children directly at the root path
505
+ !middleware.prefixDefault && (
506
+ <Route
507
+ path="*"
508
+ element={
509
+ <AppLocalised locale={defaultLocale}>{children}</AppLocalised>
510
+ } // Wraps children with locale management
511
+ />
512
+ )
513
+ }
514
+ </Routes>
515
+ </BrowserRouter>
516
+ );
517
+ ```
518
+
519
+ ```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
520
+ // Importing necessary dependencies and functions
521
+ import { configuration, getPathWithoutLocale } from "intlayer"; // Utility functions and types from 'intlayer'
522
+ import { IntlayerProvider } from "react-intlayer"; // Provider for internationalisation context
523
+ import {
524
+ BrowserRouter,
525
+ Routes,
526
+ Route,
527
+ Navigate,
528
+ useLocation,
529
+ } from "react-router-dom"; // Router components for managing navigation
530
+
531
+ // Destructuring configuration from Intlayer
532
+ const { internationalisation, middleware } = getConfiguration();
533
+ const { locales, defaultLocale } = internationalisation;
534
+
535
+ /**
536
+ * A component that handles localisation and wraps children with the appropriate locale context.
537
+ * It manages URL-based locale detection and validation.
538
+ */
539
+ const AppLocalised = ({ children, locale }) => {
540
+ const { pathname, search } = useLocation(); // Get the current URL path
541
+
542
+ // Determine the current locale, falling back to the default if not provided
543
+ const currentLocale = locale ?? defaultLocale;
544
+
545
+ // Remove the locale prefix from the path to construct a base path
546
+ const pathWithoutLocale = getPathWithoutLocale(
547
+ pathname // Current URL path
548
+ );
549
+
550
+ /**
551
+ * If middleware.prefixDefault is true, the default locale should always be prefixed.
552
+ */
553
+ if (middleware.prefixDefault) {
554
+ // Validate the locale
555
+ if (!locale || !locales.includes(locale)) {
556
+ // Redirect to the default locale with the updated path
557
+ return (
558
+ <Navigate
559
+ to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
560
+ replace // Replace the current history entry with the new one
561
+ />
562
+ );
563
+ }
564
+
565
+ // Wrap children with the IntlayerProvider and set the current locale
566
+ return (
567
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
568
+ );
569
+ } else {
570
+ /**
571
+ * When middleware.prefixDefault is false, the default locale is not prefixed.
572
+ * Ensure that the current locale is valid and not the default locale.
573
+ */
574
+ if (
575
+ currentLocale.toString() !== defaultLocale.toString() &&
576
+ !locales
577
+ .filter(
578
+ (locale) => locale.toString() !== defaultLocale.toString() // Exclude the default locale
579
+ )
580
+ .includes(currentLocale) // Check if the current locale is in the list of valid locales
581
+ ) {
582
+ // Redirect to the path without locale prefix
583
+ return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
584
+ }
585
+
586
+ // Wrap children with the IntlayerProvider and set the current locale
587
+ return (
588
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
589
+ );
590
+ }
591
+ };
592
+
593
+ /**
594
+ * A router component that sets up locale-specific routes.
595
+ * It uses React Router to manage navigation and render localised components.
596
+ */
597
+ export const LocaleRouter = ({ children }) => (
598
+ <BrowserRouter>
599
+ <Routes>
600
+ {locales
601
+ .filter(
602
+ (locale) => middleware.prefixDefault || locale !== defaultLocale
603
+ )
604
+ .map((locale) => (
605
+ <Route
606
+ // Route pattern to capture the locale (e.g., /en/, /fr/) and match all subsequent paths
607
+ path={`/${locale}/*`}
608
+ key={locale}
609
+ element={<AppLocalised locale={locale}>{children}</AppLocalised>} // Wraps children with locale management
610
+ />
611
+ ))}
612
+
613
+ {
614
+ // If prefixing the default locale is disabled, render the children directly at the root path
615
+ !middleware.prefixDefault && (
616
+ <Route
617
+ path="*"
618
+ element={
619
+ <AppLocalised locale={defaultLocale}>{children}</AppLocalised>
620
+ } // Wraps children with locale management
621
+ />
622
+ )
623
+ }
624
+ </Routes>
625
+ </BrowserRouter>
626
+ );
627
+ ```
628
+
629
+ ```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
630
+ // Importing necessary dependencies and functions
631
+ const { configuration, getPathWithoutLocale } = require("intlayer"); // Utility functions and types from 'intlayer'
632
+ const { IntlayerProvider, useLocale } = require("react-intlayer"); // Provider for internationalisation context
633
+ const {
634
+ BrowserRouter,
635
+ Routes,
636
+ Route,
637
+ Navigate,
638
+ useLocation,
639
+ } = require("react-router-dom"); // Router components for managing navigation
640
+
641
+ // Destructuring configuration from Intlayer
642
+ const { internationalisation, middleware } = getConfiguration();
643
+ const { locales, defaultLocale } = internationalisation;
644
+
645
+ /**
646
+ * A component that handles localisation and wraps children with the appropriate locale context.
647
+ * It manages URL-based locale detection and validation.
648
+ */
649
+ const AppLocalised = ({ children, locale }) => {
650
+ const { pathname, search } = useLocation(); // Get the current URL path
651
+
652
+ // Determine the current locale, falling back to the default if not provided
653
+ const currentLocale = locale ?? defaultLocale;
654
+
655
+ // Remove the locale prefix from the path to construct a base path
656
+ const pathWithoutLocale = getPathWithoutLocale(
657
+ pathname // Current URL path
658
+ );
659
+
660
+ /**
661
+ * If middleware.prefixDefault is true, the default locale should always be prefixed.
662
+ */
663
+ if (middleware.prefixDefault) {
664
+ // Validate the locale
665
+ if (!locale || !locales.includes(locale)) {
666
+ // Redirect to the default locale with the updated path
667
+ return (
668
+ <Navigate
669
+ to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
670
+ replace // Replace the current history entry with the new one
671
+ />
672
+ );
673
+ }
674
+
675
+ // Wrap children with the IntlayerProvider and set the current locale
676
+ return (
677
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
678
+ );
679
+ } else {
680
+ /**
681
+ * When middleware.prefixDefault is false, the default locale is not prefixed.
682
+ * Ensure that the current locale is valid and not the default locale.
683
+ */
684
+ if (
685
+ currentLocale.toString() !== defaultLocale.toString() &&
686
+ !locales
687
+ .filter(
688
+ (locale) => locale.toString() !== defaultLocale.toString() // Exclude the default locale
689
+ )
690
+ .includes(currentLocale) // Check if the current locale is in the list of valid locales
691
+ ) {
692
+ // Redirect to the path without locale prefix
693
+ return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
694
+ }
695
+
696
+ // Wrap children with the IntlayerProvider and set the current locale
697
+ return (
698
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
699
+ );
700
+ }
701
+ };
702
+
703
+ /**
704
+ * A router component that sets up locale-specific routes.
705
+ * It uses React Router to manage navigation and render localised components.
706
+ */
707
+ const LocaleRouter = ({ children }) => (
708
+ <BrowserRouter>
709
+ <Routes>
710
+ {locales
711
+ .filter(
712
+ (locale) => middleware.prefixDefault || locale !== defaultLocale
713
+ )
714
+ .map((locale) => (
715
+ <Route
716
+ // Route pattern to capture the locale (e.g., /en/, /fr/) and match all subsequent paths
717
+ path={`/${locale}/*`}
718
+ key={locale}
719
+ element={<AppLocalised locale={locale}>{children}</AppLocalised>} // Wraps children with locale management
720
+ />
721
+ ))}
722
+
723
+ {
724
+ // If prefixing the default locale is disabled, render the children directly at the root path
725
+ !middleware.prefixDefault && (
726
+ <Route
727
+ path="*"
728
+ element={
729
+ <AppLocalised locale={defaultLocale}>{children}</AppLocalised>
730
+ } // Wraps children with locale management
731
+ />
732
+ )
733
+ }
734
+ </Routes>
735
+ </BrowserRouter>
736
+ );
737
+ ```
738
+
739
+ Then, you can use the `LocaleRouter` component in your application:
740
+
741
+ ```tsx fileName="src/App.tsx" codeFormat="typescript"
742
+ import { LocaleRouter } from "./components/LocaleRouter";
743
+ import type { FC } from "react";
744
+
745
+ // ... Your AppContent component
746
+
747
+ const App: FC = () => (
748
+ <LocaleRouter>
749
+ <AppContent />
750
+ </LocaleRouter>
751
+ );
752
+ ```
753
+
754
+ ```jsx fileName="src/App.mjx" codeFormat="esm"
755
+ import { LocaleRouter } from "./components/LocaleRouter";
756
+
757
+ // ... Your AppContent component
758
+
759
+ const App = () => (
760
+ <LocaleRouter>
761
+ <AppContent />
762
+ </LocaleRouter>
763
+ );
764
+ ```
765
+
766
+ ```jsx fileName="src/App.cjx" codeFormat="commonjs"
767
+ const { LocaleRouter } = require("./components/LocaleRouter");
768
+
769
+ // ... Your AppContent component
770
+
771
+ const App = () => (
772
+ <LocaleRouter>
773
+ <AppContent />
774
+ </LocaleRouter>
775
+ );
776
+ ```
777
+
778
+ ### (Optional) Step 8: Change the URL when the locale changes
779
+
780
+ To change the URL when the locale changes, you can use the `onLocaleChange` prop provided by the `useLocale` hook. In parallel, you can use the `useLocation` and `useNavigate` hooks from `react-router-dom` to update the URL path.
781
+
782
+ ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
783
+ import { useLocation, useNavigate } from "react-router-dom";
784
+ import {
785
+ Locales,
786
+ getHTMLTextDir,
787
+ getLocaleName,
788
+ getLocalizedUrl,
789
+ } from "intlayer";
790
+ import { useLocale } from "react-intlayer";
791
+ import { type FC } from "react";
792
+
793
+ const LocaleSwitcher: FC = () => {
794
+ const { pathname, search } = useLocation(); // Get the current URL path. Example: /fr/about?foo=bar
795
+ const navigate = useNavigate();
796
+
797
+ const { locale, availableLocales, setLocale } = useLocale({
798
+ onLocaleChange: (locale) => {
799
+ // Construct the URL with the updated locale
800
+ // Example: /es/about?foo=bar
801
+ const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
802
+
803
+ // Update the URL path
804
+ navigate(pathWithLocale);
805
+ },
806
+ });
807
+
808
+ return (
809
+ <div>
810
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
811
+ <div id="localePopover" popover="auto">
812
+ {availableLocales.map((localeItem) => (
813
+ <a
814
+ href={getLocalizedUrl(location.pathname, localeItem)}
815
+ hrefLang={localeItem}
816
+ aria-current={locale === localeItem ? "page" : undefined}
817
+ onClick={(e) => {
818
+ e.preventDefault();
819
+ setLocale(localeItem);
820
+ }}
821
+ key={localeItem}
822
+ >
823
+ <span>
824
+ {/* Locale - e.g. FR */}
825
+ {localeItem}
826
+ </span>
827
+ <span>
828
+ {/* Language in its own Locale - e.g. Français */}
829
+ {getLocaleName(localeItem, locale)}
830
+ </span>
831
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
832
+ {/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
833
+ {getLocaleName(localeItem)}
834
+ </span>
835
+ <span dir="ltr" lang={Locales.ENGLISH}>
836
+ {/* Language in English - e.g. French */}
837
+ {getLocaleName(localeItem, Locales.ENGLISH)}
838
+ </span>
839
+ </a>
840
+ ))}
841
+ </div>
842
+ </div>
843
+ );
844
+ };
845
+ ```
846
+
847
+ ```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
848
+ import { useLocation, useNavigate } from "react-router-dom";
849
+ import {
850
+ Locales,
851
+ getHTMLTextDir,
852
+ getLocaleName,
853
+ getLocalizedUrl,
854
+ } from "intlayer";
855
+ import { useLocale } from "react-intlayer";
856
+
857
+ const LocaleSwitcher = () => {
858
+ const { pathname, search } = useLocation(); // Get the current URL path. Example: /fr/about?foo=bar
859
+ const navigate = useNavigate();
860
+
861
+ const { locale, availableLocales, setLocale } = useLocale({
862
+ onLocaleChange: (locale) => {
863
+ // Construct the URL with the updated locale
864
+ // Example: /es/about?foo=bar
865
+ const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
866
+
867
+ // Update the URL path
868
+ navigate(pathWithLocale);
869
+ },
870
+ });
871
+
872
+ return (
873
+ <div>
874
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
875
+ <div id="localePopover" popover="auto">
876
+ {availableLocales.map((localeItem) => (
877
+ <a
878
+ href={getLocalizedUrl(location.pathname, localeItem)}
879
+ hrefLang={localeItem}
880
+ aria-current={locale === localeItem ? "page" : undefined}
881
+ onClick={(e) => {
882
+ e.preventDefault();
883
+ setLocale(localeItem);
884
+ }}
885
+ key={localeItem}
886
+ >
887
+ <span>
888
+ {/* Locale - e.g. FR */}
889
+ {localeItem}
890
+ </span>
891
+ <span>
892
+ {/* Language in its own Locale - e.g. Français */}
893
+ {getLocaleName(localeItem, locale)}
894
+ </span>
895
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
896
+ {/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
897
+ {getLocaleName(localeItem)}
898
+ </span>
899
+ <span dir="ltr" lang={Locales.ENGLISH}>
900
+ {/* Language in English - e.g. French */}
901
+ {getLocaleName(localeItem, Locales.ENGLISH)}
902
+ </span>
903
+ </a>
904
+ ))}
905
+ </div>
906
+ </div>
907
+ );
908
+ };
909
+ ```
910
+
911
+ ```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
912
+ const { useLocation, useNavigate } = require("react-router-dom");
913
+ const {
914
+ Locales,
915
+ getHTMLTextDir,
916
+ getLocaleName,
917
+ getLocalizedUrl,
918
+ } = require("intlayer");
919
+ const { useLocale } = require("react-intlayer");
920
+
921
+ const LocaleSwitcher = () => {
922
+ const { pathname, search } = useLocation(); // Get the current URL path. Example: /fr/about?foo=bar
923
+ const navigate = useNavigate();
924
+
925
+ const { locale, availableLocales, setLocale } = useLocale({
926
+ onLocaleChange: (locale) => {
927
+ // Construct the URL with the updated locale
928
+ // Example: /es/about?foo=bar
929
+ const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
930
+
931
+ // Update the URL path
932
+ navigate(pathWithLocale);
933
+ },
934
+ });
935
+
936
+ return (
937
+ <div>
938
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
939
+ <div id="localePopover" popover="auto">
940
+ {availableLocales.map((localeItem) => (
941
+ <a
942
+ href={getLocalizedUrl(location.pathname, localeItem)}
943
+ hrefLang={localeItem}
944
+ aria-current={locale === localeItem ? "page" : undefined}
945
+ onClick={(e) => {
946
+ e.preventDefault();
947
+ setLocale(localeItem);
948
+ }}
949
+ key={localeItem}
950
+ >
951
+ <span>
952
+ {/* Locale - e.g. FR */}
953
+ {localeItem}
954
+ </span>
955
+ <span>
956
+ {/* Language in its own Locale - e.g. Français */}
957
+ {getLocaleName(localeItem, locale)}
958
+ </span>
959
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
960
+ {/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
961
+ {getLocaleName(localeItem)}
962
+ </span>
963
+ <span dir="ltr" lang={Locales.ENGLISH}>
964
+ {/* Language in English - e.g. French */}
965
+ {getLocaleName(localeItem, Locales.ENGLISH)}
966
+ </span>
967
+ </a>
968
+ ))}
969
+ </div>
970
+ </div>
971
+ );
972
+ };
973
+ ```
974
+
975
+ > Documentation references:
976
+
977
+ > - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/react-intlayer/useLocale.md)
978
+
979
+ > - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocaleName.md)
980
+
981
+ > - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getLocalizedUrl.md)
982
+
983
+ > - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/packages/intlayer/getHTMLTextDir.md)
984
+
985
+ > - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
986
+
987
+ > - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
988
+
989
+ > - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
990
+
991
+ > - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
992
+
993
+ ### (Optional) Step 9: Switch the HTML Language and Direction Attributes
994
+
995
+ When your application supports multiple languages, it's crucial to update the `<html>` tag's `lang` and `dir` attributes to match the current locale. Doing so ensures:
996
+
997
+ - **Accessibility**: Screen readers and assistive technologies rely on the correct `lang` attribute to pronounce and interpret content accurately.
998
+ - **Text Rendering**: The `dir` (direction) attribute ensures that text is rendered in the proper order (e.g., left-to-right for English, right-to-left for Arabic or Hebrew), which is essential for readability.
999
+ - **SEO**: Search engines use the `lang` attribute to determine the language of your page, helping to serve the right localised content in search results.
1000
+
1001
+ By updating these attributes dynamically when the locale changes, you guarantee a consistent and accessible experience for users across all supported languages.
1002
+
1003
+ #### Implementing the Hook
1004
+
1005
+ Create a custom hook to manage the HTML attributes. The hook listens for locale changes and updates the attributes accordingly:
1006
+
1007
+ ```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
1008
+ import { useEffect } from "react";
1009
+ import { useLocale } from "react-intlayer";
1010
+ import { getHTMLTextDir } from "intlayer";
1011
+
1012
+ /**
1013
+ * Updates the HTML <html> element's `lang` and `dir` attributes based on the current locale.
1014
+ * - `lang`: Informs browsers and search engines of the page's language.
1015
+ * - `dir`: Ensures the correct reading order (e.g., 'ltr' for English, 'rtl' for Arabic).
1016
+ *
1017
+ * This dynamic update is essential for proper text rendering, accessibility, and SEO.
1018
+ */
1019
+ export const useI18nHTMLAttributes = () => {
1020
+ const { locale } = useLocale();
1021
+
1022
+ useEffect(() => {
1023
+ // Update the language attribute to the current locale.
1024
+ document.documentElement.lang = locale;
1025
+
1026
+ // Set the text direction based on the current locale.
1027
+ document.documentElement.dir = getHTMLTextDir(locale);
1028
+ }, [locale]);
1029
+ };
1030
+ ```
1031
+
1032
+ ```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
1033
+ import { useEffect } from "react";
1034
+ import { useLocale } from "react-intlayer";
1035
+ import { getHTMLTextDir } from "intlayer";
1036
+
1037
+ /**
1038
+ * Updates the HTML <html> element's `lang` and `dir` attributes based on the current locale.
1039
+ * - `lang`: Informs browsers and search engines of the page's language.
1040
+ * - `dir`: Ensures the correct reading order (e.g., 'ltr' for English, 'rtl' for Arabic).
1041
+ *
1042
+ * This dynamic update is essential for proper text rendering, accessibility, and SEO.
1043
+ */
1044
+ export const useI18nHTMLAttributes = () => {
1045
+ const { locale } = useLocale();
1046
+
1047
+ useEffect(() => {
1048
+ // Update the language attribute to the current locale.
1049
+ document.documentElement.lang = locale;
1050
+
1051
+ // Set the text direction based on the current locale.
1052
+ document.documentElement.dir = getHTMLTextDir(locale);
1053
+ }, [locale]);
1054
+ };
1055
+ ```
1056
+
1057
+ ```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
1058
+ const { useEffect } = require("react");
1059
+ const { useLocale } = require("react-intlayer");
1060
+ const { getHTMLTextDir } = require("intlayer");
1061
+
1062
+ /**
1063
+ * Updates the HTML <html> element's `lang` and `dir` attributes based on the current locale.
1064
+ * - `lang`: Informs browsers and search engines of the page's language.
1065
+ * - `dir`: Ensures the correct reading order (e.g., 'ltr' for English, 'rtl' for Arabic).
1066
+ *
1067
+ * This dynamic update is essential for proper text rendering, accessibility, and SEO.
1068
+ */
1069
+ const useI18nHTMLAttributes = () => {
1070
+ const { locale } = useLocale();
1071
+
1072
+ useEffect(() => {
1073
+ // Update the language attribute to the current locale.
1074
+ document.documentElement.lang = locale;
1075
+
1076
+ // Set the text direction based on the current locale.
1077
+ document.documentElement.dir = getHTMLTextDir(locale);
1078
+ }, [locale]);
1079
+ };
1080
+
1081
+ module.exports = { useI18nHTMLAttributes };
1082
+ ```
1083
+
1084
+ #### Using the Hook in Your Application
1085
+
1086
+ Integrate the hook into your main component so that the HTML attributes update whenever the locale changes:
1087
+
1088
+ ```tsx fileName="src/App.tsx" codeFormat="typescript"
1089
+ import type { FC } from "react";
1090
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
1091
+ import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1092
+ import "./App.css";
1093
+
1094
+ const AppContent: FC = () => {
1095
+ // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1096
+ useI18nHTMLAttributes();
1097
+
1098
+ // ... Rest of your component
1099
+ };
1100
+
1101
+ const App: FC = () => (
1102
+ <IntlayerProvider>
1103
+ <AppContent />
1104
+ </IntlayerProvider>
1105
+ );
1106
+
1107
+ export default App;
1108
+ ```
1109
+
1110
+ ```jsx fileName="src/App.msx" codeFormat="esm"
1111
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
1112
+ import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1113
+ import "./App.css";
1114
+
1115
+ const AppContent = () => {
1116
+ // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1117
+ useI18nHTMLAttributes();
1118
+
1119
+ // ... Rest of your component
1120
+ };
1121
+
1122
+ const App = () => (
1123
+ <IntlayerProvider>
1124
+ <AppContent />
1125
+ </IntlayerProvider>
1126
+ );
1127
+
1128
+ export default App;
1129
+ ```
1130
+
1131
+ ```jsx fileName="src/App.csx" codeFormat="commonjs"
1132
+ const { FC } = require("react");
1133
+ const { IntlayerProvider, useIntlayer } = require("react-intlayer");
1134
+ const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
1135
+ require("./App.css");
1136
+
1137
+ const AppContent = () => {
1138
+ // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1139
+ useI18nHTMLAttributes();
1140
+
1141
+ // ... Rest of your component
1142
+ };
1143
+
1144
+ const App = () => (
1145
+ <IntlayerProvider>
1146
+ <AppContent />
1147
+ </IntlayerProvider>
1148
+ );
1149
+
1150
+ module.exports = App;
1151
+ ```
1152
+
1153
+ By applying these changes, your application will:
1154
+
1155
+ - Ensure the **language** (`lang`) attribute correctly reflects the current locale, which is important for SEO and browser behaviour.
1156
+ - Adjust the **text direction** (`dir`) according to the locale, enhancing readability and usability for languages with different reading orders.
1157
+ - Provide a more **accessible** experience, as assistive technologies depend on these attributes to function optimally.
1158
+
1159
+ ### Configure TypeScript
1160
+
1161
+ Intlayer uses module augmentation to get benefits of TypeScript and make your codebase stronger.
1162
+
1163
+ ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1164
+
1165
+ ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1166
+
1167
+ Ensure your TypeScript configuration includes the autogenerated types.
1168
+
1169
+ ```json5 fileName="tsconfig.json"
1170
+ {
1171
+ // ... Your existing TypeScript configurations
1172
+ "include": [
1173
+ // ... Your existing TypeScript configurations
1174
+ ".intlayer/**/*.ts", // Include the auto-generated types
1175
+ ],
1176
+ }
1177
+ ```
1178
+
1179
+ ### Git Configuration
1180
+
1181
+ It is recommended to ignore the files generated by Intlayer. This allows you to avoid committing them to your Git repository.
1182
+
1183
+ To do this, you can add the following instructions to your `.gitignore` file:
1184
+
1185
+ ```plaintext fileName=".gitignore"
1186
+ # Ignore the files generated by Intlayer
1187
+ .intlayer
1188
+ ```
1189
+
1190
+ ### Go Further
1191
+
1192
+ To go further, you can implement the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/intlayer_visual_editor.md) or externalise your content using the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/en-GB/intlayer_CMS.md).