@intlayer/docs 7.5.0-canary.0 → 7.5.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 (377) hide show
  1. package/blog/ar/intlayer_with_i18next.md +1 -1
  2. package/blog/ar/intlayer_with_next-i18next.md +1 -1
  3. package/blog/ar/intlayer_with_next-intl.md +1 -1
  4. package/blog/ar/intlayer_with_react-i18next.md +1 -1
  5. package/blog/ar/intlayer_with_react-intl.md +1 -1
  6. package/blog/ar/intlayer_with_vue-i18n.md +1 -1
  7. package/blog/de/intlayer_with_i18next.md +1 -1
  8. package/blog/de/intlayer_with_next-i18next.md +1 -1
  9. package/blog/de/intlayer_with_next-intl.md +1 -1
  10. package/blog/de/intlayer_with_react-i18next.md +1 -1
  11. package/blog/de/intlayer_with_react-intl.md +1 -1
  12. package/blog/de/intlayer_with_vue-i18n.md +1 -1
  13. package/blog/en/intlayer_with_i18next.md +1 -1
  14. package/blog/en/intlayer_with_next-i18next.md +1 -1
  15. package/blog/en/intlayer_with_next-intl.md +1 -1
  16. package/blog/en/intlayer_with_react-i18next.md +1 -1
  17. package/blog/en/intlayer_with_react-intl.md +1 -1
  18. package/blog/en/intlayer_with_vue-i18n.md +1 -1
  19. package/blog/en-GB/intlayer_with_i18next.md +1 -1
  20. package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
  21. package/blog/en-GB/intlayer_with_next-intl.md +1 -1
  22. package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
  23. package/blog/en-GB/intlayer_with_react-intl.md +1 -1
  24. package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
  25. package/blog/es/intlayer_with_i18next.md +1 -1
  26. package/blog/es/intlayer_with_next-i18next.md +1 -1
  27. package/blog/es/intlayer_with_next-intl.md +1 -1
  28. package/blog/es/intlayer_with_react-i18next.md +1 -1
  29. package/blog/es/intlayer_with_react-intl.md +1 -1
  30. package/blog/es/intlayer_with_vue-i18n.md +1 -1
  31. package/blog/fr/intlayer_with_i18next.md +1 -1
  32. package/blog/fr/intlayer_with_next-i18next.md +1 -1
  33. package/blog/fr/intlayer_with_next-intl.md +1 -1
  34. package/blog/fr/intlayer_with_react-i18next.md +1 -1
  35. package/blog/fr/intlayer_with_react-intl.md +1 -1
  36. package/blog/fr/intlayer_with_vue-i18n.md +1 -1
  37. package/blog/hi/intlayer_with_i18next.md +1 -1
  38. package/blog/hi/intlayer_with_next-i18next.md +1 -1
  39. package/blog/hi/intlayer_with_next-intl.md +1 -1
  40. package/blog/hi/intlayer_with_react-i18next.md +1 -1
  41. package/blog/hi/intlayer_with_react-intl.md +1 -1
  42. package/blog/hi/intlayer_with_vue-i18n.md +1 -1
  43. package/blog/id/intlayer_with_i18next.md +1 -1
  44. package/blog/id/intlayer_with_next-i18next.md +1 -1
  45. package/blog/id/intlayer_with_next-intl.md +1 -1
  46. package/blog/id/intlayer_with_react-i18next.md +1 -1
  47. package/blog/id/intlayer_with_react-intl.md +1 -1
  48. package/blog/id/intlayer_with_vue-i18n.md +1 -1
  49. package/blog/it/intlayer_with_i18next.md +1 -1
  50. package/blog/it/intlayer_with_next-i18next.md +1 -1
  51. package/blog/it/intlayer_with_next-intl.md +1 -1
  52. package/blog/it/intlayer_with_react-i18next.md +1 -1
  53. package/blog/it/intlayer_with_react-intl.md +1 -1
  54. package/blog/it/intlayer_with_vue-i18n.md +1 -1
  55. package/blog/ja/intlayer_with_i18next.md +1 -1
  56. package/blog/ja/intlayer_with_next-i18next.md +1 -1
  57. package/blog/ja/intlayer_with_next-intl.md +1 -1
  58. package/blog/ja/intlayer_with_react-i18next.md +1 -1
  59. package/blog/ja/intlayer_with_react-intl.md +1 -1
  60. package/blog/ja/intlayer_with_vue-i18n.md +1 -1
  61. package/blog/ko/intlayer_with_i18next.md +1 -1
  62. package/blog/ko/intlayer_with_next-i18next.md +1 -1
  63. package/blog/ko/intlayer_with_next-intl.md +1 -1
  64. package/blog/ko/intlayer_with_react-i18next.md +1 -1
  65. package/blog/ko/intlayer_with_react-intl.md +1 -1
  66. package/blog/ko/intlayer_with_vue-i18n.md +1 -1
  67. package/blog/pl/intlayer_with_i18next.md +1 -1
  68. package/blog/pl/intlayer_with_next-i18next.md +1 -1
  69. package/blog/pl/intlayer_with_next-intl.md +1 -1
  70. package/blog/pl/intlayer_with_react-i18next.md +1 -1
  71. package/blog/pl/intlayer_with_react-intl.md +1 -1
  72. package/blog/pl/intlayer_with_vue-i18n.md +1 -1
  73. package/blog/pt/intlayer_with_i18next.md +1 -1
  74. package/blog/pt/intlayer_with_next-i18next.md +1 -1
  75. package/blog/pt/intlayer_with_next-intl.md +1 -1
  76. package/blog/pt/intlayer_with_react-i18next.md +1 -1
  77. package/blog/pt/intlayer_with_react-intl.md +1 -1
  78. package/blog/pt/intlayer_with_vue-i18n.md +1 -1
  79. package/blog/ru/intlayer_with_i18next.md +1 -1
  80. package/blog/ru/intlayer_with_next-i18next.md +1 -1
  81. package/blog/ru/intlayer_with_next-intl.md +1 -1
  82. package/blog/ru/intlayer_with_react-i18next.md +1 -1
  83. package/blog/ru/intlayer_with_react-intl.md +1 -1
  84. package/blog/ru/intlayer_with_vue-i18n.md +1 -1
  85. package/blog/tr/intlayer_with_i18next.md +1 -1
  86. package/blog/tr/intlayer_with_next-i18next.md +1 -1
  87. package/blog/tr/intlayer_with_next-intl.md +1 -1
  88. package/blog/tr/intlayer_with_react-i18next.md +1 -1
  89. package/blog/tr/intlayer_with_vue-i18n.md +1 -1
  90. package/blog/vi/intlayer_with_i18next.md +1 -1
  91. package/blog/vi/intlayer_with_next-i18next.md +1 -1
  92. package/blog/vi/intlayer_with_next-intl.md +1 -1
  93. package/blog/vi/intlayer_with_react-i18next.md +1 -1
  94. package/blog/vi/intlayer_with_react-intl.md +1 -1
  95. package/blog/vi/intlayer_with_vue-i18n.md +1 -1
  96. package/blog/zh/intlayer_with_i18next.md +1 -1
  97. package/blog/zh/intlayer_with_next-i18next.md +1 -1
  98. package/blog/zh/intlayer_with_next-intl.md +1 -1
  99. package/blog/zh/intlayer_with_react-i18next.md +1 -1
  100. package/blog/zh/intlayer_with_react-intl.md +1 -1
  101. package/blog/zh/intlayer_with_vue-i18n.md +1 -1
  102. package/dist/cjs/common.cjs +6 -6
  103. package/dist/cjs/common.cjs.map +1 -1
  104. package/dist/cjs/generated/blog.entry.cjs +4 -4
  105. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  106. package/dist/cjs/generated/docs.entry.cjs +23 -4
  107. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  108. package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -4
  109. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  110. package/dist/cjs/generated/legal.entry.cjs +4 -4
  111. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  112. package/dist/esm/generated/docs.entry.mjs +19 -0
  113. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  114. package/dist/types/generated/docs.entry.d.ts +1 -0
  115. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  116. package/docs/ar/cli/index.md +5 -0
  117. package/docs/ar/cli/login.md +157 -0
  118. package/docs/ar/configuration.md +12 -0
  119. package/docs/ar/dictionary/content_file.md +1 -1
  120. package/docs/ar/intlayer_CMS.md +1 -1
  121. package/docs/ar/intlayer_visual_editor.md +1 -1
  122. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  123. package/docs/ar/intlayer_with_nextjs_16.md +1 -1
  124. package/docs/ar/intlayer_with_nuxt.md +1 -1
  125. package/docs/ar/intlayer_with_react_router_v7.md +1 -1
  126. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
  127. package/docs/ar/intlayer_with_tanstack.md +1 -1
  128. package/docs/ar/intlayer_with_vite+react.md +1 -1
  129. package/docs/ar/intlayer_with_vite+vue.md +1 -1
  130. package/docs/ar/plugins/sync-json.md +1 -1
  131. package/docs/de/cli/index.md +5 -0
  132. package/docs/de/cli/login.md +160 -0
  133. package/docs/de/configuration.md +12 -0
  134. package/docs/de/dictionary/content_file.md +1 -1
  135. package/docs/de/intlayer_CMS.md +1 -1
  136. package/docs/de/intlayer_visual_editor.md +1 -1
  137. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  138. package/docs/de/intlayer_with_nextjs_16.md +1 -1
  139. package/docs/de/intlayer_with_nuxt.md +1 -1
  140. package/docs/de/intlayer_with_react_router_v7.md +1 -1
  141. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
  142. package/docs/de/intlayer_with_tanstack.md +1 -1
  143. package/docs/de/intlayer_with_vite+react.md +1 -1
  144. package/docs/de/intlayer_with_vite+vue.md +1 -1
  145. package/docs/de/plugins/sync-json.md +1 -1
  146. package/docs/en/cli/index.md +5 -0
  147. package/docs/en/cli/login.md +157 -0
  148. package/docs/en/configuration.md +13 -0
  149. package/docs/en/dictionary/content_file.md +1 -1
  150. package/docs/en/index.md +1 -0
  151. package/docs/en/intlayer_CMS.md +1 -1
  152. package/docs/en/intlayer_visual_editor.md +1 -1
  153. package/docs/en/intlayer_with_nextjs_15.md +1 -1
  154. package/docs/en/intlayer_with_nextjs_16.md +1 -1
  155. package/docs/en/intlayer_with_nuxt.md +1 -1
  156. package/docs/en/intlayer_with_react_router_v7.md +1 -1
  157. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +1 -1
  158. package/docs/en/intlayer_with_tanstack.md +8 -7
  159. package/docs/en/intlayer_with_vite+preact.md +1 -2
  160. package/docs/en/intlayer_with_vite+react.md +1 -1
  161. package/docs/en/intlayer_with_vite+vue.md +1 -1
  162. package/docs/en/plugins/sync-json.md +1 -1
  163. package/docs/en-GB/cli/index.md +5 -0
  164. package/docs/en-GB/cli/login.md +181 -0
  165. package/docs/en-GB/configuration.md +12 -0
  166. package/docs/en-GB/dictionary/content_file.md +1 -1
  167. package/docs/en-GB/intlayer_CMS.md +1 -1
  168. package/docs/en-GB/intlayer_visual_editor.md +1 -1
  169. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  170. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  171. package/docs/en-GB/intlayer_with_nuxt.md +1 -1
  172. package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
  173. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
  174. package/docs/en-GB/intlayer_with_tanstack.md +1 -1
  175. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  176. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  177. package/docs/en-GB/plugins/sync-json.md +1 -1
  178. package/docs/es/cli/index.md +5 -0
  179. package/docs/es/cli/login.md +182 -0
  180. package/docs/es/configuration.md +12 -0
  181. package/docs/es/dictionary/content_file.md +1 -1
  182. package/docs/es/intlayer_CMS.md +1 -1
  183. package/docs/es/intlayer_visual_editor.md +1 -1
  184. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  185. package/docs/es/intlayer_with_nextjs_16.md +1 -1
  186. package/docs/es/intlayer_with_nuxt.md +1 -1
  187. package/docs/es/intlayer_with_react_router_v7.md +1 -1
  188. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
  189. package/docs/es/intlayer_with_tanstack.md +1 -1
  190. package/docs/es/intlayer_with_vite+react.md +1 -1
  191. package/docs/es/intlayer_with_vite+vue.md +1 -1
  192. package/docs/es/plugins/sync-json.md +1 -1
  193. package/docs/fr/cli/index.md +5 -0
  194. package/docs/fr/cli/login.md +185 -0
  195. package/docs/fr/configuration.md +12 -0
  196. package/docs/fr/dictionary/content_file.md +1 -1
  197. package/docs/fr/intlayer_CMS.md +1 -1
  198. package/docs/fr/intlayer_visual_editor.md +1 -1
  199. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  200. package/docs/fr/intlayer_with_nextjs_16.md +1 -1
  201. package/docs/fr/intlayer_with_nuxt.md +1 -1
  202. package/docs/fr/intlayer_with_react_router_v7.md +1 -1
  203. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -1
  204. package/docs/fr/intlayer_with_tanstack.md +1 -1
  205. package/docs/fr/intlayer_with_vite+react.md +1 -1
  206. package/docs/fr/intlayer_with_vite+vue.md +1 -1
  207. package/docs/fr/plugins/sync-json.md +1 -1
  208. package/docs/hi/cli/index.md +5 -0
  209. package/docs/hi/cli/login.md +181 -0
  210. package/docs/hi/configuration.md +12 -0
  211. package/docs/hi/dictionary/content_file.md +1 -1
  212. package/docs/hi/intlayer_CMS.md +1 -1
  213. package/docs/hi/intlayer_visual_editor.md +1 -1
  214. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  215. package/docs/hi/intlayer_with_nextjs_16.md +1 -1
  216. package/docs/hi/intlayer_with_nuxt.md +1 -1
  217. package/docs/hi/intlayer_with_react_router_v7.md +1 -1
  218. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
  219. package/docs/hi/intlayer_with_tanstack.md +1 -1
  220. package/docs/hi/intlayer_with_vite+react.md +1 -1
  221. package/docs/hi/intlayer_with_vite+vue.md +1 -1
  222. package/docs/hi/plugins/sync-json.md +1 -1
  223. package/docs/id/cli/index.md +5 -0
  224. package/docs/id/cli/login.md +157 -0
  225. package/docs/id/configuration.md +12 -0
  226. package/docs/id/dictionary/content_file.md +1 -1
  227. package/docs/id/intlayer_CMS.md +1 -1
  228. package/docs/id/intlayer_visual_editor.md +1 -1
  229. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  230. package/docs/id/intlayer_with_nextjs_16.md +1 -1
  231. package/docs/id/intlayer_with_nuxt.md +1 -1
  232. package/docs/id/intlayer_with_react_router_v7.md +1 -1
  233. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -1
  234. package/docs/id/intlayer_with_tanstack.md +1 -1
  235. package/docs/id/intlayer_with_vite+preact.md +1 -2
  236. package/docs/id/intlayer_with_vite+react.md +1 -1
  237. package/docs/id/intlayer_with_vite+vue.md +1 -1
  238. package/docs/id/plugins/sync-json.md +1 -1
  239. package/docs/it/cli/index.md +5 -0
  240. package/docs/it/cli/login.md +157 -0
  241. package/docs/it/configuration.md +12 -0
  242. package/docs/it/dictionary/content_file.md +1 -1
  243. package/docs/it/intlayer_CMS.md +1 -1
  244. package/docs/it/intlayer_visual_editor.md +1 -1
  245. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  246. package/docs/it/intlayer_with_nextjs_16.md +1 -1
  247. package/docs/it/intlayer_with_nuxt.md +1 -1
  248. package/docs/it/intlayer_with_react_router_v7.md +1 -1
  249. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -1
  250. package/docs/it/intlayer_with_tanstack.md +1 -1
  251. package/docs/it/intlayer_with_vite+react.md +1 -1
  252. package/docs/it/intlayer_with_vite+vue.md +1 -1
  253. package/docs/it/plugins/sync-json.md +1 -1
  254. package/docs/ja/cli/index.md +5 -0
  255. package/docs/ja/cli/login.md +159 -0
  256. package/docs/ja/configuration.md +12 -0
  257. package/docs/ja/dictionary/content_file.md +1 -1
  258. package/docs/ja/intlayer_CMS.md +1 -1
  259. package/docs/ja/intlayer_visual_editor.md +1 -1
  260. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  261. package/docs/ja/intlayer_with_nextjs_16.md +1 -1
  262. package/docs/ja/intlayer_with_nuxt.md +1 -1
  263. package/docs/ja/intlayer_with_react_router_v7.md +1 -1
  264. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -1
  265. package/docs/ja/intlayer_with_tanstack.md +1 -1
  266. package/docs/ja/intlayer_with_vite+react.md +1 -1
  267. package/docs/ja/intlayer_with_vite+vue.md +1 -1
  268. package/docs/ja/plugins/sync-json.md +1 -1
  269. package/docs/ko/cli/index.md +5 -0
  270. package/docs/ko/cli/login.md +188 -0
  271. package/docs/ko/configuration.md +12 -0
  272. package/docs/ko/dictionary/content_file.md +1 -1
  273. package/docs/ko/intlayer_CMS.md +1 -1
  274. package/docs/ko/intlayer_visual_editor.md +1 -1
  275. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  276. package/docs/ko/intlayer_with_nextjs_16.md +1 -1
  277. package/docs/ko/intlayer_with_nuxt.md +1 -1
  278. package/docs/ko/intlayer_with_react_router_v7.md +1 -1
  279. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
  280. package/docs/ko/intlayer_with_tanstack.md +1 -1
  281. package/docs/ko/intlayer_with_vite+react.md +1 -1
  282. package/docs/ko/intlayer_with_vite+vue.md +1 -1
  283. package/docs/ko/plugins/sync-json.md +1 -1
  284. package/docs/pl/cli/index.md +5 -0
  285. package/docs/pl/cli/login.md +187 -0
  286. package/docs/pl/configuration.md +12 -0
  287. package/docs/pl/dictionary/content_file.md +1 -1
  288. package/docs/pl/intlayer_CMS.md +1 -1
  289. package/docs/pl/intlayer_visual_editor.md +1 -1
  290. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  291. package/docs/pl/intlayer_with_nextjs_16.md +1 -1
  292. package/docs/pl/intlayer_with_nuxt.md +1 -1
  293. package/docs/pl/intlayer_with_react_router_v7.md +1 -1
  294. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
  295. package/docs/pl/intlayer_with_tanstack.md +1 -1
  296. package/docs/pl/intlayer_with_vite+preact.md +1 -2
  297. package/docs/pl/intlayer_with_vite+react.md +1 -1
  298. package/docs/pl/intlayer_with_vite+vue.md +1 -1
  299. package/docs/pl/plugins/sync-json.md +1 -1
  300. package/docs/pt/cli/index.md +5 -0
  301. package/docs/pt/cli/login.md +186 -0
  302. package/docs/pt/configuration.md +12 -0
  303. package/docs/pt/dictionary/content_file.md +1 -1
  304. package/docs/pt/intlayer_CMS.md +1 -1
  305. package/docs/pt/intlayer_visual_editor.md +1 -1
  306. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  307. package/docs/pt/intlayer_with_nextjs_16.md +1 -1
  308. package/docs/pt/intlayer_with_nuxt.md +1 -1
  309. package/docs/pt/intlayer_with_react_router_v7.md +1 -1
  310. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +570 -0
  311. package/docs/pt/intlayer_with_tanstack.md +1 -1
  312. package/docs/pt/intlayer_with_vite+react.md +1 -1
  313. package/docs/pt/intlayer_with_vite+vue.md +1 -1
  314. package/docs/pt/plugins/sync-json.md +1 -1
  315. package/docs/ru/cli/index.md +5 -0
  316. package/docs/ru/cli/login.md +181 -0
  317. package/docs/ru/configuration.md +12 -0
  318. package/docs/ru/dictionary/content_file.md +1 -1
  319. package/docs/ru/intlayer_CMS.md +1 -1
  320. package/docs/ru/intlayer_visual_editor.md +1 -1
  321. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  322. package/docs/ru/intlayer_with_nextjs_16.md +1 -1
  323. package/docs/ru/intlayer_with_nuxt.md +1 -1
  324. package/docs/ru/intlayer_with_react_router_v7.md +1 -1
  325. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -1
  326. package/docs/ru/intlayer_with_tanstack.md +1 -1
  327. package/docs/ru/intlayer_with_vite+react.md +1 -1
  328. package/docs/ru/intlayer_with_vite+vue.md +1 -1
  329. package/docs/ru/plugins/sync-json.md +1 -1
  330. package/docs/tr/cli/index.md +5 -0
  331. package/docs/tr/cli/login.md +171 -0
  332. package/docs/tr/configuration.md +12 -0
  333. package/docs/tr/dictionary/content_file.md +1 -1
  334. package/docs/tr/intlayer_CMS.md +1 -1
  335. package/docs/tr/intlayer_visual_editor.md +1 -1
  336. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  337. package/docs/tr/intlayer_with_nextjs_16.md +1 -1
  338. package/docs/tr/intlayer_with_nuxt.md +1 -1
  339. package/docs/tr/intlayer_with_react_router_v7.md +1 -1
  340. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -1
  341. package/docs/tr/intlayer_with_tanstack.md +1 -1
  342. package/docs/tr/intlayer_with_vite+react.md +1 -1
  343. package/docs/tr/intlayer_with_vite+vue.md +1 -1
  344. package/docs/tr/plugins/sync-json.md +1 -1
  345. package/docs/vi/cli/index.md +5 -0
  346. package/docs/vi/cli/login.md +186 -0
  347. package/docs/vi/configuration.md +12 -0
  348. package/docs/vi/dictionary/content_file.md +1 -1
  349. package/docs/vi/intlayer_CMS.md +1 -1
  350. package/docs/vi/intlayer_visual_editor.md +1 -1
  351. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  352. package/docs/vi/intlayer_with_nextjs_16.md +1 -1
  353. package/docs/vi/intlayer_with_nuxt.md +1 -1
  354. package/docs/vi/intlayer_with_react_router_v7.md +1 -1
  355. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -1
  356. package/docs/vi/intlayer_with_tanstack.md +1 -1
  357. package/docs/vi/intlayer_with_vite+preact.md +1 -2
  358. package/docs/vi/intlayer_with_vite+react.md +1 -1
  359. package/docs/vi/intlayer_with_vite+vue.md +1 -1
  360. package/docs/vi/plugins/sync-json.md +1 -1
  361. package/docs/zh/cli/index.md +5 -0
  362. package/docs/zh/cli/login.md +182 -0
  363. package/docs/zh/configuration.md +12 -0
  364. package/docs/zh/dictionary/content_file.md +1 -1
  365. package/docs/zh/intlayer_CMS.md +1 -1
  366. package/docs/zh/intlayer_visual_editor.md +1 -1
  367. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  368. package/docs/zh/intlayer_with_nextjs_16.md +1 -1
  369. package/docs/zh/intlayer_with_nuxt.md +1 -1
  370. package/docs/zh/intlayer_with_react_router_v7.md +1 -1
  371. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -1
  372. package/docs/zh/intlayer_with_tanstack.md +1 -1
  373. package/docs/zh/intlayer_with_vite+react.md +1 -1
  374. package/docs/zh/intlayer_with_vite+vue.md +1 -1
  375. package/docs/zh/plugins/sync-json.md +1 -1
  376. package/package.json +9 -9
  377. package/src/generated/docs.entry.ts +19 -0
