@intlayer/docs 7.5.10 → 7.5.12

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 (313) hide show
  1. package/blog/ar/intlayer_with_i18next.md +0 -2
  2. package/blog/ar/intlayer_with_next-i18next.md +0 -2
  3. package/blog/ar/intlayer_with_react-i18next.md +0 -2
  4. package/blog/de/intlayer_with_i18next.md +0 -45
  5. package/blog/de/intlayer_with_next-i18next.md +0 -46
  6. package/blog/de/intlayer_with_react-i18next.md +0 -2
  7. package/blog/en/intlayer_with_i18next.md +0 -46
  8. package/blog/en/intlayer_with_next-i18next.md +0 -48
  9. package/blog/en/intlayer_with_next-intl.md +0 -44
  10. package/blog/en/intlayer_with_react-i18next.md +0 -44
  11. package/blog/en/intlayer_with_react-intl.md +0 -42
  12. package/blog/en/intlayer_with_vue-i18n.md +0 -44
  13. package/blog/en-GB/intlayer_with_i18next.md +0 -45
  14. package/blog/en-GB/intlayer_with_next-i18next.md +0 -47
  15. package/blog/en-GB/intlayer_with_next-intl.md +0 -42
  16. package/blog/en-GB/intlayer_with_react-i18next.md +0 -43
  17. package/blog/en-GB/intlayer_with_react-intl.md +0 -42
  18. package/blog/en-GB/intlayer_with_vue-i18n.md +0 -46
  19. package/blog/es/intlayer_with_i18next.md +0 -45
  20. package/blog/es/intlayer_with_next-i18next.md +0 -47
  21. package/blog/es/intlayer_with_next-intl.md +0 -42
  22. package/blog/es/intlayer_with_react-i18next.md +0 -43
  23. package/blog/es/intlayer_with_react-intl.md +0 -42
  24. package/blog/es/intlayer_with_vue-i18n.md +0 -46
  25. package/blog/fr/intlayer_with_i18next.md +0 -45
  26. package/blog/fr/intlayer_with_next-i18next.md +0 -47
  27. package/blog/fr/intlayer_with_next-intl.md +0 -42
  28. package/blog/fr/intlayer_with_react-i18next.md +0 -43
  29. package/blog/fr/intlayer_with_react-intl.md +0 -42
  30. package/blog/fr/intlayer_with_vue-i18n.md +0 -46
  31. package/blog/hi/intlayer_with_i18next.md +0 -2
  32. package/blog/hi/intlayer_with_next-i18next.md +0 -2
  33. package/blog/hi/intlayer_with_react-i18next.md +0 -2
  34. package/blog/id/intlayer_with_i18next.md +0 -2
  35. package/blog/id/intlayer_with_next-i18next.md +0 -2
  36. package/blog/id/intlayer_with_react-i18next.md +0 -2
  37. package/blog/it/intlayer_with_i18next.md +0 -2
  38. package/blog/it/intlayer_with_next-i18next.md +0 -2
  39. package/blog/it/intlayer_with_react-i18next.md +0 -2
  40. package/blog/ja/intlayer_with_i18next.md +0 -45
  41. package/blog/ja/intlayer_with_next-i18next.md +0 -46
  42. package/blog/ja/intlayer_with_next-intl.md +0 -42
  43. package/blog/ja/intlayer_with_react-i18next.md +0 -42
  44. package/blog/ja/intlayer_with_react-intl.md +0 -42
  45. package/blog/ja/intlayer_with_vue-i18n.md +0 -46
  46. package/blog/ko/intlayer_with_i18next.md +0 -2
  47. package/blog/ko/intlayer_with_next-i18next.md +0 -2
  48. package/blog/ko/intlayer_with_react-i18next.md +0 -1
  49. package/blog/pl/intlayer_with_i18next.md +0 -45
  50. package/blog/pl/intlayer_with_next-i18next.md +0 -46
  51. package/blog/pl/intlayer_with_next-intl.md +0 -42
  52. package/blog/pl/intlayer_with_react-i18next.md +0 -43
  53. package/blog/pl/intlayer_with_react-intl.md +0 -42
  54. package/blog/pl/intlayer_with_vue-i18n.md +0 -46
  55. package/blog/pt/intlayer_with_i18next.md +0 -2
  56. package/blog/pt/intlayer_with_next-i18next.md +0 -2
  57. package/blog/pt/intlayer_with_react-i18next.md +0 -2
  58. package/blog/ru/intlayer_with_i18next.md +0 -45
  59. package/blog/ru/intlayer_with_next-i18next.md +0 -47
  60. package/blog/ru/intlayer_with_next-intl.md +0 -42
  61. package/blog/ru/intlayer_with_react-i18next.md +0 -43
  62. package/blog/ru/intlayer_with_react-intl.md +0 -42
  63. package/blog/ru/intlayer_with_vue-i18n.md +0 -46
  64. package/blog/tr/intlayer_with_i18next.md +0 -2
  65. package/blog/tr/intlayer_with_next-i18next.md +0 -1
  66. package/blog/tr/intlayer_with_react-i18next.md +0 -2
  67. package/blog/vi/intlayer_with_i18next.md +0 -2
  68. package/blog/vi/intlayer_with_next-i18next.md +0 -2
  69. package/blog/vi/intlayer_with_react-i18next.md +0 -2
  70. package/blog/zh/intlayer_with_i18next.md +0 -2
  71. package/blog/zh/intlayer_with_next-i18next.md +0 -2
  72. package/blog/zh/intlayer_with_react-i18next.md +0 -2
  73. package/blog/zh/intlayer_with_vue-i18n.md +0 -46
  74. package/dist/cjs/generated/blog.entry.cjs +58 -29
  75. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  76. package/dist/cjs/generated/docs.entry.cjs +254 -97
  77. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  78. package/dist/cjs/generated/frequentQuestions.entry.cjs +30 -15
  79. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  80. package/dist/cjs/generated/legal.entry.cjs +4 -2
  81. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  82. package/dist/esm/generated/blog.entry.mjs +58 -29
  83. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  84. package/dist/esm/generated/docs.entry.mjs +254 -97
  85. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  86. package/dist/esm/generated/frequentQuestions.entry.mjs +30 -15
  87. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  88. package/dist/esm/generated/legal.entry.mjs +4 -2
  89. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  90. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  91. package/dist/types/generated/docs.entry.d.ts +3 -0
  92. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  93. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  94. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  95. package/docs/ar/cli/ci.md +137 -0
  96. package/docs/ar/cli/index.md +7 -1
  97. package/docs/ar/cli/list.md +39 -2
  98. package/docs/ar/cli/list_projects.md +131 -0
  99. package/docs/ar/intlayer_CMS.md +20 -0
  100. package/docs/ar/intlayer_with_next-i18next.md +0 -1
  101. package/docs/ar/intlayer_with_nextjs_14.md +28 -0
  102. package/docs/ar/intlayer_with_nextjs_15.md +28 -0
  103. package/docs/ar/intlayer_with_nextjs_16.md +28 -0
  104. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1159 -0
  105. package/docs/ar/plugins/sync-json.md +6 -2
  106. package/docs/de/cli/ci.md +137 -0
  107. package/docs/de/cli/index.md +7 -1
  108. package/docs/de/cli/list.md +39 -2
  109. package/docs/de/cli/list_projects.md +130 -0
  110. package/docs/de/intlayer_CMS.md +20 -0
  111. package/docs/de/intlayer_with_next-i18next.md +0 -1
  112. package/docs/de/intlayer_with_nextjs_14.md +28 -0
  113. package/docs/de/intlayer_with_nextjs_15.md +28 -0
  114. package/docs/de/intlayer_with_nextjs_16.md +28 -0
  115. package/docs/de/intlayer_with_nextjs_no_locale_path.md +1152 -0
  116. package/docs/de/plugins/sync-json.md +6 -2
  117. package/docs/en/cli/ci.md +137 -0
  118. package/docs/en/cli/index.md +14 -1
  119. package/docs/en/cli/list.md +39 -2
  120. package/docs/en/cli/list_projects.md +128 -0
  121. package/docs/en/interest_of_intlayer.md +1 -1
  122. package/docs/en/intlayer_CMS.md +20 -0
  123. package/docs/en/intlayer_with_next-i18next.md +0 -1
  124. package/docs/en/intlayer_with_nextjs_14.md +28 -0
  125. package/docs/en/intlayer_with_nextjs_15.md +28 -0
  126. package/docs/en/intlayer_with_nextjs_16.md +31 -1
  127. package/docs/en/intlayer_with_nextjs_no_locale_path.md +1132 -0
  128. package/docs/en/plugins/sync-json.md +6 -2
  129. package/docs/en-GB/cli/ci.md +137 -0
  130. package/docs/en-GB/cli/index.md +7 -1
  131. package/docs/en-GB/cli/list.md +39 -2
  132. package/docs/en-GB/cli/list_projects.md +130 -0
  133. package/docs/en-GB/intlayer_CMS.md +20 -0
  134. package/docs/en-GB/intlayer_with_next-i18next.md +0 -1
  135. package/docs/en-GB/intlayer_with_nextjs_14.md +28 -0
  136. package/docs/en-GB/intlayer_with_nextjs_15.md +28 -0
  137. package/docs/en-GB/intlayer_with_nextjs_16.md +28 -0
  138. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1154 -0
  139. package/docs/en-GB/plugins/sync-json.md +6 -2
  140. package/docs/es/cli/ci.md +137 -0
  141. package/docs/es/cli/index.md +7 -1
  142. package/docs/es/cli/list.md +39 -2
  143. package/docs/es/cli/list_projects.md +130 -0
  144. package/docs/es/intlayer_CMS.md +20 -0
  145. package/docs/es/intlayer_with_next-i18next.md +0 -1
  146. package/docs/es/intlayer_with_nextjs_14.md +28 -0
  147. package/docs/es/intlayer_with_nextjs_15.md +28 -0
  148. package/docs/es/intlayer_with_nextjs_16.md +28 -0
  149. package/docs/es/intlayer_with_nextjs_no_locale_path.md +1143 -0
  150. package/docs/es/plugins/sync-json.md +6 -2
  151. package/docs/fr/cli/ci.md +137 -0
  152. package/docs/fr/cli/index.md +7 -1
  153. package/docs/fr/cli/list.md +39 -2
  154. package/docs/fr/cli/list_projects.md +131 -0
  155. package/docs/fr/intlayer_CMS.md +20 -0
  156. package/docs/fr/intlayer_with_next-i18next.md +0 -1
  157. package/docs/fr/intlayer_with_nextjs_14.md +28 -0
  158. package/docs/fr/intlayer_with_nextjs_15.md +28 -0
  159. package/docs/fr/intlayer_with_nextjs_16.md +28 -0
  160. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1174 -0
  161. package/docs/fr/plugins/sync-json.md +9 -5
  162. package/docs/hi/cli/ci.md +137 -0
  163. package/docs/hi/cli/index.md +7 -1
  164. package/docs/hi/cli/list.md +38 -1
  165. package/docs/hi/cli/list_projects.md +130 -0
  166. package/docs/hi/intlayer_CMS.md +20 -0
  167. package/docs/hi/intlayer_with_next-i18next.md +0 -1
  168. package/docs/hi/intlayer_with_nextjs_14.md +28 -0
  169. package/docs/hi/intlayer_with_nextjs_15.md +28 -0
  170. package/docs/hi/intlayer_with_nextjs_16.md +28 -0
  171. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1151 -0
  172. package/docs/hi/plugins/sync-json.md +6 -2
  173. package/docs/id/cli/ci.md +137 -0
  174. package/docs/id/cli/index.md +7 -1
  175. package/docs/id/cli/list.md +38 -1
  176. package/docs/id/cli/list_projects.md +128 -0
  177. package/docs/id/intlayer_CMS.md +20 -0
  178. package/docs/id/intlayer_with_next-i18next.md +0 -1
  179. package/docs/id/intlayer_with_nextjs_14.md +28 -0
  180. package/docs/id/intlayer_with_nextjs_15.md +28 -0
  181. package/docs/id/intlayer_with_nextjs_16.md +28 -0
  182. package/docs/id/intlayer_with_nextjs_no_locale_path.md +1154 -0
  183. package/docs/id/plugins/sync-json.md +6 -2
  184. package/docs/it/cli/ci.md +137 -0
  185. package/docs/it/cli/index.md +7 -1
  186. package/docs/it/cli/list.md +39 -2
  187. package/docs/it/cli/list_projects.md +130 -0
  188. package/docs/it/intlayer_CMS.md +20 -0
  189. package/docs/it/intlayer_with_next-i18next.md +0 -1
  190. package/docs/it/intlayer_with_nextjs_14.md +28 -0
  191. package/docs/it/intlayer_with_nextjs_15.md +28 -0
  192. package/docs/it/intlayer_with_nextjs_16.md +28 -0
  193. package/docs/it/intlayer_with_nextjs_no_locale_path.md +1148 -0
  194. package/docs/it/plugins/sync-json.md +6 -2
  195. package/docs/ja/cli/ci.md +137 -0
  196. package/docs/ja/cli/index.md +7 -1
  197. package/docs/ja/cli/list.md +38 -1
  198. package/docs/ja/cli/list_projects.md +136 -0
  199. package/docs/ja/intlayer_CMS.md +20 -0
  200. package/docs/ja/intlayer_with_next-i18next.md +0 -1
  201. package/docs/ja/intlayer_with_nextjs_14.md +28 -0
  202. package/docs/ja/intlayer_with_nextjs_15.md +28 -0
  203. package/docs/ja/intlayer_with_nextjs_16.md +28 -0
  204. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1222 -0
  205. package/docs/ja/plugins/sync-json.md +6 -2
  206. package/docs/ko/cli/ci.md +137 -0
  207. package/docs/ko/cli/index.md +7 -1
  208. package/docs/ko/cli/list.md +38 -1
  209. package/docs/ko/cli/list_projects.md +128 -0
  210. package/docs/ko/intlayer_CMS.md +20 -0
  211. package/docs/ko/intlayer_with_next-i18next.md +0 -1
  212. package/docs/ko/intlayer_with_nextjs_14.md +28 -0
  213. package/docs/ko/intlayer_with_nextjs_15.md +28 -0
  214. package/docs/ko/intlayer_with_nextjs_16.md +28 -0
  215. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1205 -0
  216. package/docs/ko/plugins/sync-json.md +6 -2
  217. package/docs/pl/cli/ci.md +137 -0
  218. package/docs/pl/cli/index.md +7 -1
  219. package/docs/pl/cli/list.md +39 -2
  220. package/docs/pl/cli/list_projects.md +130 -0
  221. package/docs/pl/intlayer_CMS.md +20 -0
  222. package/docs/pl/intlayer_with_next-i18next.md +0 -1
  223. package/docs/pl/intlayer_with_nextjs_14.md +28 -0
  224. package/docs/pl/intlayer_with_nextjs_15.md +28 -0
  225. package/docs/pl/intlayer_with_nextjs_16.md +28 -0
  226. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1149 -0
  227. package/docs/pl/plugins/sync-json.md +6 -2
  228. package/docs/pt/cli/ci.md +137 -0
  229. package/docs/pt/cli/index.md +7 -1
  230. package/docs/pt/cli/list.md +39 -2
  231. package/docs/pt/cli/list_projects.md +134 -0
  232. package/docs/pt/intlayer_CMS.md +20 -0
  233. package/docs/pt/intlayer_with_next-i18next.md +0 -1
  234. package/docs/pt/intlayer_with_nextjs_14.md +28 -0
  235. package/docs/pt/intlayer_with_nextjs_15.md +28 -0
  236. package/docs/pt/intlayer_with_nextjs_16.md +28 -0
  237. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1152 -0
  238. package/docs/pt/plugins/sync-json.md +6 -2
  239. package/docs/ru/cli/ci.md +137 -0
  240. package/docs/ru/cli/index.md +7 -1
  241. package/docs/ru/cli/list.md +39 -2
  242. package/docs/ru/cli/list_projects.md +130 -0
  243. package/docs/ru/intlayer_CMS.md +20 -0
  244. package/docs/ru/intlayer_with_next-i18next.md +0 -1
  245. package/docs/ru/intlayer_with_nextjs_14.md +28 -0
  246. package/docs/ru/intlayer_with_nextjs_15.md +28 -0
  247. package/docs/ru/intlayer_with_nextjs_16.md +28 -0
  248. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1204 -0
  249. package/docs/ru/plugins/sync-json.md +6 -2
  250. package/docs/tr/cli/ci.md +137 -0
  251. package/docs/tr/cli/index.md +7 -1
  252. package/docs/tr/cli/list.md +39 -2
  253. package/docs/tr/cli/list_projects.md +134 -0
  254. package/docs/tr/intlayer_CMS.md +20 -0
  255. package/docs/tr/intlayer_with_next-i18next.md +0 -1
  256. package/docs/tr/intlayer_with_nextjs_14.md +28 -0
  257. package/docs/tr/intlayer_with_nextjs_15.md +28 -0
  258. package/docs/tr/intlayer_with_nextjs_16.md +28 -0
  259. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1159 -0
  260. package/docs/tr/plugins/sync-json.md +6 -2
  261. package/docs/uk/compiler.md +133 -0
  262. package/docs/uk/component_i18n.md +194 -0
  263. package/docs/uk/intlayer_with_nextjs_14.md +1646 -0
  264. package/docs/uk/intlayer_with_nextjs_15.md +1910 -0
  265. package/docs/uk/intlayer_with_nextjs_16.md +1763 -0
  266. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1159 -0
  267. package/docs/uk/intlayer_with_react_native+expo.md +715 -0
  268. package/docs/uk/packages/intlayer/getConfiguration.md +145 -0
  269. package/docs/uk/vs_code_extension.md +133 -0
  270. package/docs/vi/cli/ci.md +137 -0
  271. package/docs/vi/cli/index.md +7 -1
  272. package/docs/vi/cli/list.md +38 -1
  273. package/docs/vi/cli/list_projects.md +130 -0
  274. package/docs/vi/intlayer_CMS.md +20 -0
  275. package/docs/vi/intlayer_with_next-i18next.md +0 -1
  276. package/docs/vi/intlayer_with_nextjs_14.md +28 -0
  277. package/docs/vi/intlayer_with_nextjs_15.md +28 -0
  278. package/docs/vi/intlayer_with_nextjs_16.md +28 -0
  279. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1151 -0
  280. package/docs/vi/plugins/sync-json.md +6 -2
  281. package/docs/zh/cli/ci.md +137 -0
  282. package/docs/zh/cli/index.md +7 -1
  283. package/docs/zh/cli/list.md +38 -1
  284. package/docs/zh/cli/list_projects.md +130 -0
  285. package/docs/zh/intlayer_CMS.md +20 -0
  286. package/docs/zh/intlayer_with_next-i18next.md +0 -1
  287. package/docs/zh/intlayer_with_nextjs_14.md +28 -0
  288. package/docs/zh/intlayer_with_nextjs_15.md +28 -0
  289. package/docs/zh/intlayer_with_nextjs_16.md +28 -0
  290. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1206 -0
  291. package/docs/zh/plugins/sync-json.md +9 -5
  292. package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -1
  293. package/frequent_questions/de/SSR_Next_no_[locale].md +1 -1
  294. package/frequent_questions/en/SSR_Next_no_[locale].md +1 -1
  295. package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -1
  296. package/frequent_questions/es/SSR_Next_no_[locale].md +1 -1
  297. package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -1
  298. package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -1
  299. package/frequent_questions/id/SSR_Next_no_[locale].md +1 -1
  300. package/frequent_questions/it/SSR_Next_no_[locale].md +1 -1
  301. package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -1
  302. package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -1
  303. package/frequent_questions/pl/SSR_Next_no_[locale].md +1 -1
  304. package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -1
  305. package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -1
  306. package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -1
  307. package/frequent_questions/vi/SSR_Next_no_[locale].md +1 -1
  308. package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -1
  309. package/package.json +6 -6
  310. package/src/generated/blog.entry.ts +29 -0
  311. package/src/generated/docs.entry.ts +157 -0
  312. package/src/generated/frequentQuestions.entry.ts +15 -0
  313. package/src/generated/legal.entry.ts +2 -0
