Smarter Strings for Star Citizen
A Windows desktop app for customizing Star Citizen's localization strings. Layer auto-generated stat and crafting enhancements on top of stock text, edit any in-game string in a sortable filterable table, and apply the result to your game install with a single click and an automatic backup.
Note
This project was originally inspired by ExoAE's ScCompLangPack and the merge concepts from MrKraken's ASOP terminal enhancements. Smart Citizen evolved into a standalone desktop app sourcing its data directly from your installed Data.p4k.
- Multi-Channel Star Citizen Support: LIVE / PTU / EPTU / HOTFIX / TECH-PREVIEW each get their own isolated workspace — independent
user.ini, cache, backups, DataForge extraction, and enhancement INIs. Switch channels from the Config tab without restarting. - Multi-Language Support: Switch the app and game strings between English, French, Spanish, and Brazilian Portuguese from the Config tab. Non-English languages layer a community-translated
global.ini(from Dymerz/StarCitizen-Localization) over the English base, with English fallback for anything untranslated. - Simple & Advanced Mode: A two-button Simple screen (one applies enhancements with your saved settings, the other switches to Advanced), or the full Advanced UI (table, filters, Enhancements, Config) for hand-editing. Pick your default at install; switch anytime in-app.
- Multi-Source Merge System: Sources (stock base, language overlay, enhancements, user) merge in a drag-and-drop priority order, with user overrides always applied last so your edits never get overwritten.
- Sourced from Data.p4k: All stock localization and DataForge entity data is extracted directly from your installed game — no community mirrors, no version drift, no network required after install.
- Inline Editing & Live Preview: Double-click any cell in the Custom Value column to edit. A preview pane next to the toolbar renders the selected string with the game's loc-tokens (line breaks, EM3/EM4 emphasis, mission placeholders) translated to styled HTML so you see roughly how it will appear in-game.
- Persistent Edits: Your customizations are saved to
user.iniper channel and automatically re-applied across game updates. - Auto-Generated Enhancements: Stat overlays for ships, ship components, ship weapons, FPS weapons, missions (with
[BP]/[BP?]blueprint reward tags + structured detail blocks), journal entries, and commodity crafting cross-references — all togglable per category in the Enhancements tab. Stat blocks can sit above or below the description. - Tag Builder & Mission Titles: Customize the bracketed name tags on components, missiles, ship weapons, and commodities, and lead hauling mission titles with their route (e.g.
Area18 > Lorville) — configurable placement, arrow, separator, and location detail, plus optional stock-title shortening, with a live preview. - Blueprints Ownership: Mark the crafting blueprints you already own — owned items get a star in an Owned column, and blueprint-title / blueprint-description filters help you find and tag them, so you can see at a glance what you still need.
- Declarative CIG Data-Bug Patches: A patch system applies fixes to known DataForge bugs at extraction time so the in-game text reads correctly without waiting on CIG.
- Search & Filter: Free-text search, category filter (Ships, Ship Items, Missions, Gear, Commodities, Journal, Other), modified/unmodified status, plus per-column filter rows under every header.
- Ship Favorites: Star a ship to prepend a configurable prefix (default
*) so your favorites sort to the top of the in-game ASOP terminal. - Apply Enhancements: Writes the merged result to your
global.ini, takes a timestamped backup first, and validates the output against the stock key set — auto-rolls back on any mismatch. - Backup & Restore: Up to 5 automatic backups per channel, oldest auto-pruned. One-click restore from any of them.
- Clear Localization: Revert your game to vanilla text without losing your saved overrides.
- Guided Tutorial: A coach-mark tour walks new users through the workflow on first launch of each version. Replayable any time from the Tutorial button.
- In-App FAQ: A FAQ tab answers the common questions (what files get touched, ban risk, the Windows unrecognized-app warning, undoing changes) without leaving the app.
- In-App Log Viewer: Real-time application log with level filter, auto-scroll, and an Export button for bug reports.
- Auto-Updater: Smart Citizen checks GitHub Releases at every launch. When a new version is out, review the release notes in-app and click Update Now: the installer downloads, Windows asks for permission, and the app reopens updated. Portable builds link to the release page instead.
- Themes: Four built-in themes — SCLE (default deep-navy mobiGlas), Light, Dark, and ODW (Osiris DevWorks signature).
Grab the latest release here: Smart Citizen Releases
Download the SmartCitizen-{VERSION}-Setup.exe installer and run it. The app auto-detects your Star Citizen installation.
Important
Windows Smart App Control may block the installer. Smart Citizen is not yet code-signed, and Windows 11's Smart App Control (SAC) silently blocks unsigned installers — right-click → Properties → Unblock does not help with SAC. To install:
- Open Settings → Privacy & security → Windows Security → App & browser control.
- Click Smart App Control settings and set Smart App Control to Off.
- Run
SmartCitizen-{VERSION}-Setup.exeand finish installation. - After install, you can return to that screen and turn Smart App Control back on if you'd like.
Note: on stock Windows 11, turning SAC off can be a one-way change — Microsoft does not always permit re-enabling without resetting Windows. Weigh that before disabling. A code-signing certificate is the only way to remove this friction permanently; Smart Citizen is a free side project, so signing will only happen if community donations cover the recurring cost.
Smart Citizen runs on Linux through the same Wine prefix as Star Citizen — see LINUX.md for the full guide (download the portable build, then point a launch script at the Wine runner your game uses).
See docs/CONTRIBUTOR_GUIDE.md for local setup (prerequisites, clone, install, run).
- The app creates
<data folder>\<channel>\for user data — cache, backups,user.ini. The default data folder isDocuments\Smart Citizen, and it can be changed in the Config tab. - Open the Config tab and click Extract from Data.p4k to unpack stock localization plus DataForge entity data from your installed game. When extraction finishes, sources merge by hierarchy and the strings load into the table automatically.
- The guided tutorial auto-runs the first time you launch a new version, walking you through the rest.
- Find & Edit:
- Use the Search box to find strings, the Category filter to narrow by domain (Ships, Ship Items, Missions, Gear, Commodities, Journal, Other), and per-column filter boxes for fine-grained narrowing.
- Double-click the Custom Value column to edit. The preview pane shows the rendered result.
- Apply Changes: Click Apply Enhancements. Your edits are persisted to
user.ini, the merged file is written to your game'sglobal.ini, and a timestamped backup is created automatically. - Restore (if needed): Click Restore Backup to revert to a previous version.
- Re-run Extract from Data.p4k in the Config tab to pull fresh stock strings and DataForge entity data from the patched game. The table reloads automatically and your customizations re-apply on top.
- Click Apply Enhancements to push the updated merge into the new build.
All settings are stored in Windows Registry under:
- Organization: Osiris DevWorks
- Application: Smart Citizen
The Config tab lets you set:
- Star Citizen install path (the SC root folder containing
LIVE/,PTU/, etc. — auto-detected at install time) - Active channel (LIVE / PTU / EPTU / HOTFIX / TECH-PREVIEW)
- Language (English, French, Spanish, Brazilian Portuguese; switches the app UI and the game strings)
- Smart Citizen data folder (where
user.ini, cache, DataForge extraction, enhancement INIs, and backups live) - Theme
- Data sources: enable/disable, drag-drop merge priority
- Import INI: fold an external
.iniinto your overrides - Reset / Restore user.ini: wipe your edits for the channel (with an auto-backup), or roll them back to an earlier rotating snapshot
The Enhancements tab lets you toggle each enhancement category (ship stats, weapon stats, mission tags, etc.), configure the ship favorite prefix, customize the Tag Builder for components, missiles, ship weapons, and commodities (plus Mission Titles route tags), mark owned crafting blueprints, and adjust Mission Labels (section headers, XP label, emphasis tag).
All per-user data lives under <data folder>\<channel>\, where <data folder> defaults to Documents\Smart Citizen and <channel> is one of LIVE, PTU, EPTU, HOTFIX, TECH-PREVIEW:
- Your edits:
user.ini - Cached sources & extracted DataForge:
cache\(base.ini,cache\dataforge\, and the generated*_enhancements.inifiles) - Backups:
backups\(max 5, oldest auto-deleted)
Each channel is fully isolated — you can run a different customization set on PTU than on LIVE without one bleeding into the other.
python src/main.pypython scripts/build/build_exe.pyThis creates a PyInstaller onedir at dist/SmartCitizen-v{VERSION}\ containing SmartCitizen-v{VERSION}.exe. VERSION comes from VERSION.TXT.
Requires Inno Setup 6:
powershell -NoProfile -Command "& 'C:\Users\<you>\AppData\Local\Programs\Inno Setup 6\ISCC.exe' installer.iss"Outputs:
dist/SmartCitizen-v{VERSION}\— Standalone executable (onedir, distributed via the installer)dist/SmartCitizen-{VERSION}-Setup.exe— Installer (this is what users download)
The installer preserves user data — user.ini and backups/ survive both upgrades and uninstalls; only the regeneratable cache is removed on uninstall.
src/
├── main.py # Application entry point
├── gui/ # PyQt6 widgets and dialogs
├── models/ # StringEntry dataclass, category extraction
├── parser/ # INI parsing + source loading
├── merger/ # Source merge engine
└── utils/ # Settings, paths, P4K extraction, patcher,
# version, updater, app_updater, progress sink
scripts/
├── generate_enhancements_ini.py # DataForge XML → enhancement INI files
├── extract_components.py # base.ini delta extraction
├── gen_commodity_crafting.py # Commodity crafting cross-reference INI
├── diff_*.py # Diagnostic / research tools
└── build/ # PyInstaller build script + helpers
patches/ # Declarative DataForge patches (JSON)
tests/ # pytest suite
assets/ # Bundled resources (unp4k, fonts, icon, tutorial)
For a deeper guide to architecture and conventions, see CLAUDE.md at the repo root.
After applying localization, the relevant path inside your Star Citizen install looks like:
StarCitizen/
└── LIVE/ (or PTU/, EPTU/, HOTFIX/, TECH-PREVIEW/)
├── user.cfg
└── data/
└── Localization/
└── english/ (or the selected language's folder,
└── global.ini e.g. french_(france)/)
Important
Made by the Community — This is an unofficial Star Citizen fan project, not affiliated with the Cloud Imperium group of companies. All content in this repository not authored by its host or users is the property of its respective owners.
- The ability to customize your localization using extracted
global.inifiles is authorized by CIG to support community translations until officially integrated.- Star Citizen: Community Localization Update 2023-10-11
- Use at your own discretion as a third-party contribution.
- RSI Terms of Service
- Translation & Fan Localization Statement
Thanks to those who've contributed code to Smart Citizen:
- Ishikudeska
- jonigirl
- Coerwyn
- denis-coach (also h0use)
- scubamount
- hkstrongside
- Boogie Man, Perseuscz, Flat Earth, Lord Valium, Zero, Apolleon Phoibos, Epiq, Narull — testers who helped shape Smart Citizen with their feedback
- Akwa — French interface translation
- Nxzzin — Brazilian Portuguese interface translation
- Osiris-DevWorks/odw-fast-unp4k — Bundled
unp4k.exe/unforge.exeused to unpackData.p4kand convert DataForge to XML; our parallelized fork of the original dolkensp/unp4k - Dymerz/StarCitizen-Localization — Community-maintained
global.initranslations that power the non-English language options - ExoAE — Original ScCompLangPack concept and merge logic that inspired Smart Citizen's foundation
- MrKraken — ASOP terminal enhancements, workflow improvements, and mission contract localization work
- The Star Citizen community — for endless feedback, testing, and ideas
Thanks to those who've supported the project financially — your contributions help keep Smart Citizen free for everyone:
- Dimwit the Wise
Smart Citizen is licensed under the Apache License, Version 2.0 — see LICENSE for the full text and NOTICE for attribution of bundled third-party software (unp4k / unforge) and the Star Citizen / CIG trademark notice.
All bug reports, feature requests, and prioritization happen in the dedicated #smart-citizen channel on the Osiris DevWorks Discord. Reactions and polls drive what lands next.
- Discord Server Invite — join the server first, then jump into the Smart Citizen feedback channel.
- When reporting a bug, attach the log (Log tab → Export) and mention the SC version you're on.
Smart Citizen is a free, open-source project. If you find it useful and want to support development:
Fly safe, Citizen! o7







