About i18n
An MCP server that provides internationalization and localization tools for AI agents. It detects locales, finds hardcoded strings, checks translation files, applies plural rules, and formats values by locale.
Key features
- 01Detect language and locale
- 02Extract strings for translation
- 03Check translation consistency
- 04Generate CLDR plural categories
- 05Format values for locales
Use cases
- 01Identify a text's likely language
- 02Find hardcoded interface text in source
- 03Check locale files for missing or mismatched entries
- 04Format dates and currencies for a locale
MCP support
Exposes internationalization and localization tools to MCP clients, including locale detection, source string extraction, translation analysis, plural rules, and locale formatting.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | Yes | The text to analyze for language detection |
Details
From the project 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.errorcallsthrow new Error(...)messagesalert()/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
npm install
npm run build
MCP Configuration
{
"mcpServers": {
"i18n-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-i18n-tools/dist/index.js"]
}
}
}
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.