@intlayer/docs 8.5.1 → 8.6.0

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 (727) hide show
  1. package/blog/ar/intlayer_with_i18next.md +1 -1
  2. package/blog/ar/intlayer_with_next-i18next.md +1 -1
  3. package/blog/ar/intlayer_with_next-intl.md +1 -1
  4. package/blog/ar/intlayer_with_react-i18next.md +1 -1
  5. package/blog/ar/intlayer_with_react-intl.md +1 -1
  6. package/blog/ar/intlayer_with_vue-i18n.md +1 -1
  7. package/blog/de/intlayer_with_i18next.md +1 -1
  8. package/blog/de/intlayer_with_next-i18next.md +1 -1
  9. package/blog/de/intlayer_with_next-intl.md +1 -1
  10. package/blog/de/intlayer_with_react-i18next.md +1 -1
  11. package/blog/de/intlayer_with_react-intl.md +1 -1
  12. package/blog/de/intlayer_with_vue-i18n.md +1 -1
  13. package/blog/en/intlayer_with_i18next.md +1 -1
  14. package/blog/en/intlayer_with_next-i18next.md +1 -1
  15. package/blog/en/intlayer_with_next-intl.md +1 -1
  16. package/blog/en/intlayer_with_react-i18next.md +1 -1
  17. package/blog/en/intlayer_with_react-intl.md +1 -1
  18. package/blog/en/intlayer_with_vue-i18n.md +1 -1
  19. package/blog/en-GB/intlayer_with_i18next.md +1 -1
  20. package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
  21. package/blog/en-GB/intlayer_with_next-intl.md +1 -1
  22. package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
  23. package/blog/en-GB/intlayer_with_react-intl.md +1 -1
  24. package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
  25. package/blog/es/intlayer_with_i18next.md +1 -1
  26. package/blog/es/intlayer_with_next-i18next.md +1 -1
  27. package/blog/es/intlayer_with_next-intl.md +1 -1
  28. package/blog/es/intlayer_with_react-i18next.md +1 -1
  29. package/blog/es/intlayer_with_react-intl.md +1 -1
  30. package/blog/es/intlayer_with_vue-i18n.md +1 -1
  31. package/blog/fr/intlayer_with_i18next.md +1 -1
  32. package/blog/fr/intlayer_with_next-i18next.md +1 -1
  33. package/blog/fr/intlayer_with_next-intl.md +1 -1
  34. package/blog/fr/intlayer_with_react-i18next.md +1 -1
  35. package/blog/fr/intlayer_with_react-intl.md +1 -1
  36. package/blog/fr/intlayer_with_vue-i18n.md +1 -1
  37. package/blog/hi/intlayer_with_i18next.md +1 -1
  38. package/blog/hi/intlayer_with_next-i18next.md +1 -1
  39. package/blog/hi/intlayer_with_next-intl.md +1 -1
  40. package/blog/hi/intlayer_with_react-i18next.md +1 -1
  41. package/blog/hi/intlayer_with_react-intl.md +1 -1
  42. package/blog/hi/intlayer_with_vue-i18n.md +1 -1
  43. package/blog/id/intlayer_with_i18next.md +1 -1
  44. package/blog/id/intlayer_with_next-i18next.md +1 -1
  45. package/blog/id/intlayer_with_next-intl.md +1 -1
  46. package/blog/id/intlayer_with_react-i18next.md +1 -1
  47. package/blog/id/intlayer_with_react-intl.md +1 -1
  48. package/blog/id/intlayer_with_vue-i18n.md +1 -1
  49. package/blog/it/intlayer_with_i18next.md +1 -1
  50. package/blog/it/intlayer_with_next-i18next.md +1 -1
  51. package/blog/it/intlayer_with_next-intl.md +1 -1
  52. package/blog/it/intlayer_with_react-i18next.md +1 -1
  53. package/blog/it/intlayer_with_react-intl.md +1 -1
  54. package/blog/it/intlayer_with_vue-i18n.md +1 -1
  55. package/blog/ja/intlayer_with_i18next.md +1 -1
  56. package/blog/ja/intlayer_with_next-i18next.md +1 -1
  57. package/blog/ja/intlayer_with_next-intl.md +1 -1
  58. package/blog/ja/intlayer_with_react-i18next.md +1 -1
  59. package/blog/ja/intlayer_with_react-intl.md +1 -1
  60. package/blog/ja/intlayer_with_vue-i18n.md +1 -1
  61. package/blog/ko/intlayer_with_i18next.md +1 -1
  62. package/blog/ko/intlayer_with_next-i18next.md +1 -1
  63. package/blog/ko/intlayer_with_next-intl.md +1 -1
  64. package/blog/ko/intlayer_with_react-i18next.md +1 -1
  65. package/blog/ko/intlayer_with_react-intl.md +1 -1
  66. package/blog/ko/intlayer_with_vue-i18n.md +1 -1
  67. package/blog/pl/intlayer_with_i18next.md +1 -1
  68. package/blog/pl/intlayer_with_next-i18next.md +1 -1
  69. package/blog/pl/intlayer_with_next-intl.md +1 -1
  70. package/blog/pl/intlayer_with_react-i18next.md +1 -1
  71. package/blog/pl/intlayer_with_react-intl.md +1 -1
  72. package/blog/pl/intlayer_with_vue-i18n.md +1 -1
  73. package/blog/pt/intlayer_with_i18next.md +1 -1
  74. package/blog/pt/intlayer_with_next-i18next.md +1 -1
  75. package/blog/pt/intlayer_with_next-intl.md +1 -1
  76. package/blog/pt/intlayer_with_react-i18next.md +1 -1
  77. package/blog/pt/intlayer_with_react-intl.md +1 -1
  78. package/blog/pt/intlayer_with_vue-i18n.md +1 -1
  79. package/blog/ru/intlayer_with_i18next.md +1 -1
  80. package/blog/ru/intlayer_with_next-i18next.md +1 -1
  81. package/blog/ru/intlayer_with_next-intl.md +1 -1
  82. package/blog/ru/intlayer_with_react-i18next.md +1 -1
  83. package/blog/ru/intlayer_with_react-intl.md +1 -1
  84. package/blog/ru/intlayer_with_vue-i18n.md +1 -1
  85. package/blog/tr/intlayer_with_i18next.md +1 -1
  86. package/blog/tr/intlayer_with_next-i18next.md +1 -1
  87. package/blog/tr/intlayer_with_next-intl.md +1 -1
  88. package/blog/tr/intlayer_with_react-i18next.md +1 -1
  89. package/blog/tr/intlayer_with_react-intl.md +1 -1
  90. package/blog/tr/intlayer_with_vue-i18n.md +1 -1
  91. package/blog/uk/intlayer_with_i18next.md +1 -1
  92. package/blog/uk/intlayer_with_next-i18next.md +1 -1
  93. package/blog/uk/intlayer_with_next-intl.md +1 -1
  94. package/blog/uk/intlayer_with_react-i18next.md +1 -1
  95. package/blog/uk/intlayer_with_react-intl.md +1 -1
  96. package/blog/uk/intlayer_with_vue-i18n.md +1 -1
  97. package/blog/vi/intlayer_with_i18next.md +1 -1
  98. package/blog/vi/intlayer_with_next-i18next.md +1 -1
  99. package/blog/vi/intlayer_with_next-intl.md +1 -1
  100. package/blog/vi/intlayer_with_react-i18next.md +1 -1
  101. package/blog/vi/intlayer_with_react-intl.md +1 -1
  102. package/blog/vi/intlayer_with_vue-i18n.md +1 -1
  103. package/blog/zh/intlayer_with_i18next.md +1 -1
  104. package/blog/zh/intlayer_with_next-i18next.md +1 -1
  105. package/blog/zh/intlayer_with_next-intl.md +1 -1
  106. package/blog/zh/intlayer_with_react-i18next.md +1 -1
  107. package/blog/zh/intlayer_with_react-intl.md +1 -1
  108. package/blog/zh/intlayer_with_vue-i18n.md +1 -1
  109. package/dist/cjs/generated/docs.entry.cjs +20 -0
  110. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  111. package/dist/esm/generated/docs.entry.mjs +20 -0
  112. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  113. package/dist/types/generated/docs.entry.d.ts +1 -0
  114. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  115. package/docs/ar/intlayer_CMS.md +1 -1
  116. package/docs/ar/intlayer_with_adonisjs.md +1 -1
  117. package/docs/ar/intlayer_with_analog.md +1 -1
  118. package/docs/ar/intlayer_with_angular.md +1 -1
  119. package/docs/ar/intlayer_with_create_react_app.md +1 -1
  120. package/docs/ar/intlayer_with_express.md +1 -1
  121. package/docs/ar/intlayer_with_fastify.md +1 -1
  122. package/docs/ar/intlayer_with_hono.md +1 -1
  123. package/docs/ar/intlayer_with_lynx+react.md +1 -1
  124. package/docs/ar/intlayer_with_nestjs.md +1 -1
  125. package/docs/ar/intlayer_with_next-i18next.md +1 -1
  126. package/docs/ar/intlayer_with_next-intl.md +1 -1
  127. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  128. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  129. package/docs/ar/intlayer_with_nextjs_16.md +2 -2
  130. package/docs/ar/intlayer_with_nextjs_compiler.md +2 -2
  131. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
  132. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  133. package/docs/ar/intlayer_with_nuxt.md +1 -1
  134. package/docs/ar/intlayer_with_react_native+expo.md +1 -1
  135. package/docs/ar/intlayer_with_react_router_v7.md +4 -6
  136. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +4 -6
  137. package/docs/ar/intlayer_with_svelte_kit.md +5 -5
  138. package/docs/ar/intlayer_with_tanstack+solid.md +894 -0
  139. package/docs/ar/intlayer_with_tanstack.md +2 -10
  140. package/docs/ar/intlayer_with_vite+lit.md +1 -2
  141. package/docs/ar/intlayer_with_vite+preact.md +2 -2
  142. package/docs/ar/intlayer_with_vite+react.md +2 -2
  143. package/docs/ar/intlayer_with_vite+react_compiler.md +1 -1
  144. package/docs/ar/intlayer_with_vite+solid.md +2 -3
  145. package/docs/ar/intlayer_with_vite+svelte.md +3 -3
  146. package/docs/ar/intlayer_with_vite+vanilla.md +2 -2
  147. package/docs/ar/intlayer_with_vite+vue.md +2 -2
  148. package/docs/bn/intlayer_with_fastify.md +1 -1
  149. package/docs/bn/intlayer_with_hono.md +1 -1
  150. package/docs/bn/intlayer_with_vite+lit.md +1 -2
  151. package/docs/bn/intlayer_with_vite+vanilla.md +2 -2
  152. package/docs/cs/intlayer_with_fastify.md +1 -1
  153. package/docs/cs/intlayer_with_hono.md +1 -1
  154. package/docs/cs/intlayer_with_vite+lit.md +1 -2
  155. package/docs/cs/intlayer_with_vite+vanilla.md +2 -2
  156. package/docs/de/intlayer_CMS.md +1 -1
  157. package/docs/de/intlayer_with_adonisjs.md +1 -1
  158. package/docs/de/intlayer_with_analog.md +1 -1
  159. package/docs/de/intlayer_with_angular.md +1 -1
  160. package/docs/de/intlayer_with_create_react_app.md +1 -1
  161. package/docs/de/intlayer_with_express.md +1 -1
  162. package/docs/de/intlayer_with_fastify.md +1 -1
  163. package/docs/de/intlayer_with_hono.md +1 -1
  164. package/docs/de/intlayer_with_lynx+react.md +1 -1
  165. package/docs/de/intlayer_with_nestjs.md +1 -1
  166. package/docs/de/intlayer_with_next-i18next.md +1 -1
  167. package/docs/de/intlayer_with_next-intl.md +1 -1
  168. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  169. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  170. package/docs/de/intlayer_with_nextjs_16.md +2 -2
  171. package/docs/de/intlayer_with_nextjs_compiler.md +1 -1
  172. package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
  173. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  174. package/docs/de/intlayer_with_nuxt.md +1 -1
  175. package/docs/de/intlayer_with_react_router_v7.md +4 -6
  176. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +2 -3
  177. package/docs/de/intlayer_with_svelte_kit.md +5 -5
  178. package/docs/de/intlayer_with_tanstack+solid.md +970 -0
  179. package/docs/de/intlayer_with_tanstack.md +98 -30
  180. package/docs/de/intlayer_with_vite+lit.md +1 -2
  181. package/docs/de/intlayer_with_vite+preact.md +2 -2
  182. package/docs/de/intlayer_with_vite+react.md +2 -2
  183. package/docs/de/intlayer_with_vite+react_compiler.md +1 -1
  184. package/docs/de/intlayer_with_vite+solid.md +2 -3
  185. package/docs/de/intlayer_with_vite+svelte.md +3 -3
  186. package/docs/de/intlayer_with_vite+vanilla.md +2 -2
  187. package/docs/de/intlayer_with_vite+vue.md +2 -2
  188. package/docs/en/intlayer_CMS.md +1 -1
  189. package/docs/en/intlayer_with_adonisjs.md +1 -1
  190. package/docs/en/intlayer_with_analog.md +1 -1
  191. package/docs/en/intlayer_with_angular.md +1 -1
  192. package/docs/en/intlayer_with_create_react_app.md +1 -1
  193. package/docs/en/intlayer_with_express.md +1 -1
  194. package/docs/en/intlayer_with_fastify.md +1 -1
  195. package/docs/en/intlayer_with_hono.md +1 -1
  196. package/docs/en/intlayer_with_lynx+react.md +1 -1
  197. package/docs/en/intlayer_with_nestjs.md +1 -1
  198. package/docs/en/intlayer_with_next-i18next.md +1 -1
  199. package/docs/en/intlayer_with_next-intl.md +1 -1
  200. package/docs/en/intlayer_with_nextjs_14.md +1 -1
  201. package/docs/en/intlayer_with_nextjs_15.md +1 -1
  202. package/docs/en/intlayer_with_nextjs_16.md +2 -2
  203. package/docs/en/intlayer_with_nextjs_compiler.md +2 -2
  204. package/docs/en/intlayer_with_nextjs_no_locale_path.md +1 -1
  205. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  206. package/docs/en/intlayer_with_nuxt.md +1 -1
  207. package/docs/en/intlayer_with_react_native+expo.md +1 -1
  208. package/docs/en/intlayer_with_react_router_v7.md +3 -4
  209. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +4 -6
  210. package/docs/en/intlayer_with_svelte_kit.md +4 -4
  211. package/docs/en/intlayer_with_tanstack+solid.md +973 -0
  212. package/docs/en/intlayer_with_tanstack.md +83 -12
  213. package/docs/en/intlayer_with_vite+lit.md +1 -2
  214. package/docs/en/intlayer_with_vite+preact.md +2 -2
  215. package/docs/en/intlayer_with_vite+react.md +2 -2
  216. package/docs/en/intlayer_with_vite+react_compiler.md +1 -1
  217. package/docs/en/intlayer_with_vite+solid.md +2 -3
  218. package/docs/en/intlayer_with_vite+svelte.md +7 -8
  219. package/docs/en/intlayer_with_vite+vanilla.md +2 -2
  220. package/docs/en/intlayer_with_vite+vue.md +2 -2
  221. package/docs/en-GB/intlayer_CMS.md +1 -1
  222. package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
  223. package/docs/en-GB/intlayer_with_analog.md +1 -1
  224. package/docs/en-GB/intlayer_with_angular.md +1 -1
  225. package/docs/en-GB/intlayer_with_create_react_app.md +2 -2
  226. package/docs/en-GB/intlayer_with_express.md +1 -1
  227. package/docs/en-GB/intlayer_with_fastify.md +1 -1
  228. package/docs/en-GB/intlayer_with_hono.md +1 -1
  229. package/docs/en-GB/intlayer_with_lynx+react.md +2 -2
  230. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  231. package/docs/en-GB/intlayer_with_next-i18next.md +1 -1
  232. package/docs/en-GB/intlayer_with_next-intl.md +1 -1
  233. package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
  234. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  235. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  236. package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
  237. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1 -1
  238. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  239. package/docs/en-GB/intlayer_with_nuxt.md +1 -1
  240. package/docs/en-GB/intlayer_with_react_native+expo.md +1 -1
  241. package/docs/en-GB/intlayer_with_react_router_v7.md +3 -5
  242. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +3 -5
  243. package/docs/en-GB/intlayer_with_svelte_kit.md +4 -4
  244. package/docs/en-GB/intlayer_with_tanstack+solid.md +968 -0
  245. package/docs/en-GB/intlayer_with_tanstack.md +75 -10
  246. package/docs/en-GB/intlayer_with_vite+lit.md +1 -2
  247. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  248. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  249. package/docs/en-GB/intlayer_with_vite+react_compiler.md +1 -1
  250. package/docs/en-GB/intlayer_with_vite+solid.md +1 -2
  251. package/docs/en-GB/intlayer_with_vite+svelte.md +2 -2
  252. package/docs/en-GB/intlayer_with_vite+vanilla.md +2 -2
  253. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  254. package/docs/es/intlayer_CMS.md +1 -1
  255. package/docs/es/intlayer_with_adonisjs.md +1 -1
  256. package/docs/es/intlayer_with_analog.md +1 -1
  257. package/docs/es/intlayer_with_angular.md +1 -1
  258. package/docs/es/intlayer_with_create_react_app.md +1 -1
  259. package/docs/es/intlayer_with_express.md +1 -1
  260. package/docs/es/intlayer_with_fastify.md +1 -1
  261. package/docs/es/intlayer_with_hono.md +1 -1
  262. package/docs/es/intlayer_with_lynx+react.md +1 -1
  263. package/docs/es/intlayer_with_nestjs.md +1 -1
  264. package/docs/es/intlayer_with_next-i18next.md +1 -1
  265. package/docs/es/intlayer_with_next-intl.md +1 -1
  266. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  267. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  268. package/docs/es/intlayer_with_nextjs_16.md +2 -2
  269. package/docs/es/intlayer_with_nextjs_compiler.md +2 -2
  270. package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
  271. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  272. package/docs/es/intlayer_with_nuxt.md +1 -1
  273. package/docs/es/intlayer_with_react_native+expo.md +1 -1
  274. package/docs/es/intlayer_with_react_router_v7.md +4 -6
  275. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +4 -6
  276. package/docs/es/intlayer_with_svelte_kit.md +5 -5
  277. package/docs/es/intlayer_with_tanstack+solid.md +970 -0
  278. package/docs/es/intlayer_with_tanstack.md +98 -30
  279. package/docs/es/intlayer_with_vite+lit.md +1 -2
  280. package/docs/es/intlayer_with_vite+preact.md +2 -2
  281. package/docs/es/intlayer_with_vite+react.md +2 -2
  282. package/docs/es/intlayer_with_vite+react_compiler.md +1 -1
  283. package/docs/es/intlayer_with_vite+solid.md +2 -3
  284. package/docs/es/intlayer_with_vite+svelte.md +3 -3
  285. package/docs/es/intlayer_with_vite+vanilla.md +2 -2
  286. package/docs/es/intlayer_with_vite+vue.md +2 -2
  287. package/docs/es/packages/next-intlayer/index.md +1 -1
  288. package/docs/es/packages/react-intlayer/index.md +1 -1
  289. package/docs/fr/intlayer_CMS.md +1 -1
  290. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  291. package/docs/fr/intlayer_with_analog.md +1 -1
  292. package/docs/fr/intlayer_with_angular.md +1 -1
  293. package/docs/fr/intlayer_with_create_react_app.md +1 -1
  294. package/docs/fr/intlayer_with_express.md +1 -1
  295. package/docs/fr/intlayer_with_fastify.md +1 -1
  296. package/docs/fr/intlayer_with_hono.md +1 -1
  297. package/docs/fr/intlayer_with_lynx+react.md +1 -1
  298. package/docs/fr/intlayer_with_nestjs.md +1 -1
  299. package/docs/fr/intlayer_with_next-i18next.md +1 -1
  300. package/docs/fr/intlayer_with_next-intl.md +1 -1
  301. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  302. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  303. package/docs/fr/intlayer_with_nextjs_16.md +2 -2
  304. package/docs/fr/intlayer_with_nextjs_compiler.md +2 -2
  305. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
  306. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  307. package/docs/fr/intlayer_with_nuxt.md +1 -1
  308. package/docs/fr/intlayer_with_react_router_v7.md +4 -6
  309. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +4 -6
  310. package/docs/fr/intlayer_with_svelte_kit.md +6 -6
  311. package/docs/fr/intlayer_with_tanstack+solid.md +970 -0
  312. package/docs/fr/intlayer_with_tanstack.md +98 -30
  313. package/docs/fr/intlayer_with_vite+lit.md +1 -2
  314. package/docs/fr/intlayer_with_vite+preact.md +2 -2
  315. package/docs/fr/intlayer_with_vite+react.md +2 -2
  316. package/docs/fr/intlayer_with_vite+react_compiler.md +1 -1
  317. package/docs/fr/intlayer_with_vite+solid.md +2 -3
  318. package/docs/fr/intlayer_with_vite+svelte.md +3 -3
  319. package/docs/fr/intlayer_with_vite+vanilla.md +2 -2
  320. package/docs/fr/intlayer_with_vite+vue.md +2 -2
  321. package/docs/fr/packages/react-intlayer/index.md +1 -1
  322. package/docs/hi/intlayer_CMS.md +1 -1
  323. package/docs/hi/intlayer_with_adonisjs.md +1 -1
  324. package/docs/hi/intlayer_with_analog.md +1 -1
  325. package/docs/hi/intlayer_with_angular.md +1 -1
  326. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  327. package/docs/hi/intlayer_with_express.md +1 -1
  328. package/docs/hi/intlayer_with_fastify.md +1 -1
  329. package/docs/hi/intlayer_with_hono.md +1 -1
  330. package/docs/hi/intlayer_with_lynx+react.md +1 -1
  331. package/docs/hi/intlayer_with_nestjs.md +1 -1
  332. package/docs/hi/intlayer_with_next-i18next.md +1 -1
  333. package/docs/hi/intlayer_with_next-intl.md +1 -1
  334. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  335. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  336. package/docs/hi/intlayer_with_nextjs_16.md +2 -2
  337. package/docs/hi/intlayer_with_nextjs_compiler.md +2 -2
  338. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
  339. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  340. package/docs/hi/intlayer_with_nuxt.md +1 -1
  341. package/docs/hi/intlayer_with_react_router_v7.md +4 -6
  342. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +4 -6
  343. package/docs/hi/intlayer_with_svelte_kit.md +5 -5
  344. package/docs/hi/intlayer_with_tanstack+solid.md +894 -0
  345. package/docs/hi/intlayer_with_tanstack.md +2 -10
  346. package/docs/hi/intlayer_with_vite+lit.md +1 -2
  347. package/docs/hi/intlayer_with_vite+preact.md +2 -2
  348. package/docs/hi/intlayer_with_vite+react.md +2 -2
  349. package/docs/hi/intlayer_with_vite+react_compiler.md +1 -1
  350. package/docs/hi/intlayer_with_vite+solid.md +2 -3
  351. package/docs/hi/intlayer_with_vite+svelte.md +3 -3
  352. package/docs/hi/intlayer_with_vite+vanilla.md +2 -2
  353. package/docs/hi/intlayer_with_vite+vue.md +2 -2
  354. package/docs/hi/packages/intlayer/index.md +1 -1
  355. package/docs/id/intlayer_CMS.md +1 -1
  356. package/docs/id/intlayer_with_adonisjs.md +1 -1
  357. package/docs/id/intlayer_with_analog.md +1 -1
  358. package/docs/id/intlayer_with_angular.md +1 -1
  359. package/docs/id/intlayer_with_create_react_app.md +1 -1
  360. package/docs/id/intlayer_with_express.md +1 -1
  361. package/docs/id/intlayer_with_fastify.md +1 -1
  362. package/docs/id/intlayer_with_hono.md +1 -1
  363. package/docs/id/intlayer_with_lynx+react.md +1 -1
  364. package/docs/id/intlayer_with_nestjs.md +1 -1
  365. package/docs/id/intlayer_with_next-i18next.md +1 -1
  366. package/docs/id/intlayer_with_next-intl.md +1 -1
  367. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  368. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  369. package/docs/id/intlayer_with_nextjs_16.md +2 -2
  370. package/docs/id/intlayer_with_nextjs_compiler.md +2 -2
  371. package/docs/id/intlayer_with_nextjs_no_locale_path.md +1 -1
  372. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  373. package/docs/id/intlayer_with_nuxt.md +1 -1
  374. package/docs/id/intlayer_with_react_native+expo.md +1 -1
  375. package/docs/id/intlayer_with_react_router_v7.md +4 -6
  376. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +4 -6
  377. package/docs/id/intlayer_with_svelte_kit.md +5 -5
  378. package/docs/id/intlayer_with_tanstack+solid.md +894 -0
  379. package/docs/id/intlayer_with_tanstack.md +2 -10
  380. package/docs/id/intlayer_with_vite+lit.md +1 -2
  381. package/docs/id/intlayer_with_vite+preact.md +2 -2
  382. package/docs/id/intlayer_with_vite+react.md +2 -2
  383. package/docs/id/intlayer_with_vite+react_compiler.md +1 -1
  384. package/docs/id/intlayer_with_vite+solid.md +2 -3
  385. package/docs/id/intlayer_with_vite+svelte.md +3 -3
  386. package/docs/id/intlayer_with_vite+vanilla.md +2 -2
  387. package/docs/id/intlayer_with_vite+vue.md +2 -2
  388. package/docs/it/intlayer_CMS.md +1 -1
  389. package/docs/it/intlayer_with_adonisjs.md +1 -1
  390. package/docs/it/intlayer_with_analog.md +1 -1
  391. package/docs/it/intlayer_with_angular.md +1 -1
  392. package/docs/it/intlayer_with_create_react_app.md +1 -1
  393. package/docs/it/intlayer_with_express.md +1 -1
  394. package/docs/it/intlayer_with_fastify.md +1 -1
  395. package/docs/it/intlayer_with_hono.md +1 -1
  396. package/docs/it/intlayer_with_lynx+react.md +1 -1
  397. package/docs/it/intlayer_with_nestjs.md +1 -1
  398. package/docs/it/intlayer_with_next-i18next.md +1 -1
  399. package/docs/it/intlayer_with_next-intl.md +1 -1
  400. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  401. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  402. package/docs/it/intlayer_with_nextjs_16.md +2 -2
  403. package/docs/it/intlayer_with_nextjs_compiler.md +2 -2
  404. package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
  405. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  406. package/docs/it/intlayer_with_nuxt.md +1 -1
  407. package/docs/it/intlayer_with_react_native+expo.md +1 -1
  408. package/docs/it/intlayer_with_react_router_v7.md +4 -6
  409. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +4 -6
  410. package/docs/it/intlayer_with_svelte_kit.md +6 -6
  411. package/docs/it/intlayer_with_tanstack+solid.md +970 -0
  412. package/docs/it/intlayer_with_tanstack.md +98 -32
  413. package/docs/it/intlayer_with_vite+lit.md +1 -2
  414. package/docs/it/intlayer_with_vite+preact.md +2 -2
  415. package/docs/it/intlayer_with_vite+react.md +2 -2
  416. package/docs/it/intlayer_with_vite+react_compiler.md +1 -1
  417. package/docs/it/intlayer_with_vite+solid.md +2 -3
  418. package/docs/it/intlayer_with_vite+svelte.md +3 -3
  419. package/docs/it/intlayer_with_vite+vanilla.md +2 -2
  420. package/docs/it/intlayer_with_vite+vue.md +2 -2
  421. package/docs/ja/intlayer_CMS.md +1 -1
  422. package/docs/ja/intlayer_with_adonisjs.md +1 -1
  423. package/docs/ja/intlayer_with_analog.md +1 -1
  424. package/docs/ja/intlayer_with_angular.md +1 -1
  425. package/docs/ja/intlayer_with_create_react_app.md +1 -1
  426. package/docs/ja/intlayer_with_express.md +1 -1
  427. package/docs/ja/intlayer_with_fastify.md +1 -1
  428. package/docs/ja/intlayer_with_hono.md +1 -1
  429. package/docs/ja/intlayer_with_lynx+react.md +1 -1
  430. package/docs/ja/intlayer_with_nestjs.md +1 -1
  431. package/docs/ja/intlayer_with_next-i18next.md +1 -1
  432. package/docs/ja/intlayer_with_next-intl.md +1 -1
  433. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  434. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  435. package/docs/ja/intlayer_with_nextjs_16.md +2 -2
  436. package/docs/ja/intlayer_with_nextjs_compiler.md +2 -2
  437. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
  438. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  439. package/docs/ja/intlayer_with_nuxt.md +1 -1
  440. package/docs/ja/intlayer_with_react_router_v7.md +2 -3
  441. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +4 -6
  442. package/docs/ja/intlayer_with_svelte_kit.md +1 -1
  443. package/docs/ja/intlayer_with_tanstack+solid.md +972 -0
  444. package/docs/ja/intlayer_with_tanstack.md +780 -94
  445. package/docs/ja/intlayer_with_vite+lit.md +1 -2
  446. package/docs/ja/intlayer_with_vite+preact.md +1 -1
  447. package/docs/ja/intlayer_with_vite+react.md +1 -1
  448. package/docs/ja/intlayer_with_vite+react_compiler.md +1 -1
  449. package/docs/ja/intlayer_with_vite+solid.md +2 -3
  450. package/docs/ja/intlayer_with_vite+svelte.md +3 -3
  451. package/docs/ja/intlayer_with_vite+vanilla.md +2 -2
  452. package/docs/ja/intlayer_with_vite+vue.md +2 -2
  453. package/docs/ko/intlayer_CMS.md +1 -1
  454. package/docs/ko/intlayer_with_adonisjs.md +1 -1
  455. package/docs/ko/intlayer_with_analog.md +1 -1
  456. package/docs/ko/intlayer_with_angular.md +1 -1
  457. package/docs/ko/intlayer_with_create_react_app.md +1 -1
  458. package/docs/ko/intlayer_with_express.md +1 -1
  459. package/docs/ko/intlayer_with_fastify.md +1 -1
  460. package/docs/ko/intlayer_with_hono.md +1 -1
  461. package/docs/ko/intlayer_with_lynx+react.md +1 -1
  462. package/docs/ko/intlayer_with_nestjs.md +1 -1
  463. package/docs/ko/intlayer_with_next-i18next.md +1 -1
  464. package/docs/ko/intlayer_with_next-intl.md +1 -1
  465. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  466. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  467. package/docs/ko/intlayer_with_nextjs_16.md +2 -2
  468. package/docs/ko/intlayer_with_nextjs_compiler.md +2 -2
  469. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
  470. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  471. package/docs/ko/intlayer_with_nuxt.md +1 -1
  472. package/docs/ko/intlayer_with_react_native+expo.md +1 -1
  473. package/docs/ko/intlayer_with_react_router_v7.md +4 -6
  474. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +4 -6
  475. package/docs/ko/intlayer_with_svelte_kit.md +5 -5
  476. package/docs/ko/intlayer_with_tanstack+solid.md +970 -0
  477. package/docs/ko/intlayer_with_tanstack.md +97 -103
  478. package/docs/ko/intlayer_with_vite+lit.md +1 -2
  479. package/docs/ko/intlayer_with_vite+preact.md +2 -2
  480. package/docs/ko/intlayer_with_vite+react.md +2 -2
  481. package/docs/ko/intlayer_with_vite+react_compiler.md +1 -1
  482. package/docs/ko/intlayer_with_vite+solid.md +2 -3
  483. package/docs/ko/intlayer_with_vite+svelte.md +3 -3
  484. package/docs/ko/intlayer_with_vite+vanilla.md +2 -2
  485. package/docs/ko/intlayer_with_vite+vue.md +2 -2
  486. package/docs/nl/intlayer_with_fastify.md +1 -1
  487. package/docs/nl/intlayer_with_hono.md +1 -1
  488. package/docs/nl/intlayer_with_vite+lit.md +1 -2
  489. package/docs/nl/intlayer_with_vite+vanilla.md +2 -2
  490. package/docs/pl/intlayer_CMS.md +1 -1
  491. package/docs/pl/intlayer_with_adonisjs.md +1 -1
  492. package/docs/pl/intlayer_with_analog.md +1 -1
  493. package/docs/pl/intlayer_with_angular.md +1 -1
  494. package/docs/pl/intlayer_with_create_react_app.md +1 -1
  495. package/docs/pl/intlayer_with_express.md +1 -1
  496. package/docs/pl/intlayer_with_fastify.md +1 -1
  497. package/docs/pl/intlayer_with_hono.md +1 -1
  498. package/docs/pl/intlayer_with_lynx+react.md +1 -1
  499. package/docs/pl/intlayer_with_nestjs.md +1 -1
  500. package/docs/pl/intlayer_with_next-i18next.md +1 -1
  501. package/docs/pl/intlayer_with_next-intl.md +1 -1
  502. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  503. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  504. package/docs/pl/intlayer_with_nextjs_16.md +2 -2
  505. package/docs/pl/intlayer_with_nextjs_compiler.md +2 -2
  506. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1 -1
  507. package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
  508. package/docs/pl/intlayer_with_nuxt.md +1 -1
  509. package/docs/pl/intlayer_with_react_native+expo.md +1 -1
  510. package/docs/pl/intlayer_with_react_router_v7.md +4 -6
  511. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +4 -6
  512. package/docs/pl/intlayer_with_svelte_kit.md +5 -5
  513. package/docs/pl/intlayer_with_tanstack+solid.md +894 -0
  514. package/docs/pl/intlayer_with_tanstack.md +2 -10
  515. package/docs/pl/intlayer_with_vite+lit.md +1 -2
  516. package/docs/pl/intlayer_with_vite+preact.md +2 -2
  517. package/docs/pl/intlayer_with_vite+react.md +2 -2
  518. package/docs/pl/intlayer_with_vite+react_compiler.md +1 -1
  519. package/docs/pl/intlayer_with_vite+solid.md +2 -3
  520. package/docs/pl/intlayer_with_vite+svelte.md +3 -3
  521. package/docs/pl/intlayer_with_vite+vanilla.md +2 -2
  522. package/docs/pl/intlayer_with_vite+vue.md +2 -2
  523. package/docs/pt/intlayer_CMS.md +1 -1
  524. package/docs/pt/intlayer_with_adonisjs.md +1 -1
  525. package/docs/pt/intlayer_with_analog.md +1 -1
  526. package/docs/pt/intlayer_with_angular.md +1 -1
  527. package/docs/pt/intlayer_with_create_react_app.md +1 -1
  528. package/docs/pt/intlayer_with_express.md +1 -1
  529. package/docs/pt/intlayer_with_fastify.md +1 -1
  530. package/docs/pt/intlayer_with_hono.md +1 -1
  531. package/docs/pt/intlayer_with_lynx+react.md +1 -1
  532. package/docs/pt/intlayer_with_nestjs.md +1 -1
  533. package/docs/pt/intlayer_with_next-i18next.md +1 -1
  534. package/docs/pt/intlayer_with_next-intl.md +1 -1
  535. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  536. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  537. package/docs/pt/intlayer_with_nextjs_16.md +2 -2
  538. package/docs/pt/intlayer_with_nextjs_compiler.md +2 -2
  539. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1 -1
  540. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  541. package/docs/pt/intlayer_with_nuxt.md +1 -1
  542. package/docs/pt/intlayer_with_react_native+expo.md +1 -1
  543. package/docs/pt/intlayer_with_react_router_v7.md +3 -4
  544. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +4 -6
  545. package/docs/pt/intlayer_with_svelte_kit.md +6 -6
  546. package/docs/pt/intlayer_with_tanstack+solid.md +970 -0
  547. package/docs/pt/intlayer_with_tanstack.md +98 -32
  548. package/docs/pt/intlayer_with_vite+lit.md +1 -2
  549. package/docs/pt/intlayer_with_vite+preact.md +2 -2
  550. package/docs/pt/intlayer_with_vite+react.md +2 -2
  551. package/docs/pt/intlayer_with_vite+react_compiler.md +1 -1
  552. package/docs/pt/intlayer_with_vite+solid.md +2 -3
  553. package/docs/pt/intlayer_with_vite+svelte.md +3 -3
  554. package/docs/pt/intlayer_with_vite+vanilla.md +2 -2
  555. package/docs/pt/intlayer_with_vite+vue.md +2 -2
  556. package/docs/ru/intlayer_CMS.md +1 -1
  557. package/docs/ru/intlayer_with_adonisjs.md +1 -1
  558. package/docs/ru/intlayer_with_analog.md +1 -1
  559. package/docs/ru/intlayer_with_angular.md +1 -1
  560. package/docs/ru/intlayer_with_create_react_app.md +1 -1
  561. package/docs/ru/intlayer_with_express.md +1 -1
  562. package/docs/ru/intlayer_with_fastify.md +1 -1
  563. package/docs/ru/intlayer_with_hono.md +1 -1
  564. package/docs/ru/intlayer_with_lynx+react.md +1 -1
  565. package/docs/ru/intlayer_with_nestjs.md +1 -1
  566. package/docs/ru/intlayer_with_next-i18next.md +1 -1
  567. package/docs/ru/intlayer_with_next-intl.md +1 -1
  568. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  569. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  570. package/docs/ru/intlayer_with_nextjs_16.md +2 -2
  571. package/docs/ru/intlayer_with_nextjs_compiler.md +2 -2
  572. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
  573. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  574. package/docs/ru/intlayer_with_nuxt.md +1 -1
  575. package/docs/ru/intlayer_with_react_native+expo.md +1 -1
  576. package/docs/ru/intlayer_with_react_router_v7.md +4 -6
  577. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +4 -6
  578. package/docs/ru/intlayer_with_svelte_kit.md +5 -5
  579. package/docs/ru/intlayer_with_tanstack+solid.md +970 -0
  580. package/docs/ru/intlayer_with_tanstack.md +101 -35
  581. package/docs/ru/intlayer_with_vite+lit.md +1 -2
  582. package/docs/ru/intlayer_with_vite+preact.md +2 -2
  583. package/docs/ru/intlayer_with_vite+react.md +2 -2
  584. package/docs/ru/intlayer_with_vite+react_compiler.md +1 -1
  585. package/docs/ru/intlayer_with_vite+solid.md +2 -3
  586. package/docs/ru/intlayer_with_vite+svelte.md +3 -3
  587. package/docs/ru/intlayer_with_vite+vanilla.md +2 -2
  588. package/docs/ru/intlayer_with_vite+vue.md +2 -2
  589. package/docs/tr/intlayer_CMS.md +1 -1
  590. package/docs/tr/intlayer_with_adonisjs.md +1 -1
  591. package/docs/tr/intlayer_with_analog.md +1 -1
  592. package/docs/tr/intlayer_with_angular.md +1 -1
  593. package/docs/tr/intlayer_with_create_react_app.md +1 -1
  594. package/docs/tr/intlayer_with_express.md +1 -1
  595. package/docs/tr/intlayer_with_fastify.md +1 -1
  596. package/docs/tr/intlayer_with_hono.md +1 -1
  597. package/docs/tr/intlayer_with_lynx+react.md +1 -1
  598. package/docs/tr/intlayer_with_nestjs.md +1 -1
  599. package/docs/tr/intlayer_with_next-i18next.md +1 -1
  600. package/docs/tr/intlayer_with_next-intl.md +1 -1
  601. package/docs/tr/intlayer_with_nextjs_14.md +1 -1
  602. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  603. package/docs/tr/intlayer_with_nextjs_16.md +2 -2
  604. package/docs/tr/intlayer_with_nextjs_compiler.md +2 -2
  605. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
  606. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  607. package/docs/tr/intlayer_with_nuxt.md +1 -1
  608. package/docs/tr/intlayer_with_react_native+expo.md +1 -1
  609. package/docs/tr/intlayer_with_react_router_v7.md +4 -6
  610. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +4 -6
  611. package/docs/tr/intlayer_with_svelte_kit.md +5 -5
  612. package/docs/tr/intlayer_with_tanstack+solid.md +895 -0
  613. package/docs/tr/intlayer_with_tanstack.md +2 -10
  614. package/docs/tr/intlayer_with_vite+lit.md +1 -2
  615. package/docs/tr/intlayer_with_vite+preact.md +2 -2
  616. package/docs/tr/intlayer_with_vite+react.md +2 -2
  617. package/docs/tr/intlayer_with_vite+react_compiler.md +1 -1
  618. package/docs/tr/intlayer_with_vite+solid.md +2 -3
  619. package/docs/tr/intlayer_with_vite+svelte.md +3 -3
  620. package/docs/tr/intlayer_with_vite+vanilla.md +2 -2
  621. package/docs/tr/intlayer_with_vite+vue.md +2 -2
  622. package/docs/uk/intlayer_CMS.md +1 -1
  623. package/docs/uk/intlayer_with_adonisjs.md +1 -1
  624. package/docs/uk/intlayer_with_analog.md +1 -1
  625. package/docs/uk/intlayer_with_angular.md +1 -1
  626. package/docs/uk/intlayer_with_create_react_app.md +1 -1
  627. package/docs/uk/intlayer_with_express.md +1 -1
  628. package/docs/uk/intlayer_with_fastify.md +1 -1
  629. package/docs/uk/intlayer_with_hono.md +1 -1
  630. package/docs/uk/intlayer_with_lynx+react.md +1 -1
  631. package/docs/uk/intlayer_with_nestjs.md +1 -1
  632. package/docs/uk/intlayer_with_next-i18next.md +1 -1
  633. package/docs/uk/intlayer_with_next-intl.md +1 -1
  634. package/docs/uk/intlayer_with_nextjs_14.md +1 -1
  635. package/docs/uk/intlayer_with_nextjs_15.md +1 -1
  636. package/docs/uk/intlayer_with_nextjs_16.md +2 -2
  637. package/docs/uk/intlayer_with_nextjs_compiler.md +2 -2
  638. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1 -1
  639. package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
  640. package/docs/uk/intlayer_with_nuxt.md +1 -1
  641. package/docs/uk/intlayer_with_react_native+expo.md +1 -1
  642. package/docs/uk/intlayer_with_react_router_v7.md +3 -4
  643. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +4 -6
  644. package/docs/uk/intlayer_with_svelte_kit.md +4 -4
  645. package/docs/uk/intlayer_with_tanstack+solid.md +894 -0
  646. package/docs/uk/intlayer_with_tanstack.md +2 -10
  647. package/docs/uk/intlayer_with_vite+lit.md +1 -2
  648. package/docs/uk/intlayer_with_vite+preact.md +2 -2
  649. package/docs/uk/intlayer_with_vite+react.md +2 -2
  650. package/docs/uk/intlayer_with_vite+react_compiler.md +1 -1
  651. package/docs/uk/intlayer_with_vite+solid.md +2 -3
  652. package/docs/uk/intlayer_with_vite+svelte.md +3 -3
  653. package/docs/uk/intlayer_with_vite+vanilla.md +2 -2
  654. package/docs/uk/intlayer_with_vite+vue.md +2 -2
  655. package/docs/ur/intlayer_with_fastify.md +1 -1
  656. package/docs/ur/intlayer_with_hono.md +1 -1
  657. package/docs/ur/intlayer_with_vite+lit.md +1 -2
  658. package/docs/ur/intlayer_with_vite+vanilla.md +1 -1
  659. package/docs/vi/cli/index.md +1 -1
  660. package/docs/vi/intlayer_CMS.md +1 -1
  661. package/docs/vi/intlayer_with_adonisjs.md +1 -1
  662. package/docs/vi/intlayer_with_analog.md +1 -1
  663. package/docs/vi/intlayer_with_angular.md +1 -1
  664. package/docs/vi/intlayer_with_create_react_app.md +1 -1
  665. package/docs/vi/intlayer_with_express.md +1 -1
  666. package/docs/vi/intlayer_with_fastify.md +1 -1
  667. package/docs/vi/intlayer_with_hono.md +1 -1
  668. package/docs/vi/intlayer_with_lynx+react.md +1 -1
  669. package/docs/vi/intlayer_with_nestjs.md +1 -1
  670. package/docs/vi/intlayer_with_next-i18next.md +1 -1
  671. package/docs/vi/intlayer_with_next-intl.md +1 -1
  672. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  673. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  674. package/docs/vi/intlayer_with_nextjs_16.md +2 -2
  675. package/docs/vi/intlayer_with_nextjs_compiler.md +2 -2
  676. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1 -1
  677. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  678. package/docs/vi/intlayer_with_nuxt.md +1 -1
  679. package/docs/vi/intlayer_with_react_native+expo.md +1 -1
  680. package/docs/vi/intlayer_with_react_router_v7.md +4 -6
  681. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +4 -6
  682. package/docs/vi/intlayer_with_svelte_kit.md +5 -5
  683. package/docs/vi/intlayer_with_tanstack+solid.md +894 -0
  684. package/docs/vi/intlayer_with_tanstack.md +2 -10
  685. package/docs/vi/intlayer_with_vite+lit.md +1 -2
  686. package/docs/vi/intlayer_with_vite+preact.md +2 -2
  687. package/docs/vi/intlayer_with_vite+react.md +2 -2
  688. package/docs/vi/intlayer_with_vite+react_compiler.md +1 -1
  689. package/docs/vi/intlayer_with_vite+solid.md +2 -3
  690. package/docs/vi/intlayer_with_vite+svelte.md +3 -3
  691. package/docs/vi/intlayer_with_vite+vanilla.md +2 -2
  692. package/docs/vi/intlayer_with_vite+vue.md +2 -2
  693. package/docs/zh/intlayer_CMS.md +1 -1
  694. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  695. package/docs/zh/intlayer_with_analog.md +1 -1
  696. package/docs/zh/intlayer_with_angular.md +1 -1
  697. package/docs/zh/intlayer_with_create_react_app.md +1 -1
  698. package/docs/zh/intlayer_with_express.md +1 -1
  699. package/docs/zh/intlayer_with_fastify.md +1 -1
  700. package/docs/zh/intlayer_with_hono.md +1 -1
  701. package/docs/zh/intlayer_with_lynx+react.md +1 -1
  702. package/docs/zh/intlayer_with_nestjs.md +1 -1
  703. package/docs/zh/intlayer_with_next-i18next.md +1 -1
  704. package/docs/zh/intlayer_with_next-intl.md +1 -1
  705. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  706. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  707. package/docs/zh/intlayer_with_nextjs_16.md +2 -2
  708. package/docs/zh/intlayer_with_nextjs_compiler.md +2 -2
  709. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
  710. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  711. package/docs/zh/intlayer_with_nuxt.md +1 -1
  712. package/docs/zh/intlayer_with_react_native+expo.md +1 -1
  713. package/docs/zh/intlayer_with_react_router_v7.md +4 -6
  714. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +4 -6
  715. package/docs/zh/intlayer_with_svelte_kit.md +5 -5
  716. package/docs/zh/intlayer_with_tanstack+solid.md +970 -0
  717. package/docs/zh/intlayer_with_tanstack.md +98 -106
  718. package/docs/zh/intlayer_with_vite+lit.md +1 -2
  719. package/docs/zh/intlayer_with_vite+preact.md +2 -2
  720. package/docs/zh/intlayer_with_vite+react.md +2 -2
  721. package/docs/zh/intlayer_with_vite+react_compiler.md +1 -1
  722. package/docs/zh/intlayer_with_vite+solid.md +2 -3
  723. package/docs/zh/intlayer_with_vite+svelte.md +3 -3
  724. package/docs/zh/intlayer_with_vite+vanilla.md +2 -2
  725. package/docs/zh/intlayer_with_vite+vue.md +2 -2
  726. package/package.json +8 -8
  727. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,894 @@
