@intlayer/docs 5.8.1 → 6.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/blog/ar/rag_powered_documentation_assistant.md +282 -0
  2. package/blog/de/rag_powered_documentation_assistant.md +282 -0
  3. package/blog/en/rag_powered_documentation_assistant.md +289 -0
  4. package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
  5. package/blog/es/rag_powered_documentation_assistant.md +308 -0
  6. package/blog/fr/rag_powered_documentation_assistant.md +308 -0
  7. package/blog/hi/rag_powered_documentation_assistant.md +284 -0
  8. package/blog/it/rag_powered_documentation_assistant.md +284 -0
  9. package/blog/ja/rag_powered_documentation_assistant.md +284 -0
  10. package/blog/ko/rag_powered_documentation_assistant.md +283 -0
  11. package/blog/pt/rag_powered_documentation_assistant.md +284 -0
  12. package/blog/ru/rag_powered_documentation_assistant.md +284 -0
  13. package/blog/tr/index.md +69 -0
  14. package/blog/tr/internationalization_and_SEO.md +273 -0
  15. package/blog/tr/intlayer_with_i18next.md +162 -0
  16. package/blog/tr/intlayer_with_next-i18next.md +367 -0
  17. package/blog/tr/intlayer_with_next-intl.md +392 -0
  18. package/blog/tr/intlayer_with_react-i18next.md +346 -0
  19. package/blog/tr/intlayer_with_react-intl.md +345 -0
  20. package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
  21. package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
  22. package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
  23. package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
  24. package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
  25. package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
  26. package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
  27. package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
  28. package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
  29. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
  30. package/blog/tr/rag_powered_documentation_assistant.md +284 -0
  31. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
  32. package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
  33. package/blog/tr/what_is_internationalization.md +166 -0
  34. package/blog/zh/rag_powered_documentation_assistant.md +284 -0
  35. package/dist/cjs/generated/blog.entry.cjs +212 -0
  36. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  37. package/dist/cjs/generated/docs.entry.cjs +660 -132
  38. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  39. package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
  40. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  41. package/dist/cjs/generated/legal.entry.cjs +6 -0
  42. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  43. package/dist/esm/generated/blog.entry.mjs +212 -0
  44. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  45. package/dist/esm/generated/docs.entry.mjs +660 -132
  46. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  47. package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
  48. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  49. package/dist/esm/generated/legal.entry.mjs +6 -0
  50. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  51. package/dist/types/generated/blog.entry.d.ts +1 -0
  52. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  53. package/dist/types/generated/docs.entry.d.ts +5 -2
  54. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  55. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  56. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  57. package/docs/ar/autoFill.md +41 -40
  58. package/docs/ar/configuration.md +202 -199
  59. package/docs/ar/dictionary/content_file.md +1059 -0
  60. package/docs/ar/intlayer_CMS.md +4 -4
  61. package/docs/ar/intlayer_with_nestjs.md +271 -0
  62. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  63. package/docs/ar/intlayer_with_react_router_v7.md +533 -0
  64. package/docs/ar/intlayer_with_tanstack.md +465 -299
  65. package/docs/ar/intlayer_with_vite+preact.md +7 -7
  66. package/docs/ar/intlayer_with_vite+react.md +7 -7
  67. package/docs/ar/intlayer_with_vite+vue.md +9 -9
  68. package/docs/ar/packages/vite-intlayer/index.md +3 -3
  69. package/docs/ar/readme.md +261 -0
  70. package/docs/ar/testing.md +199 -0
  71. package/docs/de/autoFill.md +42 -19
  72. package/docs/de/configuration.md +155 -147
  73. package/docs/de/dictionary/content_file.md +1059 -0
  74. package/docs/de/intlayer_CMS.md +4 -5
  75. package/docs/de/intlayer_with_nestjs.md +270 -0
  76. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  77. package/docs/de/intlayer_with_react_router_v7.md +537 -0
  78. package/docs/de/intlayer_with_tanstack.md +469 -302
  79. package/docs/de/intlayer_with_vite+preact.md +7 -7
  80. package/docs/de/intlayer_with_vite+react.md +7 -7
  81. package/docs/de/intlayer_with_vite+vue.md +9 -9
  82. package/docs/de/packages/vite-intlayer/index.md +3 -3
  83. package/docs/de/readme.md +261 -0
  84. package/docs/de/testing.md +200 -0
  85. package/docs/en/CI_CD.md +4 -6
  86. package/docs/en/autoFill.md +25 -5
  87. package/docs/en/configuration.md +45 -54
  88. package/docs/en/dictionary/content_file.md +1054 -0
  89. package/docs/en/intlayer_CMS.md +8 -7
  90. package/docs/en/intlayer_cli.md +112 -5
  91. package/docs/en/intlayer_with_nestjs.md +268 -0
  92. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  93. package/docs/en/intlayer_with_react_router_v7.md +531 -0
  94. package/docs/en/intlayer_with_tanstack.md +463 -294
  95. package/docs/en/intlayer_with_vite+preact.md +8 -8
  96. package/docs/en/intlayer_with_vite+react.md +8 -8
  97. package/docs/en/intlayer_with_vite+vue.md +8 -8
  98. package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
  99. package/docs/en/packages/vite-intlayer/index.md +3 -3
  100. package/docs/en/readme.md +261 -0
  101. package/docs/en/testing.md +200 -0
  102. package/docs/en-GB/autoFill.md +29 -6
  103. package/docs/en-GB/configuration.md +79 -71
  104. package/docs/en-GB/dictionary/content_file.md +1084 -0
  105. package/docs/en-GB/intlayer_CMS.md +4 -5
  106. package/docs/en-GB/intlayer_with_nestjs.md +268 -0
  107. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  108. package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
  109. package/docs/en-GB/intlayer_with_tanstack.md +466 -299
  110. package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
  111. package/docs/en-GB/intlayer_with_vite+react.md +7 -7
  112. package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
  113. package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
  114. package/docs/en-GB/readme.md +261 -0
  115. package/docs/en-GB/testing.md +200 -0
  116. package/docs/es/autoFill.md +45 -23
  117. package/docs/es/configuration.md +171 -167
  118. package/docs/es/dictionary/content_file.md +1088 -0
  119. package/docs/es/intlayer_CMS.md +4 -5
  120. package/docs/es/intlayer_with_nestjs.md +268 -0
  121. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  122. package/docs/es/intlayer_with_react_router_v7.md +533 -0
  123. package/docs/es/intlayer_with_tanstack.md +469 -280
  124. package/docs/es/intlayer_with_vite+preact.md +7 -7
  125. package/docs/es/intlayer_with_vite+react.md +7 -7
  126. package/docs/es/intlayer_with_vite+vue.md +9 -9
  127. package/docs/es/packages/vite-intlayer/index.md +3 -3
  128. package/docs/es/readme.md +261 -0
  129. package/docs/es/testing.md +200 -0
  130. package/docs/fr/autoFill.md +47 -24
  131. package/docs/fr/configuration.md +213 -198
  132. package/docs/fr/dictionary/content_file.md +1054 -0
  133. package/docs/fr/intlayer_CMS.md +4 -5
  134. package/docs/fr/intlayer_with_nestjs.md +268 -0
  135. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  136. package/docs/fr/intlayer_with_react_router_v7.md +549 -0
  137. package/docs/fr/intlayer_with_tanstack.md +465 -279
  138. package/docs/fr/intlayer_with_vite+preact.md +7 -7
  139. package/docs/fr/intlayer_with_vite+react.md +7 -7
  140. package/docs/fr/intlayer_with_vite+vue.md +9 -9
  141. package/docs/fr/packages/vite-intlayer/index.md +3 -3
  142. package/docs/fr/readme.md +261 -0
  143. package/docs/fr/testing.md +200 -0
  144. package/docs/hi/autoFill.md +47 -25
  145. package/docs/hi/configuration.md +194 -189
  146. package/docs/hi/dictionary/content_file.md +1056 -0
  147. package/docs/hi/intlayer_CMS.md +4 -5
  148. package/docs/hi/intlayer_with_nestjs.md +269 -0
  149. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  150. package/docs/hi/intlayer_with_react_router_v7.md +533 -0
  151. package/docs/hi/intlayer_with_tanstack.md +467 -282
  152. package/docs/hi/intlayer_with_vite+preact.md +7 -7
  153. package/docs/hi/intlayer_with_vite+react.md +7 -7
  154. package/docs/hi/intlayer_with_vite+vue.md +9 -9
  155. package/docs/hi/packages/vite-intlayer/index.md +3 -3
  156. package/docs/hi/readme.md +261 -0
  157. package/docs/hi/testing.md +200 -0
  158. package/docs/it/autoFill.md +46 -24
  159. package/docs/it/configuration.md +169 -161
  160. package/docs/it/dictionary/content_file.md +1061 -0
  161. package/docs/it/intlayer_CMS.md +4 -5
  162. package/docs/it/intlayer_with_nestjs.md +268 -0
  163. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  164. package/docs/it/intlayer_with_react_router_v7.md +535 -0
  165. package/docs/it/intlayer_with_tanstack.md +467 -301
  166. package/docs/it/intlayer_with_vite+preact.md +7 -7
  167. package/docs/it/intlayer_with_vite+react.md +7 -7
  168. package/docs/it/intlayer_with_vite+vue.md +9 -9
  169. package/docs/it/packages/vite-intlayer/index.md +3 -3
  170. package/docs/it/readme.md +261 -0
  171. package/docs/it/testing.md +200 -0
  172. package/docs/ja/autoFill.md +45 -23
  173. package/docs/ja/configuration.md +243 -204
  174. package/docs/ja/dictionary/content_file.md +1064 -0
  175. package/docs/ja/intlayer_CMS.md +4 -5
  176. package/docs/ja/intlayer_with_nestjs.md +268 -0
  177. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  178. package/docs/ja/intlayer_with_react_router_v7.md +534 -0
  179. package/docs/ja/intlayer_with_tanstack.md +467 -303
  180. package/docs/ja/intlayer_with_vite+preact.md +7 -7
  181. package/docs/ja/intlayer_with_vite+react.md +7 -7
  182. package/docs/ja/intlayer_with_vite+vue.md +9 -9
  183. package/docs/ja/packages/vite-intlayer/index.md +3 -3
  184. package/docs/ja/readme.md +263 -0
  185. package/docs/ja/testing.md +200 -0
  186. package/docs/ko/autoFill.md +39 -16
  187. package/docs/ko/configuration.md +217 -197
  188. package/docs/ko/dictionary/content_file.md +1060 -0
  189. package/docs/ko/intlayer_CMS.md +4 -5
  190. package/docs/ko/intlayer_with_nestjs.md +268 -0
  191. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  192. package/docs/ko/intlayer_with_react_router_v7.md +540 -0
  193. package/docs/ko/intlayer_with_tanstack.md +466 -302
  194. package/docs/ko/intlayer_with_vite+preact.md +7 -7
  195. package/docs/ko/intlayer_with_vite+react.md +7 -7
  196. package/docs/ko/intlayer_with_vite+vue.md +9 -9
  197. package/docs/ko/packages/vite-intlayer/index.md +3 -3
  198. package/docs/ko/readme.md +261 -0
  199. package/docs/ko/testing.md +200 -0
  200. package/docs/pt/autoFill.md +39 -15
  201. package/docs/pt/configuration.md +165 -147
  202. package/docs/pt/dictionary/content_file.md +1062 -0
  203. package/docs/pt/intlayer_CMS.md +4 -5
  204. package/docs/pt/intlayer_with_nestjs.md +271 -0
  205. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  206. package/docs/pt/intlayer_with_react_router_v7.md +535 -0
  207. package/docs/pt/intlayer_with_tanstack.md +469 -300
  208. package/docs/pt/intlayer_with_vite+preact.md +7 -7
  209. package/docs/pt/intlayer_with_vite+react.md +7 -7
  210. package/docs/pt/intlayer_with_vite+vue.md +9 -9
  211. package/docs/pt/packages/vite-intlayer/index.md +3 -3
  212. package/docs/pt/readme.md +261 -0
  213. package/docs/pt/testing.md +200 -0
  214. package/docs/ru/autoFill.md +52 -30
  215. package/docs/ru/configuration.md +164 -117
  216. package/docs/ru/dictionary/content_file.md +1064 -0
  217. package/docs/ru/intlayer_CMS.md +4 -4
  218. package/docs/ru/intlayer_with_nestjs.md +270 -0
  219. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  220. package/docs/ru/intlayer_with_react_router_v7.md +534 -0
  221. package/docs/ru/intlayer_with_tanstack.md +470 -305
  222. package/docs/ru/intlayer_with_vite+preact.md +7 -7
  223. package/docs/ru/intlayer_with_vite+react.md +7 -7
  224. package/docs/ru/intlayer_with_vite+vue.md +9 -9
  225. package/docs/ru/packages/vite-intlayer/index.md +3 -3
  226. package/docs/ru/readme.md +261 -0
  227. package/docs/ru/testing.md +202 -0
  228. package/docs/tr/CI_CD.md +198 -0
  229. package/docs/tr/autoFill.md +201 -0
  230. package/docs/tr/configuration.md +585 -0
  231. package/docs/tr/dictionary/condition.md +243 -0
  232. package/docs/tr/dictionary/content_file.md +1055 -0
  233. package/docs/tr/dictionary/enumeration.md +251 -0
  234. package/docs/tr/dictionary/file.md +228 -0
  235. package/docs/tr/dictionary/function_fetching.md +218 -0
  236. package/docs/tr/dictionary/gender.md +279 -0
  237. package/docs/tr/dictionary/insertion.md +191 -0
  238. package/docs/tr/dictionary/markdown.md +385 -0
  239. package/docs/tr/dictionary/nesting.md +279 -0
  240. package/docs/tr/dictionary/translation.md +315 -0
  241. package/docs/tr/formatters.md +618 -0
  242. package/docs/tr/how_works_intlayer.md +254 -0
  243. package/docs/tr/index.md +168 -0
  244. package/docs/tr/interest_of_intlayer.md +288 -0
  245. package/docs/tr/intlayer_CMS.md +347 -0
  246. package/docs/tr/intlayer_cli.md +570 -0
  247. package/docs/tr/intlayer_visual_editor.md +269 -0
  248. package/docs/tr/intlayer_with_angular.md +694 -0
  249. package/docs/tr/intlayer_with_create_react_app.md +1218 -0
  250. package/docs/tr/intlayer_with_express.md +415 -0
  251. package/docs/tr/intlayer_with_lynx+react.md +511 -0
  252. package/docs/tr/intlayer_with_nestjs.md +268 -0
  253. package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
  254. package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
  255. package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
  256. package/docs/tr/intlayer_with_nuxt.md +773 -0
  257. package/docs/tr/intlayer_with_react_native+expo.md +660 -0
  258. package/docs/tr/intlayer_with_react_router_v7.md +531 -0
  259. package/docs/tr/intlayer_with_tanstack.md +452 -0
  260. package/docs/tr/intlayer_with_vite+preact.md +1673 -0
  261. package/docs/tr/intlayer_with_vite+react.md +1632 -0
  262. package/docs/tr/intlayer_with_vite+solid.md +288 -0
  263. package/docs/tr/intlayer_with_vite+svelte.md +288 -0
  264. package/docs/tr/intlayer_with_vite+vue.md +1042 -0
  265. package/docs/tr/introduction.md +209 -0
  266. package/docs/tr/locale_mapper.md +244 -0
  267. package/docs/tr/mcp_server.md +207 -0
  268. package/docs/tr/packages/@intlayer/api/index.md +58 -0
  269. package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
  270. package/docs/tr/packages/@intlayer/cli/index.md +47 -0
  271. package/docs/tr/packages/@intlayer/config/index.md +142 -0
  272. package/docs/tr/packages/@intlayer/core/index.md +51 -0
  273. package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
  274. package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
  275. package/docs/tr/packages/@intlayer/editor/index.md +47 -0
  276. package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
  277. package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
  278. package/docs/tr/packages/angular-intlayer/index.md +59 -0
  279. package/docs/tr/packages/express-intlayer/index.md +258 -0
  280. package/docs/tr/packages/express-intlayer/t.md +459 -0
  281. package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
  282. package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
  283. package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
  284. package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
  285. package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
  286. package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
  287. package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
  288. package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
  289. package/docs/tr/packages/intlayer/getTranslation.md +196 -0
  290. package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
  291. package/docs/tr/packages/intlayer/index.md +505 -0
  292. package/docs/tr/packages/intlayer-cli/index.md +71 -0
  293. package/docs/tr/packages/intlayer-editor/index.md +139 -0
  294. package/docs/tr/packages/lynx-intlayer/index.md +85 -0
  295. package/docs/tr/packages/next-intlayer/index.md +154 -0
  296. package/docs/tr/packages/next-intlayer/t.md +354 -0
  297. package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
  298. package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
  299. package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
  300. package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
  301. package/docs/tr/packages/preact-intlayer/index.md +55 -0
  302. package/docs/tr/packages/react-intlayer/index.md +148 -0
  303. package/docs/tr/packages/react-intlayer/t.md +304 -0
  304. package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
  305. package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
  306. package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
  307. package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
  308. package/docs/tr/packages/react-native-intlayer/index.md +85 -0
  309. package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
  310. package/docs/tr/packages/solid-intlayer/index.md +56 -0
  311. package/docs/tr/packages/svelte-intlayer/index.md +55 -0
  312. package/docs/tr/packages/vite-intlayer/index.md +82 -0
  313. package/docs/tr/packages/vue-intlayer/index.md +59 -0
  314. package/docs/tr/per_locale_file.md +321 -0
  315. package/docs/tr/readme.md +261 -0
  316. package/docs/tr/roadmap.md +338 -0
  317. package/docs/tr/testing.md +200 -0
  318. package/docs/tr/vs_code_extension.md +154 -0
  319. package/docs/zh/autoFill.md +40 -18
  320. package/docs/zh/configuration.md +245 -226
  321. package/docs/zh/dictionary/content_file.md +1064 -0
  322. package/docs/zh/intlayer_CMS.md +4 -5
  323. package/docs/zh/intlayer_with_nestjs.md +268 -0
  324. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  325. package/docs/zh/intlayer_with_react_router_v7.md +535 -0
  326. package/docs/zh/intlayer_with_tanstack.md +468 -278
  327. package/docs/zh/intlayer_with_vite+preact.md +7 -7
  328. package/docs/zh/intlayer_with_vite+react.md +7 -7
  329. package/docs/zh/intlayer_with_vite+vue.md +7 -7
  330. package/docs/zh/packages/vite-intlayer/index.md +3 -3
  331. package/docs/zh/readme.md +261 -0
  332. package/docs/zh/testing.md +198 -0
  333. package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
  334. package/frequent_questions/tr/array_as_content_declaration.md +72 -0
  335. package/frequent_questions/tr/build_dictionaries.md +59 -0
  336. package/frequent_questions/tr/build_error_CI_CD.md +75 -0
  337. package/frequent_questions/tr/customized_locale_list.md +65 -0
  338. package/frequent_questions/tr/domain_routing.md +114 -0
  339. package/frequent_questions/tr/esbuild_error.md +30 -0
  340. package/frequent_questions/tr/get_locale_cookie.md +142 -0
  341. package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
  342. package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
  343. package/frequent_questions/tr/static_rendering.md +45 -0
  344. package/frequent_questions/tr/translated_path_url.md +56 -0
  345. package/frequent_questions/tr/unknown_command.md +98 -0
  346. package/legal/tr/privacy_notice.md +83 -0
  347. package/legal/tr/terms_of_service.md +55 -0
  348. package/package.json +12 -12
  349. package/src/generated/blog.entry.ts +212 -0
  350. package/src/generated/docs.entry.ts +663 -135
  351. package/src/generated/frequentQuestions.entry.ts +85 -1
  352. package/src/generated/legal.entry.ts +7 -1
  353. package/docs/ar/dictionary/content_extention_customization.md +0 -100
  354. package/docs/ar/dictionary/get_started.md +0 -527
  355. package/docs/de/dictionary/content_extention_customization.md +0 -100
  356. package/docs/de/dictionary/get_started.md +0 -531
  357. package/docs/en/dictionary/content_extention_customization.md +0 -102
  358. package/docs/en/dictionary/get_started.md +0 -529
  359. package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
  360. package/docs/en-GB/dictionary/get_started.md +0 -591
  361. package/docs/es/dictionary/content_extention_customization.md +0 -100
  362. package/docs/es/dictionary/get_started.md +0 -527
  363. package/docs/fr/dictionary/content_extention_customization.md +0 -100
  364. package/docs/fr/dictionary/get_started.md +0 -527
  365. package/docs/hi/dictionary/content_extention_customization.md +0 -100
  366. package/docs/hi/dictionary/get_started.md +0 -527
  367. package/docs/it/dictionary/content_extention_customization.md +0 -113
  368. package/docs/it/dictionary/get_started.md +0 -573
  369. package/docs/ja/dictionary/content_extention_customization.md +0 -113
  370. package/docs/ja/dictionary/get_started.md +0 -576
  371. package/docs/ko/dictionary/content_extention_customization.md +0 -100
  372. package/docs/ko/dictionary/get_started.md +0 -530
  373. package/docs/pt/dictionary/content_extention_customization.md +0 -100
  374. package/docs/pt/dictionary/get_started.md +0 -532
  375. package/docs/ru/dictionary/content_extention_customization.md +0 -100
  376. package/docs/ru/dictionary/get_started.md +0 -575
  377. package/docs/zh/dictionary/content_extention_customization.md +0 -117
  378. package/docs/zh/dictionary/get_started.md +0 -533
