A quiet, offline Bible reader for the desktop — Turkish and English, equally at home.
English · Türkçe
Söz (Turkish for “the Word”) is a small Tauri 2 desktop application for reading Scripture without distractions. It bundles the complete Turkish YTC Bible and the English KJV and WEB, ships every verse as static JSON, and never touches the network at runtime — no accounts, no telemetry, no ads.
- Reading first. Literata for Scripture, Inter for the interface, a 716 px measure, and three themes tuned for long sessions.
- Offline by default. The text is committed to the repository and loaded from disk. There is nothing to sync and nothing that phones home.
- Bilingual, not localised as an afterthought. Turkish and English are equal citizens; the interface and the Scripture switch together, instantly.
- A deliberately small surface. One window, no plugins, no cloud. v0.1 stops at reading, and that is the point.
- Complete 66-book canon — 1,189 chapters in each translation.
- Book list with testament tabs, chapter grid, and previous/next navigation that crosses book boundaries.
- Paragraph or verse-per-line layout.
- Light, sepia and dark themes; 15–30 px text size.
- Optional red letter for the words of Jesus, italics for KJV translator additions, and small caps for the divine name.
- Remembers translation, book, chapter, theme and layout between launches.
- Keyboard-first:
←/→for chapters,Bfor the sidebar,Tfor the theme,Escto close dialogs.
| ID | Language | Translation | Abbrev. | License |
|---|---|---|---|---|
tr-ytc |
Turkish | Yorumsuz Türkçe Çeviri | YTC | CC BY-ND 4.0 |
en-kjv |
English | King James Version | KJV | Public domain outside the UK |
en-web |
English | World English Bible (Protestant) | WEB | Public domain |
The repository contains freely redistributable texts only. Copyrighted translations (NIV, ESV, NLT, …) are intentionally absent. See THIRD_PARTY_NOTICES.md for sources, copyright lines and the exact transformations applied to each text.
Download the latest bundles from Releases:
# AppImage — run directly
chmod +x Soz_*_amd64.AppImage
./Soz_*_amd64.AppImage
# Debian / Ubuntu / KDE Neon
sudo apt install ./Soz_*_amd64.deb
# Fedora
sudo dnf install ./Soz_*_x86_64.rpmThe AppImage expects WebKitGTK 4.1 and GTK 3 on the host (Fedora:
webkit2gtk4.1, gtk3). The deb and rpm packages declare their dependencies.
- Node.js 22+
- Rust stable
- Tauri 2 system dependencies:
webkit2gtk-4.1,gtk3,libsoup-3.0,librsvg2,patchelf(libayatana-appindicator3is needed for bundling).
On Fedora:
sudo dnf install webkit2gtk4.1-devel gtk3-devel libsoup3-devel librsvg2-devel \
libappindicator-gtk3-devel patchelf| Command | Description |
|---|---|
npm ci |
Install JavaScript dependencies |
npm run dev |
Vite dev server only → http://localhost:1420 |
npm run desktop |
Tauri window (starts Vite automatically) |
npm run check |
Secret scan, TypeScript checks and offline data integrity |
npm run check:secrets |
Credential and API-key scan only |
npm run build |
Type-check and build the production web bundle |
npm run bundle |
Build AppImage, deb and rpm bundles |
npm run data |
Re-download and rebuild public/data (requires network) |
public/data/ is committed, so a fresh clone builds and runs offline.
npm run dataSources are pinned by SHA-256 in scripts/build-bible-data.mjs; a changed
upstream archive fails the build instead of silently altering Scripture. After
regenerating, run npm run check and review git diff --stat public/data.
src/ React 19 + TypeScript UI
App.tsx settings, navigation, data loading, shortcuts
components/ Sidebar, Reader, ChapterPicker, SettingsPanel, Icons
data.ts manifest and translation loading (fetch + memory cache)
storage.ts localStorage settings
i18n.ts Turkish and English UI strings
styles.css design tokens, layout, typography
public/data/ generated Bible JSON (committed)
scripts/ USFM → JSON pipeline, data integrity check
src-tauri/ Tauri 2 shell (Rust)
.github/workflows/ CI and release automation
Architecture notes, the data model and contribution rules live in AGENTS.md.
Issues and pull requests are welcome. Before opening a PR, run:
npm run check
npm run buildKeep changes consistent with the principles above: reading comfort, offline operation, a small footprint, and parity between Turkish and English. Never edit verse text by hand — regenerate it through the pipeline instead.
- Code: MIT — see LICENSE.
- Scripture: YTC under CC BY-ND 4.0; KJV and WEB in the public domain. See THIRD_PARTY_NOTICES.md.
- Fonts: Literata and Inter, SIL Open Font License 1.1.