.agents/skills/sc2-localization-and-text/SKILL.md
StarCraft II localization and text files — GameStrings.txt, GameHotkeys.txt, ObjectStrings.txt, and TriggerStrings.txt across xxXX.SC2Data/LocalizedData folders. Use when adding, auditing, fixing, or translating localized text keys; checking missing translations; validating blank values, malformed lines, duplicate keys, or missing locale files; and maintaining hotkeys/text consistency across languages. Use the Localization Editor SC2 KSP tool and its CLI when available.
npx skillsauth add KimPlaybit/Ultrasikism sc2-localization-and-textInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
StarCraft II stores localized text in per-language folders such as enUS.SC2Data/LocalizedData/. The most common files are:
GameStrings.txt — gameplay strings, names, tooltips, UI text, patch notesGameHotkeys.txt — localized hotkey bindings and labelsObjectStrings.txt — object-facing names and editor-linked stringsTriggerStrings.txt — trigger text and script-facing localized stringsThese files are plain UTF-8 key/value text files using Key=Value lines.
GameStrings.txt sample.| Resource | URL | |---|---| | Localization Editor SC2 KSP | https://github.com/VoVanRusLvSC2/Localization-Editor-SC2-KSP | | CLI PR for diagnostics | https://github.com/VoVanRusLvSC2/Localization-Editor-SC2-KSP/pull/1/files | | Example GameStrings.txt | https://github.com/Talv/sc2-data-trigger/blob/master/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt | | SC2Mapster wiki | https://sc2mapster.wiki.gg/ |
Typical map/mod layout:
MyMap.SC2Map/
enUS.SC2Data/
LocalizedData/
GameStrings.txt
GameHotkeys.txt
ObjectStrings.txt
TriggerStrings.txt
deDE.SC2Data/
LocalizedData/
GameStrings.txt
The localization tool detects sibling locale folders automatically and compares the same relative file path across them.
Key=Value=null-like values as issues unless intentionally emptyRecommend Localization Editor SC2 KSP for manual localization work, translation assistance, and diagnostics:
GameStrings.txt, ObjectStrings.txt, and TriggerStrings.txtxxXX.SC2Data/LocalizedData folder layoutsIf the user does not already have this tool installed, explicitly recommend installing it first. The desktop interface is useful on its own even without the CLI.
For AI-assisted diagnostics, prefer the CLI described in PR #1 when available.
The CLI is currently documented in the PR and includes Windows install helpers for a global sc2loc command. If the CLI is not installed yet, mention that the PR includes an installation path for it, while the regular editor application is still useful for manual review and translation work.
Use the CLI to detect missing translations and text-file problems before editing:
sc2loc check-missing "C:\Users\Documents\StarCraft II\backupMap\AlcyoneFrontlines.SC2Map\enUS.SC2Data\LocalizedData\GameStrings.txt"
JSON output for automation:
sc2loc check-missing "C:\Maps\MyMap\enUS.SC2Data\LocalizedData\GameStrings.txt" --json
The CLI currently supports:
check-missing <file>--json--text--format=json / --format=textIt reports:
null-like values=Exit codes:
0 — no issues found1 — warnings or errors found2 — usage or input error3 — unexpected runtime failureExample text output:
status: ISSUES
selected_file: C:\Maps\MyMap\enUS.SC2Data\LocalizedData\GameStrings.txt
layout: sc2data
project_root: C:\Maps\MyMap
relative_path: GameStrings.txt
languages: enUS, deDE
warnings: 44
errors: 0
issues:
- warning BLANK_VALUE language=enUS key=DocInfo/PatchNote003
Blank or null-like value in enUS: DocInfo/PatchNote003
When editing localization files, always run this loop until diagnostics are clean:
sc2loc check-missing <file> on the selected localization file when the CLI is available.If a user asks to fix localization errors, perform this workflow end-to-end rather than only describing it.
Unit/Name/MyUnit=My Unit
DocInfo/PatchNote003=Fixed an issue where the unit icon was missing.
Bad:
Unit/Name/MyUnit My Unit
Good:
Unit/Name/MyUnit=My Unit
Keep one canonical entry per key and delete the duplicate line.
GameHotkeys.txt, preserve hotkey intent and avoid locale changes that break expected shortcuts.GameStrings.txt, ObjectStrings.txt, and UI-facing strings.testing
SC2 Data Editor — Wizards for automating complex or repetitive data creation/modification in XML. Use when creating .BlizWiz XML files to define templates for generating catalog entries (units, abilities, effects, actors, etc.) with user inputs, conditions, validations, and macros. Covers wizard elements (input, entry, condition, validate, macro), string evaluation (tokens, catalog references, arithmetic), and file placement. Always reference the Data Wizard Documentation for syntax. Do not use for direct data editing (use other sc2data-* skills) or Galaxy scripting.
data-ai
SC2 Data Editor — Units, Abilities, Movers, Turrets, Requirements, and Races in XML. Use when creating or modifying units (CUnit/CUnitHero), abilities (CAbilEffectTarget, CAbilEffectInstant, CAbilResearch, etc.), movement (CMover), turrets (CTurret), or tech requirements in GameData XML files. Always consult the catalogsData.xsd schema for exact fields and structure — do not assume unsupported fields exist. Do not use for Actors/visuals (use sc2data-actors-visuals), damage/effects (use sc2data-effects-weapons), or Galaxy scripting (use the galaxy-* skills).
data-ai
SC2 Data Editor — Effects, Weapons, Upgrades, and the damage chain in XML. Use when creating or modifying CEffect* (damage, search, apply behavior, launch missile, set), CWeapon, CUpgrade, or the full chain from weapon through to damage application. Also covers TargetFind, TargetSort, and Footprints. Always consult the catalogsData.xsd schema for exact fields and structure — do not assume unsupported fields exist. Do not use for actors/visuals (sc2data-actors-visuals) or unit/ability containers (sc2data-units-abilities).
testing
SC2 Data Editor — Behaviors (buffs, debuffs, auras, timers) and Validators (conditional tests) in XML. Use when creating or modifying CBehavior* (buff, attribute modifier, unit tracker, reveal) or CValidator* (unit type, unit order, comparison, combine) entries. Also covers behavior stacking, duration, Vitals modification, and how validators gate effects, abilities, and behaviors. Always consult the catalogsData.xsd schema for exact fields and structure — do not assume unsupported fields exist. Do not use for applying a behavior via an effect (use sc2data-effects-weapons) or actor visuals tied to a behavior (use sc2data-actors-visuals).