@intlayer/docs 8.3.0-canary.4 → 8.3.1

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 (240) hide show
  1. package/docs/ar/compiler.md +84 -49
  2. package/docs/ar/configuration.md +80 -37
  3. package/docs/ar/intlayer_with_nextjs_16.md +174 -1
  4. package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
  5. package/docs/ar/intlayer_with_react_router_v7.md +224 -1
  6. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
  7. package/docs/ar/intlayer_with_svelte_kit.md +175 -2
  8. package/docs/ar/intlayer_with_tanstack.md +176 -1
  9. package/docs/ar/intlayer_with_vite+preact.md +174 -1
  10. package/docs/ar/intlayer_with_vite+react.md +174 -1
  11. package/docs/ar/intlayer_with_vite+solid.md +174 -1
  12. package/docs/ar/intlayer_with_vite+svelte.md +174 -1
  13. package/docs/ar/intlayer_with_vite+vue.md +174 -1
  14. package/docs/de/compiler.md +83 -48
  15. package/docs/de/configuration.md +434 -212
  16. package/docs/de/intlayer_with_nextjs_16.md +176 -1
  17. package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
  18. package/docs/de/intlayer_with_react_router_v7.md +225 -2
  19. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
  20. package/docs/de/intlayer_with_svelte_kit.md +158 -2
  21. package/docs/de/intlayer_with_tanstack.md +159 -1
  22. package/docs/de/intlayer_with_vite+preact.md +157 -1
  23. package/docs/de/intlayer_with_vite+react.md +157 -1
  24. package/docs/de/intlayer_with_vite+solid.md +159 -3
  25. package/docs/de/intlayer_with_vite+svelte.md +157 -1
  26. package/docs/de/intlayer_with_vite+vue.md +157 -1
  27. package/docs/en/compiler.md +60 -33
  28. package/docs/en/configuration.md +80 -57
  29. package/docs/en/intlayer_with_nextjs_16.md +176 -0
  30. package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
  31. package/docs/en/intlayer_with_react_router_v7.md +159 -0
  32. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
  33. package/docs/en/intlayer_with_svelte_kit.md +159 -0
  34. package/docs/en/intlayer_with_tanstack.md +160 -1
  35. package/docs/en/intlayer_with_vite+preact.md +159 -0
  36. package/docs/en/intlayer_with_vite+react.md +159 -0
  37. package/docs/en/intlayer_with_vite+solid.md +148 -27
  38. package/docs/en/intlayer_with_vite+svelte.md +159 -0
  39. package/docs/en/intlayer_with_vite+vue.md +142 -41
  40. package/docs/en-GB/compiler.md +66 -34
  41. package/docs/en-GB/configuration.md +78 -36
  42. package/docs/es/compiler.md +83 -48
  43. package/docs/es/configuration.md +429 -206
  44. package/docs/es/intlayer_with_adonisjs.md +1 -1
  45. package/docs/es/intlayer_with_express.md +1 -1
  46. package/docs/es/intlayer_with_fastify.md +1 -1
  47. package/docs/es/intlayer_with_hono.md +1 -1
  48. package/docs/es/intlayer_with_nestjs.md +1 -1
  49. package/docs/es/intlayer_with_nextjs_16.md +176 -3
  50. package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
  51. package/docs/es/intlayer_with_nuxt.md +1 -1
  52. package/docs/es/intlayer_with_react_router_v7.md +227 -4
  53. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
  54. package/docs/es/intlayer_with_svelte_kit.md +158 -2
  55. package/docs/es/intlayer_with_tanstack.md +160 -2
  56. package/docs/es/intlayer_with_vite+preact.md +162 -6
  57. package/docs/es/intlayer_with_vite+react.md +160 -4
  58. package/docs/es/intlayer_with_vite+solid.md +163 -7
  59. package/docs/es/intlayer_with_vite+svelte.md +157 -1
  60. package/docs/es/intlayer_with_vite+vue.md +165 -9
  61. package/docs/fr/compiler.md +81 -46
  62. package/docs/fr/configuration.md +355 -134
  63. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  64. package/docs/fr/intlayer_with_express.md +1 -1
  65. package/docs/fr/intlayer_with_fastify.md +1 -1
  66. package/docs/fr/intlayer_with_hono.md +1 -1
  67. package/docs/fr/intlayer_with_nestjs.md +1 -1
  68. package/docs/fr/intlayer_with_nextjs_16.md +183 -7
  69. package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
  70. package/docs/fr/intlayer_with_react_router_v7.md +229 -3
  71. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
  72. package/docs/fr/intlayer_with_svelte_kit.md +158 -2
  73. package/docs/fr/intlayer_with_tanstack.md +159 -1
  74. package/docs/fr/intlayer_with_vite+preact.md +164 -8
  75. package/docs/fr/intlayer_with_vite+react.md +162 -6
  76. package/docs/fr/intlayer_with_vite+solid.md +163 -7
  77. package/docs/fr/intlayer_with_vite+svelte.md +157 -1
  78. package/docs/fr/intlayer_with_vite+vue.md +164 -8
  79. package/docs/hi/compiler.md +81 -46
  80. package/docs/hi/configuration.md +87 -44
  81. package/docs/hi/intlayer_with_nextjs_16.md +174 -1
  82. package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
  83. package/docs/hi/intlayer_with_react_router_v7.md +224 -1
  84. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  85. package/docs/hi/intlayer_with_svelte_kit.md +158 -2
  86. package/docs/hi/intlayer_with_tanstack.md +159 -1
  87. package/docs/hi/intlayer_with_vite+preact.md +157 -1
  88. package/docs/hi/intlayer_with_vite+react.md +157 -1
  89. package/docs/hi/intlayer_with_vite+solid.md +157 -1
  90. package/docs/hi/intlayer_with_vite+svelte.md +157 -1
  91. package/docs/hi/intlayer_with_vite+vue.md +157 -1
  92. package/docs/id/compiler.md +84 -51
  93. package/docs/id/configuration.md +83 -45
  94. package/docs/id/intlayer_with_nextjs_16.md +174 -1
  95. package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
  96. package/docs/id/intlayer_with_react_router_v7.md +224 -1
  97. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
  98. package/docs/id/intlayer_with_svelte_kit.md +158 -2
  99. package/docs/id/intlayer_with_tanstack.md +159 -1
  100. package/docs/id/intlayer_with_vite+preact.md +157 -1
  101. package/docs/id/intlayer_with_vite+react.md +157 -1
  102. package/docs/id/intlayer_with_vite+solid.md +157 -1
  103. package/docs/id/intlayer_with_vite+svelte.md +157 -1
  104. package/docs/id/intlayer_with_vite+vue.md +157 -1
  105. package/docs/it/compiler.md +81 -46
  106. package/docs/it/configuration.md +426 -204
  107. package/docs/it/intlayer_with_nextjs_16.md +174 -1
  108. package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
  109. package/docs/it/intlayer_with_react_router_v7.md +225 -2
  110. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
  111. package/docs/it/intlayer_with_svelte_kit.md +158 -2
  112. package/docs/it/intlayer_with_tanstack.md +159 -1
  113. package/docs/it/intlayer_with_vite+preact.md +157 -1
  114. package/docs/it/intlayer_with_vite+react.md +157 -1
  115. package/docs/it/intlayer_with_vite+solid.md +159 -3
  116. package/docs/it/intlayer_with_vite+svelte.md +157 -1
  117. package/docs/it/intlayer_with_vite+vue.md +157 -1
  118. package/docs/ja/compiler.md +94 -58
  119. package/docs/ja/configuration.md +88 -45
  120. package/docs/ja/intlayer_with_nextjs_16.md +174 -1
  121. package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
  122. package/docs/ja/intlayer_with_react_router_v7.md +184 -394
  123. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
  124. package/docs/ja/intlayer_with_svelte_kit.md +119 -595
  125. package/docs/ja/intlayer_with_tanstack.md +131 -642
  126. package/docs/ja/intlayer_with_vite+preact.md +111 -1231
  127. package/docs/ja/intlayer_with_vite+react.md +129 -1304
  128. package/docs/ja/intlayer_with_vite+solid.md +159 -3
  129. package/docs/ja/intlayer_with_vite+svelte.md +157 -1
  130. package/docs/ja/intlayer_with_vite+vue.md +157 -1
  131. package/docs/ko/compiler.md +88 -52
  132. package/docs/ko/configuration.md +87 -44
  133. package/docs/ko/intlayer_with_nextjs_16.md +174 -1
  134. package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
  135. package/docs/ko/intlayer_with_react_router_v7.md +225 -2
  136. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
  137. package/docs/ko/intlayer_with_svelte_kit.md +158 -2
  138. package/docs/ko/intlayer_with_tanstack.md +159 -1
  139. package/docs/ko/intlayer_with_vite+preact.md +157 -1
  140. package/docs/ko/intlayer_with_vite+react.md +157 -1
  141. package/docs/ko/intlayer_with_vite+solid.md +159 -3
  142. package/docs/ko/intlayer_with_vite+svelte.md +157 -1
  143. package/docs/ko/intlayer_with_vite+vue.md +157 -1
  144. package/docs/pl/compiler.md +84 -51
  145. package/docs/pl/configuration.md +83 -37
  146. package/docs/pl/intlayer_with_nextjs_16.md +174 -1
  147. package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
  148. package/docs/pl/intlayer_with_react_router_v7.md +224 -1
  149. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
  150. package/docs/pl/intlayer_with_svelte_kit.md +158 -2
  151. package/docs/pl/intlayer_with_tanstack.md +159 -1
  152. package/docs/pl/intlayer_with_vite+preact.md +157 -1
  153. package/docs/pl/intlayer_with_vite+react.md +157 -1
  154. package/docs/pl/intlayer_with_vite+solid.md +157 -1
  155. package/docs/pl/intlayer_with_vite+svelte.md +157 -1
  156. package/docs/pl/intlayer_with_vite+vue.md +157 -1
  157. package/docs/pt/compiler.md +81 -46
  158. package/docs/pt/configuration.md +404 -194
  159. package/docs/pt/intlayer_with_nextjs_16.md +174 -1
  160. package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
  161. package/docs/pt/intlayer_with_react_router_v7.md +224 -1
  162. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
  163. package/docs/pt/intlayer_with_svelte_kit.md +158 -2
  164. package/docs/pt/intlayer_with_tanstack.md +159 -1
  165. package/docs/pt/intlayer_with_vite+preact.md +157 -1
  166. package/docs/pt/intlayer_with_vite+react.md +157 -1
  167. package/docs/pt/intlayer_with_vite+solid.md +157 -1
  168. package/docs/pt/intlayer_with_vite+svelte.md +157 -1
  169. package/docs/pt/intlayer_with_vite+vue.md +157 -1
  170. package/docs/ru/compiler.md +90 -57
  171. package/docs/ru/configuration.md +76 -46
  172. package/docs/ru/intlayer_with_nextjs_16.md +174 -1
  173. package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
  174. package/docs/ru/intlayer_with_react_router_v7.md +224 -1
  175. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
  176. package/docs/ru/intlayer_with_svelte_kit.md +158 -2
  177. package/docs/ru/intlayer_with_tanstack.md +159 -1
  178. package/docs/ru/intlayer_with_vite+preact.md +157 -1
  179. package/docs/ru/intlayer_with_vite+react.md +157 -1
  180. package/docs/ru/intlayer_with_vite+solid.md +157 -1
  181. package/docs/ru/intlayer_with_vite+svelte.md +157 -1
  182. package/docs/ru/intlayer_with_vite+vue.md +157 -1
  183. package/docs/tr/compiler.md +85 -52
  184. package/docs/tr/configuration.md +83 -40
  185. package/docs/tr/intlayer_with_nextjs_16.md +174 -1
  186. package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
  187. package/docs/tr/intlayer_with_react_router_v7.md +224 -1
  188. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
  189. package/docs/tr/intlayer_with_svelte_kit.md +158 -2
  190. package/docs/tr/intlayer_with_tanstack.md +159 -1
  191. package/docs/tr/intlayer_with_vite+preact.md +157 -1
  192. package/docs/tr/intlayer_with_vite+react.md +157 -1
  193. package/docs/tr/intlayer_with_vite+solid.md +157 -1
  194. package/docs/tr/intlayer_with_vite+svelte.md +157 -1
  195. package/docs/tr/intlayer_with_vite+vue.md +157 -1
  196. package/docs/uk/compiler.md +96 -61
  197. package/docs/uk/configuration.md +83 -37
  198. package/docs/uk/intlayer_with_nextjs_16.md +174 -1
  199. package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
  200. package/docs/uk/intlayer_with_react_router_v7.md +224 -1
  201. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
  202. package/docs/uk/intlayer_with_svelte_kit.md +157 -1
  203. package/docs/uk/intlayer_with_tanstack.md +159 -1
  204. package/docs/uk/intlayer_with_vite+preact.md +157 -1
  205. package/docs/uk/intlayer_with_vite+react.md +157 -1
  206. package/docs/uk/intlayer_with_vite+solid.md +157 -1
  207. package/docs/uk/intlayer_with_vite+svelte.md +157 -1
  208. package/docs/uk/intlayer_with_vite+vue.md +157 -1
  209. package/docs/vi/compiler.md +85 -50
  210. package/docs/vi/configuration.md +85 -39
  211. package/docs/vi/intlayer_with_nextjs_16.md +174 -1
  212. package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
  213. package/docs/vi/intlayer_with_react_router_v7.md +224 -1
  214. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  215. package/docs/vi/intlayer_with_svelte_kit.md +158 -2
  216. package/docs/vi/intlayer_with_tanstack.md +159 -1
  217. package/docs/vi/intlayer_with_vite+preact.md +157 -1
  218. package/docs/vi/intlayer_with_vite+react.md +157 -1
  219. package/docs/vi/intlayer_with_vite+solid.md +157 -1
  220. package/docs/vi/intlayer_with_vite+svelte.md +157 -1
  221. package/docs/vi/intlayer_with_vite+vue.md +157 -1
  222. package/docs/zh/compiler.md +84 -49
  223. package/docs/zh/configuration.md +80 -37
  224. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  225. package/docs/zh/intlayer_with_express.md +1 -1
  226. package/docs/zh/intlayer_with_fastify.md +1 -1
  227. package/docs/zh/intlayer_with_hono.md +1 -1
  228. package/docs/zh/intlayer_with_nestjs.md +1 -1
  229. package/docs/zh/intlayer_with_nextjs_16.md +174 -1
  230. package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
  231. package/docs/zh/intlayer_with_react_router_v7.md +227 -4
  232. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
  233. package/docs/zh/intlayer_with_svelte_kit.md +158 -2
  234. package/docs/zh/intlayer_with_tanstack.md +159 -1
  235. package/docs/zh/intlayer_with_vite+preact.md +159 -3
  236. package/docs/zh/intlayer_with_vite+react.md +157 -1
  237. package/docs/zh/intlayer_with_vite+solid.md +161 -5
  238. package/docs/zh/intlayer_with_vite+svelte.md +157 -1
  239. package/docs/zh/intlayer_with_vite+vue.md +158 -2
  240. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Solid i18n - 如何翻译Solid 应用 2026