@@ -27,7 +27,7 @@ history:
27
27
  <Tab defaultTab="video">
28
28
  <TabItem label="Video" value="video">
29
29
 
30
- <iframe title="Die beste i18n-Lösung für Next.js? Entdecken Sie Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
+ <iframe title="Die beste i18n-Lösung für Next.js? Entdecken Sie Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
31
 
32
32
  </TabItem>
33
33
  <TabItem label="Code" value="code">
@@ -49,7 +49,7 @@ Mit Intlayer können Sie:
49
49
  <Tab defaultTab="video">
50
50
  <TabItem label="Video" value="video">
51
51
 
52
- <iframe title="Wie übersetzt man seine Nuxt- und Vue-App mit Intlayer? Entdecken Sie Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/nhUcUAVQ6eQ?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
52
+ <iframe title="Wie übersetzt man seine Nuxt- und Vue-App mit Intlayer? Entdecken Sie Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/nhUcUAVQ6eQ?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
53
53
 
54
54
  </TabItem>
55
55
  <TabItem label="Code" value="code">
@@ -85,7 +85,7 @@ pnpm add vite-intlayer --save-dev
85
85
  <Tab defaultTab="video">
86
86
  <TabItem label="Video" value="video">
87
87
 
88
- <iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
88
+ <iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
89
89
 
