Thiết lập đa ngôn ngữ với i18next
Chuyển ứng dụng từ chuỗi hard-code sang đa ngôn ngữ bằng i18next + Locize theo quy trình từng bước.
Lập trìnhTrung cấp★ 234⑂ 36Điểm AI 9/10Cập nhật lần cuối: 2 thg 9, 2026
Làm được gì
- Gọi
npx i18next-cli localize --print-agent-promptđể lấy quy trình khớp đúng phiên bản CLI đang cài, tránh làm theo hướng dẫn lỗi thời. - Hướng dẫn đủ vòng: nhận diện stack →
init(tạoi18next.config.ts) →instrument(bọc chuỗi vàot()dựa trên AST) →extract(sinh file JSON locale) →locize-sync/locize-download(đẩy key lên Locize, dịch bằng AI, tải về). - Luôn chạy
instrument --dry-runtrước để xem kế hoạch, sau đó kiểm tra git diff (ví dụ server component của Next.js có thể cần'use client'). - Có nhánh riêng cho từng stack: Vue dùng
i18next-cli-vue, Svelte dùngi18next-cli-plugin-svelte. - Dừng lại và hỏi người dùng khi phát hiện thư viện i18n khác (next-intl, react-intl, vue-i18n, Paraglide...) hoặc khi cây làm việc git chưa sạch.
Phù hợp với ai
- Lập trình viên frontend lần đầu quốc tế hóa app React/Next.js/Vue/Svelte.
- Dự án đã có i18next nhưng còn nhiều chuỗi hard-code.
- Nhóm muốn đưa file dịch lên backend quản lý (Locize) và dùng dịch AI liên tục.
Ví dụ sử dụng
- "Thêm i18n cho app React của tôi" → kiểm tra
i18next+react-i18nextđã cài chưa, tạo config, in kế hoạch dry-run. - "Tôi muốn hỗ trợ tiếng Đức và tiếng Pháp" → trích xuất key, đồng bộ lên Locize, dịch AI rồi tải bản dịch về repo.
- "Tìm các chuỗi hard-code và bọc lại" → chạy
instrumentthay vì sửa tay, rồi review diff.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/i18next/i18next-cli/HEAD/skills/i18next-localization/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục skills/i18next-localization từ repo GitHub i18next/i18next-cli vào ~/.claude/skills/i18next-localization/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/i18next/i18next-cli.git /tmp/i18next-cli && mkdir -p ~/.claude/skills && cp -r /tmp/i18next-cli/skills/i18next-localization ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và clone repo:
git clone https://github.com/i18next/i18next-cli.git /tmp/i18next-cli - Tạo thư mục skills nếu chưa có:
mkdir -p ~/.claude/skills - Sao chép skill:
cp -r /tmp/i18next-cli/skills/i18next-localization ~/.claude/skills/ - Kiểm tra các file tham chiếu như
references/stacks.mdđã được copy kèm. - Đảm bảo đã có Node.js: chạy
npx i18next-cli --helpđể thử. - Nếu dùng Locize: tạo project tại https://www.locize.app rồi export
LOCIZE_PROJECTIDvàLOCIZE_API_KEYlàm biến môi trường. Tuyệt đối không đặt API key trong code phía client. - Khởi động lại Claude Code và yêu cầu "quốc tế hóa app của tôi". Nhớ commit code trước để git diff dễ review.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT