@intlayer/docs 9.3.0 → 9.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.
- package/README.md +24 -24
- package/blog/ar/rag_powered_documentation_assistant.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/authors2.cjs +0 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +4 -2
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +4 -2
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -2
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +4 -2
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +4 -2
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +4 -2
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/docs/ar/configuration.md +10 -10
- package/docs/ar/interest_of_intlayer.md +24 -22
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ar/intlayer_with_tanstack.md +5 -3
- package/docs/ar/lsp.md +114 -175
- package/docs/ar/readme.md +25 -25
- package/docs/bn/configuration.md +10 -10
- package/docs/bn/interest_of_intlayer.md +24 -22
- package/docs/cs/configuration.md +10 -10
- package/docs/cs/interest_of_intlayer.md +24 -22
- package/docs/de/configuration.md +10 -10
- package/docs/de/interest_of_intlayer.md +24 -22
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +5 -3
- package/docs/de/intlayer_with_tanstack.md +5 -3
- package/docs/de/lsp.md +111 -172
- package/docs/de/readme.md +24 -24
- package/docs/en/configuration.md +10 -10
- package/docs/en/interest_of_intlayer.md +24 -22
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en/intlayer_with_tanstack.md +5 -3
- package/docs/en/lsp.md +109 -170
- package/docs/en/readme.md +24 -24
- package/docs/en-GB/configuration.md +10 -10
- package/docs/en-GB/interest_of_intlayer.md +24 -22
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en-GB/intlayer_with_tanstack.md +5 -3
- package/docs/en-GB/lsp.md +109 -170
- package/docs/en-GB/readme.md +24 -24
- package/docs/es/configuration.md +10 -10
- package/docs/es/interest_of_intlayer.md +24 -22
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +5 -3
- package/docs/es/intlayer_with_tanstack.md +5 -3
- package/docs/es/lsp.md +114 -175
- package/docs/es/readme.md +24 -24
- package/docs/fr/configuration.md +10 -10
- package/docs/fr/interest_of_intlayer.md +24 -22
- package/docs/fr/intlayer_with_svelte_kit.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/fr/intlayer_with_tanstack.md +5 -3
- package/docs/fr/lsp.md +110 -171
- package/docs/fr/readme.md +24 -24
- package/docs/hi/configuration.md +10 -10
- package/docs/hi/interest_of_intlayer.md +24 -22
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/hi/intlayer_with_tanstack.md +5 -3
- package/docs/hi/lsp.md +113 -174
- package/docs/hi/readme.md +24 -24
- package/docs/id/configuration.md +10 -10
- package/docs/id/interest_of_intlayer.md +24 -22
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +5 -3
- package/docs/id/intlayer_with_tanstack.md +5 -3
- package/docs/id/lsp.md +113 -174
- package/docs/id/readme.md +24 -24
- package/docs/it/configuration.md +10 -10
- package/docs/it/interest_of_intlayer.md +24 -22
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +5 -3
- package/docs/it/intlayer_with_tanstack.md +5 -3
- package/docs/it/lsp.md +115 -176
- package/docs/it/readme.md +24 -24
- package/docs/ja/configuration.md +10 -10
- package/docs/ja/interest_of_intlayer.md +24 -22
- package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ja/intlayer_with_tanstack.md +5 -3
- package/docs/ja/lsp.md +113 -174
- package/docs/ja/readme.md +24 -24
- package/docs/ko/configuration.md +10 -10
- package/docs/ko/interest_of_intlayer.md +24 -22
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ko/intlayer_with_tanstack.md +5 -3
- package/docs/ko/lsp.md +112 -173
- package/docs/ko/readme.md +24 -24
- package/docs/nl/configuration.md +10 -10
- package/docs/nl/interest_of_intlayer.md +24 -22
- package/docs/pl/configuration.md +10 -10
- package/docs/pl/interest_of_intlayer.md +4 -2
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pl/intlayer_with_tanstack.md +5 -3
- package/docs/pl/lsp.md +115 -176
- package/docs/pl/readme.md +24 -24
- package/docs/pt/configuration.md +10 -10
- package/docs/pt/interest_of_intlayer.md +24 -22
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pt/intlayer_with_tanstack.md +5 -3
- package/docs/pt/lsp.md +113 -174
- package/docs/pt/readme.md +24 -24
- package/docs/ru/configuration.md +10 -10
- package/docs/ru/interest_of_intlayer.md +24 -22
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ru/intlayer_with_tanstack.md +5 -3
- package/docs/ru/lsp.md +112 -173
- package/docs/ru/readme.md +24 -24
- package/docs/tr/configuration.md +10 -10
- package/docs/tr/interest_of_intlayer.md +24 -22
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/tr/intlayer_with_tanstack.md +5 -3
- package/docs/tr/lsp.md +113 -174
- package/docs/tr/readme.md +24 -24
- package/docs/uk/configuration.md +10 -10
- package/docs/uk/interest_of_intlayer.md +4 -2
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
- package/docs/uk/intlayer_with_tanstack.md +5 -3
- package/docs/uk/lsp.md +113 -174
- package/docs/uk/per_locale_file.md +1 -1
- package/docs/uk/readme.md +24 -24
- package/docs/ur/configuration.md +10 -10
- package/docs/ur/interest_of_intlayer.md +24 -22
- package/docs/vi/configuration.md +10 -10
- package/docs/vi/interest_of_intlayer.md +24 -22
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/vi/intlayer_with_tanstack.md +5 -3
- package/docs/vi/lsp.md +115 -176
- package/docs/vi/readme.md +24 -24
- package/docs/zh/configuration.md +10 -10
- package/docs/zh/interest_of_intlayer.md +24 -22
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
- package/docs/zh/intlayer_with_tanstack.md +5 -3
- package/docs/zh/lsp.md +113 -174
- package/docs/zh/readme.md +21 -21
- package/docs/zh-TW/interest_of_intlayer.md +24 -22
- package/package.json +6 -6
package/docs/vi/readme.md
CHANGED
|
@@ -46,27 +46,27 @@ Với **các tệp nội dung theo từng locale**, **tự động hoàn thành
|
|
|
46
46
|
|
|
47
47
|
## Các lợi ích chính của Intlayer:
|
|
48
48
|
|
|
49
|
-
| Tính năng | Mô tả
|
|
50
|
-
| -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
51
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="Hỗ trợ" width="700"> | **Hỗ trợ đa Framework**<br><br>Intlayer tương thích với tất cả các framework và thư viện lớn, bao gồm Next.js, React, Vite, Vue.js, Nuxt, Preact, Express và nhiều hơn nữa.
|
|
52
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true" alt="JavaScript" width="700"> | **Quản lý nội dung bằng JavaScript**<br><br>Khai thác sự linh hoạt của JavaScript để định nghĩa và quản lý nội dung của bạn một cách hiệu quả. <br><br> - [Khai báo nội dung](https://intlayer.org/doc/concept/content)
|
|
53
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="Tệp nội dung" width="700"> | **Tệp Khai Báo Nội Dung Theo Mỗi Locale**<br><br>Tăng tốc phát triển của bạn bằng cách khai báo nội dung một lần, trước khi tự động sinh.<br><br> - [Tệp Khai Báo Nội Dung Theo Mỗi Locale](https://intlayer.org/doc/concept/per-locale-file)
|
|
54
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Compiler" width="700"> | **Trình biên dịch**<br><br>Trình biên dịch Intlayer tự động trích xuất nội dung từ các component và tạo ra các tệp từ điển.<br><br> - [Compiler](https://intlayer.org/doc/compiler)
|
|
55
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true" alt="TypeScript" width="700"> | **Môi Trường An Toàn Kiểu**<br><br>Tận dụng TypeScript để đảm bảo định nghĩa nội dung và mã của bạn không có lỗi, đồng thời hưởng lợi từ tính năng tự động hoàn thành trong IDE.<br><br> - [Cấu hình TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript)
|
|
56
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true" alt="Cấu hình" width="700"> | **Cài Đặt Đơn Giản Hóa**<br><br>Bắt đầu nhanh chóng với cấu hình tối thiểu. Dễ dàng điều chỉnh các thiết lập cho quốc tế hóa, định tuyến, AI, build và xử lý nội dung.<br><br> - [Khám phá tích hợp Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
57
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true" alt="Truy xuất" width="700"> | **Truy Xuất Nội Dung Đơn Giản Hóa**<br><br>Không cần gọi hàm `t` cho từng phần nội dung. Truy xuất toàn bộ nội dung của bạn trực tiếp bằng một hook duy nhất.<br><br> - [Tích hợp React](https://intlayer.org/doc/environment/create-react-app)
|
|
58
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true" alt="Server Component" width="700"> | **Triển Khai Thành Phần Server Nhất Quán**<br><br>Phù hợp hoàn hảo cho các thành phần server của Next.js, sử dụng cùng một triển khai cho cả thành phần client và server, không cần truyền hàm `t` của bạn qua từng thành phần server.<br><br> - [Thành phần Server](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)
|
|
59
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true" alt="Cấu trúc" width="700"> | **Codebase Có Tổ Chức**<br><br>Giữ cho codebase của bạn có tổ chức hơn: 1 component = 1 từ điển trong cùng một thư mục. Các bản dịch gần với các component tương ứng, nâng cao khả năng bảo trì và sự rõ ràng.<br><br> - [Cách Intlayer hoạt động](https://intlayer.org/doc/concept/how-works-intlayer)
|
|
60
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true" alt="Routing" width="700"> | **Định Tuyến Nâng Cao**<br><br>Hỗ trợ đầy đủ định tuyến ứng dụng, thích nghi mượt mà với các cấu trúc ứng dụng phức tạp, dành cho Next.js, React, Vite, Vue.js, v.v.<br><br> - [Khám phá tích hợp Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
61
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true" alt="Markdown" width="700"> | **Hỗ Trợ Markdown**<br><br>Nhập và giải thích các tệp locale và Markdown từ xa cho nội dung đa ngôn ngữ như chính sách bảo mật, tài liệu, v.v. Giải thích và làm cho metadata của Markdown có thể truy cập trong mã của bạn.<br><br> - [Tệp nội dung](https://intlayer.org/doc/concept/content/file)
|
|
62
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true" alt="CMS" width="700"> | **Editor Trực Quan & CMS Miễn Phí**<br><br>Một trình soạn thảo trực quan và CMS miễn phí có sẵn cho người viết nội dung, loại bỏ nhu cầu sử dụng nền tảng bản địa hóa. Giữ nội dung của bạn đồng bộ bằng cách sử dụng Git, hoặc ngoại hóa hoàn toàn hoặc một phần với CMS.<br><br> - [Trình Soạn Thảo Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS Intlayer](https://intlayer.org/doc/concept/cms)
|
|
63
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true" alt="Bundle" width="700"> | **Nội dung có thể Tree-shake**<br><br>Nội dung có thể tree-shake, giảm kích thước của gói cuối cùng. Tải nội dung theo từng component, loại trừ bất kỳ nội dung không sử dụng nào khỏi gói của bạn. Hỗ trợ lazy loading để nâng cao hiệu quả tải ứng dụng. <br><br> - [Tối ưu hóa xây dựng ứng dụng](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization)
|
|
64
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true" alt="Static Rendering" width="700"> | **Static Rendering**<br><br>Không chặn Kết xuất Tĩnh. <br><br> - [Tích hợp Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
65
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true" alt="AI" width="700"> | **Dịch thuật dựa trên AI**<br><br>Biến trang web của bạn thành 231 ngôn ngữ chỉ với một cú nhấp chuột bằng cách sử dụng các công cụ dịch thuật tiên tiến dựa trên AI của Intlayer với nhà cung cấp AI / khóa API của riêng bạn. <br><br> - [Tích hợp CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [CLI của Intlayer](https://intlayer.org/doc/concept/cli) <br> - [Tự động điền](https://intlayer.org/doc/concept/auto-fill)
|
|
66
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="MCP" width="700"> | **Tích hợp Server MCP**<br><br>Cung cấp một máy chủ MCP (Model Context Protocol) cho tự động hóa IDE, cho phép quản lý nội dung và quy trình làm việc i18n liền mạch trực tiếp trong môi trường phát triển của bạn. <br><br> - [Máy Chủ MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/mcp_server.md)
|
|
67
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="VSCode" width="700"> | **Tiện ích mở rộng VSCode**<br><br>Intlayer cung cấp một tiện ích mở rộng VSCode giúp bạn quản lý nội dung và bản dịch, xây dựng từ điển của bạn, dịch nội dung, và nhiều hơn thế nữa. <br><br> - [Tiện Ích Mở Rộng VSCode](https://intlayer.org/doc/vs-code-extension)
|
|
68
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Interoperability" width="700"> | **Khả năng tương tác**<br><br>Cho phép tương thích liên vận với react-i18next, next-i18next, next-intl, react-intl, vue-i18n. <br><br> - [Intlayer và react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer và next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer và next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer và vue-i18n](https://intlayer.org/blog/intlayer-with-vue-i18n) |
|
|
69
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/benchmark.png?raw=true" alt="Interoperability" width="700"> | **Hiệu năng & Điểm chuẩn**<br><br>Sử dụng tree-shaking nâng cao và tải động để tăng hiệu năng và giữ cho giải pháp nhẹ nhất có thể. <br><br> - [Hiệu năng & Điểm chuẩn](https://intlayer.org/doc/benchmark)
|
|
49
|
+
| Tính năng | Mô tả |
|
|
50
|
+
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
51
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="Hỗ trợ" width="700"> | **Hỗ trợ đa Framework**<br><br>Intlayer tương thích với tất cả các framework và thư viện lớn, bao gồm Next.js, React, Vite, Vue.js, Nuxt, Preact, Express và nhiều hơn nữa. |
|
|
52
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true" alt="JavaScript" width="700"> | **Quản lý nội dung bằng JavaScript**<br><br>Khai thác sự linh hoạt của JavaScript để định nghĩa và quản lý nội dung của bạn một cách hiệu quả. <br><br> - [Khai báo nội dung](https://intlayer.org/doc/concept/content) |
|
|
53
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="Tệp nội dung" width="700"> | **Tệp Khai Báo Nội Dung Theo Mỗi Locale**<br><br>Tăng tốc phát triển của bạn bằng cách khai báo nội dung một lần, trước khi tự động sinh.<br><br> - [Tệp Khai Báo Nội Dung Theo Mỗi Locale](https://intlayer.org/doc/concept/per-locale-file) |
|
|
54
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Compiler" width="700"> | **Trình biên dịch**<br><br>Trình biên dịch Intlayer tự động trích xuất nội dung từ các component và tạo ra các tệp từ điển.<br><br> - [Compiler](https://intlayer.org/doc/compiler) |
|
|
55
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true" alt="TypeScript" width="700"> | **Môi Trường An Toàn Kiểu**<br><br>Tận dụng TypeScript để đảm bảo định nghĩa nội dung và mã của bạn không có lỗi, đồng thời hưởng lợi từ tính năng tự động hoàn thành trong IDE.<br><br> - [Cấu hình TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
56
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true" alt="Cấu hình" width="700"> | **Cài Đặt Đơn Giản Hóa**<br><br>Bắt đầu nhanh chóng với cấu hình tối thiểu. Dễ dàng điều chỉnh các thiết lập cho quốc tế hóa, định tuyến, AI, build và xử lý nội dung.<br><br> - [Khám phá tích hợp Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
57
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true" alt="Truy xuất" width="700"> | **Truy Xuất Nội Dung Đơn Giản Hóa**<br><br>Không cần gọi hàm `t` cho từng phần nội dung. Truy xuất toàn bộ nội dung của bạn trực tiếp bằng một hook duy nhất.<br><br> - [Tích hợp React](https://intlayer.org/doc/environment/create-react-app) |
|
|
58
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true" alt="Server Component" width="700"> | **Triển Khai Thành Phần Server Nhất Quán**<br><br>Phù hợp hoàn hảo cho các thành phần server của Next.js, sử dụng cùng một triển khai cho cả thành phần client và server, không cần truyền hàm `t` của bạn qua từng thành phần server.<br><br> - [Thành phần Server](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
59
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true" alt="Cấu trúc" width="700"> | **Codebase Có Tổ Chức**<br><br>Giữ cho codebase của bạn có tổ chức hơn: 1 component = 1 từ điển trong cùng một thư mục. Các bản dịch gần với các component tương ứng, nâng cao khả năng bảo trì và sự rõ ràng.<br><br> - [Cách Intlayer hoạt động](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
60
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true" alt="Routing" width="700"> | **Định Tuyến Nâng Cao**<br><br>Hỗ trợ đầy đủ định tuyến ứng dụng, thích nghi mượt mà với các cấu trúc ứng dụng phức tạp, dành cho Next.js, React, Vite, Vue.js, v.v.<br><br> - [Khám phá tích hợp Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
61
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true" alt="Markdown" width="700"> | **Hỗ Trợ Markdown**<br><br>Nhập và giải thích các tệp locale và Markdown từ xa cho nội dung đa ngôn ngữ như chính sách bảo mật, tài liệu, v.v. Giải thích và làm cho metadata của Markdown có thể truy cập trong mã của bạn.<br><br> - [Tệp nội dung](https://intlayer.org/doc/concept/content/file) |
|
|
62
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true" alt="CMS" width="700"> | **Editor Trực Quan & CMS Miễn Phí**<br><br>Một trình soạn thảo trực quan và CMS miễn phí có sẵn cho người viết nội dung, loại bỏ nhu cầu sử dụng nền tảng bản địa hóa. Giữ nội dung của bạn đồng bộ bằng cách sử dụng Git, hoặc ngoại hóa hoàn toàn hoặc một phần với CMS.<br><br> - [Trình Soạn Thảo Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS Intlayer](https://intlayer.org/doc/concept/cms) |
|
|
63
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true" alt="Bundle" width="700"> | **Nội dung có thể Tree-shake**<br><br>Nội dung có thể tree-shake, giảm kích thước của gói cuối cùng. Tải nội dung theo từng component, loại trừ bất kỳ nội dung không sử dụng nào khỏi gói của bạn. Hỗ trợ lazy loading để nâng cao hiệu quả tải ứng dụng. <br><br> - [Tối ưu hóa xây dựng ứng dụng](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
64
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true" alt="Static Rendering" width="700"> | **Static Rendering**<br><br>Không chặn Kết xuất Tĩnh. <br><br> - [Tích hợp Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
65
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true" alt="AI" width="700"> | **Dịch thuật dựa trên AI**<br><br>Biến trang web của bạn thành 231 ngôn ngữ chỉ với một cú nhấp chuột bằng cách sử dụng các công cụ dịch thuật tiên tiến dựa trên AI của Intlayer với nhà cung cấp AI / khóa API của riêng bạn. <br><br> - [Tích hợp CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [CLI của Intlayer](https://intlayer.org/doc/concept/cli) <br> - [Tự động điền](https://intlayer.org/doc/concept/auto-fill) |
|
|
66
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="MCP" width="700"> | **Tích hợp Server MCP**<br><br>Cung cấp một máy chủ MCP (Model Context Protocol) cho tự động hóa IDE, cho phép quản lý nội dung và quy trình làm việc i18n liền mạch trực tiếp trong môi trường phát triển của bạn. <br><br> - [Máy Chủ MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/mcp_server.md) |
|
|
67
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="VSCode" width="700"> | **Tiện ích mở rộng VSCode**<br><br>Intlayer cung cấp một tiện ích mở rộng VSCode giúp bạn quản lý nội dung và bản dịch, xây dựng từ điển của bạn, dịch nội dung, và nhiều hơn thế nữa. <br><br> - [Tiện Ích Mở Rộng VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
68
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Interoperability" width="700"> | **Khả năng tương tác**<br><br>Cho phép tương thích liên vận với react-i18next, next-i18next, next-intl, react-intl, vue-i18n. <br><br> - [Intlayer và react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer và next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer và next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer và vue-i18n](https://intlayer.org/blog/intlayer-with-vue-i18n) <br> - [Compat adapter của Intlayer](https://intlayer.org/doc/compatibility) |
|
|
69
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/benchmark.png?raw=true" alt="Interoperability" width="700"> | **Hiệu năng & Điểm chuẩn**<br><br>Sử dụng tree-shaking nâng cao và tải động để tăng hiệu năng và giữ cho giải pháp nhẹ nhất có thể. <br><br> - [Hiệu năng & Điểm chuẩn](https://intlayer.org/doc/benchmark) |
|
|
70
70
|
|
|
71
71
|
---
|
|
72
72
|
|
|
@@ -173,7 +173,7 @@ Khám phá tài liệu toàn diện của chúng tôi để bắt đầu với I
|
|
|
173
173
|
<li><a href="https://intlayer.org/doc/concept/cms" rel=''>Intlayer CMS</a></li>
|
|
174
174
|
<li><a href="https://intlayer.org/doc/concept/content" rel=''>Từ điển</a>
|
|
175
175
|
<ul>
|
|
176
|
-
<li><a href="https://intlayer.org/doc/concept/
|
|
176
|
+
<li><a href="https://intlayer.org/doc/concept/per-locale-file" rel=''>Tệp khai báo nội dung theo mỗi locale</a></li>
|
|
177
177
|
<li><a href="https://intlayer.org/doc/concept/content/translation" rel=''>Dịch thuật</a></li>
|
|
178
178
|
<li><a href="https://intlayer.org/doc/concept/content/enumeration" rel=''>Liệt kê</a></li>
|
|
179
179
|
<li><a href="https://intlayer.org/doc/concept/content/condition" rel=''>Điều kiện</a></li>
|
|
@@ -194,7 +194,7 @@ Khám phá tài liệu toàn diện của chúng tôi để bắt đầu với I
|
|
|
194
194
|
<ul>
|
|
195
195
|
<li><a href="https://intlayer.org/doc/environment/nextjs/15" rel=''>Next.js 15</a></li>
|
|
196
196
|
<li><a href="https://intlayer.org/doc/environment/nextjs/14" rel=''>Next.js 14 (App Router)</a></li>
|
|
197
|
-
<li><a href="https://intlayer.org/doc/environment/nextjs/next-with-
|
|
197
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs/next-with-page-router" rel=''>Next.js Page Router</a></li>
|
|
198
198
|
<li><a href="https://intlayer.org/doc/environment/nextjs/compiler" rel=''>Next.js sử dụng trình biên dịch</a></li>
|
|
199
199
|
</ul>
|
|
200
200
|
</li>
|
|
@@ -223,7 +223,7 @@ Khám phá tài liệu toàn diện của chúng tôi để bắt đầu với I
|
|
|
223
223
|
<li><a href="https://intlayer.org/doc/environment/sveltekit" rel=''>SvelteKit</a></li>
|
|
224
224
|
<li><a href="https://intlayer.org/doc/environment/vite-and-preact" rel=''>Vite + Preact</a></li>
|
|
225
225
|
<li><a href="https://intlayer.org/doc/environment/vite-and-vue" rel=''>Vite + Vue</a></li>
|
|
226
|
-
<li><a href="https://intlayer.org/doc/environment/
|
|
226
|
+
<li><a href="https://intlayer.org/doc/environment/nuxt-and-vue" rel=''>Vite + Nuxt</a></li>
|
|
227
227
|
<li><a href="https://intlayer.org/doc/environment/vite-and-solid" rel=''>Vite + Solid</a></li>
|
|
228
228
|
<li><a href="https://intlayer.org/doc/environment/angular" rel=''>Angular</a></li>
|
|
229
229
|
<li>
|
package/docs/zh/configuration.md
CHANGED
|
@@ -403,7 +403,7 @@ const config: IntlayerConfig = {
|
|
|
403
403
|
ai: {
|
|
404
404
|
/**
|
|
405
405
|
* 使用的 AI 提供商。
|
|
406
|
-
* 选项:'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'
|
|
406
|
+
* 选项:'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio', 'moonshotai'
|
|
407
407
|
* 默认值:'openai'
|
|
408
408
|
*/
|
|
409
409
|
provider: "openai",
|
|
@@ -1034,15 +1034,15 @@ Intlayer 支持多个 AI 提供商,以提供最大的灵活性。当前支持
|
|
|
1034
1034
|
- **Together.ai**
|
|
1035
1035
|
- **LM Studio**
|
|
1036
1036
|
|
|
1037
|
-
| 字段 | 说明 | 类型
|
|
1038
|
-
| -------------------- | ------------------------------------------------------------------------------------ |
|
|
1039
|
-
| `provider` | 要为 Intlayer AI 功能使用的提供商。 | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | `undefined` | `'anthropic'` | 不同的提供商需要不同的 API 密钥,且价格不同。 |
|
|
1040
|
-
| `model` | 要为 AI 功能使用的 AI 模型。 | `string`
|
|
1041
|
-
| `temperature` | 控制 AI 响应的随机性。 | `number`
|
|
1042
|
-
| `apiKey` | 所选提供商的您的 API 密钥。 | `string`
|
|
1043
|
-
| `applicationContext` | 有关应用程序的其他上下文,以帮助 AI 生成更准确的翻译(领域、目标受众、语气、术语)。 | `string`
|
|
1044
|
-
| `baseURL` | AI API 的基础 URL。 | `string`
|
|
1045
|
-
| `dataSerialization` | AI 功能的数据序列化格式。 | `'json'` | <br/> `'toon'`
|
|
1037
|
+
| 字段 | 说明 | 类型 | 默认值 | 示例 | 备注 |
|
|
1038
|
+
| -------------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1039
|
+
| `provider` | 要为 Intlayer AI 功能使用的提供商。 | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | <br/> `'moonshotai'` | `undefined` | `'anthropic'` | 不同的提供商需要不同的 API 密钥,且价格不同。 |
|
|
1040
|
+
| `model` | 要为 AI 功能使用的 AI 模型。 | `string` | 无 | `'gpt-4o-2024-11-20'` | 具体模型取决于提供商。 |
|
|
1041
|
+
| `temperature` | 控制 AI 响应的随机性。 | `number` | 无 | `0.1` | 温度越高 = 越具创造力且越不可靠。 |
|
|
1042
|
+
| `apiKey` | 所选提供商的您的 API 密钥。 | `string` | 无 | `process.env.OPENAI_API_KEY` | 应保持私密;使用环境变量。 |
|
|
1043
|
+
| `applicationContext` | 有关应用程序的其他上下文,以帮助 AI 生成更准确的翻译(领域、目标受众、语气、术语)。 | `string` | 无 | `'我的自定义应用程序上下文'` | 可用于添加规则(例如:`"您不应转换您的 URL"` )。 |
|
|
1044
|
+
| `baseURL` | AI API 的基础 URL。 | `string` | 无 | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | 可以指向本地或自定义的 AI API 端点。 |
|
|
1045
|
+
| `dataSerialization` | AI 功能的数据序列化格式。 | `'json'` | <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: 默认,可靠;使用更多 token。<br/>• `'toon'`: token 更少,但也更不稳定。<br/>• 将上下文作为额外参数(reasoning effort 等)传递给模型。 |
|
|
1046
1046
|
|
|
1047
1047
|
---
|
|
1048
1048
|
|
|
@@ -188,7 +188,7 @@ export const ComponentExample = () => {
|
|
|
188
188
|
这种方法允许你:
|
|
189
189
|
|
|
190
190
|
1. **提高开发速度**
|
|
191
|
-
- 可以使用 VSCode 插件创建 `.content.{
|
|
191
|
+
- 可以使用 VSCode 插件创建 `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}` 文件
|
|
192
192
|
- IDE 中的 AI 自动补全工具(例如 GitHub Copilot)可以帮助你声明内容,减少复制/粘贴
|
|
193
193
|
|
|
194
194
|
2. **保持代码库的整洁**
|
|
@@ -212,27 +212,27 @@ export const ComponentExample = () => {
|
|
|
212
212
|
|
|
213
213
|
## Intlayer 附加功能
|
|
214
214
|
|
|
215
|
-
| 功能 | 描述
|
|
216
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
217
|
-
|  | **跨框架支持**<br><br>Intlayer 兼容所有主流框架和库,包括 Next.js、React、Vite、Vue.js、Nuxt、Preact、Express 等。
|
|
218
|
-
|  | **JavaScript 驱动的内容管理**<br><br>利用 JavaScript 的灵活性来高效地定义和管理你的内容。<br><br> - [内容声明](https://intlayer.org/doc/concept/content)
|
|
219
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **编译器**<br><br>Intlayer 编译器可自动从组件中提取内容并生成字典文件。<br><br> - [编译器](https://intlayer.org/doc/compiler)
|
|
220
|
-
|  | **单语言内容声明文件**<br><br>在自动生成前,通过仅声明一次你的内容来加速开发。<br><br> - [单语言内容声明文件](https://intlayer.org/doc/concept/per-locale-file)
|
|
221
|
-
|  | **类型安全环境**<br><br>利用 TypeScript 确保你的内容定义和代码没有错误,同时还能享受 IDE 的自动补全功能。<br><br> - [TypeScript 配置](https://intlayer.org/doc/environment/vite-and-react#configure-typescript)
|
|
222
|
-
|  | **简易配置**<br><br>仅需极简的配置即可快速启动并运行。轻松调整国际化、路由、AI、构建以及内容处理的设置。<br><br> - [探索 Next.js 集成](https://intlayer.org/doc/environment/nextjs)
|
|
223
|
-
|  | **简化内容检索**<br><br>无需为每一小段内容调用 `t` 函数。使用单一的 hook 即可直接检索你的所有内容。<br><br> - [React 集成](https://intlayer.org/doc/environment/create-react-app)
|
|
224
|
-
|  | **一致的服务器组件实现**<br><br>完美适合 Next.js 服务器组件,客户端和服务器组件使用相同的实现,无需跨每个服务器组件传递你的 `t` 函数。<br><br> - [服务器组件](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)
|
|
225
|
-
|  | **有条理的代码库**<br><br>保持代码库更有条理:1 组件 = 在同一文件夹下的 1 个字典。靠近其各自组件的翻译有助于提高可维护性和清晰度。<br><br> - [Intlayer 运行机制](https://intlayer.org/doc/concept/how-works-intlayer)
|
|
226
|
-
|  | **增强的路由功能**<br><br>完全支持应用路由,无缝适应复杂的应用结构,适用于 Next.js、React、Vite、Vue.js 等。<br><br> - [探索 Next.js 集成](https://intlayer.org/doc/environment/nextjs)
|
|
227
|
-
|  | **Markdown 支持**<br><br>导入并解译本地文件以及远程 Markdown,以获得隐私政策、文档等多语言内容。解译并在你的代码中使 Markdown 元数据可被访问。<br><br> - [内容文件](https://intlayer.org/doc/concept/content/file)
|
|
228
|
-
|  | **免费的可视化编辑器与 CMS**<br><br>可视化编辑器和 CMS 免费向内容创作者开放,消除了对第三方本地化平台的依赖。使用 Git 保持内容同步,或使用 CMS 彻底或部分外置管理它。<br><br> - [Intlayer 编辑器](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms)
|
|
229
|
-
|  | **构建时摇树优化 (Tree-shakable) 内容**<br><br>构建时摇树优化内容,减小最终包的体积。按组件加载内容,并从打包体积中排除任何未使用的内容。支持懒加载以提高应用加载效率。<br><br> - [应用构建优化](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization)
|
|
230
|
-
|  | **静态渲染**<br><br>不阻碍静态渲染(Static Rendering)。<br><br> - [Next.js 集成](https://intlayer.org/doc/environment/nextjs)
|
|
231
|
-
|  | **AI 驱动翻译**<br><br>使用您自己的 AI 提供商/API 密钥,点击一下即可将您的网站翻译成 231 种语言,得益于 Intlayer 先进的 AI 翻译工具。<br><br> - [CI/CD 集成](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [自动填充](https://intlayer.org/doc/concept/auto-fill)
|
|
232
|
-
|  | **MCP 服务器集成**<br><br>提供用于 IDE 自动化的 MCP(Model Context Protocol)服务器,能够直接在你的开发环境中实现无缝的内容管理和 i18n 工作流。<br><br> - [MCP 服务器](https://github.com/aymericzip/intlayer/blob/main/docs/zh/mcp_server.md)
|
|
233
|
-
|  | **VSCode 插件**<br><br>Intlayer 提供 VSCode 插件协助管理你的内容和翻译,构建你的字典,翻译你的内容等。<br><br> - [VSCode 插件](https://intlayer.org/doc/vs-code-extension)
|
|
234
|
-
|  | **互操作性**<br><br>允许与 react-i18next、next-i18next、next-intl 和 react-intl 互操作。<br><br> - [Intlayer 与 react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer 与 next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer 与 next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
|
|
235
|
-
| 测试缺失翻译 (CLI/CI) | ✅ CLI: npx intlayer content test (对 CI 友好的审计)
|
|
215
|
+
| 功能 | 描述 |
|
|
216
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
217
|
+
|  | **跨框架支持**<br><br>Intlayer 兼容所有主流框架和库,包括 Next.js、React、Vite、Vue.js、Nuxt、Preact、Express 等。 |
|
|
218
|
+
|  | **JavaScript 驱动的内容管理**<br><br>利用 JavaScript 的灵活性来高效地定义和管理你的内容。<br><br> - [内容声明](https://intlayer.org/doc/concept/content) |
|
|
219
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **编译器**<br><br>Intlayer 编译器可自动从组件中提取内容并生成字典文件。<br><br> - [编译器](https://intlayer.org/doc/compiler) |
|
|
220
|
+
|  | **单语言内容声明文件**<br><br>在自动生成前,通过仅声明一次你的内容来加速开发。<br><br> - [单语言内容声明文件](https://intlayer.org/doc/concept/per-locale-file) |
|
|
221
|
+
|  | **类型安全环境**<br><br>利用 TypeScript 确保你的内容定义和代码没有错误,同时还能享受 IDE 的自动补全功能。<br><br> - [TypeScript 配置](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
222
|
+
|  | **简易配置**<br><br>仅需极简的配置即可快速启动并运行。轻松调整国际化、路由、AI、构建以及内容处理的设置。<br><br> - [探索 Next.js 集成](https://intlayer.org/doc/environment/nextjs) |
|
|
223
|
+
|  | **简化内容检索**<br><br>无需为每一小段内容调用 `t` 函数。使用单一的 hook 即可直接检索你的所有内容。<br><br> - [React 集成](https://intlayer.org/doc/environment/create-react-app) |
|
|
224
|
+
|  | **一致的服务器组件实现**<br><br>完美适合 Next.js 服务器组件,客户端和服务器组件使用相同的实现,无需跨每个服务器组件传递你的 `t` 函数。<br><br> - [服务器组件](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
225
|
+
|  | **有条理的代码库**<br><br>保持代码库更有条理:1 组件 = 在同一文件夹下的 1 个字典。靠近其各自组件的翻译有助于提高可维护性和清晰度。<br><br> - [Intlayer 运行机制](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
226
|
+
|  | **增强的路由功能**<br><br>完全支持应用路由,无缝适应复杂的应用结构,适用于 Next.js、React、Vite、Vue.js 等。<br><br> - [探索 Next.js 集成](https://intlayer.org/doc/environment/nextjs) |
|
|
227
|
+
|  | **Markdown 支持**<br><br>导入并解译本地文件以及远程 Markdown,以获得隐私政策、文档等多语言内容。解译并在你的代码中使 Markdown 元数据可被访问。<br><br> - [内容文件](https://intlayer.org/doc/concept/content/file) |
|
|
228
|
+
|  | **免费的可视化编辑器与 CMS**<br><br>可视化编辑器和 CMS 免费向内容创作者开放,消除了对第三方本地化平台的依赖。使用 Git 保持内容同步,或使用 CMS 彻底或部分外置管理它。<br><br> - [Intlayer 编辑器](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
229
|
+
|  | **构建时摇树优化 (Tree-shakable) 内容**<br><br>构建时摇树优化内容,减小最终包的体积。按组件加载内容,并从打包体积中排除任何未使用的内容。支持懒加载以提高应用加载效率。<br><br> - [应用构建优化](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
230
|
+
|  | **静态渲染**<br><br>不阻碍静态渲染(Static Rendering)。<br><br> - [Next.js 集成](https://intlayer.org/doc/environment/nextjs) |
|
|
231
|
+
|  | **AI 驱动翻译**<br><br>使用您自己的 AI 提供商/API 密钥,点击一下即可将您的网站翻译成 231 种语言,得益于 Intlayer 先进的 AI 翻译工具。<br><br> - [CI/CD 集成](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [自动填充](https://intlayer.org/doc/concept/auto-fill) |
|
|
232
|
+
|  | **MCP 服务器集成**<br><br>提供用于 IDE 自动化的 MCP(Model Context Protocol)服务器,能够直接在你的开发环境中实现无缝的内容管理和 i18n 工作流。<br><br> - [MCP 服务器](https://github.com/aymericzip/intlayer/blob/main/docs/zh/mcp_server.md) |
|
|
233
|
+
|  | **VSCode 插件**<br><br>Intlayer 提供 VSCode 插件协助管理你的内容和翻译,构建你的字典,翻译你的内容等。<br><br> - [VSCode 插件](https://intlayer.org/doc/vs-code-extension) |
|
|
234
|
+
|  | **互操作性**<br><br>允许与 react-i18next、next-i18next、next-intl 和 react-intl 互操作。<br><br> - [Intlayer 与 react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer 与 next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer 与 next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer 兼容适配器](https://intlayer.org/doc/compatibility) |
|
|
235
|
+
| 测试缺失翻译 (CLI/CI) | ✅ CLI: npx intlayer content test (对 CI 友好的审计) |
|
|
236
236
|
|
|
237
237
|
## Intlayer 与其他解决方案的比较
|
|
238
238
|
|
|
@@ -271,3 +271,5 @@ GitHub Star 数是衡量项目受欢迎程度、社区信任度以及长期相
|
|
|
271
271
|
`intlayer` 还可以帮助管理你的 `react-intl`、`react-i18next`、`next-intl`、`next-i18next` 以及 `vue-i18n` 命名空间。
|
|
272
272
|
|
|
273
273
|
使用 `intlayer`,你可以声明你喜欢的 i18n 库格式的内容,并且 intlayer 将在你想指定的路径下生成命名空间(例如:`/messages/{{locale}}/{{namespace}}.json`)。
|
|
274
|
+
|
|
275
|
+
如果你想继续使用当前 i18n 库的 API,`intlayer` 还提供了 **兼容适配器(compat adapters)**:这些包暴露与 `react-i18next`、`next-intl`、`react-intl`、`vue-i18n` 等完全相同的 API,但内容由 Intlayer 词典提供。这样你就可以逐步迁移,而无需重写代码。参见[兼容适配器文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md)。
|
|
@@ -392,7 +392,7 @@ export const getLocale = (event: RequestEvent): Locale => {
|
|
|
392
392
|
};
|
|
393
393
|
```
|
|
394
394
|
|
|
395
|
-
> `getLocaleFromStorage` 将根据你的配置从 header 或 cookie 检查语言环境。有关更多详情,请参阅[配置](https://intlayer.org/doc/configuration)。
|
|
395
|
+
> `getLocaleFromStorage` 将根据你的配置从 header 或 cookie 检查语言环境。有关更多详情,请参阅[配置](https://intlayer.org/doc/concept/configuration)。
|
|
396
396
|
|
|
397
397
|
> `localeDetector` 函数将处理 `Accept-Language` header 并返回最佳匹配。
|
|
398
398
|
|
|
@@ -237,19 +237,21 @@ import {
|
|
|
237
237
|
HeadContent,
|
|
238
238
|
Scripts,
|
|
239
239
|
createRootRouteWithContext,
|
|
240
|
+
getRouteApi,
|
|
240
241
|
} from "@tanstack/solid-router";
|
|
241
242
|
import { HydrationScript } from "solid-js/web";
|
|
242
243
|
import { Suspense, type ParentComponent } from "solid-js";
|
|
243
244
|
import { IntlayerProvider } from "solid-intlayer";
|
|
244
245
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
245
|
-
|
|
246
|
+
|
|
247
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
246
248
|
|
|
247
249
|
export const Route = createRootRouteWithContext()({
|
|
248
250
|
shellComponent: RootComponent,
|
|
249
251
|
});
|
|
250
252
|
|
|
251
253
|
const RootComponent: ParentComponent = (props) => {
|
|
252
|
-
const params =
|
|
254
|
+
const params = localeRoute.useParams();
|
|
253
255
|
const locale = params()?.locale ?? defaultLocale;
|
|
254
256
|
|
|
255
257
|
return (
|
|
@@ -538,7 +540,7 @@ export default LocaleSwitcher;
|
|
|
538
540
|
|
|
539
541
|
```tsx fileName="src/routes/__root.tsx"
|
|
540
542
|
const RootComponent: ParentComponent = (props) => {
|
|
541
|
-
const params =
|
|
543
|
+
const params = localeRoute.useParams();
|
|
542
544
|
const locale = params()?.locale ?? defaultLocale;
|
|
543
545
|
|
|
544
546
|
return (
|
|
@@ -254,13 +254,15 @@ export default config;
|
|
|
254
254
|
```tsx fileName="src/routes/__root.tsx"
|
|
255
255
|
import {
|
|
256
256
|
createRootRouteWithContext,
|
|
257
|
+
getRouteApi,
|
|
257
258
|
HeadContent,
|
|
258
259
|
Scripts,
|
|
259
260
|
} from "@tanstack/react-router";
|
|
260
261
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
261
262
|
import { type ReactNode } from "react";
|
|
262
263
|
import { IntlayerProvider } from "react-intlayer";
|
|
263
|
-
|
|
264
|
+
|
|
265
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
264
266
|
|
|
265
267
|
export const Route = createRootRouteWithContext<{}>()({
|
|
266
268
|
head: () => ({
|
|
@@ -282,7 +284,7 @@ export const Route = createRootRouteWithContext<{}>()({
|
|
|
282
284
|
});
|
|
283
285
|
|
|
284
286
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
285
|
-
const params =
|
|
287
|
+
const params = localeRoute.useParams();
|
|
286
288
|
const locale = params?.locale ?? defaultLocale;
|
|
287
289
|
|
|
288
290
|
return (
|
|
@@ -619,7 +621,7 @@ export const LocaleSwitcher: FC = () => {
|
|
|
619
621
|
|
|
620
622
|
```tsx fileName="src/routes/__root.tsx"
|
|
621
623
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
622
|
-
const params =
|
|
624
|
+
const params = localeRoute.useParams();
|
|
623
625
|
const locale = params?.locale ?? defaultLocale;
|
|
624
626
|
|
|
625
627
|
return (
|