More screenshots

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    I18n Auditor

    1

    Scan your codebase for hardcoded strings, missing translation keys, locale formatting gaps and RTL issues so you know it is ready before you enter a new market.

    Free

    6 usesSecurity scanned
    i18n-auditor

    i18n-auditor

    Example session with this skill installed

    "Audit this React app for i18n readiness. We're launching in Germany and Japan."

    • Read your context and instructions
    • Compiled the i18n-auditor
    • Generated the document
    i18n Audit Report — 14 findings across 8 files ================================================ [CRITICAL] Hardcoded user-facing string bypasses translation system **File:** src/components/Header.tsx:23 **Found:** Welcome to Dashboard **Fix:** Replace with {t('header.welcome')} or [CRITICAL] Text concatenation breaks word order in other languages **File:** src/components/UserCard.tsx:34 **Found:** "Welcome back, " + user.name + "!" **Fix:** Use ICU message: t('welcome_back', { name: user.name }) [HIGH] Missing translation key in locale files **Key:** "settings.notifications.email" **Missing in:** locales/ja.json, locales/de.json **Present in:** locales/en.json (value: "Email notifications") [HIGH] Hardcoded date format — will not adapt to user locale **File:** src/utils/formatDate.ts:12 **Found:** date.toLocaleDateString('en-US') **Fix:** Use navigator.language or

    Header.tsx

    PDF · document

    Generated

    Example file from a real run - the skill writes it into your workspace.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    The Problem

    You're launching in Japan next month. Your React app works perfectly in English. Then you discover that "Welcome back, {name}!" is hardcoded as string concatenation — which puts the name before the greeting in Japanese (where the name comes first). Your date formatting uses new Date().toLocaleDateString() without a locale parameter, so it displays in the user's browser language — except when it doesn't, because some browsers fall back to US English. Your currency displays as $12.99 even for Japanese users. Three locale files are missing 12 keys each. And your sidebar CSS uses margin-left: 16px which breaks when you add Arabic (RTL) support.

    Each of these is a different category of i18n failure — structural (hardcoded strings bypassing the translation system), linguistic (text concatenation that breaks word order), formatting (locale-unaware dates/numbers/currency), completeness (missing keys across locales), and layout (LTR-biased CSS properties). A code review catches some. A launch in a new market catches the rest — and by then it's a fire drill.

    What You Get

    • Hardcoded string detection — finds user-facing text that bypasses the translation system entirely: JSX text content, button labels, error messages, placeholder text, toast notifications, and tooltip strings
    • Translation key audit — compares keys across all locale files to find missing translations (key exists in en.json but not ja.json) and orphaned keys (defined but never referenced in code)
    • Locale-awareness check — identifies new Date() without locale, .toLocaleString() with hardcoded locale, string concatenation with user data, hardcoded currency symbols, and locale-unaware number formatting
    • Pluralization validation — checks ICU message format syntax, missing one/other plural forms, and CLDR plural rule compliance
    • RTL CSS audit — scans for LTR-biased properties (margin-left, padding-right, float: left) that need logical equivalents (margin-inline-start, padding-inline-end, float: inline-start)
    • Multi-framework support — React (react-i18next, react-intl), Vue (vue-i18n), Angular (@angular/localize), Next.js (next-intl), Node.js (i18next, formatjs), Django (gettext), Rails (i18n), Flutter (intl)

    Why This Beats Prompting It Yourself

    Manual i18n review requires checking every file for text that should be translated, comparing every locale file for key completeness, examining every date/number/currency format for locale awareness, and auditing CSS for RTL compatibility — a process that takes hours and misses patterns you don't think to check. The auditor runs all six scan categories simultaneously, classifies findings by severity (Critical = string completely bypasses translation; High = translation system used but with gaps), and provides the exact fix pattern for each framework.

    Example Session

    You: "Audit this React app for i18n readiness. We're launching in Germany and Japan."

    Agent:

    i18n Audit Report — 14 findings across 8 files
    ================================================
    
    [CRITICAL] Hardcoded user-facing string bypasses translation system
      File: src/components/Header.tsx:23
      Found: <h1>Welcome to Dashboard</h1>
      Fix: Replace with {t('header.welcome')} or <Trans i18nKey="header.welcome" />
    
    [CRITICAL] Text concatenation breaks word order in other languages
      File: src/components/UserCard.tsx:34
      Found: "Welcome back, " + user.name + "!"
      Fix: Use ICU message: t('welcome_back', { name: user.name })
    
    [HIGH] Missing translation key in locale files
      Key: "settings.notifications.email"
      Missing in: locales/ja.json, locales/de.json
      Present in: locales/en.json (value: "Email notifications")
    
    [HIGH] Hardcoded date format — will not adapt to user locale
      File: src/utils/formatDate.ts:12
      Found: date.toLocaleDateString('en-US')
      Fix: Use navigator.language or
    

    Use Cases

    • Pre-launch i18n readiness — scan entire codebase before entering a new market
    • PR review for i18n compliance — check that new features use the translation system and don't introduce hardcoded strings
    • Translation file health check — verify all locale files are in sync with no missing or orphaned keys
    • RTL layout preparation — identify CSS properties needing logical equivalents before adding Arabic/Hebrew support
    • Framework migration validation — when switching i18n libraries (e.g., react-intl → next-intl), verify all strings ported correctly

    Known Limitations

    The auditor performs static analysis on source files — it cannot detect strings rendered from external APIs, CMS content, or dynamic key construction (t('section.' + variable)). Translation quality (accuracy, tone, cultural appropriateness) is not evaluated — only structural completeness. Binary files, minified code, and compiled output are excluded from scanning.

    The auditor performs static analysis on source files — it cannot detect strings rendered from external APIs, CMS content, or dynamic key construction (t('section.' + variable)). Translation quality (accuracy, tone, cultural appropriateness) is not evaluated — only structural completeness. Binary files, minified code, and compiled output are excluded from scanning.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before any payment.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    6 uses

    Times used to date

    Free forever

    No account required to browse

    Trust & safety

    Security scan

    Security scan passed 4 months ago

    • Free with an Agensi account

    Permissions

    No special permissions declared or detected

    Listed4 months ago
    Updated14 days ago

    What's inside

    Frequently Asked Questions

    The i18n-auditor scans your source code to detect user-facing text that isn't wrapped in translation functions, identifies keys missing from specific locale files, and flags CSS that might break in RTL (Right-to-Left) layouts.

    Yes, this skill is designed to work across multi-repo environments and supports various frameworks including React, Vue, Django, and Flutter, as well as common file formats like JSON, YAML, and PO.

    This skill is a plug-and-play static analysis tool; once integrated into your AI agent's environment, it requires only access to your repository to begin generating severity-ranked reports.

    The audit output includes a detailed report with file paths and line numbers, specific snippets of problematic code, and framework-specific remediation steps to fix each issue.

    The i18n-auditor is updated regularly to support the latest ICU Message formats and CLDR plural rules, ensuring your application remains compliant with evolving global standards.

    Buyers receive the full i18n-auditor skill set, including the analysis logic for all supported frameworks and ongoing updates for new localization standards and CSS logical properties.