@intlayer/docs 9.5.4 → 9.5.5

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 (622) hide show
  1. package/README.md +2 -1
  2. package/blog/ar/how_to_pick_react_i18n_library.md +28 -0
  3. package/blog/ar/how_to_pick_solid_i18n_library.md +19 -5
  4. package/blog/de/how_to_pick_react_i18n_library.md +28 -0
  5. package/blog/de/how_to_pick_solid_i18n_library.md +19 -5
  6. package/blog/en/how_to_pick_react_i18n_library.md +28 -0
  7. package/blog/en/how_to_pick_solid_i18n_library.md +19 -5
  8. package/blog/en-GB/how_to_pick_react_i18n_library.md +28 -0
  9. package/blog/en-GB/how_to_pick_solid_i18n_library.md +19 -5
  10. package/blog/es/how_to_pick_react_i18n_library.md +28 -0
  11. package/blog/es/how_to_pick_solid_i18n_library.md +19 -5
  12. package/blog/fr/how_to_pick_react_i18n_library.md +28 -0
  13. package/blog/fr/how_to_pick_solid_i18n_library.md +19 -5
  14. package/blog/hi/how_to_pick_react_i18n_library.md +28 -0
  15. package/blog/hi/how_to_pick_solid_i18n_library.md +19 -5
  16. package/blog/id/how_to_pick_react_i18n_library.md +28 -0
  17. package/blog/id/how_to_pick_solid_i18n_library.md +19 -5
  18. package/blog/it/how_to_pick_react_i18n_library.md +28 -0
  19. package/blog/it/how_to_pick_solid_i18n_library.md +19 -5
  20. package/blog/ja/how_to_pick_react_i18n_library.md +28 -0
  21. package/blog/ja/how_to_pick_solid_i18n_library.md +19 -5
  22. package/blog/ko/how_to_pick_react_i18n_library.md +28 -0
  23. package/blog/ko/how_to_pick_solid_i18n_library.md +19 -5
  24. package/blog/pl/how_to_pick_react_i18n_library.md +28 -0
  25. package/blog/pl/how_to_pick_solid_i18n_library.md +19 -5
  26. package/blog/pt/how_to_pick_react_i18n_library.md +28 -0
  27. package/blog/pt/how_to_pick_solid_i18n_library.md +19 -5
  28. package/blog/ru/how_to_pick_react_i18n_library.md +28 -0
  29. package/blog/ru/how_to_pick_solid_i18n_library.md +19 -5
  30. package/blog/tr/how_to_pick_react_i18n_library.md +28 -0
  31. package/blog/tr/how_to_pick_solid_i18n_library.md +19 -5
  32. package/blog/uk/how_to_pick_react_i18n_library.md +28 -0
  33. package/blog/uk/how_to_pick_solid_i18n_library.md +19 -5
  34. package/blog/vi/how_to_pick_react_i18n_library.md +28 -0
  35. package/blog/vi/how_to_pick_solid_i18n_library.md +19 -5
  36. package/blog/zh/how_to_pick_react_i18n_library.md +28 -0
  37. package/blog/zh/how_to_pick_solid_i18n_library.md +19 -5
  38. package/dist/cjs/generated/docs.entry.cjs +220 -0
  39. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  40. package/dist/esm/generated/docs.entry.mjs +220 -0
  41. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  42. package/dist/types/generated/docs.entry.d.ts +11 -0
  43. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  44. package/docs/ar/how_works_intlayer.md +86 -14
  45. package/docs/ar/intlayer_visual_editor.md +7 -0
  46. package/docs/ar/intlayer_with_astro.md +60 -36
  47. package/docs/ar/intlayer_with_astro_preact.md +7 -0
  48. package/docs/ar/intlayer_with_astro_react.md +7 -0
  49. package/docs/ar/intlayer_with_astro_solid.md +7 -0
  50. package/docs/ar/intlayer_with_astro_svelte.md +7 -0
  51. package/docs/ar/intlayer_with_astro_vanilla.md +7 -0
  52. package/docs/ar/intlayer_with_astro_vue.md +7 -0
  53. package/docs/ar/intlayer_with_nextjs_14.md +7 -0
  54. package/docs/ar/intlayer_with_nextjs_15.md +7 -0
  55. package/docs/ar/intlayer_with_nextjs_16.md +7 -0
  56. package/docs/ar/intlayer_with_react_router_v7.md +7 -0
  57. package/docs/ar/intlayer_with_remix_3.md +73 -112
  58. package/docs/ar/intlayer_with_tanstack+solid.md +7 -0
  59. package/docs/ar/intlayer_with_tanstack.md +7 -0
  60. package/docs/ar/intlayer_with_vite+preact.md +7 -0
  61. package/docs/ar/intlayer_with_vite+react.md +7 -0
  62. package/docs/ar/intlayer_with_vite+solid.md +7 -0
  63. package/docs/ar/packages/astro-intlayer/exports.md +161 -9
  64. package/docs/ar/packages/astro-intlayer/intlayer.md +76 -0
  65. package/docs/ar/packages/astro-intlayer/onRequest.md +76 -0
  66. package/docs/ar/packages/astro-intlayer/useDictionary.md +95 -0
  67. package/docs/ar/packages/astro-intlayer/useIntlayer.md +98 -0
  68. package/docs/ar/packages/astro-intlayer/useLocale.md +126 -0
  69. package/docs/ar/packages/remix-intlayer/Intlayer.md +55 -0
  70. package/docs/ar/packages/remix-intlayer/exports.md +80 -0
  71. package/docs/ar/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  72. package/docs/ar/packages/remix-intlayer/useDictionary.md +95 -0
  73. package/docs/ar/packages/remix-intlayer/useIntlayer.md +94 -0
  74. package/docs/ar/packages/remix-intlayer/useLocale.md +104 -0
  75. package/docs/ar/readme.md +2 -1
  76. package/docs/de/how_works_intlayer.md +86 -14
  77. package/docs/de/intlayer_visual_editor.md +7 -0
  78. package/docs/de/intlayer_with_astro.md +60 -36
  79. package/docs/de/intlayer_with_astro_preact.md +7 -0
  80. package/docs/de/intlayer_with_astro_react.md +7 -0
  81. package/docs/de/intlayer_with_astro_solid.md +7 -0
  82. package/docs/de/intlayer_with_astro_svelte.md +7 -0
  83. package/docs/de/intlayer_with_astro_vanilla.md +7 -0
  84. package/docs/de/intlayer_with_astro_vue.md +7 -0
  85. package/docs/de/intlayer_with_nextjs_14.md +7 -0
  86. package/docs/de/intlayer_with_nextjs_15.md +7 -0
  87. package/docs/de/intlayer_with_nextjs_16.md +7 -0
  88. package/docs/de/intlayer_with_react_router_v7.md +7 -0
  89. package/docs/de/intlayer_with_remix_3.md +70 -109
  90. package/docs/de/intlayer_with_tanstack+solid.md +7 -0
  91. package/docs/de/intlayer_with_tanstack.md +7 -0
  92. package/docs/de/intlayer_with_vite+preact.md +7 -0
  93. package/docs/de/intlayer_with_vite+react.md +7 -0
  94. package/docs/de/intlayer_with_vite+solid.md +7 -0
  95. package/docs/de/packages/astro-intlayer/exports.md +164 -12
  96. package/docs/de/packages/astro-intlayer/intlayer.md +76 -0
  97. package/docs/de/packages/astro-intlayer/onRequest.md +76 -0
  98. package/docs/de/packages/astro-intlayer/useDictionary.md +95 -0
  99. package/docs/de/packages/astro-intlayer/useIntlayer.md +98 -0
  100. package/docs/de/packages/astro-intlayer/useLocale.md +126 -0
  101. package/docs/de/packages/remix-intlayer/Intlayer.md +77 -0
  102. package/docs/de/packages/remix-intlayer/exports.md +176 -0
  103. package/docs/de/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  104. package/docs/de/packages/remix-intlayer/useDictionary.md +94 -0
  105. package/docs/de/packages/remix-intlayer/useIntlayer.md +94 -0
  106. package/docs/de/packages/remix-intlayer/useLocale.md +104 -0
  107. package/docs/de/readme.md +2 -1
  108. package/docs/en/how_works_intlayer.md +86 -14
  109. package/docs/en/intlayer_visual_editor.md +7 -0
  110. package/docs/en/intlayer_with_astro.md +63 -41
  111. package/docs/en/intlayer_with_astro_preact.md +7 -0
  112. package/docs/en/intlayer_with_astro_react.md +7 -0
  113. package/docs/en/intlayer_with_astro_solid.md +7 -0
  114. package/docs/en/intlayer_with_astro_svelte.md +7 -0
  115. package/docs/en/intlayer_with_astro_vanilla.md +7 -0
  116. package/docs/en/intlayer_with_astro_vue.md +7 -0
  117. package/docs/en/intlayer_with_nextjs_14.md +7 -0
  118. package/docs/en/intlayer_with_nextjs_15.md +7 -0
  119. package/docs/en/intlayer_with_nextjs_16.md +7 -0
  120. package/docs/en/intlayer_with_react_router_v7.md +7 -0
  121. package/docs/en/intlayer_with_remix_3.md +74 -122
  122. package/docs/en/intlayer_with_tanstack+solid.md +7 -0
  123. package/docs/en/intlayer_with_tanstack.md +7 -0
  124. package/docs/en/intlayer_with_vite+preact.md +7 -0
  125. package/docs/en/intlayer_with_vite+react.md +7 -0
  126. package/docs/en/intlayer_with_vite+solid.md +7 -0
  127. package/docs/en/introduction.md +2 -1
  128. package/docs/en/packages/astro-intlayer/exports.md +161 -9
  129. package/docs/en/packages/astro-intlayer/intlayer.md +76 -0
  130. package/docs/en/packages/astro-intlayer/onRequest.md +76 -0
  131. package/docs/en/packages/astro-intlayer/useDictionary.md +94 -0
  132. package/docs/en/packages/astro-intlayer/useIntlayer.md +98 -0
  133. package/docs/en/packages/astro-intlayer/useLocale.md +126 -0
  134. package/docs/en/packages/remix-intlayer/Intlayer.md +77 -0
  135. package/docs/en/packages/remix-intlayer/exports.md +176 -0
  136. package/docs/en/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  137. package/docs/en/packages/remix-intlayer/useDictionary.md +94 -0
  138. package/docs/en/packages/remix-intlayer/useIntlayer.md +94 -0
  139. package/docs/en/packages/remix-intlayer/useLocale.md +104 -0
  140. package/docs/en/readme.md +2 -1
  141. package/docs/en-GB/how_works_intlayer.md +86 -14
  142. package/docs/en-GB/intlayer_visual_editor.md +7 -0
  143. package/docs/en-GB/intlayer_with_astro.md +60 -36
  144. package/docs/en-GB/intlayer_with_astro_preact.md +7 -0
  145. package/docs/en-GB/intlayer_with_astro_react.md +7 -0
  146. package/docs/en-GB/intlayer_with_astro_solid.md +7 -0
  147. package/docs/en-GB/intlayer_with_astro_svelte.md +7 -0
  148. package/docs/en-GB/intlayer_with_astro_vanilla.md +7 -0
  149. package/docs/en-GB/intlayer_with_astro_vue.md +7 -0
  150. package/docs/en-GB/intlayer_with_nextjs_14.md +7 -0
  151. package/docs/en-GB/intlayer_with_nextjs_15.md +7 -0
  152. package/docs/en-GB/intlayer_with_nextjs_16.md +7 -0
  153. package/docs/en-GB/intlayer_with_react_router_v7.md +7 -0
  154. package/docs/en-GB/intlayer_with_remix_3.md +66 -105
  155. package/docs/en-GB/intlayer_with_tanstack+solid.md +7 -0
  156. package/docs/en-GB/intlayer_with_tanstack.md +7 -0
  157. package/docs/en-GB/intlayer_with_vite+preact.md +7 -0
  158. package/docs/en-GB/intlayer_with_vite+react.md +7 -0
  159. package/docs/en-GB/intlayer_with_vite+solid.md +7 -0
  160. package/docs/en-GB/packages/astro-intlayer/exports.md +162 -10
  161. package/docs/en-GB/packages/astro-intlayer/intlayer.md +76 -0
  162. package/docs/en-GB/packages/astro-intlayer/onRequest.md +76 -0
  163. package/docs/en-GB/packages/astro-intlayer/useDictionary.md +95 -0
  164. package/docs/en-GB/packages/astro-intlayer/useIntlayer.md +98 -0
  165. package/docs/en-GB/packages/astro-intlayer/useLocale.md +126 -0
  166. package/docs/en-GB/packages/remix-intlayer/Intlayer.md +77 -0
  167. package/docs/en-GB/packages/remix-intlayer/exports.md +176 -0
  168. package/docs/en-GB/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  169. package/docs/en-GB/packages/remix-intlayer/useDictionary.md +94 -0
  170. package/docs/en-GB/packages/remix-intlayer/useIntlayer.md +94 -0
  171. package/docs/en-GB/packages/remix-intlayer/useLocale.md +104 -0
  172. package/docs/en-GB/readme.md +2 -1
  173. package/docs/es/how_works_intlayer.md +86 -14
  174. package/docs/es/intlayer_visual_editor.md +7 -0
  175. package/docs/es/intlayer_with_astro.md +60 -36
  176. package/docs/es/intlayer_with_astro_preact.md +7 -0
  177. package/docs/es/intlayer_with_astro_react.md +7 -0
  178. package/docs/es/intlayer_with_astro_solid.md +7 -0
  179. package/docs/es/intlayer_with_astro_svelte.md +7 -0
  180. package/docs/es/intlayer_with_astro_vanilla.md +7 -0
  181. package/docs/es/intlayer_with_astro_vue.md +7 -0
  182. package/docs/es/intlayer_with_nextjs_14.md +7 -0
  183. package/docs/es/intlayer_with_nextjs_15.md +7 -0
  184. package/docs/es/intlayer_with_nextjs_16.md +7 -0
  185. package/docs/es/intlayer_with_react_router_v7.md +7 -0
  186. package/docs/es/intlayer_with_remix_3.md +73 -112
  187. package/docs/es/intlayer_with_tanstack+solid.md +7 -0
  188. package/docs/es/intlayer_with_tanstack.md +7 -0
  189. package/docs/es/intlayer_with_vite+preact.md +7 -0
  190. package/docs/es/intlayer_with_vite+react.md +7 -0
  191. package/docs/es/intlayer_with_vite+solid.md +7 -0
  192. package/docs/es/packages/astro-intlayer/exports.md +162 -10
  193. package/docs/es/packages/astro-intlayer/intlayer.md +76 -0
  194. package/docs/es/packages/astro-intlayer/onRequest.md +76 -0
  195. package/docs/es/packages/astro-intlayer/useDictionary.md +94 -0
  196. package/docs/es/packages/astro-intlayer/useIntlayer.md +98 -0
  197. package/docs/es/packages/astro-intlayer/useLocale.md +126 -0
  198. package/docs/es/packages/remix-intlayer/Intlayer.md +77 -0
  199. package/docs/es/packages/remix-intlayer/exports.md +176 -0
  200. package/docs/es/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  201. package/docs/es/packages/remix-intlayer/useDictionary.md +94 -0
  202. package/docs/es/packages/remix-intlayer/useIntlayer.md +94 -0
  203. package/docs/es/packages/remix-intlayer/useLocale.md +104 -0
  204. package/docs/es/readme.md +2 -1
  205. package/docs/fr/how_works_intlayer.md +86 -14
  206. package/docs/fr/intlayer_visual_editor.md +7 -0
  207. package/docs/fr/intlayer_with_astro.md +60 -36
  208. package/docs/fr/intlayer_with_astro_preact.md +7 -0
  209. package/docs/fr/intlayer_with_astro_react.md +7 -0
  210. package/docs/fr/intlayer_with_astro_solid.md +7 -0
  211. package/docs/fr/intlayer_with_astro_svelte.md +7 -0
  212. package/docs/fr/intlayer_with_astro_vanilla.md +7 -0
  213. package/docs/fr/intlayer_with_astro_vue.md +7 -0
  214. package/docs/fr/intlayer_with_nextjs_14.md +7 -0
  215. package/docs/fr/intlayer_with_nextjs_15.md +7 -0
  216. package/docs/fr/intlayer_with_nextjs_16.md +7 -0
  217. package/docs/fr/intlayer_with_react_router_v7.md +7 -0
  218. package/docs/fr/intlayer_with_remix_3.md +74 -122
  219. package/docs/fr/intlayer_with_tanstack+solid.md +7 -0
  220. package/docs/fr/intlayer_with_tanstack.md +7 -0
  221. package/docs/fr/intlayer_with_vite+preact.md +7 -0
  222. package/docs/fr/intlayer_with_vite+react.md +7 -0
  223. package/docs/fr/intlayer_with_vite+solid.md +7 -0
  224. package/docs/fr/packages/astro-intlayer/exports.md +162 -10
  225. package/docs/fr/packages/astro-intlayer/intlayer.md +76 -0
  226. package/docs/fr/packages/astro-intlayer/onRequest.md +76 -0
  227. package/docs/fr/packages/astro-intlayer/useDictionary.md +94 -0
  228. package/docs/fr/packages/astro-intlayer/useIntlayer.md +98 -0
  229. package/docs/fr/packages/astro-intlayer/useLocale.md +126 -0
  230. package/docs/fr/packages/remix-intlayer/Intlayer.md +77 -0
  231. package/docs/fr/packages/remix-intlayer/exports.md +176 -0
  232. package/docs/fr/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  233. package/docs/fr/packages/remix-intlayer/useDictionary.md +94 -0
  234. package/docs/fr/packages/remix-intlayer/useIntlayer.md +94 -0
  235. package/docs/fr/packages/remix-intlayer/useLocale.md +104 -0
  236. package/docs/fr/readme.md +2 -1
  237. package/docs/hi/how_works_intlayer.md +86 -14
  238. package/docs/hi/intlayer_visual_editor.md +7 -0
  239. package/docs/hi/intlayer_with_astro.md +61 -37
  240. package/docs/hi/intlayer_with_astro_preact.md +7 -0
  241. package/docs/hi/intlayer_with_astro_react.md +7 -0
  242. package/docs/hi/intlayer_with_astro_solid.md +7 -0
  243. package/docs/hi/intlayer_with_astro_svelte.md +7 -0
  244. package/docs/hi/intlayer_with_astro_vanilla.md +7 -0
  245. package/docs/hi/intlayer_with_astro_vue.md +7 -0
  246. package/docs/hi/intlayer_with_nextjs_14.md +7 -0
  247. package/docs/hi/intlayer_with_nextjs_15.md +7 -0
  248. package/docs/hi/intlayer_with_nextjs_16.md +7 -0
  249. package/docs/hi/intlayer_with_react_router_v7.md +7 -0
  250. package/docs/hi/intlayer_with_remix_3.md +73 -112
  251. package/docs/hi/intlayer_with_tanstack+solid.md +7 -0
  252. package/docs/hi/intlayer_with_tanstack.md +7 -0
  253. package/docs/hi/intlayer_with_vite+preact.md +7 -0
  254. package/docs/hi/intlayer_with_vite+react.md +7 -0
  255. package/docs/hi/intlayer_with_vite+solid.md +7 -0
  256. package/docs/hi/packages/astro-intlayer/exports.md +165 -13
  257. package/docs/hi/packages/astro-intlayer/intlayer.md +76 -0
  258. package/docs/hi/packages/astro-intlayer/onRequest.md +76 -0
  259. package/docs/hi/packages/astro-intlayer/useDictionary.md +95 -0
  260. package/docs/hi/packages/astro-intlayer/useIntlayer.md +98 -0
  261. package/docs/hi/packages/astro-intlayer/useLocale.md +126 -0
  262. package/docs/hi/packages/remix-intlayer/Intlayer.md +55 -0
  263. package/docs/hi/packages/remix-intlayer/exports.md +80 -0
  264. package/docs/hi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  265. package/docs/hi/packages/remix-intlayer/useDictionary.md +95 -0
  266. package/docs/hi/packages/remix-intlayer/useIntlayer.md +94 -0
  267. package/docs/hi/packages/remix-intlayer/useLocale.md +104 -0
  268. package/docs/hi/readme.md +2 -1
  269. package/docs/id/how_works_intlayer.md +86 -14
  270. package/docs/id/intlayer_visual_editor.md +7 -0
  271. package/docs/id/intlayer_with_astro.md +60 -36
  272. package/docs/id/intlayer_with_astro_preact.md +7 -0
  273. package/docs/id/intlayer_with_astro_react.md +7 -0
  274. package/docs/id/intlayer_with_astro_solid.md +7 -0
  275. package/docs/id/intlayer_with_astro_svelte.md +7 -0
  276. package/docs/id/intlayer_with_astro_vanilla.md +7 -0
  277. package/docs/id/intlayer_with_astro_vue.md +7 -0
  278. package/docs/id/intlayer_with_nextjs_14.md +7 -0
  279. package/docs/id/intlayer_with_nextjs_15.md +7 -0
  280. package/docs/id/intlayer_with_nextjs_16.md +7 -0
  281. package/docs/id/intlayer_with_react_router_v7.md +7 -0
  282. package/docs/id/intlayer_with_remix_3.md +101 -148
  283. package/docs/id/intlayer_with_tanstack+solid.md +7 -0
  284. package/docs/id/intlayer_with_tanstack.md +7 -0
  285. package/docs/id/intlayer_with_vite+preact.md +7 -0
  286. package/docs/id/intlayer_with_vite+react.md +7 -0
  287. package/docs/id/intlayer_with_vite+solid.md +7 -0
  288. package/docs/id/packages/astro-intlayer/exports.md +163 -11
  289. package/docs/id/packages/astro-intlayer/intlayer.md +76 -0
  290. package/docs/id/packages/astro-intlayer/onRequest.md +76 -0
  291. package/docs/id/packages/astro-intlayer/useDictionary.md +94 -0
  292. package/docs/id/packages/astro-intlayer/useIntlayer.md +98 -0
  293. package/docs/id/packages/astro-intlayer/useLocale.md +126 -0
  294. package/docs/id/packages/remix-intlayer/Intlayer.md +55 -0
  295. package/docs/id/packages/remix-intlayer/exports.md +80 -0
  296. package/docs/id/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  297. package/docs/id/packages/remix-intlayer/useDictionary.md +95 -0
  298. package/docs/id/packages/remix-intlayer/useIntlayer.md +94 -0
  299. package/docs/id/packages/remix-intlayer/useLocale.md +104 -0
  300. package/docs/id/readme.md +2 -1
  301. package/docs/it/how_works_intlayer.md +86 -14
  302. package/docs/it/intlayer_visual_editor.md +7 -0
  303. package/docs/it/intlayer_with_astro.md +60 -36
  304. package/docs/it/intlayer_with_astro_preact.md +7 -0
  305. package/docs/it/intlayer_with_astro_react.md +7 -0
  306. package/docs/it/intlayer_with_astro_solid.md +7 -0
  307. package/docs/it/intlayer_with_astro_svelte.md +7 -0
  308. package/docs/it/intlayer_with_astro_vanilla.md +7 -0
  309. package/docs/it/intlayer_with_astro_vue.md +7 -0
  310. package/docs/it/intlayer_with_nextjs_14.md +7 -0
  311. package/docs/it/intlayer_with_nextjs_15.md +7 -0
  312. package/docs/it/intlayer_with_nextjs_16.md +7 -0
  313. package/docs/it/intlayer_with_react_router_v7.md +7 -0
  314. package/docs/it/intlayer_with_remix_3.md +70 -109
  315. package/docs/it/intlayer_with_tanstack+solid.md +7 -0
  316. package/docs/it/intlayer_with_tanstack.md +7 -0
  317. package/docs/it/intlayer_with_vite+preact.md +7 -0
  318. package/docs/it/intlayer_with_vite+react.md +7 -0
  319. package/docs/it/intlayer_with_vite+solid.md +7 -0
  320. package/docs/it/packages/astro-intlayer/exports.md +161 -9
  321. package/docs/it/packages/astro-intlayer/intlayer.md +76 -0
  322. package/docs/it/packages/astro-intlayer/onRequest.md +76 -0
  323. package/docs/it/packages/astro-intlayer/useDictionary.md +95 -0
  324. package/docs/it/packages/astro-intlayer/useIntlayer.md +98 -0
  325. package/docs/it/packages/astro-intlayer/useLocale.md +126 -0
  326. package/docs/it/packages/remix-intlayer/Intlayer.md +77 -0
  327. package/docs/it/packages/remix-intlayer/exports.md +176 -0
  328. package/docs/it/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  329. package/docs/it/packages/remix-intlayer/useDictionary.md +94 -0
  330. package/docs/it/packages/remix-intlayer/useIntlayer.md +94 -0
  331. package/docs/it/packages/remix-intlayer/useLocale.md +104 -0
  332. package/docs/it/readme.md +2 -1
  333. package/docs/ja/how_works_intlayer.md +86 -14
  334. package/docs/ja/intlayer_visual_editor.md +7 -0
  335. package/docs/ja/intlayer_with_astro.md +61 -37
  336. package/docs/ja/intlayer_with_astro_preact.md +7 -0
  337. package/docs/ja/intlayer_with_astro_react.md +7 -0
  338. package/docs/ja/intlayer_with_astro_solid.md +7 -0
  339. package/docs/ja/intlayer_with_astro_svelte.md +7 -0
  340. package/docs/ja/intlayer_with_astro_vanilla.md +7 -0
  341. package/docs/ja/intlayer_with_astro_vue.md +7 -0
  342. package/docs/ja/intlayer_with_nextjs_14.md +7 -0
  343. package/docs/ja/intlayer_with_nextjs_15.md +7 -0
  344. package/docs/ja/intlayer_with_nextjs_16.md +7 -0
  345. package/docs/ja/intlayer_with_react_router_v7.md +7 -0
  346. package/docs/ja/intlayer_with_remix_3.md +73 -112
  347. package/docs/ja/intlayer_with_tanstack+solid.md +7 -0
  348. package/docs/ja/intlayer_with_tanstack.md +7 -0
  349. package/docs/ja/intlayer_with_vite+preact.md +7 -0
  350. package/docs/ja/intlayer_with_vite+react.md +7 -0
  351. package/docs/ja/intlayer_with_vite+solid.md +7 -0
  352. package/docs/ja/packages/astro-intlayer/exports.md +163 -11
  353. package/docs/ja/packages/astro-intlayer/intlayer.md +76 -0
  354. package/docs/ja/packages/astro-intlayer/onRequest.md +76 -0
  355. package/docs/ja/packages/astro-intlayer/useDictionary.md +95 -0
  356. package/docs/ja/packages/astro-intlayer/useIntlayer.md +98 -0
  357. package/docs/ja/packages/astro-intlayer/useLocale.md +126 -0
  358. package/docs/ja/packages/remix-intlayer/Intlayer.md +55 -0
  359. package/docs/ja/packages/remix-intlayer/exports.md +80 -0
  360. package/docs/ja/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  361. package/docs/ja/packages/remix-intlayer/useDictionary.md +95 -0
  362. package/docs/ja/packages/remix-intlayer/useIntlayer.md +94 -0
  363. package/docs/ja/packages/remix-intlayer/useLocale.md +104 -0
  364. package/docs/ja/readme.md +2 -1
  365. package/docs/ko/how_works_intlayer.md +86 -14
  366. package/docs/ko/intlayer_visual_editor.md +7 -0
  367. package/docs/ko/intlayer_with_astro.md +61 -37
  368. package/docs/ko/intlayer_with_astro_preact.md +7 -0
  369. package/docs/ko/intlayer_with_astro_react.md +7 -0
  370. package/docs/ko/intlayer_with_astro_solid.md +7 -0
  371. package/docs/ko/intlayer_with_astro_svelte.md +7 -0
  372. package/docs/ko/intlayer_with_astro_vanilla.md +7 -0
  373. package/docs/ko/intlayer_with_astro_vue.md +7 -0
  374. package/docs/ko/intlayer_with_nextjs_14.md +7 -0
  375. package/docs/ko/intlayer_with_nextjs_15.md +7 -0
  376. package/docs/ko/intlayer_with_nextjs_16.md +7 -0
  377. package/docs/ko/intlayer_with_react_router_v7.md +7 -0
  378. package/docs/ko/intlayer_with_remix_3.md +73 -112
  379. package/docs/ko/intlayer_with_tanstack+solid.md +7 -0
  380. package/docs/ko/intlayer_with_tanstack.md +7 -0
  381. package/docs/ko/intlayer_with_vite+preact.md +7 -0
  382. package/docs/ko/intlayer_with_vite+react.md +7 -0
  383. package/docs/ko/intlayer_with_vite+solid.md +7 -0
  384. package/docs/ko/packages/astro-intlayer/exports.md +163 -11
  385. package/docs/ko/packages/astro-intlayer/intlayer.md +76 -0
  386. package/docs/ko/packages/astro-intlayer/onRequest.md +76 -0
  387. package/docs/ko/packages/astro-intlayer/useDictionary.md +95 -0
  388. package/docs/ko/packages/astro-intlayer/useIntlayer.md +98 -0
  389. package/docs/ko/packages/astro-intlayer/useLocale.md +126 -0
  390. package/docs/ko/packages/remix-intlayer/Intlayer.md +55 -0
  391. package/docs/ko/packages/remix-intlayer/exports.md +80 -0
  392. package/docs/ko/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  393. package/docs/ko/packages/remix-intlayer/useDictionary.md +95 -0
  394. package/docs/ko/packages/remix-intlayer/useIntlayer.md +94 -0
  395. package/docs/ko/packages/remix-intlayer/useLocale.md +104 -0
  396. package/docs/ko/readme.md +2 -1
  397. package/docs/pl/how_works_intlayer.md +86 -14
  398. package/docs/pl/intlayer_visual_editor.md +7 -0
  399. package/docs/pl/intlayer_with_astro.md +61 -37
  400. package/docs/pl/intlayer_with_astro_preact.md +7 -0
  401. package/docs/pl/intlayer_with_astro_react.md +7 -0
  402. package/docs/pl/intlayer_with_astro_solid.md +7 -0
  403. package/docs/pl/intlayer_with_astro_svelte.md +7 -0
  404. package/docs/pl/intlayer_with_astro_vanilla.md +7 -0
  405. package/docs/pl/intlayer_with_astro_vue.md +7 -0
  406. package/docs/pl/intlayer_with_nextjs_14.md +7 -0
  407. package/docs/pl/intlayer_with_nextjs_15.md +7 -0
  408. package/docs/pl/intlayer_with_nextjs_16.md +7 -0
  409. package/docs/pl/intlayer_with_react_router_v7.md +7 -0
  410. package/docs/pl/intlayer_with_remix_3.md +101 -148
  411. package/docs/pl/intlayer_with_tanstack+solid.md +7 -0
  412. package/docs/pl/intlayer_with_tanstack.md +7 -0
  413. package/docs/pl/intlayer_with_vite+preact.md +7 -0
  414. package/docs/pl/intlayer_with_vite+react.md +7 -0
  415. package/docs/pl/intlayer_with_vite+solid.md +7 -0
  416. package/docs/pl/packages/astro-intlayer/exports.md +162 -10
  417. package/docs/pl/packages/astro-intlayer/intlayer.md +76 -0
  418. package/docs/pl/packages/astro-intlayer/onRequest.md +76 -0
  419. package/docs/pl/packages/astro-intlayer/useDictionary.md +94 -0
  420. package/docs/pl/packages/astro-intlayer/useIntlayer.md +98 -0
  421. package/docs/pl/packages/astro-intlayer/useLocale.md +126 -0
  422. package/docs/pl/packages/remix-intlayer/Intlayer.md +55 -0
  423. package/docs/pl/packages/remix-intlayer/exports.md +80 -0
  424. package/docs/pl/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  425. package/docs/pl/packages/remix-intlayer/useDictionary.md +95 -0
  426. package/docs/pl/packages/remix-intlayer/useIntlayer.md +94 -0
  427. package/docs/pl/packages/remix-intlayer/useLocale.md +104 -0
  428. package/docs/pl/readme.md +2 -1
  429. package/docs/pt/how_works_intlayer.md +86 -14
  430. package/docs/pt/intlayer_visual_editor.md +7 -0
  431. package/docs/pt/intlayer_with_astro.md +61 -37
  432. package/docs/pt/intlayer_with_astro_preact.md +7 -0
  433. package/docs/pt/intlayer_with_astro_react.md +7 -0
  434. package/docs/pt/intlayer_with_astro_solid.md +7 -0
  435. package/docs/pt/intlayer_with_astro_svelte.md +7 -0
  436. package/docs/pt/intlayer_with_astro_vanilla.md +7 -0
  437. package/docs/pt/intlayer_with_astro_vue.md +7 -0
  438. package/docs/pt/intlayer_with_nextjs_14.md +7 -0
  439. package/docs/pt/intlayer_with_nextjs_15.md +7 -0
  440. package/docs/pt/intlayer_with_nextjs_16.md +7 -0
  441. package/docs/pt/intlayer_with_react_router_v7.md +7 -0
  442. package/docs/pt/intlayer_with_remix_3.md +73 -112
  443. package/docs/pt/intlayer_with_tanstack+solid.md +7 -0
  444. package/docs/pt/intlayer_with_tanstack.md +7 -0
  445. package/docs/pt/intlayer_with_vite+preact.md +7 -0
  446. package/docs/pt/intlayer_with_vite+react.md +7 -0
  447. package/docs/pt/intlayer_with_vite+solid.md +7 -0
  448. package/docs/pt/packages/astro-intlayer/exports.md +162 -10
  449. package/docs/pt/packages/astro-intlayer/intlayer.md +76 -0
  450. package/docs/pt/packages/astro-intlayer/onRequest.md +76 -0
  451. package/docs/pt/packages/astro-intlayer/useDictionary.md +95 -0
  452. package/docs/pt/packages/astro-intlayer/useIntlayer.md +98 -0
  453. package/docs/pt/packages/astro-intlayer/useLocale.md +126 -0
  454. package/docs/pt/packages/remix-intlayer/Intlayer.md +77 -0
  455. package/docs/pt/packages/remix-intlayer/exports.md +176 -0
  456. package/docs/pt/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  457. package/docs/pt/packages/remix-intlayer/useDictionary.md +94 -0
  458. package/docs/pt/packages/remix-intlayer/useIntlayer.md +94 -0
  459. package/docs/pt/packages/remix-intlayer/useLocale.md +104 -0
  460. package/docs/pt/readme.md +2 -1
  461. package/docs/ru/how_works_intlayer.md +86 -14
  462. package/docs/ru/intlayer_visual_editor.md +7 -0
  463. package/docs/ru/intlayer_with_astro.md +61 -37
  464. package/docs/ru/intlayer_with_astro_preact.md +7 -0
  465. package/docs/ru/intlayer_with_astro_react.md +7 -0
  466. package/docs/ru/intlayer_with_astro_solid.md +7 -0
  467. package/docs/ru/intlayer_with_astro_svelte.md +7 -0
  468. package/docs/ru/intlayer_with_astro_vanilla.md +7 -0
  469. package/docs/ru/intlayer_with_astro_vue.md +7 -0
  470. package/docs/ru/intlayer_with_nextjs_14.md +7 -0
  471. package/docs/ru/intlayer_with_nextjs_15.md +7 -0
  472. package/docs/ru/intlayer_with_nextjs_16.md +7 -0
  473. package/docs/ru/intlayer_with_react_router_v7.md +7 -0
  474. package/docs/ru/intlayer_with_remix_3.md +73 -112
  475. package/docs/ru/intlayer_with_tanstack+solid.md +7 -0
  476. package/docs/ru/intlayer_with_tanstack.md +7 -0
  477. package/docs/ru/intlayer_with_vite+preact.md +7 -0
  478. package/docs/ru/intlayer_with_vite+react.md +7 -0
  479. package/docs/ru/intlayer_with_vite+solid.md +7 -0
  480. package/docs/ru/packages/astro-intlayer/exports.md +164 -12
  481. package/docs/ru/packages/astro-intlayer/intlayer.md +76 -0
  482. package/docs/ru/packages/astro-intlayer/onRequest.md +76 -0
  483. package/docs/ru/packages/astro-intlayer/useDictionary.md +95 -0
  484. package/docs/ru/packages/astro-intlayer/useIntlayer.md +98 -0
  485. package/docs/ru/packages/astro-intlayer/useLocale.md +126 -0
  486. package/docs/ru/packages/remix-intlayer/Intlayer.md +55 -0
  487. package/docs/ru/packages/remix-intlayer/exports.md +80 -0
  488. package/docs/ru/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  489. package/docs/ru/packages/remix-intlayer/useDictionary.md +95 -0
  490. package/docs/ru/packages/remix-intlayer/useIntlayer.md +94 -0
  491. package/docs/ru/packages/remix-intlayer/useLocale.md +104 -0
  492. package/docs/ru/readme.md +2 -1
  493. package/docs/tr/how_works_intlayer.md +86 -14
  494. package/docs/tr/intlayer_visual_editor.md +7 -0
  495. package/docs/tr/intlayer_with_astro.md +60 -36
  496. package/docs/tr/intlayer_with_astro_preact.md +7 -0
  497. package/docs/tr/intlayer_with_astro_react.md +7 -0
  498. package/docs/tr/intlayer_with_astro_solid.md +7 -0
  499. package/docs/tr/intlayer_with_astro_svelte.md +7 -0
  500. package/docs/tr/intlayer_with_astro_vanilla.md +7 -0
  501. package/docs/tr/intlayer_with_astro_vue.md +7 -0
  502. package/docs/tr/intlayer_with_nextjs_14.md +7 -0
  503. package/docs/tr/intlayer_with_nextjs_15.md +7 -0
  504. package/docs/tr/intlayer_with_nextjs_16.md +7 -0
  505. package/docs/tr/intlayer_with_react_router_v7.md +7 -0
  506. package/docs/tr/intlayer_with_remix_3.md +101 -148
  507. package/docs/tr/intlayer_with_tanstack+solid.md +7 -0
  508. package/docs/tr/intlayer_with_tanstack.md +7 -0
  509. package/docs/tr/intlayer_with_vite+preact.md +7 -0
  510. package/docs/tr/intlayer_with_vite+react.md +7 -0
  511. package/docs/tr/intlayer_with_vite+solid.md +7 -0
  512. package/docs/tr/packages/astro-intlayer/exports.md +165 -13
  513. package/docs/tr/packages/astro-intlayer/intlayer.md +76 -0
  514. package/docs/tr/packages/astro-intlayer/onRequest.md +76 -0
  515. package/docs/tr/packages/astro-intlayer/useDictionary.md +95 -0
  516. package/docs/tr/packages/astro-intlayer/useIntlayer.md +98 -0
  517. package/docs/tr/packages/astro-intlayer/useLocale.md +126 -0
  518. package/docs/tr/packages/remix-intlayer/Intlayer.md +55 -0
  519. package/docs/tr/packages/remix-intlayer/exports.md +80 -0
  520. package/docs/tr/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  521. package/docs/tr/packages/remix-intlayer/useDictionary.md +95 -0
  522. package/docs/tr/packages/remix-intlayer/useIntlayer.md +94 -0
  523. package/docs/tr/packages/remix-intlayer/useLocale.md +104 -0
  524. package/docs/tr/readme.md +2 -1
  525. package/docs/uk/how_works_intlayer.md +86 -14
  526. package/docs/uk/intlayer_visual_editor.md +7 -0
  527. package/docs/uk/intlayer_with_astro.md +61 -37
  528. package/docs/uk/intlayer_with_astro_preact.md +7 -0
  529. package/docs/uk/intlayer_with_astro_react.md +7 -0
  530. package/docs/uk/intlayer_with_astro_solid.md +7 -0
  531. package/docs/uk/intlayer_with_astro_svelte.md +7 -0
  532. package/docs/uk/intlayer_with_astro_vanilla.md +7 -0
  533. package/docs/uk/intlayer_with_astro_vue.md +7 -0
  534. package/docs/uk/intlayer_with_nextjs_14.md +7 -0
  535. package/docs/uk/intlayer_with_nextjs_15.md +7 -0
  536. package/docs/uk/intlayer_with_nextjs_16.md +7 -0
  537. package/docs/uk/intlayer_with_react_router_v7.md +7 -0
  538. package/docs/uk/intlayer_with_remix_3.md +101 -148
  539. package/docs/uk/intlayer_with_tanstack+solid.md +7 -0
  540. package/docs/uk/intlayer_with_tanstack.md +7 -0
  541. package/docs/uk/intlayer_with_vite+preact.md +7 -0
  542. package/docs/uk/intlayer_with_vite+react.md +7 -0
  543. package/docs/uk/intlayer_with_vite+solid.md +7 -0
  544. package/docs/uk/packages/astro-intlayer/exports.md +162 -10
  545. package/docs/uk/packages/astro-intlayer/intlayer.md +76 -0
  546. package/docs/uk/packages/astro-intlayer/onRequest.md +76 -0
  547. package/docs/uk/packages/astro-intlayer/useDictionary.md +94 -0
  548. package/docs/uk/packages/astro-intlayer/useIntlayer.md +98 -0
  549. package/docs/uk/packages/astro-intlayer/useLocale.md +126 -0
  550. package/docs/uk/packages/remix-intlayer/Intlayer.md +55 -0
  551. package/docs/uk/packages/remix-intlayer/exports.md +80 -0
  552. package/docs/uk/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  553. package/docs/uk/packages/remix-intlayer/useDictionary.md +95 -0
  554. package/docs/uk/packages/remix-intlayer/useIntlayer.md +94 -0
  555. package/docs/uk/packages/remix-intlayer/useLocale.md +104 -0
  556. package/docs/uk/readme.md +2 -1
  557. package/docs/vi/how_works_intlayer.md +86 -14
  558. package/docs/vi/intlayer_visual_editor.md +7 -0
  559. package/docs/vi/intlayer_with_astro.md +60 -36
  560. package/docs/vi/intlayer_with_astro_preact.md +7 -0
  561. package/docs/vi/intlayer_with_astro_react.md +7 -0
  562. package/docs/vi/intlayer_with_astro_solid.md +7 -0
  563. package/docs/vi/intlayer_with_astro_svelte.md +7 -0
  564. package/docs/vi/intlayer_with_astro_vanilla.md +7 -0
  565. package/docs/vi/intlayer_with_astro_vue.md +7 -0
  566. package/docs/vi/intlayer_with_nextjs_14.md +7 -0
  567. package/docs/vi/intlayer_with_nextjs_15.md +7 -0
  568. package/docs/vi/intlayer_with_nextjs_16.md +7 -0
  569. package/docs/vi/intlayer_with_react_router_v7.md +7 -0
  570. package/docs/vi/intlayer_with_remix_3.md +101 -148
  571. package/docs/vi/intlayer_with_tanstack+solid.md +7 -0
  572. package/docs/vi/intlayer_with_tanstack.md +7 -0
  573. package/docs/vi/intlayer_with_vite+preact.md +7 -0
  574. package/docs/vi/intlayer_with_vite+react.md +7 -0
  575. package/docs/vi/intlayer_with_vite+solid.md +7 -0
  576. package/docs/vi/packages/astro-intlayer/exports.md +167 -15
  577. package/docs/vi/packages/astro-intlayer/intlayer.md +76 -0
  578. package/docs/vi/packages/astro-intlayer/onRequest.md +76 -0
  579. package/docs/vi/packages/astro-intlayer/useDictionary.md +94 -0
  580. package/docs/vi/packages/astro-intlayer/useIntlayer.md +98 -0
  581. package/docs/vi/packages/astro-intlayer/useLocale.md +126 -0
  582. package/docs/vi/packages/remix-intlayer/Intlayer.md +55 -0
  583. package/docs/vi/packages/remix-intlayer/exports.md +80 -0
  584. package/docs/vi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  585. package/docs/vi/packages/remix-intlayer/useDictionary.md +95 -0
  586. package/docs/vi/packages/remix-intlayer/useIntlayer.md +94 -0
  587. package/docs/vi/packages/remix-intlayer/useLocale.md +104 -0
  588. package/docs/vi/readme.md +2 -1
  589. package/docs/zh/how_works_intlayer.md +86 -14
  590. package/docs/zh/intlayer_visual_editor.md +7 -0
  591. package/docs/zh/intlayer_with_astro.md +61 -37
  592. package/docs/zh/intlayer_with_astro_preact.md +7 -0
  593. package/docs/zh/intlayer_with_astro_react.md +7 -0
  594. package/docs/zh/intlayer_with_astro_solid.md +7 -0
  595. package/docs/zh/intlayer_with_astro_svelte.md +7 -0
  596. package/docs/zh/intlayer_with_astro_vanilla.md +7 -0
  597. package/docs/zh/intlayer_with_astro_vue.md +7 -0
  598. package/docs/zh/intlayer_with_nextjs_14.md +7 -0
  599. package/docs/zh/intlayer_with_nextjs_15.md +7 -0
  600. package/docs/zh/intlayer_with_nextjs_16.md +7 -0
  601. package/docs/zh/intlayer_with_react_router_v7.md +7 -0
  602. package/docs/zh/intlayer_with_remix_3.md +74 -112
  603. package/docs/zh/intlayer_with_tanstack+solid.md +7 -0
  604. package/docs/zh/intlayer_with_tanstack.md +7 -0
  605. package/docs/zh/intlayer_with_vite+preact.md +7 -0
  606. package/docs/zh/intlayer_with_vite+react.md +7 -0
  607. package/docs/zh/intlayer_with_vite+solid.md +7 -0
  608. package/docs/zh/packages/astro-intlayer/exports.md +166 -14
  609. package/docs/zh/packages/astro-intlayer/intlayer.md +76 -0
  610. package/docs/zh/packages/astro-intlayer/onRequest.md +76 -0
  611. package/docs/zh/packages/astro-intlayer/useDictionary.md +95 -0
  612. package/docs/zh/packages/astro-intlayer/useIntlayer.md +98 -0
  613. package/docs/zh/packages/astro-intlayer/useLocale.md +126 -0
  614. package/docs/zh/packages/remix-intlayer/Intlayer.md +55 -0
  615. package/docs/zh/packages/remix-intlayer/exports.md +80 -0
  616. package/docs/zh/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  617. package/docs/zh/packages/remix-intlayer/useDictionary.md +95 -0
  618. package/docs/zh/packages/remix-intlayer/useIntlayer.md +94 -0
  619. package/docs/zh/packages/remix-intlayer/useLocale.md +104 -0
  620. package/docs/zh/readme.md +2 -1
  621. package/package.json +6 -6
  622. package/src/generated/docs.entry.ts +223 -0
