← Back to Blog

A German Page With USD Prices Is Not Actually Localized

A German Page With USD Prices Is Not Actually Localized

Localization looks done when you've translated the copy and shipped hreflang tags. Actually done means every locale signal agrees. Hreflang is one of six. Get any other one wrong and you get worst-of-both-worlds: Google thinks you're localized, but users think you're not.

International Signal Parity fetches each locale variant and diffs six signals: html.lang, og:locale, schema priceCurrency, schema addressCountry, schema telephone (E.164 format), and the visible price currency symbol in page body.

The six signals and what each controls

1. <html lang="de-DE"> — tells browsers + assistive tech + Google what language the page is in. Wrong value = screen reader pronunciation breaks + Google indexes in the wrong bucket.

2. <meta property="og:locale" content="de_DE"> — tells social platforms which locale a shared page is in. Wrong = Facebook/LinkedIn preview in the wrong language.

3. Schema priceCurrency — tells Shopping Graph + Google what currency the page transacts in. Wrong = Shopping listings show your products with wrong price. Catastrophic.

4. Schema addressCountry — tells LocalBusiness which country you serve. Wrong = local-pack ranking in the wrong country.

5. Schema telephone — must be E.164 (+49 30 12345678), not local-format. Wrong = Siri/Google Assistant dial into the wrong country.

6. Visible price currency symbol — user-facing currency. Wrong = user sees USD on German page, bounces. Silent conversion killer.

Common failure modes

From testing 40+ multi-locale sites:

  • 50% get hreflang right but ship the same <html lang="en"> across all variants
  • 30% have schema priceCurrency hard-coded to USD regardless of locale (template wasn't updated)
  • 25% have og:locale either missing entirely or set to en_US on every page
  • 15% show localized prices in the body but the schema contradicts them (schema says EUR, body shows £15.99)
  • 10% have telephone numbers in local format (030-12345678) without the country code, so auto-dial from Apple Maps fails

Hreflang-audit catches hreflang issues. None of these other failures show up there.

The fix is per-template, not per-page

These are almost always template problems, not content problems. Fix the locale template once and all 200 variant pages get it right. The tool surfaces which templates need which fix, and the AI prompt emits per-locale correction blocks.

Related reading

Fact-check notes and sources


The $100 Network covers international content networks where locale-template drift is the #1 ongoing maintenance issue. The parity matrix is the quarterly audit.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026