A web-based editor for EVE Online Overview profiles: load a base profile, customise every
parameter the game exposes, watch a live in-game-style preview react, and export a genuine
.yaml you can import straight back into the client.
Quick links: Z-S Overview Pack Β· Discord Β· Changelog Β· Customiser live tool
- A 10th-anniversary gift to the EVE community
- Features
- Screenshots
- How the EVE Overview actually works
- YAML config key legend
- Using your YAML out of game
- Project layout
- Tech stack
- Setup
- Using the app
- Contributing translations
- Community & support
- Privacy & data
- License
- Copyright notice
Life has a strange way of closing loops. Early in June 2026, a change in my circumstances led me back to a game I hadn't logged into for the better part of a decade β EVE Online. Not long after I undocked, Kismeteer, the volunteer who currently keeps the Z-S Overview pack alive, noticed I was around. We got to chatting; he walked me through the state of Z-S today and, almost in passing, reminded me just how many years had gone by since I'd last been in New Eden.
That sent me digging, and I found it: my first ever commit to Z-S, on June 9th, 2016. Ten years, almost to the day. Seeing that timestamp reignited something β including the memory of a customiser tool I'd started building for the pack years ago and never finished.
So I finished it. This project is my Z-S 10th-anniversary gift to the EVE community β for everyone who's ever fought, hauled, ratted, or run for their pod behind a Z-S overview. Fly safe. o7
-
Real EVE format, both ways. Loads and exports the actual in-game overview YAML (ordered-map tuples, integer state ids,
<color=β¦>/<fontsize=β¦>markup). All bundled bases β Z-S Full v10.06.09 (the default, an in-game-only release), Z-S Full v9.00.0347 (the last git-tracked pack, kept for compatibility) and Fenris Default v24.01 (the stock overview a fresh character gets) β parse through the same pipeline, and exports round-trip cleanly back into EVE. -
1:1 settings mirror. Tabs, Presets β create, duplicate, rename and delete them (renames cascade into the tabs that use them) plus their groups / filtered states / always-shown states β Columns, Appearance (colortag + background priority, colour pickers, blink), Ship Labels, Misc, and a live YAML view. Tab brackets support the client's "Show all brackets" mode (
_BracketFilterShowAll, the default β the game has no "no brackets" state) alongside per-preset bracket filtering, and a β button copies a tab's list preset straight into its brackets slot. -
Per-tab columns. Any tab can carry its own column set and order (
tabColumns/tabColumnOrderβ the in-game tab right-click β Columns menu) instead of the profile-wide set: a Columns button on each tab card opens a picker with the same tick-and-drag editing, and can copy another tab's columns in one step. Tabs you don't touch stay on the profile columns and export without those keys, exactly as the client writes them. -
Compare profiles. Load one or more overview
.yamlfiles and diff them against your current profile, coarse to fine:- a preset inventory pairing every preset on both sides and sorting them into new upstream Β· changed Β· only yours Β· identical, with each side's group count and how many groups moved β the counts on the filter buttons are the short answer to "how far behind am I";
- the profile settings, differing rows highlighted;
- preset vs preset, with a group-by-group matrix and a Differences only filter for the long ones.
Pairing ignores EVE colour markup, because packs restyle their preset names between releases: between Z-S v9 and v10 only 6 of 68 names match byte for byte, while 58 match once the colours are ignored. Clicking a preset in the inventory opens that pair in the detail table.
Each of the three sections collapses to its heading via its own eye, and the ? beside the heading opens a six-step walkthrough in the guide. The tables are fluid β they fill the panel and compress as more files load, scrolling sideways only once a profile column would drop below 150px.
-
Customisable live preview. Add your own entities to the roster and watch them update live in a game-accurate overview list and a tactical bracket view with a twinkling starfield β including fully styled
shipLabelsbracket text. The entity editor's Type field searches the entire SDE database (ships, NPCs, asteroids, Upwell/sov structures, drones, deployables, wrecksβ¦), so any real space object can join the preview with its correct group wired up. Right-click a preview tab to re-point its list / bracket presets in-place (the menu opens at the cursor, above all panels) β with a search box to cut through large preset packs. -
Rapid populate & saved groupings. One click swaps the whole preview roster for a named entity grouping β built-in samples (fleet skirmish, mining fleet, structure bash, NPC site) ship out of the box, and you can save your own from the current roster. Every grouping, samples included, can be renamed, overwritten or deleted, and the list persists in your browser.
-
Nothing is lost between groupings. The entities you are working on carry an Unsaved marker when they differ from the grouping they came from, and loading another grouping parks them rather than dropping them β the row is dotted in the list, and coming back restores exactly what you were editing. The roster itself survives a reload too, so cross-checking another grouping, or closing the tab, never costs work. The export view repeats the warning, since preview entities are workbench data and never part of the YAML.
-
Import any YAML (file or paste) in one of three modes:
- Presets only (the default) takes the file's presets and nothing else, so your tabs, columns, colours and ship labels survive. This is how you refresh presets from a newer pack β every real pack file (Z-S Core, 1BL, 2BL and Full alike) is a complete profile, so applying one on top would replace the layout you built around it;
- Apply on top merges as the game does: matching presets are updated, new ones appended, and layout sections overwritten when the file has them;
- Overwrite replaces everything.
A preset that matches one you already hold is updated in place rather than appended, so upgrading a pack does not leave you holding two of every preset.
-
Export a preset pack. The YAML view can narrow the export to just the presets you tick and drop every other section β a file that refreshes someone else's presets without touching their tabs and colours. The client itself only ever writes whole profiles, which is exactly why this is useful.
-
Version history saved in your browser (IndexedDB): name, reload, rename, delete, re-export, or share (copies the YAML to your clipboard β no third-party services). Naming is explicit: type a name and it is used as typed, leave it blank and the version is stamped with the base profile plus the date and time.
-
Glossary & guide (book icon in the header, and offered on first run): a six-step walkthrough, the vocabulary of both the tool and the client, what every control does, and the questions players actually ask β searchable, and translated alongside the interface.
-
Coverage counts on every category. The group browser shows authorised / total per category β
Ship 50/50,Charge 7/8β the same sanity check the client's type tree gives, turning green at full coverage. After an expansion adds a group, the category that fell behind is the one that no longer matches. Groups are listed in responsive columns rather than one long scroll, which matters for Entity's 415 of them. -
Built for a phone and a tablet too. Below
lgthe header's controls move into a menu sheet instead of competing with the title for one row, and the workspace stacks. From2xlup the main actions carry a label beside their icon. Verified by a width sweep from 320px to 2560px in both locales. -
Multi-tab aware. Every tab of the site shares one autosave slot, so if a second tab saves over it you get a notice offering to load that version rather than silently losing one workspace to the other.
-
Privacy by design. No cookies, no analytics, no tracking, no third-party requests at all β fonts are self-hosted and every byte of your work stays in your browser. An in-app privacy, data & licences panel (shield icon in the header) inventories every locally stored item, offers one-click erasure of all of it, and carries the full third-party attribution. See Privacy & data.
-
Drag-and-drop reordering (mouse and touch) with a ghost drop-slot and live reflow, plus up/down arrows as a mobile-friendly fallback β for columns, state priorities, tabs and bracket-label segments. The live preview reorders too, through two controls that explain themselves on hover or keyboard focus: a lock on the tab strip, and a tri-state control on the column header β π locked, π this tab (the tab gets its own column set, nothing else moves), π whole profile (the shared order every inheriting tab follows). Both write to the same settings the Tabs and Columns sections edit, so the two views never disagree, and both start locked so no stray drag rearranges a profile.
-
A workspace you can arrange. Drag the divider between the settings panel and the preview column to rebalance them (double-click to reset, arrow keys to nudge it), and give any of the four panels β settings, tactical brackets, overview list, preview entities β its π eye to collapse it to a bar and bring it back. Both the split and the hidden panels persist in your browser.
-
Dark / light theme, S/M/L/XL UI scale, session restore (resume where you left off), first-run welcome, mobile-responsive layout.
-
Multilingual UI (English and EspaΓ±ol so far) with a language selector in the header β switching applies instantly, no reload. See Contributing translations.
The full editor β settings panel on the left, live tactical-bracket and overview-list preview on the right:
The live preview column: game-accurate tactical brackets, the overview list resolving each entity against the active tab's preset, and the Preview Entities roster:
The entity editor offers every state the client knows β the same list the preset editor shows, standings (Excellent / Good / Neutral / Bad / Terrible / No Standing) included β so a preview entity can reproduce any relationship a preset filters on.
Rapid populate β one click swaps the preview roster for a built-in sample or one of your own saved groupings:
The tactical brackets rendering the Mining fleet sample:
Light theme is available too, persisted across visits:
The Overview is not a passive list β it is a real-time boolean filtering engine that evaluates every entity on your spatial grid against your profile, dozens of times per second. Understanding four building blocks explains every key in the YAML.
Every object in EVE has an atomic typeID (a Rifter, a specific asteroid).
Types roll up into groupIDs (Frigate = group 25, Stargate = group
10), which roll up into categoryIDs (Ship = category 6). Overview
filters operate almost exclusively at the group level: white-listing group
26 shows every Cruiser variant ever added to the game. This data comes from
Fenris' Static Data Export (SDE); the customiser compiles it into
public/data/matrix_latest.json via scripts/build_sde_matrix.py, filtered
down to objects that can actually appear on the overview β inventory-only
types (ammo, mining crystals, module scripts, compressed ore/ice/moon-ore
variantsβ¦) and render-only scenery (dust clouds, invisible beacons, map
hierarchy objects) are excluded. The group set is validated 1:1 against an
in-game "every group" preset export (game version v24.01, committed under
scripts/reference/), and the build warns when a future SDE drifts from it.
A preset decides what renders. Each one carries three arrays forming two independent gates:
groupsβ the whitelist of SDE groupIDs the preset may display. A hull whose group is not listed never renders, and no state overrides this: a logi tab stays a logi tab.- Within an authorised hull, the states decide:
filteredStatesβ veto. An entity matching any state here is hidden (e.g. hide friendlies on a combat tab to prevent misclicks).alwaysShownStatesβ overrides that veto. An entity matching any state here renders despite also matching a filtered state (e.g. veto your corp, but never lose sight of a war target flying in it).
This follows the client's own wording for the always-shown column β "Entities with this state will always be shown regardless of the display setting of additional states they may have" (EVE University) β so the override is scoped to states, not to the type filter.
Rows the override rescued from a veto carry a small * next to the
colortag in the preview; hover it for the reason.
The overview window supports up to 20 tabs (the client's current cap; it was
historically 8). Each tab points at two
presets: overview (the flat list) and bracket (the floating icons in 3D
space) β independently. A logistics pilot can list only friendlies while still
seeing hostile brackets in space to dodge incoming fire. A tab whose bracket
is _BracketFilterShowAll shows every bracket unfiltered (the client's
default; it has no "no brackets" state).
A tab may also override the profile's columns with tabColumns (the set it
shows) and tabColumnOrder (its own left-to-right master order) β what the
in-game tab right-click β Columns menu writes. Both keys are absent on a tab
that simply inherits the profile-wide overviewColumns / columnOrder, so a
narrow "SYSTEM" tab can show four columns while a combat tab carries a dozen.
Relationship/legal status is communicated two ways:
- Colortags (flags) β small icons by the entity's icon (
flagStates,flagOrder). - Backgrounds β full-row highlights for at-a-glance threat
(
backgroundStates,backgroundOrder).
A pilot can match many states at once (fleet member and criminal). The
client walks flagOrder / backgroundOrder top to bottom and stops at the
first match β so priority order is everything: existential threats (War
Target, Criminal, Outlaw) belong above friendly affiliations. stateBlinks
makes a state flash; stateColorsNameList maps each state to a named colour or
0xAARRGGBB hex.
The complete reference of every key the client parses in an overview .yaml.
| Key | Purpose |
|---|---|
flagOrder |
Top-to-bottom priority for colortags when multiple states match. |
flagStates |
Whitelist of states allowed to render a colortag at all. |
backgroundOrder |
Priority list for full-row background highlights. |
backgroundStates |
Whitelist of states allowed to render a background. |
stateBlinks |
Per-state boolean toggles for rhythmic flashing (flag_13, background_44, β¦). |
stateColorsNameList |
Maps states to a named colour (orange, darkBlue, β¦) or 0xAARRGGBB hex. |
overviewColumns / columnOrder |
Which telemetry columns show, and in what left-to-right order. |
presets |
The named boolean filters (see Preset variables below). |
tabSetup |
Maps tab indexes 0β19 to presets (see Tab variables below). |
shipLabelOrder / shipLabels |
Order and styling of the floating bracket label segments. |
userSettings |
Misc client-side settings carried with the profile. |
Exact strings accepted inside overviewColumns β and inside a tab's
tabColumns / tabColumnOrder (misspelling breaks rendering):
ICON, NAME, TYPE, TAG, DISTANCE, CORPORATION, ALLIANCE, FACTION,
MILITIA, SIZE, VELOCITY, RADIALVELOCITY, TRANSVERSALVELOCITY,
ANGULARVELOCITY.
| Key | Effect |
|---|---|
alwaysShownStates |
Overrides the state veto, within hulls the groups whitelist already authorises. |
filteredStates |
State veto β hides matching entities unless alwaysShownStates rescues them. |
groups |
Whitelisted SDE groupIDs (e.g. 6 Sun, 10 Stargate, 15 Station, 25 Frigate, 26 Cruiser, 27 Battleship). |
| Key | Effect |
|---|---|
name |
Tab caption; supports markup like <color=0xFFFFFFFF>β</color>. |
overview |
Preset used for the flat list view. |
bracket |
Preset used for in-space icons, or _BracketFilterShowAll to show every bracket. |
color |
Optional [r, g, b] float triplet tinting the tab text. |
tabColumns |
Optional per-tab column set, overriding overviewColumns for this tab only. |
tabColumnOrder |
Optional per-tab master column order, overriding columnOrder for this tab only. |
Prefix with flag_ or background_ when used in stateBlinks /
stateColorsNameList (e.g. background_13).
The IDs and meanings below follow Tomas Iridium's canonical
states_all.yaml
(creator of Iridium Overview). The same IDs drive filters, backgrounds and flags
alike β except the wreck IDs (36 / 37), which the client honours only in
filteredStates / alwaysShownStates, never as a colortag or background. ID 20
has no observed in-game meaning but surfaces in YAML exports, so it is kept as a
reserved passthrough.
| ID | Meaning |
|---|---|
| 9 | Pilot has a security status below -5 |
| 10 | Pilot has a security status below 0 |
| 11 | Pilot is in your fleet |
| 12 | Pilot is in your Capsuleer corporation |
| 13 | Pilot is at war with your corporation/alliance |
| 14 | Pilot is in your alliance |
| 15 | Pilot has Excellent Standing |
| 16 | Pilot has Good Standing |
| 17 | Pilot has Neutral Standing |
| 18 | Pilot has Bad Standing |
| 19 | Pilot has Terrible Standing |
| 20 | Reserved - appears in exports, no in-game meaning |
| 21 | Pilot (agent) is interactable |
| 36 | Wreck is already viewed (filter only) |
| 37 | Wreck is empty (filter only) |
| 44 | Pilot is at war with your militia |
| 45 | Pilot is in your militia or allied to your militia |
| 48 | Pilot has No Standing |
| 49 | Pilot is an ally in one or more of your wars |
| 50 | Pilot is a suspect |
| 51 | Pilot is a criminal |
| 52 | Pilot has a limited engagement with you |
| 53 | Pilot has a killright on them that you can activate |
| 66 | Pilot is in your Non Capsuleer corporation |
| 68 | Pilot has retribution timer |
Exports from this customiser (and pack files like Z-S) are imported through the client's overview import pipeline. Adapted from the Z-S pack instructions:
-
Get the file(s). Export from this app (YAML tab β Download .yaml), or download a pack release (e.g. Z-S: Releases β latest β the
Z-S-β¦.zipasset) and extract it. From a pack you can copy individual preset packs + a layout, or a single pre-styled Full pack file. -
Place them in EVE's Overview folder for your platform:
Platform Path Windows %USERPROFILE%\Documents\EVE\OverviewmacOS ~/Documents/EVE/OverviewLinux (Steam/Proton) ~/.steam/steam/steamapps/compatdata/8500/pfx/drive_c/users/steamuser/Documents/EVE/OverviewIf the folder doesn't exist, create it β or better, export your current overview from the game first (same window, Export Overview Settings, Check All): that backs up your settings and creates the folder.
-
In game: open the Overview Settings (the
β‘button at the top left of the Overview window) β Misc tab. -
Optionally click Reset All to start from clean defaults.
-
Click Import Overview Settings, select your file in the left list, click Check All, then Import.
-
Importing pieces? Repeat step 5 for each preset pack, then the layout β that is exactly what this app's Apply on top import mode replicates.
-
Some elements may not refresh immediately β dock and undock once to force the UI to reload everything.
Tip: profiles can also be shared in game by dragging a saved profile link into chat β recipients load it with one click.
Z-S-Overview-Customizer/
βββ index.html # entry HTML (theme bootstrapping, fonts)
βββ vite.config.js # Vite + base path (GitHub Pages) + aliases
βββ biome.json # lint/format config (+ Svelte overrides)
βββ scripts/
β βββ build_sde_matrix.py # Fenris SDE zip β minified matrix_latest.json
β βββ reference/ # in-game "All Entities" export (v24.01) β group-set ground truth
βββ .github/workflows/
β βββ sde_update.yml # scheduled CI refresh of the SDE matrix
βββ public/
β βββ data/matrix_latest.json # categories β groups β types lookup
β βββ defaults/
β βββ fenris_default_v24.01.yaml # stock base (real EVE format)
β βββ zs_full_v10.06.09.yaml # Z-S Full base β the default (in-game-only release)
β βββ zs_full_v9.00.0347.yaml # Z-S Full legacy base (last git-tracked pack)
βββ images/ # flow-diagram renders + screenshots used in this README
βββ notes/ # local research workspace (gitignored)
βββ src/
βββ main.js # Svelte 5 mount
βββ App.svelte # shell: header, nav, layout, dialogs, autosave
βββ assets/tailwind.css # theme tokens (CSS vars), starfield, blink
βββ lib/
βββ i18n/strings.js # all UI copy (locale-ready, t('a.b.c'))
βββ data/stateMatrix.js # state-ID taxonomy, colours, column defs
βββ stores/
β βββ customiserStore.svelte.js # reactive profile model + roster + session
βββ utils/
β βββ eveFormat.js # YAML codec: parse/serialize, markup, colours
β βββ merge.js # "apply on top" pack-merge semantics
β βββ history.js # IndexedDB snapshots (clipboard sharing)
β βββ labels.js # shipLabels β styled bracket-label HTML
βββ components/
βββ TabManager.svelte # tab setup (names, presets, colours, columns)
βββ PresetEditor.svelte # filter logic per preset
βββ MatrixSelector.svelte # SDE group browser/search
βββ ColumnConfig.svelte # profile-wide telemetry columns
βββ ColumnPicker.svelte # shared column tick/reorder list
βββ AppearanceConfig.svelte # colortag/background priorities
βββ ShipLabels.svelte # bracket-label composer
βββ MiscConfig.svelte # profile stats + userSettings
βββ YamlExporter.svelte # live YAML + download/copy
βββ OverviewWindow.svelte # game-accurate list preview
βββ SpaceBrackets.svelte # starfield bracket preview
βββ EntityRoster.svelte # preview entities (modal editor)
βββ ImportDialog.svelte # file/paste import, overwrite/merge
βββ HistoryDialog.svelte # saved versions, share
βββ WelcomeModal.svelte # first-run chooser
βββ DragList.svelte # reusable DnD + arrows reorder list
βββ Modal.svelte # shared dialog chrome
Theme and scale come from localStorage; a saved session resumes exactly where
you left off, otherwise the first-run welcome offers a starting point. Every
model change autosaves (debounced) back to the session.
File, paste, or a history snapshot all flow through the same codec; Apply on top runs the pack-merge rules (same-named presets replaced, new ones appended, layout sections overwritten when provided), Overwrite replaces the model.
The store holds the profile as plain reactive state keyed by the client's integer state IDs; serialisation back to game-importable YAML is lossless.
Each roster entity is resolved against the active tab's presets β the group whitelist first, then the state veto and the always-shown override within it β then the first matching state in the priority orders picks the colortag and background.
Bracket-label segments carry stateful EVE markup (<fontsize=β¦>, <color=β¦>,
<b>β¦) that can open in one segment and close in another; the renderer
balances it into safe styled HTML.
One reusable DragList drives columns, priorities, tabs and label segments β and the preview's reorder lock drives the tab strip and column header through the same store methods, so preview and settings can't disagree: drag by the handle (ghost drop-slot + live reflow) or use the arrow buttons.
Named snapshots live in IndexedDB; sharing copies the YAML straight to your clipboard.
A scheduled GitHub Action rebuilds the ship/group/category lookup from the official Static Data Export.
For full disclosure, the libraries and tooling this project depends on:
- Svelte 5 (
^5) β UI framework (runes-based reactivity). - js-yaml (
^4.2) β YAML parse/dump powering the EVE overview codec. - svelte-dnd-action (
^0.9) β accessible, touch-friendly drag-and-drop reordering. - @fontsource-variable/inter + @fontsource-variable/jetbrains-mono β the UI fonts, self-hosted and bundled (SIL OFL 1.1); no font CDN, no visitor IP ever sent to Google.
- Vite (
^8) + @sveltejs/vite-plugin-svelte β dev server and bundler. - Tailwind CSS (
^4) via @tailwindcss/vite β styling with CSS-first@themeconfig, themed via CSS custom properties. - Biome (
2.4) β linter / formatter.
- IndexedDB β local, named version history (no backend).
- Clipboard API β copy / share YAML.
- localStorage β theme, UI scale, session restore, and the preview roster
(including edits parked per grouping). Its cross-tab
storageevent is what tells one tab that another has overwritten the shared session.
- Python 3 with PyYAML and
Requests β downloads Fenris' official Static
Data Export and compiles
matrix_latest.json.
- Fenris' Static Data Export β ship / group / category data (fetched at build time only, never from the browser).
No analytics, accounts, backend, third-party APIs, or CDNs (fonts included) β everything runs client-side in your browser. See Privacy & data.
Node and pnpm are pinned per project via
Volta (see the volta field in package.json).
pnpm installpnpm run sde:buildDownloads Fenris' official SDE zip, extracts categories.yaml, groups.yaml,
types.yaml, and writes the minified map to public/data/matrix_latest.json.
Requires Python with pyyaml and requests.
The map covers every category that can appear in space on the overview,
mirroring the game's own overview-settings tree: Celestial, Station, Ship,
Charge, Entity (NPCs), Commodity (Homefront objectives), Drone, Deployable,
Starbase, Asteroid, Sovereignty Structures, Orbitals (customs offices),
Structure (Upwell citadels, skyhooks) and Fighter. The extracted group set is
checked against scripts/reference/All_Entities_v24.01.yaml β an in-game
export of a preset containing every loadable overview group β and any drift
is reported in the build log.
pnpm run dev # Vite dev server (http://localhost:3000/Z-S-Overview-Customizer/)
pnpm run build # production build to dist/
pnpm run preview # preview the production build
pnpm test # codec round-trip self-check (node --test, no framework)- On first visit, the welcome screen asks what to start from: Z-S Full
v10.06.09 (the recommended default), Fenris Default v24.01, an imported
.yaml, or a blank profile. Your work autosaves to the browser, so later visits resume where you left off. - Configure tabs, presets, columns, appearance, and ship labels in the left panel β every applicable EVE parameter is mirrored 1:1. A tab that needs a different column layout from the rest gets one from the Columns button on its card in Tab Setup (and can copy another tab's columns wholesale).
- Add entities in Preview Entities (search any SDE type, set distance and relationship states) to see colortags, row backgrounds, blink, and bracket labels resolve live under each tab's presets β or use Rapid populate to load a sample grouping (mining fleet, structure bashβ¦) in one click and save your own groupings for later.
- Import more packs via + Custom / Import β choose Apply on top to
layer pack pieces (the in-game multi-import workflow) or Overwrite to
replace everything. Save named versions, re-load, export, or share them.
Use the Compare tab to diff any overview
.yamlfiles (settings and preset-vs-preset group selections) against your current profile. - Open the YAML tab and Download .yaml, then import it in game (see Using your YAML out of game).
Each language is one file under
src/lib/i18n/locales/ β
en.js is the reference. The app falls back to
English for any key a translation hasn't covered yet, so partial translations
are safe to ship.
To add a language (say, German):
-
Copy
src/lib/i18n/locales/en.jstosrc/lib/i18n/locales/de.js. -
Translate the values only β keep every key name and
{placeholder}token exactly as they are (e.g."{n}/20 tabs"β"{n}/20 Registerkarten"). -
Register it in
src/lib/i18n/strings.svelte.js:import de from "./locales/de.js"; const locales = { en, es, de }; export const LOCALE_NAMES = { en: "English", es: "EspaΓ±ol", de: "Deutsch" };
-
Run
npm run dev, pick the new language from the header dropdown, and click through every panel and dialog to sanity-check lengths and encoding. -
Open a pull request β one new file plus two registration lines.
Guidelines: keep EVE-specific terms players know from the client (Overview, preset, bracket, colortag) untranslated where the localized client does the same; keep strings concise β several render inside compact controls.
- Z-S Overview Pack: https://github.com/Arziel1992/Z-S-Overview-Pack/
- Discord: http://discord.gg/NSfFKcx
- Changelog: CHANGELOG.md
- Issues and PRs welcome on the customiser repository.
This tool is private by architecture: it is a static site with no backend, no accounts, no forms, no cookies, no analytics, and no tracking of any kind. Everything you build is stored only in your own browser (localStorage + IndexedDB) and never transmitted anywhere. All requests go to the site's own origin β the fonts are self-hosted (no Google Fonts CDN, so your IP is never sent to Google) and the SDE ship database is refreshed at build time by CI, not from your browser.
The full details live in the app itself: a first-visit notice links to the privacy, data & licences panel (shield icon in the header), which lists every stored item and its purpose, explains the hosting posture (GitHub Pages β see the GitHub General Privacy Statement), and provides a one-click "Delete all locally stored data" button. Because none of the stored items are optional β each one only ever records something you explicitly did β this storage is consent-exempt under the ePrivacy rules (Directive 2002/58/EC Art. 5(3)) and equivalent laws, which is why the notice has no accept/reject theatre.
This project is free software, released under the GNU Affero General Public License v3.0 β see the LICENSE file for the full text. In short: you may use, study, modify and redistribute it, provided derivative works (including network-hosted ones) remain open under the same license.
All bundled third-party components are AGPL-3.0-compatible:
- Svelte, js-yaml, svelte-dnd-action (bundled) and Vite, Tailwind CSS, Biome (build-time only) β MIT licence.
- Inter and JetBrains Mono fonts (bundled) β SIL Open Font License 1.1.
- EVE Static Data Export ship/group/category data β Β© Fenris hf., used under its third-party developer licence; see the Copyright notice below.
The same attribution list is shown to users in the app's privacy, data & licences panel.
EVE Online and the EVE logo are the registered trademarks of Fenris hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of Fenris hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of Fenris hf. Fenris hf. has granted permission to Z-S-Overview-Customizer to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, Z-S-Overview-Customizer. Fenris is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.












