DEV Community

Cover image for Kiểm Tra Dự Phòng Liên Kết Dịch Thuật
Sebastian Petrus
Sebastian Petrus

Posted on • Originally published at apidog.com

Kiểm Tra Dự Phòng Liên Kết Dịch Thuật

Đây là bài kiểm thử ngắn dùng để xác minh hai hành vi trong pipeline dịch và xuất bản: n8n phải viết lại các liên kết blog nội bộ theo đúng ngôn ngữ đích, và website phải fallback về bản tiếng Anh khi bài viết được liên kết chưa có bản dịch tương ứng. Nếu bạn thấy bài này trên blog production, hãy xóa sau khi hoàn tất kiểm thử.

Dùng thử Apidog ngay hôm nay

Header image placeholder

Mục tiêu kiểm thử

Bài đăng này dùng để kiểm tra logic rewrite link sau khi nội dung được dịch.

Yêu cầu mong đợi:

  • Bản tiếng Nhật phải trỏ link nội bộ về /jp/blog/...
  • Bản tiếng Hàn phải trỏ về /kr/blog/...
  • Các ngôn ngữ khác cũng phải dùng đúng prefix tương ứng
  • Nếu bài viết đích chưa có bản dịch ở ngôn ngữ đó, link phải fallback về bản tiếng Anh thay vì dẫn đến trang 404
  • Link ngoài domain Apidog không được bị rewrite

Nói cách khác, pipeline cần phân biệt được:

Internal Apidog blog link  -> rewrite theo ngôn ngữ nếu có bản dịch
Internal Apidog blog link  -> fallback về /blog/... nếu thiếu bản dịch
External link              -> giữ nguyên
Enter fullscreen mode Exit fullscreen mode

Nhóm link đã có bản dịch đầy đủ

Hai bài viết sau tồn tại ở tất cả mười một ngôn ngữ không phải tiếng Anh. Vì vậy, trong mọi bản dịch của bài đăng này, các link này phải được rewrite sang đúng ngôn ngữ địa phương và mở được bình thường:

Ví dụ kết quả mong đợi trong bản tiếng Nhật:

https://apidog.com/jp/blog/get-claude-pro-for-free/
https://apidog.com/jp/blog/llms-no-restrictions/
Enter fullscreen mode Exit fullscreen mode

Các URL này phải trả về HTTP 200.

Nhóm link chỉ có bản dịch một phần

Hai bài viết tiếp theo chỉ tồn tại ở một số ngôn ngữ:

Trường hợp này dùng để kiểm tra fallback.

Trong bản tiếng Nhật, cả bốn link Apidog ở trên phải trỏ đến:

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

và tất cả đều phải tải thành công.

Trong bản tiếng Pháp, kết quả mong đợi khác nhau:

/fr/blog/get-claude-pro-for-free/   -> 200
/fr/blog/llms-no-restrictions/      -> 200
/blog/free-cursor-ai/               -> fallback về tiếng Anh
/blog/top-10-ai-testing/            -> fallback về tiếng Anh
Enter fullscreen mode Exit fullscreen mode

Điểm quan trọng: không được tạo link đến một bản dịch không tồn tại như:

/fr/blog/free-cursor-ai/
Enter fullscreen mode Exit fullscreen mode

nếu URL đó sẽ trả về 404.

Link ngoài không được rewrite

Link ngoài này trỏ đến domain khác và công cụ rewrite phải bỏ qua trong mọi ngôn ngữ: dự án Ghost CMS.

Kết quả đúng:

https://ghost.org/
Enter fullscreen mode Exit fullscreen mode

Kết quả sai:

https://ghost.org/jp/...
https://ghost.org/fr/...
Enter fullscreen mode Exit fullscreen mode

Nếu link ngoài bị thêm prefix ngôn ngữ, logic rewrite đang quá rộng và cần giới hạn lại chỉ cho domain Apidog.

Cách xác minh thủ công

Sau khi bài đăng được xuất bản và trình dịch đã chạy, mở một vài bản dịch và kiểm tra theo checklist sau.

1. Kiểm tra bản tiếng Nhật

Trong bản tiếng Nhật:

  • Mọi link blog Apidog phải có dạng:
/jp/blog/{slug}/
Enter fullscreen mode Exit fullscreen mode
  • Tất cả link phải tải thành công với HTTP 200
  • Không link nào fallback về tiếng Anh nếu bản tiếng Nhật đã tồn tại

2. Kiểm tra bản tiếng Pháp

Trong bản tiếng Pháp:

  • get-claude-pro-for-free phải trỏ đến:
/fr/blog/get-claude-pro-for-free/
Enter fullscreen mode Exit fullscreen mode
  • llms-no-restrictions phải trỏ đến:
/fr/blog/llms-no-restrictions/
Enter fullscreen mode Exit fullscreen mode
  • free-cursor-ai phải fallback về bản tiếng Anh:
/blog/free-cursor-ai/
Enter fullscreen mode Exit fullscreen mode
  • top-10-ai-testing phải fallback về bản tiếng Anh:
/blog/top-10-ai-testing/
Enter fullscreen mode Exit fullscreen mode

3. Kiểm tra link ngoài

Link Ghost phải giữ nguyên trong mọi ngôn ngữ:

https://ghost.org/
Enter fullscreen mode Exit fullscreen mode

Không được rewrite link này theo bất kỳ locale nào.

4. Kiểm tra metadata bản dịch

Mỗi bản dịch phải có đủ:

  • Danh mục: Hướng dẫn
  • Đoạn trích đã được dịch
  • Không để trống category hoặc excerpt

Gợi ý kiểm tra bằng script

Có thể dùng curl để kiểm tra nhanh trạng thái HTTP của từng URL sau khi publish:

curl -I https://apidog.com/jp/blog/get-claude-pro-for-free/
curl -I https://apidog.com/jp/blog/llms-no-restrictions/
curl -I https://apidog.com/blog/free-cursor-ai/
curl -I https://ghost.org/
Enter fullscreen mode Exit fullscreen mode

Kết quả mong đợi:

HTTP/2 200
Enter fullscreen mode Exit fullscreen mode

hoặc redirect hợp lệ về bản tiếng Anh đối với các bài chưa có bản dịch.

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

Sau khi hoàn tất các bước xác minh, hãy xóa bài đăng này và toàn bộ bản dịch của nó khỏi Ghost. Nội dung này chỉ dùng để kiểm thử pipeline dịch, rewrite link và fallback URL; không có giá trị production.

Top comments (0)