
I18n
io.github.rog0xPublished by GitHub account rog0xv1.0.2Updated Oct 24, 2026
Locale detect, translations, plurals for AI agents
Overview
Local MCP server giving an assistant internationalization tools: locale detection, i18n key extraction, translation file checks, plural rules, and locale…
- What you can do
- Exposes five tools for localization work. detect_locale identifies the language and locale of a text string, returning a BCP 47 code, script, confidence score, and alternate candidates. extract_i18n_keys finds hardcoded user-facing strings in source code, such as JSX attributes, HTML text, console calls, thrown errors, dialogs, and i18n-named variables, with line and column and a suggested key. analyze_translations compares translation JSON files across locales for missing, extra, unused, or empty keys, structure and interpolation mismatches. plural_rules returns CLDR plural categories, and format_locale formats numbers, currencies, dates, and relative times.
- When to use it
- Useful when an assistant is helping with localization: auditing a codebase for hardcoded strings, checking translation files for drift between locales, or producing correct plural forms and locale-specific number, currency, and date formatting.
- Requirements
- Runs locally as a Node.js process over stdio, installed from the npm package @rog0x/mcp-i18n-tools; the README shows building it and pointing the client at the built dist/index.js file. No authentication, environment variables, or headers are declared. Desktop only; no web executable.
Installation
In SourceWeft
- Open I18n in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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.
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
MCP Configuration
License
MIT
Source: README.md at commit 734ad18
Tools
0Version history
1- v1.0.2LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.