@intlayer/docs 9.4.0 → 9.4.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 (1198) hide show
  1. package/README.md +1 -1
  2. package/blog/ar/hreflang_guide_multilingual_seo.md +317 -0
  3. package/blog/ar/intlayer_with_i18next.md +0 -2
  4. package/blog/ar/intlayer_with_next-i18next.md +0 -4
  5. package/blog/ar/intlayer_with_vue-i18n.md +0 -4
  6. package/blog/de/hreflang_guide_multilingual_seo.md +314 -0
  7. package/blog/de/intlayer_with_vue-i18n.md +0 -4
  8. package/blog/en/hreflang_guide_multilingual_seo.md +314 -0
  9. package/blog/en/intlayer_with_i18next.md +0 -2
  10. package/blog/en/intlayer_with_next-i18next.md +0 -2
  11. package/blog/en/intlayer_with_next-intl.md +0 -2
  12. package/blog/en/intlayer_with_react-intl.md +0 -2
  13. package/blog/en/intlayer_with_vue-i18n.md +0 -2
  14. package/blog/en-GB/hreflang_guide_multilingual_seo.md +314 -0
  15. package/blog/es/hreflang_guide_multilingual_seo.md +314 -0
  16. package/blog/fr/hreflang_guide_multilingual_seo.md +315 -0
  17. package/blog/hi/hreflang_guide_multilingual_seo.md +323 -0
  18. package/blog/hi/intlayer_with_i18next.md +0 -2
  19. package/blog/hi/intlayer_with_next-i18next.md +0 -4
  20. package/blog/hi/intlayer_with_vue-i18n.md +0 -4
  21. package/blog/id/hreflang_guide_multilingual_seo.md +314 -0
  22. package/blog/id/intlayer_with_i18next.md +0 -2
  23. package/blog/id/intlayer_with_next-i18next.md +0 -4
  24. package/blog/id/intlayer_with_vue-i18n.md +0 -4
  25. package/blog/it/hreflang_guide_multilingual_seo.md +315 -0
  26. package/blog/it/intlayer_with_i18next.md +0 -2
  27. package/blog/it/intlayer_with_next-i18next.md +0 -4
  28. package/blog/it/intlayer_with_vue-i18n.md +0 -4
  29. package/blog/ja/hreflang_guide_multilingual_seo.md +320 -0
  30. package/blog/ko/hreflang_guide_multilingual_seo.md +314 -0
  31. package/blog/ko/intlayer_with_i18next.md +0 -2
  32. package/blog/ko/intlayer_with_next-i18next.md +0 -4
  33. package/blog/ko/intlayer_with_vue-i18n.md +0 -4
  34. package/blog/pl/hreflang_guide_multilingual_seo.md +316 -0
  35. package/blog/pt/hreflang_guide_multilingual_seo.md +314 -0
  36. package/blog/pt/intlayer_with_i18next.md +0 -2
  37. package/blog/pt/intlayer_with_next-i18next.md +0 -4
  38. package/blog/pt/intlayer_with_vue-i18n.md +0 -4
  39. package/blog/ru/hreflang_guide_multilingual_seo.md +314 -0
  40. package/blog/tr/hreflang_guide_multilingual_seo.md +314 -0
  41. package/blog/tr/intlayer_with_i18next.md +0 -2
  42. package/blog/tr/intlayer_with_next-i18next.md +0 -4
  43. package/blog/tr/intlayer_with_vue-i18n.md +0 -4
  44. package/blog/uk/hreflang_guide_multilingual_seo.md +314 -0
  45. package/blog/uk/intlayer_with_i18next.md +0 -2
  46. package/blog/uk/intlayer_with_next-i18next.md +0 -2
  47. package/blog/uk/intlayer_with_next-intl.md +0 -2
  48. package/blog/uk/intlayer_with_react-intl.md +0 -2
  49. package/blog/uk/intlayer_with_vue-i18n.md +0 -2
  50. package/blog/vi/hreflang_guide_multilingual_seo.md +314 -0
  51. package/blog/vi/intlayer_with_i18next.md +0 -2
  52. package/blog/vi/intlayer_with_next-i18next.md +0 -4
  53. package/blog/vi/intlayer_with_vue-i18n.md +0 -4
  54. package/blog/zh/hreflang_guide_multilingual_seo.md +314 -0
  55. package/blog/zh/intlayer_with_i18next.md +0 -2
  56. package/blog/zh/intlayer_with_next-i18next.md +0 -2
  57. package/blog/zh/intlayer_with_next-intl.md +0 -2
  58. package/blog/zh/intlayer_with_react-intl.md +0 -2
  59. package/blog/zh/intlayer_with_vue-i18n.md +0 -2
  60. package/dist/cjs/common.cjs +29 -6
  61. package/dist/cjs/common.cjs.map +1 -1
  62. package/dist/cjs/generated/blog.entry.cjs +20 -0
  63. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  64. package/dist/cjs/generated/docs.entry.cjs +20 -0
  65. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  66. package/dist/esm/common.mjs +29 -6
  67. package/dist/esm/common.mjs.map +1 -1
  68. package/dist/esm/generated/blog.entry.mjs +20 -0
  69. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  70. package/dist/esm/generated/docs.entry.mjs +20 -0
  71. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  72. package/dist/types/common.d.ts.map +1 -1
  73. package/dist/types/generated/blog.entry.d.ts +1 -0
  74. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  75. package/dist/types/generated/docs.entry.d.ts +1 -0
  76. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  77. package/docs/ar/analytics.md +458 -12
  78. package/docs/ar/configuration.md +98 -0
  79. package/docs/ar/dictionary/content_file.md +4 -4
  80. package/docs/ar/dictionary/html.md +117 -1
  81. package/docs/ar/dictionary/markdown.md +18 -1
  82. package/docs/ar/dictionary/plurial.md +5 -2
  83. package/docs/ar/how_works_intlayer.md +92 -0
  84. package/docs/ar/interest_of_intlayer.md +106 -9
  85. package/docs/ar/intlayer_CMS.md +92 -0
  86. package/docs/ar/intlayer_visual_editor.md +87 -1
  87. package/docs/ar/intlayer_with_adonisjs.md +121 -0
  88. package/docs/ar/intlayer_with_analog.md +116 -8
  89. package/docs/ar/intlayer_with_angular_19.md +115 -8
  90. package/docs/ar/intlayer_with_angular_21.md +109 -8
  91. package/docs/ar/intlayer_with_astro.md +117 -20
  92. package/docs/ar/intlayer_with_astro_lit.md +118 -10
  93. package/docs/ar/intlayer_with_astro_preact.md +118 -10
  94. package/docs/ar/intlayer_with_astro_react.md +118 -10
  95. package/docs/ar/intlayer_with_astro_solid.md +118 -10
  96. package/docs/ar/intlayer_with_astro_svelte.md +118 -10
  97. package/docs/ar/intlayer_with_astro_vanilla.md +112 -10
  98. package/docs/ar/intlayer_with_astro_vue.md +118 -10
  99. package/docs/ar/intlayer_with_create_react_app.md +105 -0
  100. package/docs/ar/intlayer_with_elysia.md +121 -0
  101. package/docs/ar/intlayer_with_express.md +114 -0
  102. package/docs/ar/intlayer_with_fastify.md +115 -0
  103. package/docs/ar/intlayer_with_hono.md +114 -0
  104. package/docs/ar/intlayer_with_htmx.md +771 -0
  105. package/docs/ar/intlayer_with_lynx+react.md +7 -14
  106. package/docs/ar/intlayer_with_nestjs.md +115 -0
  107. package/docs/ar/intlayer_with_nextjs_14.md +144 -120
  108. package/docs/ar/intlayer_with_nextjs_15.md +126 -51
  109. package/docs/ar/intlayer_with_nextjs_16.md +127 -49
  110. package/docs/ar/intlayer_with_nextjs_compiler.md +122 -13
  111. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +121 -9
  112. package/docs/ar/intlayer_with_nextjs_page_router.md +139 -107
  113. package/docs/ar/intlayer_with_nuxt.md +110 -8
  114. package/docs/ar/intlayer_with_react_native+expo.md +102 -7
  115. package/docs/ar/intlayer_with_react_router_v7.md +119 -10
  116. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +122 -22
  117. package/docs/ar/intlayer_with_solid_start.md +115 -1
  118. package/docs/ar/intlayer_with_storybook.md +7 -20
  119. package/docs/ar/intlayer_with_svelte_kit.md +107 -17
  120. package/docs/ar/intlayer_with_tanstack+solid.md +124 -22
  121. package/docs/ar/intlayer_with_tanstack.md +134 -43
  122. package/docs/ar/intlayer_with_vanilla.md +117 -9
  123. package/docs/ar/intlayer_with_vite+lit.md +118 -8
  124. package/docs/ar/intlayer_with_vite+preact.md +148 -40
  125. package/docs/ar/intlayer_with_vite+react.md +108 -20
  126. package/docs/ar/intlayer_with_vite+react_compiler.md +106 -1
  127. package/docs/ar/intlayer_with_vite+solid.md +114 -5
  128. package/docs/ar/intlayer_with_vite+svelte.md +118 -8
  129. package/docs/ar/intlayer_with_vite+vanilla.md +125 -8
  130. package/docs/ar/intlayer_with_vite+vue.md +105 -9
  131. package/docs/ar/introduction.md +104 -1
  132. package/docs/ar/migration_from_i18next_to_intlayer.md +0 -2
  133. package/docs/ar/migration_from_next-i18next_to_intlayer.md +0 -2
  134. package/docs/ar/migration_from_next-intl_to_intlayer.md +0 -2
  135. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  136. package/docs/ar/migration_from_react-i18next_to_intlayer.md +0 -2
  137. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +0 -2
  138. package/docs/ar/packages/vite-intlayer/intlayerMinify.md +1 -1
  139. package/docs/bn/introduction.md +0 -1
  140. package/docs/cs/interest_of_intlayer.md +0 -1
  141. package/docs/cs/intlayer_with_storybook.md +0 -12
  142. package/docs/cs/intlayer_with_vanilla.md +2 -1
  143. package/docs/cs/introduction.md +0 -1
  144. package/docs/de/analytics.md +458 -12
  145. package/docs/de/configuration.md +99 -1
  146. package/docs/de/dictionary/content_file.md +4 -4
  147. package/docs/de/dictionary/markdown.md +3 -0
  148. package/docs/de/dictionary/plurial.md +6 -3
  149. package/docs/de/how_works_intlayer.md +93 -1
  150. package/docs/de/interest_of_intlayer.md +97 -2
  151. package/docs/de/intlayer_CMS.md +93 -1
  152. package/docs/de/intlayer_visual_editor.md +88 -2
  153. package/docs/de/intlayer_with_adonisjs.md +121 -1
  154. package/docs/de/intlayer_with_analog.md +111 -2
  155. package/docs/de/intlayer_with_angular_19.md +109 -2
  156. package/docs/de/intlayer_with_angular_21.md +103 -2
  157. package/docs/de/intlayer_with_astro.md +111 -14
  158. package/docs/de/intlayer_with_astro_lit.md +112 -4
  159. package/docs/de/intlayer_with_astro_preact.md +112 -4
  160. package/docs/de/intlayer_with_astro_react.md +112 -4
  161. package/docs/de/intlayer_with_astro_solid.md +112 -4
  162. package/docs/de/intlayer_with_astro_svelte.md +112 -4
  163. package/docs/de/intlayer_with_astro_vanilla.md +106 -4
  164. package/docs/de/intlayer_with_astro_vue.md +112 -4
  165. package/docs/de/intlayer_with_create_react_app.md +107 -2
  166. package/docs/de/intlayer_with_elysia.md +121 -1
  167. package/docs/de/intlayer_with_express.md +115 -1
  168. package/docs/de/intlayer_with_fastify.md +115 -1
  169. package/docs/de/intlayer_with_hono.md +115 -1
  170. package/docs/de/intlayer_with_htmx.md +770 -0
  171. package/docs/de/intlayer_with_lynx+react.md +0 -7
  172. package/docs/de/intlayer_with_nestjs.md +115 -1
  173. package/docs/de/intlayer_with_nextjs_14.md +138 -110
  174. package/docs/de/intlayer_with_nextjs_15.md +120 -45
  175. package/docs/de/intlayer_with_nextjs_16.md +147 -51
  176. package/docs/de/intlayer_with_nextjs_compiler.md +113 -3
  177. package/docs/de/intlayer_with_nextjs_no_locale_path.md +115 -3
  178. package/docs/de/intlayer_with_nextjs_page_router.md +121 -95
  179. package/docs/de/intlayer_with_nuxt.md +104 -2
  180. package/docs/de/intlayer_with_react_native+expo.md +103 -8
  181. package/docs/de/intlayer_with_react_router_v7.md +113 -4
  182. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +111 -4
  183. package/docs/de/intlayer_with_solid_start.md +117 -2
  184. package/docs/de/intlayer_with_storybook.md +0 -13
  185. package/docs/de/intlayer_with_svelte_kit.md +99 -2
  186. package/docs/de/intlayer_with_tanstack+solid.md +119 -16
  187. package/docs/de/intlayer_with_tanstack.md +231 -152
  188. package/docs/de/intlayer_with_vanilla.md +111 -3
  189. package/docs/de/intlayer_with_vite+lit.md +113 -2
  190. package/docs/de/intlayer_with_vite+preact.md +170 -33
  191. package/docs/de/intlayer_with_vite+react.md +102 -6
  192. package/docs/de/intlayer_with_vite+react_compiler.md +107 -2
  193. package/docs/de/intlayer_with_vite+solid.md +113 -2
  194. package/docs/de/intlayer_with_vite+svelte.md +113 -2
  195. package/docs/de/intlayer_with_vite+vanilla.md +119 -2
  196. package/docs/de/intlayer_with_vite+vue.md +98 -2
  197. package/docs/de/introduction.md +105 -2
  198. package/docs/de/migration_from_i18next_to_intlayer.md +0 -2
  199. package/docs/de/migration_from_next-i18next_to_intlayer.md +0 -2
  200. package/docs/de/migration_from_next-intl_to_intlayer.md +0 -2
  201. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  202. package/docs/de/migration_from_react-i18next_to_intlayer.md +0 -2
  203. package/docs/de/migration_from_vue-i18n_to_intlayer.md +0 -2
  204. package/docs/de/packages/vite-intlayer/intlayerMinify.md +1 -1
  205. package/docs/en/configuration.md +99 -1
  206. package/docs/en/dictionary/content_file.md +4 -4
  207. package/docs/en/how_works_intlayer.md +93 -1
  208. package/docs/en/interest_of_intlayer.md +97 -2
  209. package/docs/en/intlayer_CMS.md +93 -1
  210. package/docs/en/intlayer_visual_editor.md +88 -2
  211. package/docs/en/intlayer_with_adonisjs.md +121 -1
  212. package/docs/en/intlayer_with_analog.md +111 -2
  213. package/docs/en/intlayer_with_angular_19.md +109 -2
  214. package/docs/en/intlayer_with_angular_21.md +103 -2
  215. package/docs/en/intlayer_with_astro.md +107 -4
  216. package/docs/en/intlayer_with_astro_lit.md +112 -4
  217. package/docs/en/intlayer_with_astro_preact.md +112 -4
  218. package/docs/en/intlayer_with_astro_react.md +112 -4
  219. package/docs/en/intlayer_with_astro_solid.md +112 -4
  220. package/docs/en/intlayer_with_astro_svelte.md +112 -4
  221. package/docs/en/intlayer_with_astro_vanilla.md +106 -4
  222. package/docs/en/intlayer_with_astro_vue.md +112 -4
  223. package/docs/en/intlayer_with_create_react_app.md +105 -2
  224. package/docs/en/intlayer_with_elysia.md +121 -1
  225. package/docs/en/intlayer_with_express.md +115 -1
  226. package/docs/en/intlayer_with_fastify.md +115 -1
  227. package/docs/en/intlayer_with_hono.md +115 -1
  228. package/docs/en/intlayer_with_htmx.md +754 -0
  229. package/docs/en/intlayer_with_lynx+react.md +0 -7
  230. package/docs/en/intlayer_with_nestjs.md +115 -1
  231. package/docs/en/intlayer_with_nextjs_14.md +120 -43
  232. package/docs/en/intlayer_with_nextjs_15.md +120 -44
  233. package/docs/en/intlayer_with_nextjs_16.md +121 -43
  234. package/docs/en/intlayer_with_nextjs_compiler.md +111 -2
  235. package/docs/en/intlayer_with_nextjs_no_locale_path.md +115 -3
  236. package/docs/en/intlayer_with_nextjs_page_router.md +110 -95
  237. package/docs/en/intlayer_with_nuxt.md +104 -2
  238. package/docs/en/intlayer_with_react_native+expo.md +103 -8
  239. package/docs/en/intlayer_with_react_router_v7.md +113 -4
  240. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +112 -5
  241. package/docs/en/intlayer_with_solid_start.md +117 -2
  242. package/docs/en/intlayer_with_storybook.md +0 -13
  243. package/docs/en/intlayer_with_svelte_kit.md +99 -2
  244. package/docs/en/intlayer_with_tanstack+solid.md +120 -16
  245. package/docs/en/intlayer_with_tanstack.md +114 -16
  246. package/docs/en/intlayer_with_vanilla.md +111 -3
  247. package/docs/en/intlayer_with_vite+lit.md +113 -2
  248. package/docs/en/intlayer_with_vite+preact.md +143 -34
  249. package/docs/en/intlayer_with_vite+react.md +101 -4
  250. package/docs/en/intlayer_with_vite+react_compiler.md +107 -2
  251. package/docs/en/intlayer_with_vite+solid.md +113 -2
  252. package/docs/en/intlayer_with_vite+svelte.md +113 -2
  253. package/docs/en/intlayer_with_vite+vanilla.md +119 -2
  254. package/docs/en/intlayer_with_vite+vue.md +98 -2
  255. package/docs/en/introduction.md +105 -2
  256. package/docs/en/migration_from_i18next_to_intlayer.md +0 -2
  257. package/docs/en/migration_from_next-i18next_to_intlayer.md +0 -2
  258. package/docs/en/migration_from_next-intl_to_intlayer.md +0 -2
  259. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  260. package/docs/en/migration_from_react-i18next_to_intlayer.md +0 -2
  261. package/docs/en/migration_from_vue-i18n_to_intlayer.md +0 -2
  262. package/docs/en/packages/vite-intlayer/intlayerMinify.md +1 -1
  263. package/docs/en-GB/analytics.md +527 -58
  264. package/docs/en-GB/configuration.md +99 -1
  265. package/docs/en-GB/dictionary/content_file.md +4 -4
  266. package/docs/en-GB/dictionary/html.md +117 -1
  267. package/docs/en-GB/dictionary/markdown.md +18 -1
  268. package/docs/en-GB/dictionary/plurial.md +5 -2
  269. package/docs/en-GB/dictionary/translation.md +1 -1
  270. package/docs/en-GB/how_works_intlayer.md +93 -1
  271. package/docs/en-GB/interest_of_intlayer.md +97 -2
  272. package/docs/en-GB/intlayer_CMS.md +93 -1
  273. package/docs/en-GB/intlayer_visual_editor.md +88 -2
  274. package/docs/en-GB/intlayer_with_adonisjs.md +121 -1
  275. package/docs/en-GB/intlayer_with_analog.md +111 -2
  276. package/docs/en-GB/intlayer_with_angular_19.md +109 -2
  277. package/docs/en-GB/intlayer_with_angular_21.md +103 -2
  278. package/docs/en-GB/intlayer_with_astro.md +111 -14
  279. package/docs/en-GB/intlayer_with_astro_lit.md +112 -4
  280. package/docs/en-GB/intlayer_with_astro_preact.md +112 -4
  281. package/docs/en-GB/intlayer_with_astro_react.md +112 -4
  282. package/docs/en-GB/intlayer_with_astro_solid.md +112 -4
  283. package/docs/en-GB/intlayer_with_astro_svelte.md +112 -4
  284. package/docs/en-GB/intlayer_with_astro_vanilla.md +106 -4
  285. package/docs/en-GB/intlayer_with_astro_vue.md +112 -4
  286. package/docs/en-GB/intlayer_with_create_react_app.md +105 -2
  287. package/docs/en-GB/intlayer_with_elysia.md +121 -1
  288. package/docs/en-GB/intlayer_with_express.md +115 -1
  289. package/docs/en-GB/intlayer_with_fastify.md +115 -1
  290. package/docs/en-GB/intlayer_with_hono.md +115 -1
  291. package/docs/en-GB/intlayer_with_htmx.md +757 -0
  292. package/docs/en-GB/intlayer_with_lynx+react.md +0 -7
  293. package/docs/en-GB/intlayer_with_nestjs.md +115 -1
  294. package/docs/en-GB/intlayer_with_nextjs_14.md +120 -44
  295. package/docs/en-GB/intlayer_with_nextjs_15.md +123 -45
  296. package/docs/en-GB/intlayer_with_nextjs_16.md +121 -44
  297. package/docs/en-GB/intlayer_with_nextjs_compiler.md +121 -12
  298. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +115 -3
  299. package/docs/en-GB/intlayer_with_nextjs_page_router.md +122 -137
  300. package/docs/en-GB/intlayer_with_nuxt.md +104 -2
  301. package/docs/en-GB/intlayer_with_react_native+expo.md +103 -8
  302. package/docs/en-GB/intlayer_with_react_router_v7.md +113 -4
  303. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +111 -4
  304. package/docs/en-GB/intlayer_with_solid_start.md +117 -2
  305. package/docs/en-GB/intlayer_with_storybook.md +0 -13
  306. package/docs/en-GB/intlayer_with_svelte_kit.md +99 -2
  307. package/docs/en-GB/intlayer_with_tanstack+solid.md +120 -16
  308. package/docs/en-GB/intlayer_with_tanstack.md +255 -167
  309. package/docs/en-GB/intlayer_with_vanilla.md +111 -3
  310. package/docs/en-GB/intlayer_with_vite+lit.md +113 -2
  311. package/docs/en-GB/intlayer_with_vite+preact.md +179 -32
  312. package/docs/en-GB/intlayer_with_vite+react.md +101 -13
  313. package/docs/en-GB/intlayer_with_vite+react_compiler.md +107 -2
  314. package/docs/en-GB/intlayer_with_vite+solid.md +118 -2
  315. package/docs/en-GB/intlayer_with_vite+svelte.md +113 -11
  316. package/docs/en-GB/intlayer_with_vite+vanilla.md +119 -2
  317. package/docs/en-GB/intlayer_with_vite+vue.md +102 -8
  318. package/docs/en-GB/introduction.md +105 -2
  319. package/docs/en-GB/migration_from_i18next_to_intlayer.md +0 -2
  320. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +0 -2
  321. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +0 -2
  322. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  323. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +0 -2
  324. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +0 -2
  325. package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +1 -1
  326. package/docs/es/analytics.md +458 -12
  327. package/docs/es/configuration.md +99 -1
  328. package/docs/es/dictionary/content_file.md +4 -4
  329. package/docs/es/dictionary/markdown.md +18 -1
  330. package/docs/es/dictionary/plurial.md +5 -2
  331. package/docs/es/how_works_intlayer.md +93 -1
  332. package/docs/es/interest_of_intlayer.md +97 -2
  333. package/docs/es/intlayer_CMS.md +93 -1
  334. package/docs/es/intlayer_visual_editor.md +88 -2
  335. package/docs/es/intlayer_with_adonisjs.md +121 -1
  336. package/docs/es/intlayer_with_analog.md +111 -2
  337. package/docs/es/intlayer_with_angular_19.md +109 -2
  338. package/docs/es/intlayer_with_angular_21.md +103 -2
  339. package/docs/es/intlayer_with_astro.md +111 -14
  340. package/docs/es/intlayer_with_astro_lit.md +112 -4
  341. package/docs/es/intlayer_with_astro_preact.md +112 -4
  342. package/docs/es/intlayer_with_astro_react.md +112 -4
  343. package/docs/es/intlayer_with_astro_solid.md +112 -4
  344. package/docs/es/intlayer_with_astro_svelte.md +112 -4
  345. package/docs/es/intlayer_with_astro_vanilla.md +106 -4
  346. package/docs/es/intlayer_with_astro_vue.md +112 -4
  347. package/docs/es/intlayer_with_create_react_app.md +107 -2
  348. package/docs/es/intlayer_with_elysia.md +121 -1
  349. package/docs/es/intlayer_with_express.md +115 -1
  350. package/docs/es/intlayer_with_fastify.md +115 -1
  351. package/docs/es/intlayer_with_hono.md +115 -1
  352. package/docs/es/intlayer_with_htmx.md +763 -0
  353. package/docs/es/intlayer_with_lynx+react.md +0 -7
  354. package/docs/es/intlayer_with_nestjs.md +115 -1
  355. package/docs/es/intlayer_with_nextjs_14.md +120 -44
  356. package/docs/es/intlayer_with_nextjs_15.md +123 -45
  357. package/docs/es/intlayer_with_nextjs_16.md +142 -52
  358. package/docs/es/intlayer_with_nextjs_compiler.md +122 -12
  359. package/docs/es/intlayer_with_nextjs_no_locale_path.md +115 -3
  360. package/docs/es/intlayer_with_nextjs_page_router.md +110 -95
  361. package/docs/es/intlayer_with_nuxt.md +104 -2
  362. package/docs/es/intlayer_with_react_native+expo.md +103 -8
  363. package/docs/es/intlayer_with_react_router_v7.md +113 -4
  364. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +111 -4
  365. package/docs/es/intlayer_with_solid_start.md +117 -2
  366. package/docs/es/intlayer_with_storybook.md +0 -13
  367. package/docs/es/intlayer_with_svelte_kit.md +99 -2
  368. package/docs/es/intlayer_with_tanstack+solid.md +119 -16
  369. package/docs/es/intlayer_with_tanstack.md +252 -147
  370. package/docs/es/intlayer_with_vanilla.md +111 -3
  371. package/docs/es/intlayer_with_vite+lit.md +113 -2
  372. package/docs/es/intlayer_with_vite+preact.md +143 -34
  373. package/docs/es/intlayer_with_vite+react.md +101 -4
  374. package/docs/es/intlayer_with_vite+react_compiler.md +107 -2
  375. package/docs/es/intlayer_with_vite+solid.md +114 -2
  376. package/docs/es/intlayer_with_vite+svelte.md +113 -2
  377. package/docs/es/intlayer_with_vite+vanilla.md +119 -2
  378. package/docs/es/intlayer_with_vite+vue.md +99 -3
  379. package/docs/es/introduction.md +105 -2
  380. package/docs/es/migration_from_i18next_to_intlayer.md +0 -2
  381. package/docs/es/migration_from_next-i18next_to_intlayer.md +0 -2
  382. package/docs/es/migration_from_next-intl_to_intlayer.md +0 -2
  383. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  384. package/docs/es/migration_from_react-i18next_to_intlayer.md +0 -2
  385. package/docs/es/migration_from_vue-i18n_to_intlayer.md +0 -2
  386. package/docs/es/packages/vite-intlayer/intlayerMinify.md +1 -1
  387. package/docs/fr/analytics.md +437 -13
  388. package/docs/fr/configuration.md +99 -1
  389. package/docs/fr/dictionary/content_file.md +4 -4
  390. package/docs/fr/dictionary/markdown.md +18 -1
  391. package/docs/fr/dictionary/plurial.md +5 -2
  392. package/docs/fr/how_works_intlayer.md +93 -1
  393. package/docs/fr/interest_of_intlayer.md +97 -2
  394. package/docs/fr/intlayer_CMS.md +93 -1
  395. package/docs/fr/intlayer_visual_editor.md +88 -2
  396. package/docs/fr/intlayer_with_adonisjs.md +121 -1
  397. package/docs/fr/intlayer_with_analog.md +111 -2
  398. package/docs/fr/intlayer_with_angular_19.md +109 -2
  399. package/docs/fr/intlayer_with_angular_21.md +103 -2
  400. package/docs/fr/intlayer_with_astro.md +111 -14
  401. package/docs/fr/intlayer_with_astro_lit.md +112 -4
  402. package/docs/fr/intlayer_with_astro_preact.md +112 -4
  403. package/docs/fr/intlayer_with_astro_react.md +112 -4
  404. package/docs/fr/intlayer_with_astro_solid.md +112 -4
  405. package/docs/fr/intlayer_with_astro_svelte.md +112 -4
  406. package/docs/fr/intlayer_with_astro_vanilla.md +106 -4
  407. package/docs/fr/intlayer_with_astro_vue.md +112 -4
  408. package/docs/fr/intlayer_with_create_react_app.md +107 -2
  409. package/docs/fr/intlayer_with_elysia.md +121 -1
  410. package/docs/fr/intlayer_with_express.md +115 -1
  411. package/docs/fr/intlayer_with_fastify.md +115 -1
  412. package/docs/fr/intlayer_with_hono.md +115 -1
  413. package/docs/fr/intlayer_with_htmx.md +756 -0
  414. package/docs/fr/intlayer_with_lynx+react.md +0 -7
  415. package/docs/fr/intlayer_with_nestjs.md +115 -1
  416. package/docs/fr/intlayer_with_nextjs_14.md +138 -110
  417. package/docs/fr/intlayer_with_nextjs_15.md +124 -46
  418. package/docs/fr/intlayer_with_nextjs_16.md +121 -43
  419. package/docs/fr/intlayer_with_nextjs_compiler.md +122 -12
  420. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +115 -3
  421. package/docs/fr/intlayer_with_nextjs_page_router.md +110 -95
  422. package/docs/fr/intlayer_with_nuxt.md +104 -2
  423. package/docs/fr/intlayer_with_react_native+expo.md +103 -8
  424. package/docs/fr/intlayer_with_react_router_v7.md +117 -10
  425. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +111 -4
  426. package/docs/fr/intlayer_with_solid_start.md +117 -2
  427. package/docs/fr/intlayer_with_storybook.md +0 -13
  428. package/docs/fr/intlayer_with_svelte_kit.md +99 -2
  429. package/docs/fr/intlayer_with_tanstack+solid.md +119 -16
  430. package/docs/fr/intlayer_with_tanstack.md +235 -128
  431. package/docs/fr/intlayer_with_vanilla.md +111 -3
  432. package/docs/fr/intlayer_with_vite+lit.md +113 -2
  433. package/docs/fr/intlayer_with_vite+preact.md +143 -34
  434. package/docs/fr/intlayer_with_vite+react.md +101 -4
  435. package/docs/fr/intlayer_with_vite+react_compiler.md +107 -2
  436. package/docs/fr/intlayer_with_vite+solid.md +114 -2
  437. package/docs/fr/intlayer_with_vite+svelte.md +113 -2
  438. package/docs/fr/intlayer_with_vite+vanilla.md +119 -2
  439. package/docs/fr/intlayer_with_vite+vue.md +99 -3
  440. package/docs/fr/introduction.md +105 -2
  441. package/docs/fr/migration_from_i18next_to_intlayer.md +0 -2
  442. package/docs/fr/migration_from_next-i18next_to_intlayer.md +0 -2
  443. package/docs/fr/migration_from_next-intl_to_intlayer.md +0 -2
  444. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  445. package/docs/fr/migration_from_react-i18next_to_intlayer.md +0 -2
  446. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +0 -2
  447. package/docs/fr/packages/vite-intlayer/intlayerMinify.md +1 -1
  448. package/docs/hi/analytics.md +488 -21
  449. package/docs/hi/configuration.md +98 -0
  450. package/docs/hi/dictionary/content_file.md +4 -4
  451. package/docs/hi/dictionary/html.md +100 -3
  452. package/docs/hi/dictionary/markdown.md +3 -0
  453. package/docs/hi/dictionary/plurial.md +6 -3
  454. package/docs/hi/how_works_intlayer.md +92 -0
  455. package/docs/hi/interest_of_intlayer.md +106 -9
  456. package/docs/hi/intlayer_CMS.md +92 -0
  457. package/docs/hi/intlayer_visual_editor.md +87 -1
  458. package/docs/hi/intlayer_with_adonisjs.md +121 -0
  459. package/docs/hi/intlayer_with_analog.md +116 -8
  460. package/docs/hi/intlayer_with_angular_19.md +115 -8
  461. package/docs/hi/intlayer_with_angular_21.md +109 -8
  462. package/docs/hi/intlayer_with_astro.md +117 -20
  463. package/docs/hi/intlayer_with_astro_lit.md +118 -10
  464. package/docs/hi/intlayer_with_astro_preact.md +118 -10
  465. package/docs/hi/intlayer_with_astro_react.md +118 -10
  466. package/docs/hi/intlayer_with_astro_solid.md +118 -10
  467. package/docs/hi/intlayer_with_astro_svelte.md +118 -10
  468. package/docs/hi/intlayer_with_astro_vanilla.md +112 -10
  469. package/docs/hi/intlayer_with_astro_vue.md +118 -10
  470. package/docs/hi/intlayer_with_create_react_app.md +106 -1
  471. package/docs/hi/intlayer_with_elysia.md +121 -0
  472. package/docs/hi/intlayer_with_express.md +114 -0
  473. package/docs/hi/intlayer_with_fastify.md +115 -0
  474. package/docs/hi/intlayer_with_hono.md +114 -0
  475. package/docs/hi/intlayer_with_htmx.md +771 -0
  476. package/docs/hi/intlayer_with_lynx+react.md +7 -14
  477. package/docs/hi/intlayer_with_nestjs.md +115 -0
  478. package/docs/hi/intlayer_with_nextjs_14.md +144 -120
  479. package/docs/hi/intlayer_with_nextjs_15.md +129 -51
  480. package/docs/hi/intlayer_with_nextjs_16.md +129 -50
  481. package/docs/hi/intlayer_with_nextjs_compiler.md +121 -12
  482. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +121 -9
  483. package/docs/hi/intlayer_with_nextjs_page_router.md +123 -96
  484. package/docs/hi/intlayer_with_nuxt.md +110 -8
  485. package/docs/hi/intlayer_with_react_native+expo.md +102 -7
  486. package/docs/hi/intlayer_with_react_router_v7.md +119 -10
  487. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +122 -22
  488. package/docs/hi/intlayer_with_solid_start.md +115 -1
  489. package/docs/hi/intlayer_with_storybook.md +7 -20
  490. package/docs/hi/intlayer_with_svelte_kit.md +105 -8
  491. package/docs/hi/intlayer_with_tanstack+solid.md +124 -22
  492. package/docs/hi/intlayer_with_tanstack.md +269 -155
  493. package/docs/hi/intlayer_with_vanilla.md +117 -9
  494. package/docs/hi/intlayer_with_vite+lit.md +118 -8
  495. package/docs/hi/intlayer_with_vite+preact.md +170 -41
  496. package/docs/hi/intlayer_with_vite+react.md +108 -20
  497. package/docs/hi/intlayer_with_vite+react_compiler.md +106 -1
  498. package/docs/hi/intlayer_with_vite+solid.md +118 -8
  499. package/docs/hi/intlayer_with_vite+svelte.md +120 -9
  500. package/docs/hi/intlayer_with_vite+vanilla.md +125 -8
  501. package/docs/hi/intlayer_with_vite+vue.md +104 -8
  502. package/docs/hi/introduction.md +104 -1
  503. package/docs/hi/migration_from_i18next_to_intlayer.md +0 -2
  504. package/docs/hi/migration_from_next-i18next_to_intlayer.md +0 -2
  505. package/docs/hi/migration_from_next-intl_to_intlayer.md +0 -2
  506. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  507. package/docs/hi/migration_from_react-i18next_to_intlayer.md +0 -2
  508. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +0 -2
  509. package/docs/hi/packages/vite-intlayer/intlayerMinify.md +1 -1
  510. package/docs/id/analytics.md +488 -21
  511. package/docs/id/configuration.md +98 -0
  512. package/docs/id/dictionary/content_file.md +4 -4
  513. package/docs/id/dictionary/markdown.md +3 -0
  514. package/docs/id/dictionary/plurial.md +5 -2
  515. package/docs/id/how_works_intlayer.md +92 -0
  516. package/docs/id/interest_of_intlayer.md +96 -1
  517. package/docs/id/intlayer_CMS.md +92 -0
  518. package/docs/id/intlayer_visual_editor.md +87 -1
  519. package/docs/id/intlayer_with_adonisjs.md +121 -0
  520. package/docs/id/intlayer_with_analog.md +109 -1
  521. package/docs/id/intlayer_with_angular_19.md +108 -1
  522. package/docs/id/intlayer_with_angular_21.md +102 -1
  523. package/docs/id/intlayer_with_astro.md +110 -13
  524. package/docs/id/intlayer_with_astro_lit.md +111 -3
  525. package/docs/id/intlayer_with_astro_preact.md +111 -3
  526. package/docs/id/intlayer_with_astro_react.md +111 -3
  527. package/docs/id/intlayer_with_astro_solid.md +111 -3
  528. package/docs/id/intlayer_with_astro_svelte.md +111 -3
  529. package/docs/id/intlayer_with_astro_vanilla.md +105 -3
  530. package/docs/id/intlayer_with_astro_vue.md +111 -3
  531. package/docs/id/intlayer_with_create_react_app.md +106 -1
  532. package/docs/id/intlayer_with_elysia.md +121 -0
  533. package/docs/id/intlayer_with_express.md +114 -0
  534. package/docs/id/intlayer_with_fastify.md +115 -0
  535. package/docs/id/intlayer_with_hono.md +114 -0
  536. package/docs/id/intlayer_with_htmx.md +761 -0
  537. package/docs/id/intlayer_with_lynx+react.md +0 -7
  538. package/docs/id/intlayer_with_nestjs.md +115 -0
  539. package/docs/id/intlayer_with_nextjs_14.md +132 -66
  540. package/docs/id/intlayer_with_nextjs_15.md +119 -43
  541. package/docs/id/intlayer_with_nextjs_16.md +122 -42
  542. package/docs/id/intlayer_with_nextjs_compiler.md +122 -14
  543. package/docs/id/intlayer_with_nextjs_no_locale_path.md +114 -2
  544. package/docs/id/intlayer_with_nextjs_page_router.md +111 -94
  545. package/docs/id/intlayer_with_nuxt.md +103 -1
  546. package/docs/id/intlayer_with_react_native+expo.md +102 -7
  547. package/docs/id/intlayer_with_react_router_v7.md +112 -3
  548. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +116 -16
  549. package/docs/id/intlayer_with_solid_start.md +115 -1
  550. package/docs/id/intlayer_with_storybook.md +0 -13
  551. package/docs/id/intlayer_with_svelte_kit.md +98 -1
  552. package/docs/id/intlayer_with_tanstack+solid.md +117 -15
  553. package/docs/id/intlayer_with_tanstack.md +229 -129
  554. package/docs/id/intlayer_with_vanilla.md +110 -2
  555. package/docs/id/intlayer_with_vite+lit.md +111 -1
  556. package/docs/id/intlayer_with_vite+preact.md +141 -33
  557. package/docs/id/intlayer_with_vite+react.md +101 -13
  558. package/docs/id/intlayer_with_vite+react_compiler.md +106 -1
  559. package/docs/id/intlayer_with_vite+solid.md +112 -1
  560. package/docs/id/intlayer_with_vite+svelte.md +111 -1
  561. package/docs/id/intlayer_with_vite+vanilla.md +118 -1
  562. package/docs/id/intlayer_with_vite+vue.md +97 -1
  563. package/docs/id/introduction.md +104 -1
  564. package/docs/id/migration_from_i18next_to_intlayer.md +0 -2
  565. package/docs/id/migration_from_next-i18next_to_intlayer.md +0 -2
  566. package/docs/id/migration_from_next-intl_to_intlayer.md +0 -2
  567. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  568. package/docs/id/migration_from_react-i18next_to_intlayer.md +0 -2
  569. package/docs/id/migration_from_vue-i18n_to_intlayer.md +0 -2
  570. package/docs/id/packages/vite-intlayer/intlayerMinify.md +1 -1
  571. package/docs/it/analytics.md +488 -21
  572. package/docs/it/configuration.md +99 -1
  573. package/docs/it/dictionary/content_file.md +4 -4
  574. package/docs/it/dictionary/markdown.md +18 -1
  575. package/docs/it/dictionary/plurial.md +5 -2
  576. package/docs/it/how_works_intlayer.md +93 -1
  577. package/docs/it/interest_of_intlayer.md +97 -2
  578. package/docs/it/intlayer_CMS.md +93 -1
  579. package/docs/it/intlayer_visual_editor.md +88 -2
  580. package/docs/it/intlayer_with_adonisjs.md +121 -1
  581. package/docs/it/intlayer_with_analog.md +111 -2
  582. package/docs/it/intlayer_with_angular_19.md +109 -2
  583. package/docs/it/intlayer_with_angular_21.md +103 -2
  584. package/docs/it/intlayer_with_astro.md +111 -14
  585. package/docs/it/intlayer_with_astro_lit.md +112 -4
  586. package/docs/it/intlayer_with_astro_preact.md +112 -4
  587. package/docs/it/intlayer_with_astro_react.md +112 -4
  588. package/docs/it/intlayer_with_astro_solid.md +112 -4
  589. package/docs/it/intlayer_with_astro_svelte.md +112 -4
  590. package/docs/it/intlayer_with_astro_vanilla.md +106 -4
  591. package/docs/it/intlayer_with_astro_vue.md +112 -4
  592. package/docs/it/intlayer_with_create_react_app.md +107 -2
  593. package/docs/it/intlayer_with_elysia.md +121 -1
  594. package/docs/it/intlayer_with_express.md +115 -1
  595. package/docs/it/intlayer_with_fastify.md +115 -1
  596. package/docs/it/intlayer_with_hono.md +115 -1
  597. package/docs/it/intlayer_with_htmx.md +761 -0
  598. package/docs/it/intlayer_with_lynx+react.md +0 -7
  599. package/docs/it/intlayer_with_nestjs.md +115 -1
  600. package/docs/it/intlayer_with_nextjs_14.md +138 -115
  601. package/docs/it/intlayer_with_nextjs_15.md +124 -47
  602. package/docs/it/intlayer_with_nextjs_16.md +123 -44
  603. package/docs/it/intlayer_with_nextjs_compiler.md +123 -14
  604. package/docs/it/intlayer_with_nextjs_no_locale_path.md +115 -3
  605. package/docs/it/intlayer_with_nextjs_page_router.md +119 -95
  606. package/docs/it/intlayer_with_nuxt.md +104 -2
  607. package/docs/it/intlayer_with_react_native+expo.md +103 -8
  608. package/docs/it/intlayer_with_react_router_v7.md +113 -4
  609. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +111 -4
  610. package/docs/it/intlayer_with_solid_start.md +117 -2
  611. package/docs/it/intlayer_with_storybook.md +0 -13
  612. package/docs/it/intlayer_with_svelte_kit.md +99 -2
  613. package/docs/it/intlayer_with_tanstack+solid.md +119 -16
  614. package/docs/it/intlayer_with_tanstack.md +232 -131
  615. package/docs/it/intlayer_with_vanilla.md +111 -3
  616. package/docs/it/intlayer_with_vite+lit.md +113 -2
  617. package/docs/it/intlayer_with_vite+preact.md +143 -34
  618. package/docs/it/intlayer_with_vite+react.md +102 -14
  619. package/docs/it/intlayer_with_vite+react_compiler.md +107 -2
  620. package/docs/it/intlayer_with_vite+solid.md +114 -2
  621. package/docs/it/intlayer_with_vite+svelte.md +113 -2
  622. package/docs/it/intlayer_with_vite+vanilla.md +119 -2
  623. package/docs/it/intlayer_with_vite+vue.md +99 -3
  624. package/docs/it/introduction.md +105 -2
  625. package/docs/it/migration_from_i18next_to_intlayer.md +0 -2
  626. package/docs/it/migration_from_next-i18next_to_intlayer.md +0 -2
  627. package/docs/it/migration_from_next-intl_to_intlayer.md +0 -2
  628. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  629. package/docs/it/migration_from_react-i18next_to_intlayer.md +0 -2
  630. package/docs/it/migration_from_vue-i18n_to_intlayer.md +0 -2
  631. package/docs/it/packages/vite-intlayer/intlayerMinify.md +1 -1
  632. package/docs/ja/analytics.md +458 -12
  633. package/docs/ja/configuration.md +99 -1
  634. package/docs/ja/dictionary/content_file.md +4 -4
  635. package/docs/ja/dictionary/plurial.md +5 -2
  636. package/docs/ja/how_works_intlayer.md +93 -1
  637. package/docs/ja/interest_of_intlayer.md +107 -10
  638. package/docs/ja/intlayer_CMS.md +93 -1
  639. package/docs/ja/intlayer_visual_editor.md +88 -2
  640. package/docs/ja/intlayer_with_adonisjs.md +121 -1
  641. package/docs/ja/intlayer_with_analog.md +119 -10
  642. package/docs/ja/intlayer_with_angular_19.md +117 -10
  643. package/docs/ja/intlayer_with_angular_21.md +111 -10
  644. package/docs/ja/intlayer_with_astro.md +119 -22
  645. package/docs/ja/intlayer_with_astro_lit.md +120 -12
  646. package/docs/ja/intlayer_with_astro_preact.md +120 -12
  647. package/docs/ja/intlayer_with_astro_react.md +120 -12
  648. package/docs/ja/intlayer_with_astro_solid.md +120 -12
  649. package/docs/ja/intlayer_with_astro_svelte.md +120 -12
  650. package/docs/ja/intlayer_with_astro_vanilla.md +114 -12
  651. package/docs/ja/intlayer_with_astro_vue.md +120 -12
  652. package/docs/ja/intlayer_with_create_react_app.md +107 -2
  653. package/docs/ja/intlayer_with_elysia.md +121 -1
  654. package/docs/ja/intlayer_with_express.md +121 -1
  655. package/docs/ja/intlayer_with_fastify.md +115 -1
  656. package/docs/ja/intlayer_with_hono.md +115 -1
  657. package/docs/ja/intlayer_with_htmx.md +769 -0
  658. package/docs/ja/intlayer_with_lynx+react.md +8 -15
  659. package/docs/ja/intlayer_with_nestjs.md +115 -1
  660. package/docs/ja/intlayer_with_nextjs_14.md +128 -51
  661. package/docs/ja/intlayer_with_nextjs_15.md +136 -59
  662. package/docs/ja/intlayer_with_nextjs_16.md +131 -52
  663. package/docs/ja/intlayer_with_nextjs_compiler.md +123 -15
  664. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +123 -11
  665. package/docs/ja/intlayer_with_nextjs_page_router.md +215 -110
  666. package/docs/ja/intlayer_with_nuxt.md +112 -10
  667. package/docs/ja/intlayer_with_react_native+expo.md +103 -8
  668. package/docs/ja/intlayer_with_react_router_v7.md +121 -11
  669. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +123 -23
  670. package/docs/ja/intlayer_with_solid_start.md +117 -2
  671. package/docs/ja/intlayer_with_storybook.md +8 -21
  672. package/docs/ja/intlayer_with_svelte_kit.md +107 -10
  673. package/docs/ja/intlayer_with_tanstack+solid.md +128 -24
  674. package/docs/ja/intlayer_with_tanstack.md +254 -203
  675. package/docs/ja/intlayer_with_vanilla.md +119 -11
  676. package/docs/ja/intlayer_with_vite+lit.md +121 -10
  677. package/docs/ja/intlayer_with_vite+preact.md +151 -23
  678. package/docs/ja/intlayer_with_vite+react.md +109 -12
  679. package/docs/ja/intlayer_with_vite+react_compiler.md +107 -2
  680. package/docs/ja/intlayer_with_vite+solid.md +121 -10
  681. package/docs/ja/intlayer_with_vite+svelte.md +121 -10
  682. package/docs/ja/intlayer_with_vite+vanilla.md +127 -10
  683. package/docs/ja/intlayer_with_vite+vue.md +107 -11
  684. package/docs/ja/introduction.md +105 -2
  685. package/docs/ja/migration_from_i18next_to_intlayer.md +0 -2
  686. package/docs/ja/migration_from_next-i18next_to_intlayer.md +0 -2
  687. package/docs/ja/migration_from_next-intl_to_intlayer.md +0 -2
  688. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  689. package/docs/ja/migration_from_react-i18next_to_intlayer.md +0 -2
  690. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +0 -2
  691. package/docs/ja/packages/vite-intlayer/intlayerMinify.md +1 -1
  692. package/docs/ko/analytics.md +457 -11
  693. package/docs/ko/configuration.md +99 -1
  694. package/docs/ko/dictionary/content_file.md +4 -4
  695. package/docs/ko/dictionary/markdown.md +18 -1
  696. package/docs/ko/dictionary/plurial.md +6 -3
  697. package/docs/ko/how_works_intlayer.md +93 -1
  698. package/docs/ko/interest_of_intlayer.md +98 -3
  699. package/docs/ko/intlayer_CMS.md +93 -1
  700. package/docs/ko/intlayer_visual_editor.md +88 -2
  701. package/docs/ko/intlayer_with_adonisjs.md +121 -1
  702. package/docs/ko/intlayer_with_analog.md +111 -2
  703. package/docs/ko/intlayer_with_angular_19.md +110 -3
  704. package/docs/ko/intlayer_with_angular_21.md +104 -3
  705. package/docs/ko/intlayer_with_astro.md +119 -19
  706. package/docs/ko/intlayer_with_astro_lit.md +112 -4
  707. package/docs/ko/intlayer_with_astro_preact.md +112 -4
  708. package/docs/ko/intlayer_with_astro_react.md +112 -4
  709. package/docs/ko/intlayer_with_astro_solid.md +112 -4
  710. package/docs/ko/intlayer_with_astro_svelte.md +112 -4
  711. package/docs/ko/intlayer_with_astro_vanilla.md +106 -4
  712. package/docs/ko/intlayer_with_astro_vue.md +112 -4
  713. package/docs/ko/intlayer_with_create_react_app.md +107 -5
  714. package/docs/ko/intlayer_with_elysia.md +121 -1
  715. package/docs/ko/intlayer_with_express.md +115 -1
  716. package/docs/ko/intlayer_with_fastify.md +115 -2
  717. package/docs/ko/intlayer_with_hono.md +115 -1
  718. package/docs/ko/intlayer_with_htmx.md +763 -0
  719. package/docs/ko/intlayer_with_lynx+react.md +0 -7
  720. package/docs/ko/intlayer_with_nestjs.md +115 -1
  721. package/docs/ko/intlayer_with_nextjs_14.md +118 -42
  722. package/docs/ko/intlayer_with_nextjs_15.md +118 -43
  723. package/docs/ko/intlayer_with_nextjs_16.md +121 -43
  724. package/docs/ko/intlayer_with_nextjs_compiler.md +110 -1
  725. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +117 -7
  726. package/docs/ko/intlayer_with_nextjs_page_router.md +110 -94
  727. package/docs/ko/intlayer_with_nuxt.md +104 -2
  728. package/docs/ko/intlayer_with_react_native+expo.md +103 -8
  729. package/docs/ko/intlayer_with_react_router_v7.md +116 -10
  730. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +113 -11
  731. package/docs/ko/intlayer_with_solid_start.md +122 -7
  732. package/docs/ko/intlayer_with_storybook.md +0 -14
  733. package/docs/ko/intlayer_with_svelte_kit.md +99 -2
  734. package/docs/ko/intlayer_with_tanstack+solid.md +121 -17
  735. package/docs/ko/intlayer_with_tanstack.md +260 -191
  736. package/docs/ko/intlayer_with_vanilla.md +111 -2
  737. package/docs/ko/intlayer_with_vite+lit.md +114 -3
  738. package/docs/ko/intlayer_with_vite+preact.md +143 -34
  739. package/docs/ko/intlayer_with_vite+react.md +101 -5
  740. package/docs/ko/intlayer_with_vite+react_compiler.md +107 -10
  741. package/docs/ko/intlayer_with_vite+solid.md +115 -2
  742. package/docs/ko/intlayer_with_vite+svelte.md +114 -6
  743. package/docs/ko/intlayer_with_vite+vanilla.md +121 -11
  744. package/docs/ko/intlayer_with_vite+vue.md +99 -3
  745. package/docs/ko/introduction.md +105 -2
  746. package/docs/ko/migration_from_i18next_to_intlayer.md +0 -2
  747. package/docs/ko/migration_from_next-i18next_to_intlayer.md +0 -2
  748. package/docs/ko/migration_from_next-intl_to_intlayer.md +0 -2
  749. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  750. package/docs/ko/migration_from_react-i18next_to_intlayer.md +0 -2
  751. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +0 -2
  752. package/docs/ko/packages/express-intlayer/t.md +9 -6
  753. package/docs/ko/packages/vite-intlayer/intlayerMinify.md +1 -1
  754. package/docs/nl/interest_of_intlayer.md +0 -1
  755. package/docs/nl/intlayer_with_storybook.md +0 -12
  756. package/docs/nl/intlayer_with_vanilla.md +2 -1
  757. package/docs/nl/introduction.md +0 -1
  758. package/docs/pl/analytics.md +488 -21
  759. package/docs/pl/configuration.md +98 -0
  760. package/docs/pl/dictionary/content_file.md +4 -4
  761. package/docs/pl/dictionary/markdown.md +3 -0
  762. package/docs/pl/dictionary/plurial.md +5 -2
  763. package/docs/pl/how_works_intlayer.md +92 -0
  764. package/docs/pl/interest_of_intlayer.md +96 -1
  765. package/docs/pl/intlayer_CMS.md +92 -0
  766. package/docs/pl/intlayer_visual_editor.md +87 -1
  767. package/docs/pl/intlayer_with_adonisjs.md +120 -0
  768. package/docs/pl/intlayer_with_analog.md +116 -8
  769. package/docs/pl/intlayer_with_angular_19.md +115 -8
  770. package/docs/pl/intlayer_with_angular_21.md +109 -8
  771. package/docs/pl/intlayer_with_astro.md +117 -20
  772. package/docs/pl/intlayer_with_astro_lit.md +118 -10
  773. package/docs/pl/intlayer_with_astro_preact.md +118 -10
  774. package/docs/pl/intlayer_with_astro_react.md +118 -10
  775. package/docs/pl/intlayer_with_astro_solid.md +118 -10
  776. package/docs/pl/intlayer_with_astro_svelte.md +118 -10
  777. package/docs/pl/intlayer_with_astro_vanilla.md +112 -10
  778. package/docs/pl/intlayer_with_astro_vue.md +118 -10
  779. package/docs/pl/intlayer_with_create_react_app.md +106 -1
  780. package/docs/pl/intlayer_with_elysia.md +120 -0
  781. package/docs/pl/intlayer_with_express.md +114 -0
  782. package/docs/pl/intlayer_with_fastify.md +114 -0
  783. package/docs/pl/intlayer_with_hono.md +114 -0
  784. package/docs/pl/intlayer_with_htmx.md +767 -0
  785. package/docs/pl/intlayer_with_lynx+react.md +7 -14
  786. package/docs/pl/intlayer_with_nestjs.md +114 -0
  787. package/docs/pl/intlayer_with_nextjs_14.md +127 -50
  788. package/docs/pl/intlayer_with_nextjs_15.md +141 -62
  789. package/docs/pl/intlayer_with_nextjs_16.md +128 -51
  790. package/docs/pl/intlayer_with_nextjs_compiler.md +122 -13
  791. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +122 -10
  792. package/docs/pl/intlayer_with_nextjs_page_router.md +115 -97
  793. package/docs/pl/intlayer_with_nuxt.md +110 -8
  794. package/docs/pl/intlayer_with_react_native+expo.md +102 -7
  795. package/docs/pl/intlayer_with_react_router_v7.md +131 -22
  796. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +121 -20
  797. package/docs/pl/intlayer_with_solid_start.md +115 -1
  798. package/docs/pl/intlayer_with_storybook.md +7 -20
  799. package/docs/pl/intlayer_with_svelte_kit.md +105 -8
  800. package/docs/pl/intlayer_with_tanstack+solid.md +124 -22
  801. package/docs/pl/intlayer_with_tanstack.md +238 -160
  802. package/docs/pl/intlayer_with_vanilla.md +117 -9
  803. package/docs/pl/intlayer_with_vite+lit.md +118 -8
  804. package/docs/pl/intlayer_with_vite+preact.md +148 -40
  805. package/docs/pl/intlayer_with_vite+react.md +108 -20
  806. package/docs/pl/intlayer_with_vite+react_compiler.md +108 -3
  807. package/docs/pl/intlayer_with_vite+solid.md +112 -5
  808. package/docs/pl/intlayer_with_vite+svelte.md +118 -8
  809. package/docs/pl/intlayer_with_vite+vanilla.md +125 -8
  810. package/docs/pl/intlayer_with_vite+vue.md +104 -8
  811. package/docs/pl/introduction.md +104 -1
  812. package/docs/pl/migration_from_i18next_to_intlayer.md +0 -2
  813. package/docs/pl/migration_from_next-i18next_to_intlayer.md +0 -2
  814. package/docs/pl/migration_from_next-intl_to_intlayer.md +0 -2
  815. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  816. package/docs/pl/migration_from_react-i18next_to_intlayer.md +0 -2
  817. package/docs/pl/migration_from_vue-i18n_to_intlayer.md +0 -2
  818. package/docs/pl/packages/next-intlayer/useIntlayer.md +3 -0
  819. package/docs/pl/packages/vite-intlayer/intlayerMinify.md +1 -1
  820. package/docs/pt/analytics.md +488 -21
  821. package/docs/pt/configuration.md +99 -1
  822. package/docs/pt/dictionary/content_file.md +4 -4
  823. package/docs/pt/dictionary/html.md +18 -1
  824. package/docs/pt/dictionary/markdown.md +3 -0
  825. package/docs/pt/dictionary/plurial.md +5 -2
  826. package/docs/pt/how_works_intlayer.md +93 -1
  827. package/docs/pt/interest_of_intlayer.md +98 -3
  828. package/docs/pt/intlayer_CMS.md +93 -1
  829. package/docs/pt/intlayer_visual_editor.md +88 -2
  830. package/docs/pt/intlayer_with_adonisjs.md +121 -1
  831. package/docs/pt/intlayer_with_analog.md +112 -3
  832. package/docs/pt/intlayer_with_angular_19.md +109 -2
  833. package/docs/pt/intlayer_with_angular_21.md +103 -2
  834. package/docs/pt/intlayer_with_astro.md +111 -14
  835. package/docs/pt/intlayer_with_astro_lit.md +112 -4
  836. package/docs/pt/intlayer_with_astro_preact.md +112 -4
  837. package/docs/pt/intlayer_with_astro_react.md +112 -4
  838. package/docs/pt/intlayer_with_astro_solid.md +112 -4
  839. package/docs/pt/intlayer_with_astro_svelte.md +112 -4
  840. package/docs/pt/intlayer_with_astro_vanilla.md +106 -4
  841. package/docs/pt/intlayer_with_astro_vue.md +111 -3
  842. package/docs/pt/intlayer_with_create_react_app.md +107 -2
  843. package/docs/pt/intlayer_with_elysia.md +121 -1
  844. package/docs/pt/intlayer_with_express.md +115 -1
  845. package/docs/pt/intlayer_with_fastify.md +115 -2
  846. package/docs/pt/intlayer_with_hono.md +115 -1
  847. package/docs/pt/intlayer_with_htmx.md +771 -0
  848. package/docs/pt/intlayer_with_lynx+react.md +0 -7
  849. package/docs/pt/intlayer_with_nestjs.md +115 -1
  850. package/docs/pt/intlayer_with_nextjs_14.md +138 -117
  851. package/docs/pt/intlayer_with_nextjs_15.md +120 -45
  852. package/docs/pt/intlayer_with_nextjs_16.md +122 -45
  853. package/docs/pt/intlayer_with_nextjs_compiler.md +122 -12
  854. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +115 -3
  855. package/docs/pt/intlayer_with_nextjs_page_router.md +121 -95
  856. package/docs/pt/intlayer_with_nuxt.md +104 -2
  857. package/docs/pt/intlayer_with_react_native+expo.md +103 -8
  858. package/docs/pt/intlayer_with_react_router_v7.md +140 -33
  859. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +115 -8
  860. package/docs/pt/intlayer_with_solid_start.md +121 -6
  861. package/docs/pt/intlayer_with_storybook.md +0 -13
  862. package/docs/pt/intlayer_with_svelte_kit.md +99 -2
  863. package/docs/pt/intlayer_with_tanstack+solid.md +120 -16
  864. package/docs/pt/intlayer_with_tanstack.md +252 -144
  865. package/docs/pt/intlayer_with_vanilla.md +111 -3
  866. package/docs/pt/intlayer_with_vite+lit.md +113 -2
  867. package/docs/pt/intlayer_with_vite+preact.md +143 -34
  868. package/docs/pt/intlayer_with_vite+react.md +101 -4
  869. package/docs/pt/intlayer_with_vite+react_compiler.md +107 -2
  870. package/docs/pt/intlayer_with_vite+solid.md +114 -2
  871. package/docs/pt/intlayer_with_vite+svelte.md +113 -2
  872. package/docs/pt/intlayer_with_vite+vanilla.md +119 -2
  873. package/docs/pt/intlayer_with_vite+vue.md +98 -2
  874. package/docs/pt/introduction.md +105 -2
  875. package/docs/pt/migration_from_i18next_to_intlayer.md +0 -2
  876. package/docs/pt/migration_from_next-i18next_to_intlayer.md +0 -2
  877. package/docs/pt/migration_from_next-intl_to_intlayer.md +0 -2
  878. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  879. package/docs/pt/migration_from_react-i18next_to_intlayer.md +0 -2
  880. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +0 -2
  881. package/docs/pt/packages/vite-intlayer/intlayerMinify.md +1 -1
  882. package/docs/ru/analytics.md +458 -12
  883. package/docs/ru/cli/doc-review.md +0 -2
  884. package/docs/ru/configuration.md +99 -1
  885. package/docs/ru/dictionary/content_file.md +4 -4
  886. package/docs/ru/dictionary/markdown.md +0 -2
  887. package/docs/ru/dictionary/plurial.md +6 -3
  888. package/docs/ru/dictionary/translation.md +1 -1
  889. package/docs/ru/how_works_intlayer.md +93 -1
  890. package/docs/ru/interest_of_intlayer.md +97 -2
  891. package/docs/ru/intlayer_CMS.md +93 -1
  892. package/docs/ru/intlayer_visual_editor.md +88 -2
  893. package/docs/ru/intlayer_with_adonisjs.md +121 -1
  894. package/docs/ru/intlayer_with_analog.md +111 -2
  895. package/docs/ru/intlayer_with_angular_19.md +109 -2
  896. package/docs/ru/intlayer_with_angular_21.md +103 -2
  897. package/docs/ru/intlayer_with_astro.md +111 -14
  898. package/docs/ru/intlayer_with_astro_lit.md +112 -4
  899. package/docs/ru/intlayer_with_astro_preact.md +112 -4
  900. package/docs/ru/intlayer_with_astro_react.md +112 -4
  901. package/docs/ru/intlayer_with_astro_solid.md +112 -4
  902. package/docs/ru/intlayer_with_astro_svelte.md +112 -4
  903. package/docs/ru/intlayer_with_astro_vanilla.md +106 -4
  904. package/docs/ru/intlayer_with_astro_vue.md +112 -4
  905. package/docs/ru/intlayer_with_create_react_app.md +107 -2
  906. package/docs/ru/intlayer_with_elysia.md +121 -1
  907. package/docs/ru/intlayer_with_express.md +115 -1
  908. package/docs/ru/intlayer_with_fastify.md +115 -1
  909. package/docs/ru/intlayer_with_hono.md +115 -1
  910. package/docs/ru/intlayer_with_htmx.md +767 -0
  911. package/docs/ru/intlayer_with_lynx+react.md +0 -7
  912. package/docs/ru/intlayer_with_nestjs.md +115 -1
  913. package/docs/ru/intlayer_with_nextjs_14.md +138 -114
  914. package/docs/ru/intlayer_with_nextjs_15.md +123 -62
  915. package/docs/ru/intlayer_with_nextjs_16.md +122 -45
  916. package/docs/ru/intlayer_with_nextjs_compiler.md +123 -14
  917. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +115 -3
  918. package/docs/ru/intlayer_with_nextjs_page_router.md +110 -95
  919. package/docs/ru/intlayer_with_nuxt.md +104 -2
  920. package/docs/ru/intlayer_with_react_native+expo.md +103 -8
  921. package/docs/ru/intlayer_with_react_router_v7.md +113 -4
  922. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +111 -4
  923. package/docs/ru/intlayer_with_solid_start.md +117 -2
  924. package/docs/ru/intlayer_with_storybook.md +0 -13
  925. package/docs/ru/intlayer_with_svelte_kit.md +99 -2
  926. package/docs/ru/intlayer_with_tanstack+solid.md +119 -16
  927. package/docs/ru/intlayer_with_tanstack.md +230 -151
  928. package/docs/ru/intlayer_with_vanilla.md +111 -3
  929. package/docs/ru/intlayer_with_vite+lit.md +113 -2
  930. package/docs/ru/intlayer_with_vite+preact.md +143 -34
  931. package/docs/ru/intlayer_with_vite+react.md +102 -14
  932. package/docs/ru/intlayer_with_vite+react_compiler.md +107 -2
  933. package/docs/ru/intlayer_with_vite+solid.md +114 -2
  934. package/docs/ru/intlayer_with_vite+svelte.md +115 -12
  935. package/docs/ru/intlayer_with_vite+vanilla.md +119 -2
  936. package/docs/ru/intlayer_with_vite+vue.md +99 -3
  937. package/docs/ru/introduction.md +105 -2
  938. package/docs/ru/migration_from_i18next_to_intlayer.md +0 -2
  939. package/docs/ru/migration_from_next-i18next_to_intlayer.md +0 -2
  940. package/docs/ru/migration_from_next-intl_to_intlayer.md +0 -2
  941. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  942. package/docs/ru/migration_from_react-i18next_to_intlayer.md +0 -2
  943. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +0 -2
  944. package/docs/ru/packages/vite-intlayer/intlayerMinify.md +1 -1
  945. package/docs/tr/analytics.md +488 -21
  946. package/docs/tr/cli/doc-review.md +0 -2
  947. package/docs/tr/configuration.md +98 -0
  948. package/docs/tr/dictionary/content_file.md +4 -4
  949. package/docs/tr/dictionary/markdown.md +3 -0
  950. package/docs/tr/dictionary/plurial.md +6 -3
  951. package/docs/tr/how_works_intlayer.md +92 -0
  952. package/docs/tr/interest_of_intlayer.md +96 -1
  953. package/docs/tr/intlayer_CMS.md +92 -0
  954. package/docs/tr/intlayer_visual_editor.md +87 -1
  955. package/docs/tr/intlayer_with_adonisjs.md +121 -0
  956. package/docs/tr/intlayer_with_analog.md +109 -1
  957. package/docs/tr/intlayer_with_angular_19.md +108 -1
  958. package/docs/tr/intlayer_with_angular_21.md +102 -1
  959. package/docs/tr/intlayer_with_astro.md +117 -27
  960. package/docs/tr/intlayer_with_astro_lit.md +111 -3
  961. package/docs/tr/intlayer_with_astro_preact.md +111 -3
  962. package/docs/tr/intlayer_with_astro_react.md +111 -3
  963. package/docs/tr/intlayer_with_astro_solid.md +111 -3
  964. package/docs/tr/intlayer_with_astro_svelte.md +111 -3
  965. package/docs/tr/intlayer_with_astro_vanilla.md +105 -3
  966. package/docs/tr/intlayer_with_astro_vue.md +111 -3
  967. package/docs/tr/intlayer_with_create_react_app.md +106 -1
  968. package/docs/tr/intlayer_with_elysia.md +121 -0
  969. package/docs/tr/intlayer_with_express.md +114 -0
  970. package/docs/tr/intlayer_with_fastify.md +115 -0
  971. package/docs/tr/intlayer_with_hono.md +114 -0
  972. package/docs/tr/intlayer_with_htmx.md +761 -0
  973. package/docs/tr/intlayer_with_lynx+react.md +0 -7
  974. package/docs/tr/intlayer_with_nestjs.md +115 -0
  975. package/docs/tr/intlayer_with_nextjs_14.md +125 -51
  976. package/docs/tr/intlayer_with_nextjs_15.md +119 -44
  977. package/docs/tr/intlayer_with_nextjs_16.md +120 -43
  978. package/docs/tr/intlayer_with_nextjs_compiler.md +121 -13
  979. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +114 -2
  980. package/docs/tr/intlayer_with_nextjs_page_router.md +124 -120
  981. package/docs/tr/intlayer_with_nuxt.md +103 -1
  982. package/docs/tr/intlayer_with_react_native+expo.md +102 -7
  983. package/docs/tr/intlayer_with_react_router_v7.md +112 -3
  984. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +110 -3
  985. package/docs/tr/intlayer_with_solid_start.md +115 -1
  986. package/docs/tr/intlayer_with_storybook.md +0 -13
  987. package/docs/tr/intlayer_with_svelte_kit.md +98 -1
  988. package/docs/tr/intlayer_with_tanstack+solid.md +117 -15
  989. package/docs/tr/intlayer_with_tanstack.md +259 -128
  990. package/docs/tr/intlayer_with_vanilla.md +110 -2
  991. package/docs/tr/intlayer_with_vite+lit.md +111 -1
  992. package/docs/tr/intlayer_with_vite+preact.md +141 -33
  993. package/docs/tr/intlayer_with_vite+react.md +100 -3
  994. package/docs/tr/intlayer_with_vite+react_compiler.md +106 -1
  995. package/docs/tr/intlayer_with_vite+solid.md +112 -1
  996. package/docs/tr/intlayer_with_vite+svelte.md +111 -1
  997. package/docs/tr/intlayer_with_vite+vanilla.md +118 -1
  998. package/docs/tr/intlayer_with_vite+vue.md +99 -4
  999. package/docs/tr/introduction.md +104 -1
  1000. package/docs/tr/migration_from_i18next_to_intlayer.md +0 -2
  1001. package/docs/tr/migration_from_next-i18next_to_intlayer.md +0 -2
  1002. package/docs/tr/migration_from_next-intl_to_intlayer.md +0 -2
  1003. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1004. package/docs/tr/migration_from_react-i18next_to_intlayer.md +0 -2
  1005. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +0 -2
  1006. package/docs/tr/packages/vite-intlayer/intlayerMinify.md +1 -1
  1007. package/docs/uk/analytics.md +488 -21
  1008. package/docs/uk/configuration.md +98 -0
  1009. package/docs/uk/dictionary/content_file.md +4 -4
  1010. package/docs/uk/dictionary/markdown.md +3 -0
  1011. package/docs/uk/dictionary/plurial.md +6 -3
  1012. package/docs/uk/how_works_intlayer.md +92 -0
  1013. package/docs/uk/interest_of_intlayer.md +96 -1
  1014. package/docs/uk/intlayer_CMS.md +92 -0
  1015. package/docs/uk/intlayer_visual_editor.md +87 -1
  1016. package/docs/uk/intlayer_with_adonisjs.md +121 -0
  1017. package/docs/uk/intlayer_with_analog.md +109 -1
  1018. package/docs/uk/intlayer_with_angular_19.md +108 -1
  1019. package/docs/uk/intlayer_with_angular_21.md +102 -1
  1020. package/docs/uk/intlayer_with_astro.md +110 -13
  1021. package/docs/uk/intlayer_with_astro_lit.md +111 -3
  1022. package/docs/uk/intlayer_with_astro_preact.md +111 -3
  1023. package/docs/uk/intlayer_with_astro_react.md +111 -3
  1024. package/docs/uk/intlayer_with_astro_solid.md +111 -3
  1025. package/docs/uk/intlayer_with_astro_svelte.md +111 -3
  1026. package/docs/uk/intlayer_with_astro_vanilla.md +105 -3
  1027. package/docs/uk/intlayer_with_astro_vue.md +111 -3
  1028. package/docs/uk/intlayer_with_create_react_app.md +106 -1
  1029. package/docs/uk/intlayer_with_elysia.md +121 -0
  1030. package/docs/uk/intlayer_with_express.md +114 -0
  1031. package/docs/uk/intlayer_with_fastify.md +115 -0
  1032. package/docs/uk/intlayer_with_hono.md +114 -0
  1033. package/docs/uk/intlayer_with_htmx.md +760 -0
  1034. package/docs/uk/intlayer_with_lynx+react.md +0 -7
  1035. package/docs/uk/intlayer_with_nestjs.md +115 -0
  1036. package/docs/uk/intlayer_with_nextjs_14.md +119 -44
  1037. package/docs/uk/intlayer_with_nextjs_15.md +133 -56
  1038. package/docs/uk/intlayer_with_nextjs_16.md +121 -44
  1039. package/docs/uk/intlayer_with_nextjs_compiler.md +122 -14
  1040. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +114 -2
  1041. package/docs/uk/intlayer_with_nextjs_page_router.md +111 -96
  1042. package/docs/uk/intlayer_with_nuxt.md +103 -1
  1043. package/docs/uk/intlayer_with_react_native+expo.md +102 -7
  1044. package/docs/uk/intlayer_with_react_router_v7.md +112 -3
  1045. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +110 -3
  1046. package/docs/uk/intlayer_with_solid_start.md +115 -1
  1047. package/docs/uk/intlayer_with_storybook.md +0 -13
  1048. package/docs/uk/intlayer_with_svelte_kit.md +98 -1
  1049. package/docs/uk/intlayer_with_tanstack+solid.md +117 -15
  1050. package/docs/uk/intlayer_with_tanstack.md +235 -132
  1051. package/docs/uk/intlayer_with_vanilla.md +110 -2
  1052. package/docs/uk/intlayer_with_vite+lit.md +111 -1
  1053. package/docs/uk/intlayer_with_vite+preact.md +167 -31
  1054. package/docs/uk/intlayer_with_vite+react.md +101 -13
  1055. package/docs/uk/intlayer_with_vite+react_compiler.md +106 -1
  1056. package/docs/uk/intlayer_with_vite+solid.md +112 -1
  1057. package/docs/uk/intlayer_with_vite+svelte.md +111 -1
  1058. package/docs/uk/intlayer_with_vite+vanilla.md +118 -1
  1059. package/docs/uk/intlayer_with_vite+vue.md +97 -1
  1060. package/docs/uk/introduction.md +104 -1
  1061. package/docs/uk/migration_from_i18next_to_intlayer.md +0 -2
  1062. package/docs/uk/migration_from_next-i18next_to_intlayer.md +0 -2
  1063. package/docs/uk/migration_from_next-intl_to_intlayer.md +0 -2
  1064. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1065. package/docs/uk/migration_from_react-i18next_to_intlayer.md +0 -2
  1066. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +0 -2
  1067. package/docs/uk/packages/vite-intlayer/intlayerMinify.md +1 -1
  1068. package/docs/ur/intlayer_with_storybook.md +0 -12
  1069. package/docs/ur/intlayer_with_vanilla.md +2 -1
  1070. package/docs/ur/introduction.md +0 -1
  1071. package/docs/vi/analytics.md +488 -21
  1072. package/docs/vi/configuration.md +98 -0
  1073. package/docs/vi/dictionary/content_file.md +4 -4
  1074. package/docs/vi/dictionary/markdown.md +3 -0
  1075. package/docs/vi/dictionary/plurial.md +5 -2
  1076. package/docs/vi/how_works_intlayer.md +92 -0
  1077. package/docs/vi/interest_of_intlayer.md +96 -1
  1078. package/docs/vi/intlayer_CMS.md +92 -0
  1079. package/docs/vi/intlayer_visual_editor.md +87 -1
  1080. package/docs/vi/intlayer_with_adonisjs.md +121 -0
  1081. package/docs/vi/intlayer_with_analog.md +109 -1
  1082. package/docs/vi/intlayer_with_angular_19.md +108 -1
  1083. package/docs/vi/intlayer_with_angular_21.md +102 -1
  1084. package/docs/vi/intlayer_with_astro.md +110 -13
  1085. package/docs/vi/intlayer_with_astro_lit.md +111 -3
  1086. package/docs/vi/intlayer_with_astro_preact.md +111 -3
  1087. package/docs/vi/intlayer_with_astro_react.md +111 -3
  1088. package/docs/vi/intlayer_with_astro_solid.md +111 -3
  1089. package/docs/vi/intlayer_with_astro_svelte.md +111 -3
  1090. package/docs/vi/intlayer_with_astro_vanilla.md +105 -3
  1091. package/docs/vi/intlayer_with_astro_vue.md +111 -3
  1092. package/docs/vi/intlayer_with_create_react_app.md +106 -1
  1093. package/docs/vi/intlayer_with_elysia.md +121 -0
  1094. package/docs/vi/intlayer_with_express.md +114 -0
  1095. package/docs/vi/intlayer_with_fastify.md +115 -0
  1096. package/docs/vi/intlayer_with_hono.md +114 -0
  1097. package/docs/vi/intlayer_with_htmx.md +760 -0
  1098. package/docs/vi/intlayer_with_lynx+react.md +0 -7
  1099. package/docs/vi/intlayer_with_nestjs.md +115 -0
  1100. package/docs/vi/intlayer_with_nextjs_14.md +133 -53
  1101. package/docs/vi/intlayer_with_nextjs_15.md +133 -56
  1102. package/docs/vi/intlayer_with_nextjs_16.md +121 -44
  1103. package/docs/vi/intlayer_with_nextjs_compiler.md +122 -14
  1104. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +114 -2
  1105. package/docs/vi/intlayer_with_nextjs_page_router.md +111 -92
  1106. package/docs/vi/intlayer_with_nuxt.md +103 -1
  1107. package/docs/vi/intlayer_with_react_native+expo.md +102 -7
  1108. package/docs/vi/intlayer_with_react_router_v7.md +112 -3
  1109. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +116 -16
  1110. package/docs/vi/intlayer_with_solid_start.md +115 -1
  1111. package/docs/vi/intlayer_with_storybook.md +0 -13
  1112. package/docs/vi/intlayer_with_svelte_kit.md +98 -1
  1113. package/docs/vi/intlayer_with_tanstack+solid.md +117 -15
  1114. package/docs/vi/intlayer_with_tanstack.md +249 -169
  1115. package/docs/vi/intlayer_with_vanilla.md +110 -2
  1116. package/docs/vi/intlayer_with_vite+lit.md +111 -1
  1117. package/docs/vi/intlayer_with_vite+preact.md +147 -14
  1118. package/docs/vi/intlayer_with_vite+react.md +101 -13
  1119. package/docs/vi/intlayer_with_vite+react_compiler.md +106 -1
  1120. package/docs/vi/intlayer_with_vite+solid.md +112 -1
  1121. package/docs/vi/intlayer_with_vite+svelte.md +111 -1
  1122. package/docs/vi/intlayer_with_vite+vanilla.md +118 -1
  1123. package/docs/vi/intlayer_with_vite+vue.md +97 -1
  1124. package/docs/vi/introduction.md +104 -1
  1125. package/docs/vi/migration_from_i18next_to_intlayer.md +0 -2
  1126. package/docs/vi/migration_from_next-i18next_to_intlayer.md +0 -2
  1127. package/docs/vi/migration_from_next-intl_to_intlayer.md +0 -2
  1128. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1129. package/docs/vi/migration_from_react-i18next_to_intlayer.md +0 -2
  1130. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +0 -2
  1131. package/docs/vi/packages/vite-intlayer/intlayerMinify.md +1 -1
  1132. package/docs/zh/analytics.md +458 -12
  1133. package/docs/zh/configuration.md +99 -1
  1134. package/docs/zh/dictionary/content_file.md +4 -4
  1135. package/docs/zh/dictionary/markdown.md +18 -1
  1136. package/docs/zh/dictionary/plurial.md +6 -3
  1137. package/docs/zh/how_works_intlayer.md +93 -1
  1138. package/docs/zh/interest_of_intlayer.md +108 -13
  1139. package/docs/zh/intlayer_CMS.md +93 -1
  1140. package/docs/zh/intlayer_visual_editor.md +88 -2
  1141. package/docs/zh/intlayer_with_adonisjs.md +121 -1
  1142. package/docs/zh/intlayer_with_analog.md +118 -9
  1143. package/docs/zh/intlayer_with_angular_19.md +117 -10
  1144. package/docs/zh/intlayer_with_angular_21.md +110 -9
  1145. package/docs/zh/intlayer_with_astro.md +108 -4
  1146. package/docs/zh/intlayer_with_astro_lit.md +114 -7
  1147. package/docs/zh/intlayer_with_astro_preact.md +114 -7
  1148. package/docs/zh/intlayer_with_astro_react.md +114 -7
  1149. package/docs/zh/intlayer_with_astro_solid.md +114 -7
  1150. package/docs/zh/intlayer_with_astro_svelte.md +114 -7
  1151. package/docs/zh/intlayer_with_astro_vanilla.md +108 -7
  1152. package/docs/zh/intlayer_with_astro_vue.md +114 -7
  1153. package/docs/zh/intlayer_with_create_react_app.md +110 -6
  1154. package/docs/zh/intlayer_with_elysia.md +121 -1
  1155. package/docs/zh/intlayer_with_express.md +115 -1
  1156. package/docs/zh/intlayer_with_fastify.md +115 -1
  1157. package/docs/zh/intlayer_with_hono.md +115 -1
  1158. package/docs/zh/intlayer_with_htmx.md +769 -0
  1159. package/docs/zh/intlayer_with_lynx+react.md +8 -13
  1160. package/docs/zh/intlayer_with_nestjs.md +115 -1
  1161. package/docs/zh/intlayer_with_nextjs_14.md +120 -45
  1162. package/docs/zh/intlayer_with_nextjs_15.md +121 -44
  1163. package/docs/zh/intlayer_with_nextjs_16.md +121 -42
  1164. package/docs/zh/intlayer_with_nextjs_compiler.md +121 -14
  1165. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +122 -10
  1166. package/docs/zh/intlayer_with_nextjs_page_router.md +110 -94
  1167. package/docs/zh/intlayer_with_nuxt.md +111 -9
  1168. package/docs/zh/intlayer_with_react_native+expo.md +103 -8
  1169. package/docs/zh/intlayer_with_react_router_v7.md +131 -28
  1170. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +134 -30
  1171. package/docs/zh/intlayer_with_solid_start.md +122 -7
  1172. package/docs/zh/intlayer_with_storybook.md +7 -20
  1173. package/docs/zh/intlayer_with_svelte_kit.md +106 -9
  1174. package/docs/zh/intlayer_with_tanstack+solid.md +129 -29
  1175. package/docs/zh/intlayer_with_tanstack.md +251 -191
  1176. package/docs/zh/intlayer_with_vanilla.md +118 -10
  1177. package/docs/zh/intlayer_with_vite+lit.md +121 -8
  1178. package/docs/zh/intlayer_with_vite+preact.md +150 -41
  1179. package/docs/zh/intlayer_with_vite+react.md +104 -12
  1180. package/docs/zh/intlayer_with_vite+react_compiler.md +107 -2
  1181. package/docs/zh/intlayer_with_vite+solid.md +113 -2
  1182. package/docs/zh/intlayer_with_vite+svelte.md +127 -14
  1183. package/docs/zh/intlayer_with_vite+vanilla.md +126 -9
  1184. package/docs/zh/intlayer_with_vite+vue.md +99 -3
  1185. package/docs/zh/introduction.md +105 -2
  1186. package/docs/zh/migration_from_i18next_to_intlayer.md +0 -2
  1187. package/docs/zh/migration_from_next-i18next_to_intlayer.md +0 -2
  1188. package/docs/zh/migration_from_next-intl_to_intlayer.md +0 -2
  1189. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
  1190. package/docs/zh/migration_from_react-i18next_to_intlayer.md +0 -2
  1191. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +0 -2
  1192. package/docs/zh/packages/vite-intlayer/intlayerMinify.md +1 -1
  1193. package/docs/zh/releases/v6.md +1 -1
  1194. package/docs/zh-TW/introduction.md +0 -1
  1195. package/package.json +7 -7
  1196. package/src/common.ts +45 -18
  1197. package/src/generated/blog.entry.ts +20 -0
  1198. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,763 @@
