DEV Community

Cover image for 번역 파이프라인 스모크 테스트
Rihpig
Rihpig

Posted on • Originally published at apidog.com

번역 파이프라인 스모크 테스트

이 게시물은 n8n 번역 워크플로의 세 가지 동작을 검증하기 위한 작은 테스트 게시물입니다: 소스 게시물의 카테고리 복사, 로케일별 요약 번역, 그리고 번역본 내부의 내부 블로그 링크 재작성입니다. 라이브 블로그에서 이 글을 보고 있다면, 검증이 끝난 뒤 삭제해야 합니다.

지금 Apidog 사용해 보기

이 게시물이 필요한 이유

이전 n8n 번역 워크플로에는 다음 문제가 있었습니다.

  • 번역된 게시물에서 카테고리 배지가 누락됨
  • 번역된 게시물의 custom_excerpt가 비어 있음
  • 번역 본문 안의 내부 링크가 번역 로케일 URL이 아니라 EN URL을 계속 가리킴

예를 들어 LLM 튜토리얼의 포르투갈어 버전에는 카테고리와 요약이 모두 없었습니다. 또한 내부 링크가 EN URL을 유지해 hreflang 클러스터를 약화시키고, 인도네시아 독자가 영어 설명 페이지로 이동할 수 있었습니다.

최신 워크플로 개정에서는 이 문제를 수정했습니다. 이 게시물은 실제 Ghost 환경에서 수정 사항이 끝까지 동작하는지 확인하는 스모크 테스트입니다.

테스트 확인 사항

이 게시물을 게시하면 n8n 번역기가 한 번 실행되어 Ghost에 11개의 번역 초안 또는 게시물을 생성해야 합니다.

각 번역본에서 다음 항목을 확인하세요.

  1. custom_excerpt 필드가 EN 요약의 번역으로 채워져 있어야 합니다.
    • 비어 있으면 안 됩니다.
  2. category 필드는 원본 게시물의 Tutorials를 그대로 가져와야 합니다.
  3. 본문 내부 링크는 각 번역본의 로케일에 맞게 재작성되어야 합니다.
    • 예: 일본어 사본에는 EN URL이 아니라 https://apidog.com/jp/blog/free-cursor-ai/가 포함되어야 합니다.

링크 재작성 확인용 링크

아래 링크는 클릭용이 아니라 재작성 테스트 대상입니다. 링크 재작성 정규식이 두 가지 패턴을 모두 처리하는지 확인하기 위해 의도적으로 두 형태를 사용합니다.

번역 파이프라인이 정상이라면 일본어 버전에서는 위 네 URL이 모두 다음 형식으로 재작성되어야 합니다.

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

특히 인도네시아어 사본은 다음 형식이어야 합니다.

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

다음처럼 잘못 생성되면 안 됩니다.

/ig/blog/...
Enter fullscreen mode Exit fullscreen mode

또한 인도네시아어 게시물 자체는 Ghost에서 다음 조건을 가져야 합니다.

  • 슬러그: …-id
  • 태그: 1Locale ID

이 이름 변경 항목은 Req 6 후속 조치입니다.

렌더링 확인용 코드

게시 후 다음 명령으로 일본어 번역본이 정상 렌더링되는지 확인합니다.

# 번역이 깨끗하게 나왔는지 확인
curl -I https://apidog.com/jp/blog/translation-pipeline-smoke-test/

# 기대 결과:
# - HTTP 200
# - "Tutorials" 카테고리 배지 표시
# - 제목 아래 일본어 요약 표시
# - 모든 내부 링크가 /jp/blog/... 형식으로 재작성됨
Enter fullscreen mode Exit fullscreen mode

본문 HTML까지 확인하려면 다음처럼 응답을 저장해 링크를 검색할 수 있습니다.

curl -L https://apidog.com/jp/blog/translation-pipeline-smoke-test/ -o page.html

grep -o "/jp/blog/[^\"']*" page.html
Enter fullscreen mode Exit fullscreen mode

확인 후 정리

11개의 번역본에서 다음 항목이 모두 정상인지 확인하세요.

  • 카테고리 배지가 표시됨
  • custom_excerpt가 번역되어 있음
  • 내부 링크가 각 로케일 경로로 재작성됨
  • 인도네시아어 경로가 /id/blog/...로 생성됨
  • 인도네시아어 게시물에 슬러그 …-id와 태그 1Locale ID가 적용됨

모든 항목이 정상이라면 이 게시물과 Ghost의 11개 번역본을 삭제하세요. 이 글은 프로덕션 가치가 없는 테스트 게시물입니다.

문제가 있다면 게시물을 삭제하지 말고 보관하세요. 누락된 카테고리, 빈 요약, 잘못된 링크 재작성 결과를 진단용으로 남긴 뒤 워크플로 소유자에게 알리면 됩니다.

Top comments (0)