Your app only speaks English. Your users don't.

Hardcoded strings, missing translation keys, and locale-sensitive formatting bugs are alienating your global users. I18nCheck finds every internationalization issue before they do.

$ clawhub install i18ncheck click to copy
$ i18ncheck scan ./src
🌍 I18nCheck v1.0.0
 
Scanning 214 files across 18 directories...
 
  src/components/Header.tsx:23
    ✗ [HS-007] Hardcoded UI string detected
    → "Welcome back!" should use t('header.welcome_back')
 
  src/utils/format.ts:41
    ✗ [DF-002] Locale-sensitive date formatting
    → toLocaleDateString() without explicit locale — use Intl.DateTimeFormat(locale)
 
  src/pages/Checkout.jsx:67
    ⚠ [SC-001] String concatenation for translated text
    → "Total: " + price breaks word order in RTL/agglutinative languages
 
  src/layouts/Main.tsx:5
    ⚠ [RL-003] Missing dir attribute for RTL support
    → Add dir={isRtl ? 'rtl' : 'ltr'} to root layout element
 
  ───────────────────────────────────────
  i18n Score: 41/100 (Grade: F)  |  14 critical  8 high  5 medium

75% of internet users don't speak English.

Every hardcoded string is a user you lost. Every missing translation key is a broken experience. Every locale-sensitive format bug erodes trust with your global audience. I18nCheck scans your entire codebase and gives you a clear fix for every i18n issue.

90+
Detection patterns
6
Categories scanned
100%
Local analysis
Zero
Telemetry

What I18nCheck Catches

💬
HS

Hardcoded UI Strings

Detects user-facing strings that aren't wrapped in translation functions. Catches literals in JSX, templates, print statements, and view layers across all supported languages.

🔑
TK

Missing Translation Keys

Finds translation function calls that reference keys missing from your locale files. Catches typos, stale keys, and incomplete translations before they render as broken placeholders.

📅
DF

Date & Number Formatting

Flags locale-sensitive date, time, number, and currency formatting that doesn't use Intl APIs or explicit locale parameters. Catches MM/DD vs DD/MM disasters.

↔️
RL

RTL Layout Issues

Scans for missing dir attributes, hardcoded left/right CSS, and layout patterns that break in right-to-left languages like Arabic, Hebrew, and Persian.

🔗
SC

String Concatenation

Identifies string concatenation used to build translated messages. Concatenation breaks word order in languages with different grammar structures and agglutinative morphology.

🏷️
EN

Missing Lang Attributes

Checks for missing lang and xml:lang attributes on HTML elements, missing locale declarations in templates, and locale environment gaps that break screen readers and SEO.

Without / With I18nCheck

Scenario Without I18nCheck With I18nCheck
Hardcoded strings ✗ Discovered by translators in production ✓ Caught at commit time, every file scanned
Missing translation keys ✗ Broken placeholders visible to users ✓ Key coverage validated against locale files
Date/number formatting ✗ MM/DD shows for DD/MM users ✓ Locale-aware Intl API usage enforced
RTL layout support ✗ Broken layouts for Arabic/Hebrew users ✓ dir attributes and logical CSS validated
String concatenation ✗ Mangled translations in non-English ✓ ICU MessageFormat patterns suggested
Lang attributes ✗ Failed accessibility audits and SEO hits ✓ All HTML/template lang attrs verified
New i18n regressions ✗ Slip through code review unnoticed ✓ Blocked by pre-commit hooks
CI pipeline ✗ No i18n quality gate ✓ SARIF reports in GitHub Code Scanning

Simple, transparent pricing

Start scanning for free. Upgrade when you go global.

Free
$0
  • Basic i18n scan
  • HTML & JSON reports
  • Pre-commit hook
  • Community support
Install Free
Team
$39/mo
  • Everything in Pro
  • Team-wide i18n reports
  • Baseline & trend tracking
  • Custom ignore rules
  • Multi-repo scanning
  • Priority support

Get notified about updates

No spam. One email per week max. Unsubscribe anytime.

Your next user speaks a language you haven't tested

Install I18nCheck in 30 seconds. Find every hardcoded string, missing translation, and locale bug in your codebase.

$ clawhub install i18ncheck click to copy