@intlayer/docs 9.1.3 → 9.3.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 (482) hide show
  1. package/blog/ar/index.md +1 -1
  2. package/blog/ar/rag_powered_documentation_assistant.md +7 -0
  3. package/blog/de/index.md +1 -1
  4. package/blog/de/rag_powered_documentation_assistant.md +6 -0
  5. package/blog/en/index.md +1 -1
  6. package/blog/en-GB/index.md +1 -1
  7. package/blog/en-GB/rag_powered_documentation_assistant.md +6 -0
  8. package/blog/es/index.md +1 -1
  9. package/blog/es/rag_powered_documentation_assistant.md +7 -0
  10. package/blog/fr/i18n_meaning.md +7 -1
  11. package/blog/fr/index.md +1 -1
  12. package/blog/fr/list_i18n_technologies/frameworks/angular.md +5 -1
  13. package/blog/fr/rag_powered_documentation_assistant.md +6 -0
  14. package/blog/hi/index.md +1 -1
  15. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +119 -42
  16. package/blog/hi/rag_powered_documentation_assistant.md +7 -0
  17. package/blog/id/index.md +1 -1
  18. package/blog/id/rag_powered_documentation_assistant.md +6 -0
  19. package/blog/it/index.md +1 -1
  20. package/blog/it/rag_powered_documentation_assistant.md +6 -0
  21. package/blog/ja/index.md +1 -1
  22. package/blog/ja/rag_powered_documentation_assistant.md +7 -0
  23. package/blog/ko/index.md +1 -1
  24. package/blog/ko/list_i18n_technologies/frameworks/react.md +7 -7
  25. package/blog/ko/rag_powered_documentation_assistant.md +6 -0
  26. package/blog/pl/index.md +1 -1
  27. package/blog/pl/rag_powered_documentation_assistant.md +6 -0
  28. package/blog/pt/index.md +1 -1
  29. package/blog/pt/rag_powered_documentation_assistant.md +6 -0
  30. package/blog/ru/index.md +1 -1
  31. package/blog/ru/rag_powered_documentation_assistant.md +7 -0
  32. package/blog/tr/intlayer_with_react-intl.md +3 -1
  33. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +175 -42
  34. package/blog/tr/rag_powered_documentation_assistant.md +6 -0
  35. package/blog/uk/index.md +1 -1
  36. package/blog/uk/rag_powered_documentation_assistant.md +6 -0
  37. package/blog/vi/index.md +1 -1
  38. package/blog/vi/rag_powered_documentation_assistant.md +6 -0
  39. package/blog/zh/index.md +1 -1
  40. package/blog/zh/intlayer_with_i18next.md +87 -28
  41. package/blog/zh/intlayer_with_next-i18next.md +86 -29
  42. package/blog/zh/intlayer_with_next-intl.md +88 -28
  43. package/blog/zh/intlayer_with_react-i18next.md +87 -28
  44. package/blog/zh/intlayer_with_react-intl.md +88 -27
  45. package/blog/zh/intlayer_with_vue-i18n.md +117 -8
  46. package/blog/zh/rag_powered_documentation_assistant.md +6 -0
  47. package/dist/cjs/common.cjs +24 -1
  48. package/dist/cjs/common.cjs.map +1 -1
  49. package/dist/cjs/generated/blog.entry.cjs +58 -31
  50. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  51. package/dist/cjs/generated/docs.entry.cjs +265 -218
  52. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  53. package/dist/cjs/generated/frequentQuestions.entry.cjs +48 -21
  54. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  55. package/dist/cjs/generated/legal.entry.cjs +33 -6
  56. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  57. package/dist/esm/common.mjs +24 -1
  58. package/dist/esm/common.mjs.map +1 -1
  59. package/dist/esm/generated/blog.entry.mjs +58 -31
  60. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  61. package/dist/esm/generated/docs.entry.mjs +265 -218
  62. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  63. package/dist/esm/generated/frequentQuestions.entry.mjs +48 -21
  64. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  65. package/dist/esm/generated/legal.entry.mjs +33 -6
  66. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  67. package/dist/types/common.d.ts.map +1 -1
  68. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  69. package/dist/types/generated/docs.entry.d.ts +1 -0
  70. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  71. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  72. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  73. package/docs/ar/analytics.md +222 -0
  74. package/docs/ar/autoFill.md +28 -9
  75. package/docs/ar/bundle_optimization.md +58 -25
  76. package/docs/ar/configuration.md +25 -8
  77. package/docs/ar/dictionary/file.md +3 -1
  78. package/docs/ar/dictionary/nesting.md +47 -30
  79. package/docs/ar/formatters.md +148 -193
  80. package/docs/ar/intlayer_CMS.md +152 -0
  81. package/docs/ar/intlayer_with_angular_21.md +9 -9
  82. package/docs/ar/intlayer_with_nextjs_14.md +1 -28
  83. package/docs/ar/intlayer_with_nextjs_15.md +1 -33
  84. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +40 -83
  85. package/docs/ar/intlayer_with_solid_start.md +1078 -0
  86. package/docs/ar/intlayer_with_vite+vue.md +1 -3
  87. package/docs/ar/live-sync.md +4 -0
  88. package/docs/ar/packages/intlayer/getLocalizedUrl.md +26 -24
  89. package/docs/ar/packages/intlayer/getMultilingualUrls.md +4 -18
  90. package/docs/ar/packages/react-intlayer/useDictionary.md +4 -21
  91. package/docs/ar/packages/react-intlayer/useIntlayer.md +2 -2
  92. package/docs/ar/packages/vite-intlayer/exports.md +15 -0
  93. package/docs/ar/packages/vite-intlayer/intlayer.md +121 -6
  94. package/docs/ar/packages/vite-intlayer/intlayerPrune.md +70 -3
  95. package/docs/ar/releases/v9.md +0 -37
  96. package/docs/ar/self_hosting.md +46 -49
  97. package/docs/bn/bundle_optimization.md +58 -25
  98. package/docs/bn/configuration.md +25 -8
  99. package/docs/bn/intlayer_with_angular_21.md +9 -9
  100. package/docs/cs/bundle_optimization.md +58 -25
  101. package/docs/cs/configuration.md +25 -8
  102. package/docs/cs/intlayer_with_angular_21.md +9 -9
  103. package/docs/de/analytics.md +222 -0
  104. package/docs/de/autoFill.md +28 -9
  105. package/docs/de/bundle_optimization.md +58 -25
  106. package/docs/de/configuration.md +25 -8
  107. package/docs/de/dictionary/file.md +3 -1
  108. package/docs/de/dictionary/nesting.md +47 -31
  109. package/docs/de/formatters.md +208 -334
  110. package/docs/de/intlayer_CMS.md +66 -15
  111. package/docs/de/intlayer_with_angular_21.md +9 -9
  112. package/docs/de/intlayer_with_nestjs.md +11 -7
  113. package/docs/de/intlayer_with_nextjs_14.md +1 -28
  114. package/docs/de/intlayer_with_nextjs_15.md +1 -33
  115. package/docs/de/intlayer_with_solid_start.md +1078 -0
  116. package/docs/de/intlayer_with_vite+vue.md +1 -3
  117. package/docs/de/live-sync.md +4 -0
  118. package/docs/de/packages/intlayer/getLocalizedUrl.md +33 -25
  119. package/docs/de/packages/intlayer/getMultilingualUrls.md +4 -18
  120. package/docs/de/packages/react-intlayer/useDictionary.md +2 -5
  121. package/docs/de/packages/vite-intlayer/exports.md +15 -0
  122. package/docs/de/packages/vite-intlayer/intlayer.md +121 -6
  123. package/docs/de/packages/vite-intlayer/intlayerPrune.md +77 -4
  124. package/docs/de/releases/v9.md +0 -15
  125. package/docs/de/self_hosting.md +46 -50
  126. package/docs/en/bundle_optimization.md +51 -23
  127. package/docs/en/cli/doc-review.md +13 -2
  128. package/docs/en/configuration.md +24 -15
  129. package/docs/en/intlayer_with_angular_21.md +9 -9
  130. package/docs/en/intlayer_with_solid_start.md +1091 -0
  131. package/docs/en/intlayer_with_vite+solid.md +12 -0
  132. package/docs/en/live-sync.md +4 -0
  133. package/docs/en-GB/analytics.md +222 -0
  134. package/docs/en-GB/autoFill.md +26 -7
  135. package/docs/en-GB/bundle_optimization.md +58 -25
  136. package/docs/en-GB/configuration.md +25 -8
  137. package/docs/en-GB/dictionary/file.md +2 -0
  138. package/docs/en-GB/dictionary/nesting.md +64 -205
  139. package/docs/en-GB/formatters.md +146 -181
  140. package/docs/en-GB/intlayer_CMS.md +152 -0
  141. package/docs/en-GB/intlayer_with_angular_21.md +9 -9
  142. package/docs/en-GB/intlayer_with_nestjs.md +6 -2
  143. package/docs/en-GB/intlayer_with_nextjs_14.md +0 -27
  144. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -33
  145. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +40 -82
  146. package/docs/en-GB/intlayer_with_solid_start.md +1078 -0
  147. package/docs/en-GB/intlayer_with_vite+vue.md +1 -3
  148. package/docs/en-GB/live-sync.md +4 -0
  149. package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +30 -22
  150. package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +16 -48
  151. package/docs/en-GB/packages/vite-intlayer/exports.md +15 -0
  152. package/docs/en-GB/packages/vite-intlayer/intlayer.md +121 -6
  153. package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +77 -4
  154. package/docs/en-GB/self_hosting.md +60 -49
  155. package/docs/es/analytics.md +222 -0
  156. package/docs/es/autoFill.md +28 -9
  157. package/docs/es/bundle_optimization.md +58 -25
  158. package/docs/es/configuration.md +24 -7
  159. package/docs/es/dictionary/file.md +3 -1
  160. package/docs/es/dictionary/nesting.md +47 -30
  161. package/docs/es/formatters.md +114 -168
  162. package/docs/es/intlayer_CMS.md +35 -10
  163. package/docs/es/intlayer_with_angular_21.md +9 -9
  164. package/docs/es/intlayer_with_nextjs_14.md +1 -28
  165. package/docs/es/intlayer_with_nextjs_15.md +1 -33
  166. package/docs/es/intlayer_with_solid_start.md +1078 -0
  167. package/docs/es/live-sync.md +4 -0
  168. package/docs/es/packages/intlayer/getLocalizedUrl.md +31 -23
  169. package/docs/es/packages/intlayer/getMultilingualUrls.md +4 -18
  170. package/docs/es/packages/vite-intlayer/exports.md +15 -0
  171. package/docs/es/packages/vite-intlayer/intlayer.md +121 -6
  172. package/docs/es/packages/vite-intlayer/intlayerPrune.md +69 -2
  173. package/docs/es/releases/v9.md +0 -15
  174. package/docs/es/self_hosting.md +46 -49
  175. package/docs/fr/analytics.md +222 -0
  176. package/docs/fr/autoFill.md +27 -8
  177. package/docs/fr/bundle_optimization.md +58 -25
  178. package/docs/fr/configuration.md +25 -8
  179. package/docs/fr/dictionary/file.md +2 -0
  180. package/docs/fr/dictionary/nesting.md +37 -184
  181. package/docs/fr/formatters.md +95 -236
  182. package/docs/fr/intlayer_CMS.md +66 -15
  183. package/docs/fr/intlayer_with_angular_21.md +9 -9
  184. package/docs/fr/intlayer_with_nextjs_14.md +1 -28
  185. package/docs/fr/intlayer_with_nextjs_15.md +1 -33
  186. package/docs/fr/intlayer_with_solid_start.md +1078 -0
  187. package/docs/fr/live-sync.md +4 -0
  188. package/docs/fr/packages/intlayer/getLocalizedUrl.md +37 -27
  189. package/docs/fr/packages/intlayer/getMultilingualUrls.md +18 -20
  190. package/docs/fr/packages/vite-intlayer/exports.md +15 -0
  191. package/docs/fr/packages/vite-intlayer/intlayer.md +121 -6
  192. package/docs/fr/packages/vite-intlayer/intlayerPrune.md +77 -4
  193. package/docs/fr/releases/v9.md +0 -15
  194. package/docs/fr/self_hosting.md +46 -49
  195. package/docs/hi/analytics.md +222 -0
  196. package/docs/hi/autoFill.md +28 -9
  197. package/docs/hi/bundle_optimization.md +58 -25
  198. package/docs/hi/configuration.md +25 -8
  199. package/docs/hi/dictionary/file.md +3 -1
  200. package/docs/hi/dictionary/nesting.md +47 -30
  201. package/docs/hi/formatters.md +233 -334
  202. package/docs/hi/how_works_intlayer.md +3 -1
  203. package/docs/hi/intlayer_CMS.md +152 -0
  204. package/docs/hi/intlayer_with_angular_21.md +9 -9
  205. package/docs/hi/intlayer_with_nestjs.md +11 -7
  206. package/docs/hi/intlayer_with_nextjs_14.md +1 -28
  207. package/docs/hi/intlayer_with_nextjs_15.md +1 -33
  208. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +40 -83
  209. package/docs/hi/intlayer_with_solid_start.md +1077 -0
  210. package/docs/hi/intlayer_with_vite+preact.md +56 -49
  211. package/docs/hi/intlayer_with_vite+react.md +48 -41
  212. package/docs/hi/intlayer_with_vite+solid.md +32 -41
  213. package/docs/hi/intlayer_with_vite+vue.md +49 -44
  214. package/docs/hi/live-sync.md +4 -0
  215. package/docs/hi/packages/intlayer/getLocalizedUrl.md +26 -24
  216. package/docs/hi/packages/intlayer/getMultilingualUrls.md +4 -18
  217. package/docs/hi/packages/next-intlayer/t.md +33 -1
  218. package/docs/hi/packages/react-intlayer/useDictionary.md +4 -21
  219. package/docs/hi/packages/vite-intlayer/exports.md +15 -0
  220. package/docs/hi/packages/vite-intlayer/intlayer.md +121 -6
  221. package/docs/hi/packages/vite-intlayer/intlayerPrune.md +78 -5
  222. package/docs/hi/plugins/sync-json.md +9 -9
  223. package/docs/hi/releases/v9.md +0 -15
  224. package/docs/hi/self_hosting.md +38 -51
  225. package/docs/id/analytics.md +223 -0
  226. package/docs/id/bundle_optimization.md +58 -25
  227. package/docs/id/configuration.md +25 -8
  228. package/docs/id/dictionary/nesting.md +37 -184
  229. package/docs/id/formatters.md +208 -305
  230. package/docs/id/intlayer_CMS.md +164 -0
  231. package/docs/id/intlayer_with_angular_21.md +9 -9
  232. package/docs/id/intlayer_with_nextjs_14.md +1 -26
  233. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +70 -63
  234. package/docs/id/intlayer_with_solid_start.md +1078 -0
  235. package/docs/id/live-sync.md +4 -0
  236. package/docs/id/packages/intlayer/getMultilingualUrls.md +4 -18
  237. package/docs/id/packages/react-intlayer/useIntlayer.md +2 -2
  238. package/docs/id/packages/vite-intlayer/exports.md +15 -0
  239. package/docs/id/packages/vite-intlayer/intlayer.md +121 -6
  240. package/docs/id/packages/vite-intlayer/intlayerPrune.md +78 -5
  241. package/docs/id/releases/v9.md +12 -0
  242. package/docs/id/self_hosting.md +61 -50
  243. package/docs/it/analytics.md +222 -0
  244. package/docs/it/autoFill.md +27 -8
  245. package/docs/it/bundle_optimization.md +58 -25
  246. package/docs/it/configuration.md +25 -8
  247. package/docs/it/dictionary/file.md +3 -1
  248. package/docs/it/dictionary/nesting.md +47 -30
  249. package/docs/it/formatters.md +114 -168
  250. package/docs/it/intlayer_CMS.md +66 -15
  251. package/docs/it/intlayer_with_angular_21.md +9 -9
  252. package/docs/it/intlayer_with_nestjs.md +11 -7
  253. package/docs/it/intlayer_with_nextjs_14.md +1 -28
  254. package/docs/it/intlayer_with_nextjs_15.md +1 -33
  255. package/docs/it/intlayer_with_solid_start.md +1078 -0
  256. package/docs/it/intlayer_with_vite+vue.md +1 -3
  257. package/docs/it/live-sync.md +4 -0
  258. package/docs/it/packages/intlayer/getLocalizedUrl.md +34 -26
  259. package/docs/it/packages/intlayer/getMultilingualUrls.md +4 -18
  260. package/docs/it/packages/react-intlayer/useDictionary.md +4 -21
  261. package/docs/it/packages/vite-intlayer/exports.md +15 -0
  262. package/docs/it/packages/vite-intlayer/intlayer.md +121 -6
  263. package/docs/it/packages/vite-intlayer/intlayerPrune.md +77 -4
  264. package/docs/it/releases/v9.md +0 -15
  265. package/docs/it/self_hosting.md +60 -49
  266. package/docs/ja/analytics.md +222 -0
  267. package/docs/ja/autoFill.md +28 -9
  268. package/docs/ja/bundle_optimization.md +58 -25
  269. package/docs/ja/configuration.md +25 -8
  270. package/docs/ja/dictionary/content_file.md +15 -7
  271. package/docs/ja/dictionary/file.md +3 -1
  272. package/docs/ja/dictionary/nesting.md +47 -30
  273. package/docs/ja/formatters.md +133 -187
  274. package/docs/ja/intlayer_visual_editor.md +3 -1
  275. package/docs/ja/intlayer_with_angular_21.md +6 -6
  276. package/docs/ja/intlayer_with_nestjs.md +2 -12
  277. package/docs/ja/intlayer_with_nextjs_14.md +1 -28
  278. package/docs/ja/intlayer_with_nextjs_15.md +1 -33
  279. package/docs/ja/intlayer_with_react_router_v7.md +456 -20
  280. package/docs/ja/intlayer_with_solid_start.md +1078 -0
  281. package/docs/ja/intlayer_with_vite+preact.md +73 -41
  282. package/docs/ja/intlayer_with_vite+vue.md +1 -3
  283. package/docs/ja/live-sync.md +4 -0
  284. package/docs/ja/mcp_server.md +3 -9
  285. package/docs/ja/packages/intlayer/getLocalizedUrl.md +26 -24
  286. package/docs/ja/packages/intlayer/getMultilingualUrls.md +3 -17
  287. package/docs/ja/packages/vite-intlayer/exports.md +15 -0
  288. package/docs/ja/packages/vite-intlayer/intlayer.md +121 -6
  289. package/docs/ja/packages/vite-intlayer/intlayerPrune.md +79 -6
  290. package/docs/ja/releases/v9.md +12 -0
  291. package/docs/ja/self_hosting.md +46 -50
  292. package/docs/ko/analytics.md +222 -0
  293. package/docs/ko/autoFill.md +28 -9
  294. package/docs/ko/bundle_optimization.md +58 -25
  295. package/docs/ko/configuration.md +25 -8
  296. package/docs/ko/dictionary/file.md +3 -1
  297. package/docs/ko/dictionary/nesting.md +47 -30
  298. package/docs/ko/formatters.md +133 -187
  299. package/docs/ko/intlayer_with_angular_21.md +9 -9
  300. package/docs/ko/intlayer_with_lynx+react.md +133 -39
  301. package/docs/ko/intlayer_with_nextjs_14.md +1 -28
  302. package/docs/ko/intlayer_with_nextjs_15.md +1 -33
  303. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +40 -188
  304. package/docs/ko/intlayer_with_solid_start.md +1078 -0
  305. package/docs/ko/intlayer_with_vite+preact.md +57 -23
  306. package/docs/ko/intlayer_with_vite+vue.md +1 -3
  307. package/docs/ko/live-sync.md +4 -0
  308. package/docs/ko/packages/intlayer/getLocalizedUrl.md +26 -24
  309. package/docs/ko/packages/intlayer/getMultilingualUrls.md +4 -18
  310. package/docs/ko/packages/vite-intlayer/exports.md +15 -0
  311. package/docs/ko/packages/vite-intlayer/intlayer.md +121 -6
  312. package/docs/ko/packages/vite-intlayer/intlayerPrune.md +79 -6
  313. package/docs/ko/releases/v9.md +12 -0
  314. package/docs/ko/self_hosting.md +60 -49
  315. package/docs/nl/bundle_optimization.md +58 -25
  316. package/docs/nl/configuration.md +25 -8
  317. package/docs/nl/intlayer_with_angular_21.md +9 -9
  318. package/docs/pl/analytics.md +220 -0
  319. package/docs/pl/bundle_optimization.md +58 -25
  320. package/docs/pl/configuration.md +25 -8
  321. package/docs/pl/dictionary/nesting.md +47 -30
  322. package/docs/pl/formatters.md +208 -305
  323. package/docs/pl/intlayer_CMS.md +152 -0
  324. package/docs/pl/intlayer_with_angular_21.md +9 -9
  325. package/docs/pl/intlayer_with_nextjs_14.md +1 -26
  326. package/docs/pl/intlayer_with_solid_start.md +1078 -0
  327. package/docs/pl/live-sync.md +4 -0
  328. package/docs/pl/packages/intlayer/getMultilingualUrls.md +4 -18
  329. package/docs/pl/packages/react-intlayer/useDictionary.md +2 -19
  330. package/docs/pl/packages/vite-intlayer/exports.md +15 -0
  331. package/docs/pl/packages/vite-intlayer/intlayer.md +121 -6
  332. package/docs/pl/packages/vite-intlayer/intlayerPrune.md +77 -4
  333. package/docs/pl/releases/v9.md +0 -15
  334. package/docs/pl/self_hosting.md +60 -49
  335. package/docs/pt/analytics.md +222 -0
  336. package/docs/pt/bundle_optimization.md +58 -24
  337. package/docs/pt/configuration.md +25 -8
  338. package/docs/pt/dictionary/file.md +3 -1
  339. package/docs/pt/dictionary/nesting.md +47 -30
  340. package/docs/pt/formatters.md +112 -168
  341. package/docs/pt/intlayer_CMS.md +66 -15
  342. package/docs/pt/intlayer_with_angular_21.md +9 -9
  343. package/docs/pt/intlayer_with_astro_lit.md +26 -1
  344. package/docs/pt/intlayer_with_nextjs_14.md +1 -28
  345. package/docs/pt/intlayer_with_nextjs_15.md +1 -33
  346. package/docs/pt/intlayer_with_solid_start.md +1078 -0
  347. package/docs/pt/intlayer_with_vite+vue.md +1 -3
  348. package/docs/pt/live-sync.md +4 -0
  349. package/docs/pt/packages/intlayer/getLocalizedUrl.md +34 -26
  350. package/docs/pt/packages/intlayer/getMultilingualUrls.md +4 -18
  351. package/docs/pt/packages/vite-intlayer/exports.md +15 -0
  352. package/docs/pt/packages/vite-intlayer/intlayer.md +121 -6
  353. package/docs/pt/packages/vite-intlayer/intlayerPrune.md +78 -6
  354. package/docs/pt/releases/v9.md +0 -15
  355. package/docs/pt/self_hosting.md +60 -49
  356. package/docs/ru/analytics.md +222 -0
  357. package/docs/ru/autoFill.md +27 -8
  358. package/docs/ru/bundle_optimization.md +58 -25
  359. package/docs/ru/configuration.md +25 -8
  360. package/docs/ru/dictionary/file.md +3 -1
  361. package/docs/ru/dictionary/nesting.md +64 -205
  362. package/docs/ru/formatters.md +108 -128
  363. package/docs/ru/intlayer_with_angular_21.md +9 -9
  364. package/docs/ru/intlayer_with_nextjs_14.md +1 -28
  365. package/docs/ru/intlayer_with_nextjs_15.md +1 -33
  366. package/docs/ru/intlayer_with_solid_start.md +1078 -0
  367. package/docs/ru/intlayer_with_vite+vue.md +1 -3
  368. package/docs/ru/live-sync.md +4 -0
  369. package/docs/ru/packages/intlayer/getLocalizedUrl.md +34 -26
  370. package/docs/ru/packages/intlayer/getMultilingualUrls.md +4 -18
  371. package/docs/ru/packages/react-intlayer/useDictionary.md +4 -21
  372. package/docs/ru/packages/vite-intlayer/exports.md +15 -0
  373. package/docs/ru/packages/vite-intlayer/intlayer.md +121 -6
  374. package/docs/ru/packages/vite-intlayer/intlayerPrune.md +77 -4
  375. package/docs/ru/releases/v9.md +0 -15
  376. package/docs/ru/self_hosting.md +60 -49
  377. package/docs/tr/analytics.md +222 -0
  378. package/docs/tr/autoFill.md +28 -9
  379. package/docs/tr/bundle_optimization.md +58 -25
  380. package/docs/tr/configuration.md +25 -8
  381. package/docs/tr/dictionary/file.md +2 -0
  382. package/docs/tr/dictionary/nesting.md +47 -30
  383. package/docs/tr/formatters.md +144 -190
  384. package/docs/tr/intlayer_CMS.md +152 -0
  385. package/docs/tr/intlayer_with_angular_21.md +9 -9
  386. package/docs/tr/intlayer_with_nestjs.md +2 -12
  387. package/docs/tr/intlayer_with_nextjs_15.md +1 -33
  388. package/docs/tr/intlayer_with_solid_start.md +1078 -0
  389. package/docs/tr/intlayer_with_vite+vue.md +1 -3
  390. package/docs/tr/live-sync.md +4 -0
  391. package/docs/tr/packages/intlayer/getMultilingualUrls.md +4 -18
  392. package/docs/tr/packages/vite-intlayer/exports.md +15 -0
  393. package/docs/tr/packages/vite-intlayer/intlayer.md +121 -6
  394. package/docs/tr/packages/vite-intlayer/intlayerPrune.md +77 -4
  395. package/docs/tr/self_hosting.md +47 -50
  396. package/docs/uk/analytics.md +222 -0
  397. package/docs/uk/bundle_optimization.md +58 -25
  398. package/docs/uk/configuration.md +25 -8
  399. package/docs/uk/dictionary/nesting.md +47 -30
  400. package/docs/uk/formatters.md +128 -185
  401. package/docs/uk/intlayer_CMS.md +152 -0
  402. package/docs/uk/intlayer_with_angular_21.md +9 -9
  403. package/docs/uk/intlayer_with_nextjs_14.md +1 -26
  404. package/docs/uk/intlayer_with_solid_start.md +1078 -0
  405. package/docs/uk/live-sync.md +4 -0
  406. package/docs/uk/packages/react-intlayer/useDictionary.md +2 -19
  407. package/docs/uk/packages/vite-intlayer/exports.md +15 -0
  408. package/docs/uk/packages/vite-intlayer/intlayer.md +121 -6
  409. package/docs/uk/packages/vite-intlayer/intlayerPrune.md +77 -4
  410. package/docs/uk/releases/v9.md +0 -15
  411. package/docs/uk/self_hosting.md +60 -50
  412. package/docs/ur/bundle_optimization.md +58 -25
  413. package/docs/ur/configuration.md +25 -8
  414. package/docs/ur/intlayer_with_angular_21.md +9 -9
  415. package/docs/vi/analytics.md +222 -0
  416. package/docs/vi/bundle_optimization.md +58 -25
  417. package/docs/vi/configuration.md +24 -8
  418. package/docs/vi/dictionary/nesting.md +37 -184
  419. package/docs/vi/formatters.md +208 -309
  420. package/docs/vi/intlayer_CMS.md +164 -0
  421. package/docs/vi/intlayer_with_angular_21.md +9 -9
  422. package/docs/vi/intlayer_with_nextjs_14.md +0 -25
  423. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +70 -63
  424. package/docs/vi/intlayer_with_solid_start.md +1078 -0
  425. package/docs/vi/live-sync.md +4 -0
  426. package/docs/vi/packages/intlayer/getMultilingualUrls.md +4 -18
  427. package/docs/vi/packages/react-intlayer/useIntlayer.md +2 -2
  428. package/docs/vi/packages/vite-intlayer/exports.md +15 -0
  429. package/docs/vi/packages/vite-intlayer/intlayer.md +121 -6
  430. package/docs/vi/packages/vite-intlayer/intlayerPrune.md +77 -4
  431. package/docs/vi/plugins/sync-json.md +6 -6
  432. package/docs/vi/releases/v9.md +12 -0
  433. package/docs/vi/self_hosting.md +61 -50
  434. package/docs/zh/CI_CD.md +4 -0
  435. package/docs/zh/analytics.md +222 -0
  436. package/docs/zh/autoFill.md +28 -9
  437. package/docs/zh/bundle_optimization.md +58 -25
  438. package/docs/zh/configuration.md +24 -8
  439. package/docs/zh/dictionary/file.md +2 -0
  440. package/docs/zh/dictionary/nesting.md +47 -30
  441. package/docs/zh/formatters.md +140 -188
  442. package/docs/zh/intlayer_CMS.md +164 -0
  443. package/docs/zh/intlayer_with_analog.md +193 -3
  444. package/docs/zh/intlayer_with_angular_19.md +272 -3
  445. package/docs/zh/intlayer_with_angular_21.md +7 -7
  446. package/docs/zh/intlayer_with_create_react_app.md +348 -26
  447. package/docs/zh/intlayer_with_lynx+react.md +263 -4
  448. package/docs/zh/intlayer_with_nextjs_14.md +1 -28
  449. package/docs/zh/intlayer_with_nextjs_15.md +1 -33
  450. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +558 -1
  451. package/docs/zh/intlayer_with_nuxt.md +182 -7
  452. package/docs/zh/intlayer_with_react_router_v7.md +183 -25
  453. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +306 -42
  454. package/docs/zh/intlayer_with_solid_start.md +1077 -0
  455. package/docs/zh/intlayer_with_storybook.md +260 -3
  456. package/docs/zh/intlayer_with_svelte_kit.md +428 -48
  457. package/docs/zh/intlayer_with_tanstack+solid.md +713 -13
  458. package/docs/zh/intlayer_with_tanstack.md +731 -20
  459. package/docs/zh/intlayer_with_vanilla.md +314 -4
  460. package/docs/zh/intlayer_with_vite+lit.md +465 -4
  461. package/docs/zh/intlayer_with_vite+preact.md +422 -116
  462. package/docs/zh/intlayer_with_vite+react.md +324 -45
  463. package/docs/zh/intlayer_with_vite+react_compiler.md +228 -13
  464. package/docs/zh/intlayer_with_vite+solid.md +462 -32
  465. package/docs/zh/intlayer_with_vite+vanilla.md +497 -4
  466. package/docs/zh/live-sync.md +4 -0
  467. package/docs/zh/mcp_server.md +3 -9
  468. package/docs/zh/packages/intlayer/getLocalizedUrl.md +26 -24
  469. package/docs/zh/packages/intlayer/getMultilingualUrls.md +4 -18
  470. package/docs/zh/packages/vite-intlayer/exports.md +29 -0
  471. package/docs/zh/packages/vite-intlayer/intlayer.md +121 -6
  472. package/docs/zh/packages/vite-intlayer/intlayerPrune.md +79 -6
  473. package/docs/zh/releases/v9.md +12 -0
  474. package/docs/zh/self_hosting.md +60 -50
  475. package/docs/zh-TW/bundle_optimization.md +58 -25
  476. package/docs/zh-TW/intlayer_with_angular_21.md +7 -7
  477. package/package.json +7 -7
  478. package/src/common.ts +39 -2
  479. package/src/generated/blog.entry.ts +66 -34
  480. package/src/generated/docs.entry.ts +273 -221
  481. package/src/generated/frequentQuestions.entry.ts +56 -24
  482. package/src/generated/legal.entry.ts +41 -9
