Free downloads

Zinn® Translate

Serve your Zinn Digital®-translated site in every language, each on its own address, with correct hreflang.

Download zip (416 KB)

What Zinn® Translate does

Your site is translated by Zinn Digital®. This plugin is what shows those translations to your visitors. Each language gets its own web address — /fr/about/ alongside /about/ — and the right hreflang tags, so search engines index every version instead of treating them as duplicates of one another.

Why it matters

Translating a site is the easy half. The half that decides whether it earns anything is whether Google can index each language separately, and that needs a real URL per language and correct hreflang between them — not a cookie, not a query parameter, and not JavaScript that swaps the text after the page has loaded. A translated site served on one URL is one page in the index, however many languages it holds.

What is in it

A real URL per language

Every language is served at its own path, so each one is a page a search engine can crawl, index and rank on its own merits, and a visitor can link to or share.

Correct hreflang, generated for you

Each page declares its alternates in every language you publish, reciprocally. Getting this wrong is the commonest way a multilingual site ends up competing with itself, and it is not something to hand-maintain across a growing site.

It does not translate, and it never writes to your database

Not one word is generated on your server. The plugin fetches finished text from Zinn Digital® and renders it. No duplicated posts, no extra post type, no taxonomy. Deactivate it and your site returns to exactly what it was, with nothing to clean up.

A part-finished translation never blanks a page

A page whose title is translated and whose body is not shows the translated title and your original body. You always see your own words rather than a gap, so publishing does not have to wait for every field.

One cached request per language, every fifteen minutes

Not one request per page view. It adds no endpoint and no shortcode, and if Zinn Digital® cannot be reached your site serves its original content exactly as it always did.

What it looks like

A read-only token that can fetch this site's translations and nothing else, and a plain list of the languages you want published.

The Zinn® Translate settings screen in wp-admin with the site ID, the read-only token and the list of languages to publish

What you are downloading

Version
1.1.2
Minimum WordPress
WordPress 6.6
Minimum PHP
PHP 8.2
Tested up to
WordPress 7.1
Download size
416 KB
Licence
GNU General Public License, version 2 or later
Written by
Neil Lock — CEO, Zinn Digital® Ltd

What Zinn® Translate needs

WordPress 6.6 or later and PHP 8.2 or later, outbound HTTPS from your web server, and a Zinn Digital® account with the site's content translated.

How you get Zinn® Translate

Download it here and install it on the WordPress serving the translated site, then pair it with your Zinn Digital® account.

Read the article

Source on GitHub

Built to WordPress.org plugin-directory standards: the WordPress Coding Standards, a security review, no PHP notices, and translation-ready in every language we sell in.

Installing it

WordPress installs a plugin from a zip file without you unpacking anything. The whole thing takes about a minute, and you need an administrator account on the site.

  1. Download the zip

    Use the download button above. Keep the file as it is — do not unzip it, because WordPress expects the archive itself.

  2. Open Plugins → Add New Plugin in wp-admin

    Sign in to your site's wp-admin, open Plugins in the left-hand menu, then Add New Plugin at the top of the page.

  3. Upload and install

    Choose Upload Plugin, select the zip you just downloaded, then Install Now. WordPress unpacks it for you.

  4. Activate it

    Choose Activate Plugin when the upload finishes. The plugin's own settings then appear in wp-admin — nothing else is required to start using it.

Checking the file is ours

This is code that will run on your site, so you should be able to prove the file you downloaded is the file we published. Run the command for your computer against the zip and compare the result with the checksum below — they must match exactly, character for character.

SHA-256
35100e3ef4a5fc6947dd6c7b1782d2c72847e759b5dece566bb483579bd535ec
On Linux
sha256sum zinn-translate-1.1.2.zip
On macOS
shasum -a 256 zinn-translate-1.1.2.zip
On Windows
certutil -hashfile zinn-translate-1.1.2.zip SHA256

The download itself also returns the same value in an X-Zinn-Package-SHA256 header, so an automated deployment can check it without reading this page.

Changelog

1.0.0 — first release: per-language URL prefixes, reciprocal hreflang generation, per-field fallback to your original content, and a fifteen-minute cached fetch per language.

Every release on GitHub

Updates

On a site we host, these plugins are configured to update themselves: they check with us and WordPress installs the new version for you, with the download verified against its published checksum first. On a WordPress we do not host, there is nothing to configure and nothing phones home — come back to this page when you want the newest version, or watch the plugin's GitHub releases.

Get Zinn® Translate working on a real site

Every plugin here is free and runs on any WordPress. On a site we host they are installed and kept current for you, so there is nothing to download and nothing to update.

See the hosting

All WordPress plugins