@intlayer/docs 9.5.1 → 9.5.3

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 (997) hide show
  1. package/README.md +1 -1
  2. package/blog/ar/history_of_i18n.md +304 -0
  3. package/blog/ar/i18next_vs_intlayer-i18next.md +327 -0
  4. package/blog/ar/i18next_vs_intlayer.md +445 -0
  5. package/blog/ar/is_i18next_outdated.md +1 -1
  6. package/blog/ar/is_next-intl_outdated.md +1 -1
  7. package/blog/ar/is_vue-i18n_outdated.md +1 -1
  8. package/blog/ar/lingui_vs_intlayer-lingui.md +304 -0
  9. package/blog/ar/lingui_vs_intlayer.md +381 -0
  10. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  11. package/blog/ar/next-intl_vs_intlayer-next-intl.md +309 -0
  12. package/blog/ar/next-intl_vs_intlayer.md +397 -0
  13. package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  14. package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +286 -0
  15. package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +0 -0
  16. package/blog/de/history_of_i18n.md +304 -0
  17. package/blog/de/i18next_vs_intlayer-i18next.md +327 -0
  18. package/blog/de/i18next_vs_intlayer.md +445 -0
  19. package/blog/de/is_i18next_outdated.md +1 -1
  20. package/blog/de/is_next-intl_outdated.md +1 -1
  21. package/blog/de/is_vue-i18n_outdated.md +1 -1
  22. package/blog/de/lingui_vs_intlayer-lingui.md +304 -0
  23. package/blog/de/lingui_vs_intlayer.md +381 -0
  24. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  25. package/blog/de/next-intl_vs_intlayer-next-intl.md +309 -0
  26. package/blog/de/next-intl_vs_intlayer.md +415 -0
  27. package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  28. package/blog/de/vue-i18n_vs_intlayer_benchmark.md +355 -0
  29. package/blog/en/history_of_i18n.md +304 -0
  30. package/blog/en/i18next_vs_intlayer-i18next.md +327 -0
  31. package/blog/en/i18next_vs_intlayer.md +445 -0
  32. package/blog/en/is_i18next_outdated.md +1 -1
  33. package/blog/en/is_next-intl_outdated.md +1 -1
  34. package/blog/en/is_vue-i18n_outdated.md +1 -1
  35. package/blog/en/lingui_vs_intlayer-lingui.md +304 -0
  36. package/blog/en/lingui_vs_intlayer.md +381 -0
  37. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  38. package/blog/en/next-intl_vs_intlayer-next-intl.md +309 -0
  39. package/blog/en/next-intl_vs_intlayer.md +415 -0
  40. package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  41. package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  42. package/blog/en/vue-i18n_vs_intlayer.md +1 -1
  43. package/blog/en/vue-i18n_vs_intlayer_benchmark.md +361 -0
  44. package/blog/en-GB/history_of_i18n.md +304 -0
  45. package/blog/en-GB/i18next_vs_intlayer-i18next.md +327 -0
  46. package/blog/en-GB/i18next_vs_intlayer.md +445 -0
  47. package/blog/en-GB/is_i18next_outdated.md +1 -1
  48. package/blog/en-GB/is_next-intl_outdated.md +1 -1
  49. package/blog/en-GB/is_vue-i18n_outdated.md +1 -1
  50. package/blog/en-GB/lingui_vs_intlayer-lingui.md +304 -0
  51. package/blog/en-GB/lingui_vs_intlayer.md +381 -0
  52. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  53. package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +309 -0
  54. package/blog/en-GB/next-intl_vs_intlayer.md +415 -0
  55. package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  56. package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  57. package/blog/en-GB/vue-i18n_vs_intlayer.md +1 -1
  58. package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +245 -0
  59. package/blog/es/history_of_i18n.md +304 -0
  60. package/blog/es/i18next_vs_intlayer-i18next.md +327 -0
  61. package/blog/es/i18next_vs_intlayer.md +445 -0
  62. package/blog/es/is_i18next_outdated.md +1 -1
  63. package/blog/es/is_next-intl_outdated.md +1 -1
  64. package/blog/es/is_vue-i18n_outdated.md +1 -1
  65. package/blog/es/lingui_vs_intlayer-lingui.md +304 -0
  66. package/blog/es/lingui_vs_intlayer.md +381 -0
  67. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  68. package/blog/es/next-intl_vs_intlayer-next-intl.md +309 -0
  69. package/blog/es/next-intl_vs_intlayer.md +417 -0
  70. package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  71. package/blog/es/vue-i18n_vs_intlayer_benchmark.md +363 -0
  72. package/blog/fr/history_of_i18n.md +304 -0
  73. package/blog/fr/i18next_vs_intlayer-i18next.md +327 -0
  74. package/blog/fr/i18next_vs_intlayer.md +445 -0
  75. package/blog/fr/is_i18next_outdated.md +1 -1
  76. package/blog/fr/is_next-intl_outdated.md +1 -1
  77. package/blog/fr/is_vue-i18n_outdated.md +1 -1
  78. package/blog/fr/lingui_vs_intlayer-lingui.md +304 -0
  79. package/blog/fr/lingui_vs_intlayer.md +381 -0
  80. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  81. package/blog/fr/next-intl_vs_intlayer-next-intl.md +309 -0
  82. package/blog/fr/next-intl_vs_intlayer.md +417 -0
  83. package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +287 -0
  84. package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +39 -0
  85. package/blog/hi/history_of_i18n.md +304 -0
  86. package/blog/hi/i18next_vs_intlayer-i18next.md +327 -0
  87. package/blog/hi/i18next_vs_intlayer.md +445 -0
  88. package/blog/hi/is_i18next_outdated.md +1 -1
  89. package/blog/hi/is_next-intl_outdated.md +1 -1
  90. package/blog/hi/is_vue-i18n_outdated.md +1 -1
  91. package/blog/hi/lingui_vs_intlayer-lingui.md +304 -0
  92. package/blog/hi/lingui_vs_intlayer.md +381 -0
  93. package/blog/hi/next-intl_vs_intlayer-next-intl.md +309 -0
  94. package/blog/hi/next-intl_vs_intlayer.md +397 -0
  95. package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  96. package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  97. package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +0 -0
  98. package/blog/id/history_of_i18n.md +304 -0
  99. package/blog/id/i18next_vs_intlayer-i18next.md +327 -0
  100. package/blog/id/i18next_vs_intlayer.md +445 -0
  101. package/blog/id/is_i18next_outdated.md +1 -1
  102. package/blog/id/is_next-intl_outdated.md +1 -1
  103. package/blog/id/is_vue-i18n_outdated.md +1 -1
  104. package/blog/id/lingui_vs_intlayer-lingui.md +304 -0
  105. package/blog/id/lingui_vs_intlayer.md +381 -0
  106. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  107. package/blog/id/next-intl_vs_intlayer-next-intl.md +310 -0
  108. package/blog/id/next-intl_vs_intlayer.md +397 -0
  109. package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  110. package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +36 -0
  111. package/blog/id/vue-i18n_vs_intlayer.md +1 -1
  112. package/blog/id/vue-i18n_vs_intlayer_benchmark.md +41 -0
  113. package/blog/it/history_of_i18n.md +304 -0
  114. package/blog/it/i18next_vs_intlayer-i18next.md +327 -0
  115. package/blog/it/i18next_vs_intlayer.md +445 -0
  116. package/blog/it/is_i18next_outdated.md +1 -1
  117. package/blog/it/is_next-intl_outdated.md +1 -1
  118. package/blog/it/is_vue-i18n_outdated.md +1 -1
  119. package/blog/it/lingui_vs_intlayer-lingui.md +304 -0
  120. package/blog/it/lingui_vs_intlayer.md +381 -0
  121. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  122. package/blog/it/next-intl_vs_intlayer-next-intl.md +309 -0
  123. package/blog/it/next-intl_vs_intlayer.md +418 -0
  124. package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  125. package/blog/it/vue-i18n_vs_intlayer_benchmark.md +34 -0
  126. package/blog/ja/history_of_i18n.md +304 -0
  127. package/blog/ja/i18next_vs_intlayer-i18next.md +327 -0
  128. package/blog/ja/i18next_vs_intlayer.md +447 -0
  129. package/blog/ja/is_i18next_outdated.md +1 -1
  130. package/blog/ja/is_next-intl_outdated.md +1 -1
  131. package/blog/ja/is_vue-i18n_outdated.md +1 -1
  132. package/blog/ja/lingui_vs_intlayer-lingui.md +304 -0
  133. package/blog/ja/lingui_vs_intlayer.md +381 -0
  134. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  135. package/blog/ja/next-intl_vs_intlayer-next-intl.md +310 -0
  136. package/blog/ja/next-intl_vs_intlayer.md +422 -0
  137. package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  138. package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  139. package/blog/ja/vue-i18n_vs_intlayer.md +1 -1
  140. package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +0 -0
  141. package/blog/ko/history_of_i18n.md +304 -0
  142. package/blog/ko/i18next_vs_intlayer-i18next.md +327 -0
  143. package/blog/ko/i18next_vs_intlayer.md +447 -0
  144. package/blog/ko/is_i18next_outdated.md +1 -1
  145. package/blog/ko/is_next-intl_outdated.md +1 -1
  146. package/blog/ko/is_vue-i18n_outdated.md +1 -1
  147. package/blog/ko/lingui_vs_intlayer-lingui.md +304 -0
  148. package/blog/ko/lingui_vs_intlayer.md +381 -0
  149. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  150. package/blog/ko/next-intl_vs_intlayer-next-intl.md +309 -0
  151. package/blog/ko/next-intl_vs_intlayer.md +397 -0
  152. package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  153. package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  154. package/blog/ko/vue-i18n_vs_intlayer.md +1 -1
  155. package/blog/ko/vue-i18n_vs_intlayer_benchmark.md +366 -0
  156. package/blog/pl/history_of_i18n.md +304 -0
  157. package/blog/pl/i18next_vs_intlayer-i18next.md +327 -0
  158. package/blog/pl/i18next_vs_intlayer.md +445 -0
  159. package/blog/pl/is_i18next_outdated.md +1 -1
  160. package/blog/pl/is_next-intl_outdated.md +1 -1
  161. package/blog/pl/is_vue-i18n_outdated.md +1 -1
  162. package/blog/pl/lingui_vs_intlayer-lingui.md +304 -0
  163. package/blog/pl/lingui_vs_intlayer.md +381 -0
  164. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  165. package/blog/pl/next-intl_vs_intlayer-next-intl.md +309 -0
  166. package/blog/pl/next-intl_vs_intlayer.md +397 -0
  167. package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  168. package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +289 -0
  169. package/blog/pl/vue-i18n_vs_intlayer.md +1 -1
  170. package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +0 -0
  171. package/blog/pt/history_of_i18n.md +304 -0
  172. package/blog/pt/i18next_vs_intlayer-i18next.md +327 -0
  173. package/blog/pt/i18next_vs_intlayer.md +445 -0
  174. package/blog/pt/is_i18next_outdated.md +1 -1
  175. package/blog/pt/is_next-intl_outdated.md +1 -1
  176. package/blog/pt/is_vue-i18n_outdated.md +1 -1
  177. package/blog/pt/lingui_vs_intlayer-lingui.md +304 -0
  178. package/blog/pt/lingui_vs_intlayer.md +381 -0
  179. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  180. package/blog/pt/next-intl_vs_intlayer-next-intl.md +309 -0
  181. package/blog/pt/next-intl_vs_intlayer.md +411 -0
  182. package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  183. package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +0 -0
  184. package/blog/ru/history_of_i18n.md +304 -0
  185. package/blog/ru/i18next_vs_intlayer-i18next.md +327 -0
  186. package/blog/ru/i18next_vs_intlayer.md +445 -0
  187. package/blog/ru/is_i18next_outdated.md +1 -1
  188. package/blog/ru/is_next-intl_outdated.md +1 -1
  189. package/blog/ru/is_vue-i18n_outdated.md +1 -1
  190. package/blog/ru/lingui_vs_intlayer-lingui.md +304 -0
  191. package/blog/ru/lingui_vs_intlayer.md +381 -0
  192. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  193. package/blog/ru/next-intl_vs_intlayer-next-intl.md +309 -0
  194. package/blog/ru/next-intl_vs_intlayer.md +417 -0
  195. package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  196. package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +54 -0
  197. package/blog/tr/history_of_i18n.md +304 -0
  198. package/blog/tr/i18next_vs_intlayer-i18next.md +327 -0
  199. package/blog/tr/i18next_vs_intlayer.md +445 -0
  200. package/blog/tr/is_i18next_outdated.md +1 -1
  201. package/blog/tr/is_next-intl_outdated.md +1 -1
  202. package/blog/tr/is_vue-i18n_outdated.md +1 -1
  203. package/blog/tr/lingui_vs_intlayer-lingui.md +304 -0
  204. package/blog/tr/lingui_vs_intlayer.md +381 -0
  205. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  206. package/blog/tr/next-intl_vs_intlayer-next-intl.md +309 -0
  207. package/blog/tr/next-intl_vs_intlayer.md +397 -0
  208. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  209. package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  210. package/blog/tr/vue-i18n_vs_intlayer.md +1 -1
  211. package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +0 -0
  212. package/blog/uk/history_of_i18n.md +304 -0
  213. package/blog/uk/i18next_vs_intlayer-i18next.md +327 -0
  214. package/blog/uk/i18next_vs_intlayer.md +445 -0
  215. package/blog/uk/is_i18next_outdated.md +1 -1
  216. package/blog/uk/is_next-intl_outdated.md +1 -1
  217. package/blog/uk/is_vue-i18n_outdated.md +1 -1
  218. package/blog/uk/lingui_vs_intlayer-lingui.md +304 -0
  219. package/blog/uk/lingui_vs_intlayer.md +381 -0
  220. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  221. package/blog/uk/next-intl_vs_intlayer-next-intl.md +309 -0
  222. package/blog/uk/next-intl_vs_intlayer.md +397 -0
  223. package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  224. package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +270 -0
  225. package/blog/uk/vue-i18n_vs_intlayer.md +1 -1
  226. package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +0 -0
  227. package/blog/vi/history_of_i18n.md +304 -0
  228. package/blog/vi/i18next_vs_intlayer-i18next.md +327 -0
  229. package/blog/vi/i18next_vs_intlayer.md +445 -0
  230. package/blog/vi/is_i18next_outdated.md +1 -1
  231. package/blog/vi/is_next-intl_outdated.md +1 -1
  232. package/blog/vi/is_vue-i18n_outdated.md +1 -1
  233. package/blog/vi/lingui_vs_intlayer-lingui.md +304 -0
  234. package/blog/vi/lingui_vs_intlayer.md +381 -0
  235. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  236. package/blog/vi/next-intl_vs_intlayer-next-intl.md +309 -0
  237. package/blog/vi/next-intl_vs_intlayer.md +397 -0
  238. package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  239. package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  240. package/blog/vi/vue-i18n_vs_intlayer.md +1 -1
  241. package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +0 -0
  242. package/blog/zh/history_of_i18n.md +304 -0
  243. package/blog/zh/i18next_vs_intlayer-i18next.md +327 -0
  244. package/blog/zh/i18next_vs_intlayer.md +445 -0
  245. package/blog/zh/is_i18next_outdated.md +1 -1
  246. package/blog/zh/is_next-intl_outdated.md +1 -1
  247. package/blog/zh/is_vue-i18n_outdated.md +1 -1
  248. package/blog/zh/lingui_vs_intlayer-lingui.md +304 -0
  249. package/blog/zh/lingui_vs_intlayer.md +381 -0
  250. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  251. package/blog/zh/next-intl_vs_intlayer-next-intl.md +309 -0
  252. package/blog/zh/next-intl_vs_intlayer.md +422 -0
  253. package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  254. package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
  255. package/blog/zh/vue-i18n_vs_intlayer.md +1 -1
  256. package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +30 -0
  257. package/dist/cjs/generated/blog.entry.cjs +180 -0
  258. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  259. package/dist/cjs/generated/docs.entry.cjs +0 -20
  260. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  261. package/dist/cjs/generated/frequentQuestions.entry.cjs +20 -0
  262. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  263. package/dist/esm/generated/blog.entry.mjs +180 -0
  264. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  265. package/dist/esm/generated/docs.entry.mjs +0 -20
  266. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  267. package/dist/esm/generated/frequentQuestions.entry.mjs +20 -0
  268. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  269. package/dist/types/generated/blog.entry.d.ts +9 -0
  270. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  271. package/dist/types/generated/docs.entry.d.ts +0 -1
  272. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  273. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
  274. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  275. package/docs/ar/benchmark/index.md +4 -1
  276. package/docs/ar/benchmark/nextjs.md +33 -28
  277. package/docs/ar/benchmark/solid.md +14 -11
  278. package/docs/ar/benchmark/svelte.md +13 -10
  279. package/docs/ar/benchmark/tanstack.md +30 -25
  280. package/docs/ar/benchmark/vue.md +12 -8
  281. package/docs/ar/cli/build.md +8 -1
  282. package/docs/ar/cli/configuration.md +3 -1
  283. package/docs/ar/cli/doc-review.md +8 -1
  284. package/docs/ar/cli/doc-translate.md +5 -1
  285. package/docs/ar/cli/extract.md +2 -1
  286. package/docs/ar/cli/fill.md +5 -1
  287. package/docs/ar/cli/index.md +4 -5
  288. package/docs/ar/cli/live.md +5 -1
  289. package/docs/ar/cli/login.md +2 -2
  290. package/docs/ar/cli/pull.md +5 -1
  291. package/docs/ar/cli/push.md +5 -1
  292. package/docs/ar/cli/scan.md +5 -1
  293. package/docs/ar/cli/standalone.md +5 -1
  294. package/docs/ar/cli/test.md +5 -1
  295. package/docs/ar/cli/watch.md +5 -1
  296. package/docs/ar/compat/i18n-js.md +1 -1
  297. package/docs/ar/compat/i18next.md +1 -1
  298. package/docs/ar/compat/lingui.md +1 -1
  299. package/docs/ar/compat/next-i18next.md +1 -1
  300. package/docs/ar/compat/next-intl.md +1 -1
  301. package/docs/ar/compat/next-translate.md +1 -1
  302. package/docs/ar/compat/ngx-translate.md +1 -1
  303. package/docs/ar/compat/nuxtjs-i18n.md +1 -1
  304. package/docs/ar/compat/polyglot.md +1 -1
  305. package/docs/ar/compat/react-i18next.md +1 -1
  306. package/docs/ar/compat/react-intl.md +1 -1
  307. package/docs/ar/compat/svelte-i18n.md +1 -1
  308. package/docs/ar/compat/transloco.md +1 -1
  309. package/docs/ar/compat/vue-i18n.md +1 -1
  310. package/docs/ar/interest_of_intlayer.md +1 -1
  311. package/docs/ar/intlayer_with_remix_3.md +543 -0
  312. package/docs/bn/cli/index.md +4 -5
  313. package/docs/bn/cli/scan.md +5 -1
  314. package/docs/bn/cli/standalone.md +5 -1
  315. package/docs/bn/interest_of_intlayer.md +1 -1
  316. package/docs/cs/cli/index.md +4 -5
  317. package/docs/cs/cli/scan.md +5 -1
  318. package/docs/cs/cli/standalone.md +5 -1
  319. package/docs/cs/interest_of_intlayer.md +1 -1
  320. package/docs/de/benchmark/index.md +4 -1
  321. package/docs/de/benchmark/nextjs.md +33 -28
  322. package/docs/de/benchmark/solid.md +14 -11
  323. package/docs/de/benchmark/svelte.md +13 -10
  324. package/docs/de/benchmark/tanstack.md +30 -25
  325. package/docs/de/benchmark/vue.md +12 -8
  326. package/docs/de/cli/build.md +8 -1
  327. package/docs/de/cli/configuration.md +3 -1
  328. package/docs/de/cli/doc-review.md +8 -1
  329. package/docs/de/cli/doc-translate.md +5 -1
  330. package/docs/de/cli/extract.md +2 -1
  331. package/docs/de/cli/fill.md +5 -1
  332. package/docs/de/cli/index.md +4 -5
  333. package/docs/de/cli/live.md +5 -1
  334. package/docs/de/cli/login.md +2 -2
  335. package/docs/de/cli/pull.md +5 -1
  336. package/docs/de/cli/push.md +5 -1
  337. package/docs/de/cli/scan.md +5 -1
  338. package/docs/de/cli/standalone.md +5 -1
  339. package/docs/de/cli/test.md +5 -1
  340. package/docs/de/cli/watch.md +5 -1
  341. package/docs/de/compat/i18n-js.md +1 -1
  342. package/docs/de/compat/i18next.md +1 -1
  343. package/docs/de/compat/lingui.md +1 -1
  344. package/docs/de/compat/next-i18next.md +1 -1
  345. package/docs/de/compat/next-intl.md +1 -1
  346. package/docs/de/compat/next-translate.md +1 -1
  347. package/docs/de/compat/ngx-translate.md +1 -1
  348. package/docs/de/compat/nuxtjs-i18n.md +1 -1
  349. package/docs/de/compat/polyglot.md +1 -1
  350. package/docs/de/compat/react-i18next.md +1 -1
  351. package/docs/de/compat/react-intl.md +1 -1
  352. package/docs/de/compat/svelte-i18n.md +1 -1
  353. package/docs/de/compat/transloco.md +1 -1
  354. package/docs/de/compat/vue-i18n.md +1 -1
  355. package/docs/de/interest_of_intlayer.md +1 -1
  356. package/docs/de/intlayer_with_remix_3.md +543 -0
  357. package/docs/en/benchmark/index.md +4 -1
  358. package/docs/en/benchmark/nextjs.md +33 -28
  359. package/docs/en/benchmark/solid.md +14 -11
  360. package/docs/en/benchmark/svelte.md +13 -10
  361. package/docs/en/benchmark/tanstack.md +31 -26
  362. package/docs/en/benchmark/vue.md +12 -8
  363. package/docs/en/cli/build.md +8 -1
  364. package/docs/en/cli/configuration.md +3 -1
  365. package/docs/en/cli/doc-review.md +8 -1
  366. package/docs/en/cli/doc-translate.md +5 -1
  367. package/docs/en/cli/extract.md +2 -1
  368. package/docs/en/cli/fill.md +5 -1
  369. package/docs/en/cli/index.md +4 -5
  370. package/docs/en/cli/live.md +5 -1
  371. package/docs/en/cli/login.md +2 -2
  372. package/docs/en/cli/pull.md +5 -1
  373. package/docs/en/cli/push.md +5 -1
  374. package/docs/en/cli/scan.md +5 -1
  375. package/docs/en/cli/standalone.md +5 -1
  376. package/docs/en/cli/test.md +5 -1
  377. package/docs/en/cli/watch.md +5 -1
  378. package/docs/en/compat/i18n-js.md +1 -1
  379. package/docs/en/compat/i18next.md +1 -1
  380. package/docs/en/compat/lingui.md +1 -1
  381. package/docs/en/compat/next-i18next.md +1 -1
  382. package/docs/en/compat/next-intl.md +1 -1
  383. package/docs/en/compat/next-translate.md +1 -1
  384. package/docs/en/compat/ngx-translate.md +1 -1
  385. package/docs/en/compat/nuxtjs-i18n.md +1 -1
  386. package/docs/en/compat/polyglot.md +1 -1
  387. package/docs/en/compat/react-i18next.md +1 -1
  388. package/docs/en/compat/react-intl.md +1 -1
  389. package/docs/en/compat/svelte-i18n.md +1 -1
  390. package/docs/en/compat/transloco.md +1 -1
  391. package/docs/en/compat/vue-i18n.md +1 -1
  392. package/docs/en/interest_of_intlayer.md +1 -1
  393. package/docs/en/intlayer_with_remix_3.md +103 -71
  394. package/docs/en-GB/benchmark/index.md +4 -1
  395. package/docs/en-GB/benchmark/nextjs.md +33 -28
  396. package/docs/en-GB/benchmark/solid.md +14 -11
  397. package/docs/en-GB/benchmark/svelte.md +13 -10
  398. package/docs/en-GB/benchmark/tanstack.md +30 -25
  399. package/docs/en-GB/benchmark/vue.md +12 -8
  400. package/docs/en-GB/cli/build.md +8 -1
  401. package/docs/en-GB/cli/configuration.md +3 -1
  402. package/docs/en-GB/cli/doc-review.md +8 -1
  403. package/docs/en-GB/cli/doc-translate.md +5 -1
  404. package/docs/en-GB/cli/extract.md +2 -1
  405. package/docs/en-GB/cli/fill.md +5 -1
  406. package/docs/en-GB/cli/index.md +4 -5
  407. package/docs/en-GB/cli/live.md +5 -1
  408. package/docs/en-GB/cli/login.md +2 -2
  409. package/docs/en-GB/cli/pull.md +5 -1
  410. package/docs/en-GB/cli/push.md +5 -1
  411. package/docs/en-GB/cli/scan.md +5 -1
  412. package/docs/en-GB/cli/standalone.md +5 -1
  413. package/docs/en-GB/cli/test.md +5 -1
  414. package/docs/en-GB/cli/watch.md +5 -1
  415. package/docs/en-GB/compat/i18n-js.md +1 -1
  416. package/docs/en-GB/compat/i18next.md +1 -1
  417. package/docs/en-GB/compat/lingui.md +1 -1
  418. package/docs/en-GB/compat/next-i18next.md +1 -1
  419. package/docs/en-GB/compat/next-intl.md +1 -1
  420. package/docs/en-GB/compat/next-translate.md +1 -1
  421. package/docs/en-GB/compat/ngx-translate.md +1 -1
  422. package/docs/en-GB/compat/nuxtjs-i18n.md +1 -1
  423. package/docs/en-GB/compat/polyglot.md +1 -1
  424. package/docs/en-GB/compat/react-i18next.md +1 -1
  425. package/docs/en-GB/compat/react-intl.md +1 -1
  426. package/docs/en-GB/compat/svelte-i18n.md +1 -1
  427. package/docs/en-GB/compat/transloco.md +1 -1
  428. package/docs/en-GB/compat/vue-i18n.md +1 -1
  429. package/docs/en-GB/interest_of_intlayer.md +1 -1
  430. package/docs/en-GB/intlayer_with_remix_3.md +558 -0
  431. package/docs/es/benchmark/index.md +4 -1
  432. package/docs/es/benchmark/nextjs.md +33 -28
  433. package/docs/es/benchmark/solid.md +14 -11
  434. package/docs/es/benchmark/svelte.md +13 -10
  435. package/docs/es/benchmark/tanstack.md +30 -25
  436. package/docs/es/benchmark/vue.md +12 -8
  437. package/docs/es/cli/build.md +8 -1
  438. package/docs/es/cli/configuration.md +3 -1
  439. package/docs/es/cli/doc-review.md +8 -1
  440. package/docs/es/cli/doc-translate.md +5 -1
  441. package/docs/es/cli/extract.md +2 -1
  442. package/docs/es/cli/fill.md +5 -1
  443. package/docs/es/cli/index.md +4 -5
  444. package/docs/es/cli/live.md +5 -1
  445. package/docs/es/cli/login.md +2 -2
  446. package/docs/es/cli/pull.md +5 -1
  447. package/docs/es/cli/push.md +5 -1
  448. package/docs/es/cli/scan.md +5 -1
  449. package/docs/es/cli/standalone.md +5 -1
  450. package/docs/es/cli/test.md +5 -1
  451. package/docs/es/cli/watch.md +5 -1
  452. package/docs/es/compat/i18n-js.md +1 -1
  453. package/docs/es/compat/i18next.md +1 -1
  454. package/docs/es/compat/lingui.md +1 -1
  455. package/docs/es/compat/next-i18next.md +1 -1
  456. package/docs/es/compat/next-intl.md +1 -1
  457. package/docs/es/compat/next-translate.md +1 -1
  458. package/docs/es/compat/ngx-translate.md +1 -1
  459. package/docs/es/compat/nuxtjs-i18n.md +1 -1
  460. package/docs/es/compat/polyglot.md +1 -1
  461. package/docs/es/compat/react-i18next.md +1 -1
  462. package/docs/es/compat/react-intl.md +1 -1
  463. package/docs/es/compat/svelte-i18n.md +1 -1
  464. package/docs/es/compat/transloco.md +1 -1
  465. package/docs/es/compat/vue-i18n.md +1 -1
  466. package/docs/es/interest_of_intlayer.md +1 -1
  467. package/docs/es/intlayer_with_remix_3.md +540 -0
  468. package/docs/fr/benchmark/index.md +4 -1
  469. package/docs/fr/benchmark/nextjs.md +33 -28
  470. package/docs/fr/benchmark/solid.md +14 -11
  471. package/docs/fr/benchmark/svelte.md +13 -10
  472. package/docs/fr/benchmark/tanstack.md +30 -25
  473. package/docs/fr/benchmark/vue.md +12 -8
  474. package/docs/fr/cli/build.md +8 -1
  475. package/docs/fr/cli/configuration.md +3 -1
  476. package/docs/fr/cli/doc-review.md +8 -1
  477. package/docs/fr/cli/doc-translate.md +5 -1
  478. package/docs/fr/cli/extract.md +2 -1
  479. package/docs/fr/cli/fill.md +5 -1
  480. package/docs/fr/cli/index.md +4 -5
  481. package/docs/fr/cli/live.md +5 -1
  482. package/docs/fr/cli/login.md +2 -2
  483. package/docs/fr/cli/pull.md +5 -1
  484. package/docs/fr/cli/push.md +5 -1
  485. package/docs/fr/cli/scan.md +5 -1
  486. package/docs/fr/cli/standalone.md +5 -1
  487. package/docs/fr/cli/test.md +5 -1
  488. package/docs/fr/cli/watch.md +5 -1
  489. package/docs/fr/compat/i18n-js.md +1 -1
  490. package/docs/fr/compat/i18next.md +1 -1
  491. package/docs/fr/compat/lingui.md +1 -1
  492. package/docs/fr/compat/next-i18next.md +1 -1
  493. package/docs/fr/compat/next-intl.md +1 -1
  494. package/docs/fr/compat/next-translate.md +1 -1
  495. package/docs/fr/compat/ngx-translate.md +1 -1
  496. package/docs/fr/compat/nuxtjs-i18n.md +1 -1
  497. package/docs/fr/compat/polyglot.md +1 -1
  498. package/docs/fr/compat/react-i18next.md +1 -1
  499. package/docs/fr/compat/react-intl.md +1 -1
  500. package/docs/fr/compat/svelte-i18n.md +1 -1
  501. package/docs/fr/compat/transloco.md +1 -1
  502. package/docs/fr/compat/vue-i18n.md +1 -1
  503. package/docs/fr/interest_of_intlayer.md +1 -1
  504. package/docs/fr/intlayer_with_remix_3.md +540 -0
  505. package/docs/hi/benchmark/index.md +4 -1
  506. package/docs/hi/benchmark/nextjs.md +33 -28
  507. package/docs/hi/benchmark/solid.md +14 -11
  508. package/docs/hi/benchmark/svelte.md +13 -10
  509. package/docs/hi/benchmark/tanstack.md +30 -25
  510. package/docs/hi/benchmark/vue.md +12 -8
  511. package/docs/hi/cli/build.md +8 -1
  512. package/docs/hi/cli/configuration.md +3 -1
  513. package/docs/hi/cli/doc-review.md +8 -1
  514. package/docs/hi/cli/doc-translate.md +5 -1
  515. package/docs/hi/cli/extract.md +2 -1
  516. package/docs/hi/cli/fill.md +5 -1
  517. package/docs/hi/cli/index.md +4 -5
  518. package/docs/hi/cli/live.md +5 -1
  519. package/docs/hi/cli/login.md +2 -2
  520. package/docs/hi/cli/pull.md +5 -1
  521. package/docs/hi/cli/push.md +5 -1
  522. package/docs/hi/cli/scan.md +5 -1
  523. package/docs/hi/cli/standalone.md +5 -1
  524. package/docs/hi/cli/test.md +5 -1
  525. package/docs/hi/cli/watch.md +5 -1
  526. package/docs/hi/compat/i18n-js.md +1 -1
  527. package/docs/hi/compat/i18next.md +1 -1
  528. package/docs/hi/compat/lingui.md +1 -1
  529. package/docs/hi/compat/next-i18next.md +1 -1
  530. package/docs/hi/compat/next-intl.md +1 -1
  531. package/docs/hi/compat/next-translate.md +1 -1
  532. package/docs/hi/compat/ngx-translate.md +1 -1
  533. package/docs/hi/compat/nuxtjs-i18n.md +1 -1
  534. package/docs/hi/compat/polyglot.md +1 -1
  535. package/docs/hi/compat/react-i18next.md +1 -1
  536. package/docs/hi/compat/react-intl.md +1 -1
  537. package/docs/hi/compat/svelte-i18n.md +1 -1
  538. package/docs/hi/compat/transloco.md +1 -1
  539. package/docs/hi/compat/vue-i18n.md +1 -1
  540. package/docs/hi/interest_of_intlayer.md +1 -1
  541. package/docs/hi/intlayer_with_remix_3.md +543 -0
  542. package/docs/id/benchmark/index.md +4 -1
  543. package/docs/id/benchmark/nextjs.md +33 -28
  544. package/docs/id/benchmark/solid.md +14 -11
  545. package/docs/id/benchmark/svelte.md +13 -10
  546. package/docs/id/benchmark/tanstack.md +30 -25
  547. package/docs/id/benchmark/vue.md +12 -8
  548. package/docs/id/cli/build.md +8 -1
  549. package/docs/id/cli/configuration.md +3 -1
  550. package/docs/id/cli/doc-review.md +8 -1
  551. package/docs/id/cli/doc-translate.md +5 -1
  552. package/docs/id/cli/extract.md +2 -1
  553. package/docs/id/cli/fill.md +5 -1
  554. package/docs/id/cli/index.md +4 -5
  555. package/docs/id/cli/live.md +5 -1
  556. package/docs/id/cli/login.md +2 -2
  557. package/docs/id/cli/pull.md +5 -1
  558. package/docs/id/cli/push.md +5 -1
  559. package/docs/id/cli/scan.md +5 -1
  560. package/docs/id/cli/standalone.md +5 -1
  561. package/docs/id/cli/test.md +5 -1
  562. package/docs/id/cli/watch.md +5 -1
  563. package/docs/id/compat/i18n-js.md +1 -1
  564. package/docs/id/compat/i18next.md +1 -1
  565. package/docs/id/compat/lingui.md +1 -1
  566. package/docs/id/compat/next-i18next.md +1 -1
  567. package/docs/id/compat/next-intl.md +1 -1
  568. package/docs/id/compat/next-translate.md +1 -1
  569. package/docs/id/compat/ngx-translate.md +1 -1
  570. package/docs/id/compat/nuxtjs-i18n.md +1 -1
  571. package/docs/id/compat/polyglot.md +1 -1
  572. package/docs/id/compat/react-i18next.md +1 -1
  573. package/docs/id/compat/react-intl.md +1 -1
  574. package/docs/id/compat/svelte-i18n.md +1 -1
  575. package/docs/id/compat/transloco.md +1 -1
  576. package/docs/id/compat/vue-i18n.md +1 -1
  577. package/docs/id/interest_of_intlayer.md +1 -1
  578. package/docs/id/intlayer_with_remix_3.md +566 -0
  579. package/docs/it/benchmark/index.md +4 -1
  580. package/docs/it/benchmark/nextjs.md +33 -28
  581. package/docs/it/benchmark/solid.md +14 -11
  582. package/docs/it/benchmark/svelte.md +13 -10
  583. package/docs/it/benchmark/tanstack.md +30 -25
  584. package/docs/it/benchmark/vue.md +12 -8
  585. package/docs/it/cli/build.md +8 -1
  586. package/docs/it/cli/configuration.md +3 -1
  587. package/docs/it/cli/doc-review.md +8 -1
  588. package/docs/it/cli/doc-translate.md +5 -1
  589. package/docs/it/cli/extract.md +2 -1
  590. package/docs/it/cli/fill.md +5 -1
  591. package/docs/it/cli/index.md +4 -5
  592. package/docs/it/cli/live.md +5 -1
  593. package/docs/it/cli/login.md +2 -2
  594. package/docs/it/cli/pull.md +5 -1
  595. package/docs/it/cli/push.md +5 -1
  596. package/docs/it/cli/scan.md +5 -1
  597. package/docs/it/cli/standalone.md +5 -1
  598. package/docs/it/cli/test.md +5 -1
  599. package/docs/it/cli/watch.md +5 -1
  600. package/docs/it/compat/i18n-js.md +1 -1
  601. package/docs/it/compat/i18next.md +1 -1
  602. package/docs/it/compat/lingui.md +1 -1
  603. package/docs/it/compat/next-i18next.md +1 -1
  604. package/docs/it/compat/next-intl.md +1 -1
  605. package/docs/it/compat/next-translate.md +1 -1
  606. package/docs/it/compat/ngx-translate.md +1 -1
  607. package/docs/it/compat/nuxtjs-i18n.md +1 -1
  608. package/docs/it/compat/polyglot.md +1 -1
  609. package/docs/it/compat/react-i18next.md +1 -1
  610. package/docs/it/compat/react-intl.md +1 -1
  611. package/docs/it/compat/svelte-i18n.md +1 -1
  612. package/docs/it/compat/transloco.md +1 -1
  613. package/docs/it/compat/vue-i18n.md +1 -1
  614. package/docs/it/interest_of_intlayer.md +1 -1
  615. package/docs/it/intlayer_with_remix_3.md +558 -0
  616. package/docs/ja/benchmark/index.md +4 -1
  617. package/docs/ja/benchmark/nextjs.md +33 -28
  618. package/docs/ja/benchmark/solid.md +14 -11
  619. package/docs/ja/benchmark/svelte.md +13 -10
  620. package/docs/ja/benchmark/tanstack.md +30 -25
  621. package/docs/ja/benchmark/vue.md +12 -8
  622. package/docs/ja/cli/build.md +8 -1
  623. package/docs/ja/cli/configuration.md +3 -1
  624. package/docs/ja/cli/doc-review.md +8 -1
  625. package/docs/ja/cli/doc-translate.md +5 -1
  626. package/docs/ja/cli/extract.md +2 -1
  627. package/docs/ja/cli/fill.md +5 -1
  628. package/docs/ja/cli/index.md +4 -5
  629. package/docs/ja/cli/live.md +5 -1
  630. package/docs/ja/cli/login.md +2 -2
  631. package/docs/ja/cli/pull.md +5 -1
  632. package/docs/ja/cli/push.md +5 -1
  633. package/docs/ja/cli/scan.md +5 -1
  634. package/docs/ja/cli/standalone.md +5 -1
  635. package/docs/ja/cli/test.md +5 -1
  636. package/docs/ja/cli/watch.md +5 -1
  637. package/docs/ja/compat/i18n-js.md +1 -1
  638. package/docs/ja/compat/i18next.md +1 -1
  639. package/docs/ja/compat/lingui.md +1 -1
  640. package/docs/ja/compat/next-i18next.md +1 -1
  641. package/docs/ja/compat/next-intl.md +1 -1
  642. package/docs/ja/compat/next-translate.md +1 -1
  643. package/docs/ja/compat/ngx-translate.md +1 -1
  644. package/docs/ja/compat/nuxtjs-i18n.md +1 -1
  645. package/docs/ja/compat/polyglot.md +1 -1
  646. package/docs/ja/compat/react-i18next.md +1 -1
  647. package/docs/ja/compat/react-intl.md +1 -1
  648. package/docs/ja/compat/svelte-i18n.md +1 -1
  649. package/docs/ja/compat/transloco.md +1 -1
  650. package/docs/ja/compat/vue-i18n.md +1 -1
  651. package/docs/ja/interest_of_intlayer.md +1 -1
  652. package/docs/ja/intlayer_with_remix_3.md +558 -0
  653. package/docs/ko/benchmark/index.md +4 -1
  654. package/docs/ko/benchmark/nextjs.md +33 -28
  655. package/docs/ko/benchmark/solid.md +14 -11
  656. package/docs/ko/benchmark/svelte.md +13 -10
  657. package/docs/ko/benchmark/tanstack.md +30 -25
  658. package/docs/ko/benchmark/vue.md +12 -8
  659. package/docs/ko/cli/build.md +8 -1
  660. package/docs/ko/cli/configuration.md +3 -1
  661. package/docs/ko/cli/doc-review.md +8 -1
  662. package/docs/ko/cli/doc-translate.md +5 -1
  663. package/docs/ko/cli/extract.md +2 -1
  664. package/docs/ko/cli/fill.md +5 -1
  665. package/docs/ko/cli/index.md +4 -5
  666. package/docs/ko/cli/live.md +5 -1
  667. package/docs/ko/cli/login.md +2 -2
  668. package/docs/ko/cli/pull.md +5 -1
  669. package/docs/ko/cli/push.md +5 -1
  670. package/docs/ko/cli/scan.md +5 -1
  671. package/docs/ko/cli/standalone.md +5 -1
  672. package/docs/ko/cli/test.md +5 -1
  673. package/docs/ko/cli/watch.md +5 -1
  674. package/docs/ko/compat/i18n-js.md +1 -1
  675. package/docs/ko/compat/i18next.md +1 -1
  676. package/docs/ko/compat/lingui.md +1 -1
  677. package/docs/ko/compat/next-i18next.md +1 -1
  678. package/docs/ko/compat/next-intl.md +1 -1
  679. package/docs/ko/compat/next-translate.md +1 -1
  680. package/docs/ko/compat/ngx-translate.md +1 -1
  681. package/docs/ko/compat/nuxtjs-i18n.md +1 -1
  682. package/docs/ko/compat/polyglot.md +1 -1
  683. package/docs/ko/compat/react-i18next.md +1 -1
  684. package/docs/ko/compat/react-intl.md +1 -1
  685. package/docs/ko/compat/svelte-i18n.md +1 -1
  686. package/docs/ko/compat/transloco.md +1 -1
  687. package/docs/ko/compat/vue-i18n.md +1 -1
  688. package/docs/ko/interest_of_intlayer.md +1 -1
  689. package/docs/ko/intlayer_with_remix_3.md +543 -0
  690. package/docs/nl/cli/index.md +4 -5
  691. package/docs/nl/cli/scan.md +5 -1
  692. package/docs/nl/cli/standalone.md +5 -1
  693. package/docs/nl/interest_of_intlayer.md +1 -1
  694. package/docs/pl/benchmark/index.md +4 -1
  695. package/docs/pl/benchmark/nextjs.md +33 -28
  696. package/docs/pl/benchmark/solid.md +14 -11
  697. package/docs/pl/benchmark/svelte.md +13 -10
  698. package/docs/pl/benchmark/tanstack.md +30 -25
  699. package/docs/pl/benchmark/vue.md +12 -8
  700. package/docs/pl/cli/build.md +8 -1
  701. package/docs/pl/cli/configuration.md +3 -1
  702. package/docs/pl/cli/doc-review.md +8 -1
  703. package/docs/pl/cli/doc-translate.md +5 -1
  704. package/docs/pl/cli/extract.md +2 -1
  705. package/docs/pl/cli/fill.md +5 -1
  706. package/docs/pl/cli/index.md +4 -5
  707. package/docs/pl/cli/live.md +5 -1
  708. package/docs/pl/cli/login.md +2 -2
  709. package/docs/pl/cli/pull.md +5 -1
  710. package/docs/pl/cli/push.md +5 -1
  711. package/docs/pl/cli/scan.md +5 -1
  712. package/docs/pl/cli/standalone.md +5 -1
  713. package/docs/pl/cli/test.md +5 -1
  714. package/docs/pl/cli/watch.md +5 -1
  715. package/docs/pl/compat/i18n-js.md +1 -1
  716. package/docs/pl/compat/i18next.md +1 -1
  717. package/docs/pl/compat/lingui.md +1 -1
  718. package/docs/pl/compat/next-i18next.md +1 -1
  719. package/docs/pl/compat/next-intl.md +1 -1
  720. package/docs/pl/compat/next-translate.md +1 -1
  721. package/docs/pl/compat/ngx-translate.md +1 -1
  722. package/docs/pl/compat/nuxtjs-i18n.md +1 -1
  723. package/docs/pl/compat/polyglot.md +1 -1
  724. package/docs/pl/compat/react-i18next.md +1 -1
  725. package/docs/pl/compat/react-intl.md +1 -1
  726. package/docs/pl/compat/svelte-i18n.md +1 -1
  727. package/docs/pl/compat/transloco.md +1 -1
  728. package/docs/pl/compat/vue-i18n.md +1 -1
  729. package/docs/pl/interest_of_intlayer.md +1 -1
  730. package/docs/pl/intlayer_with_remix_3.md +551 -0
  731. package/docs/pt/benchmark/index.md +4 -1
  732. package/docs/pt/benchmark/nextjs.md +33 -28
  733. package/docs/pt/benchmark/solid.md +14 -11
  734. package/docs/pt/benchmark/svelte.md +13 -10
  735. package/docs/pt/benchmark/tanstack.md +30 -25
  736. package/docs/pt/benchmark/vue.md +12 -8
  737. package/docs/pt/cli/build.md +8 -1
  738. package/docs/pt/cli/configuration.md +3 -1
  739. package/docs/pt/cli/doc-review.md +8 -1
  740. package/docs/pt/cli/doc-translate.md +5 -1
  741. package/docs/pt/cli/extract.md +2 -1
  742. package/docs/pt/cli/fill.md +5 -1
  743. package/docs/pt/cli/index.md +4 -5
  744. package/docs/pt/cli/live.md +5 -1
  745. package/docs/pt/cli/login.md +2 -2
  746. package/docs/pt/cli/pull.md +5 -1
  747. package/docs/pt/cli/push.md +5 -1
  748. package/docs/pt/cli/scan.md +5 -1
  749. package/docs/pt/cli/standalone.md +5 -1
  750. package/docs/pt/cli/test.md +5 -1
  751. package/docs/pt/cli/watch.md +5 -1
  752. package/docs/pt/compat/i18n-js.md +1 -1
  753. package/docs/pt/compat/i18next.md +1 -1
  754. package/docs/pt/compat/lingui.md +1 -1
  755. package/docs/pt/compat/next-i18next.md +1 -1
  756. package/docs/pt/compat/next-intl.md +1 -1
  757. package/docs/pt/compat/next-translate.md +1 -1
  758. package/docs/pt/compat/ngx-translate.md +1 -1
  759. package/docs/pt/compat/nuxtjs-i18n.md +1 -1
  760. package/docs/pt/compat/polyglot.md +1 -1
  761. package/docs/pt/compat/react-i18next.md +1 -1
  762. package/docs/pt/compat/react-intl.md +1 -1
  763. package/docs/pt/compat/svelte-i18n.md +1 -1
  764. package/docs/pt/compat/transloco.md +1 -1
  765. package/docs/pt/compat/vue-i18n.md +1 -1
  766. package/docs/pt/interest_of_intlayer.md +1 -1
  767. package/docs/pt/intlayer_with_remix_3.md +558 -0
  768. package/docs/ru/benchmark/index.md +4 -1
  769. package/docs/ru/benchmark/nextjs.md +33 -28
  770. package/docs/ru/benchmark/solid.md +14 -11
  771. package/docs/ru/benchmark/svelte.md +13 -10
  772. package/docs/ru/benchmark/tanstack.md +30 -25
  773. package/docs/ru/benchmark/vue.md +12 -8
  774. package/docs/ru/cli/build.md +8 -1
  775. package/docs/ru/cli/configuration.md +3 -1
  776. package/docs/ru/cli/doc-review.md +8 -1
  777. package/docs/ru/cli/doc-translate.md +5 -1
  778. package/docs/ru/cli/extract.md +2 -1
  779. package/docs/ru/cli/fill.md +5 -1
  780. package/docs/ru/cli/index.md +4 -5
  781. package/docs/ru/cli/live.md +5 -1
  782. package/docs/ru/cli/login.md +2 -2
  783. package/docs/ru/cli/pull.md +5 -1
  784. package/docs/ru/cli/push.md +5 -1
  785. package/docs/ru/cli/scan.md +5 -1
  786. package/docs/ru/cli/standalone.md +5 -1
  787. package/docs/ru/cli/test.md +5 -1
  788. package/docs/ru/cli/watch.md +5 -1
  789. package/docs/ru/compat/i18n-js.md +1 -1
  790. package/docs/ru/compat/i18next.md +1 -1
  791. package/docs/ru/compat/lingui.md +1 -1
  792. package/docs/ru/compat/next-i18next.md +1 -1
  793. package/docs/ru/compat/next-intl.md +1 -1
  794. package/docs/ru/compat/next-translate.md +1 -1
  795. package/docs/ru/compat/ngx-translate.md +1 -1
  796. package/docs/ru/compat/nuxtjs-i18n.md +1 -1
  797. package/docs/ru/compat/polyglot.md +1 -1
  798. package/docs/ru/compat/react-i18next.md +1 -1
  799. package/docs/ru/compat/react-intl.md +1 -1
  800. package/docs/ru/compat/svelte-i18n.md +1 -1
  801. package/docs/ru/compat/transloco.md +1 -1
  802. package/docs/ru/compat/vue-i18n.md +1 -1
  803. package/docs/ru/interest_of_intlayer.md +1 -1
  804. package/docs/ru/intlayer_with_remix_3.md +558 -0
  805. package/docs/tr/benchmark/index.md +4 -1
  806. package/docs/tr/benchmark/nextjs.md +33 -28
  807. package/docs/tr/benchmark/solid.md +14 -11
  808. package/docs/tr/benchmark/svelte.md +13 -10
  809. package/docs/tr/benchmark/tanstack.md +30 -25
  810. package/docs/tr/benchmark/vue.md +12 -8
  811. package/docs/tr/cli/build.md +8 -1
  812. package/docs/tr/cli/configuration.md +3 -1
  813. package/docs/tr/cli/doc-review.md +8 -1
  814. package/docs/tr/cli/doc-translate.md +5 -1
  815. package/docs/tr/cli/extract.md +2 -1
  816. package/docs/tr/cli/fill.md +5 -1
  817. package/docs/tr/cli/index.md +4 -5
  818. package/docs/tr/cli/live.md +5 -1
  819. package/docs/tr/cli/login.md +2 -2
  820. package/docs/tr/cli/pull.md +5 -1
  821. package/docs/tr/cli/push.md +5 -1
  822. package/docs/tr/cli/scan.md +5 -1
  823. package/docs/tr/cli/standalone.md +5 -1
  824. package/docs/tr/cli/test.md +5 -1
  825. package/docs/tr/cli/watch.md +5 -1
  826. package/docs/tr/compat/i18n-js.md +1 -1
  827. package/docs/tr/compat/i18next.md +1 -1
  828. package/docs/tr/compat/lingui.md +1 -1
  829. package/docs/tr/compat/next-i18next.md +1 -1
  830. package/docs/tr/compat/next-intl.md +1 -1
  831. package/docs/tr/compat/next-translate.md +1 -1
  832. package/docs/tr/compat/ngx-translate.md +1 -1
  833. package/docs/tr/compat/nuxtjs-i18n.md +1 -1
  834. package/docs/tr/compat/polyglot.md +1 -1
  835. package/docs/tr/compat/react-i18next.md +1 -1
  836. package/docs/tr/compat/react-intl.md +1 -1
  837. package/docs/tr/compat/svelte-i18n.md +1 -1
  838. package/docs/tr/compat/transloco.md +1 -1
  839. package/docs/tr/compat/vue-i18n.md +1 -1
  840. package/docs/tr/interest_of_intlayer.md +1 -1
  841. package/docs/tr/intlayer_with_remix_3.md +566 -0
  842. package/docs/uk/benchmark/index.md +4 -1
  843. package/docs/uk/benchmark/nextjs.md +33 -28
  844. package/docs/uk/benchmark/solid.md +14 -11
  845. package/docs/uk/benchmark/svelte.md +13 -10
  846. package/docs/uk/benchmark/tanstack.md +30 -25
  847. package/docs/uk/benchmark/vue.md +12 -8
  848. package/docs/uk/cli/build.md +8 -1
  849. package/docs/uk/cli/configuration.md +3 -1
  850. package/docs/uk/cli/doc-review.md +8 -1
  851. package/docs/uk/cli/doc-translate.md +5 -1
  852. package/docs/uk/cli/extract.md +2 -1
  853. package/docs/uk/cli/fill.md +5 -1
  854. package/docs/uk/cli/index.md +4 -5
  855. package/docs/uk/cli/live.md +5 -1
  856. package/docs/uk/cli/login.md +2 -2
  857. package/docs/uk/cli/pull.md +5 -1
  858. package/docs/uk/cli/push.md +5 -1
  859. package/docs/uk/cli/scan.md +5 -1
  860. package/docs/uk/cli/standalone.md +5 -1
  861. package/docs/uk/cli/test.md +5 -1
  862. package/docs/uk/cli/watch.md +5 -1
  863. package/docs/uk/compat/i18n-js.md +1 -1
  864. package/docs/uk/compat/i18next.md +1 -1
  865. package/docs/uk/compat/lingui.md +1 -1
  866. package/docs/uk/compat/next-i18next.md +1 -1
  867. package/docs/uk/compat/next-intl.md +1 -1
  868. package/docs/uk/compat/next-translate.md +1 -1
  869. package/docs/uk/compat/ngx-translate.md +1 -1
  870. package/docs/uk/compat/nuxtjs-i18n.md +1 -1
  871. package/docs/uk/compat/polyglot.md +1 -1
  872. package/docs/uk/compat/react-i18next.md +1 -1
  873. package/docs/uk/compat/react-intl.md +1 -1
  874. package/docs/uk/compat/svelte-i18n.md +1 -1
  875. package/docs/uk/compat/transloco.md +1 -1
  876. package/docs/uk/compat/vue-i18n.md +1 -1
  877. package/docs/uk/interest_of_intlayer.md +1 -1
  878. package/docs/uk/intlayer_with_remix_3.md +566 -0
  879. package/docs/ur/cli/index.md +4 -5
  880. package/docs/ur/cli/scan.md +5 -1
  881. package/docs/ur/cli/standalone.md +5 -1
  882. package/docs/ur/interest_of_intlayer.md +1 -1
  883. package/docs/vi/benchmark/index.md +4 -1
  884. package/docs/vi/benchmark/nextjs.md +33 -28
  885. package/docs/vi/benchmark/solid.md +14 -11
  886. package/docs/vi/benchmark/svelte.md +13 -10
  887. package/docs/vi/benchmark/tanstack.md +30 -25
  888. package/docs/vi/benchmark/vue.md +12 -8
  889. package/docs/vi/cli/build.md +8 -1
  890. package/docs/vi/cli/configuration.md +3 -1
  891. package/docs/vi/cli/doc-review.md +8 -1
  892. package/docs/vi/cli/doc-translate.md +5 -1
  893. package/docs/vi/cli/extract.md +2 -1
  894. package/docs/vi/cli/fill.md +5 -1
  895. package/docs/vi/cli/index.md +4 -5
  896. package/docs/vi/cli/live.md +5 -1
  897. package/docs/vi/cli/login.md +2 -2
  898. package/docs/vi/cli/pull.md +5 -1
  899. package/docs/vi/cli/push.md +5 -1
  900. package/docs/vi/cli/scan.md +5 -1
  901. package/docs/vi/cli/standalone.md +5 -1
  902. package/docs/vi/cli/test.md +5 -1
  903. package/docs/vi/cli/watch.md +5 -1
  904. package/docs/vi/compat/i18n-js.md +1 -1
  905. package/docs/vi/compat/i18next.md +1 -1
  906. package/docs/vi/compat/lingui.md +1 -1
  907. package/docs/vi/compat/next-i18next.md +1 -1
  908. package/docs/vi/compat/next-intl.md +1 -1
  909. package/docs/vi/compat/next-translate.md +1 -1
  910. package/docs/vi/compat/ngx-translate.md +1 -1
  911. package/docs/vi/compat/nuxtjs-i18n.md +1 -1
  912. package/docs/vi/compat/polyglot.md +1 -1
  913. package/docs/vi/compat/react-i18next.md +1 -1
  914. package/docs/vi/compat/react-intl.md +1 -1
  915. package/docs/vi/compat/svelte-i18n.md +1 -1
  916. package/docs/vi/compat/transloco.md +1 -1
  917. package/docs/vi/compat/vue-i18n.md +1 -1
  918. package/docs/vi/interest_of_intlayer.md +1 -1
  919. package/docs/vi/intlayer_with_remix_3.md +566 -0
  920. package/docs/zh/benchmark/index.md +4 -1
  921. package/docs/zh/benchmark/nextjs.md +33 -28
  922. package/docs/zh/benchmark/solid.md +14 -11
  923. package/docs/zh/benchmark/svelte.md +13 -10
  924. package/docs/zh/benchmark/tanstack.md +30 -25
  925. package/docs/zh/benchmark/vue.md +12 -8
  926. package/docs/zh/cli/build.md +8 -1
  927. package/docs/zh/cli/configuration.md +3 -1
  928. package/docs/zh/cli/doc-review.md +8 -1
  929. package/docs/zh/cli/doc-translate.md +5 -1
  930. package/docs/zh/cli/extract.md +2 -1
  931. package/docs/zh/cli/fill.md +5 -1
  932. package/docs/zh/cli/index.md +4 -5
  933. package/docs/zh/cli/live.md +5 -1
  934. package/docs/zh/cli/login.md +2 -2
  935. package/docs/zh/cli/pull.md +5 -1
  936. package/docs/zh/cli/push.md +5 -1
  937. package/docs/zh/cli/scan.md +5 -1
  938. package/docs/zh/cli/standalone.md +5 -1
  939. package/docs/zh/cli/test.md +5 -1
  940. package/docs/zh/cli/watch.md +5 -1
  941. package/docs/zh/compat/i18n-js.md +1 -1
  942. package/docs/zh/compat/i18next.md +1 -1
  943. package/docs/zh/compat/lingui.md +1 -1
  944. package/docs/zh/compat/next-i18next.md +1 -1
  945. package/docs/zh/compat/next-intl.md +1 -1
  946. package/docs/zh/compat/next-translate.md +1 -1
  947. package/docs/zh/compat/ngx-translate.md +1 -1
  948. package/docs/zh/compat/nuxtjs-i18n.md +1 -1
  949. package/docs/zh/compat/polyglot.md +1 -1
  950. package/docs/zh/compat/react-i18next.md +1 -1
  951. package/docs/zh/compat/react-intl.md +1 -1
  952. package/docs/zh/compat/svelte-i18n.md +1 -1
  953. package/docs/zh/compat/transloco.md +1 -1
  954. package/docs/zh/compat/vue-i18n.md +1 -1
  955. package/docs/zh/interest_of_intlayer.md +1 -1
  956. package/docs/zh/intlayer_with_remix_3.md +558 -0
  957. package/docs/zh-TW/interest_of_intlayer.md +1 -1
  958. package/frequent_questions/ar/claude_code_token_consumption.md +152 -0
  959. package/frequent_questions/de/claude_code_token_consumption.md +152 -0
  960. package/frequent_questions/en/claude_code_token_consumption.md +152 -0
  961. package/frequent_questions/en-GB/claude_code_token_consumption.md +152 -0
  962. package/frequent_questions/es/claude_code_token_consumption.md +152 -0
  963. package/frequent_questions/fr/claude_code_token_consumption.md +152 -0
  964. package/frequent_questions/hi/claude_code_token_consumption.md +152 -0
  965. package/frequent_questions/id/claude_code_token_consumption.md +152 -0
  966. package/frequent_questions/it/claude_code_token_consumption.md +152 -0
  967. package/frequent_questions/ja/claude_code_token_consumption.md +152 -0
  968. package/frequent_questions/ko/claude_code_token_consumption.md +152 -0
  969. package/frequent_questions/pl/claude_code_token_consumption.md +152 -0
  970. package/frequent_questions/pt/claude_code_token_consumption.md +152 -0
  971. package/frequent_questions/ru/claude_code_token_consumption.md +152 -0
  972. package/frequent_questions/tr/claude_code_token_consumption.md +152 -0
  973. package/frequent_questions/uk/claude_code_token_consumption.md +152 -0
  974. package/frequent_questions/vi/claude_code_token_consumption.md +152 -0
  975. package/frequent_questions/zh/claude_code_token_consumption.md +152 -0
  976. package/package.json +7 -7
  977. package/src/generated/blog.entry.ts +180 -0
  978. package/src/generated/docs.entry.ts +0 -20
  979. package/src/generated/frequentQuestions.entry.ts +20 -0
  980. package/docs/ar/cli/ci.md +0 -186
  981. package/docs/de/cli/ci.md +0 -186
  982. package/docs/en/cli/ci.md +0 -216
  983. package/docs/en-GB/cli/ci.md +0 -186
  984. package/docs/es/cli/ci.md +0 -186
  985. package/docs/fr/cli/ci.md +0 -186
  986. package/docs/hi/cli/ci.md +0 -186
  987. package/docs/id/cli/ci.md +0 -186
  988. package/docs/it/cli/ci.md +0 -186
  989. package/docs/ja/cli/ci.md +0 -186
  990. package/docs/ko/cli/ci.md +0 -186
  991. package/docs/pl/cli/ci.md +0 -186
  992. package/docs/pt/cli/ci.md +0 -186
  993. package/docs/ru/cli/ci.md +0 -186
  994. package/docs/tr/cli/ci.md +0 -186
  995. package/docs/uk/cli/ci.md +0 -186
  996. package/docs/vi/cli/ci.md +0 -186
  997. package/docs/zh/cli/ci.md +0 -186
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-05-18
3
+ updatedAt: 2026-09-11
4
4
  title: Best i18n solution for TanStack Start in 2026 - Benchmark Report
