@intlayer/docs 8.5.0 → 8.5.2

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 (777) 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/dictionary/html.md +10 -3
  116. package/docs/ar/dictionary/markdown.md +15 -17
  117. package/docs/ar/intlayer_CMS.md +1 -1
  118. package/docs/ar/intlayer_with_adonisjs.md +1 -1
  119. package/docs/ar/intlayer_with_analog.md +9 -15
  120. package/docs/ar/intlayer_with_angular.md +1 -1
  121. package/docs/ar/intlayer_with_create_react_app.md +1 -1
  122. package/docs/ar/intlayer_with_express.md +1 -1
  123. package/docs/ar/intlayer_with_fastify.md +1 -1
  124. package/docs/ar/intlayer_with_hono.md +1 -1
  125. package/docs/ar/intlayer_with_lynx+react.md +1 -1
  126. package/docs/ar/intlayer_with_nestjs.md +1 -1
  127. package/docs/ar/intlayer_with_next-i18next.md +1 -1
  128. package/docs/ar/intlayer_with_next-intl.md +1 -1
  129. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  130. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  131. package/docs/ar/intlayer_with_nextjs_16.md +2 -2
  132. package/docs/ar/intlayer_with_nextjs_compiler.md +2 -2
  133. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
  134. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  135. package/docs/ar/intlayer_with_nuxt.md +1 -1
  136. package/docs/ar/intlayer_with_react_native+expo.md +1 -1
  137. package/docs/ar/intlayer_with_react_router_v7.md +2 -2
  138. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +2 -2
  139. package/docs/ar/intlayer_with_svelte_kit.md +3 -3
  140. package/docs/ar/intlayer_with_tanstack+solid.md +911 -0
  141. package/docs/ar/intlayer_with_tanstack.md +2 -2
  142. package/docs/ar/intlayer_with_vite+lit.md +9 -58
  143. package/docs/ar/intlayer_with_vite+preact.md +2 -2
  144. package/docs/ar/intlayer_with_vite+react.md +2 -2
  145. package/docs/ar/intlayer_with_vite+react_compiler.md +1 -1
  146. package/docs/ar/intlayer_with_vite+solid.md +2 -2
  147. package/docs/ar/intlayer_with_vite+svelte.md +2 -2
  148. package/docs/ar/intlayer_with_vite+vanilla.md +2 -2
  149. package/docs/ar/intlayer_with_vite+vue.md +5 -5
  150. package/docs/bn/intlayer_with_fastify.md +1 -1
  151. package/docs/bn/intlayer_with_hono.md +1 -1
  152. package/docs/bn/intlayer_with_vite+lit.md +9 -58
  153. package/docs/bn/intlayer_with_vite+vanilla.md +2 -2
  154. package/docs/cs/intlayer_with_fastify.md +1 -1
  155. package/docs/cs/intlayer_with_hono.md +1 -1
  156. package/docs/cs/intlayer_with_vite+lit.md +9 -58
  157. package/docs/cs/intlayer_with_vite+vanilla.md +2 -2
  158. package/docs/de/compiler.md +6 -1
  159. package/docs/de/configuration.md +12 -9
  160. package/docs/de/dictionary/html.md +11 -8
  161. package/docs/de/dictionary/markdown.md +17 -23
  162. package/docs/de/intlayer_CMS.md +1 -1
  163. package/docs/de/intlayer_with_adonisjs.md +1 -1
  164. package/docs/de/intlayer_with_analog.md +9 -15
  165. package/docs/de/intlayer_with_angular.md +1 -1
  166. package/docs/de/intlayer_with_create_react_app.md +1 -1
  167. package/docs/de/intlayer_with_express.md +1 -1
  168. package/docs/de/intlayer_with_fastify.md +1 -1
  169. package/docs/de/intlayer_with_hono.md +1 -1
  170. package/docs/de/intlayer_with_lynx+react.md +1 -1
  171. package/docs/de/intlayer_with_nestjs.md +1 -1
  172. package/docs/de/intlayer_with_next-i18next.md +1 -1
  173. package/docs/de/intlayer_with_next-intl.md +1 -1
  174. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  175. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  176. package/docs/de/intlayer_with_nextjs_16.md +2 -2
  177. package/docs/de/intlayer_with_nextjs_compiler.md +1 -1
  178. package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
  179. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  180. package/docs/de/intlayer_with_nuxt.md +1 -1
  181. package/docs/de/intlayer_with_react_router_v7.md +2 -2
  182. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
  183. package/docs/de/intlayer_with_svelte_kit.md +3 -3
  184. package/docs/de/intlayer_with_tanstack+solid.md +911 -0
  185. package/docs/de/intlayer_with_tanstack.md +2 -2
  186. package/docs/de/intlayer_with_vite+lit.md +9 -58
  187. package/docs/de/intlayer_with_vite+preact.md +2 -2
  188. package/docs/de/intlayer_with_vite+react.md +2 -2
  189. package/docs/de/intlayer_with_vite+react_compiler.md +1 -1
  190. package/docs/de/intlayer_with_vite+solid.md +2 -2
  191. package/docs/de/intlayer_with_vite+svelte.md +2 -2
  192. package/docs/de/intlayer_with_vite+vanilla.md +2 -2
  193. package/docs/de/intlayer_with_vite+vue.md +5 -5
  194. package/docs/en/compiler.md +2 -0
  195. package/docs/en/configuration.md +8 -8
  196. package/docs/en/dictionary/html.md +12 -9
  197. package/docs/en/dictionary/markdown.md +18 -24
  198. package/docs/en/intlayer_CMS.md +1 -1
  199. package/docs/en/intlayer_with_adonisjs.md +1 -1
  200. package/docs/en/intlayer_with_analog.md +9 -15
  201. package/docs/en/intlayer_with_angular.md +1 -1
  202. package/docs/en/intlayer_with_create_react_app.md +1 -1
  203. package/docs/en/intlayer_with_express.md +1 -1
  204. package/docs/en/intlayer_with_fastify.md +1 -1
  205. package/docs/en/intlayer_with_hono.md +1 -1
  206. package/docs/en/intlayer_with_lynx+react.md +1 -1
  207. package/docs/en/intlayer_with_nestjs.md +1 -1
  208. package/docs/en/intlayer_with_next-i18next.md +1 -1
  209. package/docs/en/intlayer_with_next-intl.md +1 -1
  210. package/docs/en/intlayer_with_nextjs_14.md +1 -1
  211. package/docs/en/intlayer_with_nextjs_15.md +1 -1
  212. package/docs/en/intlayer_with_nextjs_16.md +2 -2
  213. package/docs/en/intlayer_with_nextjs_compiler.md +2 -2
  214. package/docs/en/intlayer_with_nextjs_no_locale_path.md +1 -1
  215. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  216. package/docs/en/intlayer_with_nuxt.md +1 -1
  217. package/docs/en/intlayer_with_react_native+expo.md +1 -1
  218. package/docs/en/intlayer_with_react_router_v7.md +2 -2
  219. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +2 -2
  220. package/docs/en/intlayer_with_svelte_kit.md +2 -2
  221. package/docs/en/intlayer_with_tanstack+solid.md +911 -0
  222. package/docs/en/intlayer_with_tanstack.md +2 -2
  223. package/docs/en/intlayer_with_vite+lit.md +11 -58
  224. package/docs/en/intlayer_with_vite+preact.md +2 -2
  225. package/docs/en/intlayer_with_vite+react.md +2 -2
  226. package/docs/en/intlayer_with_vite+react_compiler.md +1 -1
  227. package/docs/en/intlayer_with_vite+solid.md +2 -2
  228. package/docs/en/intlayer_with_vite+svelte.md +2 -2
  229. package/docs/en/intlayer_with_vite+vanilla.md +2 -2
  230. package/docs/en/intlayer_with_vite+vue.md +15 -5
  231. package/docs/en-GB/dictionary/html.md +10 -3
  232. package/docs/en-GB/dictionary/markdown.md +16 -18
  233. package/docs/en-GB/intlayer_CMS.md +1 -1
  234. package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
  235. package/docs/en-GB/intlayer_with_analog.md +9 -15
  236. package/docs/en-GB/intlayer_with_angular.md +1 -1
  237. package/docs/en-GB/intlayer_with_create_react_app.md +2 -2
  238. package/docs/en-GB/intlayer_with_express.md +1 -1
  239. package/docs/en-GB/intlayer_with_fastify.md +1 -1
  240. package/docs/en-GB/intlayer_with_hono.md +1 -1
  241. package/docs/en-GB/intlayer_with_lynx+react.md +2 -2
  242. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  243. package/docs/en-GB/intlayer_with_next-i18next.md +1 -1
  244. package/docs/en-GB/intlayer_with_next-intl.md +1 -1
  245. package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
  246. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  247. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  248. package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
  249. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1 -1
  250. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  251. package/docs/en-GB/intlayer_with_nuxt.md +1 -1
  252. package/docs/en-GB/intlayer_with_react_native+expo.md +1 -1
  253. package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
  254. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
  255. package/docs/en-GB/intlayer_with_svelte_kit.md +2 -2
  256. package/docs/en-GB/intlayer_with_tanstack+solid.md +912 -0
  257. package/docs/en-GB/intlayer_with_tanstack.md +1 -1
  258. package/docs/en-GB/intlayer_with_vite+lit.md +11 -58
  259. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  260. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  261. package/docs/en-GB/intlayer_with_vite+react_compiler.md +1 -1
  262. package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
  263. package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
  264. package/docs/en-GB/intlayer_with_vite+vanilla.md +2 -2
  265. package/docs/en-GB/intlayer_with_vite+vue.md +4 -4
  266. package/docs/es/compiler.md +6 -1
  267. package/docs/es/configuration.md +12 -9
  268. package/docs/es/dictionary/html.md +11 -8
  269. package/docs/es/dictionary/markdown.md +18 -24
  270. package/docs/es/intlayer_CMS.md +1 -1
  271. package/docs/es/intlayer_with_adonisjs.md +1 -1
  272. package/docs/es/intlayer_with_analog.md +9 -15
  273. package/docs/es/intlayer_with_angular.md +1 -1
  274. package/docs/es/intlayer_with_create_react_app.md +1 -1
  275. package/docs/es/intlayer_with_express.md +1 -1
  276. package/docs/es/intlayer_with_fastify.md +1 -1
  277. package/docs/es/intlayer_with_hono.md +1 -1
  278. package/docs/es/intlayer_with_lynx+react.md +1 -1
  279. package/docs/es/intlayer_with_nestjs.md +1 -1
  280. package/docs/es/intlayer_with_next-i18next.md +1 -1
  281. package/docs/es/intlayer_with_next-intl.md +1 -1
  282. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  283. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  284. package/docs/es/intlayer_with_nextjs_16.md +2 -2
  285. package/docs/es/intlayer_with_nextjs_compiler.md +2 -2
  286. package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
  287. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  288. package/docs/es/intlayer_with_nuxt.md +1 -1
  289. package/docs/es/intlayer_with_react_native+expo.md +1 -1
  290. package/docs/es/intlayer_with_react_router_v7.md +2 -2
  291. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +2 -2
  292. package/docs/es/intlayer_with_svelte_kit.md +3 -3
  293. package/docs/es/intlayer_with_tanstack+solid.md +911 -0
  294. package/docs/es/intlayer_with_tanstack.md +2 -2
  295. package/docs/es/intlayer_with_vite+lit.md +9 -58
  296. package/docs/es/intlayer_with_vite+preact.md +2 -2
  297. package/docs/es/intlayer_with_vite+react.md +2 -2
  298. package/docs/es/intlayer_with_vite+react_compiler.md +1 -1
  299. package/docs/es/intlayer_with_vite+solid.md +2 -2
  300. package/docs/es/intlayer_with_vite+svelte.md +2 -2
  301. package/docs/es/intlayer_with_vite+vanilla.md +2 -2
  302. package/docs/es/intlayer_with_vite+vue.md +5 -5
  303. package/docs/es/packages/next-intlayer/index.md +1 -1
  304. package/docs/es/packages/react-intlayer/index.md +1 -1
  305. package/docs/fr/compiler.md +8 -3
  306. package/docs/fr/configuration.md +12 -9
  307. package/docs/fr/dictionary/html.md +11 -8
  308. package/docs/fr/dictionary/markdown.md +18 -24
  309. package/docs/fr/intlayer_CMS.md +1 -1
  310. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  311. package/docs/fr/intlayer_with_analog.md +9 -15
  312. package/docs/fr/intlayer_with_angular.md +1 -1
  313. package/docs/fr/intlayer_with_create_react_app.md +1 -1
  314. package/docs/fr/intlayer_with_express.md +1 -1
  315. package/docs/fr/intlayer_with_fastify.md +1 -1
  316. package/docs/fr/intlayer_with_hono.md +1 -1
  317. package/docs/fr/intlayer_with_lynx+react.md +1 -1
  318. package/docs/fr/intlayer_with_nestjs.md +1 -1
  319. package/docs/fr/intlayer_with_next-i18next.md +1 -1
  320. package/docs/fr/intlayer_with_next-intl.md +1 -1
  321. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  322. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  323. package/docs/fr/intlayer_with_nextjs_16.md +2 -2
  324. package/docs/fr/intlayer_with_nextjs_compiler.md +2 -2
  325. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
  326. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  327. package/docs/fr/intlayer_with_nuxt.md +1 -1
  328. package/docs/fr/intlayer_with_react_router_v7.md +2 -2
  329. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +2 -2
  330. package/docs/fr/intlayer_with_svelte_kit.md +3 -3
  331. package/docs/fr/intlayer_with_tanstack+solid.md +911 -0
  332. package/docs/fr/intlayer_with_tanstack.md +2 -2
  333. package/docs/fr/intlayer_with_vite+lit.md +9 -58
  334. package/docs/fr/intlayer_with_vite+preact.md +2 -2
  335. package/docs/fr/intlayer_with_vite+react.md +2 -2
  336. package/docs/fr/intlayer_with_vite+react_compiler.md +1 -1
  337. package/docs/fr/intlayer_with_vite+solid.md +2 -2
  338. package/docs/fr/intlayer_with_vite+svelte.md +2 -2
  339. package/docs/fr/intlayer_with_vite+vanilla.md +2 -2
  340. package/docs/fr/intlayer_with_vite+vue.md +5 -5
  341. package/docs/fr/packages/react-intlayer/index.md +1 -1
  342. package/docs/hi/dictionary/html.md +10 -3
  343. package/docs/hi/dictionary/markdown.md +17 -19
  344. package/docs/hi/intlayer_CMS.md +1 -1
  345. package/docs/hi/intlayer_with_adonisjs.md +1 -1
  346. package/docs/hi/intlayer_with_analog.md +9 -15
  347. package/docs/hi/intlayer_with_angular.md +1 -1
  348. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  349. package/docs/hi/intlayer_with_express.md +1 -1
  350. package/docs/hi/intlayer_with_fastify.md +1 -1
  351. package/docs/hi/intlayer_with_hono.md +1 -1
  352. package/docs/hi/intlayer_with_lynx+react.md +1 -1
  353. package/docs/hi/intlayer_with_nestjs.md +1 -1
  354. package/docs/hi/intlayer_with_next-i18next.md +1 -1
  355. package/docs/hi/intlayer_with_next-intl.md +1 -1
  356. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  357. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  358. package/docs/hi/intlayer_with_nextjs_16.md +2 -2
  359. package/docs/hi/intlayer_with_nextjs_compiler.md +2 -2
  360. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
  361. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  362. package/docs/hi/intlayer_with_nuxt.md +1 -1
  363. package/docs/hi/intlayer_with_react_router_v7.md +2 -2
  364. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +2 -2
  365. package/docs/hi/intlayer_with_svelte_kit.md +3 -3
  366. package/docs/hi/intlayer_with_tanstack+solid.md +911 -0
  367. package/docs/hi/intlayer_with_tanstack.md +2 -2
  368. package/docs/hi/intlayer_with_vite+lit.md +9 -58
  369. package/docs/hi/intlayer_with_vite+preact.md +2 -2
  370. package/docs/hi/intlayer_with_vite+react.md +2 -2
  371. package/docs/hi/intlayer_with_vite+react_compiler.md +1 -1
  372. package/docs/hi/intlayer_with_vite+solid.md +2 -2
  373. package/docs/hi/intlayer_with_vite+svelte.md +2 -2
  374. package/docs/hi/intlayer_with_vite+vanilla.md +2 -2
  375. package/docs/hi/intlayer_with_vite+vue.md +5 -5
  376. package/docs/hi/packages/intlayer/index.md +1 -1
  377. package/docs/id/dictionary/html.md +10 -3
  378. package/docs/id/dictionary/markdown.md +17 -19
  379. package/docs/id/intlayer_CMS.md +1 -1
  380. package/docs/id/intlayer_with_adonisjs.md +1 -1
  381. package/docs/id/intlayer_with_analog.md +9 -15
  382. package/docs/id/intlayer_with_angular.md +1 -1
  383. package/docs/id/intlayer_with_create_react_app.md +1 -1
  384. package/docs/id/intlayer_with_express.md +1 -1
  385. package/docs/id/intlayer_with_fastify.md +1 -1
  386. package/docs/id/intlayer_with_hono.md +1 -1
  387. package/docs/id/intlayer_with_lynx+react.md +1 -1
  388. package/docs/id/intlayer_with_nestjs.md +1 -1
  389. package/docs/id/intlayer_with_next-i18next.md +1 -1
  390. package/docs/id/intlayer_with_next-intl.md +1 -1
  391. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  392. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  393. package/docs/id/intlayer_with_nextjs_16.md +2 -2
  394. package/docs/id/intlayer_with_nextjs_compiler.md +2 -2
  395. package/docs/id/intlayer_with_nextjs_no_locale_path.md +1 -1
  396. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  397. package/docs/id/intlayer_with_nuxt.md +1 -1
  398. package/docs/id/intlayer_with_react_native+expo.md +1 -1
  399. package/docs/id/intlayer_with_react_router_v7.md +2 -2
  400. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +2 -2
  401. package/docs/id/intlayer_with_svelte_kit.md +3 -3
  402. package/docs/id/intlayer_with_tanstack+solid.md +911 -0
  403. package/docs/id/intlayer_with_tanstack.md +2 -2
  404. package/docs/id/intlayer_with_vite+lit.md +9 -58
  405. package/docs/id/intlayer_with_vite+preact.md +2 -2
  406. package/docs/id/intlayer_with_vite+react.md +2 -2
  407. package/docs/id/intlayer_with_vite+react_compiler.md +1 -1
  408. package/docs/id/intlayer_with_vite+solid.md +2 -2
  409. package/docs/id/intlayer_with_vite+svelte.md +2 -2
  410. package/docs/id/intlayer_with_vite+vanilla.md +2 -2
  411. package/docs/id/intlayer_with_vite+vue.md +5 -5
  412. package/docs/it/compiler.md +8 -3
  413. package/docs/it/configuration.md +12 -9
  414. package/docs/it/dictionary/html.md +11 -8
  415. package/docs/it/dictionary/markdown.md +18 -24
  416. package/docs/it/intlayer_CMS.md +1 -1
  417. package/docs/it/intlayer_with_adonisjs.md +1 -1
  418. package/docs/it/intlayer_with_analog.md +9 -15
  419. package/docs/it/intlayer_with_angular.md +1 -1
  420. package/docs/it/intlayer_with_create_react_app.md +1 -1
  421. package/docs/it/intlayer_with_express.md +1 -1
  422. package/docs/it/intlayer_with_fastify.md +1 -1
  423. package/docs/it/intlayer_with_hono.md +1 -1
  424. package/docs/it/intlayer_with_lynx+react.md +1 -1
  425. package/docs/it/intlayer_with_nestjs.md +1 -1
  426. package/docs/it/intlayer_with_next-i18next.md +1 -1
  427. package/docs/it/intlayer_with_next-intl.md +1 -1
  428. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  429. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  430. package/docs/it/intlayer_with_nextjs_16.md +2 -2
  431. package/docs/it/intlayer_with_nextjs_compiler.md +2 -2
  432. package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
  433. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  434. package/docs/it/intlayer_with_nuxt.md +1 -1
  435. package/docs/it/intlayer_with_react_native+expo.md +1 -1
  436. package/docs/it/intlayer_with_react_router_v7.md +2 -2
  437. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +2 -2
  438. package/docs/it/intlayer_with_svelte_kit.md +3 -3
  439. package/docs/it/intlayer_with_tanstack+solid.md +911 -0
  440. package/docs/it/intlayer_with_tanstack.md +2 -2
  441. package/docs/it/intlayer_with_vite+lit.md +9 -58
  442. package/docs/it/intlayer_with_vite+preact.md +2 -2
  443. package/docs/it/intlayer_with_vite+react.md +2 -2
  444. package/docs/it/intlayer_with_vite+react_compiler.md +1 -1
  445. package/docs/it/intlayer_with_vite+solid.md +2 -2
  446. package/docs/it/intlayer_with_vite+svelte.md +2 -2
  447. package/docs/it/intlayer_with_vite+vanilla.md +2 -2
  448. package/docs/it/intlayer_with_vite+vue.md +5 -5
  449. package/docs/ja/dictionary/html.md +11 -8
  450. package/docs/ja/dictionary/markdown.md +21 -24
  451. package/docs/ja/intlayer_CMS.md +1 -1
  452. package/docs/ja/intlayer_with_adonisjs.md +1 -1
  453. package/docs/ja/intlayer_with_analog.md +9 -15
  454. package/docs/ja/intlayer_with_angular.md +1 -1
  455. package/docs/ja/intlayer_with_create_react_app.md +1 -1
  456. package/docs/ja/intlayer_with_express.md +1 -1
  457. package/docs/ja/intlayer_with_fastify.md +1 -1
  458. package/docs/ja/intlayer_with_hono.md +1 -1
  459. package/docs/ja/intlayer_with_lynx+react.md +1 -1
  460. package/docs/ja/intlayer_with_nestjs.md +1 -1
  461. package/docs/ja/intlayer_with_next-i18next.md +1 -1
  462. package/docs/ja/intlayer_with_next-intl.md +1 -1
  463. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  464. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  465. package/docs/ja/intlayer_with_nextjs_16.md +2 -2
  466. package/docs/ja/intlayer_with_nextjs_compiler.md +2 -2
  467. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
  468. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  469. package/docs/ja/intlayer_with_nuxt.md +1 -1
  470. package/docs/ja/intlayer_with_react_router_v7.md +1 -1
  471. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +2 -2
  472. package/docs/ja/intlayer_with_svelte_kit.md +1 -1
  473. package/docs/ja/intlayer_with_tanstack+solid.md +911 -0
  474. package/docs/ja/intlayer_with_tanstack.md +1 -1
  475. package/docs/ja/intlayer_with_vite+lit.md +9 -58
  476. package/docs/ja/intlayer_with_vite+preact.md +1 -1
  477. package/docs/ja/intlayer_with_vite+react.md +1 -1
  478. package/docs/ja/intlayer_with_vite+react_compiler.md +1 -1
  479. package/docs/ja/intlayer_with_vite+solid.md +2 -2
  480. package/docs/ja/intlayer_with_vite+svelte.md +2 -2
  481. package/docs/ja/intlayer_with_vite+vanilla.md +2 -2
  482. package/docs/ja/intlayer_with_vite+vue.md +5 -5
  483. package/docs/ko/dictionary/html.md +11 -8
  484. package/docs/ko/dictionary/markdown.md +18 -24
  485. package/docs/ko/intlayer_CMS.md +1 -1
  486. package/docs/ko/intlayer_with_adonisjs.md +1 -1
  487. package/docs/ko/intlayer_with_analog.md +9 -15
  488. package/docs/ko/intlayer_with_angular.md +1 -1
  489. package/docs/ko/intlayer_with_create_react_app.md +1 -1
  490. package/docs/ko/intlayer_with_express.md +1 -1
  491. package/docs/ko/intlayer_with_fastify.md +1 -1
  492. package/docs/ko/intlayer_with_hono.md +1 -1
  493. package/docs/ko/intlayer_with_lynx+react.md +1 -1
  494. package/docs/ko/intlayer_with_nestjs.md +1 -1
  495. package/docs/ko/intlayer_with_next-i18next.md +1 -1
  496. package/docs/ko/intlayer_with_next-intl.md +1 -1
  497. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  498. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  499. package/docs/ko/intlayer_with_nextjs_16.md +2 -2
  500. package/docs/ko/intlayer_with_nextjs_compiler.md +2 -2
  501. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
  502. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  503. package/docs/ko/intlayer_with_nuxt.md +1 -1
  504. package/docs/ko/intlayer_with_react_native+expo.md +1 -1
  505. package/docs/ko/intlayer_with_react_router_v7.md +2 -2
  506. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +2 -2
  507. package/docs/ko/intlayer_with_svelte_kit.md +3 -3
  508. package/docs/ko/intlayer_with_tanstack+solid.md +911 -0
  509. package/docs/ko/intlayer_with_tanstack.md +2 -2
  510. package/docs/ko/intlayer_with_vite+lit.md +9 -58
  511. package/docs/ko/intlayer_with_vite+preact.md +2 -2
  512. package/docs/ko/intlayer_with_vite+react.md +2 -2
  513. package/docs/ko/intlayer_with_vite+react_compiler.md +1 -1
  514. package/docs/ko/intlayer_with_vite+solid.md +2 -2
  515. package/docs/ko/intlayer_with_vite+svelte.md +2 -2
  516. package/docs/ko/intlayer_with_vite+vanilla.md +2 -2
  517. package/docs/ko/intlayer_with_vite+vue.md +5 -5
  518. package/docs/nl/intlayer_with_fastify.md +1 -1
  519. package/docs/nl/intlayer_with_hono.md +1 -1
  520. package/docs/nl/intlayer_with_vite+lit.md +9 -58
  521. package/docs/nl/intlayer_with_vite+vanilla.md +2 -2
  522. package/docs/pl/dictionary/html.md +11 -8
  523. package/docs/pl/dictionary/markdown.md +18 -24
  524. package/docs/pl/intlayer_CMS.md +1 -1
  525. package/docs/pl/intlayer_with_adonisjs.md +1 -1
  526. package/docs/pl/intlayer_with_analog.md +9 -15
  527. package/docs/pl/intlayer_with_angular.md +1 -1
  528. package/docs/pl/intlayer_with_create_react_app.md +1 -1
  529. package/docs/pl/intlayer_with_express.md +1 -1
  530. package/docs/pl/intlayer_with_fastify.md +1 -1
  531. package/docs/pl/intlayer_with_hono.md +1 -1
  532. package/docs/pl/intlayer_with_lynx+react.md +1 -1
  533. package/docs/pl/intlayer_with_nestjs.md +1 -1
  534. package/docs/pl/intlayer_with_next-i18next.md +1 -1
  535. package/docs/pl/intlayer_with_next-intl.md +1 -1
  536. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  537. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  538. package/docs/pl/intlayer_with_nextjs_16.md +2 -2
  539. package/docs/pl/intlayer_with_nextjs_compiler.md +2 -2
  540. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1 -1
  541. package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
  542. package/docs/pl/intlayer_with_nuxt.md +1 -1
  543. package/docs/pl/intlayer_with_react_native+expo.md +1 -1
  544. package/docs/pl/intlayer_with_react_router_v7.md +2 -2
  545. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
  546. package/docs/pl/intlayer_with_svelte_kit.md +3 -3
  547. package/docs/pl/intlayer_with_tanstack+solid.md +911 -0
  548. package/docs/pl/intlayer_with_tanstack.md +2 -2
  549. package/docs/pl/intlayer_with_vite+lit.md +9 -58
  550. package/docs/pl/intlayer_with_vite+preact.md +2 -2
  551. package/docs/pl/intlayer_with_vite+react.md +2 -2
  552. package/docs/pl/intlayer_with_vite+react_compiler.md +1 -1
  553. package/docs/pl/intlayer_with_vite+solid.md +2 -2
  554. package/docs/pl/intlayer_with_vite+svelte.md +2 -2
  555. package/docs/pl/intlayer_with_vite+vanilla.md +2 -2
  556. package/docs/pl/intlayer_with_vite+vue.md +5 -5
  557. package/docs/pt/compiler.md +7 -2
  558. package/docs/pt/configuration.md +11 -9
  559. package/docs/pt/dictionary/html.md +11 -8
  560. package/docs/pt/dictionary/markdown.md +18 -24
  561. package/docs/pt/intlayer_CMS.md +1 -1
  562. package/docs/pt/intlayer_with_adonisjs.md +1 -1
  563. package/docs/pt/intlayer_with_analog.md +9 -15
  564. package/docs/pt/intlayer_with_angular.md +1 -1
  565. package/docs/pt/intlayer_with_create_react_app.md +1 -1
  566. package/docs/pt/intlayer_with_express.md +1 -1
  567. package/docs/pt/intlayer_with_fastify.md +1 -1
  568. package/docs/pt/intlayer_with_hono.md +1 -1
  569. package/docs/pt/intlayer_with_lynx+react.md +1 -1
  570. package/docs/pt/intlayer_with_nestjs.md +1 -1
  571. package/docs/pt/intlayer_with_next-i18next.md +1 -1
  572. package/docs/pt/intlayer_with_next-intl.md +1 -1
  573. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  574. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  575. package/docs/pt/intlayer_with_nextjs_16.md +2 -2
  576. package/docs/pt/intlayer_with_nextjs_compiler.md +2 -2
  577. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1 -1
  578. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  579. package/docs/pt/intlayer_with_nuxt.md +1 -1
  580. package/docs/pt/intlayer_with_react_native+expo.md +1 -1
  581. package/docs/pt/intlayer_with_react_router_v7.md +2 -2
  582. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +2 -2
  583. package/docs/pt/intlayer_with_svelte_kit.md +3 -3
  584. package/docs/pt/intlayer_with_tanstack+solid.md +911 -0
  585. package/docs/pt/intlayer_with_tanstack.md +2 -2
  586. package/docs/pt/intlayer_with_vite+lit.md +9 -58
  587. package/docs/pt/intlayer_with_vite+preact.md +2 -2
  588. package/docs/pt/intlayer_with_vite+react.md +2 -2
  589. package/docs/pt/intlayer_with_vite+react_compiler.md +1 -1
  590. package/docs/pt/intlayer_with_vite+solid.md +2 -2
  591. package/docs/pt/intlayer_with_vite+svelte.md +2 -2
  592. package/docs/pt/intlayer_with_vite+vanilla.md +2 -2
  593. package/docs/pt/intlayer_with_vite+vue.md +5 -5
  594. package/docs/ru/dictionary/html.md +11 -8
  595. package/docs/ru/dictionary/markdown.md +18 -24
  596. package/docs/ru/intlayer_CMS.md +1 -1
  597. package/docs/ru/intlayer_with_adonisjs.md +1 -1
  598. package/docs/ru/intlayer_with_analog.md +9 -15
  599. package/docs/ru/intlayer_with_angular.md +1 -1
  600. package/docs/ru/intlayer_with_create_react_app.md +1 -1
  601. package/docs/ru/intlayer_with_express.md +1 -1
  602. package/docs/ru/intlayer_with_fastify.md +1 -1
  603. package/docs/ru/intlayer_with_hono.md +1 -1
  604. package/docs/ru/intlayer_with_lynx+react.md +1 -1
  605. package/docs/ru/intlayer_with_nestjs.md +1 -1
  606. package/docs/ru/intlayer_with_next-i18next.md +1 -1
  607. package/docs/ru/intlayer_with_next-intl.md +1 -1
  608. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  609. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  610. package/docs/ru/intlayer_with_nextjs_16.md +2 -2
  611. package/docs/ru/intlayer_with_nextjs_compiler.md +2 -2
  612. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
  613. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  614. package/docs/ru/intlayer_with_nuxt.md +1 -1
  615. package/docs/ru/intlayer_with_react_native+expo.md +1 -1
  616. package/docs/ru/intlayer_with_react_router_v7.md +2 -2
  617. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +2 -2
  618. package/docs/ru/intlayer_with_svelte_kit.md +3 -3
  619. package/docs/ru/intlayer_with_tanstack+solid.md +911 -0
  620. package/docs/ru/intlayer_with_tanstack.md +2 -2
  621. package/docs/ru/intlayer_with_vite+lit.md +9 -58
  622. package/docs/ru/intlayer_with_vite+preact.md +2 -2
  623. package/docs/ru/intlayer_with_vite+react.md +2 -2
  624. package/docs/ru/intlayer_with_vite+react_compiler.md +1 -1
  625. package/docs/ru/intlayer_with_vite+solid.md +2 -2
  626. package/docs/ru/intlayer_with_vite+svelte.md +2 -2
  627. package/docs/ru/intlayer_with_vite+vanilla.md +2 -2
  628. package/docs/ru/intlayer_with_vite+vue.md +5 -5
  629. package/docs/tr/dictionary/html.md +11 -8
  630. package/docs/tr/dictionary/markdown.md +18 -24
  631. package/docs/tr/intlayer_CMS.md +1 -1
  632. package/docs/tr/intlayer_with_adonisjs.md +1 -1
  633. package/docs/tr/intlayer_with_analog.md +9 -15
  634. package/docs/tr/intlayer_with_angular.md +1 -1
  635. package/docs/tr/intlayer_with_create_react_app.md +1 -1
  636. package/docs/tr/intlayer_with_express.md +1 -1
  637. package/docs/tr/intlayer_with_fastify.md +1 -1
  638. package/docs/tr/intlayer_with_hono.md +1 -1
  639. package/docs/tr/intlayer_with_lynx+react.md +1 -1
  640. package/docs/tr/intlayer_with_nestjs.md +1 -1
  641. package/docs/tr/intlayer_with_next-i18next.md +1 -1
  642. package/docs/tr/intlayer_with_next-intl.md +1 -1
  643. package/docs/tr/intlayer_with_nextjs_14.md +1 -1
  644. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  645. package/docs/tr/intlayer_with_nextjs_16.md +2 -2
  646. package/docs/tr/intlayer_with_nextjs_compiler.md +2 -2
  647. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
  648. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  649. package/docs/tr/intlayer_with_nuxt.md +1 -1
  650. package/docs/tr/intlayer_with_react_native+expo.md +1 -1
  651. package/docs/tr/intlayer_with_react_router_v7.md +2 -2
  652. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +2 -2
  653. package/docs/tr/intlayer_with_svelte_kit.md +3 -3
  654. package/docs/tr/intlayer_with_tanstack+solid.md +912 -0
  655. package/docs/tr/intlayer_with_tanstack.md +2 -2
  656. package/docs/tr/intlayer_with_vite+lit.md +9 -58
  657. package/docs/tr/intlayer_with_vite+preact.md +2 -2
  658. package/docs/tr/intlayer_with_vite+react.md +2 -2
  659. package/docs/tr/intlayer_with_vite+react_compiler.md +1 -1
  660. package/docs/tr/intlayer_with_vite+solid.md +2 -2
  661. package/docs/tr/intlayer_with_vite+svelte.md +2 -2
  662. package/docs/tr/intlayer_with_vite+vanilla.md +2 -2
  663. package/docs/tr/intlayer_with_vite+vue.md +5 -5
  664. package/docs/uk/dictionary/html.md +10 -3
  665. package/docs/uk/dictionary/markdown.md +17 -19
  666. package/docs/uk/intlayer_CMS.md +1 -1
  667. package/docs/uk/intlayer_with_adonisjs.md +1 -1
  668. package/docs/uk/intlayer_with_analog.md +9 -15
  669. package/docs/uk/intlayer_with_angular.md +1 -1
  670. package/docs/uk/intlayer_with_create_react_app.md +1 -1
  671. package/docs/uk/intlayer_with_express.md +1 -1
  672. package/docs/uk/intlayer_with_fastify.md +1 -1
  673. package/docs/uk/intlayer_with_hono.md +1 -1
  674. package/docs/uk/intlayer_with_lynx+react.md +1 -1
  675. package/docs/uk/intlayer_with_nestjs.md +1 -1
  676. package/docs/uk/intlayer_with_next-i18next.md +1 -1
  677. package/docs/uk/intlayer_with_next-intl.md +1 -1
  678. package/docs/uk/intlayer_with_nextjs_14.md +1 -1
  679. package/docs/uk/intlayer_with_nextjs_15.md +1 -1
  680. package/docs/uk/intlayer_with_nextjs_16.md +2 -2
  681. package/docs/uk/intlayer_with_nextjs_compiler.md +2 -2
  682. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1 -1
  683. package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
  684. package/docs/uk/intlayer_with_nuxt.md +1 -1
  685. package/docs/uk/intlayer_with_react_native+expo.md +1 -1
  686. package/docs/uk/intlayer_with_react_router_v7.md +2 -2
  687. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +2 -2
  688. package/docs/uk/intlayer_with_svelte_kit.md +2 -2
  689. package/docs/uk/intlayer_with_tanstack+solid.md +911 -0
  690. package/docs/uk/intlayer_with_tanstack.md +2 -2
  691. package/docs/uk/intlayer_with_vite+lit.md +9 -58
  692. package/docs/uk/intlayer_with_vite+preact.md +2 -2
  693. package/docs/uk/intlayer_with_vite+react.md +2 -2
  694. package/docs/uk/intlayer_with_vite+react_compiler.md +1 -1
  695. package/docs/uk/intlayer_with_vite+solid.md +2 -2
  696. package/docs/uk/intlayer_with_vite+svelte.md +2 -2
  697. package/docs/uk/intlayer_with_vite+vanilla.md +2 -2
  698. package/docs/uk/intlayer_with_vite+vue.md +5 -5
  699. package/docs/ur/intlayer_with_fastify.md +1 -1
  700. package/docs/ur/intlayer_with_hono.md +1 -1
  701. package/docs/ur/intlayer_with_vite+lit.md +9 -58
  702. package/docs/ur/intlayer_with_vite+vanilla.md +1 -1
  703. package/docs/vi/cli/index.md +1 -1
  704. package/docs/vi/dictionary/html.md +10 -3
  705. package/docs/vi/dictionary/markdown.md +17 -19
  706. package/docs/vi/intlayer_CMS.md +1 -1
  707. package/docs/vi/intlayer_with_adonisjs.md +1 -1
  708. package/docs/vi/intlayer_with_analog.md +9 -15
  709. package/docs/vi/intlayer_with_angular.md +1 -1
  710. package/docs/vi/intlayer_with_create_react_app.md +1 -1
  711. package/docs/vi/intlayer_with_express.md +1 -1
  712. package/docs/vi/intlayer_with_fastify.md +1 -1
  713. package/docs/vi/intlayer_with_hono.md +1 -1
  714. package/docs/vi/intlayer_with_lynx+react.md +1 -1
  715. package/docs/vi/intlayer_with_nestjs.md +1 -1
  716. package/docs/vi/intlayer_with_next-i18next.md +1 -1
  717. package/docs/vi/intlayer_with_next-intl.md +1 -1
  718. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  719. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  720. package/docs/vi/intlayer_with_nextjs_16.md +2 -2
  721. package/docs/vi/intlayer_with_nextjs_compiler.md +2 -2
  722. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1 -1
  723. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  724. package/docs/vi/intlayer_with_nuxt.md +1 -1
  725. package/docs/vi/intlayer_with_react_native+expo.md +1 -1
  726. package/docs/vi/intlayer_with_react_router_v7.md +2 -2
  727. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +2 -2
  728. package/docs/vi/intlayer_with_svelte_kit.md +3 -3
  729. package/docs/vi/intlayer_with_tanstack+solid.md +911 -0
  730. package/docs/vi/intlayer_with_tanstack.md +2 -2
  731. package/docs/vi/intlayer_with_vite+lit.md +9 -58
  732. package/docs/vi/intlayer_with_vite+preact.md +2 -2
  733. package/docs/vi/intlayer_with_vite+react.md +2 -2
  734. package/docs/vi/intlayer_with_vite+react_compiler.md +1 -1
  735. package/docs/vi/intlayer_with_vite+solid.md +2 -2
  736. package/docs/vi/intlayer_with_vite+svelte.md +2 -2
  737. package/docs/vi/intlayer_with_vite+vanilla.md +2 -2
  738. package/docs/vi/intlayer_with_vite+vue.md +5 -5
  739. package/docs/zh/compiler.md +8 -3
  740. package/docs/zh/configuration.md +4 -1
  741. package/docs/zh/dictionary/html.md +11 -8
  742. package/docs/zh/dictionary/markdown.md +18 -24
  743. package/docs/zh/intlayer_CMS.md +1 -1
  744. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  745. package/docs/zh/intlayer_with_analog.md +9 -15
  746. package/docs/zh/intlayer_with_angular.md +1 -1
  747. package/docs/zh/intlayer_with_create_react_app.md +1 -1
  748. package/docs/zh/intlayer_with_express.md +1 -1
  749. package/docs/zh/intlayer_with_fastify.md +1 -1
  750. package/docs/zh/intlayer_with_hono.md +1 -1
  751. package/docs/zh/intlayer_with_lynx+react.md +1 -1
  752. package/docs/zh/intlayer_with_nestjs.md +1 -1
  753. package/docs/zh/intlayer_with_next-i18next.md +1 -1
  754. package/docs/zh/intlayer_with_next-intl.md +1 -1
  755. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  756. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  757. package/docs/zh/intlayer_with_nextjs_16.md +2 -2
  758. package/docs/zh/intlayer_with_nextjs_compiler.md +2 -2
  759. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
  760. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  761. package/docs/zh/intlayer_with_nuxt.md +1 -1
  762. package/docs/zh/intlayer_with_react_native+expo.md +1 -1
  763. package/docs/zh/intlayer_with_react_router_v7.md +2 -2
  764. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +2 -2
  765. package/docs/zh/intlayer_with_svelte_kit.md +3 -3
  766. package/docs/zh/intlayer_with_tanstack+solid.md +911 -0
  767. package/docs/zh/intlayer_with_tanstack.md +2 -2
  768. package/docs/zh/intlayer_with_vite+lit.md +9 -58
  769. package/docs/zh/intlayer_with_vite+preact.md +2 -2
  770. package/docs/zh/intlayer_with_vite+react.md +2 -2
  771. package/docs/zh/intlayer_with_vite+react_compiler.md +1 -1
  772. package/docs/zh/intlayer_with_vite+solid.md +2 -2
  773. package/docs/zh/intlayer_with_vite+svelte.md +2 -2
  774. package/docs/zh/intlayer_with_vite+vanilla.md +2 -2
  775. package/docs/zh/intlayer_with_vite+vue.md +5 -5
  776. package/package.json +6 -6
  777. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,911 @@