1
+ ---
2
+ createdAt: 2025-03-25
3
+ updatedAt: 2026-03-25
4
+ title: i18n Tanstack Start - كيفية ترجمة تطبيق Tanstack Start باستخدام Solid.js في عام 2026
5
+ description: تعلم كيفية إضافة التدويل (i18n) إلى تطبيق Tanstack Start الخاص بك باستخدام Intlayer و Solid.js. اتبع هذا الدليل الشامل لجعل تطبيقك متعدد اللغات مع توجيه مدرك للغة.
6
+ keywords:
7
+ - التدويل
8
+ - توثيق
9
+ - Intlayer
10
+ - Tanstack Start
11
+ - Solid
12
+ - i18n
13
+ - TypeScript
14
+ - توجيه اللغة
15
+ slugs:
16
+ - doc
17
+ - environment
18
+ - tanstack-start
19
+ applicationTemplate: https://github.com/aymericzip/intlayer-tanstack-start-solid-template
20
+ youtubeVideo: https://www.youtube.com/watch?v=_XTdKVWaeqg
21
+ history:
22
+ - version: 8.5.1
23
+ date: 2026-03-25
24
+ changes: "تمت الإضافة لـ Tanstack Start Solid.js"
25
+ ---
26
+
27
+ # ترجم موقعك على Tanstack Start مع Solid.js باستخدام Intlayer | التدويل (i18n)
28
+
29
+ ## جدول المحتويات
30
+
31
+ <TOC/>
32
+
33
+ يوضح هذا الدليل كيفية دمج **Intlayer** من أجل تدويل سلس في مشاريع Tanstack Start مع Solid.js، وتوجيه مدرك للغة، ودعم TypeScript، وممارسات التطوير الحديثة.
34
+
35
+ ## ما هو Intlayer؟
36
+
37
+ **Intlayer** هو مكتبة تدويل (i18n) مبتكرة ومفتوحة المصدر مصممة لتبسيط الدعم متعدد اللغات في تطبيقات الويب الحديثة.
38
+
39
+ باستخدام Intlayer، يمكنك:
40
+
41
+ - **إدارة الترجمات بسهولة** باستخدام قواميس تعريفية على مستوى المكون.
42
+ - **توطين العناوين (metadata) والمسارات والمحتوى ديناميكيًا**.
43
+ - **ضمان دعم TypeScript** من خلال الأنواع المنشأة تلقائيًا، مما يحسن الإكمال التلقائي واكتشاف الأخطاء.
44
+ - **الاستفادة من الميزات المتقدمة**، مثل الاكتشاف والتبديل الديناميكي للغة.
45
+ - **تفعيل التوجيه المدرك للغة** باستخدام نظام التوجيه القائم على الملفات في Tanstack Start.
46
+
47
+ ---
48
+
49
+ ## دليل خطوة بخطوة لإعداد Intlayer في تطبيق Tanstack Start
50
+
51
+ <Tabs defaultTab="video">
52
+ <Tab label="فيديو" value="video">
53
+
54
+ <iframe title="أفضل حل i18n لـ Tanstack Start؟ اكتشف Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
55
+
56
+ </Tab>
57
+ <Tab label="كود" value="code">
58
+
59
+ <iframe
60
+ src="https://stackblitz.com/github/aymericzip/intlayer-tanstack-start-solid-template?embed=1&ctl=1&file=intlayer.config.ts"
61
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
62
+ title="تجربة CodeSandbox - كيفية تدويل تطبيقك باستخدام Intlayer"
63
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
64
+ loading="lazy"
65
+ />
66
+
67
+ </Tab>
68
+ </Tabs>
69
+
70
+ شاهد [قالب التطبيق](https://github.com/aymericzip/intlayer-tanstack-start-solid-template) على GitHub.
71
+
72
+ ### الخطوة 1: إنشاء المشروع
73
+
74
+ ابدأ بإنشاء مشروع TanStack Start جديد باتباع دليل [بدء مشروع جديد](https://tanstack.com/start/latest/docs/framework/solid/quick-start) على موقع TanStack Start.
75
+
76
+ ### الخطوة 2: تثبيت حزم Intlayer
77
+
78
+ قم بتثبيت الحزم اللازمة باستخدام مدير الحزم المفضل لديك:
79
+
80
+ ```bash packageManager="npm"
81
+ npm install intlayer solid-intlayer
82
+ npm install vite-intlayer --save-dev
83
+ npx intlayer init
84
+ ```
85
+
86
+ ```bash packageManager="pnpm"
87
+ pnpm add intlayer solid-intlayer
88
+ pnpm add vite-intlayer --save-dev
89
+ pnpm intlayer init
90
+ ```
91
+
92
+ ```bash packageManager="yarn"
93
+ yarn add intlayer solid-intlayer
94
+ yarn add vite-intlayer --save-dev
95
+ yarn intlayer init
96
+ ```
97
+
98
+ ```bash packageManager="bun"
99
+ bun add intlayer solid-intlayer
100
+ bun add vite-intlayer --dev
101
+ bun x intlayer init
102
+ ```
103
+
104
+ - **intlayer**
105
+
106
+ الحزمة الأساسية التي توفر أدوات التدويل لإدارة الإعدادات، الترجمة، [إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md)، والتحويل البرمجي وأوامر [واجهة الأوامر (CLI)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/index.md).
107
+
108
+ - **solid-intlayer**
109
+ الحزمة التي تدمج Intlayer مع تطبيقات Solid. توفر مجمعات السياق (context providers) والخطافات (hooks) للتدويل في Solid.
110
+
111
+ - **vite-intlayer**
112
+ تتضمن إضافة Vite لدمج Intlayer مع [أداة بناء Vite](https://vite.dev/guide/why.html#why-bundle-for-production)، كذالك البرمجيات الوسيطة (middleware) لاكتشاف اللغة المفضلة للمستخدم، وإدارة ملفات تعريف الارتباط (cookies)، والتعامل مع إعادة توجيه الروابط.
113
+
114
+ ### الخطوة 3: إعداد مشروعك
115
+
116
+ قم بإنشاء ملف إعدادات لتكوين اللغات في تطبيقك:
117
+
118
+ ```typescript fileName="intlayer.config.ts"
119
+ import type { IntlayerConfig } from "intlayer";
120
+
121
+ import { Locales } from "intlayer";
122
+
123
+ const config: IntlayerConfig = {
124
+ internationalization: {
125
+ defaultLocale: Locales.ENGLISH,
126
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
127
+ },
128
+ };
129
+
130
+ export default config;
131
+ ```
132
+
133
+ > من خلال ملف الإعدادات هذا، يمكنك تكوين الروابط المترجمة، إعادة توجيه البرمجيات الوسيطة، أسماء ملفات تعريف الارتباط، وموقع وامتداد إعلانات المحتوى الخاصة بك، وتعطيل سجلات Intlayer في وحدة التحكم، والمزيد. للحصول على قائمة كاملة بالمعلمات المتاحة، راجع [توثيق الإعدادات](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md).
134
+
135
+ ### الخطوة 4: دمج Intlayer في إعدادات Vite الخاصة بك
136
+
137
+ أضف إضافة intlayer إلى إعداداتك:
138
+
139
+ ```typescript fileName="vite.config.ts"
140
+ import { intlayer } from "vite-intlayer";
141
+ import { defineConfig } from "vite";
142
+ import { devtools } from "@tanstack/devtools-vite";
143
+ import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
144
+ import solidPlugin from "vite-plugin-solid";
145
+
146
+ export default defineConfig({
147
+ plugins: [
148
+ devtools(),
149
+ tanstackStart({
150
+ router: {
151
+ routeFileIgnorePattern:
152
+ ".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
153
+ },
154
+ }),
155
+ solidPlugin({ ssr: true }),
156
+ intlayer(),
157
+ ],
158
+ });
159
+ ```
160
+
161
+ > تُستخدم إضافة `intlayer()` لـ Vite لدمج Intlayer مع Vite. تضمن بناء ملفات إعلان المحتوى ومراقبتها في وضع التطوير. وتعرّف متغيرات بيئة Intlayer داخل تطبيق Vite. بالإضافة إلى ذلك، توفر أسماء بديلة (aliases) لتحسين الأداء.
162
+
163
+ ### الخطوة 5: إنشاء التخطيط الجذري (Root Layout)
164
+
165
+ قم بتكوين التخطيط الجذري الخاص بك لدعم التدويل باستخدام `useMatches` لاكتشاف اللغة الحالية وتعيين سمات `lang` و `dir` على وسم `html`.
166
+
167
+ ```tsx fileName="src/routes/__root.tsx"
168
+ import {
169
+ HeadContent,
170
+ Outlet,
171
+ Scripts,
172
+ createRootRouteWithContext,
173
+ useMatches,
174
+ } from "@tanstack/solid-router";
175
+ import { TanStackRouterDevtools } from "@tanstack/solid-router-devtools";
176
+ import { HydrationScript } from "solid-js/web";
177
+ import { Suspense } from "solid-js";
178
+ import { IntlayerProvider } from "solid-intlayer";
179
+ import { defaultLocale, getHTMLTextDir, type Locale } from "intlayer";
180
+
181
+ export const Route = createRootRouteWithContext()({
182
+ shellComponent: RootComponent,
183
+ });
184
+
185
+ type Params = {
186
+ locale: Locale;
187
+ };
188
+
189
+ function RootComponent() {
190
+ const matches = useMatches();
191
+
192
+ // محاولة العثور على اللغة في معلمات أي مطابقة نشطة
193
+ // يفترض هذا أنك تستخدم الجزء الديناميكي "/{-$locale}" في شجرة المسارات الخاصة بك
194
+ const locale =
195
+ (
196
+ matches().find((match) => match.routeId === "/{-$locale}/")
197
+ ?.params as Params
198
+ )?.locale ?? defaultLocale;
199
+
200
+ return (
201
+ <html dir={getHTMLTextDir(locale)} lang={locale}>
202
+ <head>
203
+ <HydrationScript />
204
+ </head>
205
+ <body>
206
+ <HeadContent />
207
+ <IntlayerProvider locale={locale}>
208
+ <Suspense>
209
+ <Outlet />
210
+ <TanStackRouterDevtools />
211
+ </Suspense>
212
+ </IntlayerProvider>
213
+ <Scripts />
214
+ </body>
215
+ </html>
216
+ );
217
+ }
218
+ ```
219
+
220
+ ### الخطوة 6: إنشاء تخطيط اللغة (اختياري)
221
+
222
+ أنشئ تخطيطًا يتعامل مع بادئة اللغة ويقوم بالتحقق من صحتها. سيضمن هذا التخطيط معالجة اللغات الصالحة فقط.
223
+
224
+ > هذه الخطوة اختيارية إذا لم تكن بحاجة إلى التحقق من بادئة اللغة على مستوى المسار.
225
+
226
+ ```tsx fileName="src/routes/{-$locale}/route.tsx"
227
+ import { createFileRoute, Outlet, redirect } from "@tanstack/solid-router";
228
+ import { validatePrefix } from "intlayer";
229
+
230
+ export const Route = createFileRoute("/{-$locale}")({
231
+ beforeLoad: ({ params }) => {
232
+ const localeParam = params.locale;
233
+
234
+ // التحقق من بادئة اللغة
235
+ const { isValid, localePrefix } = validatePrefix(localeParam);
236
+
237
+ if (!isValid) {
238
+ throw redirect({
239
+ to: "/{-$locale}/404",
240
+ params: { locale: localePrefix },
241
+ replace: true,
242
+ });
243
+ }
244
+ },
245
+ component: Outlet,
246
+ });
247
+ ```
248
+
249
+ > هنا، `{-$locale}` هو معلمة مسار ديناميكية يتم استبدالها باللغة الحالية. هذا التنسيق يجعل الجزء اختياريًا، مما يسمح له بالعمل مع أوضاع التوجيه مثل `'prefix-no-default'` وغيرها.
250
+
251
+ > كن على علم بأن هذا الجزء قد يسبب مشكلات إذا كنت تستخدم أجزاء ديناميكية متعددة في نفس المسار (مثل: `/{-$locale}/other-path/$anotherDynamicPath/...`).
252
+ > لوضع `'prefix-all'`، قد تفضل تبديل الجزء إلى `$locale`.
253
+ > لوضع `'no-prefix'` أو `'search-params'`، يمكنك إزالة الجزء تمامًا.
254
+
255
+ ### الخطوة 7: إعلان المحتوى الخاص بك
256
+
257
+ قم بإنشاء وإدارة إعلانات المحتوى الخاصة بك لتخزين الترجمات:
258
+
259
+ ```tsx fileName="src/contents/page.content.ts"
260
+ import type { Dictionary } from "intlayer";
261
+
262
+ import { t } from "intlayer";
263
+
264
+ const appContent = {
265
+ content: {
266
+ links: {
267
+ about: t({
268
+ en: "About",
269
+ es: "Acerca de",
270
+ fr: "À propos",
271
+ }),
272
+ home: t({
273
+ en: "Home",
274
+ es: "Inicio",
275
+ fr: "Accueil",
276
+ }),
277
+ },
278
+ meta: {
279
+ title: t({
280
+ en: "Welcome to Intlayer + TanStack Router",
281
+ es: "Bienvenido a Intlayer + TanStack Router",
282
+ fr: "Bienvenue à Intlayer + TanStack Router",
283
+ }),
284
+ description: t({
285
+ en: "This is an example of using Intlayer with TanStack Router",
286
+ es: "Este es un ejemplo de uso de Intlayer con TanStack Router",
287
+ fr: "Ceci est un exemple d'utilisation d'Intlayer avec TanStack Router",
288
+ }),
289
+ },
290
+ },
291
+ key: "app",
292
+ } satisfies Dictionary;
293
+
294
+ export default appContent;
295
+ ```
296
+
297
+ > يمكن تعريف إعلانات المحتوى الخاصة بك في أي مكان في تطبيقك، طالما أنها مضمنة في مجلد `contentDir` (افتراضيًا `./app`). وتطابق امتداد ملفات إعلان المحتوى (افتراضيًا `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
298
+
299
+ > لمزيد من التفاصيل، راجع [توثيق إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md).
300
+
301
+ ### الخطوة 8: استخدام المكونات والخطافات المدركة للغة
302
+
303
+ قم بإنشاء مكون `LocalizedLink` للتنقل المدرك للغة:
304
+
305
+ ```tsx fileName="src/components/LocalizedLink.tsx"
306
+ import { Link, type LinkProps } from "@tanstack/solid-router";
307
+ import { getPrefix } from "intlayer";
308
+ import { useLocale } from "solid-intlayer";
309
+ import type { JSX } from "solid-js";
310
+
311
+ export const LOCALE_ROUTE = "{-$locale}" as const;
312
+
313
+ export type RemoveLocaleParam<TVal> = TVal extends string
314
+ ? RemoveLocaleFromString<TVal>
315
+ : TVal;
316
+
317
+ export type To = RemoveLocaleParam<LinkProps["to"]>;
318
+
319
+ type CollapseDoubleSlashes<TString extends string> =
320
+ TString extends `${infer THead}//${infer TTail}`
321
+ ? CollapseDoubleSlashes<`${THead}/${TTail}`>
322
+ : TString;
323
+
324
+ export type LocalizedLinkProps = Omit<LinkProps, "to"> & {
325
+ to?: To;
326
+ } & JSX.AnchorHTMLAttributes<HTMLAnchorElement>;
327
+
328
+ type RemoveAll<
329
+ TString extends string,
330
+ TSub extends string,
331
+ > = TString extends `${infer THead}${TSub}${infer TTail}`
332
+ ? RemoveAll<`${THead}${TTail}`, TSub>
333
+ : TString;
334
+
335
+ type RemoveLocaleFromString<TString extends string> = CollapseDoubleSlashes<
336
+ RemoveAll<TString, typeof LOCALE_ROUTE>
337
+ >;
338
+
339
+ export const LocalizedLink = (props: LocalizedLinkProps) => {
340
+ const { locale } = useLocale();
341
+
342
+ return (
343
+ <Link
344
+ {...props}
345
+ params={{
346
+ locale: getPrefix(locale()).localePrefix,
347
+ ...(typeof props.params === "object" ? props.params : {}),
348
+ }}
349
+ to={`/${LOCALE_ROUTE}${props.to ?? ""}` as LinkProps["to"]}
350
+ />
351
+ );
352
+ };
353
+ ```
354
+
355
+ يخدم هذا المكون غرضين:
356
+
357
+ - إزالة بادئة `{-$locale}` غير الضرورية من الروابط.
358
+ - حقن معلمة اللغة في الروابط لضمان إعادة توجيه المستخدم مباشرة إلى المسار المترجم.
359
+
360
+ بعد ذلك، يمكننا إنشاء خطاف `useLocalizedNavigate` للتنقل البرمجي:
361
+
362
+ ```tsx fileName="src/hooks/useLocalizedNavigate.tsx"
363
+ import { useNavigate } from "@tanstack/solid-router";
364
+ import { getLocalizedUrl } from "intlayer";
365
+ import { useLocale } from "solid-intlayer";
366
+
367
+ export const useLocalizedNavigate = () => {
368
+ const navigate = useNavigate();
369
+ const { locale } = useLocale();
370
+
371
+ const localizedNavigate = (to: string) => {
372
+ const localizedTo = getLocalizedUrl(to, locale());
373
+ return navigate({ to: localizedTo });
374
+ };
375
+
376
+ return localizedNavigate;
377
+ };
378
+ ```
379
+
380
+ ### الخطوة 9: استخدام Intlayer في صفحاتك
381
+
382
+ قم بالوصول إلى قواميس المحتوى الخاصة بك عبر تطبيقك:
383
+
384
+ #### صفحة رئيسية مترجمة
385
+
386
+ ```tsx fileName="src/routes/{-$locale}/index.tsx"
387
+ import { createFileRoute } from "@tanstack/solid-router";
388
+ import { useIntlayer } from "solid-intlayer";
389
+ import { LocalizedLink } from "@/components/LocalizedLink";
390
+
391
+ export const Route = createFileRoute("/{-$locale}/")({
392
+ component: RouteComponent,
393
+ });
394
+
395
+ function RouteComponent() {
396
+ const content = useIntlayer("index-page");
397
+
398
+ return (
399
+ <main>
400
+ <h1>{content().heroTitle}</h1>
401
+ <p>{content().heroDesc}</p>
402
+ <div>
403
+ <LocalizedLink to="/">{content().navHome}</LocalizedLink>
404
+ <LocalizedLink to="/about">{content().navAbout}</LocalizedLink>
405
+ </div>
406
+ </main>
407
+ );
408
+ }
409
+ ```
410
+
411
+ > في Solid، يعيد `useIntlayer` وظيفة **وصول (accessor)** (مثل `content()`). يجب عليك استدعاء هذه الوظيفة للوصول إلى المحتوى التفاعلي.
412
+ >
413
+ > لمعرفة المزيد حول خطاف `useIntlayer` ، راجع [التوثيق](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/solid-intlayer/useIntlayer.md).
414
+
415
+ ### الخطوة 10: إنشاء مكون لتبديل اللغة
416
+
417
+ أنشئ مكونًا للسماح للمستخدمين بتغيير اللغات:
418
+
419
+ ```tsx fileName="src/components/LocaleSwitcher.tsx"
420
+ import { useLocation } from "@tanstack/solid-router";
421
+ import { getLocaleName, getPathWithoutLocale, getPrefix } from "intlayer";
422
+ import { For } from "solid-js";
423
+ import { useIntlayer, useLocale } from "solid-intlayer";
424
+ import { LocalizedLink, type To } from "./LocalizedLink";
425
+
426
+ export const LocaleSwitcher = () => {
427
+ const content = useIntlayer("locale-switcher");
428
+ const location = useLocation();
429
+
430
+ const { availableLocales, locale, setLocale } = useLocale();
431
+
432
+ const pathWithoutLocale = () => getPathWithoutLocale(location().pathname);
433
+
434
+ return (
435
+ <div class="flex flex-row gap-2">
436
+ <For each={availableLocales}>
437
+ {(localeEl) => (
438
+ <LocalizedLink
439
+ aria-current={localeEl === locale() ? "page" : undefined}
440
+ onClick={() => setLocale(localeEl)}
441
+ params={{ locale: getPrefix(localeEl).localePrefix }}
442
+ to={pathWithoutLocale() as To}
443
+ >
444
+ {getLocaleName(localeEl)}
445
+ </LocalizedLink>
446
+ )}
447
+ </For>
448
+ </div>
449
+ );
450
+ };
451
+
452
+ export default LocaleSwitcher;
453
+ ```
454
+
455
+ > في ملفات Solid ، يكون `locale` من `useLocale` عبارة عن **signal accessor**. استخدم `locale()` (مع القوسين) لقراءة قيمته الحالية بشكل تفاعلي.
456
+ >
457
+ > لمعرفة المزيد حول خطاف `useLocale` ، راجع [التوثيق](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/solid-intlayer/useLocale.md).
458
+
459
+ ### الخطوة 11: إدارة سمات HTML
460
+
461
+ كما رأيت في الخطوة 5، يمكنك إدارة سمات `lang` و `dir` لوسم `html` باستخدام `useMatches` في المكون الجذري الخاص بك. يضمن ذلك تعيين السمات الصحيحة على كل من الخادم والعميل.
462
+
463
+ ```tsx fileName="src/routes/__root.tsx"
464
+ const RootComponent: ParentComponent = (props) => {
465
+ const matches = useMatches();
466
+
467
+ // محاولة العثور على اللغة في معلمات أي مطابقة نشطة
468
+ const locale =
469
+ (
470
+ matches().find((match) => match.routeId === "/{-$locale}/")
471
+ ?.params as Params
472
+ )?.locale ?? defaultLocale;
473
+
474
+ return (
475
+ <html dir={getHTMLTextDir(locale)} lang={locale}>
476
+ {/* ... */}
477
+ </html>
478
+ );
479
+ };
480
+ ```
481
+
482
+ ---
483
+
484
+ ### الخطوة 12: إضافة برمجية وسيطة (اختياري)
485
+
486
+ يمكنك أيضًا استخدام `intlayerProxy` لإضافة توجيه من جانب الخادم إلى تطبيقك. ستكتشف هذه الإضافة تلقائيًا اللغة الحالية بناءً على الرابط وتعيين ملف تعريف الارتباط المناسب للغة. إذا لم يتم تحديد لغة، فستحدد الإضافة اللغة الأكثر ملاءمة بناءً على تفضيلات لغة متصفح المستخدم. إذا لم يتم اكتشاف لغة، فسيتم إعادة التوجيه إلى اللغة الافتراضية.
487
+
488
+ > لاحظ أنه لاستخدام `intlayerProxy` في الإنتاج، تحتاج إلى نقل حزمة `vite-intlayer` من `devDependencies` إلى `dependencies`.
489
+
490
+ ```typescript {7,14-17} fileName="vite.config.ts"
491
+ import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
492
+ import solid from "vite-plugin-solid";
493
+ import { nitro } from "nitro/vite";
494
+ import { defineConfig } from "vite";
495
+ import { intlayer, intlayerProxy } from "vite-intlayer";
496
+
497
+ export default defineConfig({
498
+ plugins: [
499
+ intlayerProxy(), // يجب وضع الوكيل قبل الخادم إذا كنت تستخدم Nitro
500
+ nitro(),
501
+ intlayer(),
502
+ tanstackStart({
503
+ router: {
504
+ routeFileIgnorePattern:
505
+ ".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
506
+ },
507
+ }),
508
+ solid(),
509
+ ],
510
+ });
511
+ ```
512
+
513
+ ---
514
+
515
+ ### الخطوة 13: تدويل العناوين (metadata) الخاصة بك (اختياري)
516
+
517
+ يمكنك أيضًا استخدام وظيفة `getIntlayer` للوصول إلى قواميس المحتوى الخاصة بك داخل محمل `head` للعناوين المدركة للغة:
518
+
519
+ ```tsx fileName="src/routes/{-$locale}/index.tsx"
520
+ import { createFileRoute } from "@tanstack/solid-router";
521
+ import { getIntlayer } from "intlayer";
522
+
523
+ export const Route = createFileRoute("/{-$locale}/")({
524
+ component: RouteComponent,
525
+ head: ({ params }) => {
526
+ const { locale } = params;
527
+ const metaContent = getIntlayer("page-metadata", locale);
528
+
529
+ return {
530
+ meta: [
531
+ { title: metaContent.title },
532
+ { content: metaContent.description, name: "description" },
533
+ ],
534
+ };
535
+ },
536
+ });
537
+ ```
538
+
539
+ ---
540
+
541
+ ### الخطوة 14: الحصول على اللغة في إجراءات الخادم الخاص بك (اختياري)
542
+
543
+ قد ترغب في الوصول إلى اللغة الحالية من داخل إجراءات الخادم (server actions) أو نقاط نهاية API.
544
+ يمكنك القيام بذلك باستخدام مساعد `getLocale` من `intlayer`.
545
+
546
+ إليك مثال باستخدام وظائف الخادم في TanStack Start:
547
+
548
+ ```tsx fileName="src/routes/{-$locale}/index.tsx"
549
+ import { createServerFn } from "@tanstack/solid-start";
550
+ import {
551
+ getRequestHeader,
552
+ getRequestHeaders,
553
+ } from "@tanstack/solid-start/server";
554
+ import { getCookie, getIntlayer, getLocale } from "intlayer";
555
+
556
+ export const getLocaleServer = createServerFn().handler(async () => {
557
+ const locale = await getLocale({
558
+ // الحصول على ملف تعريف الارتباط من الطلب (افتراضيًا: 'INTLAYER_LOCALE')
559
+ getCookie: (name) => {
560
+ const cookieString = getRequestHeader("cookie");
561
+
562
+ return getCookie(name, cookieString);
563
+ },
564
+ // الحصول على الترويسة من الطلب (افتراضيًا: 'x-intlayer-locale')
565
+ // تراجع باستخدام التفاضل Accept-Language
566
+ getHeader: (name) => getRequestHeader(name),
567
+ });
568
+
569
+ // استرجاع بعض المحتوى باستخدام getIntlayer()
570
+ const content = getIntlayer("app", locale);
571
+
572
+ return { locale, content };
573
+ });
574
+ ```
575
+
576
+ ---
577
+
578
+ ### الخطوة 15: إدارة الصفحات غير الموجودة (404) (اختياري)
579
+
580
+ عندما يزور المستخدم صفحة غير موجودة ، يمكنك عرض صفحة 404 مخصصة ويمكن أن تؤثر بادئة اللغة على كيفية تشغيل الصفحة غير الموجودة.
581
+
582
+ #### فهم معالجة 404 في TanStack Router مع بادئات اللغة
583
+
584
+ في TanStack Router ، تتطلب معالجة صفحات 404 مع المسارات المترجمة نهجًا متعدد المستويات:
585
+
586
+ 1. **مسار 404 مخصص**: مسار محدد لعرض واجهة مستخدم 404
587
+ 2. **التحقق على مستوى المسار**: يتحقق من بادئات اللغة ويعيد توجيه البادئات غير الصالحة إلى 404
588
+ 3. **مسار التقاط الكل (Catch-all)**: يلتقط أي مسارات غير متطابقة داخل جزء اللغة
589
+
590
+ ```tsx fileName="src/routes/{-$locale}/404.tsx"
591
+ import { createFileRoute } from "@tanstack/solid-router";
592
+
593
+ // ينشئ هذا مسار /[locale]/404 مخصصًا
594
+ // يتم استخدامه كمسار مباشر ويتم استيراده كمكون في ملفات أخرى
595
+ export const Route = createFileRoute("/{-$locale}/404")({
596
+ component: NotFoundComponent,
597
+ });
598
+
599
+ // يتم تصديره بشكل منفصل بحيث يمكن إعادة استخدامه في notFoundComponent ومسارات التقاط الكل
600
+ export function NotFoundComponent() {
601
+ return (
602
+ <div>
603
+ <h1>404</h1>
604
+ </div>
605
+ );
606
+ }
607
+ ```
608
+
609
+ ```tsx fileName="src/routes/{-$locale}/route.tsx"
610
+ import { createFileRoute, Outlet, redirect } from "@tanstack/solid-router";
611
+ import { validatePrefix } from "intlayer";
612
+ import { NotFoundComponent } from "./404";
613
+
614
+ export const Route = createFileRoute("/{-$locale}")({
615
+ // يتم تشغيل beforeLoad قبل عرض المسار (كل من الخادم والعميل)
616
+ // إنه المكان المثالي للتحقق من بادئة اللغة
617
+ beforeLoad: ({ params }) => {
618
+ const localeParam = params.locale;
619
+
620
+ // يتحقق validatePrefix مما إذا كانت اللغة صالحة وفقًا لإعدادات intlayer الخاصة بك
621
+ const { isValid, localePrefix } = validatePrefix(localeParam);
622
+
623
+ if (!isValid) {
624
+ // بادئة لغة غير صالحة - إعادة توجيه إلى صفحة 404 مع بادئة لغة صالحة
625
+ throw redirect({
626
+ to: "/{-$locale}/404",
627
+ params: { locale: localePrefix },
628
+ });
629
+ }
630
+ },
631
+ component: Outlet,
632
+ // يتم استدعاء notFoundComponent عندما لا يكون المسار الفرعي موجودًا
633
+ // مثال: /en/صفحة-غير-موجودة يشغل هذا داخل تخطيط /en
634
+ notFoundComponent: NotFoundComponent,
635
+ });
636
+ ```
637
+
638
+ ```tsx fileName="src/routes/{-$locale}/$.tsx"
639
+ import { createFileRoute } from "@tanstack/solid-router";
640
+
641
+ import { NotFoundComponent } from "./404";
642
+
643
+ // يطابق مسار $ (الكل) أي مسار لا يطابق المسارات الأخرى
644
+ // مثال: /en/بعض/المسارات/العميقة/غير/الصالحة
645
+ // يضمن هذا أن تعرض جميع المسارات غير المتطابقة داخل اللغة صفحة 404
646
+ // بدون هذا ، قد تعرض المسارات العميقة غير المتطابقة صفحة فارغة أو خطأ
647
+ export const Route = createFileRoute("/{-$locale}/$")({
648
+ component: NotFoundComponent,
649
+ });
650
+ ```
651
+
652
+ ### (اختياري) الخطوة 16: استخراج المحتوى من مكوناتك
653
+
654
+ إذا كان لديك قاعدة أكواد حالية ، فقد يستغرق تحويل آلاف الملفات وقتًا طويلاً.
655
+
656
+ لتسهيل هذه العملية ، يقترح Intlayer [مترجمًا (compiler)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا (extractor)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
657
+
658
+ لإعداده ، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
659
+
660
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
661
+ import { type IntlayerConfig } from "intlayer";
662
+
663
+ const config: IntlayerConfig = {
664
+ // ... بقية إعداداتك
665
+ compiler: {
666
+ /**
667
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
668
+ */
669
+ enabled: true,
670
+
671
+ /**
672
+ * يحدد مسار ملفات المخرجات
673
+ */
674
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
675
+
676
+ /**
677
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها.
678
+ *
679
+ * - إذا كان `true` ، فسيقوم المترجم بإعادة كتابة ملف المكون على القرص. وبالتالي ، سيكون التحويل دائمًا ، وسيقوم المترجم بتجاوز التحويل للعملية التالية. بهذه الطريقة ، يمكن للمترجم تحويل التطبيق ومن ثم يمكن إزالته.
680
+ *
681
+ * - إذا كان `false` ، فسيقوم المترجم بحقن استدعاء وظيفة `useIntlayer()` في الكود فقط في مخرجات البناء ، مع الحفاظ على قاعدة الأكواد الأساسية كما هي. سيتم إجراء التحويل في الذاكرة فقط.
682
+ */
683
+ saveComponents: false,
684
+
685
+ /**
686
+ * بادئة مفتاح القاموس
687
+ */
688
+ dictionaryKeyPrefix: "",
689
+ },
690
+ };
691
+
692
+ export default config;
693
+ ```
694
+
695
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
696
+ /** @type {import('intlayer').IntlayerConfig} */
697
+ const config = {
698
+ // ... بقية إعداداتك
699
+ compiler: {
700
+ /**
701
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
702
+ */
703
+ enabled: true,
704
+
705
+ /**
706
+ * يحدد مسار ملفات المخرجات
707
+ */
708
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
709
+
710
+ /**
711
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها.
712
+ *
713
+ * - إذا كان `true` ، فسيقوم المترجم بإعادة كتابة ملف المكون على القرص. وبالتالي ، سيكون التحويل دائمًا ، وسيقوم المترجم بتجاوز التحويل للعملية التالية. بهذه الطريقة ، يمكن للمترجم تحويل التطبيق ومن ثم يمكن إزالته.
714
+ *
715
+ * - إذا كان `false` ، فسيقوم المترجم بحقن استدعاء وظيفة `useIntlayer()` في الكود فقط في مخرجات البناء ، مع الحفاظ على قاعدة الأكواد الأساسية كما هي. سيتم إجراء التحويل في الذاكرة فقط.
716
+ */
717
+ saveComponents: false,
718
+
719
+ /**
720
+ * بادئة مفتاح القاموس
721
+ */
722
+ dictionaryKeyPrefix: "",
723
+ },
724
+ };
725
+
726
+ export default config;
727
+ ```
728
+
729
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
730
+ /** @type {import('intlayer').IntlayerConfig} */
731
+ const config = {
732
+ // ... بقية إعداداتك
733
+ compiler: {
734
+ /**
735
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
736
+ */
737
+ enabled: true,
738
+
739
+ /**
740
+ * يحدد مسار ملفات المخرجات
741
+ */
742
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
743
+
744
+ /**
745
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها.
746
+ *
747
+ * - إذا كان `true` ، فسيقوم المترجم بإعادة كتابة ملف المكون على القرص. وبالتالي ، سيكون التحويل دائمًا ، وسيقوم المترجم بتجاوز التحويل للعملية التالية. بهذه الطريقة ، يمكن للمترجم تحويل التطبيق ومن ثم يمكن إزالته.
748
+ *
749
+ * - إذا كان `false` ، فسيقوم المترجم بحقن استدعاء وظيفة `useIntlayer()` في الكود فقط في مخرجات البناء ، مع الحفاظ على قاعدة الأكواد الأساسية كما هي. سيتم إجراء التحويل في الذاكرة فقط.
750
+ */
751
+ saveComponents: false,
752
+
753
+ /**
754
+ * بادئة مفتاح القاموس
755
+ */
756
+ dictionaryKeyPrefix: "",
757
+ },
758
+ };
759
+
760
+ module.exports = config;
761
+ ```
762
+
763
+ <Tabs>
764
+ <Tab value='أمر extract'>
765
+
766
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
767
+
768
+ ```bash packageManager="npm"
769
+ npx intlayer extract
770
+ ```
771
+
772
+ ```bash packageManager="pnpm"
773
+ pnpm intlayer extract
774
+ ```
775
+
776
+ ```bash packageManager="yarn"
777
+ yarn intlayer extract
778
+ ```
779
+
780
+ ```bash packageManager="bun"
781
+ bun x intlayer extract
782
+ ```
783
+
784
+ </Tab>
785
+ <Tab value='مترجم Babel'>
786
+
787
+ قم بتحديث `vite.config.ts` الخاص بك لتشمل إضافة `intlayerCompiler`:
788
+
789
+ ```ts fileName="vite.config.ts"
790
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
791
+ import { defineConfig } from "vite";
792
+ import { devtools } from "@tanstack/devtools-vite";
793
+ import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
794
+ import solidPlugin from "vite-plugin-solid";
795
+
796
+ export default defineConfig({
797
+ plugins: [
798
+ devtools(),
799
+ tanstackStart({
800
+ router: {
801
+ routeFileIgnorePattern:
802
+ ".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
803
+ },
804
+ }),
805
+ solidPlugin({ ssr: true }),
806
+ intlayer(),
807
+ intlayerCompiler(),
808
+ ],
809
+ });
810
+ ```
811
+
812
+ ```bash packageManager="npm"
813
+ npm run build # أو npm run dev
814
+ ```
815
+
816
+ ```bash packageManager="pnpm"
817
+ pnpm run build # أو pnpm run dev
818
+ ```
819
+
820
+ ```bash packageManager="yarn"
821
+ yarn build # أو yarn dev
822
+ ```
823
+
824
+ ```bash packageManager="bun"
825
+ bun run build # أو bun run dev
826
+ ```
827
+
828
+ </Tab>
829
+ </Tabs>
830
+
831
+ ---
832
+
833
+ ### الخطوة 17: إعداد TypeScript (اختياري)
834
+
835
+ يستخدم Intlayer تقوية الوحدات (module augmentation) للاستفادة من ميزات TypeScript وجعل قاعدة الأكواد الخاصة بك أكثر قوة.
836
+
837
+ تأكد من أن إعدادات TypeScript الخاصة بك تتضمن الأنواع المنشأة تلقائيًا:
838
+
839
+ ```json5 fileName="tsconfig.json"
840
+ {
841
+ // ... إعداداتك الحالية
842
+ include: [
843
+ // ... التضمينات الحالية
844
+ ".intlayer/**/*.ts", // تضمين الأنواع المنشأة تلقائيًا
845
+ ],
846
+ }
847
+ ```
848
+
849
+ ---
850
+
851
+ ### إعدادات Git
852
+
853
+ يوصى بتجاهل الملفات التي تم إنشاؤها بواسطة Intlayer. يتيح لك ذلك تجنب إرسالها إلى مستودع Git الخاص بك.
854
+
855
+ للقيام بذلك ، يمكنك إضافة التعليمات التالية إلى ملف `.gitignore` الخاص بك:
856
+
857
+ ```plaintext fileName=".gitignore"
858
+ # تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer
859
+ .intlayer
860
+ ```
861
+
862
+ ---
863
+
864
+ ## إضافة VS Code
865
+
866
+ لتحسين تجربة التطوير الخاصة بك مع Intlayer ، يمكنك تثبيت **إضافة Intlayer VS Code الرسمية**.
867
+
868
+ [تثبيت من VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
869
+
870
+ توفر هذه الإضافة:
871
+
872
+ - **الإكمال التلقائي** لمفاتيح الترجمة.
873
+ - **اكتشاف الأخطاء في الوقت الفعلي** للترجمات المفقودة.
874
+ - **معاينة مضمنة** للمحتوى المترجم.
875
+ - **إجراءات سريعة** لإنشاء وتحديث الترجمات بسهولة.
876
+
877
+ لمزيد من التفاصيل حول كيفية استخدام الإضافة ، راجع [توثيق إضافة Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
878
+
879
+ ---
880
+
881
+ ## المضي قدمًا
882
+
883
+ للمضي قدمًا ، يمكنك تنفيذ [المحرر المرئي](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_visual_editor.md) أو إخراج محتواك باستخدام [نظام إدارة المحتوى (CMS)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md).
884
+
885
+ ---
886
+
887
+ ## مراجع التوثيق
888
+
889
+ - [توثيق Intlayer](https://intlayer.org)
890
+ - [توثيق Tanstack Start](https://tanstack.com/start/latest)
891
+ - [خطاف useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/solid-intlayer/useIntlayer.md)
892
+ - [خطاف useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/solid-intlayer/useLocale.md)
893
+ - [إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md)
894
+ - [الإعدادات](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md)