5
5
  description: Compare TanStack Start internationalisation libraries like react-i18next, use-intl, and Intlayer. Detailed performance report on bundle size, leakage, and reactivity.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-tanstack-start-template
19
19
  history:
20
+ - version: 9.5.1
21
+ date: 2026-09-11
22
+ changes: "Update benchmark results"
20
23
  - version: 8.9.8
21
24
  date: 2026-05-18
22
25
  changes: "Add GitHub star comparative"
@@ -62,7 +65,7 @@ The other impact is on developer experience: how you declare content, types, nam
62
65
 
63
66
  ## TL;DR
64
67
 
65
- - **Intlayer**: Provides the best performance and smallest bundle size (v8.7.12) for TanStack Start.
68
+ - **Intlayer**: Provides the best performance and smallest bundle size (v9.5.1) for TanStack Start.
66
69
  - **react-i18next** & **use-intl**: Mature alternatives with large ecosystems, but significantly heavier and more complex to optimise.
67
70
  - **Paraglide**: Innovative tree-shaking idea that does not work in practice. Complex DX and reactivity overhead in TanStack Start.
68
71
  - **Avoid**: **General Translation (GT)** and **Lingo.dev** due to severe performance issues, AI quota limits, and vendor lock-in.
@@ -97,16 +100,18 @@ Syntaxes built around `const t = useTranslation()` + `t('a.b.c')` are very conve
97
100
  For this benchmark, we compared the following libraries:
