@intlayer/docs 9.5.2 → 9.5.4-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1052) hide show
  1. package/README.md +9 -9
  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/i18next_vs_intlayer-i18next.md +327 -0
  8. package/blog/ar/i18next_vs_intlayer.md +445 -0
  9. package/blog/ar/is_i18next_outdated.md +6 -2
  10. package/blog/ar/is_next-intl_outdated.md +6 -2
  11. package/blog/ar/is_vue-i18n_outdated.md +8 -2
  12. package/blog/ar/lingui_vs_intlayer-lingui.md +304 -0
  13. package/blog/ar/lingui_vs_intlayer.md +381 -0
  14. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  15. package/blog/ar/next-intl_vs_intlayer-next-intl.md +309 -0
  16. package/blog/ar/next-intl_vs_intlayer.md +397 -0
  17. package/blog/ar/per-component_vs_centralized_i18n.md +9 -4
  18. package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  19. package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +286 -0
  20. package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +0 -0
  21. package/blog/de/history_of_i18n.md +54 -54
  22. package/blog/de/how_to_pick_react_i18n_library.md +548 -0
  23. package/blog/de/how_to_pick_solid_i18n_library.md +451 -0
  24. package/blog/de/how_to_pick_svelte_i18n_library.md +454 -0
  25. package/blog/de/how_to_pick_vue_i18n_library.md +448 -0
  26. package/blog/de/i18next_vs_intlayer-i18next.md +327 -0
  27. package/blog/de/i18next_vs_intlayer.md +445 -0
  28. package/blog/de/is_i18next_outdated.md +6 -2
  29. package/blog/de/is_next-intl_outdated.md +6 -2
  30. package/blog/de/is_vue-i18n_outdated.md +8 -2
  31. package/blog/de/lingui_vs_intlayer-lingui.md +304 -0
  32. package/blog/de/lingui_vs_intlayer.md +381 -0
  33. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  34. package/blog/de/next-intl_vs_intlayer-next-intl.md +309 -0
  35. package/blog/de/next-intl_vs_intlayer.md +415 -0
  36. package/blog/de/per-component_vs_centralized_i18n.md +9 -4
  37. package/blog/de/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  38. package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  39. package/blog/de/vue-i18n_vs_intlayer_benchmark.md +355 -0
  40. package/blog/en/history_of_i18n.md +54 -54
  41. package/blog/en/how_to_pick_react_i18n_library.md +542 -0
  42. package/blog/en/how_to_pick_solid_i18n_library.md +438 -0
  43. package/blog/en/how_to_pick_svelte_i18n_library.md +448 -0
  44. package/blog/en/how_to_pick_vue_i18n_library.md +442 -0
  45. package/blog/en/i18next_vs_intlayer-i18next.md +327 -0
  46. package/blog/en/i18next_vs_intlayer.md +445 -0
  47. package/blog/en/is_i18next_outdated.md +6 -2
  48. package/blog/en/is_next-intl_outdated.md +6 -2
  49. package/blog/en/is_vue-i18n_outdated.md +8 -2
  50. package/blog/en/lingui_vs_intlayer-lingui.md +304 -0
  51. package/blog/en/lingui_vs_intlayer.md +381 -0
  52. package/blog/en/list_i18n_technologies/frameworks/react-router.md +2 -3
  53. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  54. package/blog/en/next-intl_vs_intlayer-next-intl.md +309 -0
  55. package/blog/en/next-intl_vs_intlayer.md +415 -0
  56. package/blog/en/per-component_vs_centralized_i18n.md +9 -4
  57. package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  58. package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  59. package/blog/en/vue-i18n_vs_intlayer.md +1 -1
  60. package/blog/en/vue-i18n_vs_intlayer_benchmark.md +361 -0
  61. package/blog/en-GB/history_of_i18n.md +54 -54
  62. package/blog/en-GB/how_to_pick_react_i18n_library.md +542 -0
  63. package/blog/en-GB/how_to_pick_solid_i18n_library.md +438 -0
  64. package/blog/en-GB/how_to_pick_svelte_i18n_library.md +448 -0
  65. package/blog/en-GB/how_to_pick_vue_i18n_library.md +448 -0
  66. package/blog/en-GB/i18next_vs_intlayer-i18next.md +327 -0
  67. package/blog/en-GB/i18next_vs_intlayer.md +445 -0
  68. package/blog/en-GB/is_i18next_outdated.md +6 -2
  69. package/blog/en-GB/is_next-intl_outdated.md +6 -2
  70. package/blog/en-GB/is_vue-i18n_outdated.md +8 -2
  71. package/blog/en-GB/lingui_vs_intlayer-lingui.md +304 -0
  72. package/blog/en-GB/lingui_vs_intlayer.md +381 -0
  73. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  74. package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +309 -0
  75. package/blog/en-GB/next-intl_vs_intlayer.md +415 -0
  76. package/blog/en-GB/per-component_vs_centralized_i18n.md +9 -4
  77. package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  78. package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  79. package/blog/en-GB/vue-i18n_vs_intlayer.md +1 -1
  80. package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +245 -0
  81. package/blog/es/history_of_i18n.md +54 -54
  82. package/blog/es/how_to_pick_react_i18n_library.md +542 -0
  83. package/blog/es/how_to_pick_solid_i18n_library.md +446 -0
  84. package/blog/es/how_to_pick_svelte_i18n_library.md +448 -0
  85. package/blog/es/how_to_pick_vue_i18n_library.md +442 -0
  86. package/blog/es/i18next_vs_intlayer-i18next.md +327 -0
  87. package/blog/es/i18next_vs_intlayer.md +445 -0
  88. package/blog/es/is_i18next_outdated.md +6 -2
  89. package/blog/es/is_next-intl_outdated.md +6 -2
  90. package/blog/es/is_vue-i18n_outdated.md +8 -2
  91. package/blog/es/lingui_vs_intlayer-lingui.md +304 -0
  92. package/blog/es/lingui_vs_intlayer.md +381 -0
  93. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  94. package/blog/es/next-intl_vs_intlayer-next-intl.md +309 -0
  95. package/blog/es/next-intl_vs_intlayer.md +417 -0
  96. package/blog/es/per-component_vs_centralized_i18n.md +9 -4
  97. package/blog/es/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  98. package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  99. package/blog/es/vue-i18n_vs_intlayer_benchmark.md +363 -0
  100. package/blog/fr/history_of_i18n.md +54 -54
  101. package/blog/fr/how_to_pick_react_i18n_library.md +542 -0
  102. package/blog/fr/how_to_pick_solid_i18n_library.md +438 -0
  103. package/blog/fr/how_to_pick_svelte_i18n_library.md +448 -0
  104. package/blog/fr/how_to_pick_vue_i18n_library.md +442 -0
  105. package/blog/fr/i18next_vs_intlayer-i18next.md +327 -0
  106. package/blog/fr/i18next_vs_intlayer.md +445 -0
  107. package/blog/fr/is_i18next_outdated.md +6 -2
  108. package/blog/fr/is_next-intl_outdated.md +6 -2
  109. package/blog/fr/is_vue-i18n_outdated.md +8 -2
  110. package/blog/fr/lingui_vs_intlayer-lingui.md +304 -0
  111. package/blog/fr/lingui_vs_intlayer.md +381 -0
  112. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  113. package/blog/fr/next-intl_vs_intlayer-next-intl.md +309 -0
  114. package/blog/fr/next-intl_vs_intlayer.md +417 -0
  115. package/blog/fr/per-component_vs_centralized_i18n.md +9 -4
  116. package/blog/fr/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  117. package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +287 -0
  118. package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +39 -0
  119. package/blog/hi/history_of_i18n.md +54 -54
  120. package/blog/hi/how_to_pick_react_i18n_library.md +548 -0
  121. package/blog/hi/how_to_pick_solid_i18n_library.md +451 -0
  122. package/blog/hi/how_to_pick_svelte_i18n_library.md +448 -0
  123. package/blog/hi/how_to_pick_vue_i18n_library.md +442 -0
  124. package/blog/hi/i18next_vs_intlayer-i18next.md +327 -0
  125. package/blog/hi/i18next_vs_intlayer.md +445 -0
  126. package/blog/hi/is_i18next_outdated.md +6 -2
  127. package/blog/hi/is_next-intl_outdated.md +6 -2
  128. package/blog/hi/is_vue-i18n_outdated.md +8 -2
  129. package/blog/hi/lingui_vs_intlayer-lingui.md +304 -0
  130. package/blog/hi/lingui_vs_intlayer.md +381 -0
  131. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +8 -4
  132. package/blog/hi/next-intl_vs_intlayer-next-intl.md +309 -0
  133. package/blog/hi/next-intl_vs_intlayer.md +397 -0
  134. package/blog/hi/per-component_vs_centralized_i18n.md +9 -4
  135. package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  136. package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  137. package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +0 -0
  138. package/blog/id/history_of_i18n.md +54 -54
  139. package/blog/id/how_to_pick_react_i18n_library.md +548 -0
  140. package/blog/id/how_to_pick_solid_i18n_library.md +451 -0
  141. package/blog/id/how_to_pick_svelte_i18n_library.md +454 -0
  142. package/blog/id/how_to_pick_vue_i18n_library.md +442 -0
  143. package/blog/id/i18next_vs_intlayer-i18next.md +327 -0
  144. package/blog/id/i18next_vs_intlayer.md +445 -0
  145. package/blog/id/is_i18next_outdated.md +6 -2
  146. package/blog/id/is_next-intl_outdated.md +6 -2
  147. package/blog/id/is_vue-i18n_outdated.md +8 -2
  148. package/blog/id/lingui_vs_intlayer-lingui.md +304 -0
  149. package/blog/id/lingui_vs_intlayer.md +381 -0
  150. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  151. package/blog/id/next-intl_vs_intlayer-next-intl.md +310 -0
  152. package/blog/id/next-intl_vs_intlayer.md +397 -0
  153. package/blog/id/per-component_vs_centralized_i18n.md +9 -4
  154. package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  155. package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +36 -0
  156. package/blog/id/vue-i18n_vs_intlayer.md +1 -1
  157. package/blog/id/vue-i18n_vs_intlayer_benchmark.md +41 -0
  158. package/blog/it/history_of_i18n.md +54 -54
  159. package/blog/it/how_to_pick_react_i18n_library.md +549 -0
  160. package/blog/it/how_to_pick_solid_i18n_library.md +451 -0
  161. package/blog/it/how_to_pick_svelte_i18n_library.md +455 -0
  162. package/blog/it/how_to_pick_vue_i18n_library.md +449 -0
  163. package/blog/it/i18next_vs_intlayer-i18next.md +327 -0
  164. package/blog/it/i18next_vs_intlayer.md +445 -0
  165. package/blog/it/is_i18next_outdated.md +6 -2
  166. package/blog/it/is_next-intl_outdated.md +6 -2
  167. package/blog/it/is_vue-i18n_outdated.md +8 -2
  168. package/blog/it/lingui_vs_intlayer-lingui.md +304 -0
  169. package/blog/it/lingui_vs_intlayer.md +381 -0
  170. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  171. package/blog/it/next-intl_vs_intlayer-next-intl.md +309 -0
  172. package/blog/it/next-intl_vs_intlayer.md +418 -0
  173. package/blog/it/per-component_vs_centralized_i18n.md +9 -4
  174. package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  175. package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  176. package/blog/it/vue-i18n_vs_intlayer_benchmark.md +34 -0
  177. package/blog/ja/history_of_i18n.md +54 -54
  178. package/blog/ja/how_to_pick_react_i18n_library.md +542 -0
  179. package/blog/ja/how_to_pick_solid_i18n_library.md +451 -0
  180. package/blog/ja/how_to_pick_svelte_i18n_library.md +457 -0
  181. package/blog/ja/how_to_pick_vue_i18n_library.md +442 -0
  182. package/blog/ja/i18next_vs_intlayer-i18next.md +327 -0
  183. package/blog/ja/i18next_vs_intlayer.md +447 -0
  184. package/blog/ja/is_i18next_outdated.md +6 -2
  185. package/blog/ja/is_next-intl_outdated.md +6 -2
  186. package/blog/ja/is_vue-i18n_outdated.md +8 -2
  187. package/blog/ja/lingui_vs_intlayer-lingui.md +304 -0
  188. package/blog/ja/lingui_vs_intlayer.md +381 -0
  189. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  190. package/blog/ja/next-intl_vs_intlayer-next-intl.md +310 -0
  191. package/blog/ja/next-intl_vs_intlayer.md +422 -0
  192. package/blog/ja/per-component_vs_centralized_i18n.md +9 -4
  193. package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  194. package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  195. package/blog/ja/vue-i18n_vs_intlayer.md +1 -1
  196. package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +0 -0
  197. package/blog/ko/history_of_i18n.md +54 -54
  198. package/blog/ko/how_to_pick_react_i18n_library.md +548 -0
  199. package/blog/ko/how_to_pick_solid_i18n_library.md +451 -0
  200. package/blog/ko/how_to_pick_svelte_i18n_library.md +454 -0
  201. package/blog/ko/how_to_pick_vue_i18n_library.md +448 -0
  202. package/blog/ko/i18next_vs_intlayer-i18next.md +327 -0
  203. package/blog/ko/i18next_vs_intlayer.md +447 -0
  204. package/blog/ko/is_i18next_outdated.md +6 -2
  205. package/blog/ko/is_next-intl_outdated.md +6 -2
  206. package/blog/ko/is_vue-i18n_outdated.md +8 -2
  207. package/blog/ko/lingui_vs_intlayer-lingui.md +304 -0
  208. package/blog/ko/lingui_vs_intlayer.md +381 -0
  209. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  210. package/blog/ko/next-intl_vs_intlayer-next-intl.md +309 -0
  211. package/blog/ko/next-intl_vs_intlayer.md +397 -0
  212. package/blog/ko/per-component_vs_centralized_i18n.md +9 -4
  213. package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  214. package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  215. package/blog/ko/vue-i18n_vs_intlayer.md +1 -1
  216. package/blog/ko/vue-i18n_vs_intlayer_benchmark.md +366 -0
  217. package/blog/pl/history_of_i18n.md +54 -54
  218. package/blog/pl/how_to_pick_react_i18n_library.md +549 -0
  219. package/blog/pl/how_to_pick_solid_i18n_library.md +438 -0
  220. package/blog/pl/how_to_pick_svelte_i18n_library.md +460 -0
  221. package/blog/pl/how_to_pick_vue_i18n_library.md +442 -0
  222. package/blog/pl/i18next_vs_intlayer-i18next.md +327 -0
  223. package/blog/pl/i18next_vs_intlayer.md +445 -0
  224. package/blog/pl/is_i18next_outdated.md +6 -2
  225. package/blog/pl/is_next-intl_outdated.md +6 -2
  226. package/blog/pl/is_vue-i18n_outdated.md +8 -2
  227. package/blog/pl/lingui_vs_intlayer-lingui.md +304 -0
  228. package/blog/pl/lingui_vs_intlayer.md +381 -0
  229. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  230. package/blog/pl/next-intl_vs_intlayer-next-intl.md +309 -0
  231. package/blog/pl/next-intl_vs_intlayer.md +397 -0
  232. package/blog/pl/per-component_vs_centralized_i18n.md +9 -4
  233. package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  234. package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +289 -0
  235. package/blog/pl/vue-i18n_vs_intlayer.md +1 -1
  236. package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +0 -0
  237. package/blog/pt/history_of_i18n.md +54 -54
  238. package/blog/pt/how_to_pick_react_i18n_library.md +549 -0
  239. package/blog/pt/how_to_pick_solid_i18n_library.md +451 -0
  240. package/blog/pt/how_to_pick_svelte_i18n_library.md +454 -0
  241. package/blog/pt/how_to_pick_vue_i18n_library.md +448 -0
  242. package/blog/pt/i18next_vs_intlayer-i18next.md +327 -0
  243. package/blog/pt/i18next_vs_intlayer.md +445 -0
  244. package/blog/pt/is_i18next_outdated.md +6 -2
  245. package/blog/pt/is_next-intl_outdated.md +6 -2
  246. package/blog/pt/is_vue-i18n_outdated.md +8 -2
  247. package/blog/pt/lingui_vs_intlayer-lingui.md +304 -0
  248. package/blog/pt/lingui_vs_intlayer.md +381 -0
  249. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  250. package/blog/pt/next-intl_vs_intlayer-next-intl.md +309 -0
  251. package/blog/pt/next-intl_vs_intlayer.md +411 -0
  252. package/blog/pt/per-component_vs_centralized_i18n.md +9 -4
  253. package/blog/pt/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  254. package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  255. package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +0 -0
  256. package/blog/ru/history_of_i18n.md +54 -54
  257. package/blog/ru/how_to_pick_react_i18n_library.md +553 -0
  258. package/blog/ru/how_to_pick_solid_i18n_library.md +451 -0
  259. package/blog/ru/how_to_pick_svelte_i18n_library.md +459 -0
  260. package/blog/ru/how_to_pick_vue_i18n_library.md +453 -0
  261. package/blog/ru/i18next_vs_intlayer-i18next.md +327 -0
  262. package/blog/ru/i18next_vs_intlayer.md +445 -0
  263. package/blog/ru/is_i18next_outdated.md +6 -2
  264. package/blog/ru/is_next-intl_outdated.md +6 -2
  265. package/blog/ru/is_vue-i18n_outdated.md +8 -2
  266. package/blog/ru/lingui_vs_intlayer-lingui.md +304 -0
  267. package/blog/ru/lingui_vs_intlayer.md +381 -0
  268. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
  269. package/blog/ru/next-intl_vs_intlayer-next-intl.md +309 -0
  270. package/blog/ru/next-intl_vs_intlayer.md +417 -0
  271. package/blog/ru/per-component_vs_centralized_i18n.md +9 -4
  272. package/blog/ru/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
  273. package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  274. package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +54 -0
  275. package/blog/tr/history_of_i18n.md +54 -54
  276. package/blog/tr/how_to_pick_react_i18n_library.md +548 -0
  277. package/blog/tr/how_to_pick_solid_i18n_library.md +451 -0
  278. package/blog/tr/how_to_pick_svelte_i18n_library.md +454 -0
  279. package/blog/tr/how_to_pick_vue_i18n_library.md +448 -0
  280. package/blog/tr/i18next_vs_intlayer-i18next.md +327 -0
  281. package/blog/tr/i18next_vs_intlayer.md +445 -0
  282. package/blog/tr/is_i18next_outdated.md +6 -2
  283. package/blog/tr/is_next-intl_outdated.md +6 -2
  284. package/blog/tr/is_vue-i18n_outdated.md +8 -2
  285. package/blog/tr/lingui_vs_intlayer-lingui.md +304 -0
  286. package/blog/tr/lingui_vs_intlayer.md +381 -0
  287. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  288. package/blog/tr/next-intl_vs_intlayer-next-intl.md +309 -0
  289. package/blog/tr/next-intl_vs_intlayer.md +397 -0
  290. package/blog/tr/per-component_vs_centralized_i18n.md +9 -4
  291. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  292. package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  293. package/blog/tr/vue-i18n_vs_intlayer.md +1 -1
  294. package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +0 -0
  295. package/blog/uk/history_of_i18n.md +54 -54
  296. package/blog/uk/how_to_pick_react_i18n_library.md +542 -0
  297. package/blog/uk/how_to_pick_solid_i18n_library.md +451 -0
  298. package/blog/uk/how_to_pick_svelte_i18n_library.md +448 -0
  299. package/blog/uk/how_to_pick_vue_i18n_library.md +443 -0
  300. package/blog/uk/i18next_vs_intlayer-i18next.md +327 -0
  301. package/blog/uk/i18next_vs_intlayer.md +445 -0
  302. package/blog/uk/is_i18next_outdated.md +6 -2
  303. package/blog/uk/is_next-intl_outdated.md +6 -2
  304. package/blog/uk/is_vue-i18n_outdated.md +8 -2
  305. package/blog/uk/lingui_vs_intlayer-lingui.md +304 -0
  306. package/blog/uk/lingui_vs_intlayer.md +381 -0
  307. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  308. package/blog/uk/next-intl_vs_intlayer-next-intl.md +309 -0
  309. package/blog/uk/next-intl_vs_intlayer.md +397 -0
  310. package/blog/uk/per-component_vs_centralized_i18n.md +9 -4
  311. package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  312. package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +270 -0
  313. package/blog/uk/vue-i18n_vs_intlayer.md +1 -1
  314. package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +0 -0
  315. package/blog/vi/history_of_i18n.md +54 -54
  316. package/blog/vi/how_to_pick_react_i18n_library.md +548 -0
  317. package/blog/vi/how_to_pick_solid_i18n_library.md +438 -0
  318. package/blog/vi/how_to_pick_svelte_i18n_library.md +448 -0
  319. package/blog/vi/how_to_pick_vue_i18n_library.md +442 -0
  320. package/blog/vi/i18next_vs_intlayer-i18next.md +327 -0
  321. package/blog/vi/i18next_vs_intlayer.md +445 -0
  322. package/blog/vi/is_i18next_outdated.md +6 -2
  323. package/blog/vi/is_next-intl_outdated.md +6 -2
  324. package/blog/vi/is_vue-i18n_outdated.md +8 -2
  325. package/blog/vi/lingui_vs_intlayer-lingui.md +304 -0
  326. package/blog/vi/lingui_vs_intlayer.md +381 -0
  327. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  328. package/blog/vi/next-intl_vs_intlayer-next-intl.md +309 -0
  329. package/blog/vi/next-intl_vs_intlayer.md +397 -0
  330. package/blog/vi/per-component_vs_centralized_i18n.md +9 -4
  331. package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  332. package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  333. package/blog/vi/vue-i18n_vs_intlayer.md +1 -1
  334. package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +0 -0
  335. package/blog/zh/history_of_i18n.md +54 -54
  336. package/blog/zh/how_to_pick_react_i18n_library.md +548 -0
  337. package/blog/zh/how_to_pick_solid_i18n_library.md +451 -0
  338. package/blog/zh/how_to_pick_svelte_i18n_library.md +454 -0
  339. package/blog/zh/how_to_pick_vue_i18n_library.md +448 -0
  340. package/blog/zh/i18next_vs_intlayer-i18next.md +327 -0
  341. package/blog/zh/i18next_vs_intlayer.md +445 -0
  342. package/blog/zh/is_i18next_outdated.md +6 -2
  343. package/blog/zh/is_next-intl_outdated.md +6 -2
  344. package/blog/zh/is_vue-i18n_outdated.md +8 -2
  345. package/blog/zh/lingui_vs_intlayer-lingui.md +304 -0
  346. package/blog/zh/lingui_vs_intlayer.md +381 -0
  347. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +10 -6
  348. package/blog/zh/next-intl_vs_intlayer-next-intl.md +309 -0
  349. package/blog/zh/next-intl_vs_intlayer.md +422 -0
  350. package/blog/zh/per-component_vs_centralized_i18n.md +9 -4
  351. package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +6 -2
  352. package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  353. package/blog/zh/vue-i18n_vs_intlayer.md +1 -1
  354. package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +30 -0
  355. package/dist/cjs/generated/blog.entry.cjs +240 -0
  356. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  357. package/dist/cjs/generated/frequentQuestions.entry.cjs +20 -0
  358. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  359. package/dist/cjs/index.cjs +1 -1
  360. package/dist/esm/generated/blog.entry.mjs +240 -0
  361. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  362. package/dist/esm/generated/frequentQuestions.entry.mjs +20 -0
  363. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  364. package/dist/esm/index.mjs +1 -1
  365. package/dist/types/generated/blog.entry.d.ts +12 -0
  366. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  367. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
  368. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  369. package/docs/ar/benchmark/nextjs.md +1 -1
  370. package/docs/ar/benchmark/solid.md +1 -1
  371. package/docs/ar/benchmark/svelte.md +1 -1
  372. package/docs/ar/benchmark/tanstack.md +1 -1
  373. package/docs/ar/benchmark/vue.md +1 -1
  374. package/docs/ar/bundle_optimization.md +5 -1
  375. package/docs/ar/how_works_intlayer.md +2 -2
  376. package/docs/ar/interest_of_intlayer.md +7 -7
  377. package/docs/ar/intlayer_CMS.md +1 -1
  378. package/docs/ar/intlayer_with_adonisjs.md +1 -1
  379. package/docs/ar/intlayer_with_analog.md +1 -1
  380. package/docs/ar/intlayer_with_angular_19.md +1 -1
  381. package/docs/ar/intlayer_with_angular_21.md +1 -1
  382. package/docs/ar/intlayer_with_astro.md +1 -1
  383. package/docs/ar/intlayer_with_astro_lit.md +1 -1
  384. package/docs/ar/intlayer_with_astro_preact.md +1 -1
  385. package/docs/ar/intlayer_with_astro_react.md +1 -1
  386. package/docs/ar/intlayer_with_astro_solid.md +1 -1
  387. package/docs/ar/intlayer_with_astro_svelte.md +1 -1
  388. package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
  389. package/docs/ar/intlayer_with_astro_vue.md +1 -1
  390. package/docs/ar/intlayer_with_create_react_app.md +1 -1
  391. package/docs/ar/intlayer_with_express.md +1 -1
  392. package/docs/ar/intlayer_with_hono.md +1 -1
  393. package/docs/ar/intlayer_with_nestjs.md +1 -1
  394. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  395. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  396. package/docs/ar/intlayer_with_nextjs_16.md +1 -1
  397. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  398. package/docs/ar/intlayer_with_react_router_v7.md +1 -1
  399. package/docs/ar/intlayer_with_vite+preact.md +1 -1
  400. package/docs/ar/intlayer_with_vite+react.md +1 -1
  401. package/docs/ar/intlayer_with_vite+vue.md +1 -1
  402. package/docs/ar/introduction.md +0 -1
  403. package/docs/ar/readme.md +8 -8
  404. package/docs/bn/bundle_optimization.md +5 -1
  405. package/docs/bn/interest_of_intlayer.md +22 -22
  406. package/docs/bn/intlayer_CMS.md +1 -1
  407. package/docs/bn/intlayer_with_angular_21.md +1 -1
  408. package/docs/bn/intlayer_with_hono.md +1 -1
  409. package/docs/bn/introduction.md +0 -1
  410. package/docs/cs/bundle_optimization.md +5 -1
  411. package/docs/cs/interest_of_intlayer.md +7 -7
  412. package/docs/cs/intlayer_with_angular_21.md +1 -1
  413. package/docs/cs/intlayer_with_hono.md +1 -1
  414. package/docs/cs/introduction.md +0 -1
  415. package/docs/de/benchmark/nextjs.md +1 -1
  416. package/docs/de/benchmark/solid.md +1 -1
  417. package/docs/de/benchmark/svelte.md +1 -1
  418. package/docs/de/benchmark/tanstack.md +1 -1
  419. package/docs/de/benchmark/vue.md +1 -1
  420. package/docs/de/bundle_optimization.md +5 -1
  421. package/docs/de/how_works_intlayer.md +2 -2
  422. package/docs/de/interest_of_intlayer.md +7 -7
  423. package/docs/de/intlayer_CMS.md +1 -1
  424. package/docs/de/intlayer_with_adonisjs.md +1 -1
  425. package/docs/de/intlayer_with_analog.md +1 -1
  426. package/docs/de/intlayer_with_angular_19.md +1 -1
  427. package/docs/de/intlayer_with_angular_21.md +1 -1
  428. package/docs/de/intlayer_with_astro.md +1 -1
  429. package/docs/de/intlayer_with_astro_lit.md +1 -1
  430. package/docs/de/intlayer_with_astro_preact.md +1 -1
  431. package/docs/de/intlayer_with_astro_react.md +1 -1
  432. package/docs/de/intlayer_with_astro_solid.md +1 -1
  433. package/docs/de/intlayer_with_astro_svelte.md +1 -1
  434. package/docs/de/intlayer_with_astro_vanilla.md +1 -1
  435. package/docs/de/intlayer_with_astro_vue.md +1 -1
  436. package/docs/de/intlayer_with_create_react_app.md +1 -1
  437. package/docs/de/intlayer_with_express.md +1 -1
  438. package/docs/de/intlayer_with_hono.md +1 -1
  439. package/docs/de/intlayer_with_nestjs.md +1 -1
  440. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  441. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  442. package/docs/de/intlayer_with_nextjs_16.md +1 -1
  443. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  444. package/docs/de/intlayer_with_vite+preact.md +1 -1
  445. package/docs/de/intlayer_with_vite+react.md +1 -1
  446. package/docs/de/intlayer_with_vite+vue.md +1 -1
  447. package/docs/de/introduction.md +0 -1
  448. package/docs/de/readme.md +8 -8
  449. package/docs/en/benchmark/nextjs.md +1 -1
  450. package/docs/en/benchmark/solid.md +1 -1
  451. package/docs/en/benchmark/svelte.md +1 -1
  452. package/docs/en/benchmark/tanstack.md +1 -1
  453. package/docs/en/benchmark/vue.md +1 -1
  454. package/docs/en/bundle_optimization.md +5 -1
  455. package/docs/en/how_works_intlayer.md +2 -2
  456. package/docs/en/interest_of_intlayer.md +7 -7
  457. package/docs/en/intlayer_CMS.md +1 -1
  458. package/docs/en/intlayer_with_adonisjs.md +1 -1
  459. package/docs/en/intlayer_with_analog.md +1 -1
  460. package/docs/en/intlayer_with_angular_19.md +1 -1
  461. package/docs/en/intlayer_with_angular_21.md +1 -1
  462. package/docs/en/intlayer_with_astro.md +1 -1
  463. package/docs/en/intlayer_with_astro_lit.md +1 -1
  464. package/docs/en/intlayer_with_astro_preact.md +1 -1
  465. package/docs/en/intlayer_with_astro_react.md +1 -1
  466. package/docs/en/intlayer_with_astro_solid.md +1 -1
  467. package/docs/en/intlayer_with_astro_svelte.md +1 -1
  468. package/docs/en/intlayer_with_astro_vanilla.md +1 -1
  469. package/docs/en/intlayer_with_astro_vue.md +1 -1
  470. package/docs/en/intlayer_with_create_react_app.md +1 -1
  471. package/docs/en/intlayer_with_express.md +1 -1
  472. package/docs/en/intlayer_with_hono.md +1 -1
  473. package/docs/en/intlayer_with_nestjs.md +1 -1
  474. package/docs/en/intlayer_with_nextjs_14.md +1 -1
  475. package/docs/en/intlayer_with_nextjs_15.md +1 -1
  476. package/docs/en/intlayer_with_nextjs_16.md +1 -1
  477. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  478. package/docs/en/intlayer_with_vite+preact.md +1 -1
  479. package/docs/en/intlayer_with_vite+react.md +1 -1
  480. package/docs/en/intlayer_with_vite+vue.md +1 -1
  481. package/docs/en/introduction.md +0 -1
  482. package/docs/en/readme.md +8 -8
  483. package/docs/en-GB/benchmark/nextjs.md +1 -1
  484. package/docs/en-GB/benchmark/solid.md +1 -1
  485. package/docs/en-GB/benchmark/svelte.md +1 -1
  486. package/docs/en-GB/benchmark/tanstack.md +1 -1
  487. package/docs/en-GB/benchmark/vue.md +1 -1
  488. package/docs/en-GB/bundle_optimization.md +5 -1
  489. package/docs/en-GB/how_works_intlayer.md +2 -2
  490. package/docs/en-GB/interest_of_intlayer.md +7 -7
  491. package/docs/en-GB/intlayer_CMS.md +1 -1
  492. package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
  493. package/docs/en-GB/intlayer_with_analog.md +1 -1
  494. package/docs/en-GB/intlayer_with_angular_19.md +1 -1
  495. package/docs/en-GB/intlayer_with_angular_21.md +1 -1
  496. package/docs/en-GB/intlayer_with_astro.md +1 -1
  497. package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
  498. package/docs/en-GB/intlayer_with_astro_preact.md +1 -1
  499. package/docs/en-GB/intlayer_with_astro_react.md +1 -1
  500. package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
  501. package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
  502. package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
  503. package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
  504. package/docs/en-GB/intlayer_with_create_react_app.md +1 -1
  505. package/docs/en-GB/intlayer_with_express.md +1 -1
  506. package/docs/en-GB/intlayer_with_hono.md +1 -1
  507. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  508. package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
  509. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  510. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  511. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  512. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  513. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  514. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  515. package/docs/en-GB/introduction.md +0 -1
  516. package/docs/en-GB/readme.md +8 -8
  517. package/docs/es/benchmark/nextjs.md +1 -1
  518. package/docs/es/benchmark/solid.md +1 -1
  519. package/docs/es/benchmark/svelte.md +1 -1
  520. package/docs/es/benchmark/tanstack.md +1 -1
  521. package/docs/es/benchmark/vue.md +1 -1
  522. package/docs/es/bundle_optimization.md +5 -1
  523. package/docs/es/how_works_intlayer.md +2 -2
  524. package/docs/es/interest_of_intlayer.md +7 -7
  525. package/docs/es/intlayer_CMS.md +1 -1
  526. package/docs/es/intlayer_with_adonisjs.md +1 -1
  527. package/docs/es/intlayer_with_analog.md +1 -1
  528. package/docs/es/intlayer_with_angular_19.md +1 -1
  529. package/docs/es/intlayer_with_angular_21.md +1 -1
  530. package/docs/es/intlayer_with_astro.md +1 -1
  531. package/docs/es/intlayer_with_astro_lit.md +1 -1
  532. package/docs/es/intlayer_with_astro_preact.md +1 -1
  533. package/docs/es/intlayer_with_astro_react.md +1 -1
  534. package/docs/es/intlayer_with_astro_solid.md +1 -1
  535. package/docs/es/intlayer_with_astro_svelte.md +1 -1
  536. package/docs/es/intlayer_with_astro_vanilla.md +1 -1
  537. package/docs/es/intlayer_with_astro_vue.md +1 -1
  538. package/docs/es/intlayer_with_create_react_app.md +1 -1
  539. package/docs/es/intlayer_with_express.md +1 -1
  540. package/docs/es/intlayer_with_hono.md +1 -1
  541. package/docs/es/intlayer_with_nestjs.md +1 -1
  542. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  543. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  544. package/docs/es/intlayer_with_nextjs_16.md +1 -1
  545. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  546. package/docs/es/intlayer_with_vite+preact.md +1 -1
  547. package/docs/es/intlayer_with_vite+react.md +1 -1
  548. package/docs/es/intlayer_with_vite+vue.md +1 -1
  549. package/docs/es/introduction.md +0 -1
  550. package/docs/es/readme.md +8 -8
  551. package/docs/fr/benchmark/nextjs.md +1 -1
  552. package/docs/fr/benchmark/solid.md +1 -1
  553. package/docs/fr/benchmark/svelte.md +1 -1
  554. package/docs/fr/benchmark/tanstack.md +1 -1
  555. package/docs/fr/benchmark/vue.md +1 -1
  556. package/docs/fr/bundle_optimization.md +5 -1
  557. package/docs/fr/how_works_intlayer.md +2 -2
  558. package/docs/fr/interest_of_intlayer.md +7 -7
  559. package/docs/fr/intlayer_CMS.md +1 -1
  560. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  561. package/docs/fr/intlayer_with_analog.md +1 -1
  562. package/docs/fr/intlayer_with_angular_19.md +1 -1
  563. package/docs/fr/intlayer_with_angular_21.md +1 -1
  564. package/docs/fr/intlayer_with_astro.md +1 -1
  565. package/docs/fr/intlayer_with_astro_lit.md +1 -1
  566. package/docs/fr/intlayer_with_astro_preact.md +1 -1
  567. package/docs/fr/intlayer_with_astro_react.md +1 -1
  568. package/docs/fr/intlayer_with_astro_solid.md +1 -1
  569. package/docs/fr/intlayer_with_astro_svelte.md +1 -1
  570. package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
  571. package/docs/fr/intlayer_with_astro_vue.md +1 -1
  572. package/docs/fr/intlayer_with_create_react_app.md +1 -1
  573. package/docs/fr/intlayer_with_express.md +1 -1
  574. package/docs/fr/intlayer_with_hono.md +1 -1
  575. package/docs/fr/intlayer_with_nestjs.md +1 -1
  576. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  577. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  578. package/docs/fr/intlayer_with_nextjs_16.md +1 -1
  579. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  580. package/docs/fr/intlayer_with_react_router_v7.md +2 -2
  581. package/docs/fr/intlayer_with_vite+preact.md +1 -1
  582. package/docs/fr/intlayer_with_vite+react.md +1 -1
  583. package/docs/fr/intlayer_with_vite+vue.md +1 -1
  584. package/docs/fr/introduction.md +0 -1
  585. package/docs/fr/readme.md +8 -8
  586. package/docs/hi/benchmark/nextjs.md +1 -1
  587. package/docs/hi/benchmark/solid.md +1 -1
  588. package/docs/hi/benchmark/svelte.md +1 -1
  589. package/docs/hi/benchmark/tanstack.md +1 -1
  590. package/docs/hi/benchmark/vue.md +1 -1
  591. package/docs/hi/bundle_optimization.md +5 -1
  592. package/docs/hi/how_works_intlayer.md +2 -2
  593. package/docs/hi/interest_of_intlayer.md +7 -7
  594. package/docs/hi/intlayer_CMS.md +1 -1
  595. package/docs/hi/intlayer_with_adonisjs.md +1 -1
  596. package/docs/hi/intlayer_with_analog.md +1 -1
  597. package/docs/hi/intlayer_with_angular_19.md +1 -1
  598. package/docs/hi/intlayer_with_angular_21.md +1 -1
  599. package/docs/hi/intlayer_with_astro.md +1 -1
  600. package/docs/hi/intlayer_with_astro_lit.md +1 -1
  601. package/docs/hi/intlayer_with_astro_preact.md +1 -1
  602. package/docs/hi/intlayer_with_astro_react.md +1 -1
  603. package/docs/hi/intlayer_with_astro_solid.md +1 -1
  604. package/docs/hi/intlayer_with_astro_svelte.md +1 -1
  605. package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
  606. package/docs/hi/intlayer_with_astro_vue.md +1 -1
  607. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  608. package/docs/hi/intlayer_with_express.md +1 -1
  609. package/docs/hi/intlayer_with_hono.md +1 -1
  610. package/docs/hi/intlayer_with_nestjs.md +1 -1
  611. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  612. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  613. package/docs/hi/intlayer_with_nextjs_16.md +1 -1
  614. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  615. package/docs/hi/intlayer_with_react_router_v7.md +1 -1
  616. package/docs/hi/intlayer_with_vite+preact.md +1 -1
  617. package/docs/hi/intlayer_with_vite+react.md +1 -1
  618. package/docs/hi/intlayer_with_vite+vue.md +1 -1
  619. package/docs/hi/introduction.md +0 -1
  620. package/docs/hi/readme.md +8 -8
  621. package/docs/id/benchmark/nextjs.md +1 -1
  622. package/docs/id/benchmark/solid.md +1 -1
  623. package/docs/id/benchmark/svelte.md +1 -1
  624. package/docs/id/benchmark/tanstack.md +1 -1
  625. package/docs/id/benchmark/vue.md +1 -1
  626. package/docs/id/bundle_optimization.md +5 -1
  627. package/docs/id/how_works_intlayer.md +2 -2
  628. package/docs/id/interest_of_intlayer.md +7 -7
  629. package/docs/id/intlayer_CMS.md +1 -1
  630. package/docs/id/intlayer_with_adonisjs.md +1 -1
  631. package/docs/id/intlayer_with_analog.md +1 -1
  632. package/docs/id/intlayer_with_angular_19.md +1 -1
  633. package/docs/id/intlayer_with_angular_21.md +1 -1
  634. package/docs/id/intlayer_with_astro.md +1 -1
  635. package/docs/id/intlayer_with_astro_lit.md +1 -1
  636. package/docs/id/intlayer_with_astro_preact.md +1 -1
  637. package/docs/id/intlayer_with_astro_react.md +1 -1
  638. package/docs/id/intlayer_with_astro_solid.md +1 -1
  639. package/docs/id/intlayer_with_astro_svelte.md +1 -1
  640. package/docs/id/intlayer_with_astro_vanilla.md +1 -1
  641. package/docs/id/intlayer_with_astro_vue.md +1 -1
  642. package/docs/id/intlayer_with_create_react_app.md +1 -1
  643. package/docs/id/intlayer_with_express.md +1 -1
  644. package/docs/id/intlayer_with_hono.md +1 -1
  645. package/docs/id/intlayer_with_nestjs.md +1 -1
  646. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  647. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  648. package/docs/id/intlayer_with_nextjs_16.md +1 -1
  649. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  650. package/docs/id/intlayer_with_react_router_v7.md +1 -1
  651. package/docs/id/intlayer_with_vite+preact.md +1 -1
  652. package/docs/id/intlayer_with_vite+react.md +1 -1
  653. package/docs/id/intlayer_with_vite+vue.md +1 -1
  654. package/docs/id/introduction.md +0 -1
  655. package/docs/id/readme.md +8 -8
  656. package/docs/it/benchmark/nextjs.md +1 -1
  657. package/docs/it/benchmark/solid.md +1 -1
  658. package/docs/it/benchmark/svelte.md +1 -1
  659. package/docs/it/benchmark/tanstack.md +1 -1
  660. package/docs/it/benchmark/vue.md +1 -1
  661. package/docs/it/bundle_optimization.md +5 -1
  662. package/docs/it/how_works_intlayer.md +2 -2
  663. package/docs/it/interest_of_intlayer.md +7 -7
  664. package/docs/it/intlayer_CMS.md +1 -1
  665. package/docs/it/intlayer_with_adonisjs.md +1 -1
  666. package/docs/it/intlayer_with_analog.md +1 -1
  667. package/docs/it/intlayer_with_angular_19.md +1 -1
  668. package/docs/it/intlayer_with_angular_21.md +1 -1
  669. package/docs/it/intlayer_with_astro.md +1 -1
  670. package/docs/it/intlayer_with_astro_lit.md +1 -1
  671. package/docs/it/intlayer_with_astro_preact.md +1 -1
  672. package/docs/it/intlayer_with_astro_react.md +1 -1
  673. package/docs/it/intlayer_with_astro_solid.md +1 -1
  674. package/docs/it/intlayer_with_astro_svelte.md +1 -1
  675. package/docs/it/intlayer_with_astro_vanilla.md +1 -1
  676. package/docs/it/intlayer_with_astro_vue.md +1 -1
  677. package/docs/it/intlayer_with_create_react_app.md +1 -1
  678. package/docs/it/intlayer_with_express.md +1 -1
  679. package/docs/it/intlayer_with_hono.md +1 -1
  680. package/docs/it/intlayer_with_nestjs.md +1 -1
  681. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  682. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  683. package/docs/it/intlayer_with_nextjs_16.md +1 -1
  684. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  685. package/docs/it/intlayer_with_react_router_v7.md +2 -2
  686. package/docs/it/intlayer_with_vite+preact.md +1 -1
  687. package/docs/it/intlayer_with_vite+react.md +1 -1
  688. package/docs/it/intlayer_with_vite+vue.md +1 -1
  689. package/docs/it/introduction.md +0 -1
  690. package/docs/it/readme.md +8 -8
  691. package/docs/ja/benchmark/nextjs.md +1 -1
  692. package/docs/ja/benchmark/solid.md +1 -1
  693. package/docs/ja/benchmark/svelte.md +1 -1
  694. package/docs/ja/benchmark/tanstack.md +1 -1
  695. package/docs/ja/benchmark/vue.md +1 -1
  696. package/docs/ja/bundle_optimization.md +5 -1
  697. package/docs/ja/how_works_intlayer.md +2 -2
  698. package/docs/ja/interest_of_intlayer.md +7 -7
  699. package/docs/ja/intlayer_CMS.md +1 -1
  700. package/docs/ja/intlayer_with_adonisjs.md +1 -1
  701. package/docs/ja/intlayer_with_analog.md +1 -1
  702. package/docs/ja/intlayer_with_angular_19.md +1 -1
  703. package/docs/ja/intlayer_with_angular_21.md +1 -1
  704. package/docs/ja/intlayer_with_astro.md +1 -1
  705. package/docs/ja/intlayer_with_astro_lit.md +1 -1
  706. package/docs/ja/intlayer_with_astro_preact.md +1 -1
  707. package/docs/ja/intlayer_with_astro_react.md +1 -1
  708. package/docs/ja/intlayer_with_astro_solid.md +1 -1
  709. package/docs/ja/intlayer_with_astro_svelte.md +1 -1
  710. package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
  711. package/docs/ja/intlayer_with_astro_vue.md +1 -1
  712. package/docs/ja/intlayer_with_create_react_app.md +1 -1
  713. package/docs/ja/intlayer_with_express.md +1 -1
  714. package/docs/ja/intlayer_with_hono.md +1 -1
  715. package/docs/ja/intlayer_with_nestjs.md +1 -1
  716. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  717. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  718. package/docs/ja/intlayer_with_nextjs_16.md +1 -1
  719. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  720. package/docs/ja/intlayer_with_vite+preact.md +1 -1
  721. package/docs/ja/intlayer_with_vite+react.md +1 -1
  722. package/docs/ja/intlayer_with_vite+vue.md +1 -1
  723. package/docs/ja/introduction.md +0 -1
  724. package/docs/ja/readme.md +8 -8
  725. package/docs/ko/benchmark/nextjs.md +1 -1
  726. package/docs/ko/benchmark/solid.md +1 -1
  727. package/docs/ko/benchmark/svelte.md +1 -1
  728. package/docs/ko/benchmark/tanstack.md +1 -1
  729. package/docs/ko/benchmark/vue.md +1 -1
  730. package/docs/ko/bundle_optimization.md +5 -1
  731. package/docs/ko/how_works_intlayer.md +2 -2
  732. package/docs/ko/interest_of_intlayer.md +7 -7
  733. package/docs/ko/intlayer_CMS.md +1 -1
  734. package/docs/ko/intlayer_with_adonisjs.md +1 -1
  735. package/docs/ko/intlayer_with_analog.md +1 -1
  736. package/docs/ko/intlayer_with_angular_19.md +1 -1
  737. package/docs/ko/intlayer_with_angular_21.md +1 -1
  738. package/docs/ko/intlayer_with_astro.md +1 -1
  739. package/docs/ko/intlayer_with_astro_lit.md +1 -1
  740. package/docs/ko/intlayer_with_astro_preact.md +1 -1
  741. package/docs/ko/intlayer_with_astro_react.md +1 -1
  742. package/docs/ko/intlayer_with_astro_solid.md +1 -1
  743. package/docs/ko/intlayer_with_astro_svelte.md +1 -1
  744. package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
  745. package/docs/ko/intlayer_with_astro_vue.md +1 -1
  746. package/docs/ko/intlayer_with_create_react_app.md +1 -1
  747. package/docs/ko/intlayer_with_express.md +1 -1
  748. package/docs/ko/intlayer_with_hono.md +1 -1
  749. package/docs/ko/intlayer_with_nestjs.md +1 -1
  750. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  751. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  752. package/docs/ko/intlayer_with_nextjs_16.md +1 -1
  753. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  754. package/docs/ko/intlayer_with_react_router_v7.md +2 -2
  755. package/docs/ko/intlayer_with_vite+preact.md +1 -1
  756. package/docs/ko/intlayer_with_vite+react.md +1 -1
  757. package/docs/ko/intlayer_with_vite+vue.md +1 -1
  758. package/docs/ko/introduction.md +0 -1
  759. package/docs/ko/readme.md +8 -8
  760. package/docs/nl/bundle_optimization.md +5 -1
  761. package/docs/nl/interest_of_intlayer.md +7 -7
  762. package/docs/nl/intlayer_with_angular_21.md +1 -1
  763. package/docs/nl/intlayer_with_hono.md +1 -1
  764. package/docs/nl/introduction.md +0 -1
  765. package/docs/pl/benchmark/nextjs.md +1 -1
  766. package/docs/pl/benchmark/solid.md +1 -1
  767. package/docs/pl/benchmark/svelte.md +1 -1
  768. package/docs/pl/benchmark/tanstack.md +1 -1
  769. package/docs/pl/benchmark/vue.md +1 -1
  770. package/docs/pl/bundle_optimization.md +5 -1
  771. package/docs/pl/how_works_intlayer.md +2 -2
  772. package/docs/pl/interest_of_intlayer.md +7 -7
  773. package/docs/pl/intlayer_CMS.md +1 -1
  774. package/docs/pl/intlayer_with_adonisjs.md +1 -1
  775. package/docs/pl/intlayer_with_analog.md +1 -1
  776. package/docs/pl/intlayer_with_angular_19.md +1 -1
  777. package/docs/pl/intlayer_with_angular_21.md +1 -1
  778. package/docs/pl/intlayer_with_astro.md +1 -1
  779. package/docs/pl/intlayer_with_astro_lit.md +1 -1
  780. package/docs/pl/intlayer_with_astro_preact.md +1 -1
  781. package/docs/pl/intlayer_with_astro_react.md +1 -1
  782. package/docs/pl/intlayer_with_astro_solid.md +1 -1
  783. package/docs/pl/intlayer_with_astro_svelte.md +1 -1
  784. package/docs/pl/intlayer_with_astro_vanilla.md +1 -1
  785. package/docs/pl/intlayer_with_astro_vue.md +1 -1
  786. package/docs/pl/intlayer_with_create_react_app.md +1 -1
  787. package/docs/pl/intlayer_with_express.md +1 -1
  788. package/docs/pl/intlayer_with_hono.md +1 -1
  789. package/docs/pl/intlayer_with_nestjs.md +1 -1
  790. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  791. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  792. package/docs/pl/intlayer_with_nextjs_16.md +1 -1
  793. package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
  794. package/docs/pl/intlayer_with_react_router_v7.md +2 -2
  795. package/docs/pl/intlayer_with_vite+preact.md +1 -1
  796. package/docs/pl/intlayer_with_vite+react.md +1 -1
  797. package/docs/pl/intlayer_with_vite+vue.md +1 -1
  798. package/docs/pl/introduction.md +0 -1
  799. package/docs/pl/readme.md +8 -8
  800. package/docs/pt/benchmark/nextjs.md +1 -1
  801. package/docs/pt/benchmark/solid.md +1 -1
  802. package/docs/pt/benchmark/svelte.md +1 -1
  803. package/docs/pt/benchmark/tanstack.md +1 -1
  804. package/docs/pt/benchmark/vue.md +1 -1
  805. package/docs/pt/bundle_optimization.md +5 -1
  806. package/docs/pt/how_works_intlayer.md +2 -2
  807. package/docs/pt/interest_of_intlayer.md +7 -7
  808. package/docs/pt/intlayer_CMS.md +1 -1
  809. package/docs/pt/intlayer_with_adonisjs.md +1 -1
  810. package/docs/pt/intlayer_with_analog.md +1 -1
  811. package/docs/pt/intlayer_with_angular_19.md +1 -1
  812. package/docs/pt/intlayer_with_angular_21.md +1 -1
  813. package/docs/pt/intlayer_with_astro.md +1 -1
  814. package/docs/pt/intlayer_with_astro_lit.md +1 -1
  815. package/docs/pt/intlayer_with_astro_preact.md +1 -1
  816. package/docs/pt/intlayer_with_astro_react.md +1 -1
  817. package/docs/pt/intlayer_with_astro_solid.md +1 -1
  818. package/docs/pt/intlayer_with_astro_svelte.md +1 -1
  819. package/docs/pt/intlayer_with_astro_vanilla.md +1 -1
  820. package/docs/pt/intlayer_with_astro_vue.md +1 -1
  821. package/docs/pt/intlayer_with_create_react_app.md +1 -1
  822. package/docs/pt/intlayer_with_express.md +1 -1
  823. package/docs/pt/intlayer_with_hono.md +1 -1
  824. package/docs/pt/intlayer_with_nestjs.md +1 -1
  825. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  826. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  827. package/docs/pt/intlayer_with_nextjs_16.md +1 -1
  828. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  829. package/docs/pt/intlayer_with_react_router_v7.md +2 -2
  830. package/docs/pt/intlayer_with_vite+preact.md +1 -1
  831. package/docs/pt/intlayer_with_vite+react.md +1 -1
  832. package/docs/pt/intlayer_with_vite+vue.md +1 -1
  833. package/docs/pt/introduction.md +0 -1
  834. package/docs/pt/readme.md +8 -8
  835. package/docs/ru/benchmark/nextjs.md +1 -1
  836. package/docs/ru/benchmark/solid.md +1 -1
  837. package/docs/ru/benchmark/svelte.md +1 -1
  838. package/docs/ru/benchmark/tanstack.md +1 -1
  839. package/docs/ru/benchmark/vue.md +1 -1
  840. package/docs/ru/bundle_optimization.md +5 -1
  841. package/docs/ru/how_works_intlayer.md +2 -2
  842. package/docs/ru/interest_of_intlayer.md +7 -7
  843. package/docs/ru/intlayer_CMS.md +1 -1
  844. package/docs/ru/intlayer_with_adonisjs.md +1 -1
  845. package/docs/ru/intlayer_with_analog.md +1 -1
  846. package/docs/ru/intlayer_with_angular_19.md +1 -1
  847. package/docs/ru/intlayer_with_angular_21.md +1 -1
  848. package/docs/ru/intlayer_with_astro.md +1 -1
  849. package/docs/ru/intlayer_with_astro_lit.md +1 -1
  850. package/docs/ru/intlayer_with_astro_preact.md +1 -1
  851. package/docs/ru/intlayer_with_astro_react.md +1 -1
  852. package/docs/ru/intlayer_with_astro_solid.md +1 -1
  853. package/docs/ru/intlayer_with_astro_svelte.md +1 -1
  854. package/docs/ru/intlayer_with_astro_vanilla.md +1 -1
  855. package/docs/ru/intlayer_with_astro_vue.md +1 -1
  856. package/docs/ru/intlayer_with_create_react_app.md +1 -1
  857. package/docs/ru/intlayer_with_express.md +1 -1
  858. package/docs/ru/intlayer_with_hono.md +1 -1
  859. package/docs/ru/intlayer_with_nestjs.md +1 -1
  860. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  861. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  862. package/docs/ru/intlayer_with_nextjs_16.md +1 -1
  863. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  864. package/docs/ru/intlayer_with_react_router_v7.md +2 -2
  865. package/docs/ru/intlayer_with_vite+preact.md +1 -1
  866. package/docs/ru/intlayer_with_vite+react.md +1 -1
  867. package/docs/ru/intlayer_with_vite+vue.md +1 -1
  868. package/docs/ru/introduction.md +0 -1
  869. package/docs/ru/readme.md +8 -8
  870. package/docs/tr/benchmark/nextjs.md +1 -1
  871. package/docs/tr/benchmark/solid.md +1 -1
  872. package/docs/tr/benchmark/svelte.md +1 -1
  873. package/docs/tr/benchmark/tanstack.md +1 -1
  874. package/docs/tr/benchmark/vue.md +1 -1
  875. package/docs/tr/bundle_optimization.md +5 -1
  876. package/docs/tr/how_works_intlayer.md +2 -2
  877. package/docs/tr/interest_of_intlayer.md +7 -7
  878. package/docs/tr/intlayer_CMS.md +1 -1
  879. package/docs/tr/intlayer_with_adonisjs.md +1 -1
  880. package/docs/tr/intlayer_with_analog.md +1 -1
  881. package/docs/tr/intlayer_with_angular_19.md +1 -1
  882. package/docs/tr/intlayer_with_angular_21.md +1 -1
  883. package/docs/tr/intlayer_with_astro.md +1 -1
  884. package/docs/tr/intlayer_with_astro_lit.md +1 -1
  885. package/docs/tr/intlayer_with_astro_preact.md +1 -1
  886. package/docs/tr/intlayer_with_astro_react.md +1 -1
  887. package/docs/tr/intlayer_with_astro_solid.md +1 -1
  888. package/docs/tr/intlayer_with_astro_svelte.md +1 -1
  889. package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
  890. package/docs/tr/intlayer_with_astro_vue.md +1 -1
  891. package/docs/tr/intlayer_with_create_react_app.md +1 -1
  892. package/docs/tr/intlayer_with_express.md +1 -1
  893. package/docs/tr/intlayer_with_hono.md +1 -1
  894. package/docs/tr/intlayer_with_nestjs.md +1 -1
  895. package/docs/tr/intlayer_with_nextjs_14.md +1 -1
  896. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  897. package/docs/tr/intlayer_with_nextjs_16.md +1 -1
  898. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  899. package/docs/tr/intlayer_with_react_router_v7.md +1 -1
  900. package/docs/tr/intlayer_with_vite+preact.md +1 -1
  901. package/docs/tr/intlayer_with_vite+react.md +1 -1
  902. package/docs/tr/intlayer_with_vite+vue.md +1 -1
  903. package/docs/tr/introduction.md +0 -1
  904. package/docs/tr/readme.md +8 -8
  905. package/docs/uk/benchmark/nextjs.md +1 -1
  906. package/docs/uk/benchmark/solid.md +1 -1
  907. package/docs/uk/benchmark/svelte.md +1 -1
  908. package/docs/uk/benchmark/tanstack.md +1 -1
  909. package/docs/uk/benchmark/vue.md +1 -1
  910. package/docs/uk/bundle_optimization.md +5 -1
  911. package/docs/uk/how_works_intlayer.md +2 -2
  912. package/docs/uk/interest_of_intlayer.md +7 -7
  913. package/docs/uk/intlayer_CMS.md +1 -1
  914. package/docs/uk/intlayer_with_adonisjs.md +1 -1
  915. package/docs/uk/intlayer_with_analog.md +1 -1
  916. package/docs/uk/intlayer_with_angular_19.md +1 -1
  917. package/docs/uk/intlayer_with_angular_21.md +1 -1
  918. package/docs/uk/intlayer_with_astro.md +1 -1
  919. package/docs/uk/intlayer_with_astro_lit.md +1 -1
  920. package/docs/uk/intlayer_with_astro_preact.md +1 -1
  921. package/docs/uk/intlayer_with_astro_react.md +1 -1
  922. package/docs/uk/intlayer_with_astro_solid.md +1 -1
  923. package/docs/uk/intlayer_with_astro_svelte.md +1 -1
  924. package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
  925. package/docs/uk/intlayer_with_astro_vue.md +1 -1
  926. package/docs/uk/intlayer_with_create_react_app.md +1 -1
  927. package/docs/uk/intlayer_with_express.md +1 -1
  928. package/docs/uk/intlayer_with_hono.md +1 -1
  929. package/docs/uk/intlayer_with_nestjs.md +1 -1
  930. package/docs/uk/intlayer_with_nextjs_14.md +1 -1
  931. package/docs/uk/intlayer_with_nextjs_15.md +1 -1
  932. package/docs/uk/intlayer_with_nextjs_16.md +1 -1
  933. package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
  934. package/docs/uk/intlayer_with_react_router_v7.md +1 -1
  935. package/docs/uk/intlayer_with_vite+preact.md +1 -1
  936. package/docs/uk/intlayer_with_vite+react.md +1 -1
  937. package/docs/uk/intlayer_with_vite+vue.md +1 -1
  938. package/docs/uk/introduction.md +0 -1
  939. package/docs/uk/readme.md +8 -8
  940. package/docs/ur/bundle_optimization.md +5 -1
  941. package/docs/ur/interest_of_intlayer.md +7 -7
  942. package/docs/ur/intlayer_with_angular_21.md +1 -1
  943. package/docs/ur/intlayer_with_hono.md +1 -1
  944. package/docs/ur/introduction.md +0 -1
  945. package/docs/vi/benchmark/nextjs.md +1 -1
  946. package/docs/vi/benchmark/solid.md +1 -1
  947. package/docs/vi/benchmark/svelte.md +1 -1
  948. package/docs/vi/benchmark/tanstack.md +1 -1
  949. package/docs/vi/benchmark/vue.md +1 -1
  950. package/docs/vi/bundle_optimization.md +5 -1
  951. package/docs/vi/how_works_intlayer.md +2 -2
  952. package/docs/vi/interest_of_intlayer.md +7 -7
  953. package/docs/vi/intlayer_CMS.md +1 -1
  954. package/docs/vi/intlayer_with_adonisjs.md +1 -1
  955. package/docs/vi/intlayer_with_analog.md +1 -1
  956. package/docs/vi/intlayer_with_angular_19.md +1 -1
  957. package/docs/vi/intlayer_with_angular_21.md +1 -1
  958. package/docs/vi/intlayer_with_astro.md +1 -1
  959. package/docs/vi/intlayer_with_astro_lit.md +1 -1
  960. package/docs/vi/intlayer_with_astro_preact.md +1 -1
  961. package/docs/vi/intlayer_with_astro_react.md +1 -1
  962. package/docs/vi/intlayer_with_astro_solid.md +1 -1
  963. package/docs/vi/intlayer_with_astro_svelte.md +1 -1
  964. package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
  965. package/docs/vi/intlayer_with_astro_vue.md +1 -1
  966. package/docs/vi/intlayer_with_create_react_app.md +1 -1
  967. package/docs/vi/intlayer_with_express.md +1 -1
  968. package/docs/vi/intlayer_with_hono.md +1 -1
  969. package/docs/vi/intlayer_with_nestjs.md +1 -1
  970. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  971. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  972. package/docs/vi/intlayer_with_nextjs_16.md +1 -1
  973. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  974. package/docs/vi/intlayer_with_vite+preact.md +1 -1
  975. package/docs/vi/intlayer_with_vite+react.md +1 -1
  976. package/docs/vi/intlayer_with_vite+vue.md +1 -1
  977. package/docs/vi/introduction.md +0 -1
  978. package/docs/vi/readme.md +8 -8
  979. package/docs/zh/benchmark/nextjs.md +1 -1
  980. package/docs/zh/benchmark/solid.md +1 -1
  981. package/docs/zh/benchmark/svelte.md +1 -1
  982. package/docs/zh/benchmark/tanstack.md +1 -1
  983. package/docs/zh/benchmark/vue.md +1 -1
  984. package/docs/zh/bundle_optimization.md +5 -1
  985. package/docs/zh/how_works_intlayer.md +2 -2
  986. package/docs/zh/interest_of_intlayer.md +7 -7
  987. package/docs/zh/intlayer_CMS.md +1 -1
  988. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  989. package/docs/zh/intlayer_with_analog.md +1 -1
  990. package/docs/zh/intlayer_with_angular_19.md +1 -1
  991. package/docs/zh/intlayer_with_angular_21.md +1 -1
  992. package/docs/zh/intlayer_with_astro.md +1 -1
  993. package/docs/zh/intlayer_with_astro_lit.md +1 -1
  994. package/docs/zh/intlayer_with_astro_preact.md +1 -1
  995. package/docs/zh/intlayer_with_astro_react.md +1 -1
  996. package/docs/zh/intlayer_with_astro_solid.md +1 -1
  997. package/docs/zh/intlayer_with_astro_svelte.md +1 -1
  998. package/docs/zh/intlayer_with_astro_vanilla.md +1 -1
  999. package/docs/zh/intlayer_with_astro_vue.md +1 -1
  1000. package/docs/zh/intlayer_with_create_react_app.md +1 -1
  1001. package/docs/zh/intlayer_with_express.md +1 -1
  1002. package/docs/zh/intlayer_with_hono.md +1 -1
  1003. package/docs/zh/intlayer_with_nestjs.md +1 -1
  1004. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  1005. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  1006. package/docs/zh/intlayer_with_nextjs_16.md +1 -1
  1007. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  1008. package/docs/zh/intlayer_with_react_router_v7.md +2 -2
  1009. package/docs/zh/intlayer_with_vite+preact.md +1 -1
  1010. package/docs/zh/intlayer_with_vite+react.md +1 -1
  1011. package/docs/zh/intlayer_with_vite+vue.md +1 -1
  1012. package/docs/zh/introduction.md +0 -1
  1013. package/docs/zh/readme.md +8 -8
  1014. package/docs/zh-TW/bundle_optimization.md +5 -1
  1015. package/docs/zh-TW/interest_of_intlayer.md +7 -7
  1016. package/docs/zh-TW/intlayer_with_angular_21.md +1 -1
  1017. package/docs/zh-TW/introduction.md +0 -1
  1018. package/frequent_questions/ar/claude_code_token_consumption.md +152 -0
  1019. package/frequent_questions/de/claude_code_token_consumption.md +152 -0
  1020. package/frequent_questions/en/claude_code_token_consumption.md +152 -0
  1021. package/frequent_questions/en-GB/claude_code_token_consumption.md +152 -0
  1022. package/frequent_questions/es/claude_code_token_consumption.md +152 -0
  1023. package/frequent_questions/fr/claude_code_token_consumption.md +152 -0
  1024. package/frequent_questions/hi/claude_code_token_consumption.md +152 -0
  1025. package/frequent_questions/id/claude_code_token_consumption.md +152 -0
  1026. package/frequent_questions/it/claude_code_token_consumption.md +152 -0
  1027. package/frequent_questions/ja/claude_code_token_consumption.md +152 -0
  1028. package/frequent_questions/ko/claude_code_token_consumption.md +152 -0
  1029. package/frequent_questions/pl/claude_code_token_consumption.md +152 -0
  1030. package/frequent_questions/pt/claude_code_token_consumption.md +152 -0
  1031. package/frequent_questions/ru/claude_code_token_consumption.md +152 -0
  1032. package/frequent_questions/tr/claude_code_token_consumption.md +152 -0
  1033. package/frequent_questions/uk/claude_code_token_consumption.md +152 -0
  1034. package/frequent_questions/vi/claude_code_token_consumption.md +152 -0
  1035. package/frequent_questions/zh/claude_code_token_consumption.md +152 -0
  1036. package/package.json +8 -7
  1037. package/src/generated/blog.entry.ts +240 -0
  1038. package/src/generated/frequentQuestions.entry.ts +20 -0
  1039. package/blog/en/___per-component_vs_centralized_i18n.md +0 -255
  1040. package/blog/pl/___per-component_vs_centralized_i18n.md +0 -100
  1041. package/docs/en/benchmark/___NOTE.md +0 -101
  1042. package/docs/en/benchmark/___nextjs.md +0 -197
  1043. package/docs/en/benchmark/___solid.md +0 -12
  1044. package/docs/en/benchmark/___svelte.md +0 -16
  1045. package/docs/en/benchmark/___tanstack.md +0 -190
  1046. package/docs/en/benchmark/___vue.md +0 -7
  1047. package/docs/pl/benchmark/___NOTE.md +0 -101
  1048. package/docs/pl/benchmark/___nextjs.md +0 -198
  1049. package/docs/pl/benchmark/___solid.md +0 -36
  1050. package/docs/pl/benchmark/___svelte.md +0 -36
  1051. package/docs/pl/benchmark/___tanstack.md +0 -36
  1052. package/docs/pl/benchmark/___vue.md +0 -36