@@ -91,9 +91,195 @@ Intlayer 不仅仅是一个 i18n 解决方案,还提供了一个**自托管的
91
91
 
92
92
  ---
93
93
 
94
- ### (可选)第 6 步:更改内容语言
94
+ ## Analog 应用中设置 Intlayer 的分步指南
95
95
 
96
- 要更改内容的语言,您可以使用 `useLocale` 函数提供的 `setLocale` 函数。这允许您设置应用的语言环境并相应地更新内容。
96
+ 请参阅 GitHub 上的 [Application Template](https://github.com/aymericzip/intlayer-analog-template)。
97
+
98
+ <Steps>
99
+
100
+ <Step number={1} title="安装依赖项">
101
+
102
+ 使用 npm 安装必要的包:
103
+
104
+ ```bash packageManager="npm"
105
+ npx intlayer init --interactive
106
+ ```
107
+
108
+ ```bash packageManager="pnpm"
109
+ pnpm dlx intlayer@canary init --interactive
110
+ ```
111
+
112
+ ```bash packageManager="yarn"
113
+ yarn dlx intlayer@canary init --interactive
114
+ ```
115
+
116
+ ```bash packageManager="bun"
117
+ bunx intlayer@canary init --interactive
118
+ ```
119
+
120
+ > `--interactive` 标志是可选的。如果你是 AI 代理,请使用 `intlayer-cli init`。
121
+
122
+ > 此命令将检测你的环境并安装所需的包。例如:
123
+
124
+ ```bash packageManager="npm"
125
+ npm install intlayer angular-intlayer vite-intlayer
126
+ ```
127
+
128
+ ```bash packageManager="pnpm"
129
+ pnpm add intlayer angular-intlayer vite-intlayer
130
+ ```
131
+
132
+ ```bash packageManager="yarn"
133
+ yarn add intlayer angular-intlayer vite-intlayer
134
+ ```
135
+
136
+ ```bash packageManager="bun"
137
+ bun add intlayer angular-intlayer vite-intlayer
138
+ ```
139
+
140
+ - **intlayer**
141
+
142
+ 核心包,提供国际化工具,用于配置管理、翻译、[内容声明](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)、转译和 [CLI 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md)。
143
+
144
+ - **angular-intlayer**
145
+ 将 Intlayer 与 Angular 应用集成的包。它为 Angular 国际化提供上下文提供者和钩子。
146
+
147
+ - **vite-intlayer**
148
+ 将 Intlayer 与 Vite 集成的包。它提供了一个插件来处理内容声明文件,并为最佳性能设置别名。
149
+
150
+ </Step>
151
+
152
+ <Step number={2} title="配置你的项目">
153
+
154
+ 创建一个配置文件来配置应用的语言:
155
+
156
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
157
+ import { Locales, type IntlayerConfig } from "intlayer";
158
+
159
+ const config: IntlayerConfig = {
160
+ internationalization: {
161
+ locales: [
162
+ Locales.ENGLISH,
163
+ Locales.FRENCH,
164
+ Locales.SPANISH,
165
+ // 你的其他语言
166
+ ],
167
+ defaultLocale: Locales.ENGLISH,
168
+ },
169
+ };
170
+
171
+ export default config;
172
+ ```
173
+
174
+ > 通过此配置文件,你可以设置本地化 URL、中间件重定向、cookie 名称、内容声明的位置和扩展名、禁用控制台中的 Intlayer 日志等。有关可用参数的完整列表,请参阅 [配置文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)。
175
+
176
+ </Step>
177
+
178
+ <Step number={3} title="在你的 Vite 配置中集成 Intlayer">
179
+
180
+ 要将 Intlayer 与 Analog 集成,你需要使用 `vite-intlayer` 插件。
181
+
182
+ 修改你的 `vite.config.ts` 文件:
183
+
184
+ ```typescript fileName="vite.config.ts"
185
+ import { defineConfig } from "vite";
186
+ import { intlayer } from "vite-intlayer";
187
+ import analog from "@analogjs/platform";
188
+
189
+ // https://vitejs.dev/config/
190
+ export default defineConfig(() => ({
191
+ plugins: [
192
+ analog(),
193
+ intlayer({
194
+ proxy: {
195
+ ignore: (req) => req.url?.startsWith("/api"),
196
+ },
197
+ }),
198
+ ],
199
+ }));
200
+ ```
201
+
202
+ > `intlayer()` 插件使用 Intlayer 配置 Vite。它处理内容声明文件并为最佳性能设置别名。
203
+
204
+ </Step>
205
+
206
+ <Step number={4} title="声明你的内容">
207
+
208
+ 创建和管理内容声明以存储翻译:
209
+
210
+ ```tsx fileName="src/app/app.content.ts" contentDeclarationFormat=["typescript", "esm", "cjs"]
211
+ import { t, type Dictionary } from "intlayer";
212
+
213
+ const appContent = {
214
+ key: "app",
215
+ content: {
216
+ title: t({
217
+ zh: "你好",
218
+ en: "Hello",
219
+ fr: "Bonjour",
220
+ es: "Hola",
221
+ }),
222
+ congratulations: t({
223
+ zh: "恭喜!你的应用正在运行。🎉",
224
+ en: "Congratulations! Your app is running. 🎉",
225
+ fr: "Félicitations! Votre application est en cours d'exécution. 🎉",
226
+ es: "¡Felicidades! Tu aplicación está en ejecución. 🎉",
227
+ }),
228
+ },
229
+ } satisfies Dictionary;
230
+
231
+ export default appContent;
232
+ ```
233
+
234
+ > 你的内容声明可以在应用的任何地方定义,只要它们包含在 `contentDir` 目录中(默认为 `./src`)。并且匹配内容声明文件扩展名(默认为 `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`)。
235
+
236
+ > 有关更多详情,请参阅 [内容声明文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)。
237
+
238
+ </Step>
239
+
240
+ <Step number={5} title="在你的代码中使用 Intlayer">
241
+
242
+ 要在整个 Analog 应用中使用 Intlayer 的国际化功能,你需要在应用配置中提供 Intlayer。
243
+
244
+ ```typescript fileName="src/app/app.config.ts"
245
+ import { ApplicationConfig } from "@angular/core";
246
+ import { provideIntlayer } from "angular-intlayer";
247
+
248
+ export const appConfig: ApplicationConfig = {
249
+ providers: [
250
+ provideIntlayer(), // 在这里添加 Intlayer 提供者
251
+ ],
252
+ };
253
+ ```
254
+
255
+ 然后,你可以在任何组件中使用 `useIntlayer` 函数。
256
+
257
+ ```typescript fileName="src/app/pages/index.page.ts"
258
+ import { Component } from "@angular/core";
259
+ import { useIntlayer } from "angular-intlayer";
260
+
261
+ @Component({
262
+ selector: "app-home",
263
+ standalone: true,
264
+ template: `
265
+ <div class="content">
266
+ <h1>{{ content().title }}</h1>
267
+ <p>{{ content().congratulations }}</p>
268
+ </div>
269
+ `,
270
+ })
271
+ export default class HomeComponent {
272
+ content = useIntlayer("app");
273
+ }
274
+ ```
275
+
276
+ Intlayer 内容作为 `Signal` 返回,所以你通过调用信号来访问值:`content().title`。
277
+
278
+ </Step>
279
+
280
+ <Step number={6} title="更改你的内容的语言" isOptional={true}>
281
+
282
+ 要更改内容的语言,你可以使用由 `useLocale` 函数提供的 `setLocale` 函数。这允许你设置应用的语言环境并相应地更新内容。
97
283
 
98
284
  创建一个用于切换语言的组件:
99
285
 
@@ -128,7 +314,7 @@ export class LocaleSwitcherComponent {
128
314
  }
129
315
  ```
130
316
 
131
- 然后,在您的页面中使用此组件:
317
+ 然后,在你的页面中使用此组件:
132
318
 
133
319
  ```typescript fileName="src/app/pages/index.page.ts"
134
320
  import { Component } from "@angular/core";
@@ -152,6 +338,10 @@ export default class HomeComponent {
152
338
  }
153
339
  ```
154
340
 
341
+ </Step>
342
+
343
+ </Steps>
344
+
155
345
  ### 配置 TypeScript
156
346
 
157
347
  Intlayer 使用模块扩充 (module augmentation) 来利用 TypeScript 的优势并使您的代码库更强大。
@@ -69,11 +69,276 @@ Intlayer 不仅仅是一个 i18n 解决方案,还提供了一个**自托管的
69
69
 
70
70
  ---
71
71
 
72
- ### (可选) 6 步:更改内容的语言
72
+ ## Angular 应用中设置 Intlayer 的分步指南
73
73
 
74
- 要更改内容的语言,你可以使用 `useLocale` 函数提供的 `setLocale` 函数。这允许你设置应用的语言区域并相应地更新内容。
74
+ <Tabs defaultTab="code">
75
+ <Tab label="代码" value="code">
75
76
 
76
- 创建一个用于切换语言的组件:
77
+ <iframe
78
+ src="https://ide.intlayer.org/aymericzip/intlayer-angular-19-template?file=intlayer.config.ts"
79
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
80
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
81
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
82
+ loading="lazy"
83
+ />
84
+
85
+ </Tab>
86
+ <Tab label="演示" value="demo">
87
+
88
+ <iframe
89
+ src="https://intlayer-angular-19-template.vercel.app"
90
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
91
+ title="Demo - intlayer-angular-template"
92
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
93
+ loading="lazy"
94
+ />
95
+
96
+ </Tab>
97
+ </Tabs>
98
+
99
+ 查看 GitHub 上的[应用模板](https://github.com/aymericzip/intlayer-angular-19-template)。
100
+
101
+ <Steps>
102
+
103
+ <Step number={1} title="安装依赖">
104
+
105
+ 使用 npm 安装必要的包:
106
+
107
+ ```bash packageManager="npm"
108
+ npx intlayer init --interactive
109
+ ```
110
+
111
+ ```bash packageManager="pnpm"
112
+ pnpm dlx intlayer@canary init --interactive
113
+ ```
114
+
115
+ ```bash packageManager="yarn"
116
+ yarn dlx intlayer@canary init --interactive
117
+ ```
118
+
119
+ ```bash packageManager="bun"
120
+ bunx intlayer@canary init --interactive
121
+ ```
122
+
123
+ > `--interactive` 标志是可选的。如果你是 AI 代理,请使用 `intlayer-cli init`。
124
+
125
+ > 此命令将检测你的环境并安装所需的包。例如:
126
+
127
+ ```bash packageManager="npm"
128
+ npm install intlayer angular-intlayer
129
+ npm install @angular-builders/custom-webpack --save-dev
130
+ ```
131
+
132
+ ```bash packageManager="pnpm"
133
+ pnpm add intlayer angular-intlayer
134
+ pnpm add @angular-builders/custom-webpack --save-dev
135
+ ```
136
+
137
+ ```bash packageManager="yarn"
138
+ yarn add intlayer angular-intlayer
139
+ yarn add @angular-builders/custom-webpack --save-dev
140
+ ```
141
+
142
+ ```bash packageManager="bun"
143
+ bun add intlayer angular-intlayer
144
+ bun add @angular-builders/custom-webpack --dev
145
+ ```
146
+
147
+ - **intlayer**
148
+
149
+ 核心包,为配置管理、翻译、[内容声明](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)、转译和 [CLI 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md)提供国际化工具。
150
+
151
+ - **angular-intlayer**
152
+ 将 Intlayer 与 Angular 应用集成的包。它为 Angular 国际化提供上下文提供者和钩子。
153
+
154
+ - **@angular-builders/custom-webpack**
155
+ 自定义 Angular CLI 的 Webpack 配置所需。
156
+
157
+ </Step>
158
+
159
+ <Step number={2} title="配置你的项目">
160
+
161
+ 创建一个配置文件来配置应用的语言:
162
+
163
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
164
+ import { Locales, type IntlayerConfig } from "intlayer";
165
+
166
+ const config: IntlayerConfig = {
167
+ internationalization: {
168
+ locales: [
169
+ Locales.ENGLISH,
170
+ Locales.FRENCH,
171
+ Locales.SPANISH,
172
+ // 你的其他语言
173
+ ],
174
+ defaultLocale: Locales.ENGLISH,
175
+ },
176
+ };
177
+
178
+ export default config;
179
+ ```
180
+
181
+ > 通过此配置文件,你可以设置本地化 URL、中间件重定向、cookie 名称、内容声明的位置和扩展名、禁用 Intlayer 在控制台中的日志等等。有关可用参数的完整列表,请参阅[配置文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)。
182
+
183
+ </Step>
184
+
185
+ <Step number={3} title="在你的 Angular 配置中集成 Intlayer">
186
+
187
+ 要将 Intlayer 与 Angular CLI 集成,你需要使用自定义构建器。本指南假设你使用 Webpack(许多 Angular 项目的默认设置)。
188
+
189
+ 首先,修改你的 `angular.json` 以使用自定义 Webpack 构建器。更新 `build` 和 `serve` 配置:
190
+
191
+ ```json5 fileName="angular.json"
192
+ {
193
+ "projects": {
194
+ "your-app-name": {
195
+ "architect": {
196
+ "build": {
197
+ "builder": "@angular-builders/custom-webpack:browser", // 替换 "@angular-devkit/build-angular:application"
198
+ "options": {
199
+ "customWebpackConfig": {
200
+ "path": "./webpack.config.ts",
201
+ "mergeStrategies": { "module.rules": "prepend" },
202
+ },
203
+ "main": "src/main.ts", // 替换 "browser": "src/main.ts"
204
+ // ...
205
+ },
206
+ },
207
+ "serve": {
208
+ "builder": "@angular-builders/custom-webpack:dev-server", // 替换 "@angular-devkit/build-angular:dev-server"
209
+ },
210
+ },
211
+ },
212
+ },
213
+ }
214
+ ```
215
+
216
+ > 确保在 `angular.json` 中用你项目的实际名称替换 `your-app-name`。
217
+
218
+ 接下来,在项目的根目录创建一个 `webpack.config.ts` 文件:
219
+
220
+ ```typescript fileName="webpack.config.ts"
221
+ import { mergeConfig } from "angular-intlayer/webpack";
222
+
223
+ export default mergeConfig({});
224
+ ```
225
+
226
+ > `mergeConfig` 函数使用 Intlayer 配置 Webpack。它注入 `IntlayerPlugin`(处理内容声明文件)并设置别名以获得最佳性能。
227
+
228
+ </Step>
229
+
230
+ <Step number={4} title="声明你的内容">
231
+
232
+ 创建并管理你的内容声明以存储翻译:
233
+
234
+ ```tsx fileName="src/app/app.content.ts" contentDeclarationFormat=["typescript", "esm", "cjs"]
235
+ import { t, type Dictionary } from "intlayer";
236
+
237
+ const appContent = {
238
+ key: "app",
239
+ content: {
240
+ title: t({
241
+ zh: "你好",
242
+ en: "Hello",
243
+ fr: "Bonjour",
244
+ es: "Hola",
245
+ }),
246
+ congratulations: t({
247
+ zh: "恭喜!你的应用正在运行。🎉",
248
+ en: "Congratulations! Your app is running. 🎉",
249
+ fr: "Félicitations! Votre application est en cours d'exécution. 🎉",
250
+ es: "¡Felicidades! Tu aplicación está en ejecución. 🎉",
251
+ }),
252
+ exploreDocs: t({
253
+ zh: "浏览文档",
254
+ en: "Explore the Docs",
255
+ fr: "Explorer les Docs",
256
+ es: "Explorar los Docs",
257
+ }),
258
+ learnWithTutorials: t({
259
+ zh: "通过教程学习",
260
+ en: "Learn with Tutorials",
261
+ fr: "Apprendre avec les Tutoriels",
262
+ es: "Aprender con los Tutorios",
263
+ }),
264
+ cliDocs: "CLI Docs",
265
+ angularLanguageService: t({
266
+ zh: "Angular 语言服务",
267
+ en: "Angular Language Service",
268
+ fr: "Service de Langage Angular",
269
+ es: "Servicio de Lenguaje Angular",
270
+ }),
271
+ angularDevTools: "Angular DevTools",
272
+ github: "Github",
273
+ twitter: "Twitter",
274
+ youtube: "Youtube",
275
+ },
276
+ } satisfies Dictionary;
277
+
278
+ export default appContent;
279
+ ```
280
+
281
+ > 你的内容声明可以定义在应用的任何地方,只要它们包含在 `contentDir` 目录中(默认为 `./src`)。并且匹配内容声明文件扩展名(默认为 `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`)。
282
+
283
+ > 有关更多详情,请参阅[内容声明文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)。
284
+
285
+ </Step>
286
+
287
+ <Step number={5} title="在你的代码中使用 Intlayer">
288
+
289
+ 要在整个 Angular 应用中使用 Intlayer 的国际化功能,你需要在应用配置中提供 Intlayer。
290
+
291
+ ```typescript fileName="src/app/app.config.ts"
292
+ import { ApplicationConfig } from "@angular/core";
293
+ import { provideRouter } from "@angular/router";
294
+ import { provideIntlayer } from "angular-intlayer";
295
+ import { routes } from "./app.routes";
296
+
297
+ export const appConfig: ApplicationConfig = {
298
+ providers: [
299
+ provideRouter(routes),
300
+ provideIntlayer(), // 在此处添加 Intlayer 提供者
301
+ ],
302
+ };
303
+ ```
304
+
305
+ 然后,你可以在任何组件中使用 `useIntlayer` 函数。
306
+
307
+ ```typescript fileName="src/app/app.component.ts"
308
+ import { Component } from "@angular/core";
309
+ import { RouterOutlet } from "@angular/router";
310
+ import { useIntlayer } from "angular-intlayer";
311
+
312
+ @Component({
313
+ selector: "app-root",
314
+ standalone: true,
315
+ imports: [RouterOutlet],
316
+ templateUrl: "./app.component.html",
317
+ styleUrl: "./app.component.css",
318
+ })
319
+ export class AppComponent {
320
+ content = useIntlayer("app");
321
+ }
322
+ ```
323
+
324
+ 在你的模板中:
325
+
326
+ ```html fileName="src/app/app.component.html"
327
+ <div class="content">
328
+ <h1>{{ content().title }}</h1>
329
+ <p>{{ content().congratulations }}</p>
330
+ </div>
331
+ ```
332
+
333
+ Intlayer 内容作为 `Signal` 返回,所以你通过调用 signal 来访问值:`content().title`。
334
+
335
+ </Step>
336
+
337
+ <Step number={6} title="更改内容的语言" isOptional={true}>
338
+
339
+ 要更改内容的语言,你可以使用 `useLocale` 函数提供的 `setLocale` 函数。这允许你设置应用的语言环境并相应地更新内容。
340
+
341
+ 创建一个组件来在语言之间切换:
77
342
 
78
343
  ```typescript fileName="src/app/locale-switcher.component.ts"
79
344
  import { Component } from "@angular/core";
@@ -126,6 +391,10 @@ export class AppComponent {
126
391
  }
127
392
  ```
128
393
 
394
+ </Step>
395
+
396
+ </Steps>
397
+
129
398
  ### 配置 TypeScript
130
399
 
131
400
  Intlayer 使用模块扩充来发挥 TypeScript 的优势并使你的代码库更强大。
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
3
  updatedAt: 2026-05-31
4
- title: "Angular 21 i18n - 翻译你的应用的完整指南"
5
- description: "告别 i18next。2026 年构建多语言 (i18n) Angular 21 应用的完整指南。使用 AI 代理翻译并优化包体积、SEO 和性能。"
4
+ title: "Angular 22 i18n - 翻译你的应用的完整指南"
5
+ description: "告别 i18next。2026 年构建多语言 (i18n) Angular 22 应用的完整指南。使用 AI 代理翻译并优化包体积、SEO 和性能。"
6
6
  keywords:
7
7
  - 国际化
8
8
  - 文档
@@ -13,8 +13,8 @@ slugs:
13
13
  - doc
14
14
  - environment
15
15
  - angular
16
- applicationTemplate: https://github.com/aymericzip/intlayer-angular-21-template
17
- applicationShowcase: https://intlayer-angular-21-template.vercel.app/
16
+ applicationTemplate: https://github.com/aymericzip/intlayer-angular-22-template
17
+ applicationShowcase: https://intlayer-angular-22-template.vercel.app/
18
18
  history:
19
19
  - version: 8.9.0
20
20
  date: 2026-05-04
@@ -77,7 +77,7 @@ Intlayer 不仅仅是一个 i18n 解决方案,还提供了一个**自托管的
77
77
  <Tab label="代码" value="code">
78
78
 
79
79
  <iframe
80
- src="https://ide.intlayer.org/aymericzip/intlayer-angular-21-template?file=intlayer.config.ts"
80
+ src="https://ide.intlayer.org/aymericzip/intlayer-angular-22-template?file=intlayer.config.ts"
81
81
  className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
82
82
  title="Demo CodeSandbox - 如何使用Intlayer进行应用程序国际化"
83
83
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
@@ -88,7 +88,7 @@ Intlayer 不仅仅是一个 i18n 解决方案,还提供了一个**自托管的
88
88
  <Tab label="演示" value="demo">
89
89
 
90
90
  <iframe
91
- src="https://intlayer-angular-21-template.vercel.app/"
91
+ src="https://intlayer-angular-22-template.vercel.app/"
92
92
  className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
93
93
  title="Demo - intlayer-angular-template"
94
94
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
@@ -98,7 +98,7 @@ Intlayer 不仅仅是一个 i18n 解决方案,还提供了一个**自托管的
98
98
  </Tab>
99
99
  </Tabs>
100
100
 
101
- 在GitHub上查看 [应用程序模板](https://github.com/aymericzip/intlayer-angular-21-template)。
101
+ 在GitHub上查看 [应用程序模板](https://github.com/aymericzip/intlayer-angular-22-template)。
102
102
 
103
103
  <Steps>
104
104