← Back to Skills Marketplace
suhteevah

i18ncheck

by suhteevah · GitHub ↗ · v1.0.2 · MIT-0
darwinlinuxwin32 ✓ Security Clean
94
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install i18ncheck
Description
Internationalization & localization readiness scanner -- detects hardcoded strings, missing translations, locale-sensitive formatting, RTL issues, string con...
README (SKILL.md)

\r \r

I18nCheck -- Internationalization & Localization Readiness Scanner\r

\r I18nCheck scans codebases for internationalization issues: hardcoded UI strings, missing translation keys, locale-sensitive date/number formatting, RTL layout issues, string concatenation for translations, missing lang attributes, non-Unicode encodings, locale-dependent comparisons, missing pluralization, and timezone-naive datetime usage. It uses regex-based pattern matching against 90+ i18n patterns across JS/TS, Python, Java, Go, Ruby, and PHP. 100% local. Zero telemetry.\r \r

Commands\r

\r

Free Tier (No license required)\r

\r

i18ncheck scan [file|directory]\r

One-shot i18n scan of files or directories.\r \r How to execute:\r

bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" scan [target]\r
```\r
\r
**What it does:**\r
1. Accepts a file path or directory (defaults to current directory)\r
2. Discovers all source files (skips .git, node_modules, binaries, images, .min.js)\r
3. Runs 90+ i18n detection patterns against each file\r
4. Respects .gitignore and allowlist files\r
5. Calculates an i18n readiness score (0-100) per file and overall\r
6. Grades: A (90-100), B (80-89), C (70-79), D (60-69), F (\x3C60)\r
7. Outputs findings with: file, line number, check ID, severity, description, recommendation\r
8. Exit code 0 if score >= 70, exit code 1 if too many issues found\r
9. Free tier limited to 5 files per scan\r
\r
**Example usage scenarios:**\r
- "Scan my code for i18n issues" -> runs `i18ncheck scan .`\r
- "Check this file for hardcoded strings" -> runs `i18ncheck scan src/components/Header.tsx`\r
- "Find internationalization problems in my project" -> runs `i18ncheck scan src/`\r
- "Are there any untranslated strings in my app?" -> runs `i18ncheck scan .`\r
- "Check for RTL layout issues" -> runs `i18ncheck scan .`\r
\r
#### `i18ncheck hook`\r
Install git pre-commit hooks that scan staged files for i18n issues before every commit.\r
\r
**How to execute:**\r
```bash\r
bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" hook install\r
```\r
\r
**What it does:**\r
1. Copies lefthook config to project root\r
2. Installs lefthook pre-commit hook\r
3. On every commit: scans all staged files for i18n issues, blocks commit if critical/high findings, shows remediation advice\r
\r
#### `i18ncheck report [directory]`\r
Generate a markdown i18n readiness report with findings, severity breakdown, and remediation steps.\r
\r
**How to execute:**\r
```bash\r
bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" report [directory]\r
```\r
\r
**What it does:**\r
1. Runs full scan of the directory\r
2. Generates a formatted markdown report from template\r
3. Includes per-file breakdowns, i18n readiness scores, remediation priority\r
4. Output suitable for i18n audits and localization planning\r
\r
### Pro Tier ($19/user/month -- requires I18NCHECK_LICENSE_KEY)\r
\r
#### `i18ncheck watch [directory]`\r
Continuous monitoring mode that watches for file changes and scans in real-time.\r
\r
**How to execute:**\r
```bash\r
bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" watch [directory]\r
```\r
\r
**What it does:**\r
1. Validates Pro+ license\r
2. Watches the directory for file changes using filesystem events\r
3. Automatically scans changed files for i18n issues\r
4. Reports new issues as they are introduced\r
5. Runs until interrupted (Ctrl+C)\r
\r
#### `i18ncheck ci [directory]`\r
CI/CD integration mode with strict exit codes and machine-parseable output.\r
\r
**How to execute:**\r
```bash\r
bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" ci [directory]\r
```\r
\r
**What it does:**\r
1. Validates Pro+ license\r
2. Runs full scan with all patterns\r
3. Exit code 0 = clean (score >= 70), exit code 1 = issues found\r
4. Output is formatted for CI log parsing\r
5. Supports severity threshold configuration\r
\r
### Team Tier ($39/user/month -- requires I18NCHECK_LICENSE_KEY with team tier)\r
\r
#### `i18ncheck team-report [directory]`\r
Generate aggregate team i18n metrics and trend reports.\r
\r
**How to execute:**\r
```bash\r
bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" team-report [directory]\r
```\r
\r
**What it does:**\r
1. Validates Team+ license\r
2. Scans directory with all patterns\r
3. Generates team-level metrics: top issues by category, worst files, trends\r
4. Produces a comprehensive markdown report for team leads\r
5. Includes remediation priority matrix\r
\r
#### `i18ncheck baseline [directory]`\r
Establish a baseline of known i18n issues for incremental improvement tracking.\r
\r
**How to execute:**\r
```bash\r
bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" baseline [directory]\r
```\r
\r
**What it does:**\r
1. Validates Team+ license\r
2. Scans directory and records all current findings as baseline\r
3. Saves baseline to .i18ncheck-baseline.json\r
4. Future scans only report NEW issues not in the baseline\r
5. Useful for legacy codebases with known i18n debt\r
\r
#### `i18ncheck status`\r
Show license and configuration information.\r
\r
```bash\r
bash "\x3CSKILL_DIR>/scripts/i18ncheck.sh" status\r
```\r
\r
## Detected Pattern Categories\r
\r
I18nCheck detects 90+ i18n patterns across 6 categories:\r
\r
| Category | Examples | Severity |\r
|----------|----------|----------|\r
| **Hardcoded Strings (HS)** | JSX/TSX hardcoded text, alert()/confirm() strings, hardcoded placeholder/label/button text, template literal UI text | Critical/High |\r
| **Translation Keys (TK)** | Missing t()/i18n() calls, untranslated aria-label, missing translation JSON keys, orphaned/duplicate keys, inconsistent key naming | High/Medium |\r
| **Date & Number Formatting (DF)** | toLocaleDateString() without locale, hardcoded MM/DD/YYYY, manual number formatting, hardcoded currency symbols, timezone-naive Date ops | High/Medium |\r
| **RTL & Layout (RL)** | Missing dir/lang attributes, hardcoded left/right CSS, text-align without RTL, float without logical alternatives, margin-left/right instead of inline | High/Medium |\r
| **String Concatenation (SC)** | Concatenated translated messages, template literal interpolation in translations, printf without i18n, word order assumptions, if/else plurals | High/Medium |\r
| **Encoding & Locale (EN)** | Non-UTF-8 charset, locale-dependent toLowerCase, ASCII-only regex for intl text, hardcoded locale IDs, missing Unicode normalization | Medium/Low |\r
\r
## Configuration\r
\r
Users can configure I18nCheck in `~/.openclaw/openclaw.json`:\r
\r
```json\r
{\r
  "skills": {\r
    "entries": {\r
      "i18ncheck": {\r
        "enabled": true,\r
        "apiKey": "YOUR_LICENSE_KEY_HERE",\r
        "config": {\r
          "severityThreshold": "high",\r
          "ignorePatterns": ["**/test/**", "**/fixtures/**", "**/*.test.*"],\r
          "ignoreChecks": [],\r
          "allowlistFile": ".i18ncheck-allowlist",\r
          "reportFormat": "markdown"\r
        }\r
      }\r
    }\r
  }\r
}\r
```\r
\r
## Important Notes\r
\r
- **Free tier** works immediately with no configuration\r
- **All scanning happens locally** -- no code is sent to external servers\r
- **License validation is offline** -- no phone-home or network calls\r
- Pattern matching only -- no AST parsing, no external dependencies beyond bash\r
- Supports scanning JS/TS, Python, Java, Go, Ruby, and PHP in a single pass\r
- Git hooks use **lefthook** which must be installed (see install metadata above)\r
- Exit codes: 0 = clean (score >= 70), 1 = i18n issues detected (for CI/CD integration)\r
\r
## Error Handling\r
\r
- If lefthook is not installed and user tries `hook install`, prompt to install it\r
- If license key is invalid or expired, show clear message with link to https://i18ncheck.pages.dev/renew\r
- If a file is binary, skip it automatically with no warning\r
- If no scannable files found in target, report clean scan with info message\r
- If .i18ncheck-allowlist is missing, skip allowlist filtering gracefully\r
\r
## When to Use I18nCheck\r
\r
The user might say things like:\r
- "Scan my code for i18n issues"\r
- "Find hardcoded strings in my project"\r
- "Check for internationalization problems"\r
- "Are there untranslated strings in my app?"\r
- "Scan for localization issues"\r
- "Check RTL layout support"\r
- "Find date formatting issues for i18n"\r
- "Detect locale-sensitive code"\r
- "Check if my app is ready for localization"\r
- "Find string concatenation in translations"\r
- "Scan for non-UTF-8 encoding issues"\r
- "Check for missing lang attributes"\r
- "Find timezone-naive datetime usage"\r
- "Run an i18n audit on my codebase"\r
- "Set up pre-commit hooks for i18n checks"\r
- "Generate an i18n readiness report"\r
- "Baseline existing i18n issues in my legacy project"\r
Usage Guidance
This skill appears to do what it claims: a local, regex-based i18n scanner with optional paid features gated by a JWT license key. Before installing: (1) be aware i18ncheck will modify/create lefthook.yml in your repo and run lefthook install when you run `i18ncheck hook install`; commit hooks will source the skill's scripts from the configured skill directory. (2) Pro/Team features require you to supply I18NCHECK_LICENSE_KEY (env var or ~/.openclaw/openclaw.json). (3) The scripts will try optional tools (node, openssl) if present — nothing malicious tied to those. If you want extra caution, inspect the scripts in SKILL_DIR/scripts/ before enabling hooks and consider running scans on a copy of your repo first.
Capability Analysis
Type: OpenClaw Skill Name: i18ncheck Version: 1.0.2 The i18ncheck skill is a legitimate internationalization and localization readiness scanner. It uses a comprehensive set of regex patterns (defined in scripts/patterns.sh) to identify hardcoded strings, locale-sensitive formatting, and RTL layout issues across multiple programming languages. The core logic in scripts/analyzer.sh and scripts/i18ncheck.sh performs local file scanning, generates reports, and manages git hooks via lefthook. The license validation in scripts/license.sh is performed offline using JWTs, and there is no evidence of data exfiltration, malicious execution, or harmful prompt-injection instructions.
Capability Tags
cryptocan-make-purchasesrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description, CLI commands in SKILL.md, and the shipped scripts (patterns.sh, analyzer.sh, i18ncheck.sh) all align: this is a local regex-based i18n scanner with hook/CI/watch/baseline features. The primaryEnv (I18NCHECK_LICENSE_KEY) is appropriate for tiered features. No unrelated cloud credentials or surprising capabilities are requested.
Instruction Scope
Runtime instructions are concrete and limited to local scanning, report generation, and installing lefthook pre-commit hooks. The code reads local config (~/.openclaw/openclaw.json), repo files (.i18ncheck-allowlist, .i18ncheck-baseline.json) and modifies repo lefthook.yml when installing hooks — all described in SKILL.md. I found no commands that exfiltrate data or hit external endpoints.
Install Mechanism
Install spec uses the official Homebrew formula 'lefthook' which is a reasonable, low-risk way to add the git-hook manager. Note: the install spec only lists a brew formula; while lefthook can also be installed via npm, the single brew entry may be less applicable on Windows without Homebrew installed (SKILL supports darwin/linux/win32). No arbitrary downloads or untrusted URLs are used.
Credentials
Declared primary credential I18NCHECK_LICENSE_KEY matches the license validation code. The scripts also optionally use tools/envars not listed as required (node, openssl) as fallbacks for parsing/crypto; these are optional and fall back to python3/jq. The license code also optionally reads CLAWHUB_JWT_SECRET for signature verification — this env var is unrelated to scanning itself but is optional and only used to verify JWT signatures if provided.
Persistence & Privilege
always:false and model invocation allowed (normal). The skill writes/edits repo-level lefthook.yml and runs lefthook install when installing hooks — this is expected for a pre-commit hook installer but it does modify repository config. It also reads the user's ~/.openclaw/openclaw.json (declared in metadata). No evidence the skill requires or changes other skills' configs or requests permanent platform-wide privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install i18ncheck
  3. After installation, invoke the skill by name or use /i18ncheck
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Fix: POSIX ERE regex compliance, declare all deps, JWT verification
v1.0.0
Initial release of i18ncheck: an internationalization & localization readiness scanner. - Scans codebases for i18n issues (hardcoded strings, missing translations, locale formatting, RTL/layout problems, i18n anti-patterns) across JS/TS, Python, Java, Go, Ruby, and PHP. - Provides scan, report, and git pre-commit hook commands in free tier (up to 5 files per scan). - Pro tier adds real-time watch mode and CI/CD integration with machine-readable output. - Team tier offers aggregate team metrics, trend reports, and baseline tracking for legacy codebases. - All scans are 100% local with zero telemetry; license validation is also offline. - Outputs clarity-focused readiness scores, severity grading, and actionable recommendations.
Metadata
Slug i18ncheck
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is i18ncheck?

Internationalization & localization readiness scanner -- detects hardcoded strings, missing translations, locale-sensitive formatting, RTL issues, string con... It is an AI Agent Skill for Claude Code / OpenClaw, with 94 downloads so far.

How do I install i18ncheck?

Run "/install i18ncheck" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is i18ncheck free?

Yes, i18ncheck is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does i18ncheck support?

i18ncheck is cross-platform and runs anywhere OpenClaw / Claude Code is available (darwin, linux, win32).

Who created i18ncheck?

It is built and maintained by suhteevah (@suhteevah); the current version is v1.0.2.

💬 Comments