5
5
  description: 了解如何使您的 Vite 和 Solid 网站支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
@@ -27,7 +27,7 @@ history:
27
27
  # 使用Intlayer翻译您的Vite and Solid | 国际化(i18n)
28
28
 
29
29
  <Tabs defaultTab="video">
30
- <Tab label="Video" value="video">
30
+ <Tab label="视频" value="video">
31
31
 
32
32
  <iframe title="The best i18n solution for Vite and Solid? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
33
33
 
@@ -37,7 +37,7 @@ history:
37
37
  <iframe
38
38
  src="https://stackblitz.com/github/aymericzip/intlayer-vite-solid-template?embed=1&ctl=1&file=intlayer.config.ts"
39
39
  className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
40
- title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
40
+ title="Demo CodeSandbox - 如何使用 Intlayer 实现应用国际化"
41
41
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
42
42
  loading="lazy"
43
43
  />
@@ -45,7 +45,7 @@ history:
45
45
  </Tab>
46
46
  </Tabs>
47
47
 
48
- ## Table of Contents
48
+ ## 目录
49
49
 
50
50
  <TOC/>
51
51
 
@@ -68,7 +68,7 @@ history:
68
68
 
69
69
  ## 在 Vite 和 Solid 应用中设置 Intlayer 的分步指南
