@intlayer/docs 9.1.3 → 9.2.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 (415) hide show
  1. package/blog/ar/rag_powered_documentation_assistant.md +7 -0
  2. package/blog/de/rag_powered_documentation_assistant.md +6 -0
  3. package/blog/en-GB/rag_powered_documentation_assistant.md +6 -0
  4. package/blog/es/rag_powered_documentation_assistant.md +7 -0
  5. package/blog/fr/i18n_meaning.md +7 -1
  6. package/blog/fr/list_i18n_technologies/frameworks/angular.md +5 -1
  7. package/blog/fr/rag_powered_documentation_assistant.md +6 -0
  8. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +119 -42
  9. package/blog/hi/rag_powered_documentation_assistant.md +7 -0
  10. package/blog/id/rag_powered_documentation_assistant.md +6 -0
  11. package/blog/it/rag_powered_documentation_assistant.md +6 -0
  12. package/blog/ja/rag_powered_documentation_assistant.md +7 -0
  13. package/blog/ko/list_i18n_technologies/frameworks/react.md +7 -7
  14. package/blog/ko/rag_powered_documentation_assistant.md +6 -0
  15. package/blog/pl/rag_powered_documentation_assistant.md +6 -0
  16. package/blog/pt/rag_powered_documentation_assistant.md +6 -0
  17. package/blog/ru/rag_powered_documentation_assistant.md +7 -0
  18. package/blog/tr/intlayer_with_react-intl.md +3 -1
  19. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +175 -42
  20. package/blog/tr/rag_powered_documentation_assistant.md +6 -0
  21. package/blog/uk/rag_powered_documentation_assistant.md +6 -0
  22. package/blog/vi/rag_powered_documentation_assistant.md +6 -0
  23. package/blog/zh/intlayer_with_i18next.md +87 -28
  24. package/blog/zh/intlayer_with_next-i18next.md +86 -29
  25. package/blog/zh/intlayer_with_next-intl.md +88 -28
  26. package/blog/zh/intlayer_with_react-i18next.md +87 -28
  27. package/blog/zh/intlayer_with_react-intl.md +88 -27
  28. package/blog/zh/intlayer_with_vue-i18n.md +117 -8
  29. package/blog/zh/rag_powered_documentation_assistant.md +6 -0
  30. package/dist/cjs/generated/blog.entry.cjs +27 -27
  31. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  32. package/dist/cjs/generated/docs.entry.cjs +234 -214
  33. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  34. package/dist/cjs/generated/frequentQuestions.entry.cjs +17 -17
  35. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  36. package/dist/cjs/generated/legal.entry.cjs +2 -2
  37. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  38. package/dist/esm/generated/blog.entry.mjs +27 -27
  39. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  40. package/dist/esm/generated/docs.entry.mjs +234 -214
  41. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  42. package/dist/esm/generated/frequentQuestions.entry.mjs +17 -17
  43. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  44. package/dist/esm/generated/legal.entry.mjs +2 -2
  45. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  46. package/dist/types/generated/docs.entry.d.ts +1 -0
  47. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  48. package/docs/ar/analytics.md +222 -0
  49. package/docs/ar/autoFill.md +28 -9
  50. package/docs/ar/configuration.md +25 -8
  51. package/docs/ar/dictionary/file.md +3 -1
  52. package/docs/ar/dictionary/nesting.md +47 -30
  53. package/docs/ar/formatters.md +148 -193
  54. package/docs/ar/intlayer_CMS.md +152 -0
  55. package/docs/ar/intlayer_with_angular_21.md +9 -9
  56. package/docs/ar/intlayer_with_nextjs_14.md +1 -28
  57. package/docs/ar/intlayer_with_nextjs_15.md +1 -33
  58. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +40 -83
  59. package/docs/ar/intlayer_with_solid_start.md +1078 -0
  60. package/docs/ar/intlayer_with_vite+vue.md +1 -3
  61. package/docs/ar/packages/intlayer/getLocalizedUrl.md +26 -24
  62. package/docs/ar/packages/intlayer/getMultilingualUrls.md +4 -18
  63. package/docs/ar/packages/react-intlayer/useDictionary.md +4 -21
  64. package/docs/ar/packages/react-intlayer/useIntlayer.md +2 -2
  65. package/docs/ar/packages/vite-intlayer/exports.md +15 -0
  66. package/docs/ar/packages/vite-intlayer/intlayer.md +121 -6
  67. package/docs/ar/packages/vite-intlayer/intlayerPrune.md +70 -3
  68. package/docs/ar/releases/v9.md +0 -37
  69. package/docs/ar/self_hosting.md +46 -49
  70. package/docs/bn/configuration.md +25 -8
  71. package/docs/bn/intlayer_with_angular_21.md +9 -9
  72. package/docs/cs/configuration.md +25 -8
  73. package/docs/cs/intlayer_with_angular_21.md +9 -9
  74. package/docs/de/analytics.md +222 -0
  75. package/docs/de/autoFill.md +28 -9
  76. package/docs/de/configuration.md +25 -8
  77. package/docs/de/dictionary/file.md +3 -1
  78. package/docs/de/dictionary/nesting.md +47 -31
  79. package/docs/de/formatters.md +208 -334
  80. package/docs/de/intlayer_CMS.md +66 -15
  81. package/docs/de/intlayer_with_angular_21.md +9 -9
  82. package/docs/de/intlayer_with_nestjs.md +11 -7
  83. package/docs/de/intlayer_with_nextjs_14.md +1 -28
  84. package/docs/de/intlayer_with_nextjs_15.md +1 -33
  85. package/docs/de/intlayer_with_solid_start.md +1078 -0
  86. package/docs/de/intlayer_with_vite+vue.md +1 -3
  87. package/docs/de/packages/intlayer/getLocalizedUrl.md +33 -25
  88. package/docs/de/packages/intlayer/getMultilingualUrls.md +4 -18
  89. package/docs/de/packages/react-intlayer/useDictionary.md +2 -5
  90. package/docs/de/packages/vite-intlayer/exports.md +15 -0
  91. package/docs/de/packages/vite-intlayer/intlayer.md +121 -6
  92. package/docs/de/packages/vite-intlayer/intlayerPrune.md +77 -4
  93. package/docs/de/releases/v9.md +0 -15
  94. package/docs/de/self_hosting.md +46 -50
  95. package/docs/en/cli/doc-review.md +13 -2
  96. package/docs/en/configuration.md +24 -15
  97. package/docs/en/intlayer_with_angular_21.md +9 -9
  98. package/docs/en/intlayer_with_solid_start.md +1091 -0
  99. package/docs/en/intlayer_with_vite+solid.md +12 -0
  100. package/docs/en-GB/analytics.md +222 -0
  101. package/docs/en-GB/autoFill.md +26 -7
  102. package/docs/en-GB/configuration.md +25 -8
  103. package/docs/en-GB/dictionary/file.md +2 -0
  104. package/docs/en-GB/dictionary/nesting.md +64 -205
  105. package/docs/en-GB/formatters.md +146 -181
  106. package/docs/en-GB/intlayer_CMS.md +152 -0
  107. package/docs/en-GB/intlayer_with_angular_21.md +9 -9
  108. package/docs/en-GB/intlayer_with_nestjs.md +6 -2
  109. package/docs/en-GB/intlayer_with_nextjs_14.md +0 -27
  110. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -33
  111. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +40 -82
  112. package/docs/en-GB/intlayer_with_solid_start.md +1078 -0
  113. package/docs/en-GB/intlayer_with_vite+vue.md +1 -3
  114. package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +30 -22
  115. package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +16 -48
  116. package/docs/en-GB/packages/vite-intlayer/exports.md +15 -0
  117. package/docs/en-GB/packages/vite-intlayer/intlayer.md +121 -6
  118. package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +77 -4
  119. package/docs/en-GB/self_hosting.md +60 -49
  120. package/docs/es/analytics.md +222 -0
  121. package/docs/es/autoFill.md +28 -9
  122. package/docs/es/configuration.md +24 -7
  123. package/docs/es/dictionary/file.md +3 -1
  124. package/docs/es/dictionary/nesting.md +47 -30
  125. package/docs/es/formatters.md +114 -168
  126. package/docs/es/intlayer_CMS.md +35 -10
  127. package/docs/es/intlayer_with_angular_21.md +9 -9
  128. package/docs/es/intlayer_with_nextjs_14.md +1 -28
  129. package/docs/es/intlayer_with_nextjs_15.md +1 -33
  130. package/docs/es/intlayer_with_solid_start.md +1078 -0
  131. package/docs/es/packages/intlayer/getLocalizedUrl.md +31 -23
  132. package/docs/es/packages/intlayer/getMultilingualUrls.md +4 -18
  133. package/docs/es/packages/vite-intlayer/exports.md +15 -0
  134. package/docs/es/packages/vite-intlayer/intlayer.md +121 -6
  135. package/docs/es/packages/vite-intlayer/intlayerPrune.md +69 -2
  136. package/docs/es/releases/v9.md +0 -15
  137. package/docs/es/self_hosting.md +46 -49
  138. package/docs/fr/analytics.md +222 -0
  139. package/docs/fr/autoFill.md +27 -8
  140. package/docs/fr/configuration.md +25 -8
  141. package/docs/fr/dictionary/file.md +2 -0
  142. package/docs/fr/dictionary/nesting.md +37 -184
  143. package/docs/fr/formatters.md +95 -236
  144. package/docs/fr/intlayer_CMS.md +66 -15
  145. package/docs/fr/intlayer_with_angular_21.md +9 -9
  146. package/docs/fr/intlayer_with_nextjs_14.md +1 -28
  147. package/docs/fr/intlayer_with_nextjs_15.md +1 -33
  148. package/docs/fr/intlayer_with_solid_start.md +1078 -0
  149. package/docs/fr/packages/intlayer/getLocalizedUrl.md +37 -27
  150. package/docs/fr/packages/intlayer/getMultilingualUrls.md +18 -20
  151. package/docs/fr/packages/vite-intlayer/exports.md +15 -0
  152. package/docs/fr/packages/vite-intlayer/intlayer.md +121 -6
  153. package/docs/fr/packages/vite-intlayer/intlayerPrune.md +77 -4
  154. package/docs/fr/releases/v9.md +0 -15
  155. package/docs/fr/self_hosting.md +46 -49
  156. package/docs/hi/analytics.md +222 -0
  157. package/docs/hi/autoFill.md +28 -9
  158. package/docs/hi/configuration.md +25 -8
  159. package/docs/hi/dictionary/file.md +3 -1
  160. package/docs/hi/dictionary/nesting.md +47 -30
  161. package/docs/hi/formatters.md +233 -334
  162. package/docs/hi/how_works_intlayer.md +3 -1
  163. package/docs/hi/intlayer_CMS.md +152 -0
  164. package/docs/hi/intlayer_with_angular_21.md +9 -9
  165. package/docs/hi/intlayer_with_nestjs.md +11 -7
  166. package/docs/hi/intlayer_with_nextjs_14.md +1 -28
  167. package/docs/hi/intlayer_with_nextjs_15.md +1 -33
  168. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +40 -83
  169. package/docs/hi/intlayer_with_solid_start.md +1077 -0
  170. package/docs/hi/intlayer_with_vite+preact.md +56 -49
  171. package/docs/hi/intlayer_with_vite+react.md +48 -41
  172. package/docs/hi/intlayer_with_vite+solid.md +32 -41
  173. package/docs/hi/intlayer_with_vite+vue.md +49 -44
  174. package/docs/hi/packages/intlayer/getLocalizedUrl.md +26 -24
  175. package/docs/hi/packages/intlayer/getMultilingualUrls.md +4 -18
  176. package/docs/hi/packages/next-intlayer/t.md +33 -1
  177. package/docs/hi/packages/react-intlayer/useDictionary.md +4 -21
  178. package/docs/hi/packages/vite-intlayer/exports.md +15 -0
  179. package/docs/hi/packages/vite-intlayer/intlayer.md +121 -6
  180. package/docs/hi/packages/vite-intlayer/intlayerPrune.md +78 -5
  181. package/docs/hi/plugins/sync-json.md +9 -9
  182. package/docs/hi/releases/v9.md +0 -15
  183. package/docs/hi/self_hosting.md +38 -51
  184. package/docs/id/analytics.md +223 -0
  185. package/docs/id/configuration.md +25 -8
  186. package/docs/id/dictionary/nesting.md +37 -184
  187. package/docs/id/formatters.md +208 -305
  188. package/docs/id/intlayer_CMS.md +164 -0
  189. package/docs/id/intlayer_with_angular_21.md +9 -9
  190. package/docs/id/intlayer_with_nextjs_14.md +1 -26
  191. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +70 -63
  192. package/docs/id/intlayer_with_solid_start.md +1078 -0
  193. package/docs/id/packages/intlayer/getMultilingualUrls.md +4 -18
  194. package/docs/id/packages/react-intlayer/useIntlayer.md +2 -2
  195. package/docs/id/packages/vite-intlayer/exports.md +15 -0
  196. package/docs/id/packages/vite-intlayer/intlayer.md +121 -6
  197. package/docs/id/packages/vite-intlayer/intlayerPrune.md +78 -5
  198. package/docs/id/releases/v9.md +12 -0
  199. package/docs/id/self_hosting.md +61 -50
  200. package/docs/it/analytics.md +222 -0
  201. package/docs/it/autoFill.md +27 -8
  202. package/docs/it/configuration.md +25 -8
  203. package/docs/it/dictionary/file.md +3 -1
  204. package/docs/it/dictionary/nesting.md +47 -30
  205. package/docs/it/formatters.md +114 -168
  206. package/docs/it/intlayer_CMS.md +66 -15
  207. package/docs/it/intlayer_with_angular_21.md +9 -9
  208. package/docs/it/intlayer_with_nestjs.md +11 -7
  209. package/docs/it/intlayer_with_nextjs_14.md +1 -28
  210. package/docs/it/intlayer_with_nextjs_15.md +1 -33
  211. package/docs/it/intlayer_with_solid_start.md +1078 -0
  212. package/docs/it/intlayer_with_vite+vue.md +1 -3
  213. package/docs/it/packages/intlayer/getLocalizedUrl.md +34 -26
  214. package/docs/it/packages/intlayer/getMultilingualUrls.md +4 -18
  215. package/docs/it/packages/react-intlayer/useDictionary.md +4 -21
  216. package/docs/it/packages/vite-intlayer/exports.md +15 -0
  217. package/docs/it/packages/vite-intlayer/intlayer.md +121 -6
  218. package/docs/it/packages/vite-intlayer/intlayerPrune.md +77 -4
  219. package/docs/it/releases/v9.md +0 -15
  220. package/docs/it/self_hosting.md +60 -49
  221. package/docs/ja/analytics.md +222 -0
  222. package/docs/ja/autoFill.md +28 -9
  223. package/docs/ja/configuration.md +25 -8
  224. package/docs/ja/dictionary/content_file.md +15 -7
  225. package/docs/ja/dictionary/file.md +3 -1
  226. package/docs/ja/dictionary/nesting.md +47 -30
  227. package/docs/ja/formatters.md +133 -187
  228. package/docs/ja/intlayer_visual_editor.md +3 -1
  229. package/docs/ja/intlayer_with_angular_21.md +6 -6
  230. package/docs/ja/intlayer_with_nestjs.md +2 -12
  231. package/docs/ja/intlayer_with_nextjs_14.md +1 -28
  232. package/docs/ja/intlayer_with_nextjs_15.md +1 -33
  233. package/docs/ja/intlayer_with_react_router_v7.md +456 -20
  234. package/docs/ja/intlayer_with_solid_start.md +1078 -0
  235. package/docs/ja/intlayer_with_vite+preact.md +73 -41
  236. package/docs/ja/intlayer_with_vite+vue.md +1 -3
  237. package/docs/ja/mcp_server.md +3 -9
  238. package/docs/ja/packages/intlayer/getLocalizedUrl.md +26 -24
  239. package/docs/ja/packages/intlayer/getMultilingualUrls.md +3 -17
  240. package/docs/ja/packages/vite-intlayer/exports.md +15 -0
  241. package/docs/ja/packages/vite-intlayer/intlayer.md +121 -6
  242. package/docs/ja/packages/vite-intlayer/intlayerPrune.md +79 -6
  243. package/docs/ja/releases/v9.md +12 -0
  244. package/docs/ja/self_hosting.md +46 -50
  245. package/docs/ko/analytics.md +222 -0
  246. package/docs/ko/autoFill.md +28 -9
  247. package/docs/ko/configuration.md +25 -8
  248. package/docs/ko/dictionary/file.md +3 -1
  249. package/docs/ko/dictionary/nesting.md +47 -30
  250. package/docs/ko/formatters.md +133 -187
  251. package/docs/ko/intlayer_with_angular_21.md +9 -9
  252. package/docs/ko/intlayer_with_lynx+react.md +133 -39
  253. package/docs/ko/intlayer_with_nextjs_14.md +1 -28
  254. package/docs/ko/intlayer_with_nextjs_15.md +1 -33
  255. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +40 -188
  256. package/docs/ko/intlayer_with_solid_start.md +1078 -0
  257. package/docs/ko/intlayer_with_vite+preact.md +57 -23
  258. package/docs/ko/intlayer_with_vite+vue.md +1 -3
  259. package/docs/ko/packages/intlayer/getLocalizedUrl.md +26 -24
  260. package/docs/ko/packages/intlayer/getMultilingualUrls.md +4 -18
  261. package/docs/ko/packages/vite-intlayer/exports.md +15 -0
  262. package/docs/ko/packages/vite-intlayer/intlayer.md +121 -6
  263. package/docs/ko/packages/vite-intlayer/intlayerPrune.md +79 -6
  264. package/docs/ko/releases/v9.md +12 -0
  265. package/docs/ko/self_hosting.md +60 -49
  266. package/docs/nl/configuration.md +25 -8
  267. package/docs/nl/intlayer_with_angular_21.md +9 -9
  268. package/docs/pl/analytics.md +220 -0
  269. package/docs/pl/configuration.md +25 -8
  270. package/docs/pl/dictionary/nesting.md +47 -30
  271. package/docs/pl/formatters.md +208 -305
  272. package/docs/pl/intlayer_CMS.md +152 -0
  273. package/docs/pl/intlayer_with_angular_21.md +9 -9
  274. package/docs/pl/intlayer_with_nextjs_14.md +1 -26
  275. package/docs/pl/intlayer_with_solid_start.md +1078 -0
  276. package/docs/pl/packages/intlayer/getMultilingualUrls.md +4 -18
  277. package/docs/pl/packages/react-intlayer/useDictionary.md +2 -19
  278. package/docs/pl/packages/vite-intlayer/exports.md +15 -0
  279. package/docs/pl/packages/vite-intlayer/intlayer.md +121 -6
  280. package/docs/pl/packages/vite-intlayer/intlayerPrune.md +77 -4
  281. package/docs/pl/releases/v9.md +0 -15
  282. package/docs/pl/self_hosting.md +60 -49
  283. package/docs/pt/analytics.md +222 -0
  284. package/docs/pt/configuration.md +25 -8
  285. package/docs/pt/dictionary/file.md +3 -1
  286. package/docs/pt/dictionary/nesting.md +47 -30
  287. package/docs/pt/formatters.md +112 -168
  288. package/docs/pt/intlayer_CMS.md +66 -15
  289. package/docs/pt/intlayer_with_angular_21.md +9 -9
  290. package/docs/pt/intlayer_with_astro_lit.md +26 -1
  291. package/docs/pt/intlayer_with_nextjs_14.md +1 -28
  292. package/docs/pt/intlayer_with_nextjs_15.md +1 -33
  293. package/docs/pt/intlayer_with_solid_start.md +1078 -0
  294. package/docs/pt/intlayer_with_vite+vue.md +1 -3
  295. package/docs/pt/packages/intlayer/getLocalizedUrl.md +34 -26
  296. package/docs/pt/packages/intlayer/getMultilingualUrls.md +4 -18
  297. package/docs/pt/packages/vite-intlayer/exports.md +15 -0
  298. package/docs/pt/packages/vite-intlayer/intlayer.md +121 -6
  299. package/docs/pt/packages/vite-intlayer/intlayerPrune.md +78 -6
  300. package/docs/pt/releases/v9.md +0 -15
  301. package/docs/pt/self_hosting.md +60 -49
  302. package/docs/ru/analytics.md +222 -0
  303. package/docs/ru/autoFill.md +27 -8
  304. package/docs/ru/configuration.md +25 -8
  305. package/docs/ru/dictionary/file.md +3 -1
  306. package/docs/ru/dictionary/nesting.md +64 -205
  307. package/docs/ru/formatters.md +108 -128
  308. package/docs/ru/intlayer_with_angular_21.md +9 -9
  309. package/docs/ru/intlayer_with_nextjs_14.md +1 -28
  310. package/docs/ru/intlayer_with_nextjs_15.md +1 -33
  311. package/docs/ru/intlayer_with_solid_start.md +1078 -0
  312. package/docs/ru/intlayer_with_vite+vue.md +1 -3
  313. package/docs/ru/packages/intlayer/getLocalizedUrl.md +34 -26
  314. package/docs/ru/packages/intlayer/getMultilingualUrls.md +4 -18
  315. package/docs/ru/packages/react-intlayer/useDictionary.md +4 -21
  316. package/docs/ru/packages/vite-intlayer/exports.md +15 -0
  317. package/docs/ru/packages/vite-intlayer/intlayer.md +121 -6
  318. package/docs/ru/packages/vite-intlayer/intlayerPrune.md +77 -4
  319. package/docs/ru/releases/v9.md +0 -15
  320. package/docs/ru/self_hosting.md +60 -49
  321. package/docs/tr/analytics.md +222 -0
  322. package/docs/tr/autoFill.md +28 -9
  323. package/docs/tr/configuration.md +25 -8
  324. package/docs/tr/dictionary/file.md +2 -0
  325. package/docs/tr/dictionary/nesting.md +47 -30
  326. package/docs/tr/formatters.md +144 -190
  327. package/docs/tr/intlayer_CMS.md +152 -0
  328. package/docs/tr/intlayer_with_angular_21.md +9 -9
  329. package/docs/tr/intlayer_with_nestjs.md +2 -12
  330. package/docs/tr/intlayer_with_nextjs_15.md +1 -33
  331. package/docs/tr/intlayer_with_solid_start.md +1078 -0
  332. package/docs/tr/intlayer_with_vite+vue.md +1 -3
  333. package/docs/tr/packages/intlayer/getMultilingualUrls.md +4 -18
  334. package/docs/tr/packages/vite-intlayer/exports.md +15 -0
  335. package/docs/tr/packages/vite-intlayer/intlayer.md +121 -6
  336. package/docs/tr/packages/vite-intlayer/intlayerPrune.md +77 -4
  337. package/docs/tr/self_hosting.md +47 -50
  338. package/docs/uk/analytics.md +222 -0
  339. package/docs/uk/configuration.md +25 -8
  340. package/docs/uk/dictionary/nesting.md +47 -30
  341. package/docs/uk/formatters.md +128 -185
  342. package/docs/uk/intlayer_CMS.md +152 -0
  343. package/docs/uk/intlayer_with_angular_21.md +9 -9
  344. package/docs/uk/intlayer_with_nextjs_14.md +1 -26
  345. package/docs/uk/intlayer_with_solid_start.md +1078 -0
  346. package/docs/uk/packages/react-intlayer/useDictionary.md +2 -19
  347. package/docs/uk/packages/vite-intlayer/exports.md +15 -0
  348. package/docs/uk/packages/vite-intlayer/intlayer.md +121 -6
  349. package/docs/uk/packages/vite-intlayer/intlayerPrune.md +77 -4
  350. package/docs/uk/releases/v9.md +0 -15
  351. package/docs/uk/self_hosting.md +60 -50
  352. package/docs/ur/configuration.md +25 -8
  353. package/docs/ur/intlayer_with_angular_21.md +9 -9
  354. package/docs/vi/analytics.md +222 -0
  355. package/docs/vi/configuration.md +24 -8
  356. package/docs/vi/dictionary/nesting.md +37 -184
  357. package/docs/vi/formatters.md +208 -309
  358. package/docs/vi/intlayer_CMS.md +164 -0
  359. package/docs/vi/intlayer_with_angular_21.md +9 -9
  360. package/docs/vi/intlayer_with_nextjs_14.md +0 -25
  361. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +70 -63
  362. package/docs/vi/intlayer_with_solid_start.md +1078 -0
  363. package/docs/vi/packages/intlayer/getMultilingualUrls.md +4 -18
  364. package/docs/vi/packages/react-intlayer/useIntlayer.md +2 -2
  365. package/docs/vi/packages/vite-intlayer/exports.md +15 -0
  366. package/docs/vi/packages/vite-intlayer/intlayer.md +121 -6
  367. package/docs/vi/packages/vite-intlayer/intlayerPrune.md +77 -4
  368. package/docs/vi/plugins/sync-json.md +6 -6
  369. package/docs/vi/releases/v9.md +12 -0
  370. package/docs/vi/self_hosting.md +61 -50
  371. package/docs/zh/CI_CD.md +4 -0
  372. package/docs/zh/analytics.md +222 -0
  373. package/docs/zh/autoFill.md +28 -9
  374. package/docs/zh/configuration.md +24 -8
  375. package/docs/zh/dictionary/file.md +2 -0
  376. package/docs/zh/dictionary/nesting.md +47 -30
  377. package/docs/zh/formatters.md +140 -188
  378. package/docs/zh/intlayer_CMS.md +164 -0
  379. package/docs/zh/intlayer_with_analog.md +193 -3
  380. package/docs/zh/intlayer_with_angular_19.md +272 -3
  381. package/docs/zh/intlayer_with_angular_21.md +7 -7
  382. package/docs/zh/intlayer_with_create_react_app.md +348 -26
  383. package/docs/zh/intlayer_with_lynx+react.md +263 -4
  384. package/docs/zh/intlayer_with_nextjs_14.md +1 -28
  385. package/docs/zh/intlayer_with_nextjs_15.md +1 -33
  386. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +558 -1
  387. package/docs/zh/intlayer_with_nuxt.md +182 -7
  388. package/docs/zh/intlayer_with_react_router_v7.md +183 -25
  389. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +306 -42
  390. package/docs/zh/intlayer_with_solid_start.md +1077 -0
  391. package/docs/zh/intlayer_with_storybook.md +260 -3
  392. package/docs/zh/intlayer_with_svelte_kit.md +428 -48
  393. package/docs/zh/intlayer_with_tanstack+solid.md +713 -13
  394. package/docs/zh/intlayer_with_tanstack.md +731 -20
  395. package/docs/zh/intlayer_with_vanilla.md +314 -4
  396. package/docs/zh/intlayer_with_vite+lit.md +465 -4
  397. package/docs/zh/intlayer_with_vite+preact.md +422 -116
  398. package/docs/zh/intlayer_with_vite+react.md +324 -45
  399. package/docs/zh/intlayer_with_vite+react_compiler.md +228 -13
  400. package/docs/zh/intlayer_with_vite+solid.md +462 -32
  401. package/docs/zh/intlayer_with_vite+vanilla.md +497 -4
  402. package/docs/zh/mcp_server.md +3 -9
  403. package/docs/zh/packages/intlayer/getLocalizedUrl.md +26 -24
  404. package/docs/zh/packages/intlayer/getMultilingualUrls.md +4 -18
  405. package/docs/zh/packages/vite-intlayer/exports.md +29 -0
  406. package/docs/zh/packages/vite-intlayer/intlayer.md +121 -6
  407. package/docs/zh/packages/vite-intlayer/intlayerPrune.md +79 -6
  408. package/docs/zh/releases/v9.md +12 -0
  409. package/docs/zh/self_hosting.md +60 -50
  410. package/docs/zh-TW/intlayer_with_angular_21.md +7 -7
  411. package/package.json +6 -6
  412. package/src/generated/blog.entry.ts +27 -27
  413. package/src/generated/docs.entry.ts +234 -214
  414. package/src/generated/frequentQuestions.entry.ts +17 -17
  415. package/src/generated/legal.entry.ts +2 -2
