DEV Community

Cover image for Translation Pipeline Smoke Test (Please Ignore or Delete)
Hassann
Hassann

Posted on • Originally published at apidog.com

Translation Pipeline Smoke Test (Please Ignore or Delete)

This is a deliberately small English post for verifying three n8n translation workflow behaviors: copying the category from the source post, translating the excerpt per locale, and rewriting internal blog links so each translation points to its own language version instead of the English original. If this appears on the live blog, remove it after the test is confirmed.

Try Apidog today

Smoke test screenshot

Why this post exists

The n8n translator previously dropped the category badge and excerpt on translated posts. For example, the Portuguese version of one LLM tutorial shipped without either field.

Internal links inside translated articles also continued to point to English URLs. That weakens hreflang clusters and can route readers, such as Indonesian users, back to English content instead of the localized version.

The latest workflow revision should fix both issues. This post is the smoke test for confirming the full workflow against real Ghost content.

What to verify

When this post is published, the n8n translator should run once and produce 11 translated drafts or published posts in Ghost.

For each translated copy, check the following:

  1. custom_excerpt is populated with a translation of the English excerpt.
  2. category is copied from the source post as Tutorials.
  3. Internal links in the body are rewritten to the matching locale.

For example, the Japanese copy should contain:

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

It should not contain the original English URL.

Links to confirm rewriting

Do not click these links during the test. They are rewrite targets.

The workflow should handle both link patterns used below:

If the translation pipeline is working, the Japanese version should rewrite all four URLs to this form:

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

The Indonesian copy should use:

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

It should not use:

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

Also verify that the Indonesian post is created in Ghost with:

slug: …-id
tag: 1Locale ID
Enter fullscreen mode Exit fullscreen mode

That rename behavior is the Req 6 follow-up.

Quick verification command

After publishing, confirm that a translated page resolves successfully:

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

Expected result:

HTTP/2 200
Enter fullscreen mode Exit fullscreen mode

Then open the rendered page and check for:

  • The Tutorials category badge
  • A Japanese excerpt under the title
  • Internal links rewritten to /jp/blog/...

Cleanup after verification

If all 11 translated copies look correct, delete this post and all translations from Ghost. They are test artifacts and have no production value.

If anything is broken, keep the posts for debugging and notify the workflow owner. Common failures to inspect:

  • Missing category
  • Empty excerpt
  • Internal links still pointing to English URLs
  • Wrong locale path, especially /ig/ instead of /id/

Top comments (0)