# i18n [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/rog0x/mcp-i18n-tools  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/i18n

## Description
Locale detect, translations, plurals for AI agents

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "i18n": {
    "command": "npx",
    "args": ["-y","i18n"]
  }
}
```

## Documentation & README


# @rog0x/mcp-i18n-tools

Internationalization and localization tools for AI agents, exposed as an MCP (Model Context Protocol) server.

## Tools

### detect_locale

Detect the language and locale of a given text string. Returns the detected language code (BCP 47), language name, writing script, confidence score (0-1), and alternate language candidates.

**Supported languages:** English, Spanish, French, German, Portuguese, Italian, Russian, Japanese, Korean, Chinese, Arabic, Hindi, Thai, Greek, Hebrew.

### extract_i18n_keys

Extract hardcoded user-facing strings from source code that should be internationalized. Finds strings in:

- JSX/TSX attributes (`title`, `placeholder`, `label`, `alt`, `aria-label`, etc.)
- HTML template text and attributes
- `console.log` / `console.warn` / `console.error` calls
- `throw new Error(...)` messages
- `alert()` / `confirm()` / `prompt()` dialogs
- Variable assignments with i18n-relevant names (`message`, `label`, `title`, etc.)

Returns each string with its line/column, surrounding context, pattern type, and a suggested i18n key.

### analyze_translations

Analyze translation JSON files for consistency across locales. Detects:

- **Missing keys** — present in reference locale but absent in others
- **Extra keys** — present in a locale but not in the reference
- **Structure mismatches** — a key is a string in one locale but an object in another
- **Interpolation mismatches** — `{variable}` placeholders differ between locales
- **Empty values** — keys with blank translations
- **Unused keys** — keys not referenced in source code (requires a list of used keys)

### plural_rules

Generate plural form categories for a given locale following CLDR rules. Shows which plural categories the language uses and classifies any test numbers you provide.

| Language   | Categories                          |
| ---------- | ----------------------------------- |
| English    | one, other                          |
| French     | one, other                          |
| Russian    | one, few, many, other               |
| Arabic     | zero, one, two, few, many, other    |
| Polish     | one, few, many, other               |
| Japanese   | other                               |
| Chinese    | other                               |

### format_locale

Format numbers, currencies, dates, and relative times for any locale using the `Intl` APIs. Supports:

- **Numbers** — decimal, percent, unit; compact/scientific/engineering notation
- **Currency** — symbol, narrowSymbol, code, and name displays
- **Dates** — short, medium, long, full styles with date parts breakdown
- **Relative time** — long, short, narrow styles with auto-numeric formatting

## Setup

```bash
npm install
npm run build
```

## MCP Configuration

```json
{
  "mcpServers": {
    "i18n-tools": {
      "command": "node",
      "args": ["D:/products/mcp-servers/mcp-i18n-tools/dist/index.js"]
    }
  }
}
```

## License

MIT

