@intlayer/docs 9.5.3 → 9.5.4

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 (783) hide show
  1. package/README.md +8 -8
  2. package/blog/ar/history_of_i18n.md +54 -54
  3. package/blog/ar/how_to_pick_react_i18n_library.md +548 -0
  4. package/blog/ar/how_to_pick_solid_i18n_library.md +438 -0
  5. package/blog/ar/how_to_pick_svelte_i18n_library.md +454 -0
  6. package/blog/ar/how_to_pick_vue_i18n_library.md +442 -0
  7. package/blog/ar/is_i18next_outdated.md +5 -1
  8. package/blog/ar/is_next-intl_outdated.md +5 -1
  9. package/blog/ar/is_vue-i18n_outdated.md +7 -1
  10. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +8 -4
  11. package/blog/ar/per-component_vs_centralized_i18n.md +9 -4
  12. package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  13. package/blog/de/history_of_i18n.md +54 -54
  14. package/blog/de/how_to_pick_react_i18n_library.md +548 -0
  15. package/blog/de/how_to_pick_solid_i18n_library.md +451 -0
  16. package/blog/de/how_to_pick_svelte_i18n_library.md +454 -0
  17. package/blog/de/how_to_pick_vue_i18n_library.md +448 -0
  18. package/blog/de/is_i18next_outdated.md +5 -1
  19. package/blog/de/is_next-intl_outdated.md +5 -1
  20. package/blog/de/is_vue-i18n_outdated.md +7 -1
  21. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  22. package/blog/de/per-component_vs_centralized_i18n.md +9 -4
  23. package/blog/de/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  24. package/blog/en/history_of_i18n.md +54 -54
  25. package/blog/en/how_to_pick_react_i18n_library.md +542 -0
  26. package/blog/en/how_to_pick_solid_i18n_library.md +438 -0
  27. package/blog/en/how_to_pick_svelte_i18n_library.md +448 -0
  28. package/blog/en/how_to_pick_vue_i18n_library.md +442 -0
  29. package/blog/en/is_i18next_outdated.md +5 -1
  30. package/blog/en/is_next-intl_outdated.md +5 -1
  31. package/blog/en/is_vue-i18n_outdated.md +7 -1
  32. package/blog/en/list_i18n_technologies/frameworks/react-router.md +2 -3
  33. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  34. package/blog/en/per-component_vs_centralized_i18n.md +9 -4
  35. package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  36. package/blog/en-GB/history_of_i18n.md +54 -54
  37. package/blog/en-GB/how_to_pick_react_i18n_library.md +542 -0
  38. package/blog/en-GB/how_to_pick_solid_i18n_library.md +438 -0
  39. package/blog/en-GB/how_to_pick_svelte_i18n_library.md +448 -0
  40. package/blog/en-GB/how_to_pick_vue_i18n_library.md +448 -0
  41. package/blog/en-GB/is_i18next_outdated.md +5 -1
  42. package/blog/en-GB/is_next-intl_outdated.md +5 -1
  43. package/blog/en-GB/is_vue-i18n_outdated.md +7 -1
  44. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  45. package/blog/en-GB/per-component_vs_centralized_i18n.md +9 -4
  46. package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  47. package/blog/es/history_of_i18n.md +54 -54
  48. package/blog/es/how_to_pick_react_i18n_library.md +542 -0
  49. package/blog/es/how_to_pick_solid_i18n_library.md +446 -0
  50. package/blog/es/how_to_pick_svelte_i18n_library.md +448 -0
  51. package/blog/es/how_to_pick_vue_i18n_library.md +442 -0
  52. package/blog/es/is_i18next_outdated.md +5 -1
  53. package/blog/es/is_next-intl_outdated.md +5 -1
  54. package/blog/es/is_vue-i18n_outdated.md +7 -1
  55. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  56. package/blog/es/per-component_vs_centralized_i18n.md +9 -4
  57. package/blog/es/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  58. package/blog/fr/history_of_i18n.md +54 -54
  59. package/blog/fr/how_to_pick_react_i18n_library.md +542 -0
  60. package/blog/fr/how_to_pick_solid_i18n_library.md +438 -0
  61. package/blog/fr/how_to_pick_svelte_i18n_library.md +448 -0
  62. package/blog/fr/how_to_pick_vue_i18n_library.md +442 -0
  63. package/blog/fr/is_i18next_outdated.md +5 -1
  64. package/blog/fr/is_next-intl_outdated.md +5 -1
  65. package/blog/fr/is_vue-i18n_outdated.md +7 -1
  66. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  67. package/blog/fr/per-component_vs_centralized_i18n.md +9 -4
  68. package/blog/fr/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  69. package/blog/hi/history_of_i18n.md +54 -54
  70. package/blog/hi/how_to_pick_react_i18n_library.md +548 -0
  71. package/blog/hi/how_to_pick_solid_i18n_library.md +451 -0
  72. package/blog/hi/how_to_pick_svelte_i18n_library.md +448 -0
  73. package/blog/hi/how_to_pick_vue_i18n_library.md +442 -0
  74. package/blog/hi/is_i18next_outdated.md +5 -1
  75. package/blog/hi/is_next-intl_outdated.md +5 -1
  76. package/blog/hi/is_vue-i18n_outdated.md +7 -1
  77. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +8 -4
  78. package/blog/hi/per-component_vs_centralized_i18n.md +9 -4
  79. package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  80. package/blog/id/history_of_i18n.md +54 -54
  81. package/blog/id/how_to_pick_react_i18n_library.md +548 -0
  82. package/blog/id/how_to_pick_solid_i18n_library.md +451 -0
  83. package/blog/id/how_to_pick_svelte_i18n_library.md +454 -0
  84. package/blog/id/how_to_pick_vue_i18n_library.md +442 -0
  85. package/blog/id/is_i18next_outdated.md +5 -1
  86. package/blog/id/is_next-intl_outdated.md +5 -1
  87. package/blog/id/is_vue-i18n_outdated.md +7 -1
  88. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  89. package/blog/id/per-component_vs_centralized_i18n.md +9 -4
  90. package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  91. package/blog/it/history_of_i18n.md +54 -54
  92. package/blog/it/how_to_pick_react_i18n_library.md +549 -0
  93. package/blog/it/how_to_pick_solid_i18n_library.md +451 -0
  94. package/blog/it/how_to_pick_svelte_i18n_library.md +455 -0
  95. package/blog/it/how_to_pick_vue_i18n_library.md +449 -0
  96. package/blog/it/is_i18next_outdated.md +5 -1
  97. package/blog/it/is_next-intl_outdated.md +5 -1
  98. package/blog/it/is_vue-i18n_outdated.md +7 -1
  99. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  100. package/blog/it/per-component_vs_centralized_i18n.md +9 -4
  101. package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  102. package/blog/ja/history_of_i18n.md +54 -54
  103. package/blog/ja/how_to_pick_react_i18n_library.md +542 -0
  104. package/blog/ja/how_to_pick_solid_i18n_library.md +451 -0
  105. package/blog/ja/how_to_pick_svelte_i18n_library.md +457 -0
  106. package/blog/ja/how_to_pick_vue_i18n_library.md +442 -0
  107. package/blog/ja/is_i18next_outdated.md +5 -1
  108. package/blog/ja/is_next-intl_outdated.md +5 -1
  109. package/blog/ja/is_vue-i18n_outdated.md +7 -1
  110. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  111. package/blog/ja/per-component_vs_centralized_i18n.md +9 -4
  112. package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  113. package/blog/ko/history_of_i18n.md +54 -54
  114. package/blog/ko/how_to_pick_react_i18n_library.md +548 -0
  115. package/blog/ko/how_to_pick_solid_i18n_library.md +451 -0
  116. package/blog/ko/how_to_pick_svelte_i18n_library.md +454 -0
  117. package/blog/ko/how_to_pick_vue_i18n_library.md +448 -0
  118. package/blog/ko/is_i18next_outdated.md +5 -1
  119. package/blog/ko/is_next-intl_outdated.md +5 -1
  120. package/blog/ko/is_vue-i18n_outdated.md +7 -1
  121. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  122. package/blog/ko/per-component_vs_centralized_i18n.md +9 -4
  123. package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  124. package/blog/pl/history_of_i18n.md +54 -54
  125. package/blog/pl/how_to_pick_react_i18n_library.md +549 -0
  126. package/blog/pl/how_to_pick_solid_i18n_library.md +438 -0
  127. package/blog/pl/how_to_pick_svelte_i18n_library.md +460 -0
  128. package/blog/pl/how_to_pick_vue_i18n_library.md +442 -0
  129. package/blog/pl/is_i18next_outdated.md +5 -1
  130. package/blog/pl/is_next-intl_outdated.md +5 -1
  131. package/blog/pl/is_vue-i18n_outdated.md +7 -1
  132. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  133. package/blog/pl/per-component_vs_centralized_i18n.md +9 -4
  134. package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  135. package/blog/pt/history_of_i18n.md +54 -54
  136. package/blog/pt/how_to_pick_react_i18n_library.md +549 -0
  137. package/blog/pt/how_to_pick_solid_i18n_library.md +451 -0
  138. package/blog/pt/how_to_pick_svelte_i18n_library.md +454 -0
  139. package/blog/pt/how_to_pick_vue_i18n_library.md +448 -0
  140. package/blog/pt/is_i18next_outdated.md +5 -1
  141. package/blog/pt/is_next-intl_outdated.md +5 -1
  142. package/blog/pt/is_vue-i18n_outdated.md +7 -1
  143. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  144. package/blog/pt/per-component_vs_centralized_i18n.md +9 -4
  145. package/blog/pt/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  146. package/blog/ru/history_of_i18n.md +54 -54
  147. package/blog/ru/how_to_pick_react_i18n_library.md +553 -0
  148. package/blog/ru/how_to_pick_solid_i18n_library.md +451 -0
  149. package/blog/ru/how_to_pick_svelte_i18n_library.md +459 -0
  150. package/blog/ru/how_to_pick_vue_i18n_library.md +453 -0
  151. package/blog/ru/is_i18next_outdated.md +5 -1
  152. package/blog/ru/is_next-intl_outdated.md +5 -1
  153. package/blog/ru/is_vue-i18n_outdated.md +7 -1
  154. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +8 -4
  155. package/blog/ru/per-component_vs_centralized_i18n.md +9 -4
  156. package/blog/ru/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  157. package/blog/tr/history_of_i18n.md +54 -54
  158. package/blog/tr/how_to_pick_react_i18n_library.md +548 -0
  159. package/blog/tr/how_to_pick_solid_i18n_library.md +451 -0
  160. package/blog/tr/how_to_pick_svelte_i18n_library.md +454 -0
  161. package/blog/tr/how_to_pick_vue_i18n_library.md +448 -0
  162. package/blog/tr/is_i18next_outdated.md +5 -1
  163. package/blog/tr/is_next-intl_outdated.md +5 -1
  164. package/blog/tr/is_vue-i18n_outdated.md +7 -1
  165. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  166. package/blog/tr/per-component_vs_centralized_i18n.md +9 -4
  167. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  168. package/blog/uk/history_of_i18n.md +54 -54
  169. package/blog/uk/how_to_pick_react_i18n_library.md +542 -0
  170. package/blog/uk/how_to_pick_solid_i18n_library.md +451 -0
  171. package/blog/uk/how_to_pick_svelte_i18n_library.md +448 -0
  172. package/blog/uk/how_to_pick_vue_i18n_library.md +443 -0
  173. package/blog/uk/is_i18next_outdated.md +5 -1
  174. package/blog/uk/is_next-intl_outdated.md +5 -1
  175. package/blog/uk/is_vue-i18n_outdated.md +7 -1
  176. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  177. package/blog/uk/per-component_vs_centralized_i18n.md +9 -4
  178. package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  179. package/blog/vi/history_of_i18n.md +54 -54
  180. package/blog/vi/how_to_pick_react_i18n_library.md +548 -0
  181. package/blog/vi/how_to_pick_solid_i18n_library.md +438 -0
  182. package/blog/vi/how_to_pick_svelte_i18n_library.md +448 -0
  183. package/blog/vi/how_to_pick_vue_i18n_library.md +442 -0
  184. package/blog/vi/is_i18next_outdated.md +5 -1
  185. package/blog/vi/is_next-intl_outdated.md +5 -1
  186. package/blog/vi/is_vue-i18n_outdated.md +7 -1
  187. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  188. package/blog/vi/per-component_vs_centralized_i18n.md +9 -4
  189. package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  190. package/blog/zh/history_of_i18n.md +54 -54
  191. package/blog/zh/how_to_pick_react_i18n_library.md +548 -0
  192. package/blog/zh/how_to_pick_solid_i18n_library.md +451 -0
  193. package/blog/zh/how_to_pick_svelte_i18n_library.md +454 -0
  194. package/blog/zh/how_to_pick_vue_i18n_library.md +448 -0
  195. package/blog/zh/is_i18next_outdated.md +5 -1
  196. package/blog/zh/is_next-intl_outdated.md +5 -1
  197. package/blog/zh/is_vue-i18n_outdated.md +7 -1
  198. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  199. package/blog/zh/per-component_vs_centralized_i18n.md +9 -4
  200. package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  201. package/dist/cjs/generated/blog.entry.cjs +80 -0
  202. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  203. package/dist/cjs/index.cjs +1 -1
  204. package/dist/esm/generated/blog.entry.mjs +80 -0
  205. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  206. package/dist/esm/index.mjs +1 -1
  207. package/dist/types/generated/blog.entry.d.ts +4 -0
  208. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  209. package/docs/ar/bundle_optimization.md +5 -1
  210. package/docs/ar/how_works_intlayer.md +2 -2
  211. package/docs/ar/interest_of_intlayer.md +6 -6
  212. package/docs/ar/intlayer_CMS.md +1 -1
  213. package/docs/ar/intlayer_with_adonisjs.md +1 -1
  214. package/docs/ar/intlayer_with_analog.md +1 -1
  215. package/docs/ar/intlayer_with_angular_19.md +1 -1
  216. package/docs/ar/intlayer_with_angular_21.md +1 -1
  217. package/docs/ar/intlayer_with_astro.md +1 -1
  218. package/docs/ar/intlayer_with_astro_lit.md +1 -1
  219. package/docs/ar/intlayer_with_astro_preact.md +1 -1
  220. package/docs/ar/intlayer_with_astro_react.md +1 -1
  221. package/docs/ar/intlayer_with_astro_solid.md +1 -1
  222. package/docs/ar/intlayer_with_astro_svelte.md +1 -1
  223. package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
  224. package/docs/ar/intlayer_with_astro_vue.md +1 -1
  225. package/docs/ar/intlayer_with_create_react_app.md +1 -1
  226. package/docs/ar/intlayer_with_express.md +1 -1
  227. package/docs/ar/intlayer_with_hono.md +1 -1
  228. package/docs/ar/intlayer_with_nestjs.md +1 -1
  229. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  230. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  231. package/docs/ar/intlayer_with_nextjs_16.md +1 -1
  232. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  233. package/docs/ar/intlayer_with_react_router_v7.md +1 -1
  234. package/docs/ar/intlayer_with_vite+preact.md +1 -1
  235. package/docs/ar/intlayer_with_vite+react.md +1 -1
  236. package/docs/ar/intlayer_with_vite+vue.md +1 -1
  237. package/docs/ar/introduction.md +0 -1
  238. package/docs/ar/readme.md +8 -8
  239. package/docs/bn/bundle_optimization.md +5 -1
  240. package/docs/bn/interest_of_intlayer.md +21 -21
  241. package/docs/bn/intlayer_CMS.md +1 -1
  242. package/docs/bn/intlayer_with_angular_21.md +1 -1
  243. package/docs/bn/intlayer_with_hono.md +1 -1
  244. package/docs/bn/introduction.md +0 -1
  245. package/docs/cs/bundle_optimization.md +5 -1
  246. package/docs/cs/interest_of_intlayer.md +6 -6
  247. package/docs/cs/intlayer_with_angular_21.md +1 -1
  248. package/docs/cs/intlayer_with_hono.md +1 -1
  249. package/docs/cs/introduction.md +0 -1
  250. package/docs/de/bundle_optimization.md +5 -1
  251. package/docs/de/how_works_intlayer.md +2 -2
  252. package/docs/de/interest_of_intlayer.md +6 -6
  253. package/docs/de/intlayer_CMS.md +1 -1
  254. package/docs/de/intlayer_with_adonisjs.md +1 -1
  255. package/docs/de/intlayer_with_analog.md +1 -1
  256. package/docs/de/intlayer_with_angular_19.md +1 -1
  257. package/docs/de/intlayer_with_angular_21.md +1 -1
  258. package/docs/de/intlayer_with_astro.md +1 -1
  259. package/docs/de/intlayer_with_astro_lit.md +1 -1
  260. package/docs/de/intlayer_with_astro_preact.md +1 -1
  261. package/docs/de/intlayer_with_astro_react.md +1 -1
  262. package/docs/de/intlayer_with_astro_solid.md +1 -1
  263. package/docs/de/intlayer_with_astro_svelte.md +1 -1
  264. package/docs/de/intlayer_with_astro_vanilla.md +1 -1
  265. package/docs/de/intlayer_with_astro_vue.md +1 -1
  266. package/docs/de/intlayer_with_create_react_app.md +1 -1
  267. package/docs/de/intlayer_with_express.md +1 -1
  268. package/docs/de/intlayer_with_hono.md +1 -1
  269. package/docs/de/intlayer_with_nestjs.md +1 -1
  270. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  271. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  272. package/docs/de/intlayer_with_nextjs_16.md +1 -1
  273. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  274. package/docs/de/intlayer_with_vite+preact.md +1 -1
  275. package/docs/de/intlayer_with_vite+react.md +1 -1
  276. package/docs/de/intlayer_with_vite+vue.md +1 -1
  277. package/docs/de/introduction.md +0 -1
  278. package/docs/de/readme.md +8 -8
  279. package/docs/en/bundle_optimization.md +5 -1
  280. package/docs/en/how_works_intlayer.md +2 -2
  281. package/docs/en/interest_of_intlayer.md +6 -6
  282. package/docs/en/intlayer_CMS.md +1 -1
  283. package/docs/en/intlayer_with_adonisjs.md +1 -1
  284. package/docs/en/intlayer_with_analog.md +1 -1
  285. package/docs/en/intlayer_with_angular_19.md +1 -1
  286. package/docs/en/intlayer_with_angular_21.md +1 -1
  287. package/docs/en/intlayer_with_astro.md +1 -1
  288. package/docs/en/intlayer_with_astro_lit.md +1 -1
  289. package/docs/en/intlayer_with_astro_preact.md +1 -1
  290. package/docs/en/intlayer_with_astro_react.md +1 -1
  291. package/docs/en/intlayer_with_astro_solid.md +1 -1
  292. package/docs/en/intlayer_with_astro_svelte.md +1 -1
  293. package/docs/en/intlayer_with_astro_vanilla.md +1 -1
  294. package/docs/en/intlayer_with_astro_vue.md +1 -1
  295. package/docs/en/intlayer_with_create_react_app.md +1 -1
  296. package/docs/en/intlayer_with_express.md +1 -1
  297. package/docs/en/intlayer_with_hono.md +1 -1
  298. package/docs/en/intlayer_with_nestjs.md +1 -1
  299. package/docs/en/intlayer_with_nextjs_14.md +1 -1
  300. package/docs/en/intlayer_with_nextjs_15.md +1 -1
  301. package/docs/en/intlayer_with_nextjs_16.md +1 -1
  302. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  303. package/docs/en/intlayer_with_vite+preact.md +1 -1
  304. package/docs/en/intlayer_with_vite+react.md +1 -1
  305. package/docs/en/intlayer_with_vite+vue.md +1 -1
  306. package/docs/en/introduction.md +0 -1
  307. package/docs/en/readme.md +8 -8
  308. package/docs/en-GB/bundle_optimization.md +5 -1
  309. package/docs/en-GB/how_works_intlayer.md +2 -2
  310. package/docs/en-GB/interest_of_intlayer.md +6 -6
  311. package/docs/en-GB/intlayer_CMS.md +1 -1
  312. package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
  313. package/docs/en-GB/intlayer_with_analog.md +1 -1
  314. package/docs/en-GB/intlayer_with_angular_19.md +1 -1
  315. package/docs/en-GB/intlayer_with_angular_21.md +1 -1
  316. package/docs/en-GB/intlayer_with_astro.md +1 -1
  317. package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
  318. package/docs/en-GB/intlayer_with_astro_preact.md +1 -1
  319. package/docs/en-GB/intlayer_with_astro_react.md +1 -1
  320. package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
  321. package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
  322. package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
  323. package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
  324. package/docs/en-GB/intlayer_with_create_react_app.md +1 -1
  325. package/docs/en-GB/intlayer_with_express.md +1 -1
  326. package/docs/en-GB/intlayer_with_hono.md +1 -1
  327. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  328. package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
  329. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  330. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  331. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  332. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  333. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  334. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  335. package/docs/en-GB/introduction.md +0 -1
  336. package/docs/en-GB/readme.md +8 -8
  337. package/docs/es/bundle_optimization.md +5 -1
  338. package/docs/es/how_works_intlayer.md +2 -2
  339. package/docs/es/interest_of_intlayer.md +6 -6
  340. package/docs/es/intlayer_CMS.md +1 -1
  341. package/docs/es/intlayer_with_adonisjs.md +1 -1
  342. package/docs/es/intlayer_with_analog.md +1 -1
  343. package/docs/es/intlayer_with_angular_19.md +1 -1
  344. package/docs/es/intlayer_with_angular_21.md +1 -1
  345. package/docs/es/intlayer_with_astro.md +1 -1
  346. package/docs/es/intlayer_with_astro_lit.md +1 -1
  347. package/docs/es/intlayer_with_astro_preact.md +1 -1
  348. package/docs/es/intlayer_with_astro_react.md +1 -1
  349. package/docs/es/intlayer_with_astro_solid.md +1 -1
  350. package/docs/es/intlayer_with_astro_svelte.md +1 -1
  351. package/docs/es/intlayer_with_astro_vanilla.md +1 -1
  352. package/docs/es/intlayer_with_astro_vue.md +1 -1
  353. package/docs/es/intlayer_with_create_react_app.md +1 -1
  354. package/docs/es/intlayer_with_express.md +1 -1
  355. package/docs/es/intlayer_with_hono.md +1 -1
  356. package/docs/es/intlayer_with_nestjs.md +1 -1
  357. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  358. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  359. package/docs/es/intlayer_with_nextjs_16.md +1 -1
  360. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  361. package/docs/es/intlayer_with_vite+preact.md +1 -1
  362. package/docs/es/intlayer_with_vite+react.md +1 -1
  363. package/docs/es/intlayer_with_vite+vue.md +1 -1
  364. package/docs/es/introduction.md +0 -1
  365. package/docs/es/readme.md +8 -8
  366. package/docs/fr/bundle_optimization.md +5 -1
  367. package/docs/fr/how_works_intlayer.md +2 -2
  368. package/docs/fr/interest_of_intlayer.md +6 -6
  369. package/docs/fr/intlayer_CMS.md +1 -1
  370. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  371. package/docs/fr/intlayer_with_analog.md +1 -1
  372. package/docs/fr/intlayer_with_angular_19.md +1 -1
  373. package/docs/fr/intlayer_with_angular_21.md +1 -1
  374. package/docs/fr/intlayer_with_astro.md +1 -1
  375. package/docs/fr/intlayer_with_astro_lit.md +1 -1
  376. package/docs/fr/intlayer_with_astro_preact.md +1 -1
  377. package/docs/fr/intlayer_with_astro_react.md +1 -1
  378. package/docs/fr/intlayer_with_astro_solid.md +1 -1
  379. package/docs/fr/intlayer_with_astro_svelte.md +1 -1
  380. package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
  381. package/docs/fr/intlayer_with_astro_vue.md +1 -1
  382. package/docs/fr/intlayer_with_create_react_app.md +1 -1
  383. package/docs/fr/intlayer_with_express.md +1 -1
  384. package/docs/fr/intlayer_with_hono.md +1 -1
  385. package/docs/fr/intlayer_with_nestjs.md +1 -1
  386. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  387. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  388. package/docs/fr/intlayer_with_nextjs_16.md +1 -1
  389. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  390. package/docs/fr/intlayer_with_react_router_v7.md +2 -2
  391. package/docs/fr/intlayer_with_vite+preact.md +1 -1
  392. package/docs/fr/intlayer_with_vite+react.md +1 -1
  393. package/docs/fr/intlayer_with_vite+vue.md +1 -1
  394. package/docs/fr/introduction.md +0 -1
  395. package/docs/fr/readme.md +8 -8
  396. package/docs/hi/bundle_optimization.md +5 -1
  397. package/docs/hi/how_works_intlayer.md +2 -2
  398. package/docs/hi/interest_of_intlayer.md +6 -6
  399. package/docs/hi/intlayer_CMS.md +1 -1
  400. package/docs/hi/intlayer_with_adonisjs.md +1 -1
  401. package/docs/hi/intlayer_with_analog.md +1 -1
  402. package/docs/hi/intlayer_with_angular_19.md +1 -1
  403. package/docs/hi/intlayer_with_angular_21.md +1 -1
  404. package/docs/hi/intlayer_with_astro.md +1 -1
  405. package/docs/hi/intlayer_with_astro_lit.md +1 -1
  406. package/docs/hi/intlayer_with_astro_preact.md +1 -1
  407. package/docs/hi/intlayer_with_astro_react.md +1 -1
  408. package/docs/hi/intlayer_with_astro_solid.md +1 -1
  409. package/docs/hi/intlayer_with_astro_svelte.md +1 -1
  410. package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
  411. package/docs/hi/intlayer_with_astro_vue.md +1 -1
  412. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  413. package/docs/hi/intlayer_with_express.md +1 -1
  414. package/docs/hi/intlayer_with_hono.md +1 -1
  415. package/docs/hi/intlayer_with_nestjs.md +1 -1
  416. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  417. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  418. package/docs/hi/intlayer_with_nextjs_16.md +1 -1
  419. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  420. package/docs/hi/intlayer_with_react_router_v7.md +1 -1
  421. package/docs/hi/intlayer_with_vite+preact.md +1 -1
  422. package/docs/hi/intlayer_with_vite+react.md +1 -1
  423. package/docs/hi/intlayer_with_vite+vue.md +1 -1
  424. package/docs/hi/introduction.md +0 -1
  425. package/docs/hi/readme.md +8 -8
  426. package/docs/id/bundle_optimization.md +5 -1
  427. package/docs/id/how_works_intlayer.md +2 -2
  428. package/docs/id/interest_of_intlayer.md +6 -6
  429. package/docs/id/intlayer_CMS.md +1 -1
  430. package/docs/id/intlayer_with_adonisjs.md +1 -1
  431. package/docs/id/intlayer_with_analog.md +1 -1
  432. package/docs/id/intlayer_with_angular_19.md +1 -1
  433. package/docs/id/intlayer_with_angular_21.md +1 -1
  434. package/docs/id/intlayer_with_astro.md +1 -1
  435. package/docs/id/intlayer_with_astro_lit.md +1 -1
  436. package/docs/id/intlayer_with_astro_preact.md +1 -1
  437. package/docs/id/intlayer_with_astro_react.md +1 -1
  438. package/docs/id/intlayer_with_astro_solid.md +1 -1
  439. package/docs/id/intlayer_with_astro_svelte.md +1 -1
  440. package/docs/id/intlayer_with_astro_vanilla.md +1 -1
  441. package/docs/id/intlayer_with_astro_vue.md +1 -1
  442. package/docs/id/intlayer_with_create_react_app.md +1 -1
  443. package/docs/id/intlayer_with_express.md +1 -1
  444. package/docs/id/intlayer_with_hono.md +1 -1
  445. package/docs/id/intlayer_with_nestjs.md +1 -1
  446. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  447. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  448. package/docs/id/intlayer_with_nextjs_16.md +1 -1
  449. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  450. package/docs/id/intlayer_with_react_router_v7.md +1 -1
  451. package/docs/id/intlayer_with_vite+preact.md +1 -1
  452. package/docs/id/intlayer_with_vite+react.md +1 -1
  453. package/docs/id/intlayer_with_vite+vue.md +1 -1
  454. package/docs/id/introduction.md +0 -1
  455. package/docs/id/readme.md +8 -8
  456. package/docs/it/bundle_optimization.md +5 -1
  457. package/docs/it/how_works_intlayer.md +2 -2
  458. package/docs/it/interest_of_intlayer.md +6 -6
  459. package/docs/it/intlayer_CMS.md +1 -1
  460. package/docs/it/intlayer_with_adonisjs.md +1 -1
  461. package/docs/it/intlayer_with_analog.md +1 -1
  462. package/docs/it/intlayer_with_angular_19.md +1 -1
  463. package/docs/it/intlayer_with_angular_21.md +1 -1
  464. package/docs/it/intlayer_with_astro.md +1 -1
  465. package/docs/it/intlayer_with_astro_lit.md +1 -1
  466. package/docs/it/intlayer_with_astro_preact.md +1 -1
  467. package/docs/it/intlayer_with_astro_react.md +1 -1
  468. package/docs/it/intlayer_with_astro_solid.md +1 -1
  469. package/docs/it/intlayer_with_astro_svelte.md +1 -1
  470. package/docs/it/intlayer_with_astro_vanilla.md +1 -1
  471. package/docs/it/intlayer_with_astro_vue.md +1 -1
  472. package/docs/it/intlayer_with_create_react_app.md +1 -1
  473. package/docs/it/intlayer_with_express.md +1 -1
  474. package/docs/it/intlayer_with_hono.md +1 -1
  475. package/docs/it/intlayer_with_nestjs.md +1 -1
  476. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  477. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  478. package/docs/it/intlayer_with_nextjs_16.md +1 -1
  479. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  480. package/docs/it/intlayer_with_react_router_v7.md +2 -2
  481. package/docs/it/intlayer_with_vite+preact.md +1 -1
  482. package/docs/it/intlayer_with_vite+react.md +1 -1
  483. package/docs/it/intlayer_with_vite+vue.md +1 -1
  484. package/docs/it/introduction.md +0 -1
  485. package/docs/it/readme.md +8 -8
  486. package/docs/ja/bundle_optimization.md +5 -1
  487. package/docs/ja/how_works_intlayer.md +2 -2
  488. package/docs/ja/interest_of_intlayer.md +6 -6
  489. package/docs/ja/intlayer_CMS.md +1 -1
  490. package/docs/ja/intlayer_with_adonisjs.md +1 -1
  491. package/docs/ja/intlayer_with_analog.md +1 -1
  492. package/docs/ja/intlayer_with_angular_19.md +1 -1
  493. package/docs/ja/intlayer_with_angular_21.md +1 -1
  494. package/docs/ja/intlayer_with_astro.md +1 -1
  495. package/docs/ja/intlayer_with_astro_lit.md +1 -1
  496. package/docs/ja/intlayer_with_astro_preact.md +1 -1
  497. package/docs/ja/intlayer_with_astro_react.md +1 -1
  498. package/docs/ja/intlayer_with_astro_solid.md +1 -1
  499. package/docs/ja/intlayer_with_astro_svelte.md +1 -1
  500. package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
  501. package/docs/ja/intlayer_with_astro_vue.md +1 -1
  502. package/docs/ja/intlayer_with_create_react_app.md +1 -1
  503. package/docs/ja/intlayer_with_express.md +1 -1
  504. package/docs/ja/intlayer_with_hono.md +1 -1
  505. package/docs/ja/intlayer_with_nestjs.md +1 -1
  506. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  507. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  508. package/docs/ja/intlayer_with_nextjs_16.md +1 -1
  509. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  510. package/docs/ja/intlayer_with_vite+preact.md +1 -1
  511. package/docs/ja/intlayer_with_vite+react.md +1 -1
  512. package/docs/ja/intlayer_with_vite+vue.md +1 -1
  513. package/docs/ja/introduction.md +0 -1
  514. package/docs/ja/readme.md +8 -8
  515. package/docs/ko/bundle_optimization.md +5 -1
  516. package/docs/ko/how_works_intlayer.md +2 -2
  517. package/docs/ko/interest_of_intlayer.md +6 -6
  518. package/docs/ko/intlayer_CMS.md +1 -1
  519. package/docs/ko/intlayer_with_adonisjs.md +1 -1
  520. package/docs/ko/intlayer_with_analog.md +1 -1
  521. package/docs/ko/intlayer_with_angular_19.md +1 -1
  522. package/docs/ko/intlayer_with_angular_21.md +1 -1
  523. package/docs/ko/intlayer_with_astro.md +1 -1
  524. package/docs/ko/intlayer_with_astro_lit.md +1 -1
  525. package/docs/ko/intlayer_with_astro_preact.md +1 -1
  526. package/docs/ko/intlayer_with_astro_react.md +1 -1
  527. package/docs/ko/intlayer_with_astro_solid.md +1 -1
  528. package/docs/ko/intlayer_with_astro_svelte.md +1 -1
  529. package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
  530. package/docs/ko/intlayer_with_astro_vue.md +1 -1
  531. package/docs/ko/intlayer_with_create_react_app.md +1 -1
  532. package/docs/ko/intlayer_with_express.md +1 -1
  533. package/docs/ko/intlayer_with_hono.md +1 -1
  534. package/docs/ko/intlayer_with_nestjs.md +1 -1
  535. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  536. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  537. package/docs/ko/intlayer_with_nextjs_16.md +1 -1
  538. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  539. package/docs/ko/intlayer_with_react_router_v7.md +2 -2
  540. package/docs/ko/intlayer_with_vite+preact.md +1 -1
  541. package/docs/ko/intlayer_with_vite+react.md +1 -1
  542. package/docs/ko/intlayer_with_vite+vue.md +1 -1
  543. package/docs/ko/introduction.md +0 -1
  544. package/docs/ko/readme.md +8 -8
  545. package/docs/nl/bundle_optimization.md +5 -1
  546. package/docs/nl/interest_of_intlayer.md +6 -6
  547. package/docs/nl/intlayer_with_angular_21.md +1 -1
  548. package/docs/nl/intlayer_with_hono.md +1 -1
  549. package/docs/nl/introduction.md +0 -1
  550. package/docs/pl/bundle_optimization.md +5 -1
  551. package/docs/pl/how_works_intlayer.md +2 -2
  552. package/docs/pl/interest_of_intlayer.md +6 -6
  553. package/docs/pl/intlayer_CMS.md +1 -1
  554. package/docs/pl/intlayer_with_adonisjs.md +1 -1
  555. package/docs/pl/intlayer_with_analog.md +1 -1
  556. package/docs/pl/intlayer_with_angular_19.md +1 -1
  557. package/docs/pl/intlayer_with_angular_21.md +1 -1
  558. package/docs/pl/intlayer_with_astro.md +1 -1
  559. package/docs/pl/intlayer_with_astro_lit.md +1 -1
  560. package/docs/pl/intlayer_with_astro_preact.md +1 -1
  561. package/docs/pl/intlayer_with_astro_react.md +1 -1
  562. package/docs/pl/intlayer_with_astro_solid.md +1 -1
  563. package/docs/pl/intlayer_with_astro_svelte.md +1 -1
  564. package/docs/pl/intlayer_with_astro_vanilla.md +1 -1
  565. package/docs/pl/intlayer_with_astro_vue.md +1 -1
  566. package/docs/pl/intlayer_with_create_react_app.md +1 -1
  567. package/docs/pl/intlayer_with_express.md +1 -1
  568. package/docs/pl/intlayer_with_hono.md +1 -1
  569. package/docs/pl/intlayer_with_nestjs.md +1 -1
  570. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  571. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  572. package/docs/pl/intlayer_with_nextjs_16.md +1 -1
  573. package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
  574. package/docs/pl/intlayer_with_react_router_v7.md +2 -2
  575. package/docs/pl/intlayer_with_vite+preact.md +1 -1
  576. package/docs/pl/intlayer_with_vite+react.md +1 -1
  577. package/docs/pl/intlayer_with_vite+vue.md +1 -1
  578. package/docs/pl/introduction.md +0 -1
  579. package/docs/pl/readme.md +8 -8
  580. package/docs/pt/bundle_optimization.md +5 -1
  581. package/docs/pt/how_works_intlayer.md +2 -2
  582. package/docs/pt/interest_of_intlayer.md +6 -6
  583. package/docs/pt/intlayer_CMS.md +1 -1
  584. package/docs/pt/intlayer_with_adonisjs.md +1 -1
  585. package/docs/pt/intlayer_with_analog.md +1 -1
  586. package/docs/pt/intlayer_with_angular_19.md +1 -1
  587. package/docs/pt/intlayer_with_angular_21.md +1 -1
  588. package/docs/pt/intlayer_with_astro.md +1 -1
  589. package/docs/pt/intlayer_with_astro_lit.md +1 -1
  590. package/docs/pt/intlayer_with_astro_preact.md +1 -1
  591. package/docs/pt/intlayer_with_astro_react.md +1 -1
  592. package/docs/pt/intlayer_with_astro_solid.md +1 -1
  593. package/docs/pt/intlayer_with_astro_svelte.md +1 -1
  594. package/docs/pt/intlayer_with_astro_vanilla.md +1 -1
  595. package/docs/pt/intlayer_with_astro_vue.md +1 -1
  596. package/docs/pt/intlayer_with_create_react_app.md +1 -1
  597. package/docs/pt/intlayer_with_express.md +1 -1
  598. package/docs/pt/intlayer_with_hono.md +1 -1
  599. package/docs/pt/intlayer_with_nestjs.md +1 -1
  600. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  601. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  602. package/docs/pt/intlayer_with_nextjs_16.md +1 -1
  603. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  604. package/docs/pt/intlayer_with_react_router_v7.md +2 -2
  605. package/docs/pt/intlayer_with_vite+preact.md +1 -1
  606. package/docs/pt/intlayer_with_vite+react.md +1 -1
  607. package/docs/pt/intlayer_with_vite+vue.md +1 -1
  608. package/docs/pt/introduction.md +0 -1
  609. package/docs/pt/readme.md +8 -8
  610. package/docs/ru/bundle_optimization.md +5 -1
  611. package/docs/ru/how_works_intlayer.md +2 -2
  612. package/docs/ru/interest_of_intlayer.md +6 -6
  613. package/docs/ru/intlayer_CMS.md +1 -1
  614. package/docs/ru/intlayer_with_adonisjs.md +1 -1
  615. package/docs/ru/intlayer_with_analog.md +1 -1
  616. package/docs/ru/intlayer_with_angular_19.md +1 -1
  617. package/docs/ru/intlayer_with_angular_21.md +1 -1
  618. package/docs/ru/intlayer_with_astro.md +1 -1
  619. package/docs/ru/intlayer_with_astro_lit.md +1 -1
  620. package/docs/ru/intlayer_with_astro_preact.md +1 -1
  621. package/docs/ru/intlayer_with_astro_react.md +1 -1
  622. package/docs/ru/intlayer_with_astro_solid.md +1 -1
  623. package/docs/ru/intlayer_with_astro_svelte.md +1 -1
  624. package/docs/ru/intlayer_with_astro_vanilla.md +1 -1
  625. package/docs/ru/intlayer_with_astro_vue.md +1 -1
  626. package/docs/ru/intlayer_with_create_react_app.md +1 -1
  627. package/docs/ru/intlayer_with_express.md +1 -1
  628. package/docs/ru/intlayer_with_hono.md +1 -1
  629. package/docs/ru/intlayer_with_nestjs.md +1 -1
  630. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  631. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  632. package/docs/ru/intlayer_with_nextjs_16.md +1 -1
  633. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  634. package/docs/ru/intlayer_with_react_router_v7.md +2 -2
  635. package/docs/ru/intlayer_with_vite+preact.md +1 -1
  636. package/docs/ru/intlayer_with_vite+react.md +1 -1
  637. package/docs/ru/intlayer_with_vite+vue.md +1 -1
  638. package/docs/ru/introduction.md +0 -1
  639. package/docs/ru/readme.md +8 -8
  640. package/docs/tr/bundle_optimization.md +5 -1
  641. package/docs/tr/how_works_intlayer.md +2 -2
  642. package/docs/tr/interest_of_intlayer.md +6 -6
  643. package/docs/tr/intlayer_CMS.md +1 -1
  644. package/docs/tr/intlayer_with_adonisjs.md +1 -1
  645. package/docs/tr/intlayer_with_analog.md +1 -1
  646. package/docs/tr/intlayer_with_angular_19.md +1 -1
  647. package/docs/tr/intlayer_with_angular_21.md +1 -1
  648. package/docs/tr/intlayer_with_astro.md +1 -1
  649. package/docs/tr/intlayer_with_astro_lit.md +1 -1
  650. package/docs/tr/intlayer_with_astro_preact.md +1 -1
  651. package/docs/tr/intlayer_with_astro_react.md +1 -1
  652. package/docs/tr/intlayer_with_astro_solid.md +1 -1
  653. package/docs/tr/intlayer_with_astro_svelte.md +1 -1
  654. package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
  655. package/docs/tr/intlayer_with_astro_vue.md +1 -1
  656. package/docs/tr/intlayer_with_create_react_app.md +1 -1
  657. package/docs/tr/intlayer_with_express.md +1 -1
  658. package/docs/tr/intlayer_with_hono.md +1 -1
  659. package/docs/tr/intlayer_with_nestjs.md +1 -1
  660. package/docs/tr/intlayer_with_nextjs_14.md +1 -1
  661. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  662. package/docs/tr/intlayer_with_nextjs_16.md +1 -1
  663. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  664. package/docs/tr/intlayer_with_react_router_v7.md +1 -1
  665. package/docs/tr/intlayer_with_vite+preact.md +1 -1
  666. package/docs/tr/intlayer_with_vite+react.md +1 -1
  667. package/docs/tr/intlayer_with_vite+vue.md +1 -1
  668. package/docs/tr/introduction.md +0 -1
  669. package/docs/tr/readme.md +8 -8
  670. package/docs/uk/bundle_optimization.md +5 -1
  671. package/docs/uk/how_works_intlayer.md +2 -2
  672. package/docs/uk/interest_of_intlayer.md +6 -6
  673. package/docs/uk/intlayer_CMS.md +1 -1
  674. package/docs/uk/intlayer_with_adonisjs.md +1 -1
  675. package/docs/uk/intlayer_with_analog.md +1 -1
  676. package/docs/uk/intlayer_with_angular_19.md +1 -1
  677. package/docs/uk/intlayer_with_angular_21.md +1 -1
  678. package/docs/uk/intlayer_with_astro.md +1 -1
  679. package/docs/uk/intlayer_with_astro_lit.md +1 -1
  680. package/docs/uk/intlayer_with_astro_preact.md +1 -1
  681. package/docs/uk/intlayer_with_astro_react.md +1 -1
  682. package/docs/uk/intlayer_with_astro_solid.md +1 -1
  683. package/docs/uk/intlayer_with_astro_svelte.md +1 -1
  684. package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
  685. package/docs/uk/intlayer_with_astro_vue.md +1 -1
  686. package/docs/uk/intlayer_with_create_react_app.md +1 -1
  687. package/docs/uk/intlayer_with_express.md +1 -1
  688. package/docs/uk/intlayer_with_hono.md +1 -1
  689. package/docs/uk/intlayer_with_nestjs.md +1 -1
  690. package/docs/uk/intlayer_with_nextjs_14.md +1 -1
  691. package/docs/uk/intlayer_with_nextjs_15.md +1 -1
  692. package/docs/uk/intlayer_with_nextjs_16.md +1 -1
  693. package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
  694. package/docs/uk/intlayer_with_react_router_v7.md +1 -1
  695. package/docs/uk/intlayer_with_vite+preact.md +1 -1
  696. package/docs/uk/intlayer_with_vite+react.md +1 -1
  697. package/docs/uk/intlayer_with_vite+vue.md +1 -1
  698. package/docs/uk/introduction.md +0 -1
  699. package/docs/uk/readme.md +8 -8
  700. package/docs/ur/bundle_optimization.md +5 -1
  701. package/docs/ur/interest_of_intlayer.md +6 -6
  702. package/docs/ur/intlayer_with_angular_21.md +1 -1
  703. package/docs/ur/intlayer_with_hono.md +1 -1
  704. package/docs/ur/introduction.md +0 -1
  705. package/docs/vi/bundle_optimization.md +5 -1
  706. package/docs/vi/how_works_intlayer.md +2 -2
  707. package/docs/vi/interest_of_intlayer.md +6 -6
  708. package/docs/vi/intlayer_CMS.md +1 -1
  709. package/docs/vi/intlayer_with_adonisjs.md +1 -1
  710. package/docs/vi/intlayer_with_analog.md +1 -1
  711. package/docs/vi/intlayer_with_angular_19.md +1 -1
  712. package/docs/vi/intlayer_with_angular_21.md +1 -1
  713. package/docs/vi/intlayer_with_astro.md +1 -1
  714. package/docs/vi/intlayer_with_astro_lit.md +1 -1
  715. package/docs/vi/intlayer_with_astro_preact.md +1 -1
  716. package/docs/vi/intlayer_with_astro_react.md +1 -1
  717. package/docs/vi/intlayer_with_astro_solid.md +1 -1
  718. package/docs/vi/intlayer_with_astro_svelte.md +1 -1
  719. package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
  720. package/docs/vi/intlayer_with_astro_vue.md +1 -1
  721. package/docs/vi/intlayer_with_create_react_app.md +1 -1
  722. package/docs/vi/intlayer_with_express.md +1 -1
  723. package/docs/vi/intlayer_with_hono.md +1 -1
  724. package/docs/vi/intlayer_with_nestjs.md +1 -1
  725. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  726. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  727. package/docs/vi/intlayer_with_nextjs_16.md +1 -1
  728. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  729. package/docs/vi/intlayer_with_vite+preact.md +1 -1
  730. package/docs/vi/intlayer_with_vite+react.md +1 -1
  731. package/docs/vi/intlayer_with_vite+vue.md +1 -1
  732. package/docs/vi/introduction.md +0 -1
  733. package/docs/vi/readme.md +8 -8
  734. package/docs/zh/bundle_optimization.md +5 -1
  735. package/docs/zh/how_works_intlayer.md +2 -2
  736. package/docs/zh/interest_of_intlayer.md +6 -6
  737. package/docs/zh/intlayer_CMS.md +1 -1
  738. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  739. package/docs/zh/intlayer_with_analog.md +1 -1
  740. package/docs/zh/intlayer_with_angular_19.md +1 -1
  741. package/docs/zh/intlayer_with_angular_21.md +1 -1
  742. package/docs/zh/intlayer_with_astro.md +1 -1
  743. package/docs/zh/intlayer_with_astro_lit.md +1 -1
  744. package/docs/zh/intlayer_with_astro_preact.md +1 -1
  745. package/docs/zh/intlayer_with_astro_react.md +1 -1
  746. package/docs/zh/intlayer_with_astro_solid.md +1 -1
  747. package/docs/zh/intlayer_with_astro_svelte.md +1 -1
  748. package/docs/zh/intlayer_with_astro_vanilla.md +1 -1
  749. package/docs/zh/intlayer_with_astro_vue.md +1 -1
  750. package/docs/zh/intlayer_with_create_react_app.md +1 -1
  751. package/docs/zh/intlayer_with_express.md +1 -1
  752. package/docs/zh/intlayer_with_hono.md +1 -1
  753. package/docs/zh/intlayer_with_nestjs.md +1 -1
  754. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  755. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  756. package/docs/zh/intlayer_with_nextjs_16.md +1 -1
  757. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  758. package/docs/zh/intlayer_with_react_router_v7.md +2 -2
  759. package/docs/zh/intlayer_with_vite+preact.md +1 -1
  760. package/docs/zh/intlayer_with_vite+react.md +1 -1
  761. package/docs/zh/intlayer_with_vite+vue.md +1 -1
  762. package/docs/zh/introduction.md +0 -1
  763. package/docs/zh/readme.md +8 -8
  764. package/docs/zh-TW/bundle_optimization.md +5 -1
  765. package/docs/zh-TW/interest_of_intlayer.md +6 -6
  766. package/docs/zh-TW/intlayer_with_angular_21.md +1 -1
  767. package/docs/zh-TW/introduction.md +0 -1
  768. package/package.json +8 -7
  769. package/src/generated/blog.entry.ts +80 -0
  770. package/blog/en/___per-component_vs_centralized_i18n.md +0 -255
  771. package/blog/pl/___per-component_vs_centralized_i18n.md +0 -100
  772. package/docs/en/benchmark/___NOTE.md +0 -101
  773. package/docs/en/benchmark/___nextjs.md +0 -197
  774. package/docs/en/benchmark/___solid.md +0 -12
  775. package/docs/en/benchmark/___svelte.md +0 -16
  776. package/docs/en/benchmark/___tanstack.md +0 -190
  777. package/docs/en/benchmark/___vue.md +0 -7
  778. package/docs/pl/benchmark/___NOTE.md +0 -101
  779. package/docs/pl/benchmark/___nextjs.md +0 -198
  780. package/docs/pl/benchmark/___solid.md +0 -36
  781. package/docs/pl/benchmark/___svelte.md +0 -36
  782. package/docs/pl/benchmark/___tanstack.md +0 -36
  783. package/docs/pl/benchmark/___vue.md +0 -36
