JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q26467F
  • License MIT

Universal i18n quality linter: detect untranslated strings and sync keys across 60+ languages (including Klingon!)

Package Exports

  • i18n-quality-lint
  • i18n-quality-lint/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (i18n-quality-lint) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

i18n Quality Lint

A universal CLI tool to lint i18n translation files, detect untranslated strings, and sync keys across multiple languages.

Installation

Global installation

npm install -g i18n-quality-lint
npm install --save-dev i18n-quality-lint

Usage

Quick check (console only)

# Global
i18n-quality-lint

# Project installation
npx i18n-quality-lint

# Or add to package.json scripts:
# "i18n:check": "i18n-quality-lint"
npm run i18n:check

Check and save results

# Global
i18n-quality-lint --save

# Project installation
npx i18n-quality-lint --save

# Or add to package.json scripts:
# "i18n:check:save": "i18n-quality-lint --save"
npm run i18n:check:save

Example Output

$ npx i18n-quality-lint

Checking: src/i18n/he.json (Hebrew)
Found: 2 untranslated values
  PASSWORD: "Password"
  CANCEL: "Cancel"

Checking: src/i18n/en.json (English)
Found: 1 untranslated values
  WELCOME: "ברוכים הבאים"

🔄 Checking key synchronization between files...
Found: 1 synchronization issues
  src/i18n/he.json:
    Missing keys (1):
      EXTRA_KEY

Configuration

Create .i18ncheckrc.json in your project root:

{
  "files": [
    {
      "path": "src/i18n/translations/he.json",
      "language": "hebrew",
      "ignoreKeys": ["BULK_ACTIONS"],
      "allowlist": ["AWS", "SSO", "JWT", "ID", "N/A", "API"]
    },
    {
      "path": "src/i18n/translations/en.json",
      "language": "english",
      "ignoreKeys": [],
      "allowlist": ["Google", "API"]
    },
    {
      "path": "src/i18n/translations/partial.json",
      "language": "french",
      "ignoreKeys": [],
      "allowlist": [],
      "excludeFromSync": true
    }
  ],
  "failOnFindings": true,
  "outputDir": "output"
}

Configuration Options

  • files - Array of file configuration objects
    • path - Path to translation file
    • language - Target language (see supported languages below)
    • ignoreKeys - Keys to skip for this file
    • allowlist - Allowed values for this file
    • excludeFromSync - Exclude this file from key synchronization checking (optional)
  • failOnFindings - Exit with error code if issues found (useful for CI/CD)
  • outputDir - Directory to save results

Supported Languages

European Languages:

  • english, french, german, spanish, italian, portuguese, dutch
  • polish, czech, hungarian, romanian, croatian, slovenian, slovak
  • finnish, swedish, norwegian, danish, lithuanian, latvian, estonian
  • turkish, greek, bulgarian, ukrainian, serbian

Asian Languages:

  • chinese, japanese, korean, thai, vietnamese
  • hindi, bengali, tamil, telugu, malayalam, kannada, gujarati
  • punjabi, marathi, nepali, urdu, persian, sinhala
  • burmese, khmer, lao, malay, indonesian

Middle Eastern & African:

  • hebrew, arabic, georgian, armenian, amharic, swahili

Fun & Fantasy Languages:

  • klingon, elvish, dothraki, valyrian, navi, minion, pirate, yoda, emoji

Backward Compatibility

Old configuration format is still supported:

{
  "files": ["src/i18n/he.json"],
  "ignoreKeys": ["BULK_ACTIONS"],
  "allowlist": ["AWS", "API"],
  "failOnFindings": true
}

Example package.json scripts

{
  "scripts": {
    "i18n:check": "i18n-quality-lint",
    "i18n:check:save": "i18n-quality-lint --save"
  },
  "devDependencies": {
    "i18n-quality-lint": "^1.2.0"
  }
}

Features

  • ✅ Detects untranslated strings in 60+ languages (including Klingon! 🚀)
  • Key synchronization checking - finds missing/extra keys between files
  • ✅ Individual configuration per file
  • ✅ Configurable allowlist for technical terms
  • ✅ Supports multiple files and languages
  • ✅ Colored console output with issue highlighting
  • ✅ CI/CD friendly with automated testing
  • ✅ Zero dependencies
  • ✅ Backward compatible
  • ✅ Comprehensive test coverage

Testing

# Run unit tests
npm test

# Run integration tests
npm run test:integration

# Run all tests
npm run test:all

AI Agents & LLM Integration

For AI agents and LLM integration, see AI-README.md for structured documentation.

License

MIT