@intlayer/docs 8.6.0 → 8.6.10

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 (197) hide show
  1. package/dist/cjs/doc.cjs.map +1 -1
  2. package/dist/cjs/generated/docs.entry.cjs +60 -0
  3. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  4. package/dist/esm/doc.mjs.map +1 -1
  5. package/dist/esm/generated/docs.entry.mjs +60 -0
  6. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  7. package/dist/types/doc.d.ts.map +1 -1
  8. package/dist/types/generated/docs.entry.d.ts +3 -0
  9. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  10. package/docs/ar/cli/index.md +54 -42
  11. package/docs/ar/cli/init.md +32 -20
  12. package/docs/ar/cli/standalone.md +91 -0
  13. package/docs/ar/configuration.md +39 -7
  14. package/docs/ar/custom_domains.md +250 -0
  15. package/docs/ar/intlayer_with_tanstack+solid.md +14 -33
  16. package/docs/ar/intlayer_with_tanstack.md +25 -16
  17. package/docs/ar/intlayer_with_vanilla.md +506 -0
  18. package/docs/bn/cli/index.md +195 -0
  19. package/docs/bn/cli/init.md +96 -0
  20. package/docs/bn/cli/standalone.md +91 -0
  21. package/docs/bn/configuration.md +46 -14
  22. package/docs/bn/custom_domains.md +250 -0
  23. package/docs/bn/intlayer_with_vanilla.md +506 -0
  24. package/docs/cs/cli/index.md +195 -0
  25. package/docs/cs/cli/init.md +96 -0
  26. package/docs/cs/cli/standalone.md +91 -0
  27. package/docs/cs/configuration.md +46 -7
  28. package/docs/cs/custom_domains.md +250 -0
  29. package/docs/cs/intlayer_with_vanilla.md +506 -0
  30. package/docs/de/cli/index.md +53 -41
  31. package/docs/de/cli/standalone.md +91 -0
  32. package/docs/de/configuration.md +46 -7
  33. package/docs/de/custom_domains.md +250 -0
  34. package/docs/de/intlayer_with_tanstack+solid.md +15 -36
  35. package/docs/de/intlayer_with_tanstack.md +25 -16
  36. package/docs/de/intlayer_with_vanilla.md +506 -0
  37. package/docs/en/bundle_optimization.md +288 -23
  38. package/docs/en/cli/index.md +6 -1
  39. package/docs/en/cli/init.md +13 -1
  40. package/docs/en/cli/standalone.md +91 -0
  41. package/docs/en/configuration.md +46 -7
  42. package/docs/en/custom_domains.md +245 -0
  43. package/docs/en/intlayer_with_tanstack+solid.md +15 -36
  44. package/docs/en/intlayer_with_tanstack.md +25 -16
  45. package/docs/en/intlayer_with_vanilla.md +506 -0
  46. package/docs/en-GB/cli/index.md +56 -44
  47. package/docs/en-GB/cli/init.md +28 -21
  48. package/docs/en-GB/cli/standalone.md +91 -0
  49. package/docs/en-GB/configuration.md +53 -14
  50. package/docs/en-GB/custom_domains.md +250 -0
  51. package/docs/en-GB/intlayer_with_tanstack+solid.md +15 -36
  52. package/docs/en-GB/intlayer_with_tanstack.md +25 -16
  53. package/docs/en-GB/intlayer_with_vanilla.md +506 -0
  54. package/docs/es/cli/index.md +65 -53
  55. package/docs/es/cli/init.md +33 -21
  56. package/docs/es/cli/standalone.md +91 -0
  57. package/docs/es/configuration.md +39 -1
  58. package/docs/es/custom_domains.md +250 -0
  59. package/docs/es/intlayer_with_tanstack+solid.md +15 -36
  60. package/docs/es/intlayer_with_tanstack.md +25 -16
  61. package/docs/es/intlayer_with_vanilla.md +506 -0
  62. package/docs/fr/cli/index.md +43 -31
  63. package/docs/fr/cli/init.md +37 -25
  64. package/docs/fr/cli/standalone.md +91 -0
  65. package/docs/fr/configuration.md +46 -7
  66. package/docs/fr/custom_domains.md +250 -0
  67. package/docs/fr/intlayer_with_tanstack+solid.md +15 -36
  68. package/docs/fr/intlayer_with_tanstack.md +25 -16
  69. package/docs/fr/intlayer_with_vanilla.md +506 -0
  70. package/docs/hi/cli/index.md +71 -59
  71. package/docs/hi/cli/init.md +37 -33
  72. package/docs/hi/cli/standalone.md +91 -0
  73. package/docs/hi/configuration.md +39 -7
  74. package/docs/hi/custom_domains.md +250 -0
  75. package/docs/hi/intlayer_with_tanstack+solid.md +14 -33
  76. package/docs/hi/intlayer_with_tanstack.md +25 -16
  77. package/docs/hi/intlayer_with_vanilla.md +506 -0
  78. package/docs/id/cli/index.md +59 -47
  79. package/docs/id/cli/init.md +32 -25
  80. package/docs/id/cli/standalone.md +91 -0
  81. package/docs/id/configuration.md +46 -7
  82. package/docs/id/custom_domains.md +250 -0
  83. package/docs/id/intlayer_with_tanstack+solid.md +14 -33
  84. package/docs/id/intlayer_with_tanstack.md +25 -16
  85. package/docs/id/intlayer_with_vanilla.md +506 -0
  86. package/docs/it/cli/index.md +58 -41
  87. package/docs/it/cli/init.md +37 -38
  88. package/docs/it/cli/standalone.md +91 -0
  89. package/docs/it/configuration.md +46 -7
  90. package/docs/it/custom_domains.md +250 -0
  91. package/docs/it/intlayer_with_tanstack+solid.md +15 -36
  92. package/docs/it/intlayer_with_tanstack.md +25 -16
  93. package/docs/it/intlayer_with_vanilla.md +506 -0
  94. package/docs/ja/cli/index.md +59 -47
  95. package/docs/ja/cli/init.md +36 -24
  96. package/docs/ja/cli/standalone.md +91 -0
  97. package/docs/ja/configuration.md +46 -7
  98. package/docs/ja/custom_domains.md +250 -0
  99. package/docs/ja/intlayer_with_tanstack+solid.md +15 -36
  100. package/docs/ja/intlayer_with_tanstack.md +25 -16
  101. package/docs/ja/intlayer_with_vanilla.md +506 -0
  102. package/docs/ko/cli/index.md +58 -46
  103. package/docs/ko/cli/init.md +39 -35
  104. package/docs/ko/cli/standalone.md +91 -0
  105. package/docs/ko/configuration.md +47 -8
  106. package/docs/ko/custom_domains.md +250 -0
  107. package/docs/ko/intlayer_with_tanstack+solid.md +15 -36
  108. package/docs/ko/intlayer_with_tanstack.md +25 -16
  109. package/docs/ko/intlayer_with_vanilla.md +506 -0
  110. package/docs/nl/cli/index.md +195 -0
  111. package/docs/nl/cli/init.md +96 -0
  112. package/docs/nl/cli/standalone.md +91 -0
  113. package/docs/nl/configuration.md +46 -7
  114. package/docs/nl/custom_domains.md +250 -0
  115. package/docs/nl/intlayer_with_vanilla.md +506 -0
  116. package/docs/pl/cli/index.md +56 -44
  117. package/docs/pl/cli/init.md +36 -32
  118. package/docs/pl/cli/standalone.md +91 -0
  119. package/docs/pl/configuration.md +46 -7
  120. package/docs/pl/custom_domains.md +250 -0
  121. package/docs/pl/intlayer_with_tanstack+solid.md +14 -33
  122. package/docs/pl/intlayer_with_tanstack.md +25 -16
  123. package/docs/pl/intlayer_with_vanilla.md +506 -0
  124. package/docs/pt/cli/index.md +64 -52
  125. package/docs/pt/cli/init.md +35 -31
  126. package/docs/pt/cli/standalone.md +91 -0
  127. package/docs/pt/configuration.md +46 -7
  128. package/docs/pt/custom_domains.md +250 -0
  129. package/docs/pt/intlayer_with_tanstack+solid.md +15 -36
  130. package/docs/pt/intlayer_with_tanstack.md +25 -16
  131. package/docs/pt/intlayer_with_vanilla.md +506 -0
  132. package/docs/ru/cli/index.md +54 -42
  133. package/docs/ru/cli/init.md +31 -27
  134. package/docs/ru/cli/standalone.md +91 -0
  135. package/docs/ru/configuration.md +46 -7
  136. package/docs/ru/custom_domains.md +250 -0
  137. package/docs/ru/intlayer_with_tanstack+solid.md +15 -36
  138. package/docs/ru/intlayer_with_tanstack.md +25 -16
  139. package/docs/ru/intlayer_with_vanilla.md +506 -0
  140. package/docs/tr/cli/index.md +64 -52
  141. package/docs/tr/cli/init.md +37 -30
  142. package/docs/tr/cli/standalone.md +91 -0
  143. package/docs/tr/configuration.md +46 -7
  144. package/docs/tr/custom_domains.md +250 -0
  145. package/docs/tr/intlayer_with_tanstack+solid.md +14 -33
  146. package/docs/tr/intlayer_with_tanstack.md +25 -16
  147. package/docs/tr/intlayer_with_vanilla.md +506 -0
  148. package/docs/uk/cli/index.md +60 -55
  149. package/docs/uk/cli/init.md +32 -20
  150. package/docs/uk/cli/standalone.md +91 -0
  151. package/docs/uk/configuration.md +46 -7
  152. package/docs/uk/custom_domains.md +250 -0
  153. package/docs/uk/intlayer_with_tanstack+solid.md +14 -33
  154. package/docs/uk/intlayer_with_tanstack.md +25 -16
  155. package/docs/uk/intlayer_with_vanilla.md +506 -0
  156. package/docs/ur/cli/index.md +195 -0
  157. package/docs/ur/cli/init.md +96 -0
  158. package/docs/ur/cli/standalone.md +91 -0
  159. package/docs/ur/configuration.md +46 -7
  160. package/docs/ur/custom_domains.md +250 -0
  161. package/docs/ur/intlayer_with_vanilla.md +506 -0
  162. package/docs/vi/cli/index.md +72 -61
  163. package/docs/vi/cli/init.md +33 -21
  164. package/docs/vi/cli/standalone.md +91 -0
  165. package/docs/vi/configuration.md +46 -7
  166. package/docs/vi/custom_domains.md +250 -0
  167. package/docs/vi/intlayer_with_tanstack+solid.md +14 -33
  168. package/docs/vi/intlayer_with_tanstack.md +25 -16
  169. package/docs/vi/intlayer_with_vanilla.md +506 -0
  170. package/docs/zh/cli/index.md +56 -49
  171. package/docs/zh/cli/init.md +30 -18
  172. package/docs/zh/cli/standalone.md +91 -0
  173. package/docs/zh/configuration.md +46 -7
  174. package/docs/zh/custom_domains.md +250 -0
  175. package/docs/zh/intlayer_with_tanstack+solid.md +15 -36
  176. package/docs/zh/intlayer_with_tanstack.md +25 -16
  177. package/docs/zh/intlayer_with_vanilla.md +506 -0
  178. package/package.json +8 -8
  179. package/src/doc.ts +4 -1
  180. package/src/generated/docs.entry.ts +60 -0
  181. package/docs/ar/bundle_optimization.md +0 -185
  182. package/docs/de/bundle_optimization.md +0 -195
  183. package/docs/en-GB/bundle_optimization.md +0 -184
  184. package/docs/es/bundle_optimization.md +0 -194
  185. package/docs/fr/bundle_optimization.md +0 -184
  186. package/docs/hi/bundle_optimization.md +0 -185
  187. package/docs/id/bundle_optimization.md +0 -185
  188. package/docs/it/bundle_optimization.md +0 -185
  189. package/docs/ja/bundle_optimization.md +0 -185
  190. package/docs/ko/bundle_optimization.md +0 -185
  191. package/docs/pl/bundle_optimization.md +0 -185
  192. package/docs/pt/bundle_optimization.md +0 -184
  193. package/docs/ru/bundle_optimization.md +0 -185
  194. package/docs/tr/bundle_optimization.md +0 -184
  195. package/docs/uk/bundle_optimization.md +0 -186
  196. package/docs/vi/bundle_optimization.md +0 -185
  197. package/docs/zh/bundle_optimization.md +0 -185
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2026-01-06
4
- title: CLI
5
- description: Khám phá cách sử dụng Intlayer CLI để quản lý trang web đa ngôn ngữ của bạn. Làm theo các bước trong tài liệu trực tuyến này để thiết lập dự án của bạn trong vài phút.
3
+ updatedAt: 2026-03-31
4
+ title: CLI - Tất cả các lệnh CLI của Intlayer cho trang web đa ngôn ngữ của bạn
5
+ description: Tìm hiểu cách sử dụng Intlayer CLI để quản lý trang web đa ngôn ngữ của bạn. Làm theo các bước trong tài liệu trực tuyến này để thiết lập dự án của bạn trong vài phút.
6
6
  keywords:
