DEV Community

Cover image for Kiểm Thử Nhanh Quy Trình Dịch Thuật
Sebastian Petrus
Sebastian Petrus

Posted on • Originally published at apidog.com

Kiểm Thử Nhanh Quy Trình Dịch Thuật

Đây là một bài đăng kiểm thử có chủ đích, dùng để xác minh ba hành vi mới của quy trình dịch n8n: sao chép danh mục từ bài nguồn, dịch đoạn trích theo từng ngôn ngữ, và viết lại liên kết nội bộ trong blog để mỗi bản dịch trỏ đúng về phiên bản ngôn ngữ tương ứng thay vì bản tiếng Anh gốc. Nếu bài này xuất hiện trên blog production, hãy gỡ bỏ sau khi xác nhận kiểm thử.

Dùng thử Apidog ngay hôm nay

SCR-20260519-hasr.jpeg

Mục tiêu kiểm thử

Trước đây, workflow dịch n8n có ba vấn đề chính:

  • Bỏ qua huy hiệu category trên bài đã dịch.
  • Không điền custom_excerpt cho từng ngôn ngữ.
  • Giữ nguyên các liên kết nội bộ trỏ về URL tiếng Anh, làm sai cụm hreflang và đưa người đọc sang nội dung không đúng ngôn ngữ.

Bản sửa đổi workflow mới nhất cần chứng minh rằng các lỗi này đã được xử lý end-to-end với Ghost thực tế.

Cách kiểm tra sau khi xuất bản

Khi bài đăng này được xuất bản, workflow dịch n8n sẽ chạy một lần và tạo 11 bản dịch trong Ghost, dưới dạng bản nháp hoặc bài đã xuất bản tùy cấu hình.

Với mỗi bản dịch, hãy kiểm tra ba điều kiện sau:

  1. Trường custom_excerpt phải có nội dung đã dịch, không được để trống.
  2. Trường category phải giữ nguyên giá trị Tutorials từ bài nguồn.
  3. Các liên kết nội bộ trong nội dung phải được viết lại sang đúng ngôn ngữ.

Ví dụ, bản tiếng Nhật phải trỏ đến:

https://apidog.com/jp/blog/free-cursor-ai/
Enter fullscreen mode Exit fullscreen mode

Không được giữ URL tiếng Anh gốc.

Các liên kết dùng để xác nhận rewrite

Workflow cần xử lý cả hai dạng liên kết sau.

1. Liên kết tuyệt đối

2. Liên kết tương đối gốc

Nếu rewrite hoạt động đúng, bản tiếng Nhật của bài này sẽ chuyển cả bốn URL sang dạng:

/jp/blog/{slug}/
Enter fullscreen mode Exit fullscreen mode

Riêng bản tiếng Indonesia phải dùng:

/id/blog/{slug}/
Enter fullscreen mode Exit fullscreen mode

Không được sinh nhầm thành:

/ig/blog/{slug}/
Enter fullscreen mode Exit fullscreen mode

Ngoài ra, bài tiếng Indonesia trong Ghost phải có:

  • Slug kết thúc bằng -id
  • Thẻ 1Locale ID

Phần đổi tên này là bước tiếp theo của Yêu cầu 6.

Kiểm tra nhanh bằng curl

Sau khi workflow chạy xong, có thể xác minh một bản dịch bằng lệnh sau:

# Xác minh bản dịch đã được tạo sạch sẽ sau khi xuất bản
curl -I https://apidog.com/jp/blog/translation-pipeline-smoke-test/

# Kết quả mong đợi:
# - HTTP status 200
# - Trang hiển thị huy hiệu category "Tutorials"
# - Có đoạn trích tiếng Nhật bên dưới tiêu đề
# - Các liên kết nội bộ được viết lại thành /jp/blog/...
Enter fullscreen mode Exit fullscreen mode

Checklist xác nhận

Dùng checklist này cho từng bản dịch:

[ ] Bài dịch được tạo trong Ghost
[ ] custom_excerpt không rỗng
[ ] category = Tutorials
[ ] Internal links trỏ đúng locale
[ ] Locale Indonesia dùng /id/blog/, không phải /ig/blog/
[ ] Slug và tag locale đúng theo quy ước
Enter fullscreen mode Exit fullscreen mode

Dọn dẹp sau kiểm thử

Nếu cả 11 bản dịch đều đúng, hãy xóa bài đăng này và toàn bộ bản dịch khỏi Ghost vì chúng không có giá trị production.

Nếu phát hiện lỗi như thiếu category, custom_excerpt rỗng, hoặc rewrite URL sai, hãy giữ lại các bài đã tạo để phục vụ chẩn đoán và báo cho chủ sở hữu workflow.

Top comments (0)