90
90
  </TabItem>
91
91
  <TabItem label="Code" value="code">
@@ -54,7 +54,7 @@ Mit Intlayer können Sie:
54
54
  <Tab defaultTab="video">
55
55
  <TabItem label="Video" value="video">
56
56
 
57
- <iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
57
+ <iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
58
58
 
59
59
  </TabItem>
60
60
  <TabItem label="Code" value="code">
@@ -57,7 +57,7 @@ Mit Intlayer können Sie:
57
57
  <Tab defaultTab="video">
58
58
  <TabItem label="Video" value="video">
59
59
 
60
- <iframe title="Die beste i18n-Lösung für Tanstack Start? Entdecken Sie Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
60
+ <iframe title="Die beste i18n-Lösung für Tanstack Start? Entdecken Sie Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
61
61
 
62
62
  </TabItem>
63
63
  <TabItem label="Code" value="code">
@@ -47,7 +47,7 @@ Mit Intlayer können Sie:
47
47
  <Tab defaultTab="video">
48
48
  <TabItem label="Video" value="video">
49
49
 
50
- <iframe title="The best i18n solution for Vite and React? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
50
+ <iframe title="The best i18n solution for Vite and React? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
51
51
 
52
52
  </TabItem>
53
53
  <TabItem label="Code" value="code">