@@ -0,0 +1,200 @@
1
+ ---
2
+ createdAt: 2025-03-01
3
+ updatedAt: 2025-09-20
4
+ title: Testing your content
5
+ description: Discover how to test your content with Intlayer.
6
+ keywords:
7
+ - Testing
8
+ - Intlayer
9
+ - Internationalisation
10
+ - CMS
11
+ - Content Management System
12
+ - Visual Editor
13
+ slugs:
14
+ - doc
15
+ - testing
16
+ ---
17
+
18
+ # Testing your content
19
+
20
+ This guide shows how to automatically verify your dictionaries are complete, catch missing translations before shipping, and test localised UI in your app.
21
+
22
+ ---
23
+
24
+ ## What you can test
25
+
26
+ - **Missing translations**: fail CI if any required locales are missing for any dictionary.
27
+ - **Localised UI rendering**: render components with a specific locale provider and assert on visible text/attributes.
28
+ - **Build-time audits**: run a quick audit locally via CLI.
29
+
30
+ ---
31
+
32
+ ## Quick start: audit via CLI
33
+
34
+ Run the audit from your project root:
35
+
36
+ ```bash
37
+ npx intlayer content test
38
+ ```
39
+
40
+ Useful flags:
41
+
42
+ - `--env-file [path]`: load environment variables from a file.
43
+ - `-e, --env [name]`: select an environment profile.
44
+ - `--base-dir [path]`: set the app base directory for resolution.
45
+ - `--verbose`: show verbose logs.
46
+ - `--prefix [label]`: prefix log lines.
47
+
48
+ Note: the CLI prints a detailed report but does not exit with a non-zero code on failures. For CI gating, add a unit test (below) that asserts zero missing required locales.
49
+
50
+ ---
51
+
52
+ ## Programmatic test (Vitest/Jest)
53
+
54
+ Use the Intlayer CLI API to assert there are no missing translations for your required locales.
55
+
56
+ ```ts file=i18n.test.ts
57
+ /* @vitest-environment node */
58
+ import { listMissingTranslations } from "intlayer/cli";
59
+ import { describe, expect, it } from "vitest";
60
+
61
+ describe("translations", () => {
62
+ it("has no missing required locales", () => {
63
+ const result = listMissingTranslations();
64
+
65
+ if (result.missingRequiredLocales.length > 0) {
66
+ // Useful when the test fails locally or in CI
67
+ console.log(result.missingTranslations);
68
+ }
69
+
70
+ expect(result.missingRequiredLocales).toHaveLength(0);
71
+ });
72
+ });
73
+ ```
74
+
75
+ Jest equivalent:
76
+
77
+ ```ts file=i18n.test.ts
78
+ import { listMissingTranslations } from "intlayer/cli";
79
+
80
+ test("has no missing required locales", () => {
81
+ const result = listMissingTranslations();
82
+
83
+ if (result.missingRequiredLocales.length > 0) {
84
+ // eslint-disable-next-line no-console
85
+ console.log(result.missingTranslations);
86
+ }
87
+
88
+ expect(result.missingRequiredLocales).toHaveLength(0);
89
+ });
90
+ ```
91
+
92
+ How it works:
93
+
94
+ - Intlayer reads your configuration (locales, requiredLocales) and declared dictionaries, then reports:
95
+ - `missingTranslations`: per‑key, which locales are missing and from which file.
96
+ - `missingLocales`: union of all missing locales.
97
+ - `missingRequiredLocales`: subset limited to `requiredLocales` (or all locales if `requiredLocales` is not set).
98
+
99
+ ---
100
+
101
+ ## Testing localised UI (React / Next.js)
102
+
103
+ Render components under an Intlayer provider and assert on visible content.
104
+
105
+ React example (Testing Library):
106
+
107
+ ```tsx
108
+ import { IntlayerProvider } from "react-intlayer/client";
109
+ import { render, screen } from "@testing-library/react";
110
+ import { MyComponent } from "./MyComponent";
111
+
112
+ test("renders localised title in English", () => {
113
+ render(
114
+ <IntlayerProvider locale="en-US">
115
+ <MyComponent />
116
+ </IntlayerProvider>
117
+ );
118
+
119
+ expect(screen.getByText("Expected English title")).toBeInTheDocument();
120
+ });
121
+ ```
122
+
123
+ Next.js (App Router) example: use the framework wrapper:
124
+
125
+ ```tsx
126
+ import { IntlayerClientProvider } from "next-intlayer/client";
127
+ import { render, screen } from "@testing-library/react";
128
+ import { MyPage } from "./MyPage";
129
+
130
+ test("renders localised heading in French", () => {
131
+ render(
132
+ <IntlayerClientProvider locale="fr-FR">
133
+ <MyPage />
134
+ </IntlayerClientProvider>
135
+ );
136
+ expect(
137
+ screen.getByRole("heading", { name: "Titre attendu" })
138
+ ).toBeInTheDocument();
139
+ });
140
+ ```
141
+
142
+ Tips:
143
+
144
+ - When you need raw string values for attributes (e.g., `aria-label`), access the `.value` field returned by `useIntlayer` in React.
145
+ - Keep dictionaries colocated with components for easier unit testing and cleanup.
146
+
147
+ ---
148
+
149
+ ## Continuous Integration
150
+
151
+ Add a test that fails the build when required translations are missing.
152
+
153
+ `package.json`:
154
+
155
+ ```json
156
+ {
157
+ "scripts": {
158
+ "test:i18n": "vitest run -c"
159
+ }
160
+ }
161
+ ```
162
+
163
+ GitHub Actions example:
164
+
165
+ ```yaml
166
+ name: CI
167
+ on: [push, pull_request]
168
+ jobs:
169
+ test:
170
+ runs-on: ubuntu-latest
171
+ steps:
172
+ - uses: actions/checkout@v4
173
+ - uses: actions/setup-node@v4
174
+ with:
175
+ node-version: 20
176
+ - run: npm ci
177
+ - run: npm run test:i18n
178
+ ```
179
+
180
+ Optional: run the CLI audit for a human-readable summary alongside tests:
181
+
182
+ ```bash
183
+ npx intlayer content test --verbose
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Troubleshooting
189
+
190
+ - Ensure your Intlayer configuration defines `locales` and (optionally) `requiredLocales`.
191
+ - If your app uses dynamic or remote dictionaries, run tests in an environment where the dictionaries are available.
192
+ - For mixed monorepos, use `--base-dir` to point the CLI at the correct application root.
193
+
194
+ ---
195
+
196
+ ## Doc History
197
+
198
+ | Version | Date | Changes |
199
+ | ------- | ---------- | ----------------------- |
200
+ | 6.0.0 | 2025-09-20 | Introduction of testing |
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  createdAt: 2025-03-13
3
- updatedAt: 2025-06-29
4
- title: Autocompletar
5
- description: Aprende cómo usar la funcionalidad de autocompletar en Intlayer para poblar automáticamente contenido basado en patrones predefinidos. Sigue esta documentación para implementar funciones de autocompletar de manera eficiente en tu proyecto.
3
+ updatedAt: 2025-09-20
4
+ title: Relleno Automático
5
+ description: Aprende a usar la funcionalidad de relleno automático en Intlayer para poblar contenido automáticamente basado en patrones predefinidos. Sigue esta documentación para implementar funciones de relleno automático de manera eficiente en tu proyecto.
6
6
  keywords:
7
- - Autocompletar
7
+ - Relleno Automático
8
8
  - Automatización de Contenido
9
9
  - Contenido Dinámico
10
10
  - Intlayer
@@ -17,28 +17,28 @@ slugs:
17
17
  - auto-fill
18
18
  ---
19
19
 
20
- # Archivos de Declaración de Contenido con Autocompletar
20
+ # Traducciones de Archivos de Declaración de Contenido con Relleno Automático
21
21
 
22
- **Los archivos de declaración de contenido con autocompletar** son una forma de acelerar tu flujo de trabajo de desarrollo.
23
- El mecanismo de autocompletar funciona a través de una relación _maestro-esclavo_ entre los archivos de declaración de contenido. Cuando el archivo principal (maestro) se actualiza, Intlayer aplicará automáticamente esos cambios a los archivos de declaración derivados (autocompletados).
22
+ **Los archivos de declaración de contenido con relleno automático** son una forma de acelerar tu flujo de trabajo de desarrollo.
23
+
24
+ El mecanismo de relleno automático funciona mediante una relación _maestro-esclavo_ entre archivos de declaración de contenido. Cuando el archivo principal (maestro) se actualiza, Intlayer aplicará automáticamente esos cambios a los archivos de declaración derivados (rellenados automáticamente).
24
25
 
25
26
  ```ts fileName="src/components/example/example.content.ts"