7
7
  - CLI
8
- - Giao diện Dòng Lệnh
8
+ - Giao diện dòng lệnh
9
9
  - Quốc tế hóa
10
10
  - Tài liệu
11
11
  - Intlayer
@@ -17,58 +17,64 @@ slugs:
17
17
  - concept
18
18
  - cli
19
19
  history:
20
+ - version: 8.6.4
21
+ date: 2026-03-31
22
+ changes: "Thêm nội dung lệnh standalone"
20
23
  - version: 7.5.11
21
24
  date: 2026-01-06
22
- changes: "Thêm lệnh projects list"
25
+ changes: "Thêm nội dung lệnh CI"
26
+ - version: 7.5.11
27
+ date: 2026-01-06
28
+ changes: "Thêm nội dung lệnh liệt kê dự án"
23
29
  - version: 7.5.9
24
30
  date: 2025-12-30
25
- changes: "Thêm lệnh init"
31
+ changes: "Thêm nội dung lệnh khởi tạo"
26
32
  - version: 7.2.3
27
33
  date: 2025-11-22
28
- changes: "Thêm lệnh transform"
34
+ changes: "Thêm nội dung lệnh trích xuất"
29
35
  - version: 7.1.0
30
36
  date: 2025-11-05
31
- changes: "Thêm tùy chọn skipIfExists cho lệnh translate"
37
+ changes: "Thêm tùy chọn skipIfExists vào lệnh translate"
32
38
  - version: 6.1.4
