Skip to content
Development
Skill

/localize

Generates or updates i18n localization files, translation keys, and locale configurations. Use when adding a new language, updating translation strings, or when the user mentions localization, i18n, translation, or l10n.

From plugin
software-development-department
74116 skills28 agents1 MCP

Claude Code

$ npx -y skills add tranhieutt/software_development_department --skill localize --agent claude-code

SKILL.md

localize.SKILL.md
name: localize
type: workflow
description: "Generates or updates i18n localization files, translation keys, and locale configurations. Use when adding a new language, updating translation strings, or when the user mentions localization, i18n, translation, or l10n."
argument-hint: "[scan|extract|validate|status]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Bash
effort: 1
when_to_use: "When scanning, extracting, or validating localization strings, or checking for hardcoded text in the codebase"

When this skill is invoked:

1. **Parse the subcommand** from the argument:

  • `scan` — Scan for localization issues (hardcoded strings, missing keys)
  • `extract` — Extract new strings and generate/update string tables
  • `validate` — Validate existing translations for completeness and format
  • `status` — Report overall localization status

2. **For `scan`**:

  • Search `src/` for hardcoded user-facing strings:
  • String literals in UI code that are not wrapped in a localization function
  • Concatenated strings that should be parameterized
  • Strings with positional placeholders (`%s`, `%d`) instead of named ones (`{playerName}`)
  • Search for localization anti-patterns:
  • Date/time formatting not using locale-aware functions
  • Number formatting without locale awareness
  • Text embedded in images or textures (flag asset files)
  • Strings that assume left-to-right text direction
  • Report all findings with file paths and line numbers

3. **For `extract`**:

  • Scan all source files for localized string references
  • Compare against the existing string table (if any) in `assets/data/`
  • Generate new entries for strings that don't have keys yet
  • Suggest key names following the convention: `[category].[subcategory].[description]`
  • Output a diff of new strings to add to the string table

4. **For `validate`**:

  • Read all string table files in `assets/data/`
  • Check each entry for:
  • Missing translations (key exists but no translation for a locale)
  • Placeholder mismatches (source has `{name}` but translation is missing it)
  • String length violations (exceeds character limits for UI elements)
  • Orphaned keys (translation exists but nothing references the key in code)
  • Report validation results grouped by locale and severity

5. **For `status`**:

  • Count total localizable strings
  • Per locale: count translated, untranslated, and stale (source changed since translation)
  • Generate a coverage matrix:
   ## Localization Status
   Generated: [Date]

   | Locale | Total | Translated | Missing | Stale | Coverage |
   |--------|-------|-----------|---------|-------|----------|
   | en (source) | [N] | [N] | 0 | 0 | 100% |
   | [locale] | [N] | [N] | [N] | [N] | [X]% |

   ### Issues
   - [N] hardcoded strings found in source code
   - [N] strings exceeding character limits
   - [N] placeholder mismatches
   - [N] orphaned keys (can be cleaned up)

Rules

  • English (en) is always the source locale
  • Every string table entry must include a translator comment explaining context
  • Never modify translation files directly — generate diffs for review
  • Character limits must be defined per-UI-element and enforced automatically
  • Right-to-left (RTL) language support should be considered from the start, not bolted on later
Read more
@tranhieutt
Ships withsoftware-development-department

Software Development Department

74116 skills28 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
74
Star history of tranhieutt/software_development_department on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about localize.

Which coding agents can use localize?
localize installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.