DEV Community

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

Posted on • Originally published at apidog.com

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

이 게시물은 n8n 번역 워크플로에서 세 가지 동작을 검증하기 위한 스모크 테스트입니다. 확인 대상은 원본 게시물의 카테고리 복사, 로케일별 발췌문 번역, 그리고 번역본 내부 링크가 영문 원본이 아니라 동일한 언어 버전 URL로 재작성되는지입니다. 라이브 블로그에서 이 글을 보고 있다면, 테스트 완료 후 삭제해야 합니다.

지금 Apidog 사용해 보기

이 게시물이 존재하는 이유

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

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

예를 들어 일부 LLM 튜토리얼의 포르투갈어 버전에는 카테고리와 발췌문이 모두 없었습니다. 또한 인도네시아어 독자가 번역된 글을 읽다가 내부 링크를 클릭하면 영문 설명 페이지로 이동하는 문제가 있었습니다.

이번 워크플로 개정에서는 위 문제를 수정했으며, 이 게시물은 실제 Ghost 환경에서 수정 사항이 끝까지 동작하는지 확인하기 위한 테스트 콘텐츠입니다.

테스트 시나리오

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

각 번역본에서 다음 세 가지를 확인합니다.

  1. custom_excerpt 필드가 비어 있지 않고, 영문 발췌문의 번역본으로 채워져 있어야 합니다.
  2. category 필드에는 원본 게시물의 Tutorials가 그대로 포함되어야 합니다.
  3. 본문 내부 링크는 해당 번역본의 로케일에 맞는 URL로 재작성되어야 합니다.

예를 들어 일본어 번역본에서는 내부 링크가 영문 URL이 아니라 다음과 같은 형식이어야 합니다.

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

링크 재작성 확인용 테스트 링크

아래 링크들은 클릭용이 아니라 링크 재작성 로직 검증용입니다. 정규식이 절대 경로와 루트 상대 경로를 모두 처리하는지 확인하기 위해 두 가지 패턴을 의도적으로 포함했습니다.

절대 경로

루트 상대 경로

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

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

인도네시아어 번역본은 특히 다음 형식을 사용해야 합니다.

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

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

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

또한 인도네시아어 게시물은 Ghost에서 다음 조건을 만족해야 합니다.

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

이 이름 변경 검증은 Req 6 후속 조치입니다.

렌더링 확인 방법

게시 후 다음 명령으로 일본어 번역본이 정상적으로 생성되었는지 확인합니다.

curl -I https://apidog.com/jp/blog/translation-pipeline-smoke-test/
Enter fullscreen mode Exit fullscreen mode

기대 결과는 다음과 같습니다.

HTTP/2 200
Enter fullscreen mode Exit fullscreen mode

페이지 렌더링 결과에서는 다음 항목을 확인합니다.

  • Tutorials 카테고리 배지가 표시됨
  • 제목 아래에 일본어 발췌문이 표시됨
  • 모든 내부 링크가 /jp/blog/... 형식으로 재작성됨

빠른 검증 체크리스트

각 번역본에서 아래 항목을 확인합니다.

[ ] custom_excerpt가 비어 있지 않다
[ ] 발췌문이 해당 로케일 언어로 번역되어 있다
[ ] category에 Tutorials가 포함되어 있다
[ ] 내부 링크가 영문 URL이 아니라 로케일 URL로 재작성되어 있다
[ ] 인도네시아어 URL은 /id/blog/... 형식이다
[ ] 인도네시아어 게시물 태그는 1Locale ID이다
Enter fullscreen mode Exit fullscreen mode

확인 후 정리

11개의 번역본에서 모든 항목이 정상이라면 Ghost에서 이 게시물과 11개의 번역본을 모두 삭제합니다. 이 게시물은 프로덕션 가치가 없는 테스트 콘텐츠입니다.

문제가 발견되면 삭제하지 말고 진단용으로 보관합니다. 예를 들어 다음 문제가 있으면 워크플로 소유자에게 전달해야 합니다.

  • 카테고리 누락
  • 비어 있는 custom_excerpt
  • 잘못된 내부 링크 재작성
  • 잘못된 로케일 경로
  • 잘못된 Ghost 슬러그 또는 태그

Top comments (0)