@@ -108,18 +108,22 @@ syncJSON({
108
108
  source: ({ key, locale }) => string, // required
109
109
  location?: string, // optional label, default: "plugin"
110
110
  priority?: number, // optional priority for conflict resolution, default: 0
111
- format?: 'intlayer' | 'icu' | 'i18next', // optional formatter, default: 'intlayer'
111
+ format?: 'intlayer' | 'icu' | 'i18next', // optional formatter, used for intlayer runtime compatibility
112
112
  });
113
113
  ```
114
114
 
115
115
  #### `format` ('intlayer' | 'icu' | 'i18next')
116
116
 
117
- Specifies the formatter to use for the dictionary content when synchronising JSON files. This allows using different message formatting syntaxes compatible with various i18n libraries.
117
+ Specifies the formatter to use for the dictionary content when synchronising JSON files. This allows using different message formatting syntaxes compatible with intlayer runtime.
118
118
 
119
+ - `undefined`: No formatter will be used, the JSON content will be used as is.
119
120
  - `'intlayer'`: The default Intlayer formatter (default).
120
121
  - `'icu'`: Uses ICU message formatting (compatible with libraries like react-intl, vue-i18n).
121
122
  - `'i18next'`: Uses i18next message formatting (compatible with i18next, next-i18next, Solid-i18next).
122
123
 
124
+ > Note that using a formatter will transform your JSON content in input, and output. For complex json rules as ICU plurals, the parsing may not ensure a 1 to 1 mapping between the input and output.
125
+ > If you do not use Intlayer runtime, you may prefer to not set a formatter.
126
+
123
127
  **Example:**
124
128
 
125
129
  ```ts