33
39
  date: 2025-01-27
34
- changes: "Thêm bí danh cho các tham số và lệnh CLI"
40
+ changes: "Thêm bí danh cho các đối số và lệnh CLI"
35
41
  - version: 6.1.3
36
42
  date: 2025-10-05
37
- changes: "Thêm tùy chọn build cho các lệnh"
43
+ changes: "Thêm tùy chọn xây dựng vào các lệnh"
38
44
  - version: 6.1.2
39
45
  date: 2025-09-26
40
- changes: "Thêm lệnh version"
46
+ changes: "Thêm nội dung lệnh phiên bản"
41
47
  - version: 6.1.0
42
48
  date: 2025-09-26
43
- changes: "Đặt tùy chọn verbose mặc định là true khi sử dụng CLI"
49
+ changes: "Đặt tùy chọn verbose mặc định là true qua CLI"
44
50
  - version: 6.1.0
45
51
  date: 2025-09-23
46
- changes: "Thêm lệnh watch và tùy chọn with"
52
+ changes: "Thêm lệnh theo dõi và tùy chọn with"
47
53
  - version: 6.0.1
48
54
  date: 2025-09-23
49
- changes: "Thêm lệnh editor"
55
+ changes: "Thêm nội dung lệnh chỉnh sửa"
50
56
  - version: 6.0.0
51
57
  date: 2025-09-17
52
- changes: "Thêm lệnh content testlist"
58
+ changes: "Thêm lệnh kiểm traliệt kê nội dung"
53
59
  - version: 5.5.11
54
60
  date: 2025-07-11
55
- changes: "Cập nhật tài liệu tham số lệnh CLI"
61
+ changes: "Cập nhật tài liệu tham số cho lệnh CLI"
56
62
  - version: 5.5.10
57
63
  date: 2025-06-29
58
64
  changes: "Khởi tạo lịch sử"
59
65
  ---
60
66
 
61
- # Intlayer CLI
67
+ # Intlayer CLI - Tất cả các lệnh CLI của Intlayer cho trang web đa ngôn ngữ của bạn
62
68
 
63
69
  ---
64
70
 
65
- ## Mục Lục
71
+ ## Mục lục
66
72
 
67
73
  <TOC/>
68
74
 
69
75
  ---
70
76
 
71
- ## Cài Đặt Gói
77
+ ## Cài đặt gói
72
78
 
73
79
  Cài đặt các gói cần thiết bằng npm:
74
80
 
@@ -76,32 +82,31 @@ Cài đặt các gói cần thiết bằng npm:
76
82
  npm install intlayer-cli -g
77
83
  ```
78
84
 
79
- ```bash packageManager="bun"
80
- bun add intlayer-cli -g
81
- bun x intlayer init
82
- ```
83
-
84
85
  ```bash packageManager="yarn"
85
- yarn add intlayer-cli -g
86
+ yarn add intlayer-cli -g
86
87
  ```
87
88
 
88
89
  ```bash packageManager="pnpm"
89
90
  pnpm add intlayer-cli -g
