Status: Package release coming

Built and tested. Package release coming: not on npm yet.

Translate any static site, whichever generator built it

The prerender tool takes a folder of finished HTML and a signed translation bundle and writes the translated pages, so it does not matter which generator made them.

Create an account See pricing

Who it is for

  • Owners of Hugo, Jekyll, Eleventy and other generator sites, or hand-written HTML.
  • Documentation and marketing sites on static hosting or a CDN.
  • Anyone who wants translated pages that need no script and no server.

Honest limits

  • Built and tested. Package release coming: the tool is not on npm yet.
  • It translates the HTML that exists at build time. Text added by JavaScript afterwards is not in the translated copies.
  • Pages with strings that have no translation yet are reported, and you can set a minimum coverage.
  • If you only have a CMS that renders pages on demand, use the platform route instead (WordPress or Shopify).

How it works in 3 steps

  1. Build your site

    Run your normal build. You need the finished HTML folder and your published bundle (a downloaded folder works).

  2. Run the tool

    The command reads the bundle (signature mandatory, checksums verified) and writes a translated copy of each page under /<prefix>/. It can also list the strings it found, and fail the build if coverage is below a limit you set.

  3. Deploy the folder

    Each page has lang and dir, reciprocal hreflang with x-default, canonical tags, links that stay in the language, and optionally a sitemap with alternates.

Questions

Which generators does it work with?

Any that write HTML files. We ran it on real Astro, Next.js and Nuxt builds; other generators produce plain HTML and are expected to work, but we have not tested each.

Does it need my site to call your servers?

No. The translated pages are files. Visitors and crawlers fetch them from your own host.

What if some strings are not translated?

The tool reports them. You can set a coverage limit so the build fails instead of shipping a mixed page.