- fix(fps): measure PS4 BC frame rate with a remote GNM detour
and hide the pkg install result code in the finish notification
- feat(utils): integrate ShadowMount+ alongside the FTPSRV service
for game scanning, mounting and installation
- feat(DPI): add the packet package server (pkgserver) with its
Web UI and full REST/SSE API surface
- feat(tests): add new host test suites (multipart, builtin
services, pkg XML, FPS formula, toolbox i18n/route, language)
- build: add Docker support for building and running the tests
- docs: update credits, README, architecture, util-arch, api and
third-party documentation; add contributor credit and i18n keys
- i18n: remove the pkg finish result code from every locale
Expose catalog download on the Game Tools page and put the
mirror picker in Preferences. Probe gstatic/miui generate_204
before clone so auto can pick GitHub or cnb.cool by reachability.
Also fix the CNB slug, rename the util CMake target so it no
longer clashes with libgit2, and keep last-error text off the
download button.
Add a key-complete th-TH catalog and wire it through settings, Toolbox, and notifications. Follow PS5 system language 27 when toolbox.language is system.
Co-authored-by: Modmycon <monmycod@gmail.com>
Drop the pairing page and the OnActivated / OnDeactivating
lifecycle hooks. Keep the Toolbox entry for offline account
activation, with a localized save-loss warning before writing
an account ID.
Add key-complete catalogs and wire them through settings, Toolbox,
and notifications. Follow PS5 system languages 5, 8, and 16 when
toolbox.language is system. Existing locale ids stay unchanged.
Add key-complete catalogs and wire them through settings, Toolbox,
and notifications. Follow PS5 system languages 9, 3/20, and 7/17
when toolbox.language is system. Existing locale ids stay unchanged.
Add key-complete catalogs and wire them through settings, Toolbox,
and notifications. Follow PS5 system languages 10, 0, 2/22, and 4
when toolbox.language is system. Existing zh-Hans, en, and ar ids
stay unchanged.
Scan every locale JSON into N-column catalogs and wire ar through
settings, Toolbox, and PS5 system language 21. The Settings page
stays LTR; XOR trial banners stay bilingual.
Notifications look up notify.* keys instead of English source
strings. Toolbox interpolations go through toolbox_i18n::format so
zh/en word order lives in the JSON catalogs.
Game options still showed "★ OnionHEN 金手指" in English. Route that
label, PKG installer GetString hooks, and About donor/WeChat text
through toolbox i18n.
Move the Chinese and English toolbox catalogs into standalone locale JSON files and generate the compile-time table during CMake and host-test builds.
Validate matching locale keys, document the contributor workflow, and keep the game-options grouping and translation coverage aligned.
Cache the PS5 system language once per process and share the resolved locale across Toolbox, plain notifications, and rich notifications. Keep ShellUI queries behind the registered trampoline, localize the daemon welcome toast, and cover cache refresh and localized payload generation in host tests.
Split the Toolbox into clearer groups (install, payloads, game tools,
monitoring, connection, system, preferences, debug, about), update
i18n/docs/tests, and wire new monitor/account icons through bootstrapper.
Introduce toolbox_i18n string tables and Settings.ui_lang (0=zh, 1=en).
Build all dynamic toolbox pages through tr(), add a language list under
shortcuts, and notify the user to re-open the toolbox after switching.