@@ -55,11 +55,62 @@ author: aymericzip
55
55
 
56
56
  ---
57
57
 
58
- ### 第2步:实现 Intlayer 插件以封装 JSON
58
+ ## Vue-i18n Intlayer 的分步设置指南
59
59
 
60
- 创建一个 Intlayer 配置文件以定义您支持的语言环境:
60
+ <Steps>
61
61
 
62
- **如果您还想导出用于 vue-i18n 的 JSON 字典**,请添加 `syncJSON` 插件:
62
+ <Step number={1} title="安装依赖项">
63
+
64
+ 使用您首选的包管理器安装必要的包:
65
+
66
+ ```bash packageManager="npm"
67
+ npx intlayer init --interactive
68
+ ```
69
+
70
+ ```bash packageManager="pnpm"
71
+ pnpm dlx intlayer@canary init --interactive
72
+ ```
73
+
74
+ ```bash packageManager="yarn"
75
+ yarn dlx intlayer@canary init --interactive
76
+ ```
77
+
78
+ ```bash packageManager="bun"
79
+ bunx intlayer@canary init --interactive
80
+ ```
81
+
82
+ > `--interactive` 标志是可选的。如果您是 AI 代理,请使用 `intlayer-cli init`。
83
+
84
+ > 此命令将检测您的环境并安装所需的包。例如:
85
+
86
+ ```bash packageManager="npm"
87
+ npm install intlayer @intlayer/sync-json-plugin --save-dev
88
+ ```
89
+
90
+ ```bash packageManager="pnpm"
91
+ pnpm add intlayer @intlayer/sync-json-plugin --save-dev
92
+ ```
93
+
94
+ ```bash packageManager="yarn"
95
+ yarn add intlayer @intlayer/sync-json-plugin --dev
96
+ ```
97
+
98
+ ```bash packageManager="bun"
99
+ bun add intlayer @intlayer/sync-json-plugin --dev
100
+ ```
101
+
102
+ **包说明:**
103
+
104
+ - **intlayer**:用于内容声明和管理的核心库
105
+ - **@intlayer/sync-json-plugin**:将 Intlayer 内容声明同步到 vue-i18n JSON 格式的插件
106
+
107
+ </Step>
108
+
109
+ <Step number={2} title="实现 Intlayer 插件来包装 JSON">
110
+
111
+ 创建一个 Intlayer 配置文件来定义您支持的语言环境:
112
+
113
+ **如果您还想为 vue-i18n 导出 JSON 字典**,请添加 `syncJSON` 插件:
63
114
 
