Skip to content
Zinn® Translate
enUSD

Zinn® Translate

Features

Translate your WordPress site — pages, posts, products, metadata and URL slugs — into 58 languages, each served on its own indexable address with correct hreflang. Priced by how many words your site has, never by how many languages you want.

58 languages, all included

Every tier translates your site into all 58 languages, including five that read right to left. You are not choosing a language package when you subscribe: the whole set is translated up front, and publishing a language is a switch in the plugin rather than a new order.

Most translation products charge per language, which turns every new market into a purchasing decision and leaves the markets you have not paid for untested. With every language already translated, you can publish Portuguese for a month, watch the traffic, and keep it or hide it again — and the cost of trying never changes.

The Translation tab in the Zinn Digital® dashboard: a table of every language with how much of the site is translated into each.

Translated URL slugs

Each translated page gets its own address with a translated slug: a German reader lands on a German path, not an English one behind /de/. The untranslated address in that language redirects permanently to the translated one, and if a later re-translation changes a slug, the previous address redirects too.

The address is one of the first things a search engine and a searcher read. A page about opening hours ranks better in Spanish as /es/horario-de-apertura/ than as /es/opening-hours/, and links people already shared keep working because nothing old is ever left to break.

The plugin's Sitemaps and URLs tab, listing the sitemap and llms.txt address for every published language with a link to each.

SEO metadata, not just body copy

Zinn® Translate translates the parts of a page a visitor never sees but a search engine reads first: the SEO title and meta description, OpenGraph and Twitter card text, image alt text, breadcrumb labels, categories and tags, menus, and your site title and tagline.

A page with German body copy and an English title shows up in German search results with an English headline, and a link shared on LinkedIn previews in the wrong language. Translating the metadata is what makes the translated page look native wherever it appears.

The plugin's What gets translated tab, with switches for post types, URL slugs, SEO metadata, categories and tags, menus and WooCommerce products.

hreflang, sitemaps and llms.txt

Every published page carries reciprocal hreflang links to each of its translations, a self-reference and an x-default, declares its own lang attribute and dir="rtl" where needed, and keeps its canonical pointing at itself. Each language has its own sitemap, listed in /zinn-sitemap-index.xml and announced in robots.txt, and its own llms.txt for AI answer engines.

Without hreflang, search engines can treat your translations as duplicates of each other and show the wrong language to the wrong country. Per-language sitemaps make sure every translated page is discovered, not just the ones a crawler happens to reach by following a link.

The plugin's SEO tab, with switches for hreflang tags, a sitemap for each language and llms.txt for each language.

Incremental re-translation

Every translated string is stored against a hash of its source text. When you publish or update a page, only the strings whose text actually changed are marked out of date and translated again; everything else is served from what is already there. Your site is read again at least once a day, and whenever you press Read the site now.

Correcting a typo should not re-translate a whole page into every language, and resaving a page without changing a word should cost nothing. Incremental re-translation keeps every language in step with your source without waiting for a manual re-run.

The Translation tab's measurement: the pages and posts read on the site, the words to translate, the allowance the tier covers and when the site was last read.

Corrections that stick

Any translated string can be edited by hand on the plugin's Manual overrides screen. You can search every translation on the site, and each string shows whether it is up to date, whether its source has changed, or whether it was edited by you.

Machine translation is right most of the time, but a headline, a tagline or a product name is where a brand is judged. A translation you edited is marked as yours and is never overwritten by a later re-translation, so your wording survives every edit to the page around it.

The plugin's Manual overrides screen, listing translated strings with their language and whether each is up to date or edited by hand.

WooCommerce stores

On a WooCommerce store, product names, descriptions, short descriptions, purchase notes, attribute labels and values, and variation descriptions are translated. Publishing a language also installs the WordPress and WooCommerce language packs for it, so buttons such as Add to cart appear in the shopper's language.

A shopper buys from a page they can fully read. Prices, SKUs and the stored values that identify a variation are never touched, because translating those would put the wrong item in the basket — so the catalogue stays one catalogue while every product page reads in the shopper's language.

A language switcher that fits your theme

The language switcher is one control you can place four ways: the [zinn_language_switcher] shortcode, a block, a widget or a menu item. It comes in six styles — dropdown, inline list, pills, minimal text, flags and names, and stacked list — with your own colours, spacing, corners and text size, and it lists only the languages you choose.

Visitors need an obvious way to find their language, and a switcher that looks bolted on undermines the page it sits on. It names each language in its own language if you like, lays itself out correctly for right-to-left languages, and works entirely from the keyboard.

The plugin's Language switcher tab, choosing a style, the languages listed and how each language is named.

Your own translation key, if you prefer

The Zinn® Translate plugin is free and can translate on its own with your own Google Gemini, DeepL or OpenAI key. In that mode you need no Zinn Digital® account at all: the plugin sends your published content to the provider you chose and the provider bills you directly.

Some teams already hold a translation account, or want the provider's bill rather than ours. The own-key mode keeps everything else identical — translated slugs, hreflang, sitemaps, the switcher and manual overrides — and your key is stored on your site and sent only to that provider.

The Zinn® Translate plugin's settings in WordPress: connected to Zinn Digital®, six languages published and English as the site's language.

Fast, and safe to switch off

Translations are stored in one table in your own WordPress database and applied as each page renders. There are no shadow posts, no duplicate pages and no second copy of your content to keep in step, and the plugin never fetches anything from a provider while a visitor waits.

Your translated pages keep working even if a translation provider is slow or down, because every word is already on your server. Deactivating the plugin returns your site to exactly what it was and keeps the translations, so switching it back on is instant; only uninstalling removes them.

Better together

Host the site you translate with Zinn Digital®

Zinn® Translate works wherever your WordPress site is hosted, and it needs no hosting plan. Host with us as well and the site, its translation and everything else sit in one dashboard on one invoice.

  • The Zinn® Translate plugin is free on any WordPress site, hosted with us or anywhere else
  • WordPress and WooCommerce hosting on our own servers, with a CDN
  • One account and one invoice for hosting, translation and every other product