A localized site with English testimonials still reads as “not for you.”
Proof in a visitor’s own language reads as evidence; proof in a foreign one reads as decoration. Every other section of a localized page, your team can rewrite — but not the testimonials. They’re someone else’s words. This is the honest way to localize them anyway.
One embed, one German page, German proof
Your pricing page speaks German; your G2 quotes don't. Auto-detect reads the page's <html lang>, so the German page shows German testimonials — from a single embed, with no duplicate widgets to maintain.
Praise in the checkout's language
Serve customer stories in the language your shopper is buying in. Português (Brasil) is its own language here — not Portugal's with a flag swapped.
A localized wall per market, in one run
Bulk-translate up to 200 testimonials into 10 languages in a single background run, then hand each client a wall of love that reads native in every market they sell to.
From English-only to everywhere, in four steps.
Pick your languages
Choose from 33 languages, each shown by its native label — Deutsch, 日本語, العربية, Português (Brasil).
AI drafts — solo or in bulk
BusinessClaude AI translates the body, title and author role — HTML-safe, so links and formatting survive. One credit per testimonial per language; failures are refunded.
Review like an editor
Every field stays editable after the AI drafts it. A Sparkles "AI translated" badge marks machine drafts, and you're warned before overwriting a manual edit.
Widgets & walls serve it automatically
Point each widget at off, auto-detect, or a fixed language. Every visitor gets theirs — no code, no republish.
Failures are refunded. Business includes 150 credits per project each month — plus a 500-credit signup bonus. Need more? Top-up credit packs are available.
Two layers of localization. Know which you need.
The widget's own words
- All 58 built-in interface strings, one default set
- 200 characters each, sanitized on save
The customer's words
- Body, title, author role & company
- Text & textarea custom-field values
In the demo above: the card copy is testimonial translations (Business); the “Mehr lesen” chrome is a per-language text set (Business); rewriting the default set is Pro+.
| Free | Pro | Premium | Business | |
|---|---|---|---|---|
| Testimonial translations | — | — | — | ✓ |
| AI translate + bulk | — | — | — | ✓ |
| Widget UI strings (default set) | — | ✓ | ✓ | ✓ |
| Per-language UI-string sets | — | — | — | ✓ |
| Included AI credits / project / mo | 0 | 0 | 50 | 150 |
Three modes. One attribute. Zero guesswork.
data-widget-key="…"
data-language="de">
Let visitors switch languages on the hosted page. The wall navigates with ?lang=, the server re-renders (SEO-safe), and ?lang=original forces the original.
Localization your engineers won’t veto.
Originals are sacred
Translations live in their own table, one row per language. The original testimonial is never modified.
Per-field fallback
A blank translated field falls back to the original, so a half-finished translation can never render an empty card.
Server-side substitution
BusinessText is swapped before sanitize and render, so eligible review structured data — the Business star-snippet feature — carries the translated text Google indexes.
No content bloat
Testimonial content is resolved server-side, so an embed ships only the language it resolved — never every translated variant of every testimonial.
Downgrade-safe
Below Business, widgets and walls silently serve originals, and your translations are retained.
Preview matches the embed
The builder preview and the live embed run the same pure translation-substitution helpers, so the translated text you approve is exactly what ships. An inbox globe badge and Translations filter round it out.
Limits: 20,000 characters of content · 500 for titles, roles and company · 200 per interface string.
All 33, in their own words.
Regional variants are first-class: pt and pt-BR are separate languages here, as are 简体中文 and 繁體中文.
Straight answers.
How does the widget know which language to show?
You pick one of three modes in the builder: off (always show the original), auto-detect the visitor's language, or a fixed language. Auto-detect reads your page's <html lang> attribute first, then the browser's language. You can also pin any single page by adding data-language="de" to the embed div — that always wins.
How much does AI translation cost?
One AI credit translates one testimonial into one language, and failed translations are refunded automatically. The Business plan includes 150 credits per project each month, plus a 500-credit signup bonus. Need more? Top-up credit packs are available — see pricing for the latest.
What if the AI gets a nuance wrong?
Every field stays editable. Open the translation editor, adjust any line, and publish — the AI draft is only a starting point, marked with a Sparkles "AI translated" badge. Bulk translation never overwrites a manual edit.
Do you support right-to-left languages?
Arabic and Hebrew are supported. The translated text renders correctly, and the widget inherits its text direction from your page — the same way the rest of your localized site already sets direction.
Are dates localized?
Relative dates — "3 days ago", "2 months ago" — are fully translatable through the widget's interface strings. Absolute dates currently render in English, so if you show dates we recommend the relative format.
Do collection forms and share pages get translated?
Not yet. Translations power widgets and Walls of Love. Collection forms and individual share pages aren't translated today — so we don't claim them here.
What happens if I downgrade?
Nothing breaks. Below the Business plan, widgets and walls silently serve the original language, and your saved translations are retained — re-upgrade and they light up again.