@@ -957,7 +957,7 @@ Intlayer 使用模块扩展 (module augmentation) 来利用 TypeScript 的优势
957
957
 
958
958
  ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
959
959
 
960
- ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
960
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.webp?raw=true)
961
961
 
962
962
  确保你的 TypeScript 配置包含了自动生成的类型。
963
963
 
@@ -1100,7 +1100,7 @@ Intlayer 使用模块扩展 (module augmentation) 来利用 TypeScript 的优势
1100
1100
 
1101
1101
  ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1102
1102
 
1103
- ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1103
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.webp?raw=true)
1104
1104
 
1105
1105
  确保你的 TypeScript 配置包含了自动生成的类型。
1106
1106
 
@@ -179,7 +179,6 @@ Intlayer 提供了多种功能,旨在满足现代 Web 开发的需求。以下
179
179
  - **[Intlayer 与 Tanstack Start + Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_tanstack+solid.md)**
180
180
  - **[Intlayer 与 Vite + React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_vite+react.md)**
181
181
  - **[Intlayer 与 React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_react_router_v7.md)**
182
- - **[Intlayer 与 React Router v7 (fs-routes)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_react_router_v7_fs_routes.md)**
183
182
  - **[Intlayer 与 React CRA](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_create_react_app.md)**
184
183
  - **[Intlayer 与 React Native 及 Expo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_react_native+expo.md)**