@@ -49,7 +49,7 @@ author: aymericzip
49
49
 
50
50
  이 글에서는 2011년부터 2026년까지의 진화 과정을 정리합니다. 각 세대의 도구들이 해결하고자 했던 과제, 성공 요인과 한계, 그리고 프론트엔드 아키텍처의 발전이 오늘날 우리가 i18n을 다루는 방식에 미친 영향을 살펴봅니다.
51
51
 
52
- ![JavaScript 국제화 라이브러리 생태계 변천사](https://github.com/aymericzip/intlayer/blob/main/docs/assets/cloud_i18n_logo.png?raw=true)
52
+ ![JavaScript 국제화 라이브러리 생태계 변천사](https://github.com/aymericzip/intlayer/blob/main/docs/assets/cloud_i18n_logo.webp?raw=true)
53
53
 
54
54
  ## 목차
55
55
 
@@ -149,87 +149,87 @@ Jan Mühlemann은 고차 컴포넌트(`withTranslation`)와 React Context를 도
149
149
 
150
150
  <Tab label="Core JavaScript" value="javascript">
151
151
 
152
- | 첫 출시 | 라이브러리 | 주요 해결 과제 | 핵심 혁신 요소 |
153
- | ----------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
154
- | 2012년 1월 | `i18next` | 특정 프레임워크 종속 없이 브라우저와 Node.js 환경에서 런타임 사전 조회를 표준화. | 핵심 번역 엔진과 로더, 감지기, 캐시 계층을 분리하는 유연한 플러그인 런타임 아키텍처. |
155
- | 2021년 2월 | `typesafe-i18n` | 타입이 지정되지 않은 문자열 키로 인한 런타임 무응답 오류 및 잘못된 변수 보간 방지. | 번역 객체로부터 직접 자동 생성되며 런타임 의존성이 전혀 없는 완전한 타입 세이프 번역 함수. |
156
- | 2023년 10월 | `paraglide` (`@inlang/paraglide-js`) | 런타임 사전 검색, 무거운 구문 파서, 클라이언트 번들 비대화 제거. | 메시지를 Tree-shaking이 가능한 순수 ECMAScript 모듈 및 일반 JavaScript 함수로 컴파일. |
157
- | 2024년 4월 | `intlayer` | 관리가 힘든 대형 네임스페이스 대체, 페이지 간 문구 유출 방지, Git 충돌 감소 및 TypeScript 기반의 엄격한 타입 안정성 확보. | `.content` 파일을 컴포넌트 옆에 배치하여 정밀하게 분할하고, TypeScript 타입을 자동 생성하며, 비주얼 CMS 및 AI 기반 CLI 번역 도구 제공. |
158
- | 2025년 6월 | `wuchale` | 개발 도중 텍스트를 수작업으로 추출하고 인위적인 번역 키를 짓는 번거로움 해소. | AST 레벨에서 인라인 텍스트를 자동 감지하여 빌드 타임에 별도 래퍼 없는 로컬라이즈드 함수로 직접 컴파일. |
152
+ | 첫 출시 | 라이브러리 | 작성자 | 주요 해결 과제 | 핵심 혁신 요소 |
153
+ | ----------- | ------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
154
+ | 2012년 1월 | `i18next` | Jan Mühlemann (`@jamuhl`) | 특정 프레임워크 종속 없이 브라우저와 Node.js 환경에서 런타임 사전 조회를 표준화. | 핵심 번역 엔진과 로더, 감지기, 캐시 계층을 분리하는 유연한 플러그인 런타임 아키텍처. |
155
+ | 2021년 2월 | `typesafe-i18n` | Ivan Hofer (`@ivanhofer`) | 타입이 지정되지 않은 문자열 키로 인한 런타임 무응답 오류 및 잘못된 변수 보간 방지. | 번역 객체로부터 직접 자동 생성되며 런타임 의존성이 전혀 없는 완전한 타입 세이프 번역 함수. |
156
+ | 2023년 10월 | `paraglide` (`@inlang/paraglide-js`) | Samuel Stroschein (`@samuelstroschein`) / Inlang (`@inlang`) | 런타임 사전 검색, 무거운 구문 파서, 클라이언트 번들 비대화 제거. | 메시지를 Tree-shaking이 가능한 순수 ECMAScript 모듈 및 일반 JavaScript 함수로 컴파일. |
157
+ | 2024년 8월 | `intlayer` | Aymeric Pineau (`@aymericzip`) | 관리가 힘든 대형 네임스페이스 대체, 페이지 간 문구 유출 방지, Git 충돌 감소 및 TypeScript 기반의 엄격한 타입 안정성 확보. | `.content` 파일을 컴포넌트 옆에 배치하여 정밀하게 분할하고, TypeScript 타입을 자동 생성하며, 비주얼 CMS 및 AI 기반 CLI 번역 도구 제공. |
158
+ | 2025년 6월 | `wuchale` | Kidus Adugna (`@K1DV5`) | 개발 도중 텍스트를 수작업으로 추출하고 인위적인 번역 키를 짓는 번거로움 해소. | AST 레벨에서 인라인 텍스트를 자동 감지하여 빌드 타임에 별도 래퍼 없는 로컬라이즈드 함수로 직접 컴파일. |
159
159
 
160
160
  </Tab>
161
161
 
162
162
  <Tab label="React" value="react">
163
163
 
164
- | 첫 출시 | 라이브러리 | 주요 해결 과제 | 핵심 혁신 요소 |
165
- | ----------- | ---------------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
166
- | 2014년 6월 | `react-intl` | React 환경에서 숫자, 날짜, 통화 및 복잡한 복수형 서식화를 표준화. | ICU MessageFormat 및 ECMA-402 규격을 지원하는 선언적 컴포넌트(`<FormattedMessage>`, `<FormattedDate>`). |
167
- | 2015년 12월 | `react-i18next` | React에 적합한 선언적 문법과 반응형 재렌더링을 지원하는 `i18next` 바인딩 제공. | 고차 컴포넌트(HOC)에서 `<Trans>` JSX 보간 및 `useTranslation` 훅 체계로 React의 패러다임과 함께 지속 진화. |
168
- | 2018년 1월 | `@lingui/react` | 런타임 ICU 파서가 클라이언트 번들 크기에 미치는 부담을 최소화. | 빌드 타임에 Babel/SWC 매크로를 활용해 `<Trans>`와 `t`를 컴팩트한 인덱스 배열로 사전 컴파일. |
169
- | 2020년 12월 | `use-intl` | 기존 라이브러리를 대체할 가볍고 훅 중심적이며 타입 안전한 React 전용 대안 제시. | 깊이 있는 TypeScript 통합을 지원하는 인체공학적인 `useTranslations` 및 `useFormatter` 훅. |
170
- | 2021년 2월 | `@tolgee/react` | 개발자, 번역가, 디자이너 간의 커뮤니케이션 지연을 단축. | 브라우저 화면에서 Alt 클릭으로 문구를 즉시 수정하고 화면 캡처를 동기화하는 인컨텍스트 편집 기능. |
171
- | 2024년 4월 | `react-intlayer` | 중앙집중식 JSON 파일과 비대한 네임스페이스 없이 React 컴포넌트 수명주기에 최적화된 고성능 환경 제공. | React 렌더링에 최적화된 `useIntlayer` 훅, 자동 생성되는 정밀 타입, 컴포넌트 단위 Tree-shaking 및 컨텍스트 보일러플레이트 없는 비주얼 CMS 실시간 연동. |
172
- | 2024년 7월 | `gt-react` | 번역 파일의 수동 추출과 인수인계, 유지보수 작업을 자동화. | 클라우드 기반 기계 번역 파이프라인을 통해 React 컴포넌트 내부에서 AI 자동 로컬라이제이션을 수행. |
173
- | 2025년 8월 | `@wuchale/jsx` | JSX 작성 시 불필요한 번역 키 작명과 반복적인 훅 호출을 제거. | AST 변환을 통해 JSX 내부의 원본 텍스트 노드를 감지하고 로컬라이즈된 동등 코드로 컴파일. |
164
+ | 첫 출시 | 라이브러리 | 작성자 | 주요 해결 과제 | 핵심 혁신 요소 |
165
+ | ----------- | ---------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
166
+ | 2014년 6월 | `react-intl` | Yahoo! / FormatJS | React 환경에서 숫자, 날짜, 통화 및 복잡한 복수형 서식화를 표준화. | ICU MessageFormat 및 ECMA-402 규격을 지원하는 선언적 컴포넌트(`<FormattedMessage>`, `<FormattedDate>`). |
167
+ | 2015년 12월 | `react-i18next` | Jan Mühlemann (`@jamuhl`) | React에 적합한 선언적 문법과 반응형 재렌더링을 지원하는 `i18next` 바인딩 제공. | 고차 컴포넌트(HOC)에서 `<Trans>` JSX 보간 및 `useTranslation` 훅 체계로 React의 패러다임과 함께 지속 진화. |
168
+ | 2018년 1월 | `@lingui/react` | Tomáš Ehrlich (`@tricoder42`) | 런타임 ICU 파서가 클라이언트 번들 크기에 미치는 부담을 최소화. | 빌드 타임에 Babel/SWC 매크로를 활용해 `<Trans>`와 `t`를 컴팩트한 인덱스 배열로 사전 컴파일. |
169
+ | 2020년 12월 | `use-intl` | Jan Amann (`@amannn`) | 기존 라이브러리를 대체할 가볍고 훅 중심적이며 타입 안전한 React 전용 대안 제시. | 깊이 있는 TypeScript 통합을 지원하는 인체공학적인 `useTranslations` 및 `useFormatter` 훅. |
170
+ | 2021년 2월 | `@tolgee/react` | Jan Cizmar (`@jcizmar`) | 개발자, 번역가, 디자이너 간의 커뮤니케이션 지연을 단축. | 브라우저 화면에서 Alt 클릭으로 문구를 즉시 수정하고 화면 캡처를 동기화하는 인컨텍스트 편집 기능. |
171
+ | 2024년 8월 | `react-intlayer` | Aymeric Pineau (`@aymericzip`) | 중앙집중식 JSON 파일과 비대한 네임스페이스 없이 React 컴포넌트 수명주기에 최적화된 고성능 환경 제공. | React 렌더링에 최적화된 `useIntlayer` 훅, 자동 생성되는 정밀 타입, 컴포넌트 단위 Tree-shaking 및 컨텍스트 보일러플레이트 없는 비주얼 CMS 실시간 연동. |
172
+ | 2024년 7월 | `gt-react` | Ernest McCarter (`@eoinest`) | 번역 파일의 수동 추출과 인수인계, 유지보수 작업을 자동화. | 클라우드 기반 기계 번역 파이프라인을 통해 React 컴포넌트 내부에서 AI 자동 로컬라이제이션을 수행. |
173
+ | 2025년 6월 | `@wuchale/jsx` | Kidus Adugna (`@K1DV5`) | JSX 작성 시 불필요한 번역 키 작명과 반복적인 훅 호출을 제거. | AST 변환을 통해 JSX 내부의 원본 텍스트 노드를 감지하고 로컬라이즈된 동등 코드로 컴파일. |
174
174
 
175
175
  </Tab>
176
176
 
177
177
  <Tab label="Next.js" value="nextjs">
178
178
 
179
- | 첫 출시 | 라이브러리 | 주요 해결 과제 | 핵심 혁신 요소 |
180
- | ----------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
181
- | 2018년 11월 | `next-i18next` | Next.js Pages Router에서 클라이언트 폭포수(waterfall) 요청 없이 `i18next` 기반 SSR 및 SSG 지원. | 페이지 Props를 통해 지역화된 네임스페이스를 전달하는 `serverSideTranslations` 및 `appWithTranslation`. |
182
- | 2019년 12월 | `next-translate` | Pages Router 기반 애플리케이션의 설정 복잡도를 낮추고 번들 크기를 축소. | 페이지별로 실제 필요한 번역 네임스페이스만 빌드 시점에 선별 주입하는 Webpack 로더 플러그인. |
183
- | 2020년 11월 | `next-intl` | Next.js App Router, React Server Components (RSC), 스트리밍 SSR 패러다임에 맞춘 국제화 재설계. | 클라이언트 JS를 전송하지 않고도 Next.js App Router 미들웨어, Server Actions, 비동기 Server Components와 자연스럽게 결합. |
184
- | 2022년 7월 | `next-international` | 클라이언트 번들 오버헤드를 최소화하면서 Next.js에 엄격한 TypeScript 타입 안정성 제공. | 스코프가 지정된 번역 키에 대한 정밀한 타입 생성과 App Router 및 Pages Router용 초경량 어댑터. |
185
- | 2024년 4월 | `paraglide-next` (`@inlang/paraglide-next`) | 런타임 라이브러리가 필요 없는 사전 컴파일 메시지를 Next.js App Router 및 Pages Router에 도입. | 미들웨어 라우팅과 Tree-shaking 가능한 함수를 결합하여 RSC 및 클라이언트 번들에서 런타임 JSON 파싱을 완전히 배제. |
186
- | 2024년 4월 | `next-intlayer` | 컴포넌트 간 `t()` 함수나 번역 사전을 Props로 연쇄 전달(Prop-drilling)해야 하는 불편함 해소. | 동기 Server Components에서 Prop-drilling 없이 `useIntlayer`를 직접 호출 가능. 지연 없는 서버 렌더링, 전용 라우팅 미들웨어, 실시간 비주얼 CMS 동기화 지원. |
187
- | 2024년 9월 | `gt-next` | AI 기술을 활용하여 Next.js의 다국어 콘텐츠 생성과 동적 로컬라이즈드 라우팅을 자동화. | 클라우드 기반 기계 번역과 Next.js 엣지 미들웨어 및 캐시 계층을 결합한 App Router 통합. |
179
+ | 첫 출시 | 라이브러리 | 작성자 | 주요 해결 과제 | 핵심 혁신 요소 |
180
+ | ----------- | ------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
181
+ | 2018년 11월 | `next-i18next` | Isaac Hinman (`@isaachinman`) | Next.js Pages Router에서 클라이언트 폭포수(waterfall) 요청 없이 `i18next` 기반 SSR 및 SSG 지원. | 페이지 Props를 통해 지역화된 네임스페이스를 전달하는 `serverSideTranslations` 및 `appWithTranslation`. |
182
+ | 2020년 12월 | `next-translate` | Arvin Wiyono (`@arvinn`) / Vinissimus (`@vinissimus`) | Pages Router 기반 애플리케이션의 설정 복잡도를 낮추고 번들 크기를 축소. | 페이지별로 실제 필요한 번역 네임스페이스만 빌드 시점에 선별 주입하는 Webpack 로더 플러그인. |
183
+ | 2020년 12월 | `next-intl` | Jan Amann (`@amannn`) | Next.js App Router, React Server Components (RSC), 스트리밍 SSR 패러다임에 맞춘 국제화 재설계. | 클라이언트 JS를 전송하지 않고도 Next.js App Router 미들웨어, Server Actions, 비동기 Server Components와 자연스럽게 결합. |
184
+ | 2022년 7월 | `next-international` | Tom Dussaix (`@tom-dussaix`) | 클라이언트 번들 오버헤드를 최소화하면서 Next.js에 엄격한 TypeScript 타입 안정성 제공. | 스코프가 지정된 번역 키에 대한 정밀한 타입 생성과 App Router 및 Pages Router용 초경량 어댑터. |
185
+ | 2023년 10월 | `paraglide-next` (`@inlang/paraglide-next`) | Samuel Stroschein (`@samuelstroschein`) / Inlang (`@inlang`) | 런타임 라이브러리가 필요 없는 사전 컴파일 메시지를 Next.js App Router 및 Pages Router에 도입. | 미들웨어 라우팅과 Tree-shaking 가능한 함수를 결합하여 RSC 및 클라이언트 번들에서 런타임 JSON 파싱을 완전히 배제. |
186
+ | 2024년 8월 | `next-intlayer` | Aymeric Pineau (`@aymericzip`) | 컴포넌트 간 `t()` 함수나 번역 사전을 Props로 연쇄 전달(Prop-drilling)해야 하는 불편함 해소. | 동기 Server Components에서 Prop-drilling 없이 `useIntlayer`를 직접 호출 가능. 지연 없는 서버 렌더링, 전용 라우팅 미들웨어, 실시간 비주얼 CMS 동기화 지원. |
187
+ | 2024년 7월 | `gt-next` | Ernest McCarter (`@eoinest`) | AI 기술을 활용하여 Next.js의 다국어 콘텐츠 생성과 동적 로컬라이즈드 라우팅을 자동화. | 클라우드 기반 기계 번역과 Next.js 엣지 미들웨어 및 캐시 계층을 결합한 App Router 통합. |
188
188
 
189
189
  </Tab>
190
190
 
191
191
  <Tab label="Vue & Nuxt" value="vue">
192
192
 
193
- | 첫 출시 | 라이브러리 | 주요 해결 과제 | 핵심 혁신 요소 |
194
- | ----------- | -------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
195
- | 2014년 5월 | `vue-i18n` | Vue 생태계의 철학에 부합하는 직관적이고 반응형 중심의 국제화 환경 구축. | Vue 반응성 시스템과의 일체화, 템플릿 디렉티브(`v-t`), `$t` 헬퍼, 단일 파일 컴포넌트(SFC) 전용 `<i18n>` 커스텀 블록 제공. |
196
- | 2017년 11월 | `@nuxt/i18n` | Nuxt 기반 프로젝트의 지역화된 URL 라우팅, SEO hreflang 태그, SSR 하이드레이션 무결성 관리. | 접두사 및 도메인 기반의 라우트 자동 생성, SEO 메타 헤더 제어, 언어 청크 지연 로딩을 아우르는 풀스택 라우팅 모듈. |
197
- | 2019년 8월 | `fluent-vue` | Vue 내에서 복잡한 문법적 성별, 격 변화, 비대칭적 자연어 구조를 매끄럽게 지원. | Mozilla의 Project Fluent 문법을 Vue에 통합하여 미묘한 언어적 차이를 위한 복잡한 조건문 작성을 방지. |
198
- | 2025년 4월 | `vue-intlayer` | 전역 네임스페이스 오염 없이 Vue 3 Composition API 및 Nuxt에 최적화된 네이티브 Intlayer 지원. | Vue 3 반응성 추적에 맞춤 설계된 `useIntlayer` Composable, 명확한 컴포넌트 스코프 분리, 완벽한 TypeScript 자동완성 및 비주얼 에디터 지원. |
193
+ | 첫 출시 | 라이브러리 | 작성자 | 주요 해결 과제 | 핵심 혁신 요소 |
194
+ | ----------- | -------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
195
+ | 2014년 5월 | `vue-i18n` | Kazupon (`@kazupon`) | Vue 생태계의 철학에 부합하는 직관적이고 반응형 중심의 국제화 환경 구축. | Vue 반응성 시스템과의 일체화, 템플릿 디렉티브(`v-t`), `$t` 헬퍼, 단일 파일 컴포넌트(SFC) 전용 `<i18n>` 커스텀 블록 제공. |
196
+ | 2017년 11월 | `@nuxt/i18n` | Nuxt 커뮤니티 | Nuxt 기반 프로젝트의 지역화된 URL 라우팅, SEO hreflang 태그, SSR 하이드레이션 무결성 관리. | 접두사 및 도메인 기반의 라우트 자동 생성, SEO 메타 헤더 제어, 언어 청크 지연 로딩을 아우르는 풀스택 라우팅 모듈. |
197
+ | 2020년 8월 | `fluent-vue` | Mozilla (`@mozilla`) / Demivan (`@demivan`) | Vue 내에서 복잡한 문법적 성별, 격 변화, 비대칭적 자연어 구조를 매끄럽게 지원. | Mozilla의 Project Fluent 문법을 Vue에 통합하여 미묘한 언어적 차이를 위한 복잡한 조건문 작성을 방지. |
198
+ | 2025年 1월 | `vue-intlayer` | Aymeric Pineau (`@aymericzip`) | 전역 네임스페이스 오염 없이 Vue 3 Composition API 및 Nuxt에 최적화된 네이티브 Intlayer 지원. | Vue 3 반응성 추적에 맞춤 설계된 `useIntlayer` Composable, 명확한 컴포넌트 스코프 분리, 완벽한 TypeScript 자동완성 및 비주얼 에디터 지원. |
199
199
 
200
200
  </Tab>
201
201
 
202
202
  <Tab label="Angular" value="angular">
203
203
 
204
- | 첫 출시 | 라이브러리 | 주요 해결 과제 | 핵심 혁신 요소 |
205
- | ---------- | ------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
206
- | 2017년 2월 | `ngx-translate` | 언어별로 빌드 결과물을 별도 분리하지 않고 Angular 런타임에서 동적 번역 제공. | 동적 번역 로딩과 실시간 언어 전환을 가능하게 하는 `TranslateService` 및 `translate` 파이프. |
207
- | 2019년 7월 | `@ngneat/transloco` | 구형 Angular i18n 라이브러리들의 성능 저하, 스코프 격리 부재, 편의 기능 미비를 개선. | 구조적 디렉티브(`*transloco`), 지연 로딩 모듈을 위한 번역 스코프 격리, SSR 지원 및 텍스트 추출 CLI. |
208
- | 2019년 9월 | `@angular/localize` | 언어마다 TypeScript 전체를 재컴파일하는 낭비를 줄이고 내장 i18n 시스템을 현대화. | 빌드 후처리 단계에서 Ivy 컴파일러가 신속하게 치환하는 태그 템플릿 리터럴 `$localize`. |
209
- | 2021년 2월 | `@tolgee/ngx` | 인터페이스 상에서의 실시간 번역 협업과 스크린샷 저장을 Angular 워크플로에 도입. | Tolgee 플랫폼과 직접 연동되어 브라우저 상에서 텍스트를 즉시 편집할 수 있는 Angular 파이프 및 디렉티브. |
210
- | 2025년 4월 | `angular-intlayer` | 모던 Angular(Signals, Standalone 컴포넌트, SSR)에 특화된 네이티브 Intlayer 환경 구축. | Angular 변경 감지 시스템에 최적화된 Signal 기반 반응형 바인딩, Standalone DI 호환, 비주얼 CMS 실시간 동기화 지원. |
204
+ | 첫 출시 | 라이브러리 | 작성자 | 주요 해결 과제 | 핵심 혁신 요소 |
205
+ | ---------- | ------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
206
+ | 2017년 2월 | `ngx-translate` | Olivier Combe (`@ocombe`) | 언어별로 빌드 결과물을 별도 분리하지 않고 Angular 런타임에서 동적 번역 제공. | 동적 번역 로딩과 실시간 언어 전환을 가능하게 하는 `TranslateService` 및 `translate` 파이프. |
207
+ | 2019년 7월 | `@ngneat/transloco` | Netanel Basal (`@NetanelBasal`) & Shahar Kazaz (`@shahar_k`) | 구형 Angular i18n 라이브러리들의 성능 저하, 스코프 격리 부재, 편의 기능 미비를 개선. | 구조적 디렉티브(`*transloco`), 지연 로딩 모듈을 위한 번역 스코프 격리, SSR 지원 및 텍스트 추출 CLI. |
208
+ | 2019년 9월 | `@angular/localize` | Angular 팀 (@angular) | 언어마다 TypeScript 전체를 재컴파일하는 낭비를 줄이고 내장 i18n 시스템을 현대화. | 빌드 후처리 단계에서 Ivy 컴파일러가 신속하게 치환하는 태그 템플릿 리터럴 `$localize`. |
209
+ | 2021년 2월 | `@tolgee/ngx` | Jan Cizmar (`@jcizmar`) | 인터페이스 상에서의 실시간 번역 협업과 스크린샷 저장을 Angular 워크플로에 도입. | Tolgee 플랫폼과 직접 연동되어 브라우저 상에서 텍스트를 즉시 편집할 수 있는 Angular 파이프 및 디렉티브. |
210
+ | 2026년 3월 | `angular-intlayer` | Aymeric Pineau (`@aymericzip`) | 모던 Angular(Signals, Standalone 컴포넌트, SSR)에 특화된 네이티브 Intlayer 환경 구축. | Angular 변경 감지 시스템에 최적화된 Signal 기반 반응형 바인딩, Standalone DI 호환, 비주얼 CMS 실시간 동기화 지원. |
211
211
 
212
212
  </Tab>
213
213
 
214
214
  <Tab label="Svelte & SvelteKit" value="svelte">
215
215
 
216
- | 첫 출시 | 라이브러리 | 주요 해결 과제 | 핵심 혁신 요소 |
217
- | ----------- | ----------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
218
- | 2018년 7월 | `svelte-i18n` | Svelte의 반응형 Store 철학에 어울리는 선언적 다국어 라이브러리 제공. | Store 기반의 `$t` 조회를 통해 언어가 변경될 때 대상 DOM만 정밀하고 기민하게 업데이트. |
219
- | 2021년 12월 | `sveltekit-i18n` | SvelteKit 애플리케이션에서 SSR과 라우트 기반 번역 파일 로딩을 깔끔하게 처리. | 활성화된 라우트에 실제로 필요한 텍스트 및 포맷터만 선별하여 가져오는 모듈식 로더 아키텍처. |
220
- | 2021년 11월 | `@tolgee/svelte` | Svelte 환경에서 실제 화면 컨텍스트를 보며 작업하는 인컨텍스트 번역 구현. | Tolgee 인컨텍스트 오버레이 및 자동 스크린샷 캡처 기능과 직결된 Svelte Store 바인딩. |
221
- | 2025년 4월 | `svelte-intlayer` | Svelte 5의 Runes 문법 및 SvelteKit에 최적화된 고성능 Intlayer 구현체 제공. | Svelte 5 Runes(`$state`)에 맞춘 반응형 바인딩, 컴포넌트 단위의 `.content` 선언, 무설정 빌드 플러그인, 비주얼 CMS 지원. |
222
- | 2025년 7월 | `@wuchale/svelte` | Svelte 컴포넌트에서 사전을 별도 선언하고 `$t` 함수를 반복적으로 임포트하는 수고를 배제. | 빌드 타임에 템플릿을 직접 파싱하여 텍스트 노드를 래퍼 없는 로컬라이즈드 결과물로 컴파일하는 Svelte 프리프로세서. |
216
+ | 첫 출시 | 라이브러리 | 작성자 | 주요 해결 과제 | 핵심 혁신 요소 |
217
+ | ----------- | ----------------- | ------------------------------ | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
218
+ | 2018년 7월 | `svelte-i18n` | Kaisermann (`@kaisermann`) | Svelte의 반응형 Store 철학에 어울리는 선언적 다국어 라이브러리 제공. | Store 기반의 `$t` 조회를 통해 언어가 변경될 때 대상 DOM만 정밀하고 기민하게 업데이트. |
219
+ | 2021년 12월 | `sveltekit-i18n` | Ivan Fevrier (`@ivanfevrier`) | SvelteKit 애플리케이션에서 SSR과 라우트 기반 번역 파일 로딩을 깔끔하게 처리. | 활성화된 라우트에 실제로 필요한 텍스트 및 포맷터만 선별하여 가져오는 모듈식 로더 아키텍처. |
220
+ | 2021년 11월 | `@tolgee/svelte` | Jan Cizmar (`@jcizmar`) | Svelte 환경에서 실제 화면 컨텍스트를 보며 작업하는 인컨텍스트 번역 구현. | Tolgee 인컨텍스트 오버레이 및 자동 스크린샷 캡처 기능과 직결된 Svelte Store 바인딩. |
221
+ | 2025년 10월 | `svelte-intlayer` | Aymeric Pineau (`@aymericzip`) | Svelte 5의 Runes 문법 및 SvelteKit에 최적화된 고성능 Intlayer 구현체 제공. | Svelte 5 Runes(`$state`)에 맞춘 반응형 바인딩, 컴포넌트 단위의 `.content` 선언, 무설정 빌드 플러그인, 비주얼 CMS 지원. |
222
+ | 2025년 7월 | `@wuchale/svelte` | Kidus Adugna (`@K1DV5`) | Svelte 컴포넌트에서 사전을 별도 선언하고 `$t` 함수를 반복적으로 임포트하는 수고를 배제. | 빌드 타임에 템플릿을 직접 파싱하여 텍스트 노드를 래퍼 없는 로컬라이즈드 결과물로 컴파일하는 Svelte 프리프로세서. |
223
223
 
224
224
  </Tab>
225
225
 
226
226
  <Tab label="SolidJS" value="solid">
227
227
 
228
- | 첫 출시 | 라이브러리 | 주요 해결 과제 | 핵심 혁신 요소 |
229
- | ---------- | ------------------------ | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
230
- | 2021년 9월 | `@solid-primitives/i18n` | SolidJS의 세밀한(fine-grained) 반응성에 완벽하게 부합하는 네이티브 i18n 프리미티브 제공. | 가상 DOM이나 불필요한 재렌더링 없이 DOM 노드를 직접 업데이트하는 Signal 기반 번역 리졸버. |
231
- | 2025년 4월 | `solid-intlayer` | SolidJS 및 SolidStart의 아키텍처에 맞추어 설계된 네이티브 고성능 Intlayer 솔루션 제공. | 가상 DOM 오버헤드를 배제한 Signal 최적화 바인딩, TypeScript 스키마 기반 자동완성, 비주얼 에디터 지원. |
232
- | 2026년 6월 | `@lingui/solid` | 빌드 타임 매크로 추출 방식과 정교한 ICU MessageFormat 문법 지원을 SolidJS 생태계로 확장. | Solid의 세밀한 반응성에 맞춘 매크로 변환을 통해 메시지를 런타임 부담이 적은 간결한 구조로 컴파일. |
228
+ | 첫 출시 | 라이브러리 | 작성자 | 주요 해결 과제 | 핵심 혁신 요소 |
229
+ | ---------- | ------------------------ | ------------------------------ | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
230
+ | 2021년 9월 | `@solid-primitives/i18n` | SolidJS 커뮤니티 | SolidJS의 세밀한(fine-grained) 반응성에 완벽하게 부합하는 네이티브 i18n 프리미티브 제공. | 가상 DOM이나 불필요한 재렌더링 없이 DOM 노드를 직접 업데이트하는 Signal 기반 번역 리졸버. |
231
+ | 2025년 7월 | `solid-intlayer` | Aymeric Pineau (`@aymericzip`) | SolidJS 및 SolidStart의 아키텍처에 맞추어 설계된 네이티브 고성능 Intlayer 솔루션 제공. | 가상 DOM 오버헤드를 배제한 Signal 최적화 바인딩, TypeScript 스키마 기반 자동완성, 비주얼 에디터 지원. |
232
+ | 2026년 6월 | `@lingui/solid` | Tomáš Ehrlich (`@tricoder42`) | 빌드 타임 매크로 추출 방식과 정교한 ICU MessageFormat 문법 지원을 SolidJS 생태계로 확장. | Solid의 세밀한 반응성에 맞춘 매크로 변환을 통해 메시지를 런타임 부담이 적은 간결한 구조로 컴파일. |
233
233
 
234
234
  </Tab>
235
235
 
@@ -237,7 +237,7 @@ Jan Mühlemann은 고차 컴포넌트(`withTranslation`)와 React Context를 도
237
237
 
238
238
  ## JavaScript i18n의 네 가지 아키텍처 시대
239
239
 
240
- ![JavaScript i18n 라이브러리 기술 발전도](https://github.com/aymericzip/intlayer/blob/main/docs/assets/history_i18n.png?raw=true)
240
+ ![JavaScript i18n 라이브러리 기술 발전도](https://github.com/aymericzip/intlayer/blob/main/docs/assets/history_i18n.webp?raw=true)
241
241
 
242
242
  지난 15년간의 기술 흐름을 종합하면, JavaScript 국제화는 크게 네 가지 아키텍처 시대로 구분할 수 있습니다.
243
243
 
@@ -287,7 +287,7 @@ Jan Mühlemann은 고차 컴포넌트(`withTranslation`)와 React Context를 도
287
287
 
288
288
  대규모 언어 모델이 높은 언어적 정확도를 유지하면서도 번역 단가를 극소 단위로 낮춤에 따라 새로운 도구들이 등장했습니다.
289
289
 
290
- - Paraglide의 **linguo.dev**나 **General Translation** (`gt-react`, `gt-next`) 같은 플랫폼들은 전용 구독 티어와 클라우드 중계 파이프라인을 구성했습니다.
290
+ - **lingo.dev**나 **General Translation** (`gt-react`, `gt-next`) 같은 플랫폼들은 전용 구독 티어와 클라우드 중계 파이프라인을 구성했습니다.
291
291
  - 반면 **Intlayer**는 오픈소스 CLI를 통해 AI 번역 기능을 기본 제공하며, 팀이 보유한 자체 API 키(OpenAI, Anthropic, Mistral, Google Gemini 등)를 직접 연결할 수 있도록 지원합니다. 중개 수수료나 플랫폼 종속 없이, 선택한 AI 제공업체의 순수 호출 원가만으로 운영할 수 있습니다.
292
292
 
293
293
  ### i18n을 넘어: 종합적인 다국어 콘텐츠 시스템으로