@@ -0,0 +1,137 @@
1
+ ---
2
+ createdAt: 2026-01-06
3
+ updatedAt: 2026-01-06
4
+ title: Comando CI
5
+ description: Aprende a usar el comando Intlayer CI para ejecutar comandos Intlayer con credenciales auto-inyectadas en pipelines CI/CD y monorepos.
6
+ keywords:
7
+ - CI
8
+ - CI/CD
9
+ - Automatización
10
+ - Monorepo
11
+ - Credenciales
12
+ - CLI
13
+ - Intlayer
14
+ slugs:
15
+ - doc
16
+ - concept
17
+ - cli
18
+ - ci
19
+ history:
20
+ - version: 7.5.11
21
+ date: 2026-01-06
22
+ changes: Agregar comando CI
23
+ ---
24
+
25
+ # Comando CI
26
+
27
+ ```bash
28
+ npx intlayer ci <command...>
29
+ ```
30
+
31
+ El comando CI está diseñado para automatización y pipelines CI/CD. Inyecta automáticamente credenciales desde la variable de entorno `INTLAYER_PROJECT_CREDENTIALS` y puede ejecutar comandos Intlayer en múltiples proyectos en un monorepo.
32
+
33
+ ## Cómo funciona
34
+
35
+ El comando CI opera en dos modos:
36
+
37
+ 1. **Modo de proyecto único**: Si el directorio de trabajo actual coincide con una de las rutas de proyecto en `INTLAYER_PROJECT_CREDENTIALS`, ejecuta el comando solo para ese proyecto específico.
38
+
39
+ 2. **Modo de iteración**: Si no se detecta un contexto de proyecto específico, itera sobre todos los proyectos configurados y ejecuta el comando para cada uno.
40
+
41
+ ## Variable de entorno
42
+
43
+ El comando requiere que se establezca la variable de entorno `INTLAYER_PROJECT_CREDENTIALS`. Esta variable debe contener un objeto JSON que mapee las rutas de proyecto a sus credenciales:
44
+
45
+ ```json
46
+ {
47
+ "packages/app": {
48
+ "clientId": "your-client-id-1",
49
+ "clientSecret": "your-client-secret-1"
50
+ },
51
+ "packages/admin": {
52
+ "clientId": "your-client-id-2",
53
+ "clientSecret": "your-client-secret-2"
54
+ }
55
+ }
56
+ ```
57
+
58
+ ## Detección del gestor de paquetes
59
+
60
+ El comando CI detecta automáticamente qué gestor de paquetes se está usando (npm, yarn, pnpm o bun) basándose en la variable de entorno `npm_config_user_agent` y usa el comando apropiado para ejecutar Intlayer.
61
+
62
+ ## Argumentos
63
+
64
+ - **`<command...>`**: El comando Intlayer a ejecutar (por ejemplo, `fill`, `push`, `build`). Puedes pasar cualquier comando Intlayer y sus argumentos.
65
+
66
+ > Ejemplo: `npx intlayer ci fill --verbose`
67
+ >
68
+ > Ejemplo: `npx intlayer ci push`
69
+ >
70
+ > Ejemplo: `npx intlayer ci build`
71
+
72
+ ## Ejemplos
73
+
74
+ ### Ejecutar un comando en modo de proyecto único
75
+
76
+ Si estás en un directorio de proyecto que coincide con una de las rutas en `INTLAYER_PROJECT_CREDENTIALS`:
77
+
78
+ ```bash
79
+ cd packages/app
80
+ npx intlayer ci fill
81
+ ```
82
+
83
+ Esto ejecutará el comando `fill` con las credenciales inyectadas automáticamente para el proyecto `packages/app`.
84
+
85
+ ### Ejecutar un comando en todos los proyectos
86
+
87
+ Si estás en un directorio que no coincide con ninguna ruta de proyecto, el comando iterará sobre todos los proyectos configurados:
88
+
89
+ ```bash
90
+ cd /path/to/monorepo
91
+ npx intlayer ci push
92
+ ```
93
+
94
+ Esto ejecutará el comando `push` para cada proyecto configurado en `INTLAYER_PROJECT_CREDENTIALS`.
95
+
96
+ ### Pasar banderas adicionales
97
+
98
+ Puedes pasar cualquier bandera al comando Intlayer subyacente:
99
+
100
+ ```bash
101
+ npx intlayer ci fill --verbose --mode complete
102
+ ```
103
+
104
+ ### Usar en pipelines CI/CD
105
+
106
+ En tu configuración CI/CD (por ejemplo, GitHub Actions, GitLab CI), establece `INTLAYER_PROJECT_CREDENTIALS` como secreto:
107
+
108
+ ```yaml
109
+ # Ejemplo de GitHub Actions
110
+ env:
111
+ INTLAYER_PROJECT_CREDENTIALS: ${{ secrets.INTLAYER_PROJECT_CREDENTIALS }}
112
+
113
+ steps:
114
+ - name: Llenar diccionarios
115
+ run: npx intlayer ci fill
116
+ ```
117
+
118
+ ## Manejo de errores
119
+
120
+ - Si `INTLAYER_PROJECT_CREDENTIALS` no está establecida, el comando saldrá con un error.
121
+ - Si `INTLAYER_PROJECT_CREDENTIALS` no es un JSON válido, el comando saldrá con un error.
122
+ - Si una ruta de proyecto no existe, se omitirá con una advertencia.
123
+ - Si algún proyecto falla, el comando saldrá con un código de estado distinto de cero.
124
+
125
+ ## Casos de uso
126
+
127
+ - **Automatización de monorepo**: Ejecutar comandos Intlayer en múltiples proyectos en un monorepo
128
+ - **Pipelines CI/CD**: Automatizar la gestión de diccionarios en flujos de trabajo de integración continua
129
+ - **Operaciones masivas**: Realizar la misma operación en múltiples proyectos Intlayer a la vez
130
+ - **Gestión de secretos**: Gestionar de forma segura las credenciales para múltiples proyectos usando variables de entorno
131
+
132
+ ## Mejores prácticas de seguridad
133
+
134
+ - Almacena `INTLAYER_PROJECT_CREDENTIALS` como secretos cifrados en tu plataforma CI/CD
135
+ - Nunca comprometas las credenciales en el control de versiones
136
+ - Usa credenciales específicas del entorno para diferentes entornos de despliegue
137
+ - Rota las credenciales regularmente
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-01-06
4
4
  title: CLI
