Đặ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
- "Update Solid useIntlayer API usage to direct property access"v8.9.04/5/2026
- "Update compiler options, add FilePathPattern support"v8.2.09/3/2026
- "Initial release"v8.1.623/2/2026
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 làm đa ngôn ngữ (i18n) cho ứng dụng Vite và React hiện có sau này (Hướng dẫn i18n 2026)
Thêm quốc tế hóa (i18n) vào dự án Vite và React ngay từ đầu khá đơn giản. Nhưng điều gì sẽ xảy ra khi bạn đã có một ứng dụng hoàn thiện đang hoạt động chỉ với một ngôn ngữ và cần hỗ trợ đa ngôn ngữ sau đó?
Với các thư viện truyền thống như react-i18next hoặc react-intl, quá trình này thường rất mệt mỏi:
- Tìm kiếm thủ công các chuỗi văn bản cố định trong hàng trăm tệp JSX và TSX.
- Tạo thủ công các tệp JSON lồng nhau và tự đặt tên khóa dịch tùy ý (
components.header.title, v.v.). - Thay thế văn bản giao diện bằng các lệnh gọi hook rườm rà (
t('...')). - Tái cấu trúc định tuyến phía client, quản lý trạng thái và logic chuyển đổi ngôn ngữ.
Vào năm 2026, bạn không cần phải viết lại mã nguồn của mình. Với Intlayer, bạn có thể tích hợp quốc tế hóa vào ứng dụng Vite và React hiện có chỉ trong vài phút nhờ khả năng trích xuất tự động, dịch thuật bằng AI và tích hợp mượt mà vào Vite.
Bạn đang tìm kiếm hướng dẫn kỹ thuật chi tiết từng bước cho Vite và React? Xem tài liệu chuyên sâu của chúng tôi: Dịch Vite và React với Intlayer.
Mục lục
Thách thức khi bổ sung i18n vào ứng dụng hiện có
Khi quốc tế hóa một ứng dụng Vite và React hiện có, các nhà phát triển phải đối mặt với ba rào cản lớn:
- Xáo trộn mã nguồn: Trích xuất thủ công các chuỗi sang từ điển JSON đòi hỏi phải chỉnh sửa hầu hết mọi tệp component. Điều này tạo ra diff git khổng lồ, rủi ro xung đột khi merge và nguy cơ lỗi giao diện.
- Gánh nặng quản lý khóa: Việc nghĩ ra các khóa như
dashboard.hero.ctaButtoncho từng đoạn văn bản làm chậm tốc độ phát triển và tạo áp lực mỗi khi thay đổi nội dung. - Công việc dịch thuật tẻ nhạt: Khi các chuỗi đã được tách ra, việc điền từ điển cho 5, 10 hoặc 20 ngôn ngữ đòi hỏi sao chép - dán vô tận hoặc thuê các dịch vụ dịch thuật bên ngoài đắt đỏ.
Intlayer giải quyết tận gốc các khó khăn này thông qua trích xuất có sự hỗ trợ của trình biên dịch, từ điển khai báo ở cấp component và tích hợp trực tiếp vào Vite.
Trích xuất nội dung tự động (không cần tìm chuỗi thủ công)
Thay vì phải tự tay sao chép từng chuỗi từ JSX của bạn, Intlayer cung cấp hai hướng tiếp cận dễ dàng:
Lựa chọn A: Công cụ trích xuất CLI (npx intlayer extract)
Bạn có thể chạy công cụ trích xuất của Intlayer trực tiếp trên mã nguồn của dự án:
Sao chép mã vào clipboard
Lệnh này phân tích các component React của bạn, phát hiện văn bản hiển thị cho người dùng và tự động tạo các tệp khai báo nội dung (.content.ts) ngay cạnh mỗi component. Logic component vẫn giữ tính khai báo, rõ ràng và an toàn kiểu dữ liệu mà không cần phải đặt bất kỳ khóa dịch nào.
Lựa chọn B: Trình biên dịch Intlayer (Trích xuất trong quá trình build)
Khi bật trình biên dịch Intlayer trong cấu hình, bạn có thể tiếp tục viết component bằng văn bản thông thường bằng ngôn ngữ mặc định. Khi build, trình biên dịch sẽ tự động trích xuất văn bản và chèn nội dung đã bản địa hóa:
Sao chép mã vào clipboard
Ở chế độ nền, Intlayer xây dựng từ điển và liên kết component với nội dung được bản địa hóa, loại bỏ hoàn toàn bước tái cấu trúc thủ công.
Trong trường hợp này, nó sẽ tạo một tệp khai báo src/App.content.ts với cấu trúc sau:
Sao chép mã vào clipboard
Dịch thuật hỗ trợ bởi AI với LLM bạn yêu thích
Sau khi trích xuất nội dung, việc dịch sang hàng chục ngôn ngữ không nên mất hàng ngày. Intlayer tích hợp sẵn CLI dịch thuật AI kết nối trực tiếp với OpenAI, Anthropic, DeepSeek hoặc Mistral bằng khóa API của riêng bạn:
Sao chép mã vào clipboard
Cấu hình các ngôn ngữ và nhà cung cấp AI trong intlayer.config.ts:
Sao chép mã vào clipboard
Chạy npx intlayer fill sẽ điền vào các tệp khai báo bản dịch chất lượng cao cho tất cả ngôn ngữ đã cấu hình:
Sao chép mã vào clipboard
Vì Intlayer chuyển applicationContext cho mô hình ngôn ngữ lớn, các bản dịch được tạo ra giữ được ngữ cảnh kỹ thuật, giọng văn thương hiệu và sắc thái ngữ pháp tốt hơn nhiều so với các công cụ dịch thông thường.
Để kiểm tra xem có chuỗi nào bị bỏ sót hay không trước khi triển khai sản xuất:
Sao chép mã vào clipboard
Tích hợp Vite và thiết lập Provider
Tích hợp Intlayer vào Vite rất đơn giản; chỉ cần thêm plugin vào vite.config.ts và bao bọc component gốc bằng IntlayerProvider:
Sao chép mã vào clipboard
Kể từ Intlayer v9, trình biên dịch được tích hợp trực tiếp vào pluginintlayer()và sẽ tự động kích hoạt khi cấu hìnhcompiler.enabledtrongintlayer.config.ts.
Bao bọc ứng dụng bằng IntlayerProvider trong component gốc:
Sao chép mã vào clipboard
Chuyển đổi ngôn ngữ động
Chuyển đổi ngôn ngữ dễ dàng ở bất kỳ đâu trong ứng dụng bằng hook useLocale:
Sao chép mã vào clipboard
SEO Đa ngôn ngữ (Sitemap và Robots.txt)
Intlayer đi kèm các tiện ích định dạng như generateSitemap và getMultilingualUrls để tạo ra các tệp sitemap.xml và robots.txt đa ngôn ngữ thân thiện với công cụ tìm kiếm cho các dự án Vite tĩnh:
Sao chép mã vào clipboard
Thêm hook prebuild vào package.json của bạn để chạy script này trước khi thực hiện vite build:
Sao chép mã vào clipboard
Tìm hiểu sâu hơn: Sẵn sàng cho hướng dẫn từng bước đầy đủ?
Hướng dẫn này đã cung cấp cái nhìn tổng quan về cách bổ sung quốc tế hóa vào ứng dụng Vite và React hiện có vào năm 2026 mà không gặp rắc rối về mặt kiến trúc.
Nếu bạn muốn cấu hình từng phần chi tiết, bao gồm hỗ trợ kiểu TypeScript hoàn chỉnh, từ điển động và trình chỉnh sửa trực quan, vui lòng tham khảo tài liệu hướng dẫn đầy đủ:
👉 Hướng dẫn toàn diện về cách dịch Vite và React với Intlayer
Câu hỏi thường gặp (FAQ)
Có. Bạn có thể sử dụng lệnh npx intlayer extract để tự động phát hiện và trích xuất các chuỗi cố định thành các tệp khai báo nội dung đã được bản địa hóa, hoặc dùng trình biên dịch Intlayer để chuyển đổi component trong quá trình build trong khi bạn vẫn viết JSX thông thường.
Intlayer sử dụng định nghĩa từ điển theo từng component và tối ưu hóa macro trong quá trình build. Bundle chỉ nhận các trường cần thiết cho những component đang được hiển thị trên trang thay vì nhập toàn bộ tệp JSON đồ sộ. Từ điển động cũng cho phép tải ngôn ngữ theo nhu cầu.
Có. CLI Intlayer có sẵn lệnh npx intlayer fill, kết nối trực tiếp với nhà cung cấp AI bạn chọn (OpenAI, Anthropic, Mistral, DeepSeek) để tạo các bản dịch chuẩn ngữ cảnh cho toàn bộ ngôn ngữ đã cấu hình.
Có. Intlayer cung cấp các adapter tương thích cho react-i18next và react-intl, cùng với các plugin đồng bộ hóa tệp dịch JSON sẵn có (sync-json).
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.
