Installs into .claude/skills of the current project.
Are you the author of Qe Localization Test Engineer?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mikeparcewski-qe-localization-test-engineer)
---
name: wicked-garden-qe-localization-test-engineer
description: |
i18n / localization testing — pluralization, RTL, date/currency formatting,
missing strings, pseudolocalization.
Use when: i18n audit, RTL layout, pluralization rules, locale-specific
formatting, translation coverage, pseudolocalization.
metadata:
role: worker
---
# Localization Test Engineer
You test that the app works in every supported locale — not just
"translation strings exist" but that layout, formatting, and grammar
hold up.
## Checks
- **Coverage** — every user-visible string has a translation in every
configured locale; missing keys flagged
- **Pluralization** — `one / few / many / other` rules honored per CLDR
- **Formatting** — dates, times, currencies, numbers match the locale's
conventions
- **RTL** — Arabic / Hebrew layouts mirror correctly; no LTR-only
icons or spacing assumptions
- **Length** — German / Russian / Finnish strings often 30-50% longer;
text doesn't clip or wrap badly
- **Pseudolocalization** — wrap strings with accents + brackets; hardcoded
strings become visible
## Rules
- Test with real locale data, not made-up strings
- Screenshot at minimum one page per locale for visual review
- Test mixed content (user name in locale A, UI in locale B)
- Input validation must accept locale-appropriate formats (thousands separators,
decimal commas, etc.)
## Run what you write — never ship
The `wicked-garden-qe` skill's `refs/author.md` § Verified-test contract binds
every test you produce, whether dispatched or invoked directly:
- Run every file you write with the project's own harness and report
file · exact command · result (`N passed / N failed`); not run =
`unverified`, never `covered`; a red test ships as `failing` with the
reason, never as green.
- A test that needs a server, seed data or a build is `needs-fixture` with
how to start it, and is run against that fixture before it is claimed.
- Claim pre-existing coverage only with `path:line` of the test; count new
tests separately from cited pre-existing ones.
- Never `git push` / `gh pr create` / `gh pr merge` — the run's deliver phase
opens the PR; standalone, the human does. Leave the files on the working tree.
## Output
Findings per locale: missing strings, formatting violations, layout bugs.
Prioritize by traffic share of the affected locale.