5
5
  description: Descubre cómo usar el CLI de Intlayer para gestionar tu sitio web multilingüe. Sigue los pasos en esta documentación en línea para configurar tu proyecto en pocos minutos.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  - concept
18
18
  - cli
19
19
  history:
20
+ - version: 7.5.11
21
+ date: 2026-01-06
22
+ changes: Añadir comando projects list
20
23
  - version: 7.5.9
21
24
  date: 2025-12-30
22
25
  changes: Añadir comando init
@@ -119,6 +122,7 @@ Para ver cómo configurar los locales disponibles u otros parámetros, consulta
119
122
  - **[Construir Diccionarios](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/build.md)** - Construye tus diccionarios a partir de archivos de declaración de contenido
120
123
  - **[Observar Diccionarios](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/watch.md)** - Observa cambios y construye diccionarios automáticamente
121
124
  - **[Verificar Versión CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/version.md)** - Verifica la versión instalada del CLI de Intlayer
125
+ - **[Listar Proyectos](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/list_projects.md)** - Lista todos los proyectos Intlayer en un directorio o repositorio git
122
126
 
123
127
  ### Gestión de Diccionarios
124
128
 
@@ -166,6 +170,7 @@ Para ver cómo configurar los locales disponibles u otros parámetros, consulta
166
170
  "intlayer:list": "npx intlayer content list",
