Đa ngôn ngữ hóa ứng dụng với i18next
Tự động chuyển ứng dụng đầy chuỗi hardcode thành ứng dụng đa ngôn ngữ dùng i18next (và Locize nếu muốn).
Lập trìnhTrung cấp★ 241⑂ 38Điểm AI 9/10Cập nhật lần cuối: 9 thg 10, 2026
Làm được gì
- Dùng
i18next-cliđể tự nhận diện stack (React/Next.js/Vue/Svelte) và cấu hình i18n đang có. - Chạy tuần tự: tạo
i18next.config.ts→ bọc chuỗi hardcode vàot()bằng phân tích AST → trích xuất file JSON ngôn ngữ. - Tùy chọn kết nối Locize: đẩy key, dịch bằng AI, tải bản dịch về, và gợi ý phân phối qua CDN.
- Tự động dừng lại khi phát hiện thư viện i18n khác (next-intl, react-intl, vue-i18n, Paraglide...) hoặc khi git working tree chưa sạch.
- Nhắc cài đúng runtime (
i18next+ binding của framework) trước khi instrument để app không lỗi.
Dành cho ai
- Lập trình viên frontend cần thêm đa ngôn ngữ vào một ứng dụng đã viết xong.
- Người không muốn ngồi bọc tay hàng trăm chuỗi thành
t('key'). - Dự án đã có i18next nhưng chuỗi vẫn còn hardcode rải rác.
- Nhóm đang cân nhắc giữ file dịch trong repo hay chuyển sang backend quản lý như Locize.
Ví dụ sử dụng
- "Thêm i18n cho app Next.js của tôi, hỗ trợ tiếng Đức và tiếng Pháp" → nhận diện stack, tạo config, chạy
--dry-runrồi bọc chuỗi và trích key. - "Tìm và bọc các chuỗi hardcode" →
instrumentxử lý file.tsx, sau đó hướng dẫn xem git diff (chú ý server component cần'use client'). - "Chuyển bản dịch lên Locize và phát qua CDN" →
locize-sync,locize-downloadvà càii18next-locize-backend.
· · · 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à kiểm tra Node.js cùng git:
node -vvàgit --version. - Clone repo chứa skill:
git clone https://github.com/i18next/i18next-cli.git /tmp/i18next-cli - Tạo thư mục skill:
mkdir -p ~/.claude/skills - Copy skill vào:
cp -r /tmp/i18next-cli/skills/i18next-localization ~/.claude/skills/ - Kiểm tra bằng
ls ~/.claude/skills/i18next-localization— phải thấySKILL.mdvà thư mụcreferences/. - Khởi động lại Claude Code, mở thư mục dự án và yêu cầu: "thêm i18n cho app này".
- Trước khi chạy, hãy commit hoặc tạo branch mới (
git statusphải sạch) vì skill sẽ sửa file nguồn. - Chỉ khi chọn Locize: tạo project trên locize.app và export
LOCIZE_PROJECTID,LOCIZE_API_KEYdưới dạng biến môi trường; tuyệt đối không đặt API key trong code client.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT