@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,1209 @@
1
+ # Getting Started Internationalizing (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 internationalization (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 localize 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 internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/en/dictionary/get_started.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/en/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 internationalization.
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 includes 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
+ internationalization: {
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
+ internationalization: {
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
+ internationalization: {
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 localized 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/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/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: Utilize 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/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/packages/react-intlayer/useLocale.md).
389
+
390
+ ### (Optional) Step 7: Add localized 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/configuration.md) for more information.
402
+
403
+ To add localized 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
+ // Utility functions and types from 'intlayer'
409
+ import type { FC, PropsWithChildren } from "react"; // React types for functional components and props
410
+ import { IntlayerProvider } from "react-intlayer"; // Provider for internationalization context
411
+ import {
412
+ BrowserRouter,
413
+ Routes,
414
+ Route,
415
+ Navigate,
416
+ useLocation,
417
+ } from "react-router-dom"; // Router components for managing navigation
418
+
419
+ // Destructuring configuration from Intlayer
420
+ const { internationalization, middleware } = configuration;
421
+ const { locales, defaultLocale } = internationalization;
422
+
423
+ /**
424
+ * A component that handles localization and wraps children with the appropriate locale context.
425
+ * It manages URL-based locale detection and validation.
426
+ */
427
+ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
428
+ children,
429
+ locale,
430
+ }) => {
431
+ const { pathname, search } = useLocation(); // Get the current URL path
432
+
433
+ // Determine the current locale, falling back to the default if not provided
434
+ const currentLocale = locale ?? defaultLocale;
435
+
436
+ // Remove the locale prefix from the path to construct a base path
437
+ const pathWithoutLocale = getPathWithoutLocale(
438
+ pathname // Current URL path
439
+ );
440
+
441
+ /**
442
+ * If middleware.prefixDefault is true, the default locale should always be prefixed.
443
+ */
444
+ if (middleware.prefixDefault) {
445
+ // Validate the locale
446
+ if (!locale || !locales.includes(locale)) {
447
+ // Redirect to the default locale with the updated path
448
+ return (
449
+ <Navigate
450
+ to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
451
+ replace // Replace the current history entry with the new one
452
+ />
453
+ );
454
+ }
455
+
456
+ // Wrap children with the IntlayerProvider and set the current locale
457
+ return (
458
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
459
+ );
460
+ } else {
461
+ /**
462
+ * When middleware.prefixDefault is false, the default locale is not prefixed.
463
+ * Ensure that the current locale is valid and not the default locale.
464
+ */
465
+ if (
466
+ currentLocale.toString() !== defaultLocale.toString() &&
467
+ !locales
468
+ .filter(
469
+ (locale) => locale.toString() !== defaultLocale.toString() // Exclude the default locale
470
+ )
471
+ .includes(currentLocale) // Check if the current locale is in the list of valid locales
472
+ ) {
473
+ // Redirect to the path without locale prefix
474
+ return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
475
+ }
476
+
477
+ // Wrap children with the IntlayerProvider and set the current locale
478
+ return (
479
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
480
+ );
481
+ }
482
+ };
483
+
484
+ /**
485
+ * A router component that sets up locale-specific routes.
486
+ * It uses React Router to manage navigation and render localized components.
487
+ */
488
+ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
489
+ <BrowserRouter>
490
+ <Routes>
491
+ {locales
492
+ .filter(
493
+ (locale) => middleware.prefixDefault || locale !== defaultLocale
494
+ )
495
+ .map((locale) => (
496
+ <Route
497
+ // Route pattern to capture the locale (e.g., /en/, /fr/) and match all subsequent paths
498
+ path={`/${locale}/*`}
499
+ key={locale}
500
+ element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Wraps children with locale management
501
+ />
502
+ ))}
503
+
504
+ {
505
+ // If prefixing the default locale is disabled, render the children directly at the root path
506
+ !middleware.prefixDefault && (
507
+ <Route
508
+ path="*"
509
+ element={
510
+ <AppLocalized locale={defaultLocale}>{children}</AppLocalized>
511
+ } // Wraps children with locale management
512
+ />
513
+ )
514
+ }
515
+ </Routes>
516
+ </BrowserRouter>
517
+ );
518
+ ```
519
+
520
+ ```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
521
+ // Importing necessary dependencies and functions
522
+ import { configuration, getPathWithoutLocale } from "intlayer"; // Utility functions and types from 'intlayer'
523
+ // Utility functions and types from 'intlayer'
524
+ import { IntlayerProvider } from "react-intlayer"; // Provider for internationalization context
525
+ import {
526
+ BrowserRouter,
527
+ Routes,
528
+ Route,
529
+ Navigate,
530
+ useLocation,
531
+ } from "react-router-dom"; // Router components for managing navigation
532
+
533
+ // Destructuring configuration from Intlayer
534
+ const { internationalization, middleware } = configuration;
535
+ const { locales, defaultLocale } = internationalization;
536
+
537
+ /**
538
+ * A component that handles localization and wraps children with the appropriate locale context.
539
+ * It manages URL-based locale detection and validation.
540
+ */
541
+ const AppLocalized = ({ children, locale }) => {
542
+ const { pathname, search } = useLocation(); // Get the current URL path
543
+
544
+ // Determine the current locale, falling back to the default if not provided
545
+ const currentLocale = locale ?? defaultLocale;
546
+
547
+ // Remove the locale prefix from the path to construct a base path
548
+ const pathWithoutLocale = getPathWithoutLocale(
549
+ pathname // Current URL path
550
+ );
551
+
552
+ /**
553
+ * If middleware.prefixDefault is true, the default locale should always be prefixed.
554
+ */
555
+ if (middleware.prefixDefault) {
556
+ // Validate the locale
557
+ if (!locale || !locales.includes(locale)) {
558
+ // Redirect to the default locale with the updated path
559
+ return (
560
+ <Navigate
561
+ to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
562
+ replace // Replace the current history entry with the new one
563
+ />
564
+ );
565
+ }
566
+
567
+ // Wrap children with the IntlayerProvider and set the current locale
568
+ return (
569
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
570
+ );
571
+ } else {
572
+ /**
573
+ * When middleware.prefixDefault is false, the default locale is not prefixed.
574
+ * Ensure that the current locale is valid and not the default locale.
575
+ */
576
+ if (
577
+ currentLocale.toString() !== defaultLocale.toString() &&
578
+ !locales
579
+ .filter(
580
+ (locale) => locale.toString() !== defaultLocale.toString() // Exclude the default locale
581
+ )
582
+ .includes(currentLocale) // Check if the current locale is in the list of valid locales
583
+ ) {
584
+ // Redirect to the path without locale prefix
585
+ return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
586
+ }
587
+
588
+ // Wrap children with the IntlayerProvider and set the current locale
589
+ return (
590
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
591
+ );
592
+ }
593
+ };
594
+
595
+ /**
596
+ * A router component that sets up locale-specific routes.
597
+ * It uses React Router to manage navigation and render localized components.
598
+ */
599
+ export const LocaleRouter = ({ children }) => (
600
+ <BrowserRouter>
601
+ <Routes>
602
+ {locales
603
+ .filter(
604
+ (locale) => middleware.prefixDefault || locale !== defaultLocale
605
+ )
606
+ .map((locale) => (
607
+ <Route
608
+ // Route pattern to capture the locale (e.g., /en/, /fr/) and match all subsequent paths
609
+ path={`/${locale}/*`}
610
+ key={locale}
611
+ element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Wraps children with locale management
612
+ />
613
+ ))}
614
+
615
+ {
616
+ // If prefixing the default locale is disabled, render the children directly at the root path
617
+ !middleware.prefixDefault && (
618
+ <Route
619
+ path="*"
620
+ element={
621
+ <AppLocalized locale={defaultLocale}>{children}</AppLocalized>
622
+ } // Wraps children with locale management
623
+ />
624
+ )
625
+ }
626
+ </Routes>
627
+ </BrowserRouter>
628
+ );
629
+ ```
630
+
631
+ ```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
632
+ // Importing necessary dependencies and functions
633
+ const { configuration, getPathWithoutLocale } = require("intlayer"); // Utility functions and types from 'intlayer'
634
+ const { IntlayerProvider, useLocale } = require("react-intlayer"); // Provider for internationalization context
635
+ const {
636
+ BrowserRouter,
637
+ Routes,
638
+ Route,
639
+ Navigate,
640
+ useLocation,
641
+ } = require("react-router-dom"); // Router components for managing navigation
642
+
643
+ // Destructuring configuration from Intlayer
644
+ const { internationalization, middleware } = configuration;
645
+ const { locales, defaultLocale } = internationalization;
646
+
647
+ /**
648
+ * A component that handles localization and wraps children with the appropriate locale context.
649
+ * It manages URL-based locale detection and validation.
650
+ */
651
+ const AppLocalized = ({ children, locale }) => {
652
+ const { pathname, search } = useLocation(); // Get the current URL path
653
+
654
+ // Determine the current locale, falling back to the default if not provided
655
+ const currentLocale = locale ?? defaultLocale;
656
+
657
+ // Remove the locale prefix from the path to construct a base path
658
+ const pathWithoutLocale = getPathWithoutLocale(
659
+ pathname // Current URL path
660
+ );
661
+
662
+ /**
663
+ * If middleware.prefixDefault is true, the default locale should always be prefixed.
664
+ */
665
+ if (middleware.prefixDefault) {
666
+ // Validate the locale
667
+ if (!locale || !locales.includes(locale)) {
668
+ // Redirect to the default locale with the updated path
669
+ return (
670
+ <Navigate
671
+ to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
672
+ replace // Replace the current history entry with the new one
673
+ />
674
+ );
675
+ }
676
+
677
+ // Wrap children with the IntlayerProvider and set the current locale
678
+ return (
679
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
680
+ );
681
+ } else {
682
+ /**
683
+ * When middleware.prefixDefault is false, the default locale is not prefixed.
684
+ * Ensure that the current locale is valid and not the default locale.
685
+ */
686
+ if (
687
+ currentLocale.toString() !== defaultLocale.toString() &&
688
+ !locales
689
+ .filter(
690
+ (locale) => locale.toString() !== defaultLocale.toString() // Exclude the default locale
691
+ )
692
+ .includes(currentLocale) // Check if the current locale is in the list of valid locales
693
+ ) {
694
+ // Redirect to the path without locale prefix
695
+ return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
696
+ }
697
+
698
+ // Wrap children with the IntlayerProvider and set the current locale
699
+ return (
700
+ <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
701
+ );
702
+ }
703
+ };
704
+
705
+ /**
706
+ * A router component that sets up locale-specific routes.
707
+ * It uses React Router to manage navigation and render localized components.
708
+ */
709
+ const LocaleRouter = ({ children }) => (
710
+ <BrowserRouter>
711
+ <Routes>
712
+ {locales
713
+ .filter(
714
+ (locale) => middleware.prefixDefault || locale !== defaultLocale
715
+ )
716
+ .map((locale) => (
717
+ <Route
718
+ // Route pattern to capture the locale (e.g., /en/, /fr/) and match all subsequent paths
719
+ path={`/${locale}/*`}
720
+ key={locale}
721
+ element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Wraps children with locale management
722
+ />
723
+ ))}
724
+
725
+ {
726
+ // If prefixing the default locale is disabled, render the children directly at the root path
727
+ !middleware.prefixDefault && (
728
+ <Route
729
+ path="*"
730
+ element={
731
+ <AppLocalized locale={defaultLocale}>{children}</AppLocalized>
732
+ } // Wraps children with locale management
733
+ />
734
+ )
735
+ }
736
+ </Routes>
737
+ </BrowserRouter>
738
+ );
739
+ ```
740
+
741
+ Then, you can use the `LocaleRouter` component in your application:
742
+
743
+ ```tsx fileName="src/App.tsx" codeFormat="typescript"
744
+ import { LocaleRouter } from "./components/LocaleRouter";
745
+ import type { FC } from "react";
746
+
747
+ // ... Your AppContent component
748
+
749
+ const App: FC = () => (
750
+ <LocaleRouter>
751
+ <AppContent />
752
+ </LocaleRouter>
753
+ );
754
+ ```
755
+
756
+ ```jsx fileName="src/App.mjx" codeFormat="esm"
757
+ import { LocaleRouter } from "./components/LocaleRouter";
758
+
759
+ // ... Your AppContent component
760
+
761
+ const App = () => (
762
+ <LocaleRouter>
763
+ <AppContent />
764
+ </LocaleRouter>
765
+ );
766
+ ```
767
+
768
+ ```jsx fileName="src/App.cjx" codeFormat="commonjs"
769
+ const { LocaleRouter } = require("./components/LocaleRouter");
770
+
771
+ // ... Your AppContent component
772
+
773
+ const App = () => (
774
+ <LocaleRouter>
775
+ <AppContent />
776
+ </LocaleRouter>
777
+ );
778
+ ```
779
+
780
+ ### (Optional) Step 8: Change the URL when the locale changes
781
+
782
+ 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.
783
+
784
+ ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
785
+ import { useLocation, useNavigate } from "react-router-dom";
786
+ import {
787
+ Locales,
788
+ getHTMLTextDir,
789
+ getLocaleName,
790
+ getLocalizedUrl,
791
+ } from "intlayer";
792
+ import { useLocale } from "react-intlayer";
793
+ import { type FC } from "react";
794
+
795
+ const LocaleSwitcher: FC = () => {
796
+ const { pathname, search } = useLocation(); // Get the current URL path. Example: /fr/about?foo=bar
797
+ const navigate = useNavigate();
798
+
799
+ const { locale, availableLocales, setLocale } = useLocale({
800
+ onLocaleChange: (locale) => {
801
+ // Construct the URL with the updated locale
802
+ // Example: /es/about?foo=bar
803
+ const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
804
+
805
+ // Update the URL path
806
+ navigate(pathWithLocale);
807
+ },
808
+ });
809
+
810
+ return (
811
+ <div>
812
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
813
+ <div id="localePopover" popover="auto">
814
+ {availableLocales.map((localeItem) => (
815
+ <a
816
+ href={getLocalizedUrl(location.pathname, localeItem)}
817
+ hrefLang={localeItem}
818
+ aria-current={locale === localeItem ? "page" : undefined}
819
+ onClick={(e) => {
820
+ e.preventDefault();
821
+ setLocale(localeItem);
822
+ }}
823
+ key={localeItem}
824
+ >
825
+ <span>
826
+ {/* Locale - e.g. FR */}
827
+ {localeItem}
828
+ </span>
829
+ <span>
830
+ {/* Language in its own Locale - e.g. Français */}
831
+ {getLocaleName(localeItem, locale)}
832
+ </span>
833
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
834
+ {/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
835
+ {getLocaleName(localeItem)}
836
+ </span>
837
+ <span dir="ltr" lang={Locales.ENGLISH}>
838
+ {/* Language in English - e.g. French */}
839
+ {getLocaleName(localeItem, Locales.ENGLISH)}
840
+ </span>
841
+ </a>
842
+ ))}
843
+ </div>
844
+ </div>
845
+ );
846
+ };
847
+ ```
848
+
849
+ ```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
850
+ import { useLocation, useNavigate } from "react-router-dom";
851
+ import {
852
+ Locales,
853
+ getHTMLTextDir,
854
+ getLocaleName,
855
+ getLocalizedUrl,
856
+ } from "intlayer";
857
+ import { useLocale } from "react-intlayer";
858
+
859
+ const LocaleSwitcher = () => {
860
+ const { pathname, search } = useLocation(); // Get the current URL path. Example: /fr/about?foo=bar
861
+ const navigate = useNavigate();
862
+
863
+ const { locale, availableLocales, setLocale } = useLocale({
864
+ onLocaleChange: (locale) => {
865
+ // Construct the URL with the updated locale
866
+ // Example: /es/about?foo=bar
867
+ const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
868
+
869
+ // Update the URL path
870
+ navigate(pathWithLocale);
871
+ },
872
+ });
873
+
874
+ return (
875
+ <div>
876
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
877
+ <div id="localePopover" popover="auto">
878
+ {availableLocales.map((localeItem) => (
879
+ <a
880
+ href={getLocalizedUrl(location.pathname, localeItem)}
881
+ hrefLang={localeItem}
882
+ aria-current={locale === localeItem ? "page" : undefined}
883
+ onClick={(e) => {
884
+ e.preventDefault();
885
+ setLocale(localeItem);
886
+ }}
887
+ key={localeItem}
888
+ >
889
+ <span>
890
+ {/* Locale - e.g. FR */}
891
+ {localeItem}
892
+ </span>
893
+ <span>
894
+ {/* Language in its own Locale - e.g. Français */}
895
+ {getLocaleName(localeItem, locale)}
896
+ </span>
897
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
898
+ {/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
899
+ {getLocaleName(localeItem)}
900
+ </span>
901
+ <span dir="ltr" lang={Locales.ENGLISH}>
902
+ {/* Language in English - e.g. French */}
903
+ {getLocaleName(localeItem, Locales.ENGLISH)}
904
+ </span>
905
+ </a>
906
+ ))}
907
+ </div>
908
+ </div>
909
+ );
910
+ };
911
+ ```
912
+
913
+ ```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
914
+ const { useLocation, useNavigate } = require("react-router-dom");
915
+ const {
916
+ Locales,
917
+ getHTMLTextDir,
918
+ getLocaleName,
919
+ getLocalizedUrl,
920
+ } = require("intlayer");
921
+ const { useLocale } = require("react-intlayer");
922
+
923
+ const LocaleSwitcher = () => {
924
+ const { pathname, search } = useLocation(); // Get the current URL path. Example: /fr/about?foo=bar
925
+ const navigate = useNavigate();
926
+
927
+ const { locale, availableLocales, setLocale } = useLocale({
928
+ onLocaleChange: (locale) => {
929
+ // Construct the URL with the updated locale
930
+ // Example: /es/about?foo=bar
931
+ const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
932
+
933
+ // Update the URL path
934
+ navigate(pathWithLocale);
935
+ },
936
+ });
937
+
938
+ return (
939
+ <div>
940
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
941
+ <div id="localePopover" popover="auto">
942
+ {availableLocales.map((localeItem) => (
943
+ <a
944
+ href={getLocalizedUrl(location.pathname, localeItem)}
945
+ hrefLang={localeItem}
946
+ aria-current={locale === localeItem ? "page" : undefined}
947
+ onClick={(e) => {
948
+ e.preventDefault();
949
+ setLocale(localeItem);
950
+ }}
951
+ key={localeItem}
952
+ >
953
+ <span>
954
+ {/* Locale - e.g. FR */}
955
+ {localeItem}
956
+ </span>
957
+ <span>
958
+ {/* Language in its own Locale - e.g. Français */}
959
+ {getLocaleName(localeItem, locale)}
960
+ </span>
961
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
962
+ {/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
963
+ {getLocaleName(localeItem)}
964
+ </span>
965
+ <span dir="ltr" lang={Locales.ENGLISH}>
966
+ {/* Language in English - e.g. French */}
967
+ {getLocaleName(localeItem, Locales.ENGLISH)}
968
+ </span>
969
+ </a>
970
+ ))}
971
+ </div>
972
+ </div>
973
+ );
974
+ };
975
+ ```
976
+
977
+ > Documentation references:
978
+
979
+ > - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useLocale.md)
980
+
981
+ > - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocaleName.md)
982
+
983
+ > - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocalizedUrl.md)
984
+
985
+ > - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getHTMLTextDir.md)
986
+
987
+ > - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
988
+
989
+ > - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
990
+
991
+ > - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
992
+
993
+ > - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
994
+
995
+ ### (Optional) Step 9: Switch the HTML Language and Direction Attributes
996
+
997
+ 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:
998
+
999
+ - **Accessibility**: Screen readers and assistive technologies rely on the correct `lang` attribute to pronounce and interpret content accurately.
1000
+ - **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.
1001
+ - **SEO**: Search engines use the `lang` attribute to determine the language of your page, helping to serve the right localized content in search results.
1002
+
1003
+ By updating these attributes dynamically when the locale changes, you guarantee a consistent and accessible experience for users across all supported languages.
1004
+
1005
+ #### Implementing the Hook
1006
+
1007
+ Create a custom hook to manage the HTML attributes. The hook listens for locale changes and updates the attributes accordingly:
1008
+
1009
+ ```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
1010
+ import { useEffect } from "react";
1011
+ import { useLocale } from "react-intlayer";
1012
+ import { getHTMLTextDir } from "intlayer";
1013
+
1014
+ /**
1015
+ * Updates the HTML <html> element's `lang` and `dir` attributes based on the current locale.
1016
+ * - `lang`: Informs browsers and search engines of the page's language.
1017
+ * - `dir`: Ensures the correct reading order (e.g., 'ltr' for English, 'rtl' for Arabic).
1018
+ *
1019
+ * This dynamic update is essential for proper text rendering, accessibility, and SEO.
1020
+ */
1021
+ export const useI18nHTMLAttributes = () => {
1022
+ const { locale } = useLocale();
1023
+
1024
+ useEffect(() => {
1025
+ // Update the language attribute to the current locale.
1026
+ document.documentElement.lang = locale;
1027
+
1028
+ // Set the text direction based on the current locale.
1029
+ document.documentElement.dir = getHTMLTextDir(locale);
1030
+ }, [locale]);
1031
+ };
1032
+ ```
1033
+
1034
+ ```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
1035
+ import { useEffect } from "react";
1036
+ import { useLocale } from "react-intlayer";
1037
+ import { getHTMLTextDir } from "intlayer";
1038
+
1039
+ /**
1040
+ * Updates the HTML <html> element's `lang` and `dir` attributes based on the current locale.
1041
+ * - `lang`: Informs browsers and search engines of the page's language.
1042
+ * - `dir`: Ensures the correct reading order (e.g., 'ltr' for English, 'rtl' for Arabic).
1043
+ *
1044
+ * This dynamic update is essential for proper text rendering, accessibility, and SEO.
1045
+ */
1046
+ export const useI18nHTMLAttributes = () => {
1047
+ const { locale } = useLocale();
1048
+
1049
+ useEffect(() => {
1050
+ // Update the language attribute to the current locale.
1051
+ document.documentElement.lang = locale;
1052
+
1053
+ // Set the text direction based on the current locale.
1054
+ document.documentElement.dir = getHTMLTextDir(locale);
1055
+ }, [locale]);
1056
+ };
1057
+ ```
1058
+
1059
+ ```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
1060
+ const { useEffect } = require("react");
1061
+ const { useLocale } = require("react-intlayer");
1062
+ const { getHTMLTextDir } = require("intlayer");
1063
+
1064
+ /**
1065
+ * Updates the HTML <html> element's `lang` and `dir` attributes based on the current locale.
1066
+ * - `lang`: Informs browsers and search engines of the page's language.
1067
+ * - `dir`: Ensures the correct reading order (e.g., 'ltr' for English, 'rtl' for Arabic).
1068
+ *
1069
+ * This dynamic update is essential for proper text rendering, accessibility, and SEO.
1070
+ */
1071
+ const useI18nHTMLAttributes = () => {
1072
+ const { locale } = useLocale();
1073
+
1074
+ useEffect(() => {
1075
+ // Update the language attribute to the current locale.
1076
+ document.documentElement.lang = locale;
1077
+
1078
+ // Set the text direction based on the current locale.
1079
+ document.documentElement.dir = getHTMLTextDir(locale);
1080
+ }, [locale]);
1081
+ };
1082
+
1083
+ module.exports = { useI18nHTMLAttributes };
1084
+ ```
1085
+
1086
+ #### Using the Hook in Your Application
1087
+
1088
+ Integrate the hook into your main component so that the HTML attributes update whenever the locale changes:
1089
+
1090
+ ```tsx fileName="src/App.tsx" codeFormat="typescript"
1091
+ import type { FC } from "react";
1092
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
1093
+ import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1094
+ import "./App.css";
1095
+
1096
+ const AppContent: FC = () => {
1097
+ // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1098
+ useI18nHTMLAttributes();
1099
+
1100
+ // ... Rest of your component
1101
+ };
1102
+
1103
+ const App: FC = () => (
1104
+ <IntlayerProvider>
1105
+ <AppContent />
1106
+ </IntlayerProvider>
1107
+ );
1108
+
1109
+ export default App;
1110
+ ```
1111
+
1112
+ ```jsx fileName="src/App.msx" codeFormat="esm"
1113
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
1114
+ import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1115
+ import "./App.css";
1116
+
1117
+ const AppContent = () => {
1118
+ // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1119
+ useI18nHTMLAttributes();
1120
+
1121
+ // ... Rest of your component
1122
+ };
1123
+
1124
+ const App = () => (
1125
+ <IntlayerProvider>
1126
+ <AppContent />
1127
+ </IntlayerProvider>
1128
+ );
1129
+
1130
+ export default App;
1131
+ ```
1132
+
1133
+ ```jsx fileName="src/App.csx" codeFormat="commonjs"
1134
+ const { FC } = require("react");
1135
+ const { IntlayerProvider, useIntlayer } = require("react-intlayer");
1136
+ const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
1137
+ require("./App.css");
1138
+
1139
+ const AppContent = () => {
1140
+ // Apply the hook to update the <html> tag's lang and dir attributes based on the locale.
1141
+ useI18nHTMLAttributes();
1142
+
1143
+ // ... Rest of your component
1144
+ };
1145
+
1146
+ const App = () => (
1147
+ <IntlayerProvider>
1148
+ <AppContent />
1149
+ </IntlayerProvider>
1150
+ );
1151
+
1152
+ module.exports = App;
1153
+ ```
1154
+
1155
+ By applying these changes, your application will:
1156
+
1157
+ - Ensure the **language** (`lang`) attribute correctly reflects the current locale, which is important for SEO and browser behavior.
1158
+ - Adjust the **text direction** (`dir`) according to the locale, enhancing readability and usability for languages with different reading orders.
1159
+ - Provide a more **accessible** experience, as assistive technologies depend on these attributes to function optimally.
1160
+
1161
+ ### Configure TypeScript
1162
+
1163
+ Intlayer use module augmentation to get benefits of TypeScript and make your codebase stronger.
1164
+
1165
+ ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1166
+
1167
+ ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1168
+
1169
+ Ensure your TypeScript configuration includes the autogenerated types.
1170
+
1171
+ ```json5 fileName="tsconfig.json"
1172
+ {
1173
+ // ... Your existing TypeScript configurations
1174
+ "include": [
1175
+ // ... Your existing TypeScript configurations
1176
+ ".intlayer/**/*.ts", // Include the auto-generated types
1177
+ ],
1178
+ }
1179
+ ```
1180
+
1181
+ ### Git Configuration
1182
+
1183
+ It is recommended to ignore the files generated by Intlayer. This allows you to avoid committing them to your Git repository.
1184
+
1185
+ To do this, you can add the following instructions to your `.gitignore` file:
1186
+
1187
+ ```plaintext fileName=".gitignore"
1188
+ # Ignore the files generated by Intlayer
1189
+ .intlayer
1190
+ ```
1191
+
1192
+ ### VS Code Extension
1193
+
1194
+ To improve your development experience with Intlayer, you can install the official **Intlayer VS Code Extension**.
1195
+
1196
+ [Install from the VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
1197
+
1198
+ This extension provides:
1199
+
1200
+ - **Autocompletion** for translation keys.
1201
+ - **Real-time error detection** for missing translations.
1202
+ - **Inline previews** of translated content.
1203
+ - **Quick actions** to easily create and update translations.
1204
+
1205
+ For more details on how to use the extension, refer to the [Intlayer VS Code Extension documentation](https://intlayer.org/doc/vs-code-extension).
1206
+
1207
+ ### Go Further
1208
+
1209
+ To go further, you can implement the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_visual_editor.md) or externalize your content using the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_CMS.md).