Đặ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
Lịch sử phiên bản
- Thêm plugin loadJSONv7.0.61/11/2025
- Chuyển sang plugin syncJSONv7.0.029/10/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
Cách tự động hóa bản dịch JSON next-intl của bạn bằng Intlayer
Intlayer là gì?
Intlayer là một thư viện quốc tế hóa mã nguồn mở sáng tạo, được thiết kế để khắc phục những hạn chế của các giải pháp i18n truyền thống. Nó cung cấp một phương pháp hiện đại để quản lý nội dung trong các ứng dụng Next.js.
Xem một so sánh cụ thể với next-intl trong bài viết blog của chúng tôi next-i18next vs. next-intl vs. Intlayer.
Tại sao kết hợp Intlayer với next-intl?
Trong khi Intlayer cung cấp một giải pháp i18n độc lập xuất sắc (xem hướng dẫn tích hợp Next.js của chúng tôi Next.js integration guide), bạn có thể muốn kết hợp nó với next-intl vì một số lý do sau:
- Mã nguồn hiện có: Bạn đã có một triển khai next-intl ổn định và muốn dần dần chuyển sang trải nghiệm phát triển được cải thiện của Intlayer.
- Yêu cầu kế thừa: Dự án của bạn cần tương thích với các plugin hoặc quy trình làm việc next-intl hiện có.
- Sự quen thuộc của nhóm: Nhóm của bạn đã quen với next-intl nhưng muốn quản lý nội dung tốt hơn.
- Sử dụng các tính năng của Intlayer: Bạn muốn sử dụng các tính năng của Intlayer như khai báo nội dung, tự động hóa dịch thuật, kiểm thử bản dịch, và nhiều hơn nữa.
Vì vậy, Intlayer có thể được triển khai như một bộ chuyển đổi (adapter) cho next-intl để giúp tự động hóa các bản dịch JSON của bạn trong CLI hoặc các pipeline CI/CD, kiểm thử bản dịch, và nhiều hơn nữa.
Hướng dẫn này sẽ chỉ cho bạn cách tận dụng hệ thống khai báo nội dung vượt trội của Intlayer trong khi vẫn giữ được khả năng tương thích với next-intl.
Mục lục
Hướng dẫn từng bước để thiết lập Intlayer với next-intl
Cài đặt các phụ thuộc
Cài đặt các gói cần thiết:
bashSao chép mãSao chép mã vào clipboard
Mô tả các gói:
- intlayer: Thư viện lõi để quản lý quốc tế hóa, khai báo nội dung và xây dựng
- @intlayer/sync-json-plugin: Plugin để xuất các khai báo nội dung của Intlayer sang định dạng JSON tương thích với next-intl
Triển khai plugin Intlayer để bao bọc JSON
Tạo một tệp cấu hình Intlayer để định nghĩa các ngôn ngữ bạn hỗ trợ:
Nếu bạn cũng muốn xuất các từ điển JSON cho next-intl, hãy thêm plugin
syncJSON:intlayer.config.tsSao chép mãSao chép mã vào clipboard
Plugin
syncJSONsẽ tự động bao bọc JSON. Nó sẽ đọc và ghi các tệp JSON mà không thay đổi cấu trúc nội dung.Nếu bạn muốn cho phép JSON tồn tại cùng với các tệp khai báo nội dung intlayer (
.contentfiles), Intlayer sẽ tiến hành theo cách sau:plaintextSao chép mãSao chép mã vào clipboard
Nếu có thay đổi được thực hiện bằng cách sử dụng CLI để dịch JSON, hoặc sử dụng CMS, Intlayer sẽ cập nhật tệp JSON với các bản dịch mới.
Để xem thêm chi tiết về plugin
syncJSON, vui lòng tham khảo tài liệu plugin syncJSON.Triển khai dịch JSON theo từng thành phần
Tùy chọnTheo mặc định, Intlayer sẽ tải, hợp nhất và đồng bộ cả tệp JSON và tệp khai báo nội dung. Xem tài liệu khai báo nội dung để biết thêm chi tiết. Nhưng nếu bạn muốn, sử dụng một plugin của Intlayer, bạn cũng có thể triển khai quản lý JSON theo từng thành phần được bản địa hóa ở bất kỳ đâu trong mã nguồn của bạn.
Để làm điều đó, bạn có thể sử dụng plugin
loadJSON.intlayer.config.tsSao chép mãSao chép mã vào clipboard
Điều này sẽ tải tất cả các tệp JSON trong thư mục
srckhớp với mẫu{key}.i18n.jsonvà tải chúng như các từ điển Intlayer.
Cấu hình Git
Khuyến nghị bỏ qua các tệp Intlayer được tạo tự động:
Sao chép mã vào clipboard
Các tệp này có thể được tạo lại trong quá trình xây dựng và không cần phải cam kết vào hệ thống quản lý phiên bản.
Tiện ích mở rộng VS Code
Để cải thiện trải nghiệm phát triển, hãy cài đặt Tiện ích mở rộng Intlayer cho VS Code chính thức:
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ suy nghĩ của bạn.