90
91
  ```
91
92
 
92
- > Nếu gói `intlayer` đã được cài đặt, cli sẽ tự động được cài đặt. Bạn có thể bỏ qua bước này.
93
+ ```bash packageManager="bun"
94
+ bun add intlayer-cli -g
95
+ ```
96
+
97
+ > Nếu gói `intlayer` đã được cài đặt, CLI sẽ tự động được cài đặt. Bạn có thể bỏ qua bước này.
93
98
 
94
99
  ## Gói intlayer-cli
95
100
 
96
- Gói `intlayer-cli` nhằm mục đích biên dịch các [khai báo intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md) của bạn thành các từ điển.
101
+ Gói `intlayer-cli` được thiết kế để chuyển đổi các [khai báo Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md) của bạn vào các từ điển.
97
102
 
98
- Gói này sẽ biên dịch tất cả các file intlayer, như `src/**/*.content.{ts|js|mjs|cjs|json}`. [Xem cách khai báo các file Intlayer của bạn](https://github.com/aymericzip/intlayer/blob/main/packages/intlayer/README.md).
103
+ Gói này chuyển đổi tất cả các tệp Intlayer, chẳng hạn như `src/**/*.content.{ts|js|mjs|cjs|json}`. [Xem cách khai báo các tệp khai báo Intlayer của bạn](https://github.com/aymericzip/intlayer/blob/main/packages/intlayer/README.md).
99
104
 
100
- Để diễn giải các từ điển intlayer, bạn có thể sử dụng các trình thông dịch, chẳng hạn như [react-intlayer](https://www.npmjs.com/package/react-intlayer), hoặc [next-intlayer](https://www.npmjs.com/package/next-intlayer)
105
+ Để diễn giải các từ điển Intlayer, bạn có thể sử dụng các trình diễn giải như [react-intlayer](https://www.npmjs.com/package/react-intlayer) hoặc [next-intlayer](https://www.npmjs.com/package/next-intlayer).
101
106
 
102
- ## Hỗ trợ Tệp Cấu hình
107
+ ## Hỗ trợ tệp cấu hình
103
108
 
104
- Intlayer chấp nhận nhiều định dạng tệp cấu hình:
109
+ Intlayer chấp nhận nhiều định dạng tệp cấu hình khác nhau:
105
110
 
106
111
  - `intlayer.config.ts`
107
112
  - `intlayer.config.js`
@@ -110,54 +115,59 @@ Intlayer chấp nhận nhiều định dạng tệp cấu hình:
110
115
  - `intlayer.config.mjs`
111
116
  - `.intlayerrc`
112
117
 
113
- Để xem cách cấu hình các ngôn ngữ có sẵn hoặc các tham số khác, hãy tham khảo [tài liệu cấu hình tại đây](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
118
+ Để tìm hiểu cách cấu hình các ngôn ngữ có sẵn hoặc các tham số khác, hãy xem [tài liệu cấu hình tại đây](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
114
119
 
115
- ## Chạy các lệnh intlayer
120
+ ## Thực hiện các lệnh Intlayer
116
121
 
117
122
  ### Xác thực
118
123
 
119
- - **[Đăng nhập](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/login.md)** - Xác thực với Intlayer CMS và lấy thông tin đăng nhập
124
+ - **[Đăng nhập](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/login.md)** - Xác thực với Intlayer CMS và nhận thông tin xác thực truy cập
120
125
 
121
- ### Các Lệnh Bản
126
+ ### Các lệnh cốt lõi
122
127
 
123
- - **[Xây dựng Từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/build.md)** - Xây dựng từ điển của bạn từ các tệp khai báo nội dung
124
- - **[Theo dõi Từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/watch.md)** - Theo dõi các thay đổi và tự động xây dựng từ điển
125
- - **[Kiểm tra Phiên bản CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/version.md)** - Kiểm tra phiên bản Intlayer CLI đã cài đặt
126
- - **[Liệt Dự án](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/list_projects.md)** - Liệt tất cả các dự án Intlayer trong thư mục hoặc kho lưu trữ git
128
+ - **[Xây dựng từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/build.md)** - Xây dựng từ điển của bạn từ các tệp khai báo nội dung
129
+ - **[Theo dõi từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/watch.md)** - Theo dõi các thay đổi và tự động xây dựng lại từ điển
130
+ - **[Tạo gói đóng gói độc lập](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/standalone.md)** - Tạo một bản đóng gói JavaScript độc lập chứa Intlayer các gói được chỉ định
131
+ - **[Kiểm tra phiên bản CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/version.md)** - Kiểm tra phiên bản Intlayer CLI đã cài đặt
132
+ - **[Liệt kê dự án](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/list_projects.md)** - Liệt kê tất cả các dự án Intlayer trong một thư mục hoặc kho lưu trữ git
127
133
 
128
- ### Quản lý Từ điển
134
+ ### Quản lý từ điển
129
135
 
130
- - **[Đẩy Từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/push.md)** - Đẩy từ điển lên trình chỉnh sửa và CMS của Intlayer
131
- - **[Kéo Từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/pull.md)** - Kéo từ điển từ trình chỉnh sửa và CMS của Intlayer
132
- - **[Điền Từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/fill.md)** - Điền, kiểm tra và dịch từ điển bằng AI
133
- - **[Kiểm tra Bản dịch Thiếu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/test.md)** - Kiểm tra và xác định các bản dịch còn thiếu
134
- - **[Liệt kê Tệp Khai báo Nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/list.md)** - Liệt kê tất cả các tệp khai báo nội dung trong dự án của bạn
136
+ - **[Đẩy từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/push.md)** - Đẩy các từ điển lên Trình chỉnh sửa Intlayer và CMS
137
+ - **[Kéo từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/pull.md)** - Kéo các từ điển từ Trình chỉnh sửa Intlayer và CMS
138
+ - **[Điền từ điển](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/fill.md)** - Điền, kiểm tra và dịch các từ điển bằng AI
139
+ - **[Kiểm tra bản dịch còn thiếu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/test.md)** - Kiểm tra và xác định các bản dịch còn thiếu
140
+ - **[Liệt kê tệp khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/list.md)** - Liệt kê tất cả các tệp khai báo nội dung trong dự án của bạn
135
141
 
136
- ### Quản lý Thành phần
142
+ ### Quản lý thành phần
137
143
 
138
- - **[Chuyển đổi Thành phần](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md)** - Chuyển đổi các thành phần hiện để sử dụng Intlayer
144
+ - **[Trích xuất chuỗi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md)** - Trích xuất chuỗi từ các thành phần vào tệp .content nằm gần thành phần đó
139
145
 
140
146
  ### Cấu hình
141
147
 
142
148
  - **[Khởi tạo Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/init.md)** - Thiết lập Intlayer trong dự án của bạn với cấu hình tự động
143
- - **[Quản lý Cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/configuration.md)** - Lấy và đẩy cấu hình Intlayer của bạn lên CMS
149
+ - **[Quản lý cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/configuration.md)** - Nhận cấu hình Intlayer của bạn và đẩy lên CMS
150
+
151
+ ### Quản lý tài liệu
152
+
153
+ - **[Dịch tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/doc-translate.md)** - Tự động dịch các tệp tài liệu bằng AI
154
+ - **[Đánh giá tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/doc-review.md)** - Đánh giá tệp tài liệu để đảm bảo chất lượng và tính nhất quán
144
155
 
145
- ### Quản Tài liệu
156
+ ### Trình chỉnh sửa và Đồng bộ trực tiếp (Live Sync)
146
157
 
147
- - **[Dịch Tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/doc-translate.md)** - Tự động dịch các tệp tài liệu bằng AI
148
- - **[Xem lại Tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/doc-review.md)** - Xem lại các tệp tài liệu để đảm bảo chất lượng tính nhất quán
158
+ - **[Các lệnh trình chỉnh sửa](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/editor.md)** - Sử dụng các lệnh của Trình chỉnh sửa Intlayer
159
+ - **[Các lệnh đồng bộ trực tiếp](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/live.md)** - Sử dụng Live Sync để áp dụng các thay đổi nội dung từ CMS trong thời gian thực
149
160
 
150
- ### Trình chỉnh sửa & Đồng bộ trực tiếp
161
+ ### CI/CD Tự động hóa
151
162
 
152
- - **[Lệnh Trình chỉnh sửa](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/editor.md)** - Sử dụng các lệnh trình chỉnh sửa Intlayer
153
- - **[Lệnh Đồng bộ Trực tiếp](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/live.md)** - Sử dụng Đồng bộ Trực tiếp để phản ánh các thay đổi nội dung CMS trong thời gian chạy
163
+ - **[Lệnh CI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/ci.md)** - Thực hiện các lệnh Intlayer với thông tin xác thực được tự động đưa vào cho các luồng CI/CD
154
164
 
155
- ### Công cụ Phát triển
165
+ ### Công cụ dành cho nhà phát triển
156
166
 
157
- - **[CLI SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/sdk.md)** - Sử dụng Intlayer CLI SDK trong mã của bạn
158
- - **[Lệnh Gỡ lỗi Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/debug.md)** - Gỡ lỗi và khắc phục sự cố Intlayer CLI
167
+ - **[CLI SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/sdk.md)** - Sử dụng Intlayer CLI SDK trong mã của riêng bạn
168
+ - **[Lệnh gỡ lỗi Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/debug.md)** - Gỡ lỗi và giải quyết các vấn đề với Intlayer CLI
159
169
 
160
- ## Sử dụng các lệnh intlayer trong `package.json` của bạn
170
+ ## Sử dụng các lệnh Intlayer trong tệp `package.json` của bạn
161
171
 
162
172
  ```json fileName="package.json"