64
115
  ```typescript fileName="intlayer.config.ts"
65
116
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -81,16 +132,74 @@ const config: IntlayerConfig = {
81
132
  export default config;
82
133
  ```
83
134
 
84
- `syncJSON` 插件会自动包装 JSON。它会读取和写入 JSON 文件,而不会改变内容结构。
135
+ `syncJSON` 插件将自动包装 JSON。它将读取和写入 JSON 文件,而不改变内容架构。
85
136
 
86
- 如果你想让 JSON 与 intlayer 内容声明文件(`.content` 文件)共存,Intlayer 会按以下方式处理:
137
+ 如果您想让 JSON 与 intlayer 内容声明文件(`.content` 文件)共存,Intlayer 将按照以下方式处理:
87
138
 
88
139
  1. 加载 JSON 和内容声明文件,并将它们转换为 intlayer 字典。
89
- 2. 如果 JSON 和内容声明文件之间存在冲突,Intlayer 会合并所有字典。具体合并方式取决于插件的优先级以及内容声明文件的优先级(所有优先级均可配置)。
140
+ 2. 如果 JSON 和内容声明文件之间存在冲突,Intlayer 将合并所有字典。根据插件的优先级和内容声明文件的优先级(都是可配置的)。
141
+
142
+ 如果使用 CLI 或 CMS 对 JSON 进行更改以翻译内容,Intlayer 将使用新的翻译更新 JSON 文件。
143
+
144
+ 有关 `syncJSON` 插件的更多详细信息,请参阅 [syncJSON 插件文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/plugins/sync-json.md)。
145
+
146
+ </Step>
147
+
148
+ <Step number={3} title="设置 AI 提供商">
149
+
150
+ Intlayer 为您的 i18next 工作流解锁了一系列高级自动化和开发者友好的功能。
151
+
152
+ - **自动检测和填充缺失的翻译**:Intlayer 扫描您的 JSON 字典,找到未翻译或缺失的键,仅翻译这些部分,因此您的 JSON 的 99% 保持不变。
153
+ - **大型 JSON 文件的分块翻译**:当您的翻译文件非常大时,Intlayer 自动将处理分成可管理的块,独立翻译它们以避免 API 限制和内存问题。
154
+ - **命名空间并行化**:如果您有数百个命名空间(或文件),Intlayer 将并行化翻译任务,有效加快 CI/CD 或批量翻译操作的速度。
155
+ - **灵活的 AI 提供商支持**:选择您首选的 AI 提供商(例如 OpenAI、Claude、Gemini),只需配置凭据即可。使用您自己的 API 密钥,并根据需要切换提供商。
156
+ - **强大的 AI 响应处理**:Intlayer 可以处理您的 AI 提供商将文本作为字符串或对象返回的边界情况,甚至在格式不一致时自动重试。
157
+ - **CLI 和 CI/CD 就绪**:直接在您的测试或管道中运行 Intlayer 的检查和自动填充,使您的本地化过程强大且自动化。
158
+ - **集成到您现有的设置之上**:您不需要改变您的 i18next 或 Next.js 基础。Intlayer 作为您当前设置的附加插件,为您提供所有这些好处,同时最小化迁移。
159
+
160
+ 以下是如何设置 AI 提供商的示例:
161
+
162
+ ```ts fileName="intlayer.config.ts"
163
+ import { Locales, type IntlayerConfig } from "intlayer";
164
+ import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
165
+
166
+ const config: IntlayerConfig = {
167
+ internationalization: {
168
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
169
+ defaultLocale: Locales.ENGLISH,
170
+ },
171
+ ai: {
172
+ provider: "openai",
173
+ model: "gpt-5-mini",
174
+ apiKey: process.env.OPENAI_API_KEY,
175
+ },
176
+ plugins: [
177
+ syncJSON({
178
+ format: "vue-i18n",
179
+ source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
180
+ }),
181
+ ],
182
+ };
183
+
184
+ export default config;
185
+ ```
186
+
187
+ 然后您可以执行以下命令来填充您的翻译:
188
+
189
+ ```bash
190
+ npx intlayer fill
191
+ ```
192
+
193
+ 这将使用您配置的 AI 提供商填充您的翻译。
194
+
195
+ > 在 [Intlayer AI 配置文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md#ai-configuration) 中查看所有可用的 AI 提供商。
196
+ > 在 [Intlayer CLI 文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md) 中查看所有可用的命令。
197
+
198
+ ---
90
199
 
91
- 如果通过 CLI 翻译 JSON 或使用 CMS 进行更改,Intlayer 会使用新的翻译更新 JSON 文件。
200
+ </Step>
92
201
 
93
- 要查看更多关于 `syncJSON` 插件的详细信息,请参阅 [syncJSON 插件文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/plugins/sync-json.md)。
202
+ </Steps>
94
203
 
95
204
  ## Git 配置
96
205
 
@@ -79,6 +79,12 @@ author: aymericzip
79
79
 
80
80
  每个向量都是文本的数学指纹,支持相似度搜索。
81
81
 
82
+ ## 使用 Sanity 跳过复杂性
83
+
84
+ Sanity 值得在此提及,作为本文指向的 CMS 选项。Markdown 文件需要任意的 token 拆分——具有文章所描述的分块大小和重叠权衡——而 Sanity 的 Content Lake 将文档存储为类型化的、架构定义的 JSON 文档。每个字段、标题和内容块已经是一个语义单元,这意味着 RAG 检索在有意义的边界上操作,而不是近似的 token 计数。
85
+
86
+ Sanity 的 GROQ 查询语言让你能够检索与用户查询相关的确切文档字段——标题、正文、相关部分——而无需获取整个文档。MCP 服务器将 Content Lake 直接连接到 AI 代理,因此为文档网站提供支持的相同结构化内容也会馈送到你的 RAG 管道中,无需单独的摄入步骤。
87
+
82
88
  ## 结论
83
89
 
84
90
  RAG 是使大型语言模型(LLM)实用的最简单且最强大的方法之一。通过结合**检索 + 生成**,您可以将静态文档转变为**智能助手**,同时获得持续的产品洞察流。
@@ -27,12 +27,12 @@ const readLocale = (relativeAfterLocale, locale) => {
27
27
  const blogEntry = {
28
28
  "./blog/en/compiler_vs_declarative_i18n.md": {
29
29
  en: readLocale("compiler_vs_declarative_i18n.md", "en"),
30
+ es: readLocale("compiler_vs_declarative_i18n.md", "es"),
30
31
  ru: readLocale("compiler_vs_declarative_i18n.md", "ru"),
31
32
  ja: readLocale("compiler_vs_declarative_i18n.md", "ja"),
32
33
  fr: readLocale("compiler_vs_declarative_i18n.md", "fr"),
33
34
  ko: readLocale("compiler_vs_declarative_i18n.md", "ko"),
34
35
  zh: readLocale("compiler_vs_declarative_i18n.md", "zh"),
35
- es: readLocale("compiler_vs_declarative_i18n.md", "es"),
36
36
  de: readLocale("compiler_vs_declarative_i18n.md", "de"),
37
37
  ar: readLocale("compiler_vs_declarative_i18n.md", "ar"),
38
38
  it: readLocale("compiler_vs_declarative_i18n.md", "it"),
@@ -47,12 +47,12 @@ const blogEntry = {
47
47
  },
48
48
  "./blog/en/i18n_meaning.md": {
49
49
  en: readLocale("i18n_meaning.md", "en"),
50
+ es: readLocale("i18n_meaning.md", "es"),
50
51
  ru: readLocale("i18n_meaning.md", "ru"),
51
52
  ja: readLocale("i18n_meaning.md", "ja"),
52
53
  fr: readLocale("i18n_meaning.md", "fr"),
53
54
  ko: readLocale("i18n_meaning.md", "ko"),
54
55
  zh: readLocale("i18n_meaning.md", "zh"),
55
- es: readLocale("i18n_meaning.md", "es"),
56
56
  de: readLocale("i18n_meaning.md", "de"),
57
57
  ar: readLocale("i18n_meaning.md", "ar"),
58
58
  it: readLocale("i18n_meaning.md", "it"),
@@ -67,12 +67,12 @@ const blogEntry = {
67
67
  },
68
68
  "./blog/en/i18n_using_next-i18next.md": {
69
69
  en: readLocale("i18n_using_next-i18next.md", "en"),
70
+ es: readLocale("i18n_using_next-i18next.md", "es"),
70
71
  ru: readLocale("i18n_using_next-i18next.md", "ru"),
71
72
  ja: readLocale("i18n_using_next-i18next.md", "ja"),
72
73
  fr: readLocale("i18n_using_next-i18next.md", "fr"),
73
74
  ko: readLocale("i18n_using_next-i18next.md", "ko"),
74
75
  zh: readLocale("i18n_using_next-i18next.md", "zh"),
75
- es: readLocale("i18n_using_next-i18next.md", "es"),
76
76
  de: readLocale("i18n_using_next-i18next.md", "de"),
77
77
  ar: readLocale("i18n_using_next-i18next.md", "ar"),
78
78
  it: readLocale("i18n_using_next-i18next.md", "it"),
@@ -87,12 +87,12 @@ const blogEntry = {
87
87
  },
88
88
  "./blog/en/i18n_using_next-intl.md": {
89
89
  en: readLocale("i18n_using_next-intl.md", "en"),
90
+ es: readLocale("i18n_using_next-intl.md", "es"),
90
91
  ru: readLocale("i18n_using_next-intl.md", "ru"),
91
92
  ja: readLocale("i18n_using_next-intl.md", "ja"),
92
93
  fr: readLocale("i18n_using_next-intl.md", "fr"),
93
94
  ko: readLocale("i18n_using_next-intl.md", "ko"),
94
95
  zh: readLocale("i18n_using_next-intl.md", "zh"),
95
- es: readLocale("i18n_using_next-intl.md", "es"),
96
96
  de: readLocale("i18n_using_next-intl.md", "de"),
97
97
  ar: readLocale("i18n_using_next-intl.md", "ar"),
98
98
  it: readLocale("i18n_using_next-intl.md", "it"),
@@ -107,12 +107,12 @@ const blogEntry = {
107
107
  },
108
108
  "./blog/en/index.md": {
109
109
  en: readLocale("index.md", "en"),
110
+ es: readLocale("index.md", "es"),
110
111
  ru: readLocale("index.md", "ru"),
111
112
  ja: readLocale("index.md", "ja"),
112
113
  fr: readLocale("index.md", "fr"),
113
114
  ko: readLocale("index.md", "ko"),
114
115
  zh: readLocale("index.md", "zh"),
115
- es: readLocale("index.md", "es"),
116
116
  de: readLocale("index.md", "de"),
117
117
  ar: readLocale("index.md", "ar"),
118
118
  it: readLocale("index.md", "it"),
@@ -127,12 +127,12 @@ const blogEntry = {
127
127
  },
128
128
  "./blog/en/internationalization_and_SEO.md": {
129
129
  en: readLocale("internationalization_and_SEO.md", "en"),
130
+ es: readLocale("internationalization_and_SEO.md", "es"),
130
131
  ru: readLocale("internationalization_and_SEO.md", "ru"),
131
132
  ja: readLocale("internationalization_and_SEO.md", "ja"),
132
133
  fr: readLocale("internationalization_and_SEO.md", "fr"),
133
134
  ko: readLocale("internationalization_and_SEO.md", "ko"),
134
135
  zh: readLocale("internationalization_and_SEO.md", "zh"),
135
- es: readLocale("internationalization_and_SEO.md", "es"),
136
136
  de: readLocale("internationalization_and_SEO.md", "de"),
137
137
  ar: readLocale("internationalization_and_SEO.md", "ar"),
138
138
  it: readLocale("internationalization_and_SEO.md", "it"),
@@ -147,12 +147,12 @@ const blogEntry = {
147
147
  },
148
148
  "./blog/en/intlayer_with_i18next.md": {
149
149
  en: readLocale("intlayer_with_i18next.md", "en"),
150
+ es: readLocale("intlayer_with_i18next.md", "es"),
150
151
  ru: readLocale("intlayer_with_i18next.md", "ru"),
151
152
  ja: readLocale("intlayer_with_i18next.md", "ja"),
152
153
  fr: readLocale("intlayer_with_i18next.md", "fr"),
153
154
  ko: readLocale("intlayer_with_i18next.md", "ko"),
154
155
  zh: readLocale("intlayer_with_i18next.md", "zh"),
155
- es: readLocale("intlayer_with_i18next.md", "es"),
156
156
  de: readLocale("intlayer_with_i18next.md", "de"),
157
157
  ar: readLocale("intlayer_with_i18next.md", "ar"),
158
158
  it: readLocale("intlayer_with_i18next.md", "it"),
@@ -167,12 +167,12 @@ const blogEntry = {
167
167
  },
168
168
  "./blog/en/intlayer_with_next-i18next.md": {
169
169
  en: readLocale("intlayer_with_next-i18next.md", "en"),
170
+ es: readLocale("intlayer_with_next-i18next.md", "es"),
170
171
  ru: readLocale("intlayer_with_next-i18next.md", "ru"),
171
172
  ja: readLocale("intlayer_with_next-i18next.md", "ja"),
172
173
  fr: readLocale("intlayer_with_next-i18next.md", "fr"),
173
174
  ko: readLocale("intlayer_with_next-i18next.md", "ko"),
174
175
  zh: readLocale("intlayer_with_next-i18next.md", "zh"),
175
- es: readLocale("intlayer_with_next-i18next.md", "es"),
176
176
  de: readLocale("intlayer_with_next-i18next.md", "de"),
177
177
  ar: readLocale("intlayer_with_next-i18next.md", "ar"),
178
178
  it: readLocale("intlayer_with_next-i18next.md", "it"),
@@ -187,12 +187,12 @@ const blogEntry = {
187
187
  },
188
188
  "./blog/en/intlayer_with_next-intl.md": {
189
189
  en: readLocale("intlayer_with_next-intl.md", "en"),
190
+ es: readLocale("intlayer_with_next-intl.md", "es"),
190
191
  ru: readLocale("intlayer_with_next-intl.md", "ru"),
191
192
  ja: readLocale("intlayer_with_next-intl.md", "ja"),
192
193
  fr: readLocale("intlayer_with_next-intl.md", "fr"),
193
194
  ko: readLocale("intlayer_with_next-intl.md", "ko"),
194
195
  zh: readLocale("intlayer_with_next-intl.md", "zh"),
195
- es: readLocale("intlayer_with_next-intl.md", "es"),
196
196
  de: readLocale("intlayer_with_next-intl.md", "de"),
197
197
  ar: readLocale("intlayer_with_next-intl.md", "ar"),
198
198
  it: readLocale("intlayer_with_next-intl.md", "it"),
@@ -207,12 +207,12 @@ const blogEntry = {
207
207
  },
208
208
  "./blog/en/intlayer_with_react-i18next.md": {
209
209
  en: readLocale("intlayer_with_react-i18next.md", "en"),
210
+ es: readLocale("intlayer_with_react-i18next.md", "es"),
210
211
  ru: readLocale("intlayer_with_react-i18next.md", "ru"),
211
212
  ja: readLocale("intlayer_with_react-i18next.md", "ja"),
212
213
  fr: readLocale("intlayer_with_react-i18next.md", "fr"),
213
214
  ko: readLocale("intlayer_with_react-i18next.md", "ko"),
214
215
  zh: readLocale("intlayer_with_react-i18next.md", "zh"),
215
- es: readLocale("intlayer_with_react-i18next.md", "es"),
216
216
  de: readLocale("intlayer_with_react-i18next.md", "de"),
217
217
  ar: readLocale("intlayer_with_react-i18next.md", "ar"),
218
218
  it: readLocale("intlayer_with_react-i18next.md", "it"),
@@ -227,12 +227,12 @@ const blogEntry = {
227
227
  },
228
228
  "./blog/en/intlayer_with_react-intl.md": {
229
229
  en: readLocale("intlayer_with_react-intl.md", "en"),
230
+ es: readLocale("intlayer_with_react-intl.md", "es"),
230
231
  ru: readLocale("intlayer_with_react-intl.md", "ru"),
231
232
  ja: readLocale("intlayer_with_react-intl.md", "ja"),
232
233
  fr: readLocale("intlayer_with_react-intl.md", "fr"),
233
234
  ko: readLocale("intlayer_with_react-intl.md", "ko"),
234
235
  zh: readLocale("intlayer_with_react-intl.md", "zh"),
235
- es: readLocale("intlayer_with_react-intl.md", "es"),
236
236
  de: readLocale("intlayer_with_react-intl.md", "de"),
237
237
  ar: readLocale("intlayer_with_react-intl.md", "ar"),
238
238
  it: readLocale("intlayer_with_react-intl.md", "it"),
@@ -247,12 +247,12 @@ const blogEntry = {
247
247
  },
248
248
  "./blog/en/intlayer_with_vue-i18n.md": {
249
249
  en: readLocale("intlayer_with_vue-i18n.md", "en"),
250
+ es: readLocale("intlayer_with_vue-i18n.md", "es"),
250
251
  ru: readLocale("intlayer_with_vue-i18n.md", "ru"),
251
252
  ja: readLocale("intlayer_with_vue-i18n.md", "ja"),
252
253
  fr: readLocale("intlayer_with_vue-i18n.md", "fr"),
253
254
  ko: readLocale("intlayer_with_vue-i18n.md", "ko"),
254
255
  zh: readLocale("intlayer_with_vue-i18n.md", "zh"),
255
- es: readLocale("intlayer_with_vue-i18n.md", "es"),
256
256
  de: readLocale("intlayer_with_vue-i18n.md", "de"),
257
257
  ar: readLocale("intlayer_with_vue-i18n.md", "ar"),
258
258
  it: readLocale("intlayer_with_vue-i18n.md", "it"),
@@ -267,12 +267,12 @@ const blogEntry = {
267
267
  },
268
268
  "./blog/en/l10n_platform_alternative/Lokalise.md": {
269
269
  en: readLocale("l10n_platform_alternative/Lokalise.md", "en"),
270
+ es: readLocale("l10n_platform_alternative/Lokalise.md", "es"),
270
271
  ru: readLocale("l10n_platform_alternative/Lokalise.md", "ru"),
271
272
  ja: readLocale("l10n_platform_alternative/Lokalise.md", "ja"),
272
273
  fr: readLocale("l10n_platform_alternative/Lokalise.md", "fr"),
273
274
  ko: readLocale("l10n_platform_alternative/Lokalise.md", "ko"),
274
275
  zh: readLocale("l10n_platform_alternative/Lokalise.md", "zh"),
275
- es: readLocale("l10n_platform_alternative/Lokalise.md", "es"),
276
276
  de: readLocale("l10n_platform_alternative/Lokalise.md", "de"),
277
277
  ar: readLocale("l10n_platform_alternative/Lokalise.md", "ar"),
278
278
  it: readLocale("l10n_platform_alternative/Lokalise.md", "it"),
@@ -287,12 +287,12 @@ const blogEntry = {
287
287
  },
288
288
  "./blog/en/l10n_platform_alternative/crowdin.md": {
289
289
  en: readLocale("l10n_platform_alternative/crowdin.md", "en"),
290
+ es: readLocale("l10n_platform_alternative/crowdin.md", "es"),
290
291
  ru: readLocale("l10n_platform_alternative/crowdin.md", "ru"),
291
292
  ja: readLocale("l10n_platform_alternative/crowdin.md", "ja"),
292
293
  fr: readLocale("l10n_platform_alternative/crowdin.md", "fr"),
293
294
  ko: readLocale("l10n_platform_alternative/crowdin.md", "ko"),
294
295
  zh: readLocale("l10n_platform_alternative/crowdin.md", "zh"),
295
- es: readLocale("l10n_platform_alternative/crowdin.md", "es"),
296
296
  de: readLocale("l10n_platform_alternative/crowdin.md", "de"),
297
297
  ar: readLocale("l10n_platform_alternative/crowdin.md", "ar"),
298
298
  it: readLocale("l10n_platform_alternative/crowdin.md", "it"),
@@ -307,12 +307,12 @@ const blogEntry = {
307
307
  },
308
308
  "./blog/en/l10n_platform_alternative/phrase.md": {
309
309
  en: readLocale("l10n_platform_alternative/phrase.md", "en"),
310
+ es: readLocale("l10n_platform_alternative/phrase.md", "es"),
310
311
  ru: readLocale("l10n_platform_alternative/phrase.md", "ru"),
311
312
  ja: readLocale("l10n_platform_alternative/phrase.md", "ja"),
312
313
  fr: readLocale("l10n_platform_alternative/phrase.md", "fr"),
313
314
  ko: readLocale("l10n_platform_alternative/phrase.md", "ko"),
314
315
  zh: readLocale("l10n_platform_alternative/phrase.md", "zh"),
315
- es: readLocale("l10n_platform_alternative/phrase.md", "es"),
316
316
  de: readLocale("l10n_platform_alternative/phrase.md", "de"),
317
317
  ar: readLocale("l10n_platform_alternative/phrase.md", "ar"),
318
318
  it: readLocale("l10n_platform_alternative/phrase.md", "it"),
@@ -327,12 +327,12 @@ const blogEntry = {
327
327
  },
328
328
  "./blog/en/list_i18n_technologies/frameworks/angular.md": {
329
329
  en: readLocale("list_i18n_technologies/frameworks/angular.md", "en"),
330
+ es: readLocale("list_i18n_technologies/frameworks/angular.md", "es"),
330
331
  ru: readLocale("list_i18n_technologies/frameworks/angular.md", "ru"),
331
332
  ja: readLocale("list_i18n_technologies/frameworks/angular.md", "ja"),
332
333
  fr: readLocale("list_i18n_technologies/frameworks/angular.md", "fr"),
333
334
  ko: readLocale("list_i18n_technologies/frameworks/angular.md", "ko"),
334
335
  zh: readLocale("list_i18n_technologies/frameworks/angular.md", "zh"),
335
- es: readLocale("list_i18n_technologies/frameworks/angular.md", "es"),
336
336
  de: readLocale("list_i18n_technologies/frameworks/angular.md", "de"),
337
337
  ar: readLocale("list_i18n_technologies/frameworks/angular.md", "ar"),
338
338
  it: readLocale("list_i18n_technologies/frameworks/angular.md", "it"),
@@ -347,12 +347,12 @@ const blogEntry = {
347
347
  },
348
348
  "./blog/en/list_i18n_technologies/frameworks/react-native.md": {
349
349
  en: readLocale("list_i18n_technologies/frameworks/react-native.md", "en"),
350
+ es: readLocale("list_i18n_technologies/frameworks/react-native.md", "es"),
350
351
  ru: readLocale("list_i18n_technologies/frameworks/react-native.md", "ru"),
351
352
  ja: readLocale("list_i18n_technologies/frameworks/react-native.md", "ja"),
352
353
  fr: readLocale("list_i18n_technologies/frameworks/react-native.md", "fr"),
353
354
  ko: readLocale("list_i18n_technologies/frameworks/react-native.md", "ko"),
354
355
  zh: readLocale("list_i18n_technologies/frameworks/react-native.md", "zh"),
355
- es: readLocale("list_i18n_technologies/frameworks/react-native.md", "es"),
356
356
  de: readLocale("list_i18n_technologies/frameworks/react-native.md", "de"),
357
357
  ar: readLocale("list_i18n_technologies/frameworks/react-native.md", "ar"),
358
358
  it: readLocale("list_i18n_technologies/frameworks/react-native.md", "it"),
@@ -367,12 +367,12 @@ const blogEntry = {
367
367
  },
368
368
  "./blog/en/list_i18n_technologies/frameworks/react.md": {
369
369
  en: readLocale("list_i18n_technologies/frameworks/react.md", "en"),
370
+ es: readLocale("list_i18n_technologies/frameworks/react.md", "es"),
370
371
  ru: readLocale("list_i18n_technologies/frameworks/react.md", "ru"),
371
372
  ja: readLocale("list_i18n_technologies/frameworks/react.md", "ja"),
372
373
  fr: readLocale("list_i18n_technologies/frameworks/react.md", "fr"),
373
374
  ko: readLocale("list_i18n_technologies/frameworks/react.md", "ko"),
374
375
  zh: readLocale("list_i18n_technologies/frameworks/react.md", "zh"),
375
- es: readLocale("list_i18n_technologies/frameworks/react.md", "es"),
376
376
  de: readLocale("list_i18n_technologies/frameworks/react.md", "de"),
377
377
  ar: readLocale("list_i18n_technologies/frameworks/react.md", "ar"),
378
378
  it: readLocale("list_i18n_technologies/frameworks/react.md", "it"),
@@ -387,12 +387,12 @@ const blogEntry = {
387
387
  },
388
388
  "./blog/en/list_i18n_technologies/frameworks/svelte.md": {
389
389
  en: readLocale("list_i18n_technologies/frameworks/svelte.md", "en"),
390
+ es: readLocale("list_i18n_technologies/frameworks/svelte.md", "es"),
390
391
  ru: readLocale("list_i18n_technologies/frameworks/svelte.md", "ru"),
391
392
  ja: readLocale("list_i18n_technologies/frameworks/svelte.md", "ja"),
392
393
  fr: readLocale("list_i18n_technologies/frameworks/svelte.md", "fr"),
393
394
  ko: readLocale("list_i18n_technologies/frameworks/svelte.md", "ko"),
394
395
  zh: readLocale("list_i18n_technologies/frameworks/svelte.md", "zh"),
395
- es: readLocale("list_i18n_technologies/frameworks/svelte.md", "es"),
396
396
  de: readLocale("list_i18n_technologies/frameworks/svelte.md", "de"),
397
397
  ar: readLocale("list_i18n_technologies/frameworks/svelte.md", "ar"),
398
398
  it: readLocale("list_i18n_technologies/frameworks/svelte.md", "it"),
@@ -407,12 +407,12 @@ const blogEntry = {
407
407
  },
408
408
  "./blog/en/list_i18n_technologies/frameworks/vue.md": {
409
409
  en: readLocale("list_i18n_technologies/frameworks/vue.md", "en"),
410
+ es: readLocale("list_i18n_technologies/frameworks/vue.md", "es"),
410
411
  ru: readLocale("list_i18n_technologies/frameworks/vue.md", "ru"),
411
412
  ja: readLocale("list_i18n_technologies/frameworks/vue.md", "ja"),
412
413
  fr: readLocale("list_i18n_technologies/frameworks/vue.md", "fr"),
413
414
  ko: readLocale("list_i18n_technologies/frameworks/vue.md", "ko"),
414
415
  zh: readLocale("list_i18n_technologies/frameworks/vue.md", "zh"),
415
- es: readLocale("list_i18n_technologies/frameworks/vue.md", "es"),
416
416
  de: readLocale("list_i18n_technologies/frameworks/vue.md", "de"),
417
417
  ar: readLocale("list_i18n_technologies/frameworks/vue.md", "ar"),
418
418
  it: readLocale("list_i18n_technologies/frameworks/vue.md", "it"),
@@ -427,12 +427,12 @@ const blogEntry = {
427
427
  },
428
428
  "./blog/en/next-i18next_vs_next-intl_vs_intlayer.md": {
429
429
  en: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "en"),
430
+ es: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "es"),
430
431
  ru: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "ru"),
431
432
  ja: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "ja"),
432
433
  fr: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "fr"),
433
434
  ko: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "ko"),
434
435
  zh: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "zh"),
435
- es: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "es"),
436
436
  de: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "de"),
437
437
  ar: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "ar"),
438
438
  it: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "it"),
@@ -447,12 +447,12 @@ const blogEntry = {
447
447
  },
448
448
  "./blog/en/nextjs-multilingual-seo-comparison.md": {
449
449
  en: readLocale("nextjs-multilingual-seo-comparison.md", "en"),
450
+ es: readLocale("nextjs-multilingual-seo-comparison.md", "es"),
450
451
  ru: readLocale("nextjs-multilingual-seo-comparison.md", "ru"),
451
452
  ja: readLocale("nextjs-multilingual-seo-comparison.md", "ja"),
452
453
  fr: readLocale("nextjs-multilingual-seo-comparison.md", "fr"),
453
454
  ko: readLocale("nextjs-multilingual-seo-comparison.md", "ko"),
454
455
  zh: readLocale("nextjs-multilingual-seo-comparison.md", "zh"),
455
- es: readLocale("nextjs-multilingual-seo-comparison.md", "es"),
456
456
  de: readLocale("nextjs-multilingual-seo-comparison.md", "de"),
457
457
  ar: readLocale("nextjs-multilingual-seo-comparison.md", "ar"),
458
458
  it: readLocale("nextjs-multilingual-seo-comparison.md", "it"),
@@ -467,12 +467,12 @@ const blogEntry = {
467
467
  },
468
468
  "./blog/en/per-component_vs_centralized_i18n.md": {
469
469
  en: readLocale("per-component_vs_centralized_i18n.md", "en"),
470
+ es: readLocale("per-component_vs_centralized_i18n.md", "es"),
470
471
  ru: readLocale("per-component_vs_centralized_i18n.md", "ru"),
471
472
  ja: readLocale("per-component_vs_centralized_i18n.md", "ja"),
472
473
  fr: readLocale("per-component_vs_centralized_i18n.md", "fr"),
473
474
  ko: readLocale("per-component_vs_centralized_i18n.md", "ko"),
474
475
  zh: readLocale("per-component_vs_centralized_i18n.md", "zh"),
475
- es: readLocale("per-component_vs_centralized_i18n.md", "es"),
476
476
  de: readLocale("per-component_vs_centralized_i18n.md", "de"),
477
477
  ar: readLocale("per-component_vs_centralized_i18n.md", "ar"),
478
478
  it: readLocale("per-component_vs_centralized_i18n.md", "it"),
@@ -487,12 +487,12 @@ const blogEntry = {
487
487
  },
488
488
  "./blog/en/rag_powered_documentation_assistant.md": {
489
489
  en: readLocale("rag_powered_documentation_assistant.md", "en"),
490
+ es: readLocale("rag_powered_documentation_assistant.md", "es"),
490
491
  ru: readLocale("rag_powered_documentation_assistant.md", "ru"),
491
492
  ja: readLocale("rag_powered_documentation_assistant.md", "ja"),
492
493
  fr: readLocale("rag_powered_documentation_assistant.md", "fr"),
493
494
  ko: readLocale("rag_powered_documentation_assistant.md", "ko"),
494
495
  zh: readLocale("rag_powered_documentation_assistant.md", "zh"),
495
- es: readLocale("rag_powered_documentation_assistant.md", "es"),
496
496
  de: readLocale("rag_powered_documentation_assistant.md", "de"),
497
497
  ar: readLocale("rag_powered_documentation_assistant.md", "ar"),
498
498
  it: readLocale("rag_powered_documentation_assistant.md", "it"),
@@ -507,12 +507,12 @@ const blogEntry = {
507
507
  },
508
508
  "./blog/en/react-i18next_vs_react-intl_vs_intlayer.md": {
509
509
  en: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "en"),
510
+ es: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "es"),
510
511
  ru: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "ru"),
511
512
  ja: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "ja"),
512
513
  fr: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "fr"),
513
514
  ko: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "ko"),
514
515
  zh: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "zh"),
515
- es: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "es"),
516
516
  de: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "de"),
517
517
  ar: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "ar"),
518
518
  it: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "it"),
@@ -527,12 +527,12 @@ const blogEntry = {
527
527
  },
528
528
  "./blog/en/vue-i18n_vs_intlayer.md": {
529
529
  en: readLocale("vue-i18n_vs_intlayer.md", "en"),
530
+ es: readLocale("vue-i18n_vs_intlayer.md", "es"),
530
531
  ru: readLocale("vue-i18n_vs_intlayer.md", "ru"),
531
532
  ja: readLocale("vue-i18n_vs_intlayer.md", "ja"),
532
533
  fr: readLocale("vue-i18n_vs_intlayer.md", "fr"),
533
534
  ko: readLocale("vue-i18n_vs_intlayer.md", "ko"),
534
535
  zh: readLocale("vue-i18n_vs_intlayer.md", "zh"),
535
- es: readLocale("vue-i18n_vs_intlayer.md", "es"),
536
536
  de: readLocale("vue-i18n_vs_intlayer.md", "de"),
537
537
  ar: readLocale("vue-i18n_vs_intlayer.md", "ar"),
538
538
  it: readLocale("vue-i18n_vs_intlayer.md", "it"),
@@ -547,12 +547,12 @@ const blogEntry = {
547
547
  },
548
548
  "./blog/en/what_is_internationalization.md": {
549
549
  en: readLocale("what_is_internationalization.md", "en"),
550
+ es: readLocale("what_is_internationalization.md", "es"),
550
551
  ru: readLocale("what_is_internationalization.md", "ru"),
551
552
  ja: readLocale("what_is_internationalization.md", "ja"),
552
553
  fr: readLocale("what_is_internationalization.md", "fr"),
553
554
  ko: readLocale("what_is_internationalization.md", "ko"),
554
555
  zh: readLocale("what_is_internationalization.md", "zh"),
555
- es: readLocale("what_is_internationalization.md", "es"),
556
556
  de: readLocale("what_is_internationalization.md", "de"),
557
557
  ar: readLocale("what_is_internationalization.md", "ar"),
558
558
  it: readLocale("what_is_internationalization.md", "it"),