26
27
  import { Locales, type Dictionary } from "intlayer";
27
28
 
28
- // Contenido de ejemplo con autocompletar configurado
29
29
  const exampleContent = {
30
30
  key: "example",
31
31
  locale: Locales.ENGLISH,
32
32
  autoFill: "./example.content.json",
33
33
  content: {
34
- contentExample: "This is an example of content", // Este es un ejemplo de contenido
34
+ contentExample: "Este es un ejemplo de contenido",
35
35
  },
36
36
  } satisfies Dictionary;
37
37
 
38
38
  export default exampleContent;
39
39
  ```
40
40
 
41
- Aquí tienes un [archivo de declaración de contenido por idioma](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/per_locale_file.md) que utiliza la instrucción `autoFill`.
41
+ Aquí hay un [archivo de declaración de contenido por idioma](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/per_locale_file.md) que usa la instrucción `autoFill`.
42
42
 
43
43
  Luego, cuando ejecutes el siguiente comando:
44
44
 
@@ -63,11 +63,11 @@ Intlayer generará automáticamente el archivo de declaración derivado en `src/
63
63
  }
64
64
  ```
65
65
 
66
- Después, ambos archivos de declaración se fusionarán en un solo diccionario, accesible usando el hook estándar `useIntlayer("example")` (react) / composable (vue).
66
+ Después, ambos archivos de declaración se fusionarán en un único diccionario, accesible mediante el hook estándar `useIntlayer("example")` (react) / composable (vue).
67
67
 
68
- ## Formato del Archivo Autocompletado
68
+ ## Formato del Archivo Rellenado Automáticamente
69
69
 
70
- El formato recomendado para los archivos de declaración autofillados es **JSON**, lo que ayuda a evitar restricciones de formato. Sin embargo, Intlayer también soporta formatos `.ts`, `.js`, `.mjs`, `.cjs` y otros.
70
+ El formato recomendado para los archivos de declaración autocompletados es **JSON**, lo que ayuda a evitar restricciones de formato. Sin embargo, Intlayer también soporta `.ts`, `.js`, `.mjs`, `.cjs` y otros formatos.
71
71
 
72
72
  ```ts fileName="src/components/example/example.content.ts"
73
73
  const exampleContent = {
@@ -87,8 +87,8 @@ src/components/example/example.filled.content.ts
87
87
 
88
88
  > La generación de archivos `.js`, `.ts` y similares funciona de la siguiente manera:
89
89
  >
90
- > - Si el archivo ya existe, Intlayer lo analizará usando el AST (Árbol de Sintaxis Abstracta) para localizar cada campo e insertar las traducciones que falten.
91
- > - Si el archivo no existe, Intlayer lo generará usando la plantilla de archivo de declaración de contenido predeterminada.
90
+ > - Si el archivo ya existe, Intlayer lo analizará usando el AST (Árbol de Sintaxis Abstracta) para localizar cada campo e insertar las traducciones faltantes.
91
+ > - Si el archivo no existe, Intlayer lo generará usando la plantilla predeterminada de archivo de declaración de contenido.
92
92
 
93
93
  ## Rutas Absolutas
94
94
 
@@ -110,9 +110,9 @@ Esto generará el archivo en:
110
110
  /messages/example.content.json
111
111
  ```
112
112
 
113
- ## Generar Automáticamente Archivos de Declaración de Contenido Por Localización
113
+ ## Autogenerar Archivos de Declaración de Contenido Por Localidad
114
114
 
115
- El campo `autoFill` también soporta la generación de archivos de declaración de contenido **por localización**.
115
+ El campo `autoFill` también soporta la generación de archivos de declaración de contenido **por localidad**.
116
116
 
117
117
  ```ts fileName="src/components/example/example.content.ts"
118
118
  const exampleContent = {
@@ -132,9 +132,11 @@ Esto generará dos archivos separados:
132
132
  - `src/components/example/example.fr.content.json`
133
133
  - `src/components/example/example.es.content.json`
134
134
 
135
- ## Filtrar Auto-relleno por Localización Específica
135
+ > En este caso, si el objeto no contiene todos los locales, Intlayer omitirá la generación de los locales restantes.
136
+
137
+ ## Filtrar Autocompletado para Locales Específicos
136
138
 
137
- Usar un objeto para el campo `autoFill` te permite aplicar filtros y generar solo archivos para localizaciones específicas.
139
+ Usar un objeto para el campo `autoFill` te permite aplicar filtros y generar solo archivos para locales específicos.
138
140
 
139
141
  ```ts fileName="src/components/example/example.content.ts"
140
142
  const exampleContent = {
@@ -150,16 +152,17 @@ const exampleContent = {
150
152
 
151
153
  Esto solo generará el archivo de traducción en francés.
152
154
 
153
- ## Variables en la Ruta
155
+ ## Variables de Ruta
154
156
 
155
157
  Puedes usar variables dentro de la ruta `autoFill` para resolver dinámicamente las rutas destino de los archivos generados.
156
158
 
157
159
  **Variables disponibles:**
158
160
 
159
- - `{{locale}}` – Código de localización (por ejemplo, `fr`, `es`)
161
+ - `{{locale}}` – Código de la localidad (por ejemplo, `fr`, `es`)
162
+ - `{{fileName}}` – Nombre del archivo (por ejemplo, `index`)
160
163
  - `{{key}}` – Clave del diccionario (por ejemplo, `example`)
161
164
 
162
- ```ts fileName="src/components/example/example.content.ts"
165
+ ```ts fileName="src/components/example/index.content.ts"
163
166
  const exampleContent = {
164
167
  key: "example",
165
168
  autoFill: "/messages/{{locale}}/{{key}}.content.json",
@@ -174,6 +177,25 @@ Esto generará:
174
177
  - `/messages/fr/example.content.json`
175
178
  - `/messages/es/example.content.json`
176
179
 
180
+ ```ts fileName="src/components/example/index.content.ts"
181
+ const exampleContent = {
182
+ key: "example",
183
+ autoFill: "./{{fileName}}.content.json",
184
+ content: {
185
+ // Tu contenido
186
+ },
187
+ };
188
+ ```
189
+
190
+ Esto generará:
191
+
192
+ - `./index.content.json`
193
+ - `./index.content.json`
194
+
177
195
  ## Historial de Documentación
178
196
 
179
- - 5.5.10 - 2025-06-29: Inicio del historial
197
+ | Versión | Fecha | Cambios |
198
+ | ------- | ---------- | ------------------------------ |
199
+ | 6.0.0 | 2025-09-20 | Añadir configuración global |
200
+ | 6.0.0 | 2025-09-17 | Añadir variable `{{fileName}}` |
201
+ | 5.5.10 | 2025-06-29 | Historial inicial |