163
173
  "scripts": {
@@ -165,6 +175,7 @@ Intlayer chấp nhận nhiều định dạng tệp cấu hình:
165
175
  "intlayer:login": "npx intlayer login",
166
176
  "intlayer:build": "npx intlayer build",
167
177
  "intlayer:watch": "npx intlayer build --watch",
178
+ "intlayer:standalone": "npx intlayer standalone --packages intlayer vanilla-intlayer",
168
179
  "intlayer:push": "npx intlayer push",
169
180
  "intlayer:pull": "npx intlayer pull",
170
181
  "intlayer:fill": "npx intlayer fill",
@@ -179,6 +190,6 @@ Intlayer chấp nhận nhiều định dạng tệp cấu hình:
179
190
 
180
191
  > **Lưu ý**: Bạn cũng có thể sử dụng các bí danh ngắn hơn:
181
192
  >
182
- > - `npx intlayer list` thay `npx intlayer content list`
183
- > - `npx intlayer test` thay `npx intlayer content test`
184
- > - `npx intlayer projects-list` hoặc `npx intlayer pl` thay `npx intlayer projects list`
193
+ > - `npx intlayer list`: thay cho `npx intlayer content list`
194
+ > - `npx intlayer test`: thay cho `npx intlayer content test`
195
+ > - `npx intlayer projects-list` hoặc `npx intlayer pl`: thay cho `npx intlayer projects list`
@@ -14,9 +14,12 @@ slugs:
14
14
  - cli
15
15
  - init
16
16
  history:
17
+ - version: 8.6.4
18
+ date: 2026-03-31
19
+ changes: "Thêm tùy chọn --no-gitignore"
17
20
  - version: 7.5.9
18
21
  date: 2025-12-30
19
- changes: "Thêm lệnh init"
22
+ changes: "Thêm nội dung lệnh init"
20
23
  ---
21
24
 
22
25
  # Khởi tạo Intlayer
@@ -25,26 +28,27 @@ history:
25
28
  npx intlayer init
26
29
  ```
27
30
 
28
- Lệnh `init` tự động thiết lập Intlayer trong dự án của bạn bằng cách cấu hình các tệp và thiết lập cần thiết. Đây là cách được khuyến nghị để bắt đầu với Intlayer.
31
+ Lệnh `init` tự động định cấu hình Intlayer cho dự án của bạn bằng cách tạo các tệp và cài đặt cần thiết. Đây là cách bắt đầu được khuyến nghị với Intlayer.
29
32
 
30
- ## danh:
33
+ ## Tên thay thế (Aliases):
31
34
 
32
35
  - `npx intlayer init`
33
36
 
34
- ## Tham số:
37
+ ## Các tham số (Arguments):
35
38
 
36
- - `--project-root [projectRoot]` - Tùy chọn. Chỉ định thư mục gốc của dự án. Nếu không được cung cấp, lệnh sẽ tìm thư mục gốc bắt đầu từ thư mục làm việc hiện tại.
39
+ - `--project-root [projectRoot]` - Tùy chọn. Chỉ định thư mục gốc của dự án. Nếu không được cung cấp, lệnh sẽ tìm kiếm thư mục dự án bắt đầu từ thư mục làm việc hiện tại.
40
+ - `--no-gitignore` - Tùy chọn. Bỏ qua việc tự động cập nhật tệp `.gitignore`. Nếu cờ này được đặt, `.intlayer` sẽ không được thêm vào `.gitignore`.
37
41
 
38
- ## Những việc thực hiện:
42
+ ## Cách thức hoạt động:
39
43
 
40
44
  Lệnh `init` thực hiện các tác vụ thiết lập sau:
41
45
 
42
- 1. **Xác thực cấu trúc dự án** - Đảm bảo bạn đang ở trong thư mục dự án hợp lệ có tệp `package.json`
43
- 2. **Cập nhật `.gitignore`** - Thêm `.intlayer` vào tệp `.gitignore` của bạn để loại trừ các tệp được tạo ra khỏi quản lý phiên bản
44
- 3. **Cấu hình TypeScript** - Cập nhật tất cả các tệp `tsconfig.json` để bao gồm định nghĩa kiểu của Intlayer (`.intlayer/**/*.ts`)
45
- 4. **Tạo tệp cấu hình** - Tạo `intlayer.config.ts` (cho dự án TypeScript) hoặc `intlayer.config.mjs` (cho dự án JavaScript) với các thiết lập mặc định
46
- 5. **Cập nhật cấu hình Vite** - Nếu phát hiện tệp cấu hình Vite, thêm import plugin `vite-intlayer`
47
- 6. **Cập nhật cấu hình Next.js** - Nếu phát hiện tệp cấu hình Next.js, thêm import plugin `next-intlayer`
46
+ 1. **Xác thực cấu trúc dự án** - Đảm bảo bạn đang ở trong một thư mục dự án hợp lệ có tệp `package.json`.
47
+ 2. **Cập nhật `.gitignore`** - Thêm `.intlayer` vào tệp `.gitignore` của bạn để loại bỏ các tệp được tạo tự động khỏi trình quản lý phiên bản (có thể bỏ qua bằng `--no-gitignore`).
48
+ 3. **Cấu hình TypeScript** - Cập nhật bất kỳ tệp `tsconfig.json` nào để bao gồm các định nghĩa kiểu của Intlayer (`.intlayer/**/*.ts`).
49
+ 4. **Tạo tệp cấu hình** - Tạo `intlayer.config.ts` (cho các dự án TypeScript) hoặc `intlayer.config.mjs` (cho các dự án JavaScript) với các cài đặt mặc định.
50
+ 5. **Cập nhật cấu hình Vite** - Nếu phát hiện tệp cấu hình Vite, nó sẽ thêm phần nhập cho plugin `vite-intlayer`.
51
+ 6. **Cập nhật cấu hình Next.js** - Nếu phát hiện tệp cấu hình Next.js, nó sẽ thêm phần nhập cho plugin `next-intlayer`.
48
52
 
49
53
  ## Ví dụ:
50
54
 
@@ -54,15 +58,23 @@ Lệnh `init` thực hiện các tác vụ thiết lập sau:
54
58
  npx intlayer init
55
59
  ```
56
60
 
57
- Lệnh này sẽ khởi tạo Intlayer trong thư mục hiện tại, tự động phát hiện thư mục gốc của dự án.
61
+ Thao tác này khởi tạo Intlayer trong thư mục hiện tại, tự động phát hiện gốc dự án.
58
62
 
59
- ### Khởi tạo với thư mục gốc dự án tùy chỉnh:
63
+ ### Khởi tạo với gốc dự án tùy chỉnh:
60
64
 
61
65
  ```bash
62
- npx intlayer init --project-root ./my-project
66
+ npx intlayer init --project-root ./du-an-cua-toi
63
67
  ```
64
68
 
65
- Lệnh này sẽ khởi tạo Intlayer trong thư mục được chỉ định.
69
+ Thao tác này khởi tạo Intlayer trong thư mục được chỉ định.
70
+
71
+ ### Khởi tạo không cập nhật .gitignore:
72
+
73
+ ```bash
74
+ npx intlayer init --no-gitignore
75
+ ```
76
+
77
+ Thao tác này sẽ thiết lập tất cả các tệp cấu hình nhưng sẽ không sửa đổi tệp `.gitignore` của bạn.
66
78
 
67
79
  ## Ví dụ đầu ra:
68
80
 
@@ -76,9 +88,9 @@ Checking Intlayer configuration...
76
88
  ✓ Intlayer init setup complete.
77
89
  ```
78
90
 
79
- ## Ghi chú:
91
+ ## Lưu ý:
80
92
 
81
- - Lệnh tính idempotent - bạn có thể chạy nó nhiều lần một cách an toàn. sẽ bỏ qua các bước đã được cấu hình.
82
- - Nếu một tệp cấu hình đã tồn tại, nó sẽ không bị ghi đè.
83
- - Các tệp cấu hình TypeScript không có mảng `include` (ví dụ: các cấu hình theo kiểu solution với references) sẽ bị bỏ qua.
84
- - Lệnh sẽ kết thúc với lỗi nếu không tìm thấy `package.json` trong thư mục gốc của dự án.
93
+ - Lệnh này mang tính lũy đẳng (idempotent) bạn có thể chạy nó nhiều lần một cách an toàn. Các bước đã được cấu hình sẽ tự động được bỏ qua.
94
+ - Nếu tệp cấu hình đã tồn tại, nó sẽ không bị ghi đè.
95
+ - Các cấu hình TypeScript không có mảng `include` (ví dụ: cấu hình kiểu giải pháp có tham chiếu) sẽ bị bỏ qua.
96
+ - Lệnh sẽ dừng với thông báo lỗi nếu không tìm thấy `package.json` trong gốc dự án.
@@ -0,0 +1,91 @@
1
+ ---
2
+ createdAt: 2024-08-11
3
+ updatedAt: 2026-03-31
4
+ title: Bản Đóng Gói Độc Lập (Standalone Bundle)
5
+ description: Tìm hiểu cách tạo một bản đóng gói JavaScript độc lập cho nội dung ứng dụng.
6
+ keywords:
7
+ - Standalone
8
+ - Bundle
9
+ - CLI
10
+ - Intlayer
11
+ - Editor
12
+ - CMS
13
+ slugs:
14
+ - doc
15
+ - concept
16
+ - cli
17
+ - standalone
18
+ history:
19
+ - version: 8.6.4
20
+ date: 2026-03-31
21
+ changes: "Khởi tạo tài liệu lệnh standalone"
22
+ ---
23
+
24
+ # Bản Đóng Gói Độc Lập (Standalone Bundle)
25
+
26
+ Lệnh `standalone` cho phép bạn tạo một bản đóng gói JavaScript độc lập chứa Intlayer và bất kỳ gói nào khác được chỉ định. Điều này đặc biệt hữu ích khi sử dụng Intlayer trong các môi trường không có trình quản lý gói hoặc trình đóng gói, chẳng hạn như ứng dụng HTML/JS đơn giản.
27
+
28
+ Bản đóng gói sử dụng [esbuild](https://esbuild.github.io/) để kết hợp các gói được yêu cầu và các phần phụ thuộc của chúng vào một tệp duy nhất, tệp này có thể dễ dàng nhập vào bất kỳ dự án web nào.
29
+
30
+ ## Cách sử dụng
31
+
32
+ ```bash
33
+ npx intlayer standalone --packages [các gói...] [tùy chọn]
34
+ ```
35
+
36
+ ## Tùy chọn
37
+
38
+ - `-o, --outfile [outfile]` - Tùy chọn. Tên của tệp đầu ra. Mặc định: `intlayer-bundle.js`.
39
+ - `--packages [các gói...]` - Bắt buộc. Danh sách các gói cần đưa vào bản đóng gói (ví dụ: `intlayer`, `vanilla-intlayer`).
40
+ - `--version [version]` - Tùy chọn. Phiên bản của các gói cần đóng gói. Nếu không được chỉ định, phiên bản Intlayer CLI sẽ được sử dụng theo mặc định.
41
+ - `--minify` - Tùy chọn. Có nén (minify) đầu ra hay không. Mặc định: `true`.
42
+ - `--platform [platform]` - Tùy chọn. Nền tảng mục tiêu cho bản đóng gói (ví dụ: `browser`, `node`). Mặc định: `browser`.
43
+ - `--format [format]` - Tùy chọn. Định dạng đầu ra cho bản đóng gói (ví dụ: `esm`, `cjs`, `iife`). Mặc định: `esm`.
44
+
45
+ ## Tùy chọn chung
46
+
47
+ - `--env-file [envFile]` - Tệp môi trường.
48
+ - `-e, --env [env]` - Môi trường.
49
+ - `--base-dir [baseDir]` - Thư mục gốc.
50
+ - `--no-cache` - Tắt bộ nhớ đệm.
51
+ - `--verbose` - Đầu ra chi tiết.
52
+
53
+ ## Ví dụ:
54
+
55
+ ### Tạo bản đóng gói cho Vanilla JS:
56
+
57
+ ```bash
58
+ npx intlayer standalone --packages intlayer vanilla-intlayer --outfile intlayer.js
59
+ ```
60
+
61
+ Thao tác này sẽ tạo một tệp `intlayer.js` chứa cả hai gói `intlayer` và `vanilla-intlayer`, được nén và ở định dạng ESM, sẵn sàng để sử dụng trong trình duyệt qua thẻ `<script>`.
62
+
63
+ ### Đóng gói phiên bản cụ thể:
64
+
65
+ ```bash
66
+ npx intlayer standalone --packages intlayer --version 8.6.4
67
+ ```
68
+
69
+ ### Đóng gói ở định dạng khác:
70
+
71
+ ```bash
72
+ npx intlayer standalone --packages intlayer --format iife
73
+ ```
74
+
75
+ ## Cách thức hoạt động:
76
+
77
+ 1. **Tạo môi trường tạm thời** - Thiết lập một thư mục tạm thời để quản lý các phần phụ thuộc.
78
+ 2. **Cài đặt các gói** - Sử dụng `npm` hoặc `bun` (nếu có) để cài đặt các gói được yêu cầu và các phần phụ thuộc của chúng.
79
+ 3. **Tạo điểm bắt đầu (entry point)** - Tạo một tệp điểm bắt đầu tạm thời xuất tất cả các gói được yêu cầu và cung cấp chúng dưới dạng các biến toàn cục khi chạy trong trình duyệt.
80
+ 4. **Đóng gói bằng esbuild** - Sử dụng esbuild để kết hợp mọi thứ vào một tệp, áp dụng tính năng nén và định dạng theo yêu cầu.
81
+ 5. **Tạo tệp** - Ghi bản đóng gói kết quả vào đường dẫn đầu ra được chỉ định.
82
+
83
+ ## Các Biến Toàn Cục
84
+
85
+ Khi bản đóng gói được tải trong trình duyệt, nó sẽ cung cấp các gói được yêu cầu dưới dạng các biến toàn cục trên đối tượng `window`. Tên biến được lấy từ tên gói (ví dụ: `intlayer` trở thành `Intlayer`, `vanilla-intlayer` trở thành `VanillaIntlayer`).
86
+
87
+ ```javascript
88
+ // Truy cập Intlayer từ bản đóng gói
89
+ const { getLocaleName } = window.Intlayer;
90
+ const { installIntlayer, useIntlayer } = window.VanillaIntlayer;
91
+ ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-03-20
3
+ updatedAt: 2026-04-03
4
4
  title: Cấu hình (Configuration)
5
5
  description: Tìm hiểu cách cấu hình Intlayer cho ứng dụng của bạn. Hiểu các cài đặt và tùy chọn khác nhau có sẵn để tùy chỉnh Intlayer theo nhu cầu của bạn.
6
6
  keywords:
@@ -14,6 +14,12 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.7.0
18
+ date: 2026-04-07
19
+ changes: "Thêm tùy chọn `minify` và `prune` vào cấu hình build"
20
+ - version: 8.7.0
21
+ date: 2026-04-03
22
+ changes: "Thêm tùy chọn `currentDomain`"
17
23
  - version: 8.4.0
18
24
  date: 2026-03-20
19
25
  changes: "Thêm hỗ trợ định nghĩa đường dẫn theo từng locale cho 'compiler.output' và 'dictionary.fill'"
@@ -237,6 +243,17 @@ const config: IntlayerConfig = {
237
243
  fr: "/[locale]/a-propos",
238
244
  },
239
245
  }),
