JOY Loyalty · Notification · Multi-currency

Email thông báo đa ngôn ngữ theo ngôn ngữ của khách hàng

Mỗi khách hàng nhận email loyalty (earn points, tier, redeem, birthday…) bằng đúng ngôn ngữ của họ — tự động, không cần merchant dịch tay.

Ticket: JOY-260513-gA2AP6 Trạng thái: Implemented · Đã verify trên dev Pending: QA + deploy staging

1 Vấn đề

Vì sao cần làm.

Hiện tại Joy gửi email thông báo bằng một ngôn ngữ cố định do merchant chọn thủ công. Với store bán nhiều thị trường (ví dụ Jana — 5 market: SK / CZ / PL / HU / HR), merchant chỉ chọn được 1 trong 5 ngôn ngữ → 4/5 nhóm khách nhận email sai ngôn ngữ → open rate giảm, conversion campaign thấp.

Để làm thủ công, merchant phải dịch tay 20+ loại email × N ngôn ngữ — bất khả thi.

2 Giải pháp

Merchant chỉ cần 2 thao tác; phần còn lại Joy tự lo.

① Thêm ngôn ngữ (1 lần)

Merchant thêm ngôn ngữ trong Translations admin (màn hình có sẵn). Joy tự động dịch sẵn nội dung tất cả email cho ngôn ngữ đó.

② Review / chỉnh (tuỳ chọn)

Vào email editor, chọn ngôn ngữ trong dropdown để xem & sửa bản dịch nếu muốn. Có nút gửi test "Preview in language".

Khi gửi đi: Joy tự render email theo ngôn ngữ của từng khách (lấy từ tài khoản Shopify của khách). Khách Pháp nhận bản Pháp, khách Đức nhận bản Đức — trong cùng một campaign.
Phủ sẵn, gần như miễn phí cho phần lớn shop: nội dung email mặc định đã được dịch sẵn cho 39 ngôn ngữ và đóng gói trong app. Shop nào dùng nguyên mẫu mặc định (đa số) thì email ra đúng ngôn ngữ khách ngay lập tức, không tốn chi phí AI và không cần làm gì — kể cả các shop đã cài từ trước. AI chỉ dịch thêm khi merchant tự chỉnh sửa nội dung.

3 Cách hoạt động

Hai luồng chạy song song.

Luồng A — Khi gửi email cho khách

Ngôn ngữ của khách
Lấy từ tài khoản Shopify (Customer.locale, vd fr-CA)
Joy lấy & lưu locale
Qua đồng bộ khách + tự bổ sung khi cần (webhook Shopify không kèm locale)
Chọn ngôn ngữ
Khớp chính xác → theo ngôn ngữ → biến thể vùng; thiếu thì về ngôn ngữ chính
Email đúng ngôn ngữ
Render bản dịch của email cho khách đó

Luồng B — Khi merchant thêm ngôn ngữ

MC thêm ngôn ngữ
Trong Translations admin
Auto-translate (AI)
Joy dịch toàn bộ ~20 loại email bằng Gemini, chạy nền
Bản dịch sẵn sàng
Lưu theo từng ngôn ngữ, từng loại email
MC review trong editor
Chỉnh tay nếu muốn

4 Trải nghiệm trong Email Editor

Merchant chọn ngôn ngữ ngay trên đầu trình soạn — nội dung & preview đổi theo.

Email editor đang ở ngôn ngữ Vietnamese — nội dung và preview hiển thị tiếng Việt
Editor "Earn points" với dropdown Language: Vietnamese — Subject, nội dung, nút, footer và preview (cột phải) đều render tiếng Việt. Đổi dropdown sang ngôn ngữ khác → toàn bộ nội dung swap theo.

5 Bằng chứng demo

Đã chạy thật end-to-end trên môi trường dev (cùng email "Earn points", đổi locale của khách).

Ngôn ngữTiêu đề email render (biến đã thay)Nguồn
🇬🇧 English (gốc)xidoke: You've earned 100 points!Nội dung gốc
🇻🇳 Tiếng Việtxidoke: Bạn vừa nhận được 100 points!Bản dịch
🇫🇷 Français{{shop_name}}: Vous avez gagné une récompense… (Birthday)Auto-translate (AI)
🇩🇪 Deutsch{{shop_name}}: Sie haben {{earning_points}} verdient!Auto-translate (AI)

Email tiếng Việt render đầy đủ (demo)

xidoke  ·  Cảm ơn bạn đã mua sắm!
🎉 Chúc mừng! Bạn vừa nhận được 100 points từ chương trình Sign up tại xidoke!

Số dư hiện tại của bạn là 100 points. Hãy quay lại cửa hàng và đổi điểm lấy ưu đãi hấp dẫn nhé!
Đổi Points Ngay
Bạn không muốn nhận email này nữa? · Hủy đăng ký tại đây

Biến động ({{earning_points}}, {{shop_name}}, {{earning_program}}) được thay đúng; chỉ phần text được dịch, logic giữ nguyên.

6 Phạm vi & Trạng thái

Đã hoàn thành DONE · dev-verified

  • Đồng bộ ngôn ngữ khách (Customer.locale) vào Joy
  • Tự bổ sung locale khi gửi nếu thiếu (an toàn, 1 lần/khách)
  • Render email theo ngôn ngữ khách + fallback ngôn ngữ chính
  • Auto-translate ~20 loại email khi thêm ngôn ngữ (AI, chạy nền qua hàng đợi)
  • Render email theo ngôn ngữ khách, đã verify E2E (vi/fr/es + field tuỳ chỉnh)
  • Dropdown chọn ngôn ngữ trong editor + sửa/preview/xem bản dịch từng ngôn ngữ
  • Gửi test "Preview in language"
  • Đã qua review chất lượng (max effort)

Follow-up Polish · không chặn

  • Nhãn "Language" đa ngôn ngữ hoá (i18n) — đang để tiếng Anh tạm
  • Editor bản cũ (legacy V1) chưa có dropdown — chạy ngôn ngữ chính
  • Email dạng HTML thuần (custom HTML) chưa dịch nội dung body
  • QA đầy đủ + smoke-test staging để xác nhận gửi email thật

7 Ghi chú kỹ thuật (cho BA / Dev)

Chất lượng: đã qua review đa-góc (max effort) + verify E2E trên dev/emulator — render đúng ngôn ngữ khách (kể cả nội dung merchant tự chỉnh), giữ nguyên biến động và không trộn ngôn ngữ.