70
70
 
71
- ## Table of Contents
71
+ ## 目录
72
72
 
73
73
  <TOC/>
74
74
 
@@ -576,6 +576,162 @@ const MyComponent = () => {
576
576
 
577
577
  ---
578
578
 
579
+ ### (可选) 步骤 1 : 提取组件内容
580
+
581
+ 如果您有现有的代码库,转换数千个文件可能会非常耗时。
582
+
583
+ 为了简化此过程,Intlayer 提出了 [编译器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/compiler.md) / [提取器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/extract.md) 来转换您的组件并提取内容。
584
+
585
+ 要进行设置,您可以在 `intlayer.config.ts` 文件中添加 `compiler` 部分:
586
+
587
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
588
+ import { type IntlayerConfig } from "intlayer";
589
+
590
+ const config: IntlayerConfig = {
591
+ // ... 您的其他配置
592
+ compiler: {
593
+ /**
594
+ * 指示是否应启用编译器。
595
+ */
596
+ enabled: true,
597
+
598
+ /**
599
+ * 定义输出文件路径
600
+ */
601
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
602
+
603
+ /**
604
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
605
+ */
606
+ saveComponents: false,
607
+
608
+ /**
609
+ * 字典键前缀
610
+ */
611
+ dictionaryKeyPrefix: "",
612
+ },
613
+ };
614
+
615
+ export default config;
616
+ ```
617
+
618
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
619
+ /** @type {import('intlayer').IntlayerConfig} */
620
+ const config = {
621
+ // ... 您的其他配置
622
+ compiler: {
623
+ /**
624
+ * 指示是否应启用编译器。
625
+ */
626
+ enabled: true,
627
+
628
+ /**
629
+ * 定义输出文件路径
630
+ */
631
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
632
+
633
+ /**
634
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
635
+ */
636
+ saveComponents: false,
637
+
638
+ /**
639
+ * 字典键前缀
640
+ */
641
+ dictionaryKeyPrefix: "",
642
+ },
643
+ };
644
+
645
+ export default config;
646
+ ```
647
+
648
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
649
+ /** @type {import('intlayer').IntlayerConfig} */
650
+ const config = {
651
+ // ... 您的其他配置
652
+ compiler: {
653
+ /**
654
+ * 指示是否应启用编译器。
655
+ */
656
+ enabled: true,
657
+
658
+ /**
659
+ * 定义输出文件路径
660
+ */
661
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
662
+
663
+ /**
664
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
665
+ */
666
+ saveComponents: false,
667
+
668
+ /**
669
+ * 字典键前缀
670
+ */
671
+ dictionaryKeyPrefix: "",
672
+ },
673
+ };
674
+
675
+ module.exports = config;
676
+ ```
677
+
678
+ <Tabs>
679
+ <Tab value='提取命令'>
680
+
681
+ 运行提取器以转换组件并提取内容
682
+
683
+ ```bash packageManager="npm"
684
+ npx intlayer extract
685
+ ```
686
+
687
+ ```bash packageManager="pnpm"
688
+ pnpm intlayer extract
689
+ ```
690
+
691
+ ```bash packageManager="yarn"
692
+ yarn intlayer extract
693
+ ```
694
+
695
+ ```bash packageManager="bun"
696
+ bunx intlayer extract
697
+ ```
698
+
699
+ </Tab>
700
+ <Tab value='Babel 编译器'>
701
+
702
+ 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
703
+
704
+ ```ts fileName="vite.config.ts"
705
+ import { defineConfig } from "vite";
706
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
707
+
708
+ export default defineConfig({
709
+ plugins: [
710
+ intlayer(),
711
+ intlayerCompiler(), // 添加编译器插件
712
+ ],
713
+ });
714
+ ```
715
+
716
+ ```bash packageManager="npm"
717
+ npm run build # 或 npm run dev
718
+ ```
719
+
720
+ ```bash packageManager="pnpm"
721
+ pnpm run build # 或 pnpm run dev
722
+ ```
723
+
724
+ ```bash packageManager="yarn"
725
+ yarn build # 或 yarn dev
726
+ ```
727
+
728
+ ```bash packageManager="bun"
729
+ bun run build # Or bun run dev
730
+ ```
731
+
732
+ </Tab>
733
+ </Tabs>
734
+
579
735
  ### 深入了解
580
736
 
581
737
  要进一步使用,您可以实现[可视化编辑器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_visual_editor.md)或使用[内容管理系统(CMS)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_CMS.md)将内容外部化。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Svelte i18n - 如何翻译Svelte 应用 2026
5
5
  description: 了解如何使您的 Vite 和 Svelte 网站支持多语言。按照文档进行国际化 (i18n) 和翻译。
6
6
  keywords:
@@ -520,6 +520,162 @@ const changeLocale = (event: Event) => {
520
520
 
521
521
  ---
522
522
 
523
+ ### (可选) 步骤 1 : 提取组件内容
524
+
525
+ 如果您有现有的代码库,转换数千个文件可能会非常耗时。
526
+
527
+ 为了简化此过程,Intlayer 提出了 [编译器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/compiler.md) / [提取器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/extract.md) 来转换您的组件并提取内容。
528
+
529
+ 要进行设置,您可以在 `intlayer.config.ts` 文件中添加 `compiler` 部分:
530
+
531
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
532
+ import { type IntlayerConfig } from "intlayer";
533
+
534
+ const config: IntlayerConfig = {
535
+ // ... 您的其他配置
536
+ compiler: {
537
+ /**
538
+ * 指示是否应启用编译器。
539
+ */
540
+ enabled: true,
541
+
542
+ /**
543
+ * 定义输出文件路径
544
+ */
545
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
546
+
547
+ /**
548
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
549
+ */
550
+ saveComponents: false,
551
+
552
+ /**
553
+ * 字典键前缀
554
+ */
555
+ dictionaryKeyPrefix: "",
556
+ },
557
+ };
558
+
559
+ export default config;
560
+ ```
561
+
562
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
563
+ /** @type {import('intlayer').IntlayerConfig} */
564
+ const config = {
565
+ // ... 您的其他配置
566
+ compiler: {
567
+ /**
568
+ * 指示是否应启用编译器。
569
+ */
570
+ enabled: true,
571
+
572
+ /**
573
+ * 定义输出文件路径
574
+ */
575
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
576
+
577
+ /**
578
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
579
+ */
580
+ saveComponents: false,
581
+
582
+ /**
583
+ * 字典键前缀
584
+ */
585
+ dictionaryKeyPrefix: "",
586
+ },
587
+ };
588
+
589
+ export default config;
590
+ ```
591
+
592
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
593
+ /** @type {import('intlayer').IntlayerConfig} */
594
+ const config = {
595
+ // ... 您的其他配置
596
+ compiler: {
597
+ /**
598
+ * 指示是否应启用编译器。
599
+ */
600
+ enabled: true,
601
+
602
+ /**
603
+ * 定义输出文件路径
604
+ */
605
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
606
+
607
+ /**
608
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
609
+ */
610
+ saveComponents: false,
611
+
612
+ /**
613
+ * 字典键前缀
614
+ */
615
+ dictionaryKeyPrefix: "",
616
+ },
617
+ };
618
+
619
+ module.exports = config;
620
+ ```
621
+
622
+ <Tabs>
623
+ <Tab value='提取命令'>
624
+
625
+ 运行提取器以转换组件并提取内容
626
+
627
+ ```bash packageManager="npm"
628
+ npx intlayer extract
629
+ ```
630
+
631
+ ```bash packageManager="pnpm"
632
+ pnpm intlayer extract
633
+ ```
634
+
635
+ ```bash packageManager="yarn"
636
+ yarn intlayer extract
637
+ ```
638
+
639
+ ```bash packageManager="bun"
640
+ bunx intlayer extract
641
+ ```
642
+
643
+ </Tab>
644
+ <Tab value='Babel 编译器'>
645
+
646
+ 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
647
+
648
+ ```ts fileName="vite.config.ts"
649
+ import { defineConfig } from "vite";
650
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
651
+
652
+ export default defineConfig({
653
+ plugins: [
654
+ intlayer(),
655
+ intlayerCompiler(), // 添加编译器插件
656
+ ],
657
+ });
658
+ ```
659
+
660
+ ```bash packageManager="npm"
661
+ npm run build # 或 npm run dev
662
+ ```
663
+
664
+ ```bash packageManager="pnpm"
665
+ pnpm run build # 或 pnpm run dev
666
+ ```
667
+
668
+ ```bash packageManager="yarn"
669
+ yarn build # 或 yarn dev
670
+ ```
671
+
672
+ ```bash packageManager="bun"
673
+ bun run build # Or bun run dev
674
+ ```
675
+
676
+ </Tab>
677
+ </Tabs>
678
+
523
679
  ### 深入了解
524
680
 
525
681
  要进一步提升,您可以实现[可视化编辑器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_visual_editor.md)或使用[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_CMS.md)将内容外部化。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Vue i18n - 如何翻译Vue 应用 2026
5
5
  description: 了解如何使您的 Vite 和 Vue 网站支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
@@ -55,7 +55,7 @@ history:
55
55
  <iframe
56
56
  src="https://stackblitz.com/github/aymericzip/intlayer-vite-vue-template?embed=1&ctl=1&file=intlayer.config.ts"
57
57
  className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
58
- title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
58
+ title="Demo CodeSandbox - 如何使用 Intlayer 实现应用国际化"
59
59
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
60
60
  loading="lazy"
61
61
  />
@@ -1102,6 +1102,162 @@ Intlayer 使用模块增强来利用 TypeScript 的优势,使您的代码库
1102
1102
 
1103
1103
  ---
1104
1104
 
1105
+ ### (可选) 步骤 1 : 提取组件内容
1106
+
1107
+ 如果您有现有的代码库,转换数千个文件可能会非常耗时。
1108
+
1109
+ 为了简化此过程,Intlayer 提出了 [编译器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/compiler.md) / [提取器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/extract.md) 来转换您的组件并提取内容。
1110
+
1111
+ 要进行设置,您可以在 `intlayer.config.ts` 文件中添加 `compiler` 部分:
1112
+
1113
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
1114
+ import { type IntlayerConfig } from "intlayer";
1115
+
1116
+ const config: IntlayerConfig = {
1117
+ // ... 您的其他配置
1118
+ compiler: {
1119
+ /**
1120
+ * 指示是否应启用编译器。
1121
+ */
1122
+ enabled: true,
1123
+
1124
+ /**
1125
+ * 定义输出文件路径
1126
+ */
1127
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1128
+
1129
+ /**
1130
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
1131
+ */
1132
+ saveComponents: false,
1133
+
1134
+ /**
1135
+ * 字典键前缀
1136
+ */
1137
+ dictionaryKeyPrefix: "",
1138
+ },
1139
+ };
1140
+
1141
+ export default config;
1142
+ ```
1143
+
1144
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
1145
+ /** @type {import('intlayer').IntlayerConfig} */
1146
+ const config = {
1147
+ // ... 您的其他配置
1148
+ compiler: {
1149
+ /**
1150
+ * 指示是否应启用编译器。
1151
+ */
1152
+ enabled: true,
1153
+
1154
+ /**
1155
+ * 定义输出文件路径
1156
+ */
1157
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1158
+
1159
+ /**
1160
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
1161
+ */
1162
+ saveComponents: false,
1163
+
1164
+ /**
1165
+ * 字典键前缀
1166
+ */
1167
+ dictionaryKeyPrefix: "",
1168
+ },
1169
+ };
1170
+
1171
+ export default config;
1172
+ ```
1173
+
1174
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
1175
+ /** @type {import('intlayer').IntlayerConfig} */
1176
+ const config = {
1177
+ // ... 您的其他配置
1178
+ compiler: {
1179
+ /**
1180
+ * 指示是否应启用编译器。
1181
+ */
1182
+ enabled: true,
1183
+
1184
+ /**
1185
+ * 定义输出文件路径
1186
+ */
1187
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1188
+
1189
+ /**
1190
+ * 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
1191
+ */
1192
+ saveComponents: false,
1193
+
1194
+ /**
1195
+ * 字典键前缀
1196
+ */
1197
+ dictionaryKeyPrefix: "",
1198
+ },
1199
+ };
1200
+
1201
+ module.exports = config;
1202
+ ```
1203
+
1204
+ <Tabs>
1205
+ <Tab value='提取命令'>
1206
+
1207
+ 运行提取器以转换组件并提取内容
1208
+
1209
+ ```bash packageManager="npm"
1210
+ npx intlayer extract
1211
+ ```
1212
+
1213
+ ```bash packageManager="pnpm"
1214
+ pnpm intlayer extract
1215
+ ```
1216
+
1217
+ ```bash packageManager="yarn"
1218
+ yarn intlayer extract
1219
+ ```
1220
+
1221
+ ```bash packageManager="bun"
1222
+ bunx intlayer extract
1223
+ ```
1224
+
1225
+ </Tab>
1226
+ <Tab value='Babel 编译器'>
1227
+
1228
+ 更新您的 `vite.config.ts` 以包含 `intlayerCompiler` 插件:
1229
+
1230
+ ```ts fileName="vite.config.ts"
1231
+ import { defineConfig } from "vite";
1232
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
1233
+
1234
+ export default defineConfig({
1235
+ plugins: [
1236
+ intlayer(),
1237
+ intlayerCompiler(), // 添加编译器插件
1238
+ ],
1239
+ });
1240
+ ```
1241
+
1242
+ ```bash packageManager="npm"
1243
+ npm run build # 或 npm run dev
1244
+ ```
1245
+
1246
+ ```bash packageManager="pnpm"
1247
+ pnpm run build # 或 pnpm run dev
1248
+ ```
1249
+
1250
+ ```bash packageManager="yarn"
1251
+ yarn build # 或 yarn dev
1252
+ ```
1253
+
1254
+ ```bash packageManager="bun"
1255
+ bun run build # Or bun run dev
1256
+ ```
1257
+
1258
+ </Tab>
1259
+ </Tabs>
1260
+
1105
1261
  ### 深入了解
1106
1262
 
1107
1263
  要进一步使用,您可以实现 [可视化编辑器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_visual_editor.md) 或使用 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_CMS.md) 来外部管理您的内容。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/docs",
3
- "version": "8.3.0-canary.4",
3
+ "version": "8.3.1",
4
4
  "private": false,
5
5
  "description": "Intlayer documentation",
6
6
  "keywords": [
@@ -72,13 +72,13 @@
72
72
  "watch": "webpack --config ./webpack.config.ts --watch"
73
73
  },
74
74
  "dependencies": {
75
- "@intlayer/config": "8.3.0-canary.4",
76
- "@intlayer/core": "8.3.0-canary.4",
77
- "@intlayer/types": "8.3.0-canary.4"
75
+ "@intlayer/config": "8.3.1",
76
+ "@intlayer/core": "8.3.1",
77
+ "@intlayer/types": "8.3.1"
78
78
  },
79
79
  "devDependencies": {
80
- "@intlayer/api": "8.3.0-canary.4",
81
- "@intlayer/cli": "8.3.0-canary.4",
80
+ "@intlayer/api": "8.3.1",
81
+ "@intlayer/cli": "8.3.1",
82
82
  "@types/node": "25.4.0",
83
83
  "@utils/ts-config": "1.0.4",
84
84
  "@utils/ts-config-types": "1.0.4",