1
+ ---
2
+ createdAt: 2026-08-29
3
+ updatedAt: 2026-08-29
4
+ title: "htmx i18n - 앱을 번역하는 완벽한 가이드"
5
+ description: "더 이상 i18next가 아닙니다. 다국어(i18n) htmx 앱을 구축하는 2026년 가이드입니다. AI 에이전트로 번역하고 번들 크기, SEO 및 성능을 최적화하세요."
6
+ keywords:
7
+ - 국제화
8
+ - 문서
9
+ - Intlayer
10
+ - htmx
11
+ - Hypermedia
12
+ - JavaScript
13
+ - Backend
14
+ slugs:
15
+ - doc
16
+ - environment
17
+ - htmx
18
+ history:
19
+ - version: 9.4.1
20
+ date: 2026-08-29
21
+ changes: "Initial history"
22
+ author: aymericzip
23
+ ---
24
+
25
+ # Intlayer를 사용하여 htmx 애플리케이션 번역 | 국제화(i18n)
26
+
27
+ htmx는 자체 콘텐츠를 렌더링하지 않습니다. 방문자가 읽는 모든 레이블은 서버가 생성한 HTML이며, 모든 swap은 별도의 HTTP 요청입니다. 따라서 htmx 앱을 국제화하는 것은 서버의 관심사입니다. 각 요청에서 locale을 결정해야 하고, 각 fragment를 해당 locale으로 렌더링해야 합니다.
28
+
29
+ Intlayer는 백엔드 통합을 통해 이를 커버합니다. 백엔드 통합은 요청별로 locale을 감지하고 HTML을 빌드하는 handler에 선언된 콘텐츠를 노출합니다.
30
+
31
+ ## 목차
32
+
33
+ <TOC/>
34
+
35
+ ## htmx 앱에서 i18n의 세 가지 규칙
36
+
37
+ <AccordionGroup>
38
+ <Accordion header="Locale은 첫 번째 요청뿐만 아니라 모든 요청에서 결정되어야 합니다">
39
+
40
+ 단일 페이지는 수십 개의 swap을 트리거할 수 있습니다. 각각은 그것을 발행한 페이지의 메모리가 없는 새로운 요청입니다. locale이 초기 렌더링 중에 설정된 변수에 존재한다면, 그 이후의 모든 fragment는 기본 언어로 폴백됩니다.
41
+
42
+ Intlayer middleware는 요청 자체에서 locale을 해결하므로, 10분에 서빙되는 fragment는 0분에 서빙되는 페이지와 동일한 언어로 응답합니다.
43
+
44
+ </Accordion>
45
+
46
+ <Accordion header="locale은 요청과 함께 이동해야 합니다">
47
+
48
+ htmx와 함께 작동하는 두 가지 carrier가 있습니다. cookie (`INTLAYER_LOCALE`)는 htmx 요청을 포함한 모든 요청에서 브라우저에 의해 자동으로 전송됩니다. header (`x-intlayer-locale`)는 `hx-headers` attribute를 사용하여 htmx 요청에 첨부할 수 있습니다. 둘 다 기본적으로 읽혀집니다.
49
+
50
+ </Accordion>
51
+
52
+ <Accordion header="교환된 HTML은 여전히 HTML입니다">
53
+
54
+ fragment로 보간된 번역 값은 마크업입니다. 다른 동적 값처럼 정확히 이스케이프하세요. 그래야 `<`를 포함하는 번역이 교환되는 문서를 손상시킬 수 없습니다.
55
+
56
+ </Accordion>
57
+ </AccordionGroup>
58
+
59
+ ---
60
+
61
+ ## 단계별 가이드
62
+
63
+ <iframe
64
+ src="https://ide.intlayer.org/aymericzip/intlayer-htmx-template?file=intlayer.config.ts"
65
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
66
+ title="데모 CodeSandbox - Intlayer를 사용하여 애플리케이션을 국제화하는 방법"
67
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
68
+ loading="lazy"
69
+ />
70
+
71
+ GitHub의 [Application Template](https://github.com/aymericzip/intlayer-htmx-template)을 참조하세요.
72
+
73
+ <Steps>
74
+
75
+ <Step number={1} title="의존성 설치">
76
+
77
+ `intlayer`와 server에 대한 통합을 설치합니다.
78
+
79
+ <Tabs group="backend" defaultTab="express">
80
+ <Tab label="Express" value="express">
81
+
82
+ ```bash packageManager="npm"
83
+ npm install intlayer express-intlayer cookie-parser
84
+ ```
85
+
86
+ ```bash packageManager="pnpm"
87
+ pnpm add intlayer express-intlayer cookie-parser
88
+ ```
89
+
90
+ ```bash packageManager="yarn"
91
+ yarn add intlayer express-intlayer cookie-parser
92
+ ```
93
+
94
+ ```bash packageManager="bun"
95
+ bun add intlayer express-intlayer cookie-parser
96
+ ```
97
+
98
+ </Tab>
99
+ <Tab label="Fastify" value="fastify">
100
+
101
+ ```bash packageManager="npm"
102
+ npm install intlayer fastify-intlayer @fastify/cookie @fastify/formbody
103
+ ```
104
+
105
+ ```bash packageManager="pnpm"
106
+ pnpm add intlayer fastify-intlayer @fastify/cookie @fastify/formbody
107
+ ```
108
+
109
+ ```bash packageManager="yarn"
110
+ yarn add intlayer fastify-intlayer @fastify/cookie @fastify/formbody
111
+ ```
112
+
113
+ ```bash packageManager="bun"
114
+ bun add intlayer fastify-intlayer @fastify/cookie @fastify/formbody
115
+ ```
116
+
117
+ </Tab>
118
+ <Tab label="Hono" value="hono">
119
+
120
+ ```bash packageManager="npm"
121
+ npm install intlayer hono-intlayer
122
+ ```
123
+
124
+ ```bash packageManager="pnpm"
125
+ pnpm add intlayer hono-intlayer
126
+ ```
127
+
128
+ ```bash packageManager="yarn"
129
+ yarn add intlayer hono-intlayer
130
+ ```
131
+
132
+ ```bash packageManager="bun"
133
+ bun add intlayer hono-intlayer
134
+ ```
135
+
136
+ </Tab>
137
+ <Tab label="Elysia" value="elysia">
138
+
139
+ ```bash packageManager="npm"
140
+ npm install intlayer elysia-intlayer
141
+ ```
142
+
143
+ ```bash packageManager="pnpm"
144
+ pnpm add intlayer elysia-intlayer
145
+ ```
146
+
147
+ ```bash packageManager="yarn"
148
+ yarn add intlayer elysia-intlayer
149
+ ```
150
+
151
+ ```bash packageManager="bun"
152
+ bun add intlayer elysia-intlayer
153
+ ```
154
+
155
+ </Tab>
156
+ </Tabs>
157
+
158
+ > Express와 Fastify는 자신의 cookie parser를 통해 locale cookie를 읽으므로, 이들과 함께 설치해야 합니다. Hono와 Elysia는 기본적으로 cookies를 파싱합니다.
159
+
160
+ htmx 자체는 step 4에서 추가되는 단일 script tag입니다.
161
+
162
+ </Step>
163
+
164
+ <Step number={2} title="프로젝트 구성">
165
+
166
+ 프로젝트 root에 `intlayer.config.ts`를 생성하세요:
167
+
168
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
169
+ import { Locales, type IntlayerConfig } from "intlayer";
170
+
171
+ const config: IntlayerConfig = {
172
+ internationalization: {
173
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, Locales.ARABIC],
174
+ defaultLocale: Locales.ENGLISH,
175
+ },
176
+ };
177
+
178
+ export default config;
179
+ ```
180
+
181
+ > 전체 옵션 목록은 [구성 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)를 참조하세요.
182
+
183
+ </Step>
184
+
185
+ <Step number={3} title="콘텐츠 선언">
186
+
187
+ 서버가 렌더링할 모든 레이블(fragment 내부에만 나타나는 레이블 포함)을 선언하세요:
188
+
189
+ ```typescript fileName="src/app.content.ts" contentDeclarationFormat={["typescript", "esm"]}
190
+ import { insert, t, type Dictionary } from "intlayer";
191
+
192
+ const appContent = {
193
+ key: "app",
194
+ content: {
195
+ pageTitle: "Intlayer + htmx",
196
+
197
+ localeLabel: t({
198
+ ko: "언어",
199
+ en: "Language",
200
+ fr: "Langue",
201
+ es: "Idioma",
202
+ ar: "اللغة",
203
+ }),
204
+
205
+ cartSummary: insert(
206
+ t({
207
+ ko: "장바구니의 항목: {{count}}",
208
+ en: "Items in your cart: {{count}}",
209
+ fr: "Articles dans votre panier : {{count}}",
210
+ es: "Artículos en tu carrito: {{count}}",
211
+ ar: "المنتجات في سلتك: {{count}}",
212
+ })
213
+ ),
214
+
215
+ addItem: t({
216
+ ko: "항목 추가",
217
+ en: "Add an item",
218
+ fr: "Ajouter un article",
219
+ es: "Añadir un artículo",
220
+ ar: "أضف منتجًا",
221
+ }),
222
+ },
223
+ } satisfies Dictionary;
224
+
225
+ export default appContent;
226
+ ```
227
+
228
+ > Content declarations는 `contentDir` (기본값 `./src`) 아래의 어디든 위치할 수 있으며 `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`과 일치합니다. [content declaration 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/content_file.md)를 참조하세요.
229
+
230
+ </Step>
231
+
232
+ <Step number={4} title="Intlayer middleware 등록">
233
+
234
+ 미들웨어는 각 요청의 locale을 해석하고 핸들러에 노출합니다.
235
+
236
+ <Tabs group="backend" defaultTab="express">
237
+ <Tab label="Express" value="express">
238
+
239
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
240
+ import cookieParser from "cookie-parser";
241
+ import express from "express";
242
+ import { intlayer } from "express-intlayer";
243
+
244
+ const app = express();
245
+
246
+ // cookie parser가 먼저 실행되어야 합니다: `express-intlayer`는 `req.cookies`를 통해
247
+ // locale cookie를 읽습니다.
248
+ app.use(cookieParser());
249
+ app.use(express.urlencoded({ extended: false }));
250
+ app.use(intlayer());
251
+ ```
252
+
253
+ 해석된 locale은 `res.locals.locale`에 있습니다.
254
+
255
+ </Tab>
256
+ <Tab label="Fastify" value="fastify">
257
+
258
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
259
+ import cookie from "@fastify/cookie";
260
+ import formbody from "@fastify/formbody";
261
+ import Fastify from "fastify";
262
+ import { intlayer } from "fastify-intlayer";
263
+
264
+ const fastify = Fastify();
265
+
266
+ await fastify.register(cookie);
267
+ await fastify.register(formbody);
268
+ await fastify.register(intlayer);
269
+ ```
270
+
271
+ 해석된 locale은 `req.intlayer.locale`에 있습니다.
272
+
273
+ </Tab>
274
+ <Tab label="Hono" value="hono">
275
+
276
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
277
+ import { Hono } from "hono";
278
+ import { intlayer } from "hono-intlayer";
279
+
280
+ const app = new Hono();
281
+
282
+ app.use("*", intlayer());
283
+ ```
284
+
285
+ 해석된 locale은 `c.get("locale")`입니다.
286
+
287
+ </Tab>
288
+ <Tab label="Elysia" value="elysia">
289
+
290
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
291
+ import { Elysia } from "elysia";
292
+ import { intlayer } from "elysia-intlayer";
293
+
294
+ const app = new Elysia().use(intlayer());
295
+ ```
296
+
297
+ 해석된 locale은 라우트 context의 `intlayer!.locale`입니다.
298
+
299
+ </Tab>
300
+ </Tabs>
301
+
302
+ 기본적으로 locale은 `INTLAYER_LOCALE` 쿠키에서 가져오고, 그 다음 `x-intlayer-locale` 헤더, 그 다음 `Accept-Language` negotiation에서 가져옵니다.
303
+
304
+ </Step>
305
+
306
+ <Step number={5} title="요청 locale으로 fragments 렌더링">
307
+
308
+ fragment 렌더러를 locale의 순수 함수로 작성하고, 미들웨어가 해석한 locale을 전달합니다. 명시적으로 전달하면 fragment가 요청한 요청에 묶여 있으므로, 어느 server에 있든 상관없습니다.
309
+
310
+ ```typescript fileName="src/views.ts" codeFormat={["typescript", "esm"]}
311
+ import { currency, getIntlayer, type Locale } from "intlayer";
312
+
313
+ const HTML_ENTITIES: Record<string, string> = {
314
+ "&": "&amp;",
315
+ "<": "&lt;",
316
+ ">": "&gt;",
317
+ '"': "&quot;",
318
+ "'": "&#39;",
319
+ };
320
+
321
+ /** 번역된 값을 이스케이프하여 마크업을 벗어날 수 없도록 합니다. */
322
+ const escapeHtml = (value: string): string =>
323
+ value.replace(
324
+ /[&<>"']/g,
325
+ (character) => HTML_ENTITIES[character] ?? character
326
+ );
327
+
328
+ export const renderCart = (locale: Locale, itemCount: number): string => {
329
+ const content = getIntlayer("app", locale);
330
+
331
+ return `<section id="cart">
332
+ <p>${escapeHtml(String(content.cartSummary({ count: itemCount })))}</p>
333
+ <p>${escapeHtml(currency(itemCount * 12.5, { locale, currency: "EUR" }))}</p>
334
+ <button
335
+ hx-post="/cart/items"
336
+ hx-vals='{"itemCount": ${itemCount}}'
337
+ hx-target="#cart"
338
+ hx-swap="outerHTML"
339
+ >${escapeHtml(String(content.addItem))}</button>
340
+ </section>`;
341
+ };
342
+ ```
343
+
344
+ 라우트에서 서빙하기:
345
+
346
+ <Tabs group="backend" defaultTab="express">
347
+ <Tab label="Express" value="express">
348
+
349
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
350
+ app.post("/cart/items", (req, res) => {
351
+ const itemCount = Number(req.body?.itemCount ?? 0) + 1;
352
+
353
+ res.type("html").send(renderCart(res.locals.locale, itemCount));
354
+ });
355
+ ```
356
+
357
+ </Tab>
358
+ <Tab label="Fastify" value="fastify">
359
+
360
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
361
+ fastify.post("/cart/items", async (req, reply) => {
362
+ const itemCount =
363
+ Number((req.body as { itemCount?: string })?.itemCount ?? 0) + 1;
364
+
365
+ return reply
366
+ .type("text/html")
367
+ .send(renderCart(req.intlayer.locale, itemCount));
368
+ });
369
+ ```
370
+
371
+ </Tab>
372
+ <Tab label="Hono" value="hono">
373
+
374
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
375
+ app.post("/cart/items", async (c) => {
376
+ const body = await c.req.parseBody();
377
+ const itemCount = Number(body["itemCount"] ?? 0) + 1;
378
+
379
+ return c.html(renderCart(c.get("locale"), itemCount));
380
+ });
381
+ ```
382
+
383
+ </Tab>
384
+ <Tab label="Elysia" value="elysia">
385
+
386
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
387
+ app.post("/cart/items", ({ body, intlayer }) => {
388
+ const itemCount =
389
+ Number((body as { itemCount?: string })?.itemCount ?? 0) + 1;
390
+
391
+ return new Response(renderCart(intlayer!.locale, itemCount), {
392
+ headers: { "content-type": "text/html" },
393
+ });
394
+ });
395
+ ```
396
+
397
+ </Tab>
398
+ </Tabs>
399
+
400
+ 같은 fragment는 이제 `fr` 쿠키를 가진 방문자를 위해 프랑스어로, `ar` 쿠키를 가진 방문자를 위해 아랍어로 응답하며, 호출하는 markup에는 변화가 없습니다.
401
+
402
+ </Step>
403
+
404
+ <Step number={6} title="첫 페이지 제공">
405
+
406
+ locale switcher가 step 7에서 전체를 바꿀 수 있도록 `<body>`를 단독으로 렌더링한 다음, htmx를 로드하는 document로 감싸세요:
407
+
408
+ ```typescript fileName="src/views.ts" codeFormat={["typescript", "esm"]}
409
+ import { getHTMLTextDir, getIntlayer, type Locale } from "intlayer";
410
+
411
+ export const renderBody = (locale: Locale, itemCount: number): string => {
412
+ // locale에 해당하는 컨텐츠를 가져옵니다
413
+ const content = getIntlayer("app", locale);
414
+
415
+ return `<body lang="${locale}" dir="${getHTMLTextDir(locale)}">
416
+ <main>
417
+ <h1>${escapeHtml(String(content.pageTitle))}</h1>
418
+ ${renderLocaleSwitcher(locale)}
419
+ ${renderCart(locale, itemCount)}
420
+ </main>
421
+ </body>`;
422
+ };
423
+
424
+ export const renderPage = (locale: Locale, itemCount: number): string =>
425
+ `<!doctype html>
426
+ <html lang="${locale}" dir="${getHTMLTextDir(locale)}">
427
+ <head>
428
+ <meta charset="utf-8" />
429
+ <title>${escapeHtml(String(getIntlayer("app", locale).pageTitle))}</title>
430
+ <script src="https://unpkg.com/htmx.org@2.0.4"></script>
431
+ </head>
432
+ ${renderBody(locale, itemCount)}
433
+ </html>`;
434
+ ```
435
+
436
+ `getHTMLTextDir`은 locale에 대해 `ltr`, `rtl` 또는 `auto`를 반환하며, 이것이 아랍어와 히브리어가 올바르게 배치되도록 하는 것입니다.
437
+
438
+ </Step>
439
+
440
+ <Step number={7} title="언어 전환">
441
+
442
+ 언어 전환은 다른 요청과 같습니다. 서버는 선택을 미들웨어가 읽는 cookie에 저장한 다음 새로운 locale에서 다시 렌더링된 페이지를 반환합니다.
443
+
444
+ `<select>` 태그를 사용하여 전체 `<body>`를 교체하도록 자신을 게시하는 스위처를 렌더링하면, 프래그먼트 주변의 정적 레이블도 변경됩니다:
445
+
446
+ ```typescript fileName="src/views.ts" codeFormat={["typescript", "esm"]}
447
+ import { getIntlayer, getLocaleName, type Locale, locales } from "intlayer";
448
+
449
+ const renderLocaleSwitcher = (locale: Locale): string => {
450
+ // 현재 로케일에 대한 콘텐츠 가져오기
451
+ const content = getIntlayer("app", locale);
452
+
453
+ // 모든 사용 가능한 로케일에 대해 옵션 생성
454
+ const options = locales
455
+ .map(
456
+ (availableLocale: Locale) =>
457
+ `<option value="${availableLocale}"${availableLocale === locale ? " selected" : ""}>${escapeHtml(getLocaleName(availableLocale, locale))}</option>`
458
+ )
459
+ .join("");
460
+
461
+ return `<form>
462
+ <label for="locale">${escapeHtml(String(content.localeLabel))}</label>
463
+ <select
464
+ id="locale"
465
+ name="locale"
466
+ hx-post="/locale"
467
+ hx-trigger="change"
468
+ hx-target="body"
469
+ hx-swap="outerHTML"
470
+ >${options}</select>
471
+ </form>`;
472
+ };
473
+ ```
474
+
475
+ > `getLocaleName(availableLocale, locale)`는 현재 표시되는 언어로 각 언어를 작성합니다. 각 언어를 자신의 언어로 대신 작성하려면 두 번째 인수를 전달하지 마세요.
476
+
477
+ 값을 검증하고, 쿠키를 설정하고, 새로운 본문을 반환하여 POST를 처리하세요:
478
+
479
+ <Tabs group="backend" defaultTab="express">
480
+ <Tab label="Express" value="express">
481
+
482
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
483
+ import { isDeclaredLocale } from "intlayer";
484
+
485
+ app.post("/locale", (req, res) => {
486
+ const requestedLocale = String(req.body?.locale);
487
+
488
+ if (!isDeclaredLocale(requestedLocale)) {
489
+ res.status(400).send("Unknown locale");
490
+ return;
491
+ }
492
+
493
+ res.cookie("INTLAYER_LOCALE", requestedLocale, {
494
+ sameSite: "lax",
495
+ path: "/",
496
+ });
497
+ res.type("html").send(renderBody(requestedLocale, 0));
498
+ });
499
+ ```
500
+
501
+ </Tab>
502
+ <Tab label="Fastify" value="fastify">
503
+
504
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
505
+ import { isDeclaredLocale } from "intlayer";
506
+
507
+ fastify.post("/locale", async (req, reply) => {
508
+ const requestedLocale = String((req.body as { locale?: string })?.locale);
509
+
510
+ if (!isDeclaredLocale(requestedLocale)) {
511
+ return reply.status(400).send("Unknown locale");
512
+ }
513
+
514
+ return reply
515
+ .setCookie("INTLAYER_LOCALE", requestedLocale, {
516
+ sameSite: "lax",
517
+ path: "/",
518
+ })
519
+ .type("text/html")
520
+ .send(renderBody(requestedLocale, 0));
521
+ });
522
+ ```
523
+
524
+ </Tab>
525
+ <Tab label="Hono" value="hono">
526
+
527
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
528
+ import { setCookie } from "hono/cookie";
529
+ import { isDeclaredLocale } from "intlayer";
530
+
531
+ app.post("/locale", async (c) => {
532
+ const body = await c.req.parseBody();
533
+ // 요청된 로케일을 문자열로 변환
534
+ const requestedLocale = String(body["locale"]);
535
+
536
+ // 선언된 로케일인지 확인
537
+ if (!isDeclaredLocale(requestedLocale)) {
538
+ return c.text("Unknown locale", 400);
539
+ }
540
+
541
+ // 쿠키에 로케일 설정
542
+ setCookie(c, "INTLAYER_LOCALE", requestedLocale, {
543
+ sameSite: "Lax",
544
+ path: "/",
545
+ });
546
+ return c.html(renderBody(requestedLocale, 0));
547
+ });
548
+ ```
549
+
550
+ </Tab>
551
+ <Tab label="Elysia" value="elysia">
552
+
553
+ ```typescript fileName="src/index.ts" codeFormat={["typescript", "esm"]}
554
+ import { isDeclaredLocale } from "intlayer";
555
+
556
+ app.post("/locale", ({ body, cookie, status }) => {
557
+ const requestedLocale = String((body as { locale?: string })?.locale);
558
+
559
+ if (!isDeclaredLocale(requestedLocale)) {
560
+ return status(400, "Unknown locale");
561
+ }
562
+
563
+ cookie["INTLAYER_LOCALE"]!.set({
564
+ value: requestedLocale,
565
+ sameSite: "lax",
566
+ path: "/",
567
+ });
568
+
569
+ return new Response(renderBody(requestedLocale, 0), {
570
+ headers: { "content-type": "text/html" },
571
+ });
572
+ });
573
+ ```
574
+
575
+ </Tab>
576
+ </Tabs>
577
+
578
+ > `isDeclaredLocale`는 임의의 문자열을 구성된 로케일 중 하나로 좁혀주므로, 예기치 않은 값이 렌더러에 도달하지 않습니다.
579
+
580
+ </Step>
581
+
582
+ <Step number={8} title="swap 후 lang과 dir을 동기화 유지" isOptional={true}>
583
+
584
+ swap는 `<body>`를 바꿀 수 있지만, 그 주변의 `<html>`는 바꿀 수 없습니다. 바뀐 body에 `lang`과 `dir`을 렌더링하고, head에서 이들을 root 요소에 다시 복사합니다:
585
+
586
+ ```html fileName="src/views.ts"
587
+ <script>
588
+ document.addEventListener("htmx:afterSwap", () => {
589
+ document.documentElement.lang = document.body.lang;
590
+ document.documentElement.dir = document.body.dir;
591
+ });
592
+ </script>
593
+ ```
594
+
595
+ 이렇게 하지 않으면, 아랍어로 전환할 때 body 내부는 오른쪽에서 왼쪽으로 렌더링되지만 문서는 여전히 보조 기술과 크롤러에 이전 언어를 알립니다.
596
+
597
+ </Step>
598
+
599
+ <Step number={9} title="쿠키 대신 헤더로 locale 전송" isOptional={true}>
600
+
601
+ cookie가 적합하지 않다면, 조상 요소의 `hx-headers`를 사용하여 모든 htmx 요청에 locale을 첨부하세요. 자식 요소들이 이를 상속합니다:
602
+
603
+ ```html
604
+ <body hx-headers='{"x-intlayer-locale": "fr"}'>
605
+ ...
606
+ </body>
607
+ ```
608
+
609
+ middleware는 기본적으로 `x-intlayer-locale`을 읽습니다. 설정에서 두 캐리어(carrier)의 이름을 변경할 수 있습니다:
610
+
611
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
612
+ import { Locales, type IntlayerConfig } from "intlayer";
613
+
614
+ const config: IntlayerConfig = {
615
+ // ... 기타 설정 옵션
616
+ routing: {
617
+ storage: [
618
+ { type: "header", name: "my-locale-header" },
619
+ { type: "cookie", name: "my-locale-cookie" },
620
+ ],
621
+ },
622
+ };
623
+
624
+ export default config;
625
+ ```
626
+
627
+ </Step>
628
+
629
+ </Steps>
630
+
631
+ ### TypeScript 구성
632
+
633
+ 자동 생성된 타입을 포함하여 선언되지 않은 키가 런타임에 빈 문자열이 아닌 컴파일 오류가 되도록 합니다.
634
+
635
+ ```json5 fileName="tsconfig.json"
636
+ {
637
+ // ... 기존 TypeScript 설정
638
+ "include": [
639
+ // ... 기존 TypeScript 설정
640
+ ".intlayer/**/*.ts", // 자동 생성된 타입 포함
641
+ ],
642
+ }
643
+ ```
644
+
645
+ ### Git 구성
646
+
647
+ Intlayer에서 생성된 파일을 무시하는 것이 권장됩니다:
648
+
649
+ ```plaintext fileName=".gitignore"
650
+ # Intlayer에서 생성된 파일 무시
651
+ .intlayer
652
+ ```
653
+
654
+ ### VS Code 확장
655
+
656
+ Intlayer를 사용한 개발 경험을 향상시키기 위해 공식 **Intlayer VS Code Extension**을 설치할 수 있습니다.
657
+
658
+ [VS Code Marketplace에서 설치](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
659
+
660
+ 이 확장은 다음을 제공합니다:
661
+
662
+ - **번역 키에 대한 자동 완성**.
663
+ - **누락된 번역에 대한 실시간 오류 감지**.
664
+ - **번역된 콘텐츠의 인라인 미리보기**.
665
+ - **번역을 쉽게 생성하고 업데이트하기 위한 빠른 작업**.
666
+
667
+ 확장을 사용하는 방법에 대한 자세한 내용은 [Intlayer VS Code Extension 문서](https://intlayer.org/doc/vs-code-extension)를 참고하세요.
668
+
669
+ ---
670
+
671
+ ### 더 나아가기
672
+
673
+ 더 나아가기 위해 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)를 사용하여 콘텐츠를 외부화할 수 있으므로 번역가가 배포 없이 복사본을 변경할 수 있습니다.
674
+
675
+ ## 자주 묻는 질문
676
+
677
+ <FAQ>
678
+
679
+ <Question title="내 스왑된 프래그먼트가 잘못된 언어로 돌아오는 이유는 무엇인가요?">
680
+
681
+ 조각 요청에 로케일이 포함되지 않았기 때문입니다. htmx 요청은 요청을 발행한 페이지와 독립적이므로, `INTLAYER_LOCALE` 쿠키 또는 `hx-headers`로 설정된 `x-intlayer-locale` 헤더를 통해 각 요청에서 로케일이 전달되어야 합니다. Express 및 Fastify에서 쿠키 파서가 Intlayer 미들웨어보다 먼저 실행되는지 확인하세요. 그렇지 않으면 쿠키를 읽지 못하고 모든 요청이 `Accept-Language`로 폴백됩니다.
682
+
683
+ </Question>
684
+
685
+ <Question title="로케일을 `getIntlayer`에 전달해야 할까요, 아니면 요청 컨텍스트에 의존해야 할까요?">
686
+
687
+ 이를 전달하세요. integrations는 resolved locale (`res.locals.locale`, `req.intlayer.locale`, `c.get("locale")`, `intlayer!.locale`)을 노출하며, `getIntlayer`에 이를 전달하면 각 renderer가 locale의 순수 함수가 됩니다. 이는 테스트하기가 더 쉽고, 서버를 변경하는 경우 fragment renderer를 이식 가능하게 유지합니다.
688
+
689
+ </Question>
690
+
691
+ <Question title="htmx와 함께 클라이언트 측 i18n 라이브러리가 필요한가요?">
692
+
693
+ 아니요. 방문자가 보는 모든 것은 서버에서 생성되므로 브라우저에서 번역할 항목이 없습니다. 이것이 또한 htmx 앱에서 i18n의 페이지 무게 비용이 거의 0에 가까운 이유입니다. catalog는 클라이언트에 전송되지 않습니다.
694
+
695
+ </Question>
696
+
697
+ <Question title="SEO를 위해 URL도 localize하려면 어떻게 해야 하나요?">
698
+
699
+ 로케일 접두사(`/fr/cart`)로 페이지를 제공하고, 전체 페이지 렌더링을 위해 쿠키가 아닌 경로에서 로케일을 읽으십시오. 라우트 핸들러에서는 경로를 사용합니다. 프래그먼트는 쿠키나 헤더를 계속 사용할 수 있습니다. 라우팅 옵션은 [설정](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)을 참조하고 [사용자 정의 URL 재작성](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/custom_url_rewrites.md)을 참조하세요.
700
+
701
+ </Question>
702
+
703
+ <Question title="오른쪽에서 왼쪽으로 읽는 언어를 어떻게 처리합니까?">
704
+
705
+ `getHTMLTextDir(locale)`은 `ltr`, `rtl` 또는 `auto`를 반환합니다. 초기 렌더링 시 문서에 설정하고, 8단계에서 보여주듯이 교체 후 다시 적용하세요. CSS 논리적 속성(`margin-left` 대신 `margin-inline-start`)을 사용하여 레이아웃이 따라가도록 하세요.
706
+
707
+ </Question>
708
+
709
+ <Question title="번역된 값을 escape해야 하나요?">
710
+
711
+ 네, 템플릿 문자열에 보간하는 모든 것에 대해, 다른 동적 값과 정확히 동일하게 escape해야 합니다. CMS 또는 번역가로부터 오는 콘텐츠는 제어하는 마크업이 아닙니다. 5단계에서 최소한의 escaper를 보여줍니다.
712
+
713
+ </Question>
714
+
715
+ <Question title="동일한 콘텐츠를 API 응답에도 사용할 수 있나요?">
716
+
717
+ 예. 백엔드 통합은 모든 핸들러에 `t()`와 `getIntlayer()`를 노출하므로, 토스트에 표시되는 에러 메시지와 fragment로 렌더링되는 레이블이 동일한 선언된 콘텐츠에서 나옵니다. [Express](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_express.md), [Fastify](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_fastify.md), [Hono](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_hono.md) 및 [Elysia](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_elysia.md) 가이드를 참조하세요.
718
+
719
+ </Question>
720
+
721
+ <Question title="콘텐츠를 key별로 이동해야 하나요?">
722
+
723
+ 아니요. `npx intlayer extract`를 실행하면 Intlayer가 소스 파일을 읽고, 사용자 대면 문자열을 추출한 후 각 파일 옆에 `.content` 파일을 작성하므로, 카탈로그에 문자열을 하나씩 복사하는 대신 diff를 검토할 수 있습니다. [extract 명령](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/extract.md)을 참조하세요.
724
+
725
+ </Question>
726
+
727
+ <Question title="기존 JSON 번역 파일을 유지할 수 있나요?">
728
+
729
+ 네. [sync JSON plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/plugins/sync-json.md)은 `/messages/{locale}/{namespace}.json` 파일을 소스로 유지하고 양방향으로 Intlayer 사전을 생성합니다. [sync PO plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/plugins/sync-po.md)은 gettext 카탈로그에 대해 동일한 작업을 수행하며, [per locale files](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/per_locale_file.md)를 통해 로케일을 한 파일에 그룹화하는 대신 언어별로 콘텐츠를 분할할 수 있습니다.
730
+
731
+ </Question>
732
+
733
+ <Question title="AI로 앱을 자동으로 번역하려면 어떻게 해야 하나요?">
734
+
735
+ `npx intlayer fill`을 실행하면 선택한 LLM을 사용하여 자신의 provider와 API 키로 누락된 번역을 채웁니다. `--git-diff`를 추가하면 branch에서 변경된 내용만 번역합니다. [fill command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/fill.md)와 [CI/CD integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/CI_CD.md)을 참조하세요.
736
+
737
+ </Question>
738
+
739
+ <Question title="Intlayer는 성별, 조건 및 보간된 값을 지원하나요?">
740
+
741
+ 예: [성별 기반 콘텐츠](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/gender.md), 조건, [열거형](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/enumeration.md), 보간 값을 위한 [삽입](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/insertion.md), 그리고 숫자, 날짜 및 통화를 위한 [포매터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/formatters.md).
742
+
743
+ </Question>
744
+
745
+ <Question title="어떤 에디터와 AI 에이전트 도구가 사용 가능한가요?">
746
+
747
+ 5가지 옵션이 모두 선택사항입니다:
748
+
749
+ - **[VS Code extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/vs_code_extension.md)**: 키에서 이를 선언하는 콘텐츠 파일로 이동, 파일에서 콘텐츠 추출, 명령 팔레트에서 build, fill, test, push 및 pull 실행.
750
+ - **[LSP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/lsp.md)**: LSP를 지원하는 모든 편집기에서 동일한 인식, 정의로 이동, 번역된 값의 hover 미리보기, 키의 자동완성, 및 키가 어디에도 선언되지 않았을 때의 경고.
751
+ - **[MCP server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/mcp_server.md)**: Intlayer 문서 및 CLI를 Cursor, VS Code, Claude Desktop, Claude Code 및 ChatGPT에 노출.
752
+ - **[Agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/agent_skills.md)**: `intlayer-config`, `intlayer-cli` 및 `intlayer-content`와 같은 집중된 기술입니다.
753
+ - **[ESLint plugin](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/eslint.md)**: `no-raw-text`는 하드코딩된 문자열을 표시합니다.
754
+
755
+ </Question>
756
+
757
+ <Question title="Intlayer는 무료이고 오픈 소스입니까?">
758
+
759
+ 네, Apache 2.0 라이선스 하에서 상용 사용이 포함됩니다. 호스팅된 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)는 선택적 유료 서비스이며 [자체 호스팅](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/self_hosting.md)할 수도 있습니다.
760
+
761
+ </Question>
762
+
763
+ </FAQ>