167
171
  "intlayer:test": "npx intlayer content test",
168
172
  "intlayer:transform": "npx intlayer transform",
173
+ "intlayer:projects": "npx intlayer projects list",
169
174
  "intlayer:doc:translate": "npx intlayer doc translate",
170
175
  "intlayer:doc:review": "npx intlayer doc review"
171
176
  }
@@ -175,3 +180,4 @@ Para ver cómo configurar los locales disponibles u otros parámetros, consulta
175
180
  >
176
181
  > - `npx intlayer list` en lugar de `npx intlayer content list`
177
182
  > - `npx intlayer test` en lugar de `npx intlayer content test`
183
+ > - `npx intlayer projects-list` o `npx intlayer pl` en lugar de `npx intlayer projects list`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-01-06
4
4
  title: Listar archivos de declaración de contenido
5
5
  description: Aprende cómo listar todos los archivos de declaración de contenido en tu proyecto.
6
6
  keywords:
@@ -13,6 +13,13 @@ slugs:
13
13
  - concept
14
14
  - cli
15
15
  - list
16
+ history:
17
+ - version: 7.5.12
18
+ date: 2026-01-06
19
+ changes: Agregar opción de salida absoluta al comando list
20
+ - version: 7.5.11
21
+ date: 2026-01-06
22
+ changes: Agregar opción de salida JSON al comando list
16
23
  ---
