Skip to content We're live on Product Hunt today Upvote
install

tool · one of 34 free, no counter

Pseudoloc

Which strings on this page were never sent for translation?

Pseudo-localisation answers two questions at once and neither has any other cheap answer. A string that comes back unaccented was never routed through the translation layer; a button that breaks its container at forty per cent expansion will break it in German, Finnish or Russian. Both are visible in a single glance at the page.

Reach it Press + K on any tab and type pseudoloc. Ctrl + K on Windows and Linux

Fakes a translation, so the layout breaks here rather than in German
reads the page’s text nodes
writes an ephemeral text swap, undone on reload
sends nothing
expansion about 40%, which is the German case
locale a stored record, shared with the page bar
preview the page’s own transform, never a second one
plan free
section#about

What this actually is

Before a site is localised, and before every release after that - a hard-coded string is the sort of regression that ships in a hurry and is found by a customer.

section#asked

Asked about this tool

Why is the text longer as well as accented?

Because the two failures are different. Accents find strings that skipped the translation layer; the extra length finds containers sized to English. A pseudo-locale that only accented would miss every truncation bug.

Does this change anything permanently?

No. It is a live edit like every other one here - Clear LoupeKit changes puts the copy back and a reload was always going to.

Why does the panel’s preview match the page exactly?

Because it calls the page’s own transform rather than reproducing it. Two implementations of a pseudo-locale is two answers to the same question.

Can I change the character set?

Yes, and the setting is one record read by the tool, the page bar’s card and the page itself - so all three always agree about which locale is running.

how to use pseudoloc

  1. Open Pseudoloc and apply the transform to the page's text.
  2. Anything that comes back unaccented was never routed through the translation layer.
  3. Read the layout at about forty per cent expansion, which is the German case.
  4. Reload to undo it. The swap is ephemeral and nothing was written.