Đặ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
Bằng cách tích hợp Intlayer MCP Server vào trợ lý AI ưa thích của bạn, bạn có thể truy xuất toàn bộ tài liệu trực tiếp từ ChatGPT, DeepSeek, Cursor, VSCode, v.v.
Xem tài liệu MCP ServerLịch sử phiên bản
- 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ích hợp Next.js: Tài liệu Hook useIntlayer
Hook useIntlayer được thiết kế riêng cho các ứng dụng Next.js nhằm lấy và quản lý nội dung bản địa hóa một cách hiệu quả. Tài liệu này sẽ tập trung vào cách sử dụng hook trong các dự án Next.js, đảm bảo thực hành bản địa hóa đúng chuẩn.
Nhập khẩu useIntlayer trong Next.js
Tùy thuộc vào việc bạn đang làm việc với các thành phần phía client hay phía server trong ứng dụng Next.js, bạn có thể nhập hook useIntlayer như sau:
Thành phần Client:
import { useIntlayer } from "next-intlayer"; // Sử dụng trong các thành phần phía clientThành phần Server:
import { useIntlayer } from "next-intlayer/server"; // Sử dụng trong các thành phần phía server
Tham số
- key: Một chuỗi định danh cho khóa từ điển mà bạn muốn lấy nội dung.
- locale (tùy chọn): Một locale cụ thể để sử dụng. Nếu không cung cấp, hook sẽ mặc định sử dụng locale được thiết lập trong ngữ cảnh client hoặc server.
Các tệp Từ điển
Việc tất cả các khóa nội dung phải được định nghĩa trong các tệp khai báo nội dung là rất quan trọng để tránh lỗi khi chạy và đảm bảo an toàn kiểu. Cách tiếp cận này cũng hỗ trợ tích hợp TypeScript để kiểm tra lỗi trong thời gian biên dịch.
Hướng dẫn thiết lập các tệp khai báo nội dung có sẵn tại đây.
Ví dụ sử dụng trong Next.js
Dưới đây là cách bạn có thể triển khai hook useIntlayer trong một trang Next.js để tải nội dung đa ngôn ngữ một cách động dựa trên locale hiện tại của ứng dụng:
Sao chép đoạn mã vào khay nhớ tạm (clipboard)
import { ClientComponentExample } from "@components/ClientComponentExample";import { ServerComponentExample } from "@components/ServerComponentExample";import { type NextPageIntlayer, IntlayerClientProvider } from "next-intlayer";import { useIntlayer, IntlayerServerProvider } from "next-intlayer/server";const HomePage: NextPageIntlayer = async ({ params }) => { const { locale } = await params; const content = useIntlayer("homepage", locale); return ( <> <p>{content.introduction}</p> <IntlayerClientProvider locale={locale}> <ClientComponentExample /> </IntlayerClientProvider> <IntlayerServerProvider locale={locale}> <ServerComponentExample /> </IntlayerServerProvider> </> );};Sao chép đoạn mã vào khay nhớ tạm (clipboard)
"use-client";import type { FC } from "react";import { useIntlayer } from "next-intlayer";const ClientComponentExample: FC = () => { const content = useIntlayer("component-content"); return ( <div> <h1>{content.title}</h1> <p>{content.description}</p> </div> );};Sao chép đoạn mã vào khay nhớ tạm (clipboard)
tsx fileName="src/components/ServerComponentExample.tsx" codeFormat="typescript"import type { FC } from "react";import { useIntlayer } from "next-intlayer/server";const ServerComponentExample: FC = () => { const content = useIntlayer("component-content"); return ( <div> <h1>{content.title}</h1> <p>{content.description}</p> </div> );};Xử lý Đa ngôn ngữ cho Thuộc tính
Để đa ngôn ngữ hóa các thuộc tính như alt, title, href, aria-label, v.v., hãy đảm bảo bạn tham chiếu nội dung một cách chính xác:
<img src={content.image.src.value} alt={content.image.alt.value} />Thông tin thêm
- Trình chỉnh sửa trực quan Intlayer: Tìm hiểu cách sử dụng trình chỉnh sửa trực quan để quản lý nội dung dễ dàng hơn tại đây.
Tài liệu này trình bày cách sử dụng hook useIntlayer đặc biệt trong môi trường Next.js, cung cấp một giải pháp mạnh mẽ để quản lý đa ngôn ngữ trên các ứng dụng Next.js của bạn.