17
24
 
18
25
  # Listar archivos de declaración de contenido
@@ -27,14 +34,36 @@ npx intlayer content list
27
34
 
28
35
  Este comando muestra todos los archivos de declaración de contenido en tu proyecto, mostrando sus claves de diccionario y rutas de archivo. Es útil para obtener una visión general de todos tus archivos de contenido y verificar que sean correctamente detectados por Intlayer.
29
36
 
30
- ## Ejemplo:
37
+ ## Argumentos:
38
+
39
+ - **`--json`**: Muestra los resultados como JSON en lugar de texto formateado. Útil para scripting y acceso programático.
40
+
41
+ > Ejemplo: `npx intlayer content list --json`
42
+
43
+ ## Ejemplos:
44
+
45
+ ### Listar archivos de declaración de contenido:
31
46
 
32
47
  ```bash
33
48
  npx intlayer content list
34
49
  ```
35
50
 
51
+ ### Salida como JSON:
52
+
53
+ ```bash
54
+ npx intlayer content list --json
55
+ ```
56
+
57
+ ### Salida como rutas absolutas:
58
+
59
+ ```bash
60
+ npx intlayer content list --absolute
61
+ ```
62
+
36
63
  ## Salida de ejemplo:
37
64
 
65
+ ### Salida formateada:
66
+
38
67
  ```bash
39
68
  npx intlayer content list
40
69
  Archivos de declaración de contenido:
@@ -45,6 +74,14 @@ Archivos de declaración de contenido:
45
74
  Total de archivos de declaración de contenido: 3
46
75
  ```
47
76
 
77
+ ### Salida JSON:
78
+
79
+ ```bash
80
+ $ npx intlayer content list --json
81
+
82
+ [{"key":"home-page","path":"src/components/HomePage/homePage.content.ts"},{"key":"server-component","path":"src/components/ServerComponent/serverComponent.content.ts"},{"key":"client-component","path":"src/components/ClientComponent/clientComponent.content.ts"}]
83
+ ```
84
+
48
85
  Este comando mostrará:
