Steam Plus

A userscript that improves the Steam Store and Steam Community with a full
settings panel and content translation — game descriptions, reviews, profile
comments, news, and guides — right on the page.
Status: early (0.30.2). Settings panel (General · Translation ·
Game page · Prices · Links · Add-ons · Region) + content translation through the free Google endpoint
(no API key). More Steam improvements planned.
The script's @updateURL / @downloadURL point at GitHub main — the raw
install URL below is always the newest build.
Quick install
- Install a userscript manager (Tampermonkey,
Violentmonkey, or
ScriptCat recommended).
- Install from GitHub (raw URL below).
Install URL (GitHub — newest):
https://raw.githubusercontent.com/NemoKing1210/steam-plus/main/steam-plus.user.js

Install from URL (dashboard)
| Manager |
Path |
| Tampermonkey |
Dashboard → Utilities → Install from URL |
| Violentmonkey |
Dashboard → + → Install from URL |
| Greasemonkey |
Add-on menu → New User Script → paste the raw URL |
| ScriptCat |
Install the extension, then Install from URL with the GitHub raw URL |
Paste the GitHub install URL above when installing from a
manager dashboard.
Manual install
- Open the built
steam-plus.user.js in this repository (or run npm run build after cloning).
- Copy the entire file contents.
- In your userscript manager, create a new script and paste the code.
- Save and enable the script.
Updates
The script includes @updateURL and @downloadURL metadata pointing to the
raw GitHub file. Supported managers check for updates automatically.
Release steps for maintainers: see docs/DEVELOPMENT.md § Releasing.
Features
Settings (header Steam Plus button or userscript-manager menu):
- Tabbed panel — General · Translation · Game page · Prices · Links · Add-ons · Region (more tabs planned)
- Steam-native dark UI; every change persists across reloads
- Interface language: Auto (browser) or one of 10 locales — English,
Русский, Deutsch, Español, Français, Português (Brasil), 简体中文, 日本語,
한국어, Polski
Translation (store + community content):
- Game descriptions — full description on the game page and snippets on
listings
- Game reviews — store reviews and community hub review cards
- Profile comments — comment threads on profiles, hubs, and shared files
- News & events — event/news detail bodies and hub summaries
- Guides — one Translate button above the guide translates the whole content at once: title, top description, and every section (guide comments are covered by Profile comments)
- Free Google endpoint by default — no API key, extensible provider registry
- Translate Automatically as content appears, or via a per-block
Translate button
- Show the translation below the original, or replace the text with a
button toggling back to the original
- Target language: Auto (Steam / browser language) or one of 14 common
languages
- Per-scope on/off switches; global master switch
Game page (store game pages):
- Hide the blocks you never read — screenshots & trailers, buy options &
bundles, About This Game, DLC list, system requirements, user reviews,
curators, events & announcements, details sidebar, franchise &
recommendations
- Master switch plus per-block toggles; nothing is hidden by default
- Pure-CSS hiding that survives Steam re-renders and page navigation
Regional prices (store game pages):
- Compare the game price across 24 Steam store regions right on the game
page — your own store price pinned first, cheapest region highlighted,
savings shown against your price
- Fully configurable: master + auto-load switches, region picker,
placement (above buy options / sidebar / below description), default row
order with clickable table headers (click sorts, click again flips
direction), and per-element display toggles (original price, discount
badge, savings, cheapest highlight, own-price row)
- Steam's own formatted prices, Steam-green discount badges, 1-hour cache
with manual refresh; free games hide the block automatically
- Live currency conversion (ExchangeRate-API + jsDelivr fallback, cache
with configurable lifetime, status and manual clear in settings): every
price converts into your store currency automatically or any chosen one,
with the rates source stamped under the block
External links (store game pages):
- Quick chips to other stores and databases on the game page — SteamDB,
ProtonDB and HowLongToBeat by default, placed above the buy options,
in the sidebar, or below the description
- Fully user-defined: add your own links with browser-style URL templates
(
{name} for the game title, {appid} for the Steam id), custom favicons,
per-link switches, reorder controls, and an open-in-new-tab toggle
Add-on content (store game pages):
- Lists every DLC of the game with its capsule image, its release date,
its price and whether your account already owns it — an owned/total counter
in the header, per-row links to each add-on's store page, and "not owned
first" ordering so what you are missing stays on top
- Starts collapsed to save space; expand it with the header chevron
- Click an add-on image to open the built-in image viewer: fit to screen,
zoom (wheel,
+/−, double click), drag to pan, rotate, browse every
add-on with ←/→ or the thumbnail strip, Esc to close; the viewer is
configurable (thumbnail strip, wrap-around) and keyboard-accessible
- Reads the page's own DLC list first (names, prices, rendered images) and
asks Steam only for what the page does not provide — release dates and the
capsules Steam keeps collapsed fill in progressively and are cached for a
day, ownership for 30 minutes; turning Add-on images and Release
dates off makes a page whose rows Steam already rendered cost no requests
at all; a cache reset lives in the Add-ons settings tab
- Configurable: master switch, placement (above buy options / sidebar / below
description), row order, owned counter, owned-rows, price, image and
release-date toggles
Region bypass (blocked store pages):
- Reloads
/app/, /bundle/ and /sub/ pages blocked with “unavailable in
your region” through an anonymous guest fetch — no account cookies, Steam
language and age-gate cookies sent automatically, optional store-country
(cc) override
- Injects the guest page content into the live document — your logged-in header, styles and scripts stay untouched; guest inits (reviews, sysreq tabs, tags) replay and store islands hydrate in place, with a full-document rewrite as automatic fallback; translation,
regional prices, external links, add-on content and game-page hiding apply
to the injected content
automatically; auto mode replaces the error content at once, manual mode
shows an offer button first, failures show a status card with Retry
- An optional HTTP proxy gateway (host, port, Basic auth, three URL modes)
for IP-based locks — all in the Region settings tab
Under the hood: a per-provider translation cache with TTL and LRU storage
trim plus a concurrency-limited request queue — fast on repeat visits, gentle
on the translation service.
Translation requires an internet connection to the translation provider
(translate.googleapis.com for the default provider). Translated content is
cached locally in userscript storage.
Supported pages
| Site |
URL pattern |
| Steam Store |
https://store.steampowered.com/* |
| Steam Community |
https://steamcommunity.com/* |
Development & contributing
- docs/DEVELOPMENT.md — build, local testing, releasing
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.