Agent skill · writing content · aiskillstore
internationalization-helper
Extracts hardcoded strings for i18n, manages translation files, and ensures locale coverage. Use when working with multi-language apps, translations, or user mentions i18n, localization, or languages.
Why this skill is useful
Provides specific patterns and commands for managing translation files and extracting strings that the AI wouldn't reliably generate on its own.
What it needs
About 2k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
Internationalization Helper Helps manage internationalization (i18n) and localization (l10n) in multi-language applications. When to Use User requests i18n support Adding new languages Finding untranslated strings Managing translation files User mentions "translation", "i18n", "l10n", "locale" Instructions 1. Detect i18n Framework JavaScript/React: react-i18next react-intl (FormatJS) i18next LinguiJS Vue: vue-i18n Python: gettext Django i18n Flask-Babel Ruby/Rails: I18n gem (built-in) Look for imports, config files, or translation directories. 2. Find Hardcoded Strings Search for untranslated text: Search patterns: Strings in JSX/template tags Alert/error messages Form labels and placeholders Button text Validation messages Exclude: code comments, console.log, test strings 3. Extract to Translation Files React-i18next format (JSON): Gettext format (.po): 4. Organize Translation Keys Best practices: Namespace by feature: users.profile.title Group common strings: common.buttons.save Describe context, not content: errors.login.invalid not errors.wrongpassword Consistent naming convention 5. Check Translation Coverage Compare locale files to find missing translations: 6. Handle Pluralization Different languages have different plural rules: 7. Date, Time, Number Formatting Use locale-aware formatting: 8. RTL (Right-to-Left) Support For Arabic, Hebrew: CSS: direction: rtl; HTML: <html dir="rtl"> Logical properties: margin-inline-start instead of margin-left 9. Generate Translation Template Create template for new locale: 10. Best Practices Keep translations in separate files Use keys, not source text as keys Provide context to translators Test with long strings (German often longer) Use ICU MessageFormat for complex strings Avoid concatenating translated strings Extract all user-facing text Supporting Files templates/i18n-config.js: Configuration examples templates/locale-file.json: Translation file template
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/internationalization-helper