@@ -0,0 +1,126 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: Dokumentasi Hook useLocale | astro-intlayer
5
+ description: Pelajari cara menggunakan hook useLocale di aplikasi Astro untuk mengakses dan mengelola lokal saat ini.
6
+ keywords:
7
+ - useLocale
8
+ - lokal
9
+ - astro
10
+ - astro-intlayer
11
+ - Intlayer
12
+ - intlayer
13
+ - Internasionalisasi
14
+ - Dokumentasi
15
+ slugs:
16
+ - doc
17
+ - packages
18
+ - astro-intlayer
19
+ - useLocale
20
+ history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Inisialisasi dokumen"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Dokumentasi Hook useLocale
28
+
29
+ Hook `useLocale` dari `astro-intlayer` menyediakan akses ke lokal permintaan saat ini, lokal default yang dikonfigurasi, dan semua lokal yang tersedia dalam aplikasi Astro.
30
+
31
+ Hook ini berperilaku konsisten di seluruh frontmatter `.astro` yang dirender server dan blok `<script>` sisi klien.
32
+
33
+ ## Penggunaan
34
+
35
+ ### Di Frontmatter Komponen (Dirender di Server)
36
+
37
+ ```astro fileName="src/layouts/Layout.astro"
38
+ ---
39
+ import { useLocale } from "astro-intlayer";
40
+ import { getLocalizedUrl, getPathWithoutLocale } from "intlayer";
41
+
42
+ const { locale, defaultLocale, availableLocales } = useLocale();
43
+ const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
44
+ ---
45
+
46
+ <!DOCTYPE html>
47
+ <html lang={locale}>
48
+ <head>
49
+ <meta charset="utf-8" />
50
+ <title>Astro + Intlayer</title>
51
+ </head>
52
+ <body>
53
+ <header>
54
+ <span>Saat ini: {locale}</span>
55
+ <span>Default: {defaultLocale}</span>
56
+ <nav>
57
+ <ul>
58
+ {availableLocales.map((localeItem) => (
59
+ <li key={localeItem} className="p-1">
60
+ <a
61
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
62
+ aria-current={localeItem === locale ? "page" : undefined}
63
+ >
64
+ {localeItem.toUpperCase()}
65
+ </a>
66
+ </li>
67
+ ))}
68
+ </ul>
69
+ </nav>
70
+ </header>
71
+ <slot />
72
+ </body>
73
+ </html>
74
+ ```
75
+
76
+ ### Di `<script>` Klien (Interaktif)
77
+
78
+ ```astro fileName="src/components/LocaleSwitcher.astro"
79
+ ---
80
+ import { useLocale } from "astro-intlayer";
81
+
82
+ const { locale, availableLocales } = useLocale();
83
+ ---
84
+
85
+ <select id="locale-select">
86
+ {availableLocales.map((loc) => (
87
+ <option value={loc} selected={loc === locale}>
88
+ {loc.toUpperCase()}
89
+ </option>
90
+ ))}
91
+ </select>
92
+
93
+ <script>
94
+ import { useLocale, setLocaleInStorage } from "astro-intlayer";
95
+
96
+ const { setLocale } = useLocale();
97
+
98
+ document.getElementById("locale-select")?.addEventListener("change", (e) => {
99
+ const target = e.target as HTMLSelectElement;
100
+ setLocale(target.value);
101
+ });
102
+ </script>
103
+ ```
104
+
105
+ ## Nilai yang Dikembalikan
106
+
107
+ Hook ini mengembalikan objek bertipe `UseLocaleResult`:
108
+
109
+ | Properti | Tipe | Deskripsi |
110
+ | ------------------ | -------------------------------------- | -------------------------------------------------------------------------------------------------- |
111
+ | `locale` | `DeclaredLocales` | Lokal yang sedang aktif. |
112
+ | `defaultLocale` | `DeclaredLocales` | Lokal fallback default yang dikonfigurasi dalam `intlayer.config.ts`. |
113
+ | `availableLocales` | `DeclaredLocales[]` | Array semua lokal yang didukung dan dikonfigurasi untuk proyek. |
114
+ | `setLocale` | `(locale: LocalesValues) => void` | Fungsi untuk memperbarui lokal. (Interaktif di `<script>` klien, memunculkan peringatan saat SSR). |
115
+ | `subscribe` | `(callback: () => void) => () => void` | Berlangganan perubahan lokal di sisi klien. |
116
+
117
+ ## Perilaku Server vs Klien
118
+
119
+ - **Selama SSR / Render Server**: Permintaan dirender sekali dengan parameter tetap. Memanggil `setLocale()` selama render server tidak berpengaruh dan mengeluarkan peringatan; peralihan lokal harus dilakukan di klien atau dengan menavigasi ke URL lokal tujuan.
120
+ - **Dalam Skrip Klien**: `setLocale` memperbarui store klien dan memperbarui cookie atau local storage yang disimpan sesuai konfigurasi Intlayer Anda.
121
+
122
+ ## Dokumentasi Terkait
123
+
124
+ - [Integrasi `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/astro-intlayer/intlayer.md)
125
+ - [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/astro-intlayer/useIntlayer.md)
126
+ - [Hook `useDictionary`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/astro-intlayer/useDictionary.md)
@@ -0,0 +1,55 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: Dokumentasi Konteks Intlayer | remix-intlayer
5
+ description: Dokumentasi kunci penyimpanan konteks permintaan Intlayer di aplikasi Remix 3.
6
+ keywords:
7
+ - Intlayer
8
+ - remix
9
+ - remix-3
10
+ - konteks permintaan
11
+ - internasionalisasi
12
+ - i18n
13
+ slugs:
14
+ - doc
15
+ - packages
16
+ - remix-intlayer
17
+ - Intlayer
18
+ history:
19
+ - version: 9.5.5
20
+ date: 2026-09-19
21
+ changes: "Inisialisasi dokumentasi kunci konteks Intlayer"
22
+ author: aymericzip
23
+ ---
24
+
25
+ # Kunci Konteks Permintaan Intlayer
26
+
27
+ Ekspor `Intlayer` berfungsi sebagai pengidentifikasi penyimpanan konteks permintaan di Remix 3. Ini memungkinkan Anda mengambil status Intlayer langsung dari objek konteks Remix di dalam handler rute atau middleware kustom.
28
+
29
+ ## Penggunaan
30
+
31
+ ```ts fileName="src/server.ts"
32
+ import { createRouter } from "remix/router";
33
+ import { intlayer, Intlayer } from "remix-intlayer";
34
+
35
+ const router = createRouter({
36
+ middleware: [intlayer()],
37
+ });
38
+
39
+ router.get("/api/current-locale", (context) => {
40
+ const intlayerState = context.get(Intlayer);
41
+
42
+ return Response.json({
43
+ locale: intlayerState?.locale,
44
+ });
45
+ });
46
+ ```
47
+
48
+ ## Deskripsi
49
+
50
+ `Intlayer` digunakan oleh middleware `intlayer()` untuk mengikat state sesi saat ini ke konteks permintaan Remix (`RequestContext`). Biasanya disarankan menggunakan hook seperti `useLocale()` atau `useIntlayer()`. Akses langsung melalui `context.get(Intlayer)` berguna dalam handler middleware tingkat rendah atau rute API di mana instans konteks diteruskan secara eksplisit.
51
+
52
+ ## Dokumentasi Terkait
53
+
54
+ - [Middleware `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/intlayerMiddleware.md)
55
+ - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useLocale.md)
@@ -0,0 +1,80 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: Dokumentasi Paket remix-intlayer
5
+ description: Dokumentasi ekspor paket remix-intlayer, yang menyediakan internasionalisasi (i18n) untuk aplikasi Remix 3.
6
+ keywords:
7
+ - remix-intlayer
8
+ - remix
9
+ - remix-3
10
+ - intlayer
11
+ - internasionalisasi
12
+ - i18n
13
+ slugs:
14
+ - doc
15
+ - packages
16
+ - remix-intlayer
17
+ - exports
18
+ history:
19
+ - version: 9.5.5
20
+ date: 2026-09-19
21
+ changes: "Inisialisasi dokumentasi ekspor remix-intlayer"
22
+ author: aymericzip
23
+ ---
24
+
25
+ # Paket remix-intlayer
26
+
27
+ Paket `remix-intlayer` menyediakan alat yang diperlukan untuk mengintegrasikan Intlayer ke dalam aplikasi Remix 3. Paket ini mencakup middleware untuk mendeteksi locale permintaan, akses ke konteks permintaan, serta hook untuk mengambil kamus dan mengelola locale.
28
+
29
+ ## Instalasi
30
+
31
+ ```bash
32
+ npm install remix-intlayer
33
+ ```
34
+
35
+ ## Ekspor Paket
36
+
37
+ ### Middleware
38
+
39
+ | Ekspor | Tipe | Deskripsi | Dokumen Terkait |
40
+ | ---------- | ----------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
41
+ | `intlayer` | Fungsi Middleware | Middleware untuk Remix 3 yang mendeteksi locale permintaan, mengelola pengalihan, dan mengisi konteks permintaan. | [Middleware intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/intlayerMiddleware.md) |
42
+
43
+ ### Penyimpanan Konteks
44
+
45
+ | Ekspor | Tipe | Deskripsi | Dokumen Terkait |
46
+ | ---------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
47
+ | `Intlayer` | Kunci RequestContext / Penyimpanan | Kunci konteks permintaan yang digunakan untuk mengambil state Intlayer dari konteks permintaan Remix 3 (`context.get(Intlayer)`). | [Konteks Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/Intlayer.md) |
48
+
49
+ ### Hook
50
+
51
+ | Ekspor | Tipe | Deskripsi | Dokumen Terkait |
52
+ | --------------- | ---- | ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
53
+ | `useIntlayer` | Hook | Mengambil dan mendekorasi konten kamus berdasarkan kunci untuk locale permintaan saat ini. | [Hook useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useIntlayer.md) |
54
+ | `useDictionary` | Hook | Mengembalikan konten objek kamus yang diimpor sebelumnya untuk locale permintaan saat ini. | [Hook useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useDictionary.md) |
55
+ | `useLocale` | Hook | Menyediakan akses ke locale permintaan saat ini, locale default, dan daftar semua locale yang tersedia. | [Hook useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useLocale.md) |
56
+
57
+ ## Mulai Cepat
58
+
59
+ ### Mengonfigurasi Router dengan Middleware
60
+
61
+ ```ts fileName="src/server.ts"
62
+ import { createRouter } from "remix/router";
63
+ import { intlayer } from "remix-intlayer";
64
+
65
+ export const router = createRouter({
66
+ middleware: [intlayer()],
67
+ });
68
+ ```
69
+
70
+ ### Menggunakan Konten di Tampilan dan Komponen
71
+
72
+ ```ts fileName="src/views/home.ts"
73
+ import { useIntlayer } from "remix-intlayer";
74
+
75
+ export const HomeView = () => {
76
+ const content = useIntlayer("home");
77
+
78
+ return `<h1>${content.title}</h1><p>${content.description}</p>`;
79
+ };
80
+ ```
@@ -0,0 +1,55 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: Dokumentasi Middleware intlayer | remix-intlayer
5
+ description: Pelajari cara menggunakan middleware intlayer di Remix 3 untuk mendeteksi locale, menangani pengalihan, dan menyuntikkan status Intlayer ke dalam konteks permintaan.
6
+ keywords:
7
+ - intlayer
8
+ - middleware
9
+ - remix
10
+ - remix-3
11
+ - internasionalisasi
12
+ - i18n
13
+ slugs:
14
+ - doc
15
+ - packages
16
+ - remix-intlayer
17
+ - intlayerMiddleware
18
+ history:
19
+ - version: 9.5.5
20
+ date: 2026-09-19
21
+ changes: "Inisialisasi dokumentasi middleware intlayer"
22
+ author: aymericzip
23
+ ---
24
+
25
+ # Middleware intlayer
26
+
27
+ Fungsi middleware `intlayer` mengonfigurasi internasionalisasi per permintaan dalam aplikasi Remix 3. Middleware ini mendeteksi locale dari setiap permintaan masuk, menerapkan aturan pengalihan URL, dan menyimpan state locale dalam konteks permintaan.
28
+
29
+ ## Penggunaan
30
+
31
+ Daftarkan middleware di router Remix Anda:
32
+
33
+ ```ts fileName="src/server.ts"
34
+ import { createRouter } from "remix/router";
35
+ import { intlayer } from "remix-intlayer";
36
+
37
+ export const router = createRouter({
38
+ middleware: [intlayer()],
39
+ });
40
+ ```
41
+
42
+ ## Cara Kerjanya
43
+
44
+ Middleware melakukan tugas-tugas berikut untuk setiap permintaan yang masuk:
45
+
46
+ 1. **Deteksi Locale**: Mengekstrak locale dari awalan jalur URL (misalnya `/id/about`), cookie, atau header `Accept-Language` sesuai dengan konfigurasi Intlayer Anda.
47
+ 2. **Pengalihan URL**: Jika jalur yang diminta tidak memiliki awalan locale dan konfigurasi memerlukan perutean berawalan, middleware mengembalikan respons pengalihan (302/307/308) ke URL berawalan yang sesuai.
48
+ 3. **Mengisi Konteks Permintaan**: Menyimpan locale yang diselesaikan saat ini dalam konteks permintaan Remix menggunakan kunci `Intlayer`, sehingga hook (`useLocale`, `useIntlayer`, `useDictionary`) dapat menggunakannya secara transparan.
49
+ 4. **Manajemen Cookie**: Menyetel header `Set-Cookie` saat perlu mempertahankan locale pilihan pengguna.
50
+
51
+ ## Dokumentasi Terkait
52
+
53
+ - [Konteks Permintaan `Intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/Intlayer.md)
54
+ - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useLocale.md)
55
+ - [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useIntlayer.md)
@@ -0,0 +1,95 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: Dokumentasi Hook useDictionary | remix-intlayer
5
+ description: Lihat cara menggunakan hook useDictionary dalam aplikasi Remix 3 untuk menyelesaikan objek kamus untuk locale permintaan saat ini.
6
+ keywords:
7
+ - useDictionary
8
+ - dictionary
9
+ - remix
10
+ - remix-3
11
+ - Intlayer
12
+ - intlayer
13
+ - internasionalisasi
14
+ - dokumentasi
15
+ slugs:
16
+ - doc
17
+ - packages
18
+ - remix-intlayer
19
+ - useDictionary
20
+ history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Inisialisasi dokumentasi hook useDictionary"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Dokumentasi Hook useDictionary
28
+
29
+ Hook `useDictionary` mengubah objek kamus yang diimpor atau inline dan mengembalikan kontennya yang diselesaikan untuk locale permintaan saat ini di aplikasi Remix 3.
30
+
31
+ Tidak seperti `useIntlayer`, yang menyelesaikan kamus berdasarkan kunci string dari registri kamus global, `useDictionary` menerima objek kamus secara langsung.
32
+
33
+ ## Penggunaan
34
+
35
+ ```ts fileName="src/views/home.ts"
36
+ import { useDictionary } from "remix-intlayer";
37
+ import homeContent from "./home.content";
38
+
39
+ export const HomeView = () => {
40
+ const content = useDictionary(homeContent);
41
+
42
+ return `
43
+ <div>
44
+ <h1>${content.title}</h1>
45
+ <p>${content.subtitle}</p>
46
+ </div>
47
+ `;
48
+ };
49
+ ```
50
+
51
+ Anda juga dapat meneruskan kamus inline yang ditentukan dengan `t()`:
52
+
53
+ ```ts
54
+ import { useDictionary } from "remix-intlayer";
55
+ import { t } from "intlayer";
56
+
57
+ export const FooterView = () => {
58
+ const content = useDictionary({
59
+ key: "footer",
60
+ content: {
61
+ copyright: t({
62
+ id: "Hak cipta dilindungi undang-undang.",
63
+ en: "All rights reserved.",
64
+ fr: "Tous droits réservés.",
65
+ es: "Todos los derechos reservados.",
66
+ }),
67
+ },
68
+ });
69
+
70
+ return `<footer>${content.copyright}</footer>`;
71
+ };
72
+ ```
73
+
74
+ ## Parameter
75
+
76
+ ```ts
77
+ useDictionary(dictionary, localeOrSelector?)
78
+ ```
79
+
80
+ 1. **`dictionary`**: Objek kamus atau grup kamus yang memenuhi syarat.
81
+ 2. **`localeOrSelector`** (opsional): Objek locale atau pemilih tertentu (`{ item }`, `{ variant }`, secara opsional dengan `locale`). Diutamakan daripada locale permintaan jika disediakan.
82
+
83
+ ## Deskripsi
84
+
85
+ Hook melakukan tugas-tugas berikut:
86
+
87
+ 1. **Deteksi Locale**: Membaca locale permintaan aktif dari penyimpanan `AsyncLocalStorage` yang dibuat oleh middleware `intlayer()`.
88
+ 2. **Resolusi Konten**: Mengevaluasi terjemahan (`t()`), enumerasi, kondisi, dan struktur bersarang sesuai dengan locale yang diselesaikan.
89
+ 3. **Pemrosesan Pemilih**: Menerapkan setiap pemilih item atau varian yang ditentukan dalam argumen.
90
+
91
+ ## Dokumentasi Terkait
92
+
93
+ - [Middleware `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/intlayerMiddleware.md)
94
+ - [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useIntlayer.md)
95
+ - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useLocale.md)
@@ -0,0 +1,94 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: Dokumentasi Hook useIntlayer | remix-intlayer
5
+ description: Lihat cara menggunakan hook useIntlayer dalam aplikasi Remix 3 untuk mengakses konten yang dilokalisasi berdasarkan kunci.
6
+ keywords:
7
+ - useIntlayer
8
+ - dictionary
9
+ - remix
10
+ - remix-3
11
+ - Intlayer
12
+ - intlayer
13
+ - internasionalisasi
14
+ - dokumentasi
15
+ slugs:
16
+ - doc
17
+ - packages
18
+ - remix-intlayer
19
+ - useIntlayer
20
+ history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Inisialisasi dokumentasi hook useIntlayer"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Dokumentasi Hook useIntlayer
28
+
29
+ Hook `useIntlayer` memungkinkan Anda mengambil konten yang dilokalisasi dari kamus Intlayer berdasarkan kunci dalam aplikasi Remix 3.
30
+
31
+ Hook ini secara otomatis membaca locale aktif dari konteks permintaan saat ini (melalui `AsyncLocalStorage`), sehingga Anda tidak perlu meneruskan locale melalui handler rute, template tampilan, atau komponen.
32
+
33
+ ## Penggunaan
34
+
35
+ ### Di Handler Rute
36
+
37
+ ```ts fileName="src/server.ts"
38
+ import { createRouter } from "remix/router";
39
+ import { intlayer, useIntlayer } from "remix-intlayer";
40
+
41
+ const router = createRouter({
42
+ middleware: [intlayer()],
43
+ });
44
+
45
+ router.get("/api/welcome", () => {
46
+ const content = useIntlayer("home");
47
+
48
+ return Response.json({
49
+ title: content.title,
50
+ subtitle: content.subtitle,
51
+ });
52
+ });
53
+ ```
54
+
55
+ ### Di Template Tampilan dan Komponen
56
+
57
+ ```tsx fileName="src/views/home.ts"
58
+ import { useIntlayer } from "remix-intlayer";
59
+
60
+ export const HomeView = () => {
61
+ const content = useIntlayer("home");
62
+
63
+ return `
64
+ <main>
65
+ <h1>${content.title}</h1>
66
+ <p>${content.subtitle}</p>
67
+ </main>
68
+ `;
69
+ };
70
+ ```
71
+
72
+ ## Parameter
73
+
74
+ ```ts
75
+ useIntlayer(key, localeOrSelector?)
76
+ ```
77
+
78
+ 1. **`key`**: Kunci unik dari kamus (seperti yang ditentukan dalam file deklarasi `.content.ts` Anda).
79
+ 2. **`localeOrSelector`** (opsional): Objek locale atau pemilih tertentu (`{ item }`, `{ variant }`, secara opsional dengan `locale`). Jika diberikan, ini akan menimpa locale yang terdeteksi dari konteks permintaan.
80
+
81
+ ## Deskripsi
82
+
83
+ Hook melakukan tugas-tugas berikut:
84
+
85
+ 1. **Pengambilan Locale Konteks**: Mendeteksi locale saat ini dari cakupan `AsyncLocalStorage` yang terikat permintaan yang dibuat oleh middleware `intlayer()`.
86
+ 2. **Pengambilan Kamus**: Mengambil kamus yang telah dikompilasi sebelumnya yang sesuai dengan kunci yang diberikan.
87
+ 3. **Pemrosesan Terjemahan**: Menyelesaikan terjemahan, enumerasi, markdown, dan konten kondisional untuk locale yang diselesaikan.
88
+ 4. **Penanganan Fallback**: Jika dipanggil di luar konteks permintaan HTTP aktif (misalnya tugas latar belakang atau pengujian unit tanpa middleware), hook ini akan kembali dengan aman ke `defaultLocale` yang dikonfigurasi.
89
+
90
+ ## Dokumentasi Terkait
91
+
92
+ - [Middleware `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/intlayerMiddleware.md)
93
+ - [Hook `useDictionary`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useDictionary.md)
94
+ - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useLocale.md)
@@ -0,0 +1,104 @@
1
+ ---
2
+ createdAt: 2026-09-19
3
+ updatedAt: 2026-09-19
4
+ title: Dokumentasi Hook useLocale | remix-intlayer
5
+ description: Pelajari cara menggunakan hook useLocale di aplikasi Remix 3 untuk mendapatkan locale permintaan saat ini, locale default, dan daftar locale yang tersedia.
6
+ keywords:
7
+ - useLocale
8
+ - locale
9
+ - remix
10
+ - remix-3
11
+ - Intlayer
12
+ - intlayer
13
+ - internasionalisasi
14
+ - dokumentasi
15
+ slugs:
16
+ - doc
17
+ - packages
18
+ - remix-intlayer
19
+ - useLocale
20
+ history:
21
+ - version: 9.5.5
22
+ date: 2026-09-19
23
+ changes: "Inisialisasi dokumentasi hook useLocale"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Dokumentasi Hook useLocale
28
+
29
+ Hook `useLocale` dari `remix-intlayer` menyediakan akses ke locale dari permintaan HTTP yang sedang diproses, bersama dengan locale default dan locale yang tersedia yang dikonfigurasi dalam proyek.
30
+
31
+ ## Penggunaan
32
+
33
+ Dalam komponen Remix (misalnya pengalih bahasa):
34
+
35
+ ```tsx fileName="src/components/LocaleSwitcher.tsx"
36
+ import { type FC } from "react";
37
+ import { Link } from "@remix-run/react";
38
+ import { useLocale } from "remix-intlayer";
39
+ import { getLocalizedUrl, getPathWithoutLocale } from "intlayer";
40
+
41
+ export const LocaleSwitcher: FC = () => {
42
+ const { locale, availableLocales } = useLocale();
43
+ const pathWithoutLocale = getPathWithoutLocale();
44
+
45
+ return (
46
+ <nav>
47
+ <ul>
48
+ {availableLocales.map((localeItem) => (
49
+ <li key={localeItem} className="p-1">
50
+ <Link
51
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
52
+ aria-current={localeItem === locale ? "page" : undefined}
53
+ >
54
+ {localeItem.toUpperCase()}
55
+ </Link>
56
+ </li>
57
+ ))}
58
+ </ul>
59
+ </nav>
60
+ );
61
+ };
62
+ ```
63
+
64
+ Di dalam handler rute:
65
+
66
+ ```ts fileName="src/server.ts"
67
+ import { createRouter } from "remix/router";
68
+ import { intlayer, useLocale } from "remix-intlayer";
69
+
70
+ const router = createRouter({
71
+ middleware: [intlayer()],
72
+ });
73
+
74
+ router.get("/api/locale-info", () => {
75
+ const { locale, defaultLocale, availableLocales } = useLocale();
76
+
77
+ return Response.json({
78
+ locale,
79
+ defaultLocale,
80
+ availableLocales,
81
+ });
82
+ });
83
+ ```
84
+
85
+ ## Nilai Kembalian
86
+
87
+ Hook mengembalikan objek bertipe `UseLocaleResult`:
88
+
89
+ | Properti | Tipe | Deskripsi |
90
+ | ------------------ | ------------------- | --------------------------------------------------------------------------------- |
91
+ | `locale` | `DeclaredLocales` | Locale yang diselesaikan untuk permintaan saat ini. |
92
+ | `defaultLocale` | `DeclaredLocales` | Locale fallback default yang dikonfigurasi dalam `intlayer.config.ts`. |
93
+ | `availableLocales` | `DeclaredLocales[]` | Array dari semua locale yang tersedia yang dikonfigurasi di `intlayer.config.ts`. |
94
+
95
+ ## Deskripsi
96
+
97
+ 1. **Penyelesaian Cakupan Permintaan**: Dalam permintaan aktif yang ditangani oleh middleware `intlayer()`, `useLocale` membaca locale yang diselesaikan dari penyimpanan permintaan.
98
+ 2. **Fallback yang Aman**: Jika dipanggil di luar konteks permintaan (seperti selama skrip inisialisasi atau suite pengujian), ini akan kembali ke `defaultLocale` yang dikonfigurasi.
99
+
100
+ ## Dokumentasi Terkait
101
+
102
+ - [Middleware `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/intlayerMiddleware.md)
103
+ - [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useIntlayer.md)
104
+ - [Hook `useDictionary`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/remix-intlayer/useDictionary.md)
package/docs/id/readme.md CHANGED
@@ -199,7 +199,8 @@ Jelajahi dokumentasi lengkap kami untuk memulai dengan Intlayer dan pelajari car
199
199
  <li><a href="https://intlayer.org/doc/environment/create-react-app" rel=''>React CRA</a></li>
200
200
  <li><a href="https://intlayer.org/doc/environment/vite-and-react" rel=''>Vite + React</a></li>
201
201
  <li><a href="https://intlayer.org/doc/environment/vite-and-react" rel=''>Vite + React menggunakan compiler</a></li>
202
- <li><a href="https://intlayer.org/doc/environment/vite-and-react/compiler" rel=''>React-router-v7</a></li>
202
+ <li><a href="https://intlayer.org/doc/environment/vite-and-react/react-router-v7" rel=''>React-router-v7</a></li>
203
+ <li><a href="https://intlayer.org/doc/environment/remix-3" rel=''>Remix 3</a></li>
203
204
  <li><a href="https://intlayer.org/doc/environment/tanstack-start" rel=''>Tanstack start</a>
204
205
  <ul>
205
206
  <li><a href="https://intlayer.org/doc/environment/tanstack-start/solid" rel=''>Solid</a></li>