Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Tài liệu này đã lỗi thời, phiên bản gốc đã được cập nhật vào 29 tháng 8, 2026.
Xem tài liệu tiếng AnhLịch sử phiên bản
- "Chuyển phần 'Đồng bộ trực tiếp' sang trang riêng (live-sync.md), chỉ giữ lại phần giới thiệu ngắn gọn và liên kết ở đây"v9.0.08/7/2026
- "Thêm tài liệu đồng bộ trực tiếp"v6.0.122/9/2025
- "Thay thế trường `hotReload` bằng `liveSync`"v6.0.04/9/2025
- "Khởi tạo lịch sử"v5.5.1029/6/2025
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhNếu bạn có ý tưởng để cải thiện tài liệu này, vui lòng đóng góp bằng cách gửi pull request trên GitHub.
Liên kết GitHub tới tài liệuSao chép Markdown của tài liệu vào bộ nhớ tạm
Tài liệu Hệ thống Quản lý Nội dung (CMS) Intlayer
Intlayer CMS là một ứng dụng cho phép bạn đưa nội dung của dự án Intlayer ra ngoài.
Để làm được điều đó, Intlayer giới thiệu khái niệm 'từ điển từ xa'.

Mục lục
Hiểu về từ điển từ xa
Intlayer phân biệt giữa 'từ điển cục bộ' và 'từ điển từ xa'.
'Từ điển cục bộ' là từ điển được khai báo trong dự án Intlayer của bạn. Ví dụ như file khai báo của một nút bấm, hoặc thanh điều hướng của bạn. Việc đưa nội dung ra ngoài không có ý nghĩa trong trường hợp này vì nội dung này không được dự kiến thay đổi thường xuyên.
'Từ điển từ xa' là từ điển được quản lý thông qua Intlayer CMS. Điều này có thể hữu ích để cho phép nhóm của bạn quản lý nội dung trực tiếp trên trang web của bạn, đồng thời nhằm sử dụng các tính năng thử nghiệm A/B và tối ưu hóa SEO tự động.
Trình chỉnh sửa trực quan và CMS
Trình chỉnh sửa Intlayer Visual là một công cụ cho phép bạn quản lý nội dung trong trình chỉnh sửa trực quan dành cho các từ điển cục bộ. Khi có sự thay đổi, nội dung sẽ được thay thế trong code-base. Điều này có nghĩa là ứng dụng sẽ được xây dựng lại và trang sẽ được tải lại để hiển thị nội dung mới.
Ngược lại, Intlayer CMS là một công cụ cho phép bạn quản lý nội dung trong trình chỉnh sửa trực quan dành cho các từ điển từ xa. Khi có sự thay đổi, nội dung sẽ không ảnh hưởng đến code-base của bạn. Và trang web sẽ tự động hiển thị nội dung đã thay đổi.
Tích hợp
Để biết thêm chi tiết về cách cài đặt gói, xem phần liên quan bên dưới:
Tích hợp với Next.js
Để tích hợp với Next.js, tham khảo hướng dẫn cài đặt.
Tích hợp với Create React App
Để tích hợp với Create React App, tham khảo hướng dẫn cài đặt.
Tích hợp với Vite + React
Để tích hợp với Vite + React, tham khảo hướng dẫn cài đặt.
Cấu hình
Chạy lệnh sau để đăng nhập vào Intlayer CMS:
Sao chép mã vào clipboard
Điều này sẽ mở trình duyệt mặc định của bạn để hoàn tất quá trình xác thực và nhận thông tin đăng nhập cần thiết (Client ID và Client Secret) để sử dụng các dịch vụ Intlayer.
Trong file cấu hình Intlayer của bạn, bạn có thể tùy chỉnh các thiết lập CMS:
Sao chép mã vào clipboard
import type { IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
// ... các thiết lập cấu hình khác
editor: {
/**
* Bắt buộc
*
* URL của ứng dụng.
* Đây là URL mà trình chỉnh sửa trực quan sẽ hướng tới.
*/
applicationURL: process.env.INTLAYER_APPLICATION_URL,
/**
* Bắt buộc
*
* Client ID và client secret là bắt buộc để kích hoạt trình chỉnh sửa.
* Chúng cho phép xác định người dùng đang chỉnh sửa nội dung.
* Có thể lấy được bằng cách tạo một client mới trong Bảng điều khiển Intlayer - Projects (https://app.intlayer.org/projects).
* clientId: process.env.INTLAYER_CLIENT_ID,
* clientSecret: process.env.INTLAYER_CLIENT_SECRET,
*/
clientId: process.env.INTLAYER_CLIENT_ID,
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
/**
* Tùy chọn
*
* Trong trường hợp bạn tự lưu trữ Intlayer CMS, bạn có thể thiết lập URL của CMS.
*
* URL của Intlayer CMS.
* Mặc định, nó được đặt là https://intlayer.org
*/
cmsURL: process.env.INTLAYER_CMS_URL,
/**
* Tùy chọn
*
* Trong trường hợp bạn tự lưu trữ Intlayer CMS, bạn có thể thiết lập URL của backend.
*
* URL của Intlayer CMS.
* Mặc định, nó được đặt là https://back.intlayer.org
*/
backendURL: process.env.INTLAYER_BACKEND_URL,
},
};
export default config;
Nếu bạn chưa có client ID và client secret, bạn có thể lấy chúng bằng cách tạo một client mới trong Intlayer Dashboard - Projects.
Để xem tất cả các tham số có sẵn, hãy tham khảo tài liệu cấu hình.
Sử dụng CMS
Đẩy cấu hình của bạn
Để cấu hình Intlayer CMS, bạn có thể sử dụng các lệnh của intlayer CLI.
Sao chép mã vào clipboard
Nếu bạn sử dụng biến môi trường trong tệp cấu hìnhintlayer.config.ts, bạn có thể chỉ định môi trường mong muốn bằng cách sử dụng đối số--env:
Sao chép mã vào clipboard
Lệnh này sẽ tải cấu hình của bạn lên Intlayer CMS.
Đẩy một từ điển
Để chuyển đổi các từ điển locale của bạn thành một từ điển từ xa, bạn có thể sử dụng các lệnh của intlayer CLI.
Sao chép mã vào clipboard
Nếu bạn sử dụng biến môi trường trong tệp cấu hìnhintlayer.config.ts, bạn có thể chỉ định môi trường mong muốn bằng cách sử dụng đối số--env:
Sao chép mã vào clipboard
Lệnh này sẽ tải các từ điển nội dung ban đầu của bạn lên, giúp chúng có thể được lấy và chỉnh sửa bất đồng bộ thông qua nền tảng Intlayer.
Chỉnh sửa từ điển
Sau đó, bạn sẽ có thể xem và quản lý từ điển của mình trong Intlayer CMS.
Truy cập lập trình với SDK @intlayer/api
Ngoài CLI và trình chỉnh sửa trực quan, Intlayer cung cấp một SDK được gõ kiểu trong gói @intlayer/api. Nó cho phép bạn coi CMS như một cơ sở dữ liệu nội dung headless: bạn có thể lấy dự án, lấy từ điển và đẩy hoặc cập nhật chúng trực tiếp từ ứng dụng, tập lệnh hoặc CI pipeline của riêng bạn.
SDK xử lý xác thực cho bạn. Miễn là clientId và clientSecret của bạn có sẵn (trong cấu hình Intlayer hoặc môi trường của bạn), nó sẽ lấy và làm mới token truy cập OAuth2 tự động và ký mọi yêu cầu.
Cài đặt
Sao chép mã vào clipboard
Cách hoạt động: authenticator + endpoints
SDK được chia thành hai import riêng biệt có mục đích, để giữ bundle của bạn nhỏ gọn:
createIntlayerCMS— tạo một authenticator nhẹ. Nó chỉ chứa thông tin xác thực và mã token được quản lý; nó không biết gì về bất kỳ domain cụ thể nào.dictionaryEndpoint,projectEndpoint, … — endpoint binders theo từng domain, mỗi cái được import từ đường dẫn con của nó (@intlayer/api/dictionary,@intlayer/api/project, …). Bạn truyền authenticator vào endpoint mà bạn cần.
Vì mỗi endpoint được import riêng biệt, bundle của bạn chỉ bao gồm những domain mà bạn thực sự sử dụng — import dictionaryEndpoint không bao giờ kéo theo project, AI, hoặc bất kỳ domain client nào khác.
Sao chép mã vào clipboard
WARNING Thông tin xác thực CMS (clientId/clientSecret) cấp quyền write access vào nội dung của bạn. Chỉ tạo authenticator trên phía server (server actions, route handlers, scripts, CI). Không bao giờ import nó vào code phía client hoặc để lộ thông tin xác thực của bạn cho trình duyệt.
Nếu bạn không muốn dựa vào cấu hình build-time, hãy truyền thông tin xác thực một cách rõ ràng:
Sao chép mã vào clipboard
Lấy thông tin xác thực của bạn bằng cách tạo khóa truy cập mới trong Intlayer Dashboard - Projects.
Lấy các dự án
Sao chép mã vào clipboard
Tìm nạp từ điển
Sao chép mã vào clipboard
Đẩy và cập nhật từ điển
Sử dụng CMS như một cơ sở dữ liệu để ghi nội dung trở lại:
Sao chép mã vào clipboard
Mẹo: tái sử dụng endpoint đã liên kết để tránh lặp lại:
typescriptSao chép mãSao chép mã vào clipboard
Trích xuất một phương thức duy nhất
Mỗi phương thức endpoint đã được xác thực và độc lập (nó mang theo xử lý token riêng của mình), vì vậy bạn có thể trích xuất một phương thức và truyền nó xung quanh — ví dụ để inject nó như một dependency:
Sao chép mã vào clipboard
Đồng bộ trực tiếp (Live sync)
Live Sync cho phép ứng dụng của bạn phản ánh các thay đổi nội dung CMS trong thời gian chạy. Không cần xây dựng lại hoặc triển khai lại. Khi được bật, các cập nhật sẽ được truyền đến máy chủ Live Sync để làm mới các từ điển mà ứng dụng của bạn đang đọc.
Để xem hướng dẫn thiết lập đầy đủ (kích hoạt, khởi động máy chủ Live Sync, quy trình phát triển cục bộ và các giới hạn), xem tài liệu Live Sync.
Tự Hosting
Intlayer có thể chạy hoàn toàn trên cơ sở hạ tầng của riêng bạn. Một lệnh duy nhất khởi động toàn bộ stack (dashboard, API, database, object storage, và email) với Docker Compose:
Sao chép mã vào clipboard
Để biết hướng dẫn thiết lập hoàn chỉnh, tham khảo biến môi trường, hướng dẫn nâng cấp và các thủ tục sao lưu/khôi phục, hãy xem Hướng dẫn Tự Hosting.
Gỡ lỗi
Nếu bạn gặp bất kỳ vấn đề nào với CMS, hãy kiểm tra các điều sau:
Ứng dụng đang chạy.
Cấu hình
editorđược thiết lập chính xác trong file cấu hình Intlayer của bạn.- Các trường bắt buộc:
- URL ứng dụng phải khớp với URL bạn đã thiết lập trong cấu hình editor (
applicationURL). - URL CMS
- URL ứng dụng phải khớp với URL bạn đã thiết lập trong cấu hình editor (
- Các trường bắt buộc:
Đảm bảo rằng cấu hình dự án đã được đẩy lên Intlayer CMS.
Trình chỉnh sửa trực quan sử dụng iframe để hiển thị trang web của bạn. Đảm bảo rằng Chính sách Bảo mật Nội dung (CSP) của trang web cho phép URL CMS làm
frame-ancestors(mặc định là 'https://intlayer.org'). Kiểm tra bảng điều khiển của editor để phát hiện lỗi.
Các Câu Hỏi Thường Gặp
Visual editor chỉnh sửa các tệp từ điển cục bộ trong codebase của bạn. CMS quản lý nội dung từ xa trên server, cho phép cập nhật văn bản mà không cần triển khai lại mã ứng dụng.
Ít hơn nhiều so with các cấu hình dựa trên namespace, vì trang không bao giờ tải catalog mà nó không hiển thị. Mã hiển thị trên server phân giải nội dung ngay trên server, và compiler tại thời điểm build thay thế các lệnh gọi useIntlayer bằng chính xác các mục từ điển mà component sử dụng, do đó các khóa và ngôn ngữ không sử dụng sẽ bị loại bỏ. Từ điển động chia phần còn lại theo từng locale. So với các giải pháp thông thường, Intlayer giảm kích thước bundle và trang tới 50%. Xem tối ưu hóa bundle và benchmark.
Có, theo hai cách. Bạn có thể di chuyển nội dung dần dần bằng hướng dẫn di chuyển từ i18next hoặc hướng dẫn di chuyển từ next-intl. Hoặc bạn có thể giữ nguyên API hiện tại: adapter tương thích cung cấp chính xác các API tương tự như i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n và Lingui, nhưng chạy trên các từ điển Intlayer, nhờ đó chỉ có các lệnh import thay đổi còn mã component vẫn giữ nguyên.
Có. Plugin sync JSON giữ cho các tệp /messages/{locale}/{namespace}.json của bạn là nguồn sự thật duy nhất và tạo các từ điển Intlayer từ chúng theo cả hai hướng. Plugin sync PO làm điều tương tự cho các catalog gettext, và các tệp theo locale cho phép bạn chia nội dung theo ngôn ngữ thay vì nhóm các locale trong một tệp.
Không. Chạy npx intlayer extract và Intlayer sẽ đọc các tệp nguồn của bạn, trích xuất các chuỗi dành cho người dùng và tạo tệp .content bên cạnh mỗi tệp, nhờ đó bạn xem lại diff thay vì sao chép chuỗi vào catalog thủ công. Xem lệnh extract.
Đối với quy trình làm việc hoàn toàn tự động, Intlayer Compiler thực hiện việc tương tự trong quá trình build trên mã JSX, TSX, Vue và Svelte, tạo từ điển trên mỗi thay đổi mà không cần quản lý khóa thủ công.
Năm công cụ, tất cả đều là tùy chọn:
- VS Code extension: nhảy từ khóa
useIntlayerđến tệp nội dung khai báo nó, trích xuất nội dung từ component, và chạy build, fill, test, push và pull từ command palette hoặc tab Intlayer. - LSP server: trải nghiệm tương tự trong bất kỳ trình soạn thảo nào hỗ trợ LSP, với go to definition, xem trước giá trị bản dịch khi hover, tự động hoàn thành khóa, và cảnh báo khi khóa chưa được khai báo ở bất kỳ đâu. Hỗ trợ cả các lệnh gọi
i18next,react-i18next,next-intlvàuse-intl. - MCP server: cung cấp tài liệu và CLI Intlayer cho Cursor, VS Code, Claude Desktop, Claude Code và ChatGPT.
- Agent skills: các kỹ năng chuyên biệt như
intlayer-config,intlayer-clivàintlayer-content. - ESLint plugin: quy tắc
no-raw-textphát hiện các chuỗi chưa được bản địa hóa.
