Test lab
Translation test lab
This page collects the tricky cases that website translation tools often get wrong. Each block is labelled with what it tests.
Inline formatting
Sentences broken up by inline elements must be translated as one unit, keeping the markup in the right place.
Bold, italic, link
Our senior engineers have shipped more than 140 projects since 2014, and we are just getting started.
Nested inline
Click Save and continue to go to the next step of the wizard.
Split by line break
The quick brown fox
jumps over the lazy dog.
Superscript, subscript, abbr
Our 1st office is 120 m2, and our servers emit less CO2 than an EV.
Text + variable
Welcome back, Anna! You have 3 new notifications.
Attributes
Text that lives in attributes: alt, title, placeholder, aria-label and value.
img alt
title tooltip
aria-label (icon button)
input value (submit)
meta / page title
This page sets a custom <title> and meta description. Check whether they are translated too.
Form controls
Placeholders, options, option groups, labels and default values.
Do-not-translate markers
Each of these should stay in English if the tool respects the marker.
translate="no"
Kestrel Cloud Platform™ stays the same in every language.
class="notranslate"
This sentence uses the notranslate class.
data-wg-notranslate
This sentence uses the Weglot exclusion attribute.
code / kbd / samp
Run npm run build, then press Ctrl + C to stop. Output: Build completed.
pre block
function greet(name) {
return "Hello, " + name + "!";
}Brand names (unmarked)
We build with Next.js, deploy to Netlify and track issues in Linear.
Numbers, dates and units
Hard-coded values that a good translation may need to localise — or keep exactly as they are.
Currency
Prices start at €1,299.00 per month, or $1,415.91 for US customers. Large projects can exceed 25 000 000 HUF.
Dates and times
The workshop takes place on at 3:30 PM ().
Percentages and decimals
Uptime last quarter was 99.95%, and the average response time was 0.42 seconds.
Units
The server room is 18 °C, the rack weighs 1.5 tons and the cable is 12 ft (3.66 m) long.
Contact details
Call +36 1 555 0142, email support@kestrel-digital.example or visit https://kestrel-digital.example/help.
Browser-formatted
Current time in your browser: loading…
Today is loading….
Dynamic content
Text that is rendered, changed or removed by JavaScript after the initial page load.
Pluralisation
You have 1 item in your cart.
Delayed (3 s)
Waiting for delayed content…
Rotating text (2.5 s)
We make your software faster.
State sequence
Order status: Not started
Fetched JSON
Tabs
A short summary of the project goals, the timeline and the people involved.
Toast
Modal
display: none toggle
details / summary
What is included in the free consultation?
A one-hour video call with a senior engineer, a short written summary and a rough cost estimate.
Content outside React
Text that React does not control, or that lives outside the regular DOM tree.
innerHTML / appendChild
Shadow DOM
document.title
alert() / confirm()
Text expansion
Translations are often 30–40% longer than English. These elements have fixed widths.
Fixed-width buttons
Narrow badge
CSS uppercase
Limited time offer
Long sentence
Our comprehensive infrastructure modernisation programme includes requirements engineering, architecture documentation, implementation planning and post-deployment knowledge transfer.
Unusual markup
Places where text hides from translators or should not be touched.
CSS ::before content
The word before this sentence comes from CSS.
Inline SVG text
Emoji and symbols
🚀 Launch day! ✅ Tests passed · ⚠️ Two warnings · ★★★★☆
HTML entities
Terms & conditions — “quoted” text, non‑breaking space and a © symbol.
Mixed language
Our Budapest team says „Jó napot kívánok!” and our Berlin team says „Guten Tag!” every morning.
Whitespace
Leading and trailing spaces around this sentence.
Text in a table
| Plan | Support |
|---|---|
| Starter | Business hours |
| Enterprise | Around the clock |
noscript
(Disable JavaScript to see the <noscript> message.)