98
101
 
99
102
  - `Base App` (No i18n library)
100
- - `react-intlayer` (v8.7.12)
101
- - `react-i18next` (v17.0.2)
102
- - `use-intl` (v4.9.1)
103
- - `@lingui/core` (v5.3.0)
103
+ - `react-intlayer` (v9.5.1)
104
+ - `@intlayer/use-intl` (v9.5.1)
105
+ - [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/lingui.md) (v9.5.1)
106
+ - `react-i18next` (v17.0.13)
107
+ - `use-intl` (v4.14.2)
108
+ - `@lingui/core` (v6.6.0)
104
109
  - `@inlang/paraglide-js` (v2.15.1)
105
- - `@tolgee/react` (v7.0.0)
106
- - `react-intl` (v10.1.1)
107
- - `wuchale` (v0.22.11)
108
- - `gt-react` (vlatest)
109
- - `lingo.dev` (v0.133.9)
110
+ - `@tolgee/react` (v7.2.0)
111
+ - `react-intl` (v10.1.26)
112
+ - `wuchale` (v0.26.6)
113
+ - `gt-react` (v10.18.3)
114
+ - `lingo.dev` (v0.138.7)
110
115
 
111
116
  The framework is `TanStack Start` with a multilingual app of **10 pages** and **10 languages**.