@@ -44,7 +44,7 @@ Mit Intlayer können Sie:
44
44
  <Tab defaultTab="video">
45
45
  <TabItem label="Video" value="video">
46
46
 
47
- <iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
47
+ <iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
48
48
 
49
49
  </TabItem>
50
50
  <TabItem label="Code" value="code">
@@ -34,7 +34,7 @@ history:
34
34
 
35
35
  # Sync JSON (i18n-Brücken) - Sync JSON mit ICU / i18next-Unterstützung
36
36
 
37
- <iframe title="Wie Sie Ihre JSON-Übersetzungen mit Intlayer synchronisiert halten" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
37
+ <iframe title="Wie Sie Ihre JSON-Übersetzungen mit Intlayer synchronisiert halten" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
38
38
 
39
39
  Verwenden Sie Intlayer als Ergänzung zu Ihrem bestehenden i18n-Stack. Dieses Plugin hält Ihre JSON-Nachrichten mit den Intlayer-Wörterbüchern synchron, sodass Sie:
40
40
 
@@ -103,6 +103,10 @@ To see how to configure available locales, or other parameters, refer to the [co
103
103
 
104
104
  ## Run intlayer commands
105
105
 
106
+ ### Authentication
107
+
108
+ - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/login.md)** - Authenticate with the Intlayer CMS and get access credentials
109
+
106
110
  ### Core Commands