49
86
 
50
87
  - Una lista formateada de todos los archivos de declaración de contenido con sus claves y rutas de archivo relativas
@@ -0,0 +1,130 @@
1
+ ---
2
+ createdAt: 2025-12-30
3
+ updatedAt: 2026-01-06
4
+ title: Listar proyectos de Intlayer
5
+ description: Aprende cómo listar todos los proyectos de Intlayer en un directorio o repositorio git.
6
+ keywords:
7
+ - Lista
8
+ - Proyectos
9
+ - CLI
10
+ - Intlayer
11
+ - Git
12
+ slugs:
13
+ - doc
14
+ - concept
15
+ - cli
16
+ - list-projects
17
+ history:
18
+ - version: 7.5.12
19
+ date: 2026-01-06
20
+ changes: Agregar opción de salida absoluta al comando list projects
21
+ ---
22
+
23
+ # Listar proyectos de Intlayer
24
+
25
+ ```bash
26
+ npx intlayer projects list
27
+ ```
28
+
29
+ Este comando busca y lista todos los proyectos de Intlayer encontrando directorios que contienen archivos de configuración de Intlayer. Es útil para descubrir todos los proyectos de Intlayer en un monorepo, workspace o repositorio git.
30
+
31
+ ## Alias:
32
+
33
+ - `npx intlayer projects-list`
34
+ - `npx intlayer pl`
35
+
36
+ ## Argumentos:
37
+
38
+ - **`--base-dir [path]`**: Especifica el directorio base desde el cual buscar. Por defecto es el directorio de trabajo actual.
39
+
40
+ > Ejemplo: `npx intlayer projects list --base-dir /path/to/workspace`
41
+
42
+ > Ejemplo: `npx intlayer projects list --base-dir /path/to/workspace`
43
+
44
+ - **`--git-root`**: Buscar desde el directorio raíz de git en lugar del directorio base. Esto es útil para encontrar todos los proyectos de Intlayer en un monorepo o repositorio git.
45
+
46
+ > Ejemplo: `npx intlayer projects list --git-root`
47
+
48
+ - **`--json`**: Muestra los resultados como JSON en lugar de texto formateado. Útil para scripting y acceso programático.
49
+
50
+ > Ejemplo: `npx intlayer projects list --json`
51
+
52
+ - **`--absolute`**: Muestra los resultados como rutas absolutas en lugar de rutas relativas.
53
+
54
+ > Ejemplo: `npx intlayer projects list --absolute`
55
+
56
+ ## Cómo funciona:
57
+
58
+ El comando busca archivos de configuración de Intlayer en el directorio especificado (o en la raíz del git si se usa `--git-root`). Busca los siguientes patrones de archivos de configuración:
59
+
60
+ - `intlayer.config.ts`
61
+ - `intlayer.config.js`
62
+ - `intlayer.config.json`
63
+ - `intlayer.config.cjs`
64
+ - `intlayer.config.mjs`
65
+ - `.intlayerrc`
66
+
67
+ Cada directorio que contenga uno de estos archivos se considera un proyecto de Intlayer y se listará en la salida.
68
+
69
+ ## Ejemplos:
70
+
71
+ ### Listar proyectos en el directorio actual:
72
+
73
+ ```bash
74
+ npx intlayer projects list
75
+ ```
76
+
77
+ ### Listar proyectos en un directorio específico:
78
+
79
+ ```bash
80
+ npx intlayer projects list --base-dir ./packages
81
+ ```
82
+
83
+ ### Listar todos los proyectos en el repositorio git:
84
+
85
+ ```bash
86
+ npx intlayer projects list --git-root
87
+ ```
88
+
89
+ ### Usar el alias corto:
90
+
91
+ ```bash
92
+ npx intlayer pl --git-root
93
+ ```
94
+
95
+ ### Salida como JSON:
96
+
97
+ ```bash
98
+ npx intlayer projects list --json
99
+ ```
100
+
101
+ ## Ejemplo de salida:
102
+
103
+ ### Salida formateada:
104
+
105
+ ```bash
106
+ $ npx intlayer projects list --git-root
107
+
108
+ Found 3 Intlayer project(s):
109
+
110
+ - /Users/user/workspace/packages/app
111
+ - /Users/user/workspace/packages/admin
112
+ - /Users/user/workspace/packages/shared
113
+ ```
114
+
115
+ ### Salida JSON:
116
+
117
+ ```bash
118
+ $ npx intlayer projects list --json
119
+
120
+ ["/Users/user/workspace/packages/app","/Users/user/workspace/packages/admin","/Users/user/workspace/packages/shared"]
121
+ ```
122
+
123
+ ## Casos de uso:
124
+
125
+ - **Gestión de monorepos**: Descubrir todos los proyectos Intlayer en una estructura monorepo
126
+ - **Descubrimiento de proyectos**: Encontrar todos los proyectos habilitados con Intlayer en un workspace
127
+ - **CI/CD**: Verificar proyectos Intlayer en flujos de trabajo automatizados
128
+ - **Documentación**: Generar documentación que liste todos los proyectos que usan Intlayer
129
+
130
+ La salida proporciona rutas absolutas a cada directorio de proyecto, lo que facilita la navegación hacia ellos o la automatización de operaciones sobre múltiples proyectos Intlayer.
@@ -71,6 +71,26 @@ Para la integración con Vite + React, consulta la [guía de configuración](htt
71
71
 
72
72
  ## Configuración
73
73
 
74
+ Ejecuta el siguiente comando para iniciar sesión en el Intlayer CMS:
75
+
76
+ ```bash packageManager="npm"
77
+ npx intlayer login
78
+ ```
79
+
80
+ ```bash packageManager="yarn"
81
+ yarn intlayer login
82
+ ```
83
+
84
+ ```bash packageManager="pnpm"
85
+ pnpm intlayer login
86
+ ```
87
+
88
+ ```bash packageManager="bun"
89
+ bunx intlayer login
90
+ ```
91
+
92
+ Esto abrirá tu navegador predeterminado para completar el proceso de autenticación y recibir las credenciales necesarias (Client ID y Client Secret) para usar los servicios de Intlayer.
93
+
74
94
  En tu archivo de configuración de Intlayer, puedes personalizar los ajustes del CMS:
75
95
 
76
96
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
@@ -593,7 +593,6 @@ const config: IntlayerConfig = {
593
593
  },
594
594
  plugins: [
595
595
  syncJSON({
596
- format: "i18next",
597
596
  source: ({ locale }) => `./locales/${locale}.json`,
598
597
  }),
599
598
  ],
@@ -81,6 +81,34 @@ El paquete que integra Intlayer con Next.js. Proporciona proveedores de contexto
81
81
 
82
82
  ### Paso 2: Configura tu proyecto
83
83
 
84
+ Here is the final structure that we will make:
85
+
86
+ ```bash
87
+ .
88
+ ├── src
89
+ │ ├── app
90
+ │ │ ├── [locale]
91
+ │ │ │ ├── layout.tsx # Locale layout for the Intlayer provider
92
+ │ │ │ ├── page.content.ts
93
+ │ │ │ └── page.tsx
94
+ │ │ └── layout.tsx # Root layout for style and global providers
95
+ │ ├── components
96
+ │ │ ├── client-component-example.content.ts
97
+ │ │ ├── ClientComponentExample.tsx
98
+ │ │ ├── LocaleSwitcher
99
+ │ │ │ ├── localeSwitcher.content.ts
100
+ │ │ │ └── LocaleSwitcher.tsx
101
+ │ │ ├── server-component-example.content.ts
102
+ │ │ └── ServerComponentExample.tsx
103
+ │ └── middleware.ts
104
+ ├── intlayer.config.ts
105
+ ├── next.config.ts
106
+ ├── package.json
107
+ └── tsconfig.json
108
+ ```
109
+
110
+ > If you don't want locale routing, intlayer can be used as a simple provider / hook. See [this guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md) for more details.
111
+
84
112
  Crea un archivo de configuración para configurar los idiomas de tu aplicación:
85
113
 
86
114
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
@@ -84,6 +84,34 @@ bunx intlayer init
84
84
 
85
85
  ### Paso 2: Configura tu proyecto
86
86
 
87
+ Here is the final structure that we will make:
88
+
89
+ ```bash
90
+ .
91
+ ├── src
92
+ │ ├── app
93
+ │ │ ├── [locale]
94
+ │ │ │ ├── layout.tsx # Locale layout for the Intlayer provider
95
+ │ │ │ ├── page.content.ts
96
+ │ │ │ └── page.tsx
97
+ │ │ └── layout.tsx # Root layout for style and global providers
98
+ │ ├── components
99
+ │ │ ├── client-component-example.content.ts
100
+ │ │ ├── ClientComponentExample.tsx
101
+ │ │ ├── LocaleSwitcher
102
+ │ │ │ ├── localeSwitcher.content.ts
103
+ │ │ │ └── LocaleSwitcher.tsx
104
+ │ │ ├── server-component-example.content.ts
105
+ │ │ └── ServerComponentExample.tsx
106
+ │ └── middleware.ts
107
+ ├── intlayer.config.ts
108
+ ├── next.config.ts
109
+ ├── package.json
110
+ └── tsconfig.json
111
+ ```
112
+
113
+ > If you don't want locale routing, intlayer can be used as a simple provider / hook. See [this guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md) for more details.
114
+
87
115
  Crea un archivo de configuración para configurar los idiomas de tu aplicación:
88
116
 
89
117
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
@@ -104,6 +104,34 @@ bunx intlayer init
104
104
 
105
105
  ### Paso 2: Configura tu proyecto
106
106
 
107
+ Here is the final structure that we will make:
108
+
109
+ ```bash
110
+ .
111
+ ├── src
112
+ │ ├── app
113
+ │ │ ├── [locale]
114
+ │ │ │ ├── layout.tsx # Locale layout for the Intlayer provider
115
+ │ │ │ ├── page.content.ts
116
+ │ │ │ └── page.tsx
117
+ │ │ └── layout.tsx # Root layout for style and global providers
118
+ │ ├── components
119
+ │ │ ├── client-component-example.content.ts
120
+ │ │ ├── ClientComponentExample.tsx
121
+ │ │ ├── LocaleSwitcher
122
+ │ │ │ ├── localeSwitcher.content.ts
123
+ │ │ │ └── LocaleSwitcher.tsx
124
+ │ │ ├── server-component-example.content.ts
125
+ │ │ └── ServerComponentExample.tsx
126
+ │ └── proxy.ts
127
+ ├── intlayer.config.ts
128
+ ├── next.config.ts
129
+ ├── package.json
130
+ └── tsconfig.json
131
+ ```
132
+
133
+ > If you don't want locale routing, intlayer can be used as a simple provider / hook. See [this guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md) for more details.
134
+
107
135
  Crea un archivo de configuración para configurar los idiomas de tu aplicación:
108
136
 
109
137
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"