185
184
  - **[Intlayer 与 Lynx 及 React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_with_lynx+react.md)**
package/docs/zh/readme.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <p align="center">
2
2
  <a href="https://intlayer.cn" rel="">
3
- <img src="https://raw.githubusercontent.com/aymericzip/intlayer/main/docs/assets/cover.png" width="60%" alt="Intlayer 标志" />
3
+ <img src="https://raw.githubusercontent.com/aymericzip/intlayer/main/docs/assets/cover.webp" width="60%" alt="Intlayer 标志" />
4
4
  </a>
5
5
  </p>
6
6
 
@@ -48,10 +48,10 @@ Intlayer 是面向 Web 和移动应用程序的**现代国际化解决方案**
48
48
 
49
49
  | 功能 | 描述 |
50
50
  | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
51
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="Feature" width="700"> | **多框架支持**<br><br>Intlayer 兼容所有主流框架和库,包括 Next.js、React、Vite、Vue.js、Nuxt、Preact、Express 等。 |
51
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.webp?raw=true" alt="Feature" width="700"> | **多框架支持**<br><br>Intlayer 兼容所有主流框架和库,包括 Next.js、React、Vite、Vue.js、Nuxt、Preact、Express 等。 |
52
52
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true" alt="Feature" width="700"> | **基于 JavaScript 的内容管理**<br><br>利用 JavaScript 的灵活性高效地定义和管理您的内容。<br><br> - [内容声明](https://intlayer.cn/doc/concept/content) |
53
53
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="Feature" width="700"> | **按语言区分的内容声明文件**<br><br>通过在自动生成之前声明一次内容,加快您的开发速度。<br><br> - [按语言区分的内容声明文件](https://intlayer.cn/doc/concept/per-locale-file) |
54
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **编译器**<br><br>Intlayer 编译器自动从组件中提取内容并创建词典文件。<br><br> - [编译器](https://intlayer.cn/doc/compiler) |
54
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.webp?raw=true" alt="Feature" width="700"> | **编译器**<br><br>Intlayer 编译器自动从组件中提取内容并创建词典文件。<br><br> - [编译器](https://intlayer.cn/doc/compiler) |
55
55
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true" alt="Feature" width="700"> | **类型安全环境**<br><br>利用 TypeScript 确保您的内容定义和代码无错误,同时享受 IDE 自动补全的便利。<br><br> - [TypeScript 配置](https://intlayer.cn/doc/environment/vite-and-react#configure-typescript) |
56
56
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true" alt="Feature" width="700"> | **简化设置**<br><br>通过最少的配置快速启动。轻松调整国际化、路由、AI、构建和内容管理的设置。<br><br> - [探索 Next.js 集成](https://intlayer.cn/doc/environment/nextjs) |
57
57
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true" alt="Feature" width="700"> | **简化内容获取**<br><br>无需为每一条内容调用 `t` 函数。使用单一钩子即可直接获取所有内容。<br><br> - [React 集成](https://intlayer.cn/doc/environment/create-react-app) |
@@ -59,12 +59,12 @@ Intlayer 是面向 Web 和移动应用程序的**现代国际化解决方案**
59
59
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true" alt="Feature" width="700"> | **有序的代码库**<br><br>保持代码库更有条理:1 个组件 = 同一文件夹中的 1 个词典。翻译内容靠近各自的组件,提高可维护性和清晰度。<br><br> - [Intlayer 如何工作](https://intlayer.cn/doc/concept/how-works-intlayer) |
60
60
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true" alt="Feature" width="700"> | **增强的路由功能**<br><br>全面支持应用路由,能够无缝适应复杂的应用结构,适用于 Next.js、React、Vite、Vue.js 等框架。<br><br> - [探索 Next.js 集成](https://intlayer.cn/doc/environment/nextjs) |
61
61
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true" alt="Feature" width="700"> | **Markdown 支持**<br><br>导入并解析本地文件和远程 Markdown,用于多语言内容,如隐私政策、文档等。解析并使 Markdown 元数据在代码中可访问。<br><br> - [内容文件](https://intlayer.cn/doc/concept/content/file) |
62
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true" alt="Feature" width="700"> | **免费可视化编辑器和 CMS**<br><br>为内容创作者提供免费的可视化编辑器和 CMS,免去了使用本地化平台的需求。通过 Git 保持内容同步,或使用 CMS 完全或部分外部化内容。<br><br> - [Intlayer 编辑器](https://intlayer.cn/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.cn/doc/concept/cms) |
63
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true" alt="Feature" width="700"> | **可摇树内容**<br><br>可摇树内容,减少最终包的大小。按组件加载内容,排除包中未使用的内容。支持延迟加载以提高应用程序加载效率。<br><br> - [应用构建优化](https://intlayer.cn/doc/concept/how-works-intlayer#app-build-optimization) |
64
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true" alt="Feature" width="700"> | **静态渲染**<br><br>不阻塞静态渲染。<br><br> - [Next.js 集成](https://intlayer.cn/doc/environment/nextjs) |
62
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.webp?raw=true" alt="Feature" width="700"> | **免费可视化编辑器和 CMS**<br><br>为内容创作者提供免费的可视化编辑器和 CMS,免去了使用本地化平台的需求。通过 Git 保持内容同步,或使用 CMS 完全或部分外部化内容。<br><br> - [Intlayer 编辑器](https://intlayer.cn/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.cn/doc/concept/cms) |
63
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.webp?raw=true" alt="Feature" width="700"> | **可摇树内容**<br><br>可摇树内容,减少最终包的大小。按组件加载内容,排除包中未使用的内容。支持延迟加载以提高应用程序加载效率。<br><br> - [应用构建优化](https://intlayer.cn/doc/concept/how-works-intlayer#app-build-optimization) |
64
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.webp?raw=true" alt="Feature" width="700"> | **静态渲染**<br><br>不阻塞静态渲染。<br><br> - [Next.js 集成](https://intlayer.cn/doc/environment/nextjs) |
65
65
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true" alt="Feature" width="700"> | **AI 驱动的翻译**<br><br>使用 Intlayer 先进的 AI 驱动翻译工具,结合您自己的 AI 提供商 / API 密钥,只需一键即可将您的网站转换为 231 种语言。<br><br> - [CI/CD 集成](https://intlayer.cn/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.cn/doc/concept/cli) <br> - [自动填充](https://intlayer.cn/doc/concept/auto-fill) |
66
66
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="Feature" width="700"> | **MCP 服务器集成**<br><br>提供一个 MCP (模型上下文协议) 服务器,用于 IDE 自动化,使内容管理和 i18n 工作流程能够直接在您的开发环境中无缝进行。<br><br> - [MCP 服务器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/mcp_server.md) |
67
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="Feature" width="700"> | **VSCode 扩展**<br><br>Intlayer 提供了一个 VSCode 扩展,帮助您管理内容和翻译、构建词典、翻译内容等。<br><br> - [VSCode 扩展](https://intlayer.cn/doc/vs-code-extension) |
67
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.webp?raw=true" alt="Feature" width="700"> | **VSCode 扩展**<br><br>Intlayer 提供了一个 VSCode 扩展,帮助您管理内容和翻译、构建词典、翻译内容等。<br><br> - [VSCode 扩展](https://intlayer.cn/doc/vs-code-extension) |
68
68
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Feature" width="700"> | **互操作性**<br><br>允许与 react-i18next、next-i18next、next-intl、react-intl、vue-i18n 进行互操作。<br><br> - [Intlayer 与 react-intl](https://intlayer.cn/blog/intlayer-with-react-intl) <br> - [Intlayer 与 next-intl](https://intlayer.cn/blog/intlayer-with-next-intl) <br> - [Intlayer 与 next-i18next](https://intlayer.cn/blog/intlayer-with-next-i18next) <br> - [Intlayer 与 vue-i18n](https://intlayer.cn/blog/intlayer-with-vue-i18n) <br> - [Intlayer 兼容适配器](https://intlayer.cn/doc/compatibility) |
69
69
  | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/benchmark.png?raw=true" alt="Feature" width="700"> | **性能与基准测试**<br><br>使用先进的摇树优化(tree-shaking)和动态加载来提高性能,并使解决方案保持尽可能轻量。 <br><br> - [性能与基准测试](https://intlayer.cn/doc/benchmark) |
70
70
 
@@ -269,7 +269,7 @@ Intlayer 将 **开发人员**、**文案撰写人员** 和 **AI 代理** 连接
269
269
  - TMS(翻译管理系统)(例如 Crowdin、Phrase、Lokalise)
270
270
  - 无头 CMS(例如 Contentful、Strapi、Sanity)
271
271
 
272
- ![CMS Preview](https://github.com/aymericzip/intlayer/blob/main/docs/assets/CMS.png?raw=true)
272
+ ![CMS Preview](https://github.com/aymericzip/intlayer/blob/main/docs/assets/CMS.webp?raw=true)
273
273
 
274
274
  ## 🌐 其他语言的 Readme
275
275
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-11-25
3
- updatedAt: 2026-08-09
3
+ updatedAt: 2026-09-16
4
4
  title: 最佳化 i18n 打包體積與效能
5
5
  description: 透過最佳化國際化(i18n)內容來縮減應用程式包的大小。了解如何利用 Intlayer 實現字典的 tree shaking 和延遲載入(lazy loading)。
6
6
  keywords:
@@ -37,6 +37,10 @@ author: aymericzip
37
37
 
38
38
  例如,一個應用程式有 10 個頁面並被翻譯成了 10 種語言,可能導致使用者為了這 10 個頁面下載所有的內容,儘管他們只想要**一個頁面**的內容(當前語言版本的當前頁面)。這不僅會造成頻寬浪費,也會導致更慢的載入時間。
39
39
 
40
+ 下圖估算了一個理論應用程式的內容體積:1 到 10 個頁面,翻譯成 1 到 10 種語言,每頁約 30 KB 文字。依 locale 動態載入內容可消除語言維度,依元件或路由劃分內容可消除頁面維度,只有兩者結合才能讓體積保持平穩。
41
+
42
+ ![依架構劃分的理論內容洩漏](https://github.com/aymericzip/intlayer/blob/main/docs/assets/theorical_content_leakage.webp?raw=true)
43
+
40
44
  **Intlayer 透過在建置時(build-time)進行最佳化來解決這一問題。** 它可以分析您的程式碼以檢測每個元件實際使用了哪些字典,並只將必要的內容注入到您的打包結果(bundle)中。
41
45
 
42
46
  ## 目錄
@@ -214,9 +214,9 @@ export const ComponentExample = () => {
214
214
 
215
215
  | 功能 | 描述 |
216
216
  | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
217
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **跨框架支持**<br><br>Intlayer 兼容所有主流框架和庫,包括 Next.js, React, Vite, Vue.js, Nuxt, Preact, Express 等。 |
217
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.webp?raw=true) | **跨框架支持**<br><br>Intlayer 兼容所有主流框架和庫,包括 Next.js, React, Vite, Vue.js, Nuxt, Preact, Express 等。 |
218
218
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **JavaScript 驅動的內容管理**<br><br>利用 JavaScript 的靈活性來高效地定義和管理你的內容。<br><br> - [內容宣告](https://intlayer.org/doc/concept/content) |
219
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **編譯器**<br><br>Intlayer 編譯器可自動从組件中提取內容并生成字典文件。<br><br> - [編譯器](https://intlayer.org/doc/compiler) |
219
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.webp?raw=true" alt="Feature" width="700"> | **編譯器**<br><br>Intlayer 編譯器可自動从組件中提取內容并生成字典文件。<br><br> - [編譯器](https://intlayer.org/doc/compiler) |
220
220
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **單語言內容宣告文件**<br><br>在自動生成前,通過僅宣告一次你的內容來加速開發。<br><br> - [單語言內容宣告文件](https://intlayer.org/doc/concept/per-locale-file) |
221
221
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **類型安全環境**<br><br>利用 TypeScript 確保你的內容定義和代码沒有錯誤,同時還能享受 IDE 的自動補全功能。<br><br> - [TypeScript 配置](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
222
222
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **簡易配置**<br><br>僅需極簡的配置即可快速啟動并運行。輕鬆調整國際化、路由、AI、構築以及內容處理的設置。<br><br> - [探索 Next.js 集成](https://intlayer.org/doc/environment/nextjs) |
@@ -225,12 +225,12 @@ export const ComponentExample = () => {
225
225
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **有條理的代码庫**<br><br>保持代码庫更有條理:1 組件 = 在同一文件夾下的 1 個字典。靠近其各自組件的翻譯有助於提高可維護性和清晰度。<br><br> - [Intlayer 運行機制](https://intlayer.org/doc/concept/how-works-intlayer) |
226
226
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **增強的路由功能**<br><br>完全支持應用路由,無縫適應複雜的應用結構,適用於 Next.js, React, Vite, Vue.js 等。<br><br> - [探索 Next.js 集成](https://intlayer.org/doc/environment/nextjs) |
227
227
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Markdown 支持**<br><br>導入并解譯本地文件以及遠程 Markdown,以獲得隱私政策、文檔等多語言內容。解譯并在你的代码中使 Markdown 元數據可被訪問。<br><br> - [內容文件](https://intlayer.org/doc/concept/content/file) |
228
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **免費的可視化編輯器與 CMS**<br><br>視覺編輯器和 CMS 免費向內容創作者開放,消除对第三方本地化平台的依賴。使用 Git 保持內容同步,或使用 CMS 徹底或部分外置管理它。<br><br> - [Intlayer 編輯器](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
229
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **構築時搖樹優化 (Tree-shakable) 內容**<br><br>構築時搖樹優化內容,減小最終包的體積。按組件載入內容,并从打包體積中排除 any 未使用的內容。支持懶載入以提高應用載入效率。<br><br> - [應用構築優化](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
230
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **靜態渲染**<br><br>不阻碍靜態渲染(Static Rendering)。<br><br> - [Next.js 集成](https://intlayer.org/doc/environment/nextjs) |
228
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.webp?raw=true) | **免費的可視化編輯器與 CMS**<br><br>視覺編輯器和 CMS 免費向內容創作者開放,消除对第三方本地化平台的依賴。使用 Git 保持內容同步,或使用 CMS 徹底或部分外置管理它。<br><br> - [Intlayer 編輯器](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
229
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.webp?raw=true) | **構築時搖樹優化 (Tree-shakable) 內容**<br><br>構築時搖樹優化內容,減小最終包的體積。按組件載入內容,并从打包體積中排除 any 未使用的內容。支持懶載入以提高應用載入效率。<br><br> - [應用構築優化](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
230
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.webp?raw=true) | **靜態渲染**<br><br>不阻碍靜態渲染(Static Rendering)。<br><br> - [Next.js 集成](https://intlayer.org/doc/environment/nextjs) |
231
231
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **AI 驅動翻譯**<br><br>使用您自己的 AI 提供商/API 金鑰,點擊一下即可將您的網站翻譯成 231 種語言,得益於 Intlayer 先進的 AI 翻譯工具。<br><br> - [CI/CD 集成](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [自動填充](https://intlayer.org/doc/concept/auto-fill) |
232
232
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **MCP 服務器集成**<br><br>提供用於 IDE 自動化的 MCP(Model Context Protocol)服務器,能夠直接在你的開發環境中實現無縫的內容管理和 i18n 工作流。<br><br> - [MCP 服務器](https://github.com/aymericzip/intlayer/blob/main/docs/zh-TW/mcp_server.md) |
233
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **VSCode 插件**<br><br>Intlayer 提供 VSCode 插件協助管理你的內容和翻譯,構築你的字典,翻譯你的內容等。<br><br> - [VSCode 插件](https://intlayer.org/doc/vs-code-extension) |
233
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.webp?raw=true) | **VSCode 插件**<br><br>Intlayer 提供 VSCode 插件協助管理你的內容和翻譯,構築你的字典,翻譯你的內容等。<br><br> - [VSCode 插件](https://intlayer.org/doc/vs-code-extension) |
234
234
  | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **互操作性**<br><br>允許與 react-i18next、next-i18next, next-intl 和 react-intl 互操作。<br><br> - [Intlayer 與 react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer 與 next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer 與 next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer 相容轉接器](https://intlayer.org/doc/compatibility) |
235
235
  | 測試缺失翻譯 (CLI/CI) | ✅ CLI: npx intlayer content test (对 CI 友好的審計) |
236
236
 
@@ -262,7 +262,7 @@ export const ComponentExample = () => {
262
262
 
263
263
  GitHub 星星數是衡量項目受歡迎程度、社區信任度以及長期相關性的一個強有力指標。雖然它們不是技術質量的直接度量標準,但它們反映了有多少開發者發現該項目有用,關注其進展並有可能採用它。對於評估項目的價值來說,星星能夠幫助對比替代方案之間的吸引力,並提供有關生態系統增長的見解。
264
264
 
265
- [![Star History Chart](https://api.star-history.com/chart?repos=aymericzip/intlayer%2Cformatjs/formatjs%2Ci18next/react-i18next%2Ci18next/i18next%2Ci18next/next-i18next%2Clingui/js-lingui%2Camannn/next-intl%2Cintlify/vue-i18n%2Ccodingcommons/typesafe-i18n%2Copral/paraglide-js&type=date&legend=top-left)](https://www.star-history.com/#aymericzip/intlayer&formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&codingcommons/typesafe-i18n&opral/paraglide-js)
265
+ [![Star History Chart](https://api.star-history.com/chart?repos=aymericzip/intlayer%2Cformatjs/formatjs%2Ci18next/react-i18next%2Ci18next/i18next%2Ci18next/next-i18next%2Clingui/js-lingui%2Camannn/next-intl%2Cintlify/vue-i18n%2Ccodingcommons/typesafe-i18n%2Copral/paraglide-js&type=date&legend=top-left)](https://star-history.com/#aymericzip/intlayer&formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&codingcommons/typesafe-i18n&opral/paraglide-js)
266
266
 
267
267
  ## 互操作性
268
268
 
@@ -388,7 +388,7 @@ Intlayer使用模組擴充(Module Augmentation)來獲得TypeScript的好處
388
388
 
389
389
  ![自動補全](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
390
390
 
391
- ![翻譯錯誤](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
391
+ ![翻譯錯誤](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.webp?raw=true)
392
392
 
393
393
  請確保您的TypeScript配置包含了自動生成的類型。
394
394
 
@@ -181,7 +181,6 @@ Intlayer 提供了多種功能,旨在滿足現代 Web 開發的需求。以下
181
181
  - **[Intlayer 與 Tanstack Start + Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh-TW/intlayer_with_tanstack+solid.md)**
182
182
  - **[Intlayer 與 Vite + React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh-TW/intlayer_with_vite+react.md)**
183
183
  - **[Intlayer 與 React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh-TW/intlayer_with_react_router_v7.md)**
184
- - **[Intlayer 與 React Router v7 (fs-routes)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh-TW/intlayer_with_react_router_v7_fs_routes.md)**
185
184
  - **[Intlayer 與 React CRA](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh-TW/intlayer_with_create_react_app.md)**
186
185
  - **[Intlayer 與 React Native 及 Expo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh-TW/intlayer_with_react_native+expo.md)**
187
186
  - **[Intlayer 與 Lynx 及 React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh-TW/intlayer_with_lynx+react.md)**
@@ -0,0 +1,152 @@
1
+ ---
2
+ createdAt: 2026-09-13
3
+ updatedAt: 2026-09-13
4
+ title: كيفية تقليل استهلاك رموز Claude Code (Tokens) لتوليد الترجمات
5
+ description: لماذا يستهلك استخدام Claude Code للترجمة الكثير من الرموز، وماذا يقدم Intlayer بدلاً من ذلك (تصفية المفاتيح المترجمة، تقسيم JSON، ترجمة markdown كتلة بكتلة)، وكيفية إعادة استخدام اشتراك Claude عبر claude setup-token.
6
+ keywords:
7
+ - claude code
8
+ - tokens
9
+ - استهلاك الرموز
10
+ - setup-token
11
+ - i18n
12
+ - تدويل
13
+ - ترجمة
14
+ - fill
15
+ - mcp
16
+ - وكيل
17
+ slugs:
18
+ - frequent-questions
19
+ - claude-code-token-consumption
20
+ author: aymericzip
21
+ ---
22
+
23
+ # كيفية تقليل استهلاك رموز Claude Code (Tokens) لتوليد الترجمات
24
+
25
+ ## وصف المشكلة
26
+
27
+ يُعد الطلب من Claude Code (أو أي وكيل برمجي) ترجمة محتواك الطريقة الأكثر تكلفة على الإطلاق. ففي كل تشغيل، يضطر الوكيل إلى:
28
+
29
+ - تحميل ملف JSON أو ملف المحتوى كاملاً في سياقه، حتى المفاتيح المترجمة بالفعل.
30
+ - البحث في الملفات المرتبطة لمعرفة مكان المحتوى وطريقة تنظيمه.
31
+ - استنتاج اللغات الناقصة التي ينبغي توليدها.
32
+ - إعادة قراءة تعليماتك المخصصة في كل مرة ("تحويل الروابط بهذا الشكل"، "الإبقاء على اسم العلامة التجارية بالإنجليزية"، "استخدام الصيغة غير الرسمية").
33
+ - إعادة كتابة الملف بأكمله، بما في ذلك الأجزاء التي لم تتغير.
34
+
35
+ يتم إعادة إرسال كل هذا مع كل جولة محادثة، مما يؤدي إلى تضخم التكلفة وفق معادلة `حجم المحتوى × عدد اللغات × عدد الجولات`، بالإضافة إلى ضرورة اكتشاف أي خلل في التنسيق أو المفاتيح يدوياً.
36
+
37
+ ## ماذا يقدم Intlayer بدلاً من ذلك
38
+
39
+ تكمن فائدة Intlayer في إنجاز هذا العمل خارج سياق الوكيل، عبر خط معالجة مبني خصيصاً للترجمة:
40
+
41
+ - **تصفية الترجمات الموجودة مسبقاً** للحد من استهلاك الرموز (Tokens). يتم استبعاد المفاتيح المترجمة بالفعل في ملف JSON، وإرسال المفاتيح الناقصة فقط إلى النموذج.
42
+ - **ترجمة ملفات markdown كتلة بكتلة.** بالنسبة للتوثيق، يقارن الأمران [`doc translate`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/doc-translate.md) و [`doc review`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/doc-review.md) كل كتلة مع المستند الأساسي ويتجاوزان الكتل المترجمة مسبقاً أو غير المعدلة.
43
+ - **تقسيم ملفات JSON إلى أجزاء (Chunks)** إذا كانت كبيرة جداً، لضمان البقاء في النطاق الأمثل لنافذة السياق.
44
+ - **تسطيح وإعادة بناء ملفات JSON** لتحسين استهلاك الرموز.
45
+ - **إدراج مطالبات مخصصة** للقواعد المحددة لعلامتك التجارية وصياغتك (`applicationContext`، `--custom-instructions`)، لتكتبها مرة واحدة بدلاً من تكرارها في كل محادثة.
46
+ - **التحقق من صحة البنية** لضمان الاتساق ومنع انحراف المفاتيح، مع الحفاظ على التنسيق الأصلي (markdown، HTML، الإدراجات، صيغ الجمع).
47
+ - **إدارة إعادة المحاولة (Retry)** في حال كان الناتج غير منسق بشكل سليم.
48
+ - **جدولة الطلبات ومعالجتها بالتوازي** عبر الملفات والكتل واللغات لزيادة سرعة التنفيذ.
49
+
50
+ لا يمر أي من هذا عبر سياق الوكيل. القاعدة الأساسية: دع الوكيل يقرر **ماذا** ينبغي تدويله، ودع Intlayer يتكفل بالمهام المتكررة.
51
+
52
+ ## الحل
53
+
54
+ ### 1. إسناد الاستخراج إلى `intlayer extract`
55
+
56
+ بدلاً من مطالبة الوكيل بإعادة كتابة كل مكوّن يدوياً، دعه ينفذ الأمر [`extract`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md). يقوم هذا الأمر بنقل النصوص الثابتة إلى ملف `.content` بجانب المكوّن دون تحميل الملف كاملاً في سياق الوكيل.
57
+
58
+ ```bash
59
+ npx intlayer extract --file src/components/Header.tsx
60
+ ```
61
+
62
+ ### 2. إسناد الترجمة إلى `intlayer fill`
63
+
64
+ تجنب تماماً مطالبة الوكيل بالترجمة المباشرة. يقوم الأمر [`fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/fill.md) بتطبيق خط المعالجة المذكور: يرسل المفاتيح الناقصة فقط، ويقسمها إلى أجزاء، ويعالج اللغات بالتوازي، ويكتب النتائج مباشرة داخل ملفات المحتوى الخاصة بك.
65
+
66
+ ```bash
67
+ npx intlayer fill
68
+ ```
69
+
70
+ تساعد بعض الخيارات في تقليص نطاق التشغيل:
71
+
72
+ - `--git-diff` (أو `--uncommitted`) يعالج القواميس التي تم تعديلها في الفرع الحالي فقط.
73
+ - `--file` أو `--keys` يستهدف ملفات محتوى محددة.
74
+ - `--output-locales fr es` يقصر التشغيل على اللغات التي تحتاج إليها بالفعل الآن.
75
+ - `--skip-metadata` يتخطى توليد العنوان والوصف والوسوم.
76
+ - `--data-serialization toon` يرسل حمولة بيانات أكثر إيجازاً للنموذج (رموز أقل، مع تباين طفيف في الإخراج).
77
+
78
+ ```bash
79
+ npx intlayer fill --git-diff --output-locales fr es --skip-metadata
80
+ ```
81
+
82
+ ### 3. ترجمة markdown عبر `doc translate` و `doc review`
83
+
84
+ مطالبة الوكيل بترجمة ملف `.md` يعني لصق المستند بالكامل، لكل لغة، عند كل تعديل. في المقابل، يعمل الأمران [`doc translate`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/doc-translate.md) و [`doc review`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/doc-review.md) كتلة بكتلة.
85
+
86
+ استخدم `doc translate` عندما لا يكون الملف المترجم موجوداً بعد. يقوم بتقسيم markdown وترجمته بالتوازي وكتابة الملفات الهدف:
87
+
88
+ ```bash
89
+ npx intlayer doc translate --doc-pattern "docs/**/*.md" --base-locale en --locales fr es
90
+ ```
91
+
92
+ استخدم `doc review` عندما يكون الملف المترجم موجوداً بالفعل. يقارن كل كتلة مع المستند الأساسي، ويتخطى الكتل المترجمة أو غير المتغيرة، ويرسل الكتل المختلفة فقط:
93
+
94
+ ```bash
95
+ npx intlayer doc review --doc-pattern "docs/**/*.md" --base-locale en --locales fr es
96
+ ```
97
+
98
+ يقبل كلا الأمرين القواعد الخاصة بك مرة واحدة، دون الحاجة لتكرارها في كل موجه:
99
+
100
+ ```bash
101
+ npx intlayer doc translate --custom-instructions "Do not translate URLs. Keep the markdown structure and the code blocks untouched."
102
+ ```
103
+
104
+ هناك وضعان في `doc review` مفيدان عندما يحتاج الوكيل للبقاء في حلقة العمل، دون إجراء أي اتصال بالذكاء الاصطناعي من جانب Intlayer:
105
+
106
+ - `--mode report` يسجل الكتل التي تحتاج إلى مراجعة مع أرقام الأسطر، حتى يعدل الوكيل هذه الكتل فقط.
107
+ - `--mode synthesis` يوضح فقط المستندات المحدثة وتلك التي لا تزال تحتوي على كتل بحاجة للتعديل.
108
+
109
+ ```bash
110
+ npx intlayer doc review --mode report --locales fr
111
+ ```
112
+
113
+ ### 4. تمكين الوكيل من استدعاء واجهة الأوامر CLI عبر خادم MCP
114
+
115
+ باستخدام [خادم Intlayer MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/mcp_server.md)، يجيب الوكيل اعتماداً على أحدث التوثيقات ويشغل `intlayer fill` أو `intlayer doc review` بنفسه بدلاً من إعادة كتابة المنطق في المحادثة.
116
+
117
+ ```bash
118
+ claude mcp add intlayer npx -y @intlayer/mcp
119
+ ```
120
+
121
+ كما أن تثبيت [Agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/agent_skills.md) عبر `npx intlayer init skills` يمنع الوكيل من تخمين واجهة برمجة تطبيقات Intlayer وإعادة قراءة التوثيق عند كل مهمة.
122
+
123
+ ### 5. إعادة استخدام اشتراك Claude عبر `claude setup-token`
124
+
125
+ يؤدي تشغيل إعداد التدويل (i18n) في جلسة Claude Code التفاعلية إلى الاحتفاظ بسجل المحادثة بأكمله في السياق. انقل هذه المعالجة الثقيلة إلى جلسة headless سريعة ومستقلة.
126
+
127
+ قم بتوليد رمز طويل الأمد من اشتراك Claude الخاص بك:
128
+
129
+ ```bash
130
+ claude setup-token
131
+ ```
132
+
133
+ احفظه كـ `CLAUDE_CODE_OAUTH_TOKEN` (في ملف `.env` أو ضمن أسرار CI)، ثم أعد استخدامه لجلسة تشغيل أحادية تنفذ أوامر Intlayer:
134
+
135
+ ```bash
136
+ CLAUDE_CODE_OAUTH_TOKEN=... claude -p "Run npx intlayer extract on src/components, then npx intlayer fill --uncommitted"
137
+ ```
138
+
139
+ تقتصر هذه الجلسة على ذلك الموجه ومخرجات الأمر فقط، دون حمل سجل محادثتك السابق. يعمل نفس الرمز في [Claude Code GitHub Action](https://github.com/anthropics/claude-code-action) لتشغيل `intlayer fill` عند كل طلب سحب (Pull Request).
140
+
141
+ > الرمز الصادر عن `claude setup-token` يوثق Claude Code فقط. ولا يمكن استخدامه كمفتاح Anthropic API في `ai.apiKey`. بالنسبة للترجمة نفسها، يستخدم `intlayer fill` [حساب Intlayer](https://app.intlayer.org) الخاص بك (الخطة المجانية مشمولة) أو مفتاح المزود الخاص بك المكوّن في [`ai`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md#ai-configuration).
142
+
143
+ ## الملخص
144
+
145
+ | المهمة | المسؤول عنها | الرموز (Tokens) في سياق الوكيل |
146
+ | --------------------- | ------------------------ | ------------------------------ |
147
+ | تحديد ما ينبغي تعريبه | Claude Code | منخفض |
148
+ | استخراج النصوص | `intlayer extract` | لا شيء |
149
+ | ترجمة المحتوى | `intlayer fill` | لا شيء |
150
+ | ترجمة التوثيق | `intlayer doc translate` | لا شيء |
151
+ | تحديث التوثيق | `intlayer doc review` | لا شيء |
152
+ | تشغيل الأوامر | Headless Claude Code | الموجه + مخرجات الأمر |
@@ -0,0 +1,152 @@
1
+ ---
2
+ createdAt: 2026-09-13
3
+ updatedAt: 2026-09-13
4
+ title: Wie man den Token-Verbrauch von Claude Code bei Übersetzungen begrenzt
5
+ description: Warum das Übersetzen mit Claude Code Tokens verbrennt, was Intlayer stattdessen tut (bereits übersetzte Schlüssel filtern, JSON aufteilen, Markdown blockweise übersetzen) und wie Sie Ihr Claude-Abonnement mit claude setup-token wiederverwenden.
6
+ keywords:
7
+ - claude code
8
+ - tokens
9
+ - token-verbrauch
10
+ - setup-token
11
+ - i18n
12
+ - internationalisierung
13
+ - übersetzung
14
+ - fill
15
+ - mcp
16
+ - agent
17
+ slugs:
18
+ - frequent-questions
19
+ - claude-code-token-consumption
20
+ author: aymericzip
21
+ ---
22
+
23
+ # Wie man den Token-Verbrauch von Claude Code bei Übersetzungen begrenzt
24
+
25
+ ## Problembeschreibung
26
+
27
+ Claude Code (oder jeden anderen Programmier-Agenten) mit der Übersetzung Ihrer Inhalte zu beauftragen, ist der teuerste Weg. Bei jedem Durchlauf muss der Agent:
28
+
29
+ - Die gesamte JSON- oder Inhaltsdatei in seinen Kontext laden, selbst die Schlüssel, die bereits übersetzt sind.
30
+ - Die zugehörigen Dateien durchsuchen, um herauszufinden, wo sich der Inhalt befindet und wie er strukturiert ist.
31
+ - Ermitteln, welche Locales fehlen und generiert werden müssen.
32
+ - Ihre benutzerdefinierten Anweisungen jedes Mal erneut lesen ("URLs auf diese Weise anpassen", "Markennamen auf Englisch belassen", "Du-Form verwenden").
33
+ - Die gesamte Datei neu schreiben, einschließlich der Teile, die sich nicht geändert haben.
34
+
35
+ All das wird bei jedem Durchlauf erneut übermittelt, sodass die Kosten mit `Größe des Inhalts × Anzahl der Locales × Anzahl der Durchläufe` ansteigen, und jede Abweichung bei Formatierung oder Schlüsseln muss manuell überprüft werden.
36
+
37
+ ## Was Intlayer stattdessen tut
38
+
39
+ Der Vorteil von Intlayer besteht darin, diese Arbeit außerhalb des Agenten mit einer speziell für Übersetzungen entwickelten Pipeline zu erledigen:
40
+
41
+ - **Filtert bestehende Übersetzungen**, um den Token-Verbrauch zu begrenzen. Bereits übersetzte Schlüssel in Ihrem JSON werden entfernt und nur die fehlenden an das Modell gesendet.
42
+ - **Übersetzt Markdown blockweise.** Für die Dokumentation vergleichen [`doc translate`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/doc-translate.md) und [`doc review`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/doc-review.md) jeden Block mit dem Basisdokument und überspringen Blöcke, die bereits übersetzt oder unverändert sind.
43
+ - **Teilt Ihr JSON in Chunks auf**, falls es zu groß ist, um im optimalen Bereich des Kontextfensters zu bleiben.
44
+ - **Flacht Ihr JSON ab und rekonstruiert es**, um den Token-Verbrauch zu optimieren.
45
+ - **Fügt benutzerdefinierte Prompts ein** für spezifische Regeln bezüglich Marke und Wording (`applicationContext`, `--custom-instructions`), sodass Sie diese einmal schreiben, anstatt sie in jeder Konversation zu wiederholen.
46
+ - **Validiert die Struktur**, um Konsistenz zu gewährleisten und Schlüssel-Drift zu verhindern, und bewahrt Formatierungen (Markdown, HTML, Einfügungen, Pluralformen).
47
+ - **Implementiert Wiederholungsversuche (Retry-Management)**, wenn die Ausgabe fehlerhaft ist.
48
+ - **Reiht Anfragen ein und parallelisiert sie** über Dateien, Abschnitte und Locales hinweg, um die Geschwindigkeit zu maximieren.
49
+
50
+ Nichts davon belastet den Kontext des Agenten. Die Faustregel: Lassen Sie den Agenten entscheiden, **was** internationalisiert werden soll, und überlassen Sie Intlayer die wiederkehrende Arbeit.
51
+
52
+ ## Lösung
53
+
54
+ ### 1. Extraktion an `intlayer extract` delegieren
55
+
56
+ Anstatt den Agenten jede Komponente manuell umschreiben zu lassen, lassen Sie ihn den Befehl [`extract`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/extract.md) ausführen. Dieser verschiebt hartcodierte Zeichenketten in eine `.content`-Datei neben der Komponente, ohne die gesamte Datei in den Kontext des Agenten zu laden.
57
+
58
+ ```bash
59
+ npx intlayer extract --file src/components/Header.tsx
60
+ ```
61
+
62
+ ### 2. Übersetzung an `intlayer fill` delegieren
63
+
64
+ Bitten Sie den Agenten niemals direkt zu übersetzen. Der Befehl [`fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/fill.md) wendet die oben beschriebene Pipeline an: Er sendet nur die fehlenden Schlüssel, teilt sie auf, verarbeitet die Locales parallel und schreibt das Ergebnis direkt in Ihre Inhaltsdateien zurück.
65
+
66
+ ```bash
67
+ npx intlayer fill
68
+ ```
69
+
70
+ Einige Flags halten den Durchlauf schlank:
71
+
72
+ - `--git-diff` (oder `--uncommitted`) verarbeitet nur die im aktuellen Branch geänderten Wörterbücher.
73
+ - `--file` oder `--keys` zielt auf bestimmte Inhaltsdateien ab.
74
+ - `--output-locales fr es` beschränkt den Durchlauf auf die Locales, die Sie aktuell wirklich benötigen.
75
+ - `--skip-metadata` überspringt die Generierung von Titel, Beschreibung und Tags.
76
+ - `--data-serialization toon` sendet eine kompaktere Nutzlast an das Modell (weniger Tokens, leicht weniger vorhersehbare Ausgabe).
77
+
78
+ ```bash
79
+ npx intlayer fill --git-diff --output-locales fr es --skip-metadata
80
+ ```
81
+
82
+ ### 3. Markdown mit `doc translate` und `doc review` übersetzen
83
+
84
+ Einen Agenten mit der Übersetzung einer `.md`-Datei zu beauftragen bedeutet, das gesamte Dokument für jedes Locale bei jeder Änderung einzufügen. Die Befehle [`doc translate`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/doc-translate.md) und [`doc review`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/doc-review.md) arbeiten stattdessen blockweise.
85
+
86
+ Verwenden Sie `doc translate`, wenn die übersetzte Datei noch nicht existiert. Der Befehl teilt das Markdown auf, übersetzt es parallel und erstellt die Zieldateien:
87
+
88
+ ```bash
89
+ npx intlayer doc translate --doc-pattern "docs/**/*.md" --base-locale en --locales fr es
90
+ ```
91
+
92
+ Verwenden Sie `doc review`, wenn die übersetzte Datei bereits existiert. Der Befehl vergleicht jeden Block mit dem Basisdokument, überspringt Blöcke, die bereits übersetzt oder unverändert sind, und sendet nur die abweichenden Blöcke:
93
+
94
+ ```bash
95
+ npx intlayer doc review --doc-pattern "docs/**/*.md" --base-locale en --locales fr es
96
+ ```
97
+
98
+ Beide Befehle übernehmen Ihre Regeln einmalig, anstatt sie in jedem Prompt wiederholen zu müssen:
99
+
100
+ ```bash
101
+ npx intlayer doc translate --custom-instructions "Do not translate URLs. Keep the markdown structure and the code blocks untouched."
102
+ ```
103
+
104
+ Zwei Modi von `doc review` sind nützlich, wenn der Agent ohne KI-Aufrufe seitens Intlayer eingebunden bleiben soll:
105
+
106
+ - `--mode report` gibt die Blöcke aus, die Aufmerksamkeit erfordern, samt Zeilennummern, sodass der Agent nur diese Blöcke bearbeitet.
107
+ - `--mode synthesis` gibt lediglich an, welche Dokumente aktuell sind und welche noch bearbeitbare Blöcke enthalten.
108
+
109
+ ```bash
110
+ npx intlayer doc review --mode report --locales fr
111
+ ```
112
+
113
+ ### 4. Den Agenten die CLI über den MCP-Server aufrufen lassen
114
+
115
+ Mit dem [Intlayer MCP-Server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/mcp_server.md) antwortet der Agent auf Basis der aktuellen Dokumentation und führt `intlayer fill` oder `intlayer doc review` selbst aus, anstatt die Logik in der Konversation neu zu implementieren.
116
+
117
+ ```bash
118
+ claude mcp add intlayer npx -y @intlayer/mcp
119
+ ```
120
+
121
+ Die Installation der [Agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/agent_skills.md) mit `npx intlayer init skills` verhindert zudem, dass der Agent die Intlayer-API erraten und die Dokumentation bei jeder Aufgabe neu lesen muss.
122
+
123
+ ### 5. Das Claude-Abonnement mit `claude setup-token` wiederverwenden
124
+
125
+ Das Einrichten von i18n in Ihrer interaktiven Claude Code-Sitzung behält den gesamten Konversationsverlauf im Kontext. Verlagern Sie diese arbeitsintensive Aufgabe stattdessen in eine kurze Headless-Sitzung.
126
+
127
+ Generieren Sie ein langlebiges Token aus Ihrem Claude-Abonnement:
128
+
129
+ ```bash
130
+ claude setup-token
131
+ ```
132
+
133
+ Speichern Sie es als `CLAUDE_CODE_OAUTH_TOKEN` (in einer `.env`-Datei oder in Ihren CI-Secrets) und nutzen Sie es für eine einmalige Sitzung, die die Intlayer-Befehle ausführt:
134
+
135
+ ```bash
136
+ CLAUDE_CODE_OAUTH_TOKEN=... claude -p "Run npx intlayer extract on src/components, then npx intlayer fill --uncommitted"
137
+ ```
138
+
139
+ Die Sitzung enthält lediglich diesen Prompt und die Ausgabe des Befehls, nicht Ihre gesamte Konversation. Dasselbe Token funktioniert auch in der [Claude Code GitHub Action](https://github.com/anthropics/claude-code-action), um `intlayer fill` bei jedem Pull Request auszuführen.
140
+
141
+ > Das von `claude setup-token` ausgegebene Token authentifiziert ausschließlich Claude Code. Es kann nicht als Anthropic-API-Schlüssel in `ai.apiKey` verwendet werden. Für die eigentliche Übersetzung nutzt `intlayer fill` Ihr [Intlayer-Konto](https://app.intlayer.org) (kostenloser Tarif enthalten) oder Ihren eigenen in [`ai`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md#ai-configuration) konfigurierten Provider-Schlüssel.
142
+
143
+ ## Zusammenfassung
144
+
145
+ | Aufgabe | Wer führt sie aus | Tokens im Kontext des Agenten |
146
+ | --------------------------------- | ------------------------ | ----------------------------- |
147
+ | Entscheiden, was lokalisiert wird | Claude Code | Gering |
148
+ | Zeichenketten extrahieren | `intlayer extract` | Keine |
149
+ | Inhalte übersetzen | `intlayer fill` | Keine |
150
+ | Dokumentation übersetzen | `intlayer doc translate` | Keine |
151
+ | Dokumentation aktualisieren | `intlayer doc review` | Keine |
152
+ | Befehle ausführen | Headless Claude Code | Prompt + Befehlsausgabe |