112
117
 
@@ -150,7 +155,7 @@ I ran the same multilingual app in a real browser for every stack, then wrote do
150
155
 
151
156
  GitHub stars are a strong indicator of a project's popularity, community trust, and long-term relevance. While not a direct measure of technical quality, they reflect how many developers find the project useful, follow its progress, and are likely to adopt it. For estimating the value of a project, stars help compare traction across alternatives and provide insights into ecosystem growth.
152
157
 
153
- [![Star History Chart](https://api.star-history.com/chart?repos=formatjs%2Fformatjs%2Ci18next%2Freact-i18next%2Clingui%2Fjs-lingui%2Camannn%2Fnext-intl%2Copral%2Fparaglide-js%2Ctolgee%2Ftolgee-js%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&lingui/js-lingui&amannn/next-intl&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
158
+ [![Star History Chart](https://api.star-history.com/chart?repos=formatjs%2Fformatjs%2Ci18next%2Freact-i18next%2Clingui%2Fjs-lingui%2Camannn%2Fnext-intl%2Copral%2Fparaglide-js%2Ctolgee%2Ftolgee-js%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#formatjs/formatjs&i18next/react-i18next&lingui/js-lingui&amannn/next-intl&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
154
159
 
155
160
  ## Results in detail
156
161
 
@@ -160,15 +165,15 @@ Some solutions, such as `gt-react` or `lingo.dev`, are clearly ones to steer cle
160
165
 
161
166
  Issues encountered:
162
167
 
163
- **(General Translation)** (`gt-react@latest`):
168
+ **(General Translation)** (`gt-react@10.18.3`):
164
169
 
165
- - For an app around 110kb, `gt-react` can add more than 440kb extra (order of magnitude seen on the Next.js implementation in the same benchmark).
170
+ - For an app around 111kb, `gt-react` can add more than 170kb extra (order of magnitude seen on the Next.js implementation in the same benchmark).
166
171
  - `Quota Exceeded, please upgrade your plan` on the very first build with General Translation.
167
172
  - Translations are not rendered; I get the error `Error: <T> used on the client-side outside of <GTProvider>`, which seems to be a bug in the library.
168
173
  - While implementing **gt-tanstack-start-react**, I also came across an [issue](https://github.com/generaltranslation/gt/issues/1210#event-24510646961) with the library: `does not provide an export named 'printAST' - @formatjs/icu-messageformat-parser`, which was making the application break. After reporting this issue, the maintainer fixed it within 24 hours.
169
174
  - These libraries use an anti-pattern through the `initializeGT()` function, blocking the bundle from tree-shaking cleanly.
170
175
 
171
- **(Lingo.dev)** (`lingo.dev@0.133.9`):
176
+ **(Lingo.dev)** (`lingo.dev@0.138.7`):
172
177
 
173
178
  - AI quota exceeded (or blocking server dependency), making build / production risky without paying.
174
179
  - The compiler was missing almost 40% of the translated content. I had to rewrite all `.map` into flat component blocks to make it work.
@@ -178,7 +183,7 @@ Issues encountered:
178
183
 
179
184
  ### 2 - Experimental solutions
180
185
 
181
- **(Wuchale)** (`wuchale@0.22.11`):
186
+ **(Wuchale)** (`wuchale@0.26.6`):
182
187
 
183
188
  The idea behind `Wuchale` is interesting but not yet a viable solution. I hit reactivity issues with the library and had to force rerendering of the provider to get the app working on TanStack Start. The documentation is also fairly unclear, which makes onboarding harder.
184
189
 
@@ -188,9 +193,9 @@ The idea behind `Wuchale` is interesting but not yet a viable solution. I hit re
188
193
 
189
194
  `Paraglide` offers an innovative, well-thought-out approach. Even so, in this benchmark the tree-shaking their company advertises did not work for my Next.js implementation or for TanStack Start. The workflow and DX are also more complex than other options. Personally I am not a fan of having to regenerate JS files before every push, which creates constant merge conflict risk for developers via PRs.
190
195
 
191
- > Note on paraglide: the solution injects code into your codebase for imports; as a result, the 'lib size' metric in the benchmark report is almost 0. Code generation is a good thing, because the function used will include only the necessary logic (prefix everywhere vs no prefix, cookie vs storage, etc.). In comparison, Intlayer performs this filtering via environment variable injections in the build to force the bundler to tree-shake the content depending on the logic. Thanks to this, paraglide and intlayer end up being 6 to 10 times lighter solutions than i18next or next-intl.
196
+ > Note on paraglide: the solution injects code into your codebase for imports; as a result, the 'lib size' metric in the benchmark report is almost 0. Code generation is a good thing, because the function used will include only the necessary logic (prefix everywhere vs no prefix, cookie vs storage, etc.). In comparison, Intlayer performs this filtering via environment variable injections in the build to force the bundler to tree-shake the content depending on the logic. Thanks to this, paraglide and intlayer end up being 3 to 10 times lighter solutions than i18next or next-intl.
192
197
 
193
- **(Tolgee)** (`@tolgee/react@7.0.0`):
198
+ **(Tolgee)** (`@tolgee/react@7.2.0`):
194
199
 
195
200
  `Tolgee` addresses many of the issues mentioned earlier. I found it harder to get started with than other tools with similar approaches. It does not provide type safety, which also makes catching missing keys at compile time much harder. I had to wrap Tolgee’s APIs with my own to add missing-key detection.
196
201
 
@@ -198,37 +203,37 @@ The package is fairly heavy (~11.1kb, which is more than 2× `react-intlayer`).
198
203
 
199
204
  On TanStack Start I also had reactivity problems: on locale change I had to force the provider to rerender and subscribe to locale-change events so loading in another language behaved correctly.
200
205
 
201
- **(use-intl)** (`use-intl@4.9.1`):
206
+ **(use-intl)** (`use-intl@4.14.2`):
202
207
 
203
208
  `use-intl` is the most fashionable “intl” piece in the React ecosystem (same family as `next-intl`) and is often pushed by AI agents, but in my view wrongly so in a performance-first setting. Getting started is fairly simple. In practice, the process to optimise and limit leakage is quite complex. Likewise, combining dynamic loading + namespacing + TypeScript types slows development a lot.
204
209
 
205
210
  On TanStack Start you avoid Next.js-specific traps (`setRequestLocale`, static rendering), but the core issue is the same: without strict discipline, the bundle quickly carries too many messages and per-route namespace maintenance becomes painful.
206
211
 
207
- **(react-i18next)** (`react-i18next@17.0.2`):
212
+ **(react-i18next)** (`react-i18next@17.0.13`):
208
213
 
209
214
  `react-i18next` is probably the most popular option because it was among the first to serve JavaScript app i18n needs. It also has a wide set of community plugins for specific problems.
210
215
 
211
216
  Still, it shares the same major downsides as stacks built on `t('a.b.c')`: optimisations are possible but very time-consuming, and large projects risk bad practices (namespaces + dynamic loading + types).
212
217
 
213
- The package is especially heavy (~17.3kb, which is about 3.5× `react-intlayer`).
218
+ The package is especially heavy (~18.4kb, which is about 3.5× `react-intlayer`).
214
219
 
215
220
  Message formats also diverge: `use-intl` uses ICU MessageFormat, while `i18next` uses its own format-which complicates tooling or migrations if you mix them.
216
221
 
217
- **(Lingui)** (`@lingui/core@5.3.0`):
222
+ **(Lingui)** (`@lingui/core@6.6.0`):
218
223
 
219
224
  `Lingui` is often praised. Personally I found the workflow around `lingui extract` / `lingui compile` more complex than other approaches, without a clear upside in this TanStack Start benchmark. I also noticed inconsistent syntaxes that confuse AIs (e.g. `t()`, `t''`, `i18n.t()`, `<Trans>`).
220
225
 
221
- **(react-intl)** (`react-intl@10.1.1`):
226
+ **(react-intl)** (`react-intl@10.1.26`):
222
227
 
223
228
  `react-intl` is a performant implementation from the Format.js team. The DX stays verbose: `const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` adds complexity, extra JavaScript work, and ties the global i18n instance to many nodes in the React tree.
224
229
 
225
- The package is also heavy (~14.4kb, which is about 3× `react-intlayer`).
230
+ The package is also heavy (~15.3kb, which is about 3× `react-intlayer`).
226
231
 
227
232
  ### 4 - Recommendations
228
233
 
229
234
  This TanStack Start benchmark has no direct equivalent to `next-translate` (Next.js plugin + `getStaticProps`). For teams that really want a `t()` API with a mature ecosystem, `react-i18next` and `use-intl` remain “reasonable” choices, but expect to invest a lot of time optimising to avoid leakage.
230
235
 
231
- **(Intlayer)** (`react-intlayer@8.7.12`):
236
+ **(Intlayer)** (`react-intlayer@9.5.1`):
232
237
 
233
238
  I will not personally judge `react-intlayer` for objectivity’s sake, since it is my own solution.
234
239
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-05-18
3
+ updatedAt: 2026-09-11
4
4
  title: Best i18n solution for Vue in 2026 - Benchmark Report
5
5
  description: Compare Vue internationalisation (i18n) libraries like vue-i18n, fluent-vue, and Intlayer. Detailed performance report on bundle size, leakage, and reactivity.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-vue-template
19
19
  history:
20
+ - version: 9.5.1
21
+ date: 2026-09-11
22
+ changes: "Update benchmark results"
20
23
  - version: 8.9.8
21
24
  date: 2026-05-18
22
25
  changes: "Add GitHub star comparative"
@@ -62,7 +65,7 @@ The other impact is on developer experience: how you declare content, types, nam
62
65
 
63
66
  ## TL;DR
64
67
 
65
- - **Intlayer**: The lightest solution (v8.7.12) with built-in scoping and dynamic loading.
68
+ - **Intlayer**: The lightest solution (v9.5.0) with built-in scoping and dynamic loading.
66
69
  - **vue-i18n**: The industry standard with a rich ecosystem, but can become significantly heavier and harder to optimise for code-splitting in large applications.
67
70
  - **fluent-vue**: Innovative message organisation but lacks type-safety and turns out to be an extremely heavy solution.
68
71
 
@@ -96,7 +99,8 @@ Syntaxes built around `const { t } = useI18n()` + `t('a.b.c')` are very convenie
96
99
  For this benchmark, we compared the following libraries:
97
100
 
98
101
  - `Base App` (No i18n library)
99
- - `vue-intlayer` (v8.7.12)
102
+ - `vue-intlayer` (v9.5.0)
103
+ - [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/vue-i18n.md) (v9.5.1)
100
104
  - `vue-i18n` (v11.4.0)
101
105
  - `fluent-vue` (v3.8.2)
102
106
 
@@ -142,7 +146,7 @@ I ran the same multilingual app in a real browser for every stack, then wrote do
142
146
 
143
147
  GitHub stars are a strong indicator of a project's popularity, community trust, and long-term relevance. While not a direct measure of technical quality, they reflect how many developers find the project useful, follow its progress, and are likely to adopt it. For estimating the value of a project, stars help compare traction across alternatives and provide insights into ecosystem growth.
144
148
 
145
- [![Star History Chart](https://api.star-history.com/chart?repos=intlify%2Fvue-i18n%2Cfluent-vue%2Ffluent-vue%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://www.star-history.com/#intlify/vue-i18n&fluent-vue/fluent-vue&aymericzip/intlayer)
149
+ [![Star History Chart](https://api.star-history.com/chart?repos=intlify%2Fvue-i18n%2Cfluent-vue%2Ffluent-vue%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#intlify/vue-i18n&fluent-vue/fluent-vue&aymericzip/intlayer)
146
150
 
147
151
  ## Results in detail
148
152
 
@@ -156,14 +160,14 @@ GitHub stars are a strong indicator of a project's popularity, community trust,
156
160
 
157
161
  - **vue-i18n** is without contestation the most used i18n library for vue, it has a lot of features and a huge ecosystem. But under the hood the solution is quite heavy. Even if vue-i18n integrates lazy loading for messages, it misses a scoping feature. In the case of a classic Vue SPA app there is no issue, but for a nuxt app, using @nuxt/i18n, it leads to including the messages from all pages into a single one. For a big nuxt app including more than 10 pages, it can become really problematic.
158
162
 
159
- The package is very heavy (~24.3kb, which is about 9× `vue-intlayer`).
163
+ The package is very heavy (~24.3kb, which is about 6× `vue-intlayer`).
160
164
 
161
- **(fluent-vue)** (`fluent-vue@0.5.0`):
165
+ **(fluent-vue)** (`fluent-vue@3.8.2`):
162
166
 
163
- - **fluent-vue** offer one innovation attempt through the .ftl format. The message organisation is great, easier to get started. But in practice, the lack of typesafety increases the risk of error and can quickly become time consuming to debug. Moreover, that solution load the messages using a vite plugin that force the loading of all the content in all languages into each page. Additionally this is an extremely heavy solution (~92.7kb, which is about 34× `vue-intlayer`).
167
+ - **fluent-vue** offer one innovation attempt through the .ftl format. The message organisation is great, easier to get started. But in practice, the lack of typesafety increases the risk of error and can quickly become time consuming to debug. Moreover, that solution load the messages using a vite plugin that force the loading of all the content in all languages into each page. Additionally this is an extremely heavy solution (~29.7kb, which is about 7.5× `vue-intlayer`).
164
168
 
165
169
  ### 3 - Recommendations
166
170
 
167
- **(Intlayer)** (`vue-intlayer@8.7.12`):
171
+ **(Intlayer)** (`vue-intlayer@9.5.0`):
168
172
 
169
173
  I will not personally judge `vue-intlayer` for objectivity’s sake, since it is my own solution.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Build Dictionaries
5
5
  description: Learn how to build your Intlayer dictionaries from content declaration files.
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - cli
15
15
  - build
16
16
  history:
17
+ - version: 9.5.2
18
+ date: 2026-09-12
19
+ changes: "Add `--ci` flag"
17
20
  - version: 8.1.5
18
21
  date: 2026-02-23
19
22
  changes: "Add checkTypes option"
@@ -92,6 +95,10 @@ This command will find your declaration content files by default at `./src/**/*.
92
95
 
93
96
  > Example: `npx intlayer build --no-cache`
94
97
 
98
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
99
+
100
+ > Example: `npx intlayer build --ci`
101
+
95
102
  - **`--check-types`**: Check types of the content declaration files.
96
103
 
97
104
  > Example: `npx intlayer build --check-types`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Manage Configuration
5
5
  description: Learn how to get and push your Intlayer configuration to the CMS.
6
6
  keywords:
@@ -51,6 +51,7 @@ bun x intlayer configuration get
51
51
  - **`--base-dir`**: Specify the base directory for the project.
52
52
  - **`--verbose`**: Enable verbose logging for debugging. (default to true using CLI)
53
53
  - **`--no-cache`**: Disable the cache.
54
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
54
55
 
55
56
  ## Push Configuration
56
57
 
@@ -84,5 +85,6 @@ bun x intlayer configuration push
84
85
  - **`--base-dir`**: Specify the base directory for the project.
85
86
  - **`--verbose`**: Enable verbose logging for debugging. (default to true using CLI)
86
87
  - **`--no-cache`**: Disable the cache.
88
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
87
89
 
88
90
  By pushing the configuration, your project is fully integrated with the Intlayer CMS, enabling seamless dictionary management across teams.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2026-06-17
3
+ updatedAt: 2026-09-12
4
4
  title: Review Document
5
5
  description: Learn how to review documentation files for quality, consistency, and completeness across different locales.
6
6
  keywords:
@@ -16,6 +16,9 @@ slugs:
16
16
  - cli
17
17
  - doc-review
18
18
  history:
19
+ - version: 9.5.2
20
+ date: 2026-09-12
21
+ changes: "Add `--ci` flag"
19
22
  - version: 9.0.0
20
23
  date: 2026-06-17
21
24
  changes: "Add --log option"
@@ -136,6 +139,10 @@ Whatever the mode, the run ends with a synthesis listing the documents that are
136
139
 
137
140
  > Example: `npx intlayer doc review --base-dir ./docs --env-file .env.production.local`
138
141
 
142
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
143
+
144
+ > Example: `npx intlayer doc review --ci`
145
+
139
146
  **Log options:**
140
147
 
141
148
  - **`--verbose`**: Enable verbose logging for debugging. (defaults to true when using CLI)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Translate Document
5
5
  description: Learn how to automatically translate documentation files using AI translation services.
6
6
  keywords:
@@ -113,6 +113,10 @@ bun x intlayer doc translate
113
113
 
114
114
  > Example: `npx intlayer doc translate --base-dir ./docs --env-file .env.production.local`
115
115
 
116
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
117
+
118
+ > Example: `npx intlayer doc translate --ci`
119
+
116
120
  **Log options:**
117
121
 
118
122
  - **`--verbose`**: Enable verbose logging for debugging. (defaults to true when using CLI)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Extract strings
5
5
  description: Learn how to extract strings from your components into a .content file adjacent to the component.
6
6
  keywords:
@@ -69,6 +69,7 @@ This command analyses your code files to extract strings from components into a
69
69
  - **`--env`**: Specify the environment.
70
70
  - **`--env-file`**: Provide a custom environment file.
71
71
  - **`--verbose`**: Enable verbose logging.
72
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
72
73
 
73
74
  **Required plugins:**
74
75
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Fill Dictionaries
5
5
  description: Learn how to fill, audit, and translate your dictionaries using AI.
6
6
  keywords:
@@ -162,6 +162,10 @@ Affected dictionary keys for processing: app, comp-test, hello-world, lang-switc
162
162
 
163
163
  > Example: `npx intlayer build --no-cache`
164
164
 
165
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
166
+
167
+ > Example: `npx intlayer fill --ci`
168
+
165
169
  **Preparation options:**
166
170
 
167
171
  - **`--build`**: Build the dictionaries before pushing to ensure the content is up to date. True will force the build, false will skip the build, undefined will allow using the cache of the build.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2026-03-31
3
+ updatedAt: 2026-09-12
4
4
  title: CLI - All Intlayer CLI commands for your multilingual website
5
5
  description: Discover how to use the Intlayer CLI to manage your multilingual website. Follow the steps in this online documentation to set up your project in minutes.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  - concept
18
18
  - cli
19
19
  history:
20
+ - version: 9.5.2
21
+ date: 2026-09-12
22
+ changes: "Replace the `ci` command by the `--ci` flag"
20
23
  - version: 9.0.0
21
24
  date: 2026-06-11
22
25
  changes: "Added scan command"
@@ -160,10 +163,6 @@ To learn how to configure the available languages or other parameters, take a lo
160
163
  - **[Editor Commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/editor.md)** - Use the Intlayer Editor commands
161
164
  - **[Live Sync Commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/live.md)** - Use Live Sync to apply content changes from CMS in real time
162
165
 
163
- ### CI/CD and Automation
164
-
165
- - **[CI Command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/ci.md)** - Execute Intlayer commands with automatically injected credentials for CI/CD flows
166
-
167
166
  ### Auditing & Diagnostics
168
167
 
169
168
  - **[Scan Website](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/scan.md)** - Measure page size and audit i18n/SEO health of any public URL
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Live Sync Commands
5
5
  description: Learn how to use Live Sync to reflect CMS content changes at runtime.
6
6
  keywords:
@@ -37,6 +37,10 @@ Live Sync allows your app to reflect CMS content changes at runtime. No rebuild
37
37
 
38
38
  > Example: `npx intlayer dictionary push --env-file .env.production.local`
39
39
 
40
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
41
+
42
+ > Example: `npx intlayer live --ci`
43
+
40
44
  **Log options:**
41
45
 
42
46
  - **`--verbose`**: Enable verbose logging for debugging. (defaults to true when using the CLI)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-12-16
3
- updatedAt: 2025-12-16
3
+ updatedAt: 2026-09-12
4
4
  title: CLI - Login
5
5
  description: Learn how to use the Intlayer CLI login command to authenticate with the Intlayer CMS and obtain access credentials.
6
6
  keywords:
@@ -142,7 +142,7 @@ Intlayer enforces this rather than only documenting it:
142
142
 
143
143
  Commenting `clientId` out is enough to disable every credentialed behaviour — remote dictionary fetching, CMS access, analytics — even when the environment variables are still defined.
144
144
 
145
- For CI pipelines, prefer the [`ci` command](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/ci.md), which injects the credentials for the duration of a single run instead of persisting them.
145
+ For CI pipelines, prefer the `--ci` flag, which injects the credentials for the duration of a single run instead of persisting them.
146
146
 
147
147
  ## Manual Configuration
148
148
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Pull Dictionaries
5
5
  description: Learn how to pull dictionaries from the Intlayer editor and CMS.
6
6
  keywords:
@@ -66,6 +66,10 @@ If the [intlayer editor](https://github.com/aymericzip/intlayer/blob/main/docs/d
66
66
 
67
67
  > Example: `npx intlayer build --no-cache`
68
68
 
69
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
70
+
71
+ > Example: `npx intlayer pull --ci`
72
+
69
73
  **Environment variables options:**
70
74
 
71
75
  - **`--env`**: Specify the environment (e.g., `development`, `production`).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Push Dictionaries
5
5
  description: Learn how to push your dictionaries to the Intlayer editor and CMS.
6
6
  keywords:
@@ -66,6 +66,10 @@ If the [intlayer editor](https://github.com/aymericzip/intlayer/blob/main/docs/d
66
66
 
67
67
  > Example: `npx intlayer build --no-cache`
68
68
 
69
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
70
+
71
+ > Example: `npx intlayer push --ci`
72
+
69
73
  **Environment variables options:**
70
74
 
71
75
  - **`--env`**: Specify the environment (e.g., `development`, `production`). Useful if you use environment variables in your Intlayer configuration file.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-06-11
3
- updatedAt: 2026-06-11
3
+ updatedAt: 2026-09-12
4
4
  title: Scan Website
5
5
  description: Learn how to use the Intlayer CLI scan command to measure page size and audit the i18n/SEO health of any website.
6
6
  keywords:
@@ -18,6 +18,9 @@ slugs:
18
18
  - cli
19
19
  - scan
20
20
  history:
21
+ - version: 9.5.2
22
+ date: 2026-09-12
23
+ changes: "Add `--ci` flag"
21
24
  - version: 9.0.0
22
25
  date: 2026-06-11
23
26
  changes: "Added scan command"
@@ -112,6 +115,7 @@ Output the full scan result as a JSON object instead of a formatted report. Usef
112
115
  - **`-e, --env`** — Target environment (e.g. `development`, `production`).
113
116
  - **`--env-file`** — Path to a custom `.env` file.
114
117
  - **`--no-cache`** — Disable configuration cache.
118
+ - **`--ci`** — Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
115
119
  - **`--verbose`** — Enable verbose logging (default in CLI mode).
116
120
  - **`--prefix`** — Custom log prefix.
117
121
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2026-03-31
3
+ updatedAt: 2026-09-12
4
4
  title: Standalone Bundle
5
5
  description: Learn how to create a standalone JavaScript bundle for app content.
6
6
  keywords:
@@ -16,6 +16,9 @@ slugs:
16
16
  - cli
17
17
  - standalone
18
18
  history:
19
+ - version: 9.5.2
20
+ date: 2026-09-12
21
+ changes: "Add `--ci` flag"
19
22
  - version: 8.6.4
20
23
  date: 2026-03-31
21
24
  changes: "Init standalone command documentation"
@@ -61,6 +64,7 @@ bun x intlayer standalone --packages [packages...] [options]
61
64
  - `-e, --env [env]` - Environment.
62
65
  - `--base-dir [baseDir]` - Base directory.
63
66
  - `--no-cache` - Disable cache.
67
+ - `--ci` - Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
64
68
  - `--verbose` - Verbose output.
65
69
 
66
70
  ## Examples:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Test Missing Translations
5
5
  description: Learn how to test and identify missing translations in your dictionaries.
6
6
  keywords:
@@ -70,6 +70,10 @@ Total missing required locales: 0
70
70
 
71
71
  > Example: `npx intlayer build --no-cache`
72
72
 
73
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
74
+
75
+ > Example: `npx intlayer test --ci`
76
+
73
77
  **Preparation options:**
74
78
 
75
79
  - **`--build`**: Build the dictionaries before pushing to ensure the content is up to date. True will force the build, false will skip the build, undefined will allow using the cache of the build.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: Watch Dictionaries
5
5
  description: Learn how to watch for changes in your content declaration files and automatically build dictionaries.
6
6
  keywords:
@@ -48,3 +48,7 @@ This command is the equivalent of `npx intlayer build --watch --skip-prepare`.
48
48
  - **`--with`**: Start command in parallel with the watch.
49
49
 
50
50
  > Example: `npx intlayer watch --with "next dev --turbopack"`
51
+
52
+ - **`--ci`**: Run the command in every Intlayer project of the monorepo (or only the current one when run from a project directory). Per-project credentials can be injected via `INTLAYER_PROJECT_CREDENTIALS`, a JSON map of project path to `{ "clientId", "clientSecret" }`.
53
+
54
+ > Example: `npx intlayer watch --ci`
@@ -28,7 +28,7 @@ Transitioning from the `i18n-js` library to Intlayer is a highly optimised migra
28
28
  Execute the following setup command in your repository:
29
29
 
30
30
  ```bash
31
- npx intlayer init
31
+ npx intlayer init --interactive
32
32
  ```
33
33
 
34
34
  With `intlayer.config.ts` prepared, you can add Intlayer's alias to your bundler configuration so that any imports of `i18n-js` target the compat package `@intlayer/i18n-js`.
@@ -33,7 +33,7 @@ Intlayer perfectly replicates the core runtime characteristics of `i18next`. By
33
33
  To begin, initialise Intlayer in your project:
34
34
 
35
35
  ```bash
36
- npx intlayer init
36
+ npx intlayer init --interactive
37
37
  ```
38
38
 
39
39
  If you are using Vite, include the Intlayer plugin to route imports to `@intlayer/i18next`:
@@ -28,7 +28,7 @@ If your project currently relies on Lingui's macro-based compilation, transition
28
28
  To begin, initialise Intlayer in your project:
29
29
 
30
30
  ```bash
31
- npx intlayer init
31
+ npx intlayer init --interactive
32
32
  ```
33
33
 
34
34
  This creates your `intlayer.config.ts`. Ensure you retain `@lingui/babel-plugin-lingui-macro` / `@lingui/swc-plugin` in your build step to run _before_ the Intlayer compiler. Then, use the bundler plugin alias to route `@lingui/core` and `@lingui/react` to `@intlayer/lingui`.
@@ -31,7 +31,7 @@ Intlayer handles all Next.js Pages Router and App Router implementations transpa
31
31
  To begin, run:
32
32
 
33
33
  ```bash
34
- npx intlayer init
34
+ npx intlayer init --interactive
35
35
  ```
36
36
 
37
37
  This creates the required Intlayer setup file. To swap to Intlayer behind the scenes, update your `next.config.ts`:
@@ -31,7 +31,7 @@ Migrating from `next-intl` to Intlayer allows you to maintain your application r
31
31
  Execute the following command in your repository:
32
32
 
33
33
  ```bash
34
- npx intlayer init
34
+ npx intlayer init --interactive
35
35
  ```
36
36
 
37
37
  This will create an `intlayer.config.ts`. In your `next.config.ts`, use the plugin wrapper to seamlessly inject the `next-intl` aliases towards `@intlayer/next-intl`.
@@ -29,7 +29,7 @@ Migrating from `next-translate` to Intlayer is a near drop-in replacement that r
29
29
  Initialise Intlayer in your project:
30
30
 
31
31
  ```bash
32
- npx intlayer init
32
+ npx intlayer init --interactive
33
33
  ```
34
34
 
35
35
  The CLI will scaffold your configuration. You can then apply the Intlayer plugin in your `next.config.ts`, which injects build-time subpath aliases mapping `next-translate/useTranslation` to `@intlayer/next-translate`.
@@ -29,7 +29,7 @@ Migrating your Angular application from `ngx-translate` to Intlayer is easy with
29
29
  Begin by running:
30
30
 
31
31
  ```bash
32
- npx intlayer init
32
+ npx intlayer init --interactive
33
33
  ```
34
34
 
35
35
  This sets up the `intlayer.config.ts`. Replace your `TranslateModule.forRoot()` setups and import aliases appropriately to point to `@intlayer/ngx-translate`.
@@ -30,7 +30,7 @@ Migrating your Nuxt application from `@nuxtjs/i18n` to Intlayer is a seamless pr
30
30
  To initialise the project, run:
31
31
 
32
32
  ```bash
33
- npx intlayer init
33
+ npx intlayer init --interactive
34
34
  ```
35
35
 
36
36
  This will set up `intlayer.config.ts`. Then, add the Intlayer Nuxt module (e.g. `@intlayer/nuxt-i18n`) in your `nuxt.config.ts` modules array. This automatically applies the compat configuration for your application.
@@ -29,7 +29,7 @@ If you are using Airbnb's Polyglot.js, migrating to Intlayer is extremely straig
29
29
  Simply run the initialisation command in your project:
30
30
 
31
31
  ```bash
32
- npx intlayer init
32
+ npx intlayer init --interactive
33
33
  ```
34
34
 
35
35
  This generates `intlayer.config.ts`. You can then utilise the bundler plugin alias to transparently redirect Polyglot imports to `@intlayer/polyglot`.