* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
8.3 KiB
SQLite Runtime Resolution (Malti)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
OmniRoute jiddetermina d-driver SQLite tiegħu waqt l-istartjar permezz ta' katina ta' riżerva f'5 passi:
-
better-sqlite3inkluż (permezz ta'dependenciesf'package.json) — l-aktar veloċi, binarju nattiv, installat minnnpm installmeta jkunu preżenti l-għodod tal-bini. -
better-sqlite3installat waqt it-tħaddim (f'~/.omniroute/runtime/) — jiġi installat b'mod differit mal-ewwel tħaddim JEW minnscripts/build/postinstall.mjs → scripts/postinstall.mjs. Jivvalida l-bytes maġiċi tal-fajl nattiv.node(ELF / Mach-O / PE) qabel it-tagħbija biex jipproteġi kontra binarji korrotti jew ta' pjattaforma żbaljata. -
node:sqlite(librerija standard ta' Node ≥22.5) — ma jeħtieġ ebda bini nattiv; jintuża meta ż-żewġ mogħdijiet ta' better-sqlite3 ifallu. Għandu sett limitat ta' funzjonalitajiet. -
sql.js(WASM) — l-aħħar alternattiva. Jaħdem kullimkien iżda huwa aktar bil-mod u jikteb id-data f'intervalli minflok b'mod sinkroniku.
Għaliex din il-kumplessità?
- Windows EBUSY:
npm install -g omniroute@latestjista' jfalli jekkbetter_sqlite3.nodetal-verżjoni preċedenti jkun imsakkar minn proċess li jkun għadu għaddej. L-installazzjoni waqt it-tħaddim f'~/.omniroute/runtime/tevita l-cache globali ta' npm. - Ebda għodda tal-bini: Xi ambjenti (Windows korporattiv mingħajr VS Build
Tools, immaġnijiet Docker minimi) ma jistgħux jikkompilaw
better-sqlite3. L-installatur waqt it-tħaddim isib binarju mibni minn qabel mir-reġistru npm; id-drivers ta' riżerva jiżguraw li OmniRoute xorta jibda anki jekk dan ifalli. - Sistemi iżolati min-network: Jekk ir-reġistru npm ma jkunx aċċessibbli,
node:sqlitejewsql.jsjiggarantixxu funzjonalità bażika.
Validazzjoni tal-bytes maġiċi
Qabel ma jgħabbi fajl .node installat waqt it-tħaddim, OmniRoute jaqra l-ewwel 8
bytes u jqabbilhom ma' firem maġiċi magħrufa tal-pjattaformi:
| Pjattaforma | Bytes (hex) | Tikketta |
|---|---|---|
| Linux | 7F 45 4C 46 |
elf |
| macOS 64-bit BE | FE ED FA CF |
macho |
| macOS 64-bit LE | CF FA ED FE |
macho-le |
| macOS fat (universali) | CA FE BA BE |
macho-fat |
| Windows | 4D 5A (MZ) |
pe |
Firma maġika li ma taqbilx → il-fajl jiġi injorat u l-proċess ta' riżerva jkompli għall-pass li jmiss.
Kif tiċċekkja d-driver attiv
import { getDriverInfo } from "@/lib/db/core";
const info = getDriverInfo();
// { source: "bundled" | "runtime" | "runtime-installed-now" | "node-sqlite" | "sql-js",
// kind: "better-sqlite3" | "node-sqlite" | "sql-js" }
Kontroll manwali
# Aqbeż it-tħejjija postinstall (għal installazzjonijiet CI veloċi)
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute
# Installa mill-ġdid bilfors il-better-sqlite3 waqt it-tħaddim
rm -rf ~/.omniroute/runtime
omniroute # jerġa' jiġi installat mal-istartjar li jmiss
# Iċċekkja liema driver huwa attiv
omniroute config db-info # (jekk jeżisti l-kmand CLI)
Referenza
Implimentazzjoni:
bin/cli/runtime/magicBytes.mjs— funzjonijiet awżiljarji għall-validazzjoni tal-bytes maġiċi tal-binarjibin/cli/runtime/sqliteRuntime.mjs— mekkaniżmu ta' determinazzjoni waqt it-tħaddim f'5 passi + installatur differitbin/cli/runtime/index.mjs— orkestratur tal-istartjar (warmUpRuntimes())scripts/postinstall.mjs— hook ta' npm wara l-installazzjoni (tħejjija mhux fatali)src/lib/db/core.ts— esportazzjonijietensureDbInitialized()/getDriverInfo()
Topoloġija b'kittieb wieħed (HA mhix appoġġjata)
Il-katina ta' drivers ta' riżerva t'hawn fuq xorta taħdem fi proċess wieħed. B'mod awtomatiku, SQLite f'OmniRoute għandu kittieb wieħed:
- Tqabbadx żewġ repliki ta' OmniRoute mal-istess fajl
storage.sqlite. - Startjar mill-ġdid ta' container, skjerament Recreate, terminazzjoni minħabba OOM, jew startjar mill-ġdid minn HEALTHCHECK iwaqqaf kull sessjoni SSE li tkun għadha għaddejja. Fil-mogħdija standard ma jsir ebda tbattil gradwali tas-sessjonijiet.
- Verifika tal-vitalità mill-orkestratur li tqis
/healthzbil-mod bħala mejjet se twaqqaf l-unika replika. Ippreferi vitalità TCP + prontezza HTTP/healthz. Ara Gwida Docker — disponibbiltà u rakkomandazzjonijiet għall-probes ta' Kubernetes.