Bài viết này là một smoke test nhỏ cho quy trình dịch bằng n8n. Mục tiêu là xác minh ba hành vi: sao chép đúng danh mục (category) từ bài gốc, dịch đoạn trích (excerpt) theo từng ngôn ngữ và viết lại liên kết blog nội bộ để mỗi bản dịch trỏ về đúng phiên bản ngôn ngữ của nó thay vì URL tiếng Anh.
Vì sao cần bài kiểm thử này
Trước đây, workflow dịch n8n bỏ sót hai trường quan trọng trong Ghost:
custom_excerptcategory
Ngoài ra, các liên kết nội bộ trong bài đã dịch vẫn trỏ về URL tiếng Anh. Điều này làm yếu cụm hreflang và có thể đưa người đọc ở các ngôn ngữ khác, ví dụ Indonesia, sang nội dung tiếng Anh.
Bản sửa workflow mới nhất đã xử lý các lỗi đó. Bài viết này dùng để kiểm tra end-to-end trên hệ thống Ghost thật.
Checklist cần kiểm tra sau khi xuất bản
Khi bài viết 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.
Với mỗi bản dịch, hãy kiểm tra các điều kiện sau:
- Trường
custom_excerptcó nội dung đã dịch, không được để trống. - Trường
categorygiữ nguyên giá trịTutorialstừ bài nguồn. - Các liên kết nội bộ trong phần thân bài được viết lại theo đúng ngôn ngữ.
Ví dụ: bản tiếng Nhật phải trỏ đến:
https://apidog.com/jp/blog/free-cursor-ai/
thay vì URL tiếng Anh.
Liên kết dùng để xác minh việc viết lại
Không cần nhấp vào các liên kết dưới đây. Chúng chỉ là dữ liệu đầu vào để kiểm tra regex viết lại URL.
Workflow cần xử lý cả hai dạng liên kết sau:
- Tuyệt đối: đọc về chạy Cursor AI miễn phí hoặc nhận Claude Pro miễn phí.
- Tương đối gốc: xem top 10 kiểm thử API và bài viết về LLM không giới hạn.
Kết quả mong đợi:
- Bản tiếng Nhật viết lại cả bốn URL thành dạng
/jp/blog/{slug}/. - Bản tiếng Indonesia dùng
/id/blog/{slug}/, không phải/ig/blog/.... - Bài dịch tiếng Indonesia được tạo trong Ghost với slug kết thúc bằng
-id. - Bài dịch tiếng Indonesia có thẻ
1Locale ID.
Kiểm tra nhanh bằng curl
Sau khi workflow chạy xong, có thể kiểm tra bản tiếng Nhật bằng lệnh sau:
# Xác minh bản dịch đã được tạo sau khi xuất bản
curl -I https://apidog.com/jp/blog/translation-pipeline-smoke-test/
# Kết quả mong đợi:
# - HTTP 200
# - trang hiển thị huy hiệu danh mục "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/...
Nếu cần kiểm tra nội dung HTML đã render, có thể tải trang và grep các mẫu chính:
curl -s https://apidog.com/jp/blog/translation-pipeline-smoke-test/ | grep -E "Tutorials|/jp/blog/"
Dọn dẹp sau khi xác minh
Nếu cả 11 bản dịch đều đúng, hãy xóa bài viết này và toàn bộ bản dịch tương ứng khỏi Ghost. Đây chỉ là bài kiểm thử workflow, không có giá trị sử dụng trong production.
Nếu phát hiện lỗi như thiếu danh mục, đoạn trích trống hoặc URL nội bộ bị viết lại sai, hãy giữ lại bài viết để chẩn đoán và báo cho người phụ trách workflow.

Top comments (0)