107
111
 
108
112
  - **[Build Dictionaries](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/build.md)** - Build your dictionaries from content declaration files
@@ -144,6 +148,7 @@ To see how to configure available locales, or other parameters, refer to the [co
144
148
 
145
149
  ```json fileName="package.json"
146
150
  "scripts": {
151
+ "intlayer:login": "npx intlayer login",
147
152
  "intlayer:build": "npx intlayer build",
148
153
  "intlayer:watch": "npx intlayer build --watch",
149
154
  "intlayer:push": "npx intlayer push",
@@ -0,0 +1,157 @@
1
+ ---
2
+ createdAt: 2025-12-16
3
+ updatedAt: 2025-12-16
4
+ title: CLI - Login
5
+ description: Learn how to use the Intlayer CLI login command to authenticate with the Intlayer CMS and obtain access credentials.
6
+ keywords:
7
+ - CLI
8
+ - Login
9
+ - Authentication
10
+ - CMS
11
+ - Intlayer
12
+ - Credentials
13
+ slugs:
14
+ - doc
15
+ - concept
16
+ - cli
17
+ - login
18
+ ---
19
+
20
+ # Intlayer CLI Login Command
21
+
22
+ ---
23
+
24
+ ## Description
25
+
26
+ The `login` command of the Intlayer CLI allows you to authenticate with the Intlayer CMS. This command automatically opens your default browser to complete the authentication process and receive the necessary credentials (Client ID and Client Secret) to use Intlayer services.
27
+
28
+ ## Usage
29
+
30
+ ```bash
31
+ npx intlayer login [options]
32
+ ```
33
+
34
+ or
35
+
36
+ ```bash
37
+ intlayer login [options]
38
+ ```
39
+
40
+ ## Options
41
+
42
+ ### `--cms-url <url>`
43
+
44
+ Specify the URL of the Intlayer CMS to connect to for authentication.
45
+
46
+ - **Type**: `string`
47
+ - **Default**: The value configured in `intlayer.config.*` or `https://intlayer.org`
48
+ - **Example**:
49
+
50
+ ```bash
51
+ npx intlayer login --cms-url https://intlayer.org
52
+ ```
53
+
54
+ ### Configuration Options
55
+
56
+ You can also use common configuration options:
57
+
58
+ - `--env-file <path>`: Path to the environment file
59
+ - `-e, --env <env>`: Execution environment
60
+ - `--base-dir <dir>`: Base directory of the project
61
+ - `--verbose`: Enable detailed output (default: true)
62
+ - `--prefix <prefix>`: Prefix for logs
63
+
64
+ ## How It Works
65
+
66
+ 1. **Local Server Start**: The command starts a local HTTP server on a random port to receive credentials from the CMS
67
+ 2. **Browser Opening**: The command automatically opens your default browser to the CMS login URL
68
+ 3. **Authentication**: Complete authentication in the browser using your Intlayer account
69
+ 4. **Credentials Reception**: The local server receives the Client ID and Client Secret from the CMS
70
+ 5. **Instructions**: The command displays instructions for configuring credentials in your project
71
+
72
+ ## Output
73
+
74
+ After a successful login, the command will display:
75
+
76
+ 1. **The received credentials** (Client ID and Client Secret)
77
+ 2. **Instructions for the `.env` file**:
78
+
79
+ ```bash
80
+ INTLAYER_CLIENT_ID=your_client_id
81
+ INTLAYER_CLIENT_SECRET=your_client_secret
82
+ ```
83
+
84
+ 3. **Instructions for the Intlayer configuration file**:
85
+
86
+ ```typescript
87
+ {
88
+ editor: {
89
+ cmsURL: 'https://intlayer.org',
90
+ clientId: process.env.INTLAYER_CLIENT_ID,
91
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
92
+ },
93
+ }
94
+ ```
95
+
96
+ ## Manual Configuration
97
+
98
+ If the browser doesn't open automatically, you can manually visit the URL displayed in the terminal.
99
+
100
+ ## Examples
101
+
102
+ ### Login with Custom CMS URL
103
+
104
+ ```bash
105
+ npx intlayer login --cms-url https://custom-cms.example.com
106
+ ```
107
+
108
+ ### Login with Specific Environment File
109
+
110
+ ```bash
111
+ npx intlayer login --env-file .env.production
112
+ ```
113
+
114
+ ### Login in Verbose Mode
115
+
116
+ ```bash
117
+ npx intlayer login --verbose
118
+ ```
119
+
120
+ ## Troubleshooting
121
+
122
+ ### Browser Doesn't Open
123
+
124
+ If the browser doesn't open automatically, copy the URL displayed in the terminal and open it manually in your browser.
125
+
126
+ ### Connection Issues
127
+
128
+ If you encounter connection issues, verify:
129
+
130
+ 1. That the CMS URL is correct
131
+ 2. That your internet connection is working properly
132
+ 3. That there are no firewalls blocking the connection
133
+
134
+ ### Credentials Not Received
135
+
136
+ If credentials are not received:
137
+
138
+ 1. Make sure you completed the authentication process in the browser
139
+ 2. Verify that the local port is not blocked
140
+ 3. Try the command again
141
+
142
+ ## Next Steps
143
+
144
+ After completing the login:
145
+
146
+ 1. Add the credentials to your `.env` file
147
+ 2. Configure your `intlayer.config.*` file with the credentials
148
+ 3. Use CLI commands to manage your dictionaries:
149
+ - [`npx intlayer push`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/push.md) - Push dictionaries to the CMS
150
+ - [`npx intlayer pull`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/pull.md) - Pull dictionaries from the CMS
151
+ - [`npx intlayer fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/fill.md) - Fill missing translations
152
+
153
+ ## See Also
154
+
155
+ - [CLI Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md)
156
+ - [Intlayer Configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
157
+ - [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 7.5.0
18
+ date: 2025-12-17
19
+ changes: Add `buildMode` option
17
20
  - version: 7.0.0
18
21
  date: 2025-10-25
19
22
  changes: Add `dictionary` configuration
@@ -103,6 +106,7 @@ const config: IntlayerConfig = {
103
106
  applicationContext: "This is a test application",
104
107
  },
105
108
  build: {
109
+ mode: "auto",
106
110
  importMode: "dynamic",
107
111
  },
108
112
  };
@@ -668,6 +672,15 @@ Build options apply to the `@intlayer/babel` and `@intlayer/swc` plugins.
668
672
 
669
673
  #### Properties
670
674
 
675
+ - **mode**:
676
+ - _Type_: `'auto' | 'manual'`
677
+ - _Default_: `'auto'`
678
+ - _Description_: Controls the mode of the build.
679
+ - _Example_: `'manual'`
680
+ - _Note_: If 'auto', the build will be enabled automatically when the application is built.
681
+ - _Note_: If 'manual', the build will be set only when the build command is executed.
682
+ - _Note_: Can be used to disable dictionaries build, for instance when execution on Node.js environment should be avoided.
683
+
671
684
  - **optimize**:
672
685
  - _Type_: `boolean`
673
686
  - _Default_: `undefined`
@@ -28,7 +28,7 @@ history:
28
28
 
29
29
  # Content File
30
30
 
31
- <iframe title="i18n, Markdown, JSON… one single solution to manage it all | Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/1VHgSY_j9_I?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
+ <iframe title="i18n, Markdown, JSON… one single solution to manage it all | Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/1VHgSY_j9_I?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
32
32
 
33
33
  ## What is a Content File?
34
34
 
package/docs/en/index.md CHANGED
@@ -98,6 +98,7 @@ We’ve built Intlayer with flexibility in mind, offering seamless integration a
98
98
  - **[Intlayer with React CRA](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_create_react_app.md)**
99
99
  - **[Intlayer with Vite + React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_vite+react.md)**
100
100
  - **[Intlayer with React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_react_router_v7.md)**
101
+ - **[Intlayer with React Router v7 (fs routes)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_react_router_v7_fs_routes.md)**
101
102
  - **[Intlayer with Tanstack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_tanstack.md)**
102
103
  - **[Intlayer with React Native and Expo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_react_native+expo.md)**
103
104
  - **[Intlayer with Lynx and React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_lynx+react.md)**
@@ -31,7 +31,7 @@ history:
31
31
 
32
32
  # Intlayer Content Management System (CMS) Documentation
33
33
 
34
- <iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
34
+ <iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
35
35
 
36
36
  The Intlayer CMS is am Application that allows you to externalize your content of an Intlayer project.
37
37
 
@@ -33,7 +33,7 @@ history:
33
33
 
34
34
  # Intlayer Visual Editor Documentation
35
35
 
36
- <iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
36
+ <iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
37
37
 
38
38
  The Intlayer Visual Editor is a tool that will wrap your website to interact with your content declaration files using a visual editor.
39
39
 
@@ -71,7 +71,7 @@ With Intlayer, you can:
71
71
  <Tab defaultTab="video">
72
72
  <TabItem label="Video" value="video">
73
73
 
74
- <iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
74
+ <iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
75
75
 
76
76
  </TabItem>
77
77
  <TabItem label="Code" value="code">
@@ -30,7 +30,7 @@ history:
30
30
  <Tab defaultTab="video">
31
31
  <TabItem label="Video" value="video">
32
32
 
33
- <iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
33
+ <iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
34
34
 
35
35
  </TabItem>
36
36
  <TabItem label="Code" value="code">
@@ -52,7 +52,7 @@ With Intlayer, you can:
52
52
  <Tab defaultTab="video">
53
53
  <TabItem label="Video" value="video">
54
54
 
55
- <iframe title="How to translate your Nuxt and Vue app using Intlayer? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/nhUcUAVQ6eQ?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
55
+ <iframe title="How to translate your Nuxt and Vue app using Intlayer? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/nhUcUAVQ6eQ?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
56
56
 
57
57
  </TabItem>
58
58
  <TabItem label="Code" value="code">
@@ -91,7 +91,7 @@ pnpm add vite-intlayer --save-dev
91
91
  <Tab defaultTab="video">
92
92
  <TabItem label="Video" value="video">
93
93
 
94
- <iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
94
+ <iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
95
95
 
96
96
  </TabItem>
97
97
  <TabItem label="Code" value="code">
@@ -54,7 +54,7 @@ With Intlayer, you can:
54
54
  <Tab defaultTab="video">
55
55
  <TabItem label="Video" value="video">
56
56
 
57
- <iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
57
+ <iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
58
58
 
59
59
  </TabItem>
60
60
  <TabItem label="Code" value="code">
@@ -66,7 +66,7 @@ With Intlayer, you can:
66
66
  <Tab defaultTab="video">
67
67
  <TabItem label="Video" value="video">
68
68
 
69
- <iframe title="The best i18n solution for Tanstack Start? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
69
+ <iframe title="The best i18n solution for Tanstack Start? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
70
70
 
71
71
  </TabItem>
72
72
  <TabItem label="Code" value="code">
@@ -220,17 +220,17 @@ const appContent = {
220
220
  }),
221
221
  },
222
222
  meta: {
223
+ title: t({
224
+ en: "Welcome to Intlayer + TanStack Router",
225
+ es: "Bienvenido a Intlayer + TanStack Router",
226
+ fr: "Bienvenue à Intlayer + TanStack Router",
227
+ }),
223
228
  description: t({
224
229
  en: "This is an example of using Intlayer with TanStack Router",
225
230
  es: "Este es un ejemplo de uso de Intlayer con TanStack Router",
226
231
  fr: "Ceci est un exemple d'utilisation d'Intlayer avec TanStack Router",
227
232
  }),
228
233
  },
229
- title: t({
230
- en: "Welcome to Intlayer + TanStack Router",
231
- es: "Bienvenido a Intlayer + TanStack Router",
232
- fr: "Bienvenue à Intlayer + TanStack Router",
233
- }),
234
234
  },
235
235
  key: "app",
236
236
  } satisfies Dictionary;
@@ -512,10 +512,11 @@ function LayoutComponent() {
512
512
  useI18nHTMLAttributes(); // add this line
513
513
 
514
514
  const { locale } = Route.useParams();
515
+ const { defaultLocale } = useLocale();
515
516
 
516
517
  return (
517
518
  <IntlayerProvider
518
- locale={locale} // If no locale included as a parameter, the default locale will be used
519
+ locale={locale ?? defaultLocale} // If no locale included as a parameter, the default locale will be used
519
520
  >
520
521
  <Outlet />
521
522
  </IntlayerProvider>
@@ -1467,8 +1467,7 @@ import { useLocale, useLocation, route } from "preact-intlayer"; // Assuming use
1467
1467
  import type { JSX } from "preact"; // For HTMLAttributes
1468
1468
  import { forwardRef } from "preact/compat"; // For forwarding refs
1469
1469
 
1470
- export interface LocalizedLinkProps
1471
- extends JSX.HTMLAttributes<HTMLAnchorElement> {
1470
+ export interface LocalizedLinkProps extends JSX.HTMLAttributes<HTMLAnchorElement> {
1472
1471
  href: string;
1473
1472
  replace?: boolean; // Optional: to replace history state
1474
1473
  }
@@ -47,7 +47,7 @@ With Intlayer, you can:
47
47
  <Tab defaultTab="video">
48
48
  <TabItem label="Video" value="video">
49
49
 
50
- <iframe title="The best i18n solution for Vite and React? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
50
+ <iframe title="The best i18n solution for Vite and React? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
51
51
 
52
52
  </TabItem>
53
53
  <TabItem label="Code" value="code">
@@ -46,7 +46,7 @@ With Intlayer, you can:
46
46
  <Tab defaultTab="video">
47
47
  <TabItem label="Video" value="video">
48
48
 
49
- <iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
49
+ <iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/IE3XWkZ6a5U?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
50
50
 
51
51
  </TabItem>
52
52
  <TabItem label="Code" value="code">
@@ -34,7 +34,7 @@ history:
34
34
 
35
35
  # Sync JSON (i18n bridges) - Sync JSON with ICU / i18next support
36
36
 
37
- <iframe title="How to keep your JSON translations in sync with Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
37
+ <iframe title="How to keep your JSON translations in sync with Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
38
38
 
39
39
  Use Intlayer as an add‑on to your existing i18n stack. This plugin keeps your JSON messages in sync with Intlayer dictionaries so you can:
40
40
 
@@ -103,6 +103,10 @@ To see how to configure available locales, or other parameters, refer to the [co
103
103
 
104
104
  ## Run intlayer commands
105
105
 
106
+ ### Authentication
107
+
108
+ - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/login.md)** - Authenticate with the Intlayer CMS and get access credentials
109
+
106
110
  ### Core Commands
107
111
 
108
112
  - **[Build Dictionaries](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/build.md)** - Build your dictionaries from content declaration files
@@ -144,6 +148,7 @@ To see how to configure available locales, or other parameters, refer to the [co
144
148
 
145
149
  ```json fileName="package.json"
146
150
  "scripts": {
151
+ "intlayer:login": "npx intlayer login",
147
152
  "intlayer:build": "npx intlayer build",
148
153
  "intlayer:watch": "npx intlayer build --watch",
149
154
  "intlayer:push": "npx intlayer push",