• ctrl/text.dat exec/load/text.js src/sbbs3/atcodes.cpp js_console.cpp s

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Sep 28 21:10:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/567a47e48f68e4d9c81e495a
    Modified Files:
    ctrl/text.dat exec/load/text.js src/sbbs3/atcodes.cpp js_console.cpp sbbs.h text.h text_defaults.c text_id.c
    Log Message:
    Add translatable Upload/Download/Configure/Select/Pointers command keys

    New text.dat strings Upload, Download, Configure, Select, and Pointers (reusable command words, translatable in text.<lang>.ini), each with a
    command key taken from its first letter, uppercased, like the existing Yes/No/Quit/All/List/Next/Prev keys:

    - C++: upload_key(), download_key(), configure_key(), select_key(),
    pointers_key()
    - JS: console.upload_key, download_key, configure_key, select_key,
    pointers_key
    - @-codes: @UPLOADCHAR@, @DOWNLOADCHAR@, @CONFIGURECHAR@, @SELECTCHAR@,
    @POINTERSCHAR@

    New @RAINBOW:DEFAULT@ restores the sysop-configured rainbow colors after
    a @RAINBOW:<list>@, so a display file can use its own rainbow list without changing @RAINBOW@ output for the rest of the session.

    The existing console.*_key properties now return the uppercased key, the
    same value as their C++ counterparts, rather than the raw first character
    of the text string (only different for a translation starting with a
    lowercase letter).

    For localizing the QWK menu (#1242).

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net