246
+
247
+ /**
248
+ * Ánh xạ các locale với tên máy chủ tên miền để routing dựa trên tên miền.
249
+ * URL cho các locale này sẽ là tuyệt đối (ví dụ: https://intlayer.cn/).
250
+ * Tên miền ngụ ý locale, vì vậy không có tiền tố locale nào được thêm vào đường dẫn.
251
+ * Mặc định: undefined
252
+ */
253
+ domains: {
254
+ en: "intlayer.org",
255
+ zh: "intlayer.cn",
256
+ },
240
257
  },
241
258
 
242
259
  /**
@@ -388,6 +405,25 @@ const config: IntlayerConfig = {
388
405
  */
389
406
  optimize: true,
390
407
 
408
+ /**
409
+ * Nén (Minify) các từ điển để giảm kích thước bundle.
410
+ * Mặc định: false
411
+ *
412
+ * Lưu ý:
413
+ * - Tùy chọn này sẽ bị bỏ qua nếu `optimize` bị tắt.
414
+ * - Tùy chọn này sẽ bị bỏ qua nếu `editor.enabled` là true.
415
+ */
416
+ minify: true,
417
+
418
+ /**
419
+ * Loại bỏ (Purge) các khóa không sử dụng trong từ điển.
420
+ * Mặc định: false
421
+ *
422
+ * Lưu ý:
423
+ * - Tùy chọn này sẽ bị bỏ qua nếu `optimize` bị tắt.
424
+ */
425
+ purge: true,
426
+
391
427
  /**
392
428
  * Định dạng đầu ra cho các tệp dictionary được tạo.
393
429
  * Mặc định: ['cjs', 'esm']
@@ -597,12 +633,13 @@ Xác định cài đặt cho visual editor, bao gồm cổng máy chủ và tr
597
633
 
598
634
  Cài đặt kiểm soát hành vi routing, bao gồm cấu trúc URL, lưu trữ locale và quản lý middleware.
599
635
 
600
- | Trường | Mô tả | Kiểu dữ liệu | Mặc định | Ví dụ | Nhận xét |
601
- | ---------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
602
- | `mode` | Chế độ cấu trúc URL cho việc quản lý locale. | `'prefix-no-default'` &#124; <br/> `'prefix-all'` &#124; <br/> `'no-prefix'` &#124; <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) hoặc `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard` . `'no-prefix'`: locale được quản lý theo cách khác. `'search-params'`: `/dashboard?locale=fr` | Không ảnh hưởng đến quản lý cookie hoặc local storage. |
603
- | `storage` | Cấu hình cho việc lưu trữ locale phía client. | `false` &#124; <br/> `'cookie'` &#124; <br/> `'localStorage'` &#124; <br/> `'sessionStorage'` &#124; <br/> `'header'` &#124; <br/> `CookiesAttributes` &#124; <br/> `StorageAttributes` &#124; <br/> `Array` | `['cookie', 'header']` | `'localStorage'` <br/> `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Xem bảng tham số lưu trữ bên dưới. |
604
- | `basePath` | Đường dẫn cơ sở cho các URL ứng dụng. | `string` | `''` | `'/my-app'` | Nếu ứng dụng của bạn nằm tại `https://example.com/my-app`, basePath là `'/my-app'` và các URL trỏ tới `https://example.com/my-app/en` . |
605
- | `rewrite` | Các quy tắc rewrite URL tùy chỉnh để ghi đè chế độ routing mặc định cho các đường dẫn cụ thể. Hỗ trợ các tham số động `[param]`. | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | Xem Ví dụ bên dưới | • Quy tắc rewrite có độ ưu tiên cao hơn `mode`.<br/>• Hoạt động với Next.js và Vite.<br/>• `getLocalizedUrl()` tự động áp dụng các quy tắc phù hợp.<br/>• Xem [Rewrite URL tùy chỉnh](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md). |
636
+ | Trường | Mô tả | Kiểu dữ liệu | Mặc định | Ví dụ | Nhận xét |
637
+ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
638
+ | `mode` | Chế độ cấu trúc URL cho việc quản lý locale. | `'prefix-no-default'` &#124; <br/> `'prefix-all'` &#124; <br/> `'no-prefix'` &#124; <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) hoặc `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard` . `'no-prefix'`: locale được quản lý theo cách khác. `'search-params'`: `/dashboard?locale=fr` | Không ảnh hưởng đến quản lý cookie hoặc local storage. |
639
+ | `storage` | Cấu hình cho việc lưu trữ locale phía client. | `false` &#124; <br/> `'cookie'` &#124; <br/> `'localStorage'` &#124; <br/> `'sessionStorage'` &#124; <br/> `'header'` &#124; <br/> `CookiesAttributes` &#124; <br/> `StorageAttributes` &#124; <br/> `Array` | `['cookie', 'header']` | `'localStorage'` <br/> `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Xem bảng tham số lưu trữ bên dưới. |
640
+ | `basePath` | Đường dẫn cơ sở cho các URL ứng dụng. | `string` | `''` | `'/my-app'` | Nếu ứng dụng của bạn nằm tại `https://example.com/my-app`, basePath là `'/my-app'` và các URL trỏ tới `https://example.com/my-app/en` . |
641
+ | `rewrite` | Các quy tắc rewrite URL tùy chỉnh để ghi đè chế độ routing mặc định cho các đường dẫn cụ thể. Hỗ trợ các tham số động `[param]`. | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | Xem Ví dụ bên dưới | • Quy tắc rewrite có độ ưu tiên cao hơn `mode`.<br/>• Hoạt động với Next.js và Vite.<br/>• `getLocalizedUrl()` tự động áp dụng các quy tắc phù hợp.<br/>• Xem [Rewrite URL tùy chỉnh](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md). |
642
+ | `domains` | Ánh xạ các locale với tên máy chủ tên miền để routing dựa trên tên miền. Khi được thiết lập, URL cho một locale sẽ sử dụng tên miền đó làm cơ sở (URL tuyệt đối) và không có tiền tố locale nào được thêm vào đường dẫn. | `Partial<Record<Locale, string>>` | `undefined` | `{ zh: 'intlayer.zh', fr: 'intlayer.org' }` | • Giao thức mặc định là `https://` khi không được bao gồm trong tên máy chủ.<br/>• Bản thân tên miền xác định locale, vì vậy không có tiền tố `/zh/` nào được thêm vào.<br/>• `getLocalizedUrl('/', 'zh')` trả về `https://intlayer.zh/`. |
606
643
 
607
644
  **Ví dụ về `rewrite`**:
608
645
 
@@ -906,6 +943,8 @@ Các tùy chọn build được áp dụng cho các plugin `@intlayer/babel` và
906
943
  | ----------------- | --------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
907
944
  | `mode` | Kiểm soát chế độ build. | `'auto'` &#124; <br/> `'manual'` | `'auto'` | `'manual'` | • `'auto'`: Quá trình build được khởi chạy tự động trong quá trình build ứng dụng.<br/>• `'manual'`: Chỉ được thực thi thông qua một lệnh build rõ ràng.<br/>• Có thể được sử dụng để ngăn chặn quá trình build dictionary (ví dụ: để tránh chạy trong môi trường Node.js). |
908
945
  | `optimize` | Kiểm soát liệu các tối ưu hóa build có nên được thực hiện hay không. | `boolean` | `undefined` | `process.env.NODE_ENV === 'production'` | • Nếu chưa được định nghĩa, quá trình tối ưu hóa được khởi chạy trong quá trình build framework (Vite/Next.js).<br/>• `true` buộc thực hiện tối ưu hóa ngay cả trong chế độ dev.<br/>• `false` vô hiệu hóa nó.<br/>• Nếu bật, nó sẽ thay thế các lệnh gọi dictionary để phục vụ tối ưu hóa chunking.<br/>• Yêu cầu các plugin `@intlayer/babel` và `@intlayer/swc`. |
946
+ | `minify` | Nén (Minify) các từ điển để giảm kích thước bundle. | `boolean` | `false` | | • Cho biết bundle có nên được rút gọn không.<br/>• Mặc định: `true` trong production.<br/>• Tùy chọn này sẽ bị bỏ qua nếu `optimize` bị tắt.<br/>• Tùy chọn này sẽ bị bỏ qua nếu `editor.enabled` là true. |
947
+ | `purge` | Loại bỏ (Purge) các khóa không sử dụng trong từ điển. | `boolean` | `false` | | • Cho biết bundle có nên được loại bỏ các khóa không sử dụng không.<br/>• Mặc định: `true` trong production.<br/>• Tùy chọn này sẽ bị bỏ qua nếu `optimize` bị tắt. |
909
948
  | `checkTypes` | Biểu thị liệu build có nên kiểm tra các kiểu dữ liệu TypeScript và ghi nhật ký lỗi hay không. | `boolean` | `false` | | Có thể làm chậm quá trình build. |
910
949
  | `outputFormat` | Kiểm soát định dạng đầu ra cho các dictionary. | `('esm' &#124; 'cjs')[]` | `['esm', 'cjs']` | `['cjs']` | |
911
950
  | `traversePattern` | Pattern chỉ rõ các tệp cần quét trong quá trình tối ưu hóa. | `string[]` | `['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*']` | `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']` | • Hạn chế tối ưu hóa cho các tệp có liên quan để cải thiện hiệu suất build.<br/>• Bị bỏ qua nếu `optimize` tắt.<br/>• Sử dụng các pattern glob. |