1
+ ---
2
+ createdAt: 2025-03-25
3
+ updatedAt: 2026-03-25
4
+ title: Tanstack Start i18n - 2026年にSolid.jsを使用してTanstack Startアプリを翻訳する方法
5
+ description: IntlayerとSolid.jsを使用して、Tanstack Startアプリケーションに国際化(i18n)を追加する方法を学びます。この包括的なガイドに従って、ロケール対応ルーティングを備えた多言語アプリを作成してください。
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
+ # Intlayerを使用してTanstack Start + Solid.jsウェブサイトを翻訳する | 国際化 (i18n)
28
+
29
+ ## 目次
30
+
31
+ <TOC/>
32
+
33
+ このガイドでは、Solid.jsを使用したTanstack Startプロジェクトにおいて、Intlayerを統合してシームレスな国際化、ロケール対応ルーティング、TypeScriptサポート、および現代的な開発手法を実現する方法を説明します。
34
+
35
+ ## Intlayerとは?
36
+
37
+ **Intlayer**は、現代的なウェブアプリケーションにおける多言語サポートを簡素化するために設計された、革新的でオープンソースの国際化(i18n)ライブラリです。
38
+
39
+ Intlayerを使用すると、以下のことが可能になります:
40
+
41
+ - コンポーネントレベルで宣言的な辞書を使用して、**翻訳を簡単に管理**できます。
42
+ - メタデータ、ルート、コンテンツを**動的にローカライズ**できます。
43
+ - 自動生成された型により**TypeScriptサポートを確保**し、オートコンプリートとエラー検出を向上させます。
44
+ - 動的なロケール検出や切り替えなどの**高度な機能の恩恵**を受けられます。
45
+ - Tanstack Startのファイルベースルーティングシステムを使用して、**ロケール対応ルーティングを有効化**できます。
46
+
47
+ ---
48
+
49
+ ## Tanstack StartアプリケーションでIntlayerをセットアップするためのステップバイステップガイド
50
+
51
+ <Tabs defaultTab="video">
52
+ <Tab label="動画" value="video">
53
+
54
+ <iframe title="Tanstack Startに最適なi18nソリューションは?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
+ GitHubで[アプリケーションテンプレート](https://github.com/aymericzip/intlayer-tanstack-start-solid-template)を確認してください。
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/ja/dictionary/content_file.md)、トランスパイル、および[CLIコマンド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/index.md)のための国際化ツールを提供するコアパッケージ。
107
+
108
+ - **solid-intlayer**
109
+ IntlayerをSolidアプリケーションと統合するためのパッケージ。Solidの国際化のためのコンテキストプロバイダーとフックを提供します。
110
+
111
+ - **vite-intlayer**
112
+ Intlayerを[Viteバンドラー](https://vite.dev/guide/why.html#why-bundle-for-production)と統合するためのViteプラグイン、およびユーザーの優先ロケールの検出、Cookie管理、URLリダイレクトを処理するためのミドルウェアが含まれています。
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
+ > この構成ファイルを通じて、ローカライズされたURL、ミドルウェアのリダイレクト、Cookie名、コンテンツ宣言の場所と拡張子、コンソールでのIntlayerログの無効化などを設定できます。利用可能なパラメータの完全なリストについては、[構成ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
134
+
135
+ ### ステップ 4: Vite構成にIntlayerを統合する
136
+
137
+ Vite構成に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 viteTsConfigPaths from "vite-tsconfig-paths";
144
+ import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
145
+ import solidPlugin from "vite-plugin-solid";
146
+
147
+ export default defineConfig({
148
+ plugins: [
149
+ devtools(),
150
+ viteTsConfigPaths({
151
+ projects: ["./tsconfig.json"],
152
+ }),
153
+ tanstackStart({
154
+ router: {
155
+ routeFileIgnorePattern:
156
+ ".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
157
+ },
158
+ }),
159
+ solidPlugin({ ssr: true }),
160
+ intlayer(),
161
+ ],
162
+ });
163
+ ```
164
+
165
+ > `intlayer()` Viteプラグインは、IntlayerをViteと統合するために使用されます。コンテンツ宣言ファイルの構築を確実にし、開発モードでそれらを監視します。Viteアプリケーション内でIntlayer環境変数を定義します。さらに、パフォーマンスを最適化するためのエイリアスを提供します。
166
+
167
+ ### ステップ 5: ルートレイアウトの作成
168
+
169
+ 現在選択されているロケールを検出するために `useMatches` を使用し、`html` タグに `lang` および `dir` 属性を設定することで、国際化をサポートするようにルートレイアウトを構成します。
170
+
171
+ ```tsx fileName="src/routes/__root.tsx"
172
+ import {
173
+ HeadContent,
174
+ Outlet,
175
+ Scripts,
176
+ createRootRouteWithContext,
177
+ useMatches,
178
+ } from "@tanstack/solid-router";
179
+ import { TanStackRouterDevtools } from "@tanstack/solid-router-devtools";
180
+ import { HydrationScript } from "solid-js/web";
181
+ import { Suspense } from "solid-js";
182
+ import { IntlayerProvider } from "solid-intlayer";
183
+ import { defaultLocale, getHTMLTextDir, type Locale } from "intlayer";
184
+
185
+ export const Route = createRootRouteWithContext()({
186
+ shellComponent: RootComponent,
187
+ });
188
+
189
+ type Params = {
190
+ locale: Locale;
191
+ };
192
+
193
+ function RootComponent() {
194
+ const matches = useMatches();
195
+
196
+ // アクティブなマッチのパラメータからロケールを見つけようとします
197
+ // これはルートツリーで動的セグメント "/{-$locale}" を使用していることを前提としています
198
+ const locale =
199
+ (
200
+ matches().find((match) => match.routeId === "/{-$locale}/")
201
+ ?.params as Params
202
+ )?.locale ?? defaultLocale;
203
+
204
+ return (
205
+ <html dir={getHTMLTextDir(locale)} lang={locale}>
206
+ <head>
207
+ <HydrationScript />
208
+ </head>
209
+ <body>
210
+ <HeadContent />
211
+ <IntlayerProvider locale={locale}>
212
+ <Suspense>
213
+ <Outlet />
214
+ <TanStackRouterDevtools />
215
+ </Suspense>
216
+ </IntlayerProvider>
217
+ <Scripts />
218
+ </body>
219
+ </html>
220
+ );
221
+ }
222
+ ```
223
+
224
+ > [!NOTE]
225
+ > Solidでは、`useMatches` は **シグナル** (リアクティブなアクセサー) を返します。現在の値にリアクティブにアクセスするには、`matches()` (括弧付き) を使用します。
226
+
227
+ ### ステップ 6: ロケールレイアウトの作成 (任意)
228
+
229
+ ロケールプレフィックスを処理し、検証を実行するレイアウトを作成します。このレイアウトにより、有効なロケールのみが処理されるようになります。
230
+
231
+ > ルートレベルでロケールプレフィックスを検証する必要がない場合、このステップは任意です。
232
+
233
+ ```tsx fileName="src/routes/{-$locale}/route.tsx"
234
+ import { createFileRoute, Outlet, redirect } from "@tanstack/solid-router";
235
+ import { validatePrefix } from "intlayer";
236
+
237
+ export const Route = createFileRoute("/{-$locale}")({
238
+ beforeLoad: ({ params }) => {
239
+ const localeParam = params.locale;
240
+
241
+ // ロケールプレフィックスを検証
242
+ const { isValid, localePrefix } = validatePrefix(localeParam);
243
+
244
+ if (!isValid) {
245
+ throw redirect({
246
+ to: "/{-$locale}/404",
247
+ params: { locale: localePrefix },
248
+ replace: true,
249
+ });
250
+ }
251
+ },
252
+ component: Outlet,
253
+ });
254
+ ```
255
+
256
+ > ここで、`{-$locale}` は現在のロケールに置き換えられる動的なルートパラメータです。この表記によりスロットがオプションになり、`'prefix-no-default'` などのルーティングモードで動作できるようになります。
257
+
258
+ > 同じルートで複数の動的セグメントを使用している場合 (例: `/{-$locale}/other-path/$anotherDynamicPath/...`)、このスロットが問題を引き起こす可能性があることに注意してください。
259
+ > `'prefix-all'` モードの場合、代わりにスロットを `$locale` に切り替えることをお勧めします。
260
+ > `'no-prefix'` または `'search-params'` モードの場合、スロットを完全に削除できます。
261
+
262
+ ### ステップ 7: コンテンツの宣言
263
+
264
+ 翻訳を保存するためのコンテンツ宣言を作成および管理します:
265
+
266
+ ```tsx fileName="src/contents/page.content.ts"
267
+ import type { Dictionary } from "intlayer";
268
+
269
+ import { t } from "intlayer";
270
+
271
+ const appContent = {
272
+ content: {
273
+ links: {
274
+ about: t({
275
+ en: "About",
276
+ es: "Acerca de",
277
+ fr: "À propos",
278
+ }),
279
+ home: t({
280
+ en: "Home",
281
+ es: "Inicio",
282
+ fr: "Accueil",
283
+ }),
284
+ },
285
+ meta: {
286
+ title: t({
287
+ en: "Welcome to Intlayer + TanStack Router",
288
+ es: "Bienvenido a Intlayer + TanStack Router",
289
+ fr: "Bienvenue à Intlayer + TanStack Router",
290
+ }),
291
+ description: t({
292
+ en: "This is an example of using Intlayer with TanStack Router",
293
+ es: "Este es un ejemplo de uso de Intlayer con TanStack Router",
294
+ fr: "Ceci est un exemple d'utilisation d'Intlayer avec TanStack Router",
295
+ }),
296
+ },
297
+ },
298
+ key: "app",
299
+ } satisfies Dictionary;
300
+
301
+ export default appContent;
302
+ ```
303
+
304
+ > コンテンツ宣言は、`contentDir` ディレクトリ (デフォルトは `./app`) に含まれていれば、アプリケーションのどこにでも定義できます。また、コンテンツ宣言ファイルの拡張子 (デフォルトは `.content.{json,ts,tsx,js,jsx,mjs,cjs}`) に一致する必要があります。
305
+
306
+ > 詳細については、[コンテンツ宣言のドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/content_file.md)を参照してください。
307
+
308
+ ### ステップ 8: ロケール対応のコンポーネントとフックを利用する
309
+
310
+ ロケール対応のナビゲーションのために `LocalizedLink` コンポーネントを作成します:
311
+
312
+ ```tsx fileName="src/components/LocalizedLink.tsx"
313
+ import { Link, type LinkProps } from "@tanstack/solid-router";
314
+ import { getPrefix } from "intlayer";
315
+ import { useLocale } from "solid-intlayer";
316
+ import type { JSX } from "solid-js";
317
+
318
+ export const LOCALE_ROUTE = "{-$locale}" as const;
319
+
320
+ export type RemoveLocaleParam<TVal> = TVal extends string
321
+ ? RemoveLocaleFromString<TVal>
322
+ : TVal;
323
+
324
+ export type To = RemoveLocaleParam<LinkProps["to"]>;
325
+
326
+ type CollapseDoubleSlashes<TString extends string> =
327
+ TString extends `${infer THead}//${infer TTail}`
328
+ ? CollapseDoubleSlashes<`${THead}/${TTail}`>
329
+ : TString;
330
+
331
+ export type LocalizedLinkProps = Omit<LinkProps, "to"> & {
332
+ to?: To;
333
+ } & JSX.AnchorHTMLAttributes<HTMLAnchorElement>;
334
+
335
+ type RemoveAll<
336
+ TString extends string,
337
+ TSub extends string,
338
+ > = TString extends `${infer THead}${TSub}${infer TTail}`
339
+ ? RemoveAll<`${THead}${TTail}`, TSub>
340
+ : TString;
341
+
342
+ type RemoveLocaleFromString<TString extends string> = CollapseDoubleSlashes<
343
+ RemoveAll<TString, typeof LOCALE_ROUTE>
344
+ >;
345
+
346
+ export const LocalizedLink = (props: LocalizedLinkProps) => {
347
+ const { locale } = useLocale();
348
+
349
+ return (
350
+ <Link
351
+ {...props}
352
+ params={{
353
+ locale: getPrefix(locale()).localePrefix,
354
+ ...(typeof props.params === "object" ? props.params : {}),
355
+ }}
356
+ to={`/${LOCALE_ROUTE}${props.to ?? ""}` as LinkProps["to"]}
357
+ />
358
+ );
359
+ };
360
+ ```
361
+
362
+ このコンポーネントには2つの目的があります:
363
+
364
+ - URLから不要な `{-$locale}` プレフィックスを削除する。
365
+ - ユーザーがローカライズされたルートに直接リダイレクトされるように、URLにロケールパラメータを注入する。
366
+
367
+ 次に、プログラムによるナビゲーションのための `useLocalizedNavigate` フックを作成します:
368
+
369
+ ```tsx fileName="src/hooks/useLocalizedNavigate.tsx"
370
+ import { useNavigate } from "@tanstack/solid-router";
371
+ import { getLocalizedUrl } from "intlayer";
372
+ import { useLocale } from "solid-intlayer";
373
+
374
+ export const useLocalizedNavigate = () => {
375
+ const navigate = useNavigate();
376
+ const { locale } = useLocale();
377
+
378
+ const localizedNavigate = (to: string) => {
379
+ const localizedTo = getLocalizedUrl(to, locale());
380
+ return navigate({ to: localizedTo });
381
+ };
382
+
383
+ return localizedNavigate;
384
+ };
385
+ ```
386
+
387
+ ### ステップ 9: ページでIntlayerを活用する
388
+
389
+ アプリケーション全体でコンテンツ辞書にアクセスします:
390
+
391
+ #### ローカライズされたホームページ
392
+
393
+ ```tsx fileName="src/routes/{-$locale}/index.tsx"
394
+ import { createFileRoute } from "@tanstack/solid-router";
395
+ import { useIntlayer } from "solid-intlayer";
396
+ import { LocalizedLink } from "@/components/LocalizedLink";
397
+
398
+ export const Route = createFileRoute("/{-$locale}/")({
399
+ component: RouteComponent,
400
+ });
401
+
402
+ function RouteComponent() {
403
+ const content = useIntlayer("index-page");
404
+
405
+ return (
406
+ <main>
407
+ <h1>{content().heroTitle}</h1>
408
+ <p>{content().heroDesc}</p>
409
+ <div>
410
+ <LocalizedLink to="/">{content().navHome}</LocalizedLink>
411
+ <LocalizedLink to="/about">{content().navAbout}</LocalizedLink>
412
+ </div>
413
+ </main>
414
+ );
415
+ }
416
+ ```
417
+
418
+ > [!NOTE]
419
+ > Solidでは、`useIntlayer` は **アクセサー** 関数 (例: `content()`) を返します。リアクティブなコンテンツにアクセスするには、この関数を呼び出す必要があります。
420
+ >
421
+ > `useIntlayer` フックの詳細については、[ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/solid-intlayer/useIntlayer.md)を参照してください。
422
+
423
+ ### ステップ 10: ロケール切り替えコンポーネントの作成
424
+
425
+ ユーザーが言語を変更できるようにするコンポーネントを作成します:
426
+
427
+ ```tsx fileName="src/components/LocaleSwitcher.tsx"
428
+ import { useLocation } from "@tanstack/solid-router";
429
+ import { getLocaleName, getPathWithoutLocale, getPrefix } from "intlayer";
430
+ import { For } from "solid-js";
431
+ import { useIntlayer, useLocale } from "solid-intlayer";
432
+ import { LocalizedLink, type To } from "./LocalizedLink";
433
+
434
+ export const LocaleSwitcher = () => {
435
+ const content = useIntlayer("locale-switcher");
436
+ const location = useLocation();
437
+
438
+ const { availableLocales, locale, setLocale } = useLocale();
439
+
440
+ const pathWithoutLocale = () => getPathWithoutLocale(location().pathname);
441
+
442
+ return (
443
+ <div class="flex flex-row gap-2">
444
+ <For each={availableLocales}>
445
+ {(localeEl) => (
446
+ <LocalizedLink
447
+ aria-current={localeEl === locale() ? "page" : undefined}
448
+ onClick={() => setLocale(localeEl)}
449
+ params={{ locale: getPrefix(localeEl).localePrefix }}
450
+ to={pathWithoutLocale() as To}
451
+ >
452
+ {getLocaleName(localeEl)}
453
+ </LocalizedLink>
454
+ )}
455
+ </For>
456
+ </div>
457
+ );
458
+ };
459
+
460
+ export default LocaleSwitcher;
461
+ ```
462
+
463
+ > [!NOTE]
464
+ > Solidでは、`useLocale` からの `locale` は **シグナルアクセサー** です。現在の値をリアクティブに読み取るには、`locale()` (括弧付き) を使用します。
465
+ >
466
+ > `useLocale` フックの詳細については、[ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/solid-intlayer/useLocale.md)を参照してください。
467
+
468
+ ### ステップ 11: HTML属性の管理
469
+
470
+ ステップ 5 で見たように、ルートコンポーネントで `useMatches` を使用して `html` タグの `lang` および `dir` 属性を管理できます。これにより、サーバーとクライアントで正しい属性が設定されるようになります。
471
+
472
+ ```tsx fileName="src/routes/__root.tsx"
473
+ const RootComponent: ParentComponent = (props) => {
474
+ const matches = useMatches();
475
+
476
+ // アクティブなマッチのパラメータからロケールを見つけようとします
477
+ const locale =
478
+ (
479
+ matches().find((match) => match.routeId === "/{-$locale}/")
480
+ ?.params as Params
481
+ )?.locale ?? defaultLocale;
482
+
483
+ return (
484
+ <html dir={getHTMLTextDir(locale)} lang={locale}>
485
+ {/* ... */}
486
+ </html>
487
+ );
488
+ };
489
+ ```
490
+
491
+ ---
492
+
493
+ ### ステップ 12: ミドルウェアの追加 (任意)
494
+
495
+ `intlayerProxy` を使用して、アプリケーションにサーバーサイドのルーティングを追加することもできます。このプラグインはURLに基づいて現在のロケールを自動的に検出し、適切なロケールCookieを設定します。ロケールが指定されていない場合、プラグインはユーザーのブラウザ言語設定に基づいて最も適切なロケールを決定します。ロケールが検出されない場合は、デフォルトのロケールにリダイレクトします。
496
+
497
+ > 本番環境で `intlayerProxy` を使用するには、`vite-intlayer` パッケージを `devDependencies` から `dependencies` に切り替える必要があることに注意してください。
498
+
499
+ ```typescript {7,14-17} fileName="vite.config.ts"
500
+ import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
501
+ import solid from "vite-plugin-solid";
502
+ import { nitro } from "nitro/vite";
503
+ import { defineConfig } from "vite";
504
+ import { intlayer, intlayerProxy } from "vite-intlayer";
505
+ import viteTsConfigPaths from "vite-tsconfig-paths";
506
+
507
+ export default defineConfig({
508
+ plugins: [
509
+ intlayerProxy(), // Nitroを使用する場合、プロキシはサーバーの前に配置する必要があります
510
+ nitro(),
511
+ viteTsConfigPaths({
512
+ projects: ["./tsconfig.json"],
513
+ }),
514
+ intlayer(),
515
+ tanstackStart({
516
+ router: {
517
+ routeFileIgnorePattern:
518
+ ".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
519
+ },
520
+ }),
521
+ solid(),
522
+ ],
523
+ });
524
+ ```
525
+
526
+ ---
527
+
528
+ ### ステップ 13: メタデータの国際化 (任意)
529
+
530
+ ロケール対応のメタデータのために、`head` ローダー内で `getIntlayer` 関数を使用してコンテンツ辞書にアクセスすることもできます:
531
+
532
+ ```tsx fileName="src/routes/{-$locale}/index.tsx"
533
+ import { createFileRoute } from "@tanstack/solid-router";
534
+ import { getIntlayer } from "intlayer";
535
+
536
+ export const Route = createFileRoute("/{-$locale}/")({
537
+ component: RouteComponent,
538
+ head: ({ params }) => {
539
+ const { locale } = params;
540
+ const metaContent = getIntlayer("page-metadata", locale);
541
+
542
+ return {
543
+ meta: [
544
+ { title: metaContent.title },
545
+ { content: metaContent.description, name: "description" },
546
+ ],
547
+ };
548
+ },
549
+ });
550
+ ```
551
+
552
+ ---
553
+
554
+ ### ステップ 14: サーバーアクションでロケールを取得する (任意)
555
+
556
+ サーバーアクションやAPIエンドポイント内から現在のロケールにアクセスしたい場合があります。
557
+ これを行うには、`intlayer` から `getLocale` ヘルパーを使用します。
558
+
559
+ TanStack Startのサーバー関数を使用した例を次に示します:
560
+
561
+ ```tsx fileName="src/routes/{-$locale}/index.tsx"
562
+ import { createServerFn } from "@tanstack/solid-start";
563
+ import {
564
+ getRequestHeader,
565
+ getRequestHeaders,
566
+ } from "@tanstack/solid-start/server";
567
+ import { getCookie, getIntlayer, getLocale } from "intlayer";
568
+
569
+ export const getLocaleServer = createServerFn().handler(async () => {
570
+ const locale = await getLocale({
571
+ // リクエストからCookieを取得する (デフォルト: 'INTLAYER_LOCALE')
572
+ getCookie: (name) => {
573
+ const cookieString = getRequestHeader("cookie");
574
+
575
+ return getCookie(name, cookieString);
576
+ },
577
+ // リクエストからヘッダーを取得する (デフォルト: 'x-intlayer-locale')
578
+ // Accept-Language ネゴシエーションを使用したフォールバック
579
+ getHeader: (name) => getRequestHeader(name),
580
+ });
581
+
582
+ // getIntlayer() を使用してコンテンツを取得する
583
+ const content = getIntlayer("app", locale);
584
+
585
+ return { locale, content };
586
+ });
587
+ ```
588
+
589
+ ---
590
+
591
+ ### ステップ 15: 404ページを管理する (任意)
592
+
593
+ ユーザーが存在しないページにアクセスしたときに、カスタム 404 ページを表示できます。ロケールプレフィックスは、404 ページがトリガーされる方法に影響を与える可能性があります。
594
+
595
+ #### TanStack Router のロケールプレフィックス付き 404 処理について
596
+
597
+ TanStack Router では、ローカライズされたルートでの 404 ページの処理に重層的なアプローチが必要です:
598
+
599
+ 1. **専用 404 ルート**: 404 UI を表示するための特定のルート。
600
+ 2. **ルートレベルの検証**: ロケールプレフィックスを検証し、無効な場合は 404 にリダイレクトします。
601
+ 3. **キャッチオールルート**: ロケールセグメント内のあらゆる一致しないパスをキャプチャします。
602
+
603
+ ```tsx fileName="src/routes/{-$locale}/404.tsx"
604
+ import { createFileRoute } from "@tanstack/solid-router";
605
+
606
+ // これにより専用の /[locale]/404 ルートが作成されます
607
+ // 直接のルートとして、また他のファイルでコンポーネントとしてインポートされて使用されます
608
+ export const Route = createFileRoute("/{-$locale}/404")({
609
+ component: NotFoundComponent,
610
+ });
611
+
612
+ // notFoundComponent やキャッチオールルートで再利用できるように別途エクスポート
613
+ export function NotFoundComponent() {
614
+ return (
615
+ <div>
616
+ <h1>404</h1>
617
+ </div>
618
+ );
619
+ }
620
+ ```
621
+
622
+ ```tsx fileName="src/routes/{-$locale}/route.tsx"
623
+ import { createFileRoute, Outlet, redirect } from "@tanstack/solid-router";
624
+ import { validatePrefix } from "intlayer";
625
+ import { NotFoundComponent } from "./404";
626
+
627
+ export const Route = createFileRoute("/{-$locale}")({
628
+ // beforeLoad はルートがレンダリングされる前に実行されます (サーバーとクライアントの両方)
629
+ // ここはロケールプレフィックスを検証するのに最適な場所です
630
+ beforeLoad: ({ params }) => {
631
+ const localeParam = params.locale;
632
+
633
+ // validatePrefix は intlayer 構成に従ってロケールが有効かどうかを確認します
634
+ const { isValid, localePrefix } = validatePrefix(localeParam);
635
+
636
+ if (!isValid) {
637
+ // 無効なロケールプレフィックス - 有効なロケールプレフィックスを使用して 404 ページにリダイレクト
638
+ throw redirect({
639
+ to: "/{-$locale}/404",
640
+ params: { locale: localePrefix },
641
+ });
642
+ }
643
+ },
644
+ component: Outlet,
645
+ // notFoundComponent は、子ルートが存在しないときに呼び出されます
646
+ // 例: /en/non-existent-page は /en レイアウト内でこれをトリガーします
647
+ notFoundComponent: NotFoundComponent,
648
+ });
649
+ ```
650
+
651
+ ```tsx fileName="src/routes/{-$locale}/$.tsx"
652
+ import { createFileRoute } from "@tanstack/solid-router";
653
+
654
+ import { NotFoundComponent } from "./404";
655
+
656
+ // $ (スプラット/キャッチオール) ルートは、他のルートに一致しないあらゆるパスに一致します
657
+ // 例: /en/some/deeply/nested/invalid/path
658
+ // これにより、ロケール内のすべての不一致パスが 404 ページを表示するようになります
659
+ // これがないと、一致しない深いパスは空白のページまたはエラーを表示する可能性があります
660
+ export const Route = createFileRoute("/{-$locale}/$")({
661
+ component: NotFoundComponent,
662
+ });
663
+ ```
664
+
665
+ ### (任意) ステップ 16: コンポーネントのコンテンツを抽出する
666
+
667
+ 既存のコードベースがある場合、数千ものファイルを変換するのは時間がかかる可能性があります。
668
+
669
+ このプロセスを容易にするために、Intlayerはコンポーネントを変換してコンテンツを抽出するための [コンパイラ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/compiler.md) / [エクストラクタ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/extract.md) を提案しています。
670
+
671
+ セットアップするには、`intlayer.config.ts` ファイルに `compiler` セクションを追加します:
672
+
673
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
674
+ import { type IntlayerConfig } from "intlayer";
675
+
676
+ const config: IntlayerConfig = {
677
+ // ...構成の残り
678
+ compiler: {
679
+ /**
680
+ * コンパイラを有効にするかどうかを示します。
681
+ */
682
+ enabled: true,
683
+
684
+ /**
685
+ * 出力ファイルパスを定義します
686
+ */
687
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
688
+
689
+ /**
690
+ * 変換後にコンポーネントを保存するかどうかを示します。
691
+ *
692
+ * - `true` の場合、コンパイラはディスク上のコンポーネントファイルを書き換えます。そのため、変換は永続的になり、コンパイラは次のプロセスでの変換をスキップします。これにより、コンパイラはアプリを変換した後、削除できます。
693
+ *
694
+ * - `false` の場合、コンパイラはビルド出力のコードにのみ `useIntlayer()` 関数呼び出しを注入し、基本コードベースはそのまま維持します。変換はメモリ内でのみ行われます。
695
+ */
696
+ saveComponents: false,
697
+
698
+ /**
699
+ * 辞書キーのプレフィックス
700
+ */
701
+ dictionaryKeyPrefix: "",
702
+ },
703
+ };
704
+
705
+ export default config;
706
+ ```
707
+
708
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
709
+ /** @type {import('intlayer').IntlayerConfig} */
710
+ const config = {
711
+ // ...構成の残り
712
+ compiler: {
713
+ /**
714
+ * コンパイラを有効にするかどうかを示します。
715
+ */
716
+ enabled: true,
717
+
718
+ /**
719
+ * 出力ファイルパスを定義します
720
+ */
721
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
722
+
723
+ /**
724
+ * 変換後にコンポーネントを保存するかどうかを示します。
725
+ *
726
+ * - `true` の場合、コンパイラはディスク上のコンポーネントファイルを書き換えます。そのため、変換は永続的になり、コンパイラは次のプロセスでの変換をスキップします。これにより、コンパイラはアプリを変換した後、削除できます。
727
+ *
728
+ * - `false` の場合、コンパイラはビルド出力のコードにのみ `useIntlayer()` 関数呼び出しを注入し、基本コードベースはそのまま維持します。変換はメモリ内でのみ行われます。
729
+ */
730
+ saveComponents: false,
731
+
732
+ /**
733
+ * 辞書キーのプレフィックス
734
+ */
735
+ dictionaryKeyPrefix: "",
736
+ },
737
+ };
738
+
739
+ export default config;
740
+ ```
741
+
742
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
743
+ /** @type {import('intlayer').IntlayerConfig} */
744
+ const config = {
745
+ // ...構成の残り
746
+ compiler: {
747
+ /**
748
+ * コンパイラを有効にするかどうかを示します。
749
+ */
750
+ enabled: true,
751
+
752
+ /**
753
+ * 出力ファイルパスを定義します
754
+ */
755
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
756
+
757
+ /**
758
+ * 変換後にコンポーネントを保存するかどうかを示します。
759
+ *
760
+ * - `true` の場合、コンパイラはディスク上のコンポーネントファイルを書き換えます。そのため、変換は永続的になり、コンパイラは次のプロセスでの変換をスキップします。これにより、コンパイラはアプリを変換した後、削除できます。
761
+ *
762
+ * - `false` の場合、コンパイラはビルド出力のコードにのみ `useIntlayer()` 関数呼び出しを注入し、基本コードベースはそのまま維持します。変換はメモリ内でのみ行われます。
763
+ */
764
+ saveComponents: false,
765
+
766
+ /**
767
+ * 辞書キーのプレフィックス
768
+ */
769
+ dictionaryKeyPrefix: "",
770
+ },
771
+ };
772
+
773
+ module.exports = config;
774
+ ```
775
+
776
+ <Tabs>
777
+ <Tab value='Extract command'>
778
+
779
+ エクストラクタを実行して、コンポーネントを変換し、コンテンツを抽出します
780
+
781
+ ```bash packageManager="npm"
782
+ npx intlayer extract
783
+ ```
784
+
785
+ ```bash packageManager="pnpm"
786
+ pnpm intlayer extract
787
+ ```
788
+
789
+ ```bash packageManager="yarn"
790
+ yarn intlayer extract
791
+ ```
792
+
793
+ ```bash packageManager="bun"
794
+ bun x intlayer extract
795
+ ```
796
+
797
+ </Tab>
798
+ <Tab value='Babel compiler'>
799
+
800
+ `intlayerCompiler` プラグインを含めるように `vite.config.ts` を更新します:
801
+
802
+ ```ts fileName="vite.config.ts"
803
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
804
+ import { defineConfig } from "vite";
805
+ import { devtools } from "@tanstack/devtools-vite";
806
+ import viteTsConfigPaths from "vite-tsconfig-paths";
807
+ import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
808
+ import solidPlugin from "vite-plugin-solid";
809
+
810
+ export default defineConfig({
811
+ plugins: [
812
+ devtools(),
813
+ viteTsConfigPaths({
814
+ projects: ["./tsconfig.json"],
815
+ }),
816
+ tanstackStart({
817
+ router: {
818
+ routeFileIgnorePattern:
819
+ ".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
820
+ },
821
+ }),
822
+ solidPlugin({ ssr: true }),
823
+ intlayer(),
824
+ intlayerCompiler(),
825
+ ],
826
+ });
827
+ ```
828
+
829
+ ```bash packageManager="npm"
830
+ npm run build # または npm run dev
831
+ ```
832
+
833
+ ```bash packageManager="pnpm"
834
+ pnpm run build # または pnpm run dev
835
+ ```
836
+
837
+ ```bash packageManager="yarn"
838
+ yarn build # または yarn dev
839
+ ```
840
+
841
+ ```bash packageManager="bun"
842
+ bun run build # または bun run dev
843
+ ```
844
+
845
+ </Tab>
846
+ </Tabs>
847
+
848
+ ---
849
+
850
+ ### ステップ 17: TypeScriptの構成 (任意)
851
+
852
+ Intlayerは、TypeScriptの利点を活用し、コードベースをより強固にするために、モジュール拡張(module augmentation)を使用します。
853
+
854
+ TypeScript構成に自動生成された型が含まれていることを確認してください:
855
+
856
+ ```json5 fileName="tsconfig.json"
857
+ {
858
+ // ...既存の構成
859
+ include: [
860
+ // ...既存のインクルード
861
+ ".intlayer/**/*.ts", // 自動生成された型を含める
862
+ ],
863
+ }
864
+ ```
865
+
866
+ ---
867
+
868
+ ### Git構成
869
+
870
+ Intlayerによって生成されたファイルを無視することをお勧めします。これにより、それらをGitリポジトリにコミットすることを避けることができます。
871
+
872
+ これを行うには、`.gitignore` ファイルに次の指示を追加します:
873
+
874
+ ```plaintext fileName=".gitignore"
875
+ # Intlayerによって生成されたファイルを無視する
876
+ .intlayer
877
+ ```
878
+
879
+ ---
880
+
881
+ ## VS Code 拡張機能
882
+
883
+ Intlayerでの開発体験を向上させるために、公式の **Intlayer VS Code 拡張機能** をインストールできます。
884
+
885
+ [VS Code Marketplace からインストール](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
886
+
887
+ この拡張機能は以下を提供します:
888
+
889
+ - 翻訳キーの **オートコンプリート**。
890
+ - 不足している翻訳の **リアルタイムエラー検出**。
891
+ - 翻訳されたコンテンツの **インラインプレビュー**。
892
+ - 翻訳を簡単に作成および更新するための **クイックアクション**。
893
+
894
+ 拡張機能の使用方法の詳細については、[Intlayer VS Code 拡張機能ドキュメント](https://intlayer.org/doc/vs-code-extension) を参照してください。
895
+
896
+ ---
897
+
898
+ ## さらに進む
899
+
900
+ さらに進むには、[ビジュアルエディタ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_visual_editor.md)を実装したり、[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md)を使用してコンテンツを外部化したりできます。
901
+
902
+ ---
903
+
904
+ ## ドキュメント参照
905
+
906
+ - [Intlayer ドキュメント](https://intlayer.org)
907
+ - [Tanstack Start ドキュメント](https://tanstack.com/start/latest)
908
+ - [useIntlayer フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/solid-intlayer/useIntlayer.md)
909
+ - [useLocale フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/solid-intlayer/useLocale.md)
910
+ - [コンテンツ宣言](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/content_file.md)
911
+ - [構成](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)