Fintutto Translator v3.1 — Technische Architektur
Vollständige technische Dokumentation der Systemarchitektur, des Tech Stacks, der Übersetzungs-Pipeline und aller Kernkomponenten des Fintutto Translator v3.1.
Fintutto Translator ist die weltweit erste Übersetzungsplattform, die auch ohne Internet funktioniert — per Bluetooth, WiFi-Hotspot oder lokale ML-Modelle. Live, in Echtzeit, für Gruppen bis 500 Personen, in 45 Sprachen gleichzeitig.
Jetzt kostenlos testen
v3.1.0
Build 310
Dokument: 01.03.2026
intutto - cl{⍶/Ω}ud
alles. automatisch. ab jetzt.
Inhaltsverzeichnis
01
Systemübersicht
PWA, Capacitor, Relay Server, Transport Layer, Translation Engine
02
Tech Stack
Frontend, AI/ML, Realtime/Transport, Native/Mobile, Storage
03
Sprachunterstützung
45 Sprachen, RTL, Romanisierung, Offline-Sprachpaare
04
Übersetzungs-Pipeline & STT/TTS
6-stufige Kaskade, Speech-to-Text, Text-to-Speech
05
Transport-Architektur (4 Tiers)
Cloud, Hotspot, BLE GATT, Offline
06
Sicherheit, Offline, Native App, Seiten & Features
E2E-Verschlüsselung, Service Worker, Capacitor, 13 Routen
07
Datenfluss, Performance & Tests
Diagramme, Bundle-Größen, Latenz-Ziele, 87 Tests
1. Systemübersicht
Das Fintutto Translator v3.1 System verbindet drei Hauptkomponenten: PWA (Browser), Capacitor (Android/iOS) und Relay Server.
React 18 / TypeScript
UI-Framework mit vollständiger Typsicherheit
Vite 6 / PWA
Build-Tool + Dev-Server mit Progressive Web App Support
Tailwind / Radix UI
Utility-First CSS + Accessible Primitives
Capacitor 8
Native Bridge für Android + iOS

Kernprinzip: Offline-First. Jede Funktion degradiert gracefully — von Cloud bis völlig ohne Netzwerk.
Transport Layer & Translation Engine
TRANSPORT LAYER (4-Tier Fallback)
1
Tier 1: Cloud
Supabase Realtime
2
Tier 2: Hotspot
Embedded WebSocket + WiFi AP
3
Tier 3: BLE GATT
Direct Bluetooth, 0 Infrastruktur
4
Tier 4: Offline
Lokale ML-Modelle, kein Netzwerk
TRANSLATION ENGINE (Cascade)
1
Google Cloud Translation API
Primäre Online-Übersetzung
2
MyMemory Translation Memory
Free Fallback
3
LibreTranslate
Open Source Fallback
4
Opus-MT via Transformers.js
Offline, On-Device
2. Tech Stack — Frontend
2. Tech Stack — AI/ML & Realtime/Transport
AI / ML
Realtime / Transport
2. Tech Stack — Native/Mobile & Storage/Caching
Native / Mobile
Storage / Caching
3. Sprachunterstützung — 45 Sprachen in 3 Kategorien
Europäische Kernsprachen (22)
DE, EN, FR, ES, IT, PT, NL, PL, TR, RU, UK, AR, ZH, JA, KO, HI, SV, DA, CS, RO, EL, HU
Migrationssprachen (10)
FA (Farsi/Dari), PS (Paschtu), KU (Kurdisch), TI (Tigrinya), AM (Amharisch), SO (Somali), UR (Urdu), BN (Bengali), SW (Suaheli), SQ (Albanisch)
Tourismussprachen (13)
HR, BG, SR, SK, NO, FI, TH, VI, ID, MS, FIL, HE, KA
RTL-Unterstützung
Vollständige Right-to-Left-Unterstützung für: AR, FA, PS, KU, UR, HE
Romanisierung
Client-seitige Transliteration für: Arabisch, Persisch, Kyrillisch, Griechisch, Devanagari (Hindi/Bengali)
Offline-Sprachpaare
54 herunterladbare Opus-MT Modelle (~35 MB pro Paar)
4. Übersetzungs-Pipeline — 6-stufige Kaskade
Bei jedem Cache-Miss wird die nächste Stufe aktiviert. Circuit Breaker pro Provider: Threshold 3 Fehler → 30s Pause. Request Dedup: Identische gleichzeitige Anfragen teilen ein Promise. Graceful Degradation: Offline → nur Provider 6 aktiv.
4. Übersetzungs-Pipeline — Resilienz & Zusatz-Features
Resilienz-Features
Circuit Breaker
Pro Provider, Threshold 3, Reset 30s
Request Dedup
Identische gleichzeitige Anfragen teilen ein Promise
Retry-After
HTTP-Header wird geparst und respektiert
Cache Eviction
Automatisch bei >500 In-Memory-Einträgen
Graceful Degradation
Offline → nur Provider 6 aktiv
Zusatz-Features pro Übersetzung
Kontextmodi
General, Travel, Medical, Legal, Business, Casual
Formalität
Sie/Du-Konvertierung (9 Sprachen)
Wort-Alternativen
MyMemory TM-Matches (Top 5)
Romanisierung
Automatisch für nicht-lateinische Schriften
Match-Score
Qualitätsindikator pro Übersetzung
5. Speech-to-Text (STT) — Engine-Kaskade
Satz-Boundary-Erkennung
  • Regex-basiert: .!?; + CJK-Interpunktion + Arabische Fragezeichen
  • Erkennt Satzenden im laufenden Interim-Text
  • Emittiert synthetische isFinal=true Events bei Satzgrenzen
  • Ermöglicht Echtzeit-Satz-für-Satz-Übersetzung
Google Cloud STT (iOS)
  • PCM → LINEAR16 Encoding (Int16 → Base64)
  • Polling-Intervall: 3 Sekunden
  • Audio-Buffer: Max 30 Sekunden (Memory-Limit)
  • Sende-Limit: Max 15 Sekunden pro Request
  • Automatische Sample-Rate-Erkennung (iOS Safari: oft 48 kHz)
6. Text-to-Speech (TTS) — Stimm-Hierarchie
Chirp 3 HD
24 Sprachen (Premium)
Neural2
10 Sprachen
Standard
36 Sprachen
Browser Fallback
Alle Sprachen (geräteabhängig)

Jede TTS-Antwort wird als MP3-Blob in IndexedDB gespeichert. Offline-Wiedergabe aus dem Cache möglich. Kein erneuter API-Call für bereits gehörte Texte.
7. Transport-Architektur — 4 Tiers im Überblick
Der Connection Manager wählt automatisch den besten verfügbaren Transport via autoSelectTransport(config). Broadcast Transport und Presence Transport werden durch AES-256-GCM Verschlüsselung als Decorator gewrappt.
7. Transport-Architektur — Auto-Discovery & Interface
Auto-Discovery (Tier 2)
Probt 6 gängige Router-IPs parallel:
  • 192.168.8.1 (GL.iNet)
  • 192.168.1.1 (Standard)
  • 192.168.0.1 (Alternativ)
  • 10.0.0.1 (Hotspots)
  • 172.20.10.1 (iOS Personal Hotspot)
  • 192.168.43.1 (Android Hotspot)
Transport-Interface
interface BroadcastTransport { type: 'supabase' | 'local-ws' | 'ble' isConnected: boolean subscribe(code, handlers): void broadcast(event, payload): void unsubscribe(): void onConnectionChange(cb): () => void } interface PresenceTransport { type: 'supabase' | 'local-ws' | 'ble' join(code, data): void updatePresence(data): void leave(): void onSync(cb): () => void }
8. BLE GATT Protocol
Service-UUIDs
Characteristics
Chunking-Protocol
Payload > 180 Bytes
Split in 180-Byte Chunks. Chunk 1..N-1: Gesendet als einzelne Notifications. Chunk N (letzter): Markiert als Final.
Listener
Reassembly aus Buffer
Payload ≤ 180 Bytes
Direkt als einzelne Notification
Device-Discovery
  • Advertising-Name Format: GT-TR-XXXX (Session-Code)
  • Scan-Interval: Kontinuierlich
  • Stale-Timeout: 10 Sekunden
  • RSSI-Anzeige für Signalstärke
Native Implementierungen
  • Android: BleTransportPlugin.java — BluetoothGattServer, Android 12+ Permission Decorators
  • iOS: BleTransportPlugin.swift — CBPeripheralManager, CoreBluetooth Framework
9. Hotspot-Relay-Server
Architektur
Das Speaker-Gerät hostet gleichzeitig den WiFi Access Point und den eingebetteten WebSocket Relay Server. Die App (WebView) kommuniziert über einen WS Client (Speaker) mit dem Embedded WS Relay auf Port :8765. Listener-Geräte verbinden sich per WiFi.
Relay-Server
  • Port: 8765 (Standard), 8766 (Embedded Fallback)
  • Protokoll: JSON über WebSocket
  • Health-Check: GET /health → 200 OK
  • Features: Session-Routing, Presence Sync, Broadcast Fan-Out
WiFi-QR-Code Format
WIFI:T:WPA;S:{SSID};P:{Password};;
iOS 11+ / Android 10+: Automatisches Verbindungs-Prompt. Kein manuelles Tippen nötig.
Verbundene Listener
Listener 1
Listener 2
Listener ...N
Bis zu 5–10 Geräte gleichzeitig verbindbar. Kein Internet erforderlich.
10. Sicherheit & Verschlüsselung
E2E-Verschlüsselung (Transport)
Sicherheitsmerkmale
Web Crypto API
Keine externe Krypto-Bibliothek
Key Caching
Pro Session, cleared bei Session-Ende
Transparent Wrapping
EncryptedBroadcastTransport als Decorator
Fallback
Plaintext wenn Web Crypto nicht verfügbar
Envelope
{ _encrypted: base64_ciphertext }
API-Key-Management
  • Google API Key in localStorage (Client-seitig)
  • Schlüssel wird nie an Drittanbieter weitergegeben
  • Env-Variable als Fallback: VITE_GOOGLE_TTS_API_KEY
11. Offline-Fähigkeiten — Service Worker (Workbox)
Opus-MT (pro Sprachpaar)
~35 MB — Offline-Übersetzung
Whisper (multilingual)
~40 MB — Offline-Spracherkennung
ONNX Runtime WASM
~21 MB — ML-Inferenz-Engine
11. Offline-Feature-Matrix
54
Offline-Sprachpaare
Herunterladbare Opus-MT Modelle
~200MB
Voll-Offline
Gesamter Speicherbedarf
~5MB
Basis-App
PWA ohne Offline-Modelle
12. Native App (Capacitor)
Konfiguration
  • App ID: com.fintutto.translator
  • App Name: Fintutto Translator
  • Min Android: API 24 (Android 7.0)
  • Target: API 36 (Android 15)
  • Min iOS: 15.0
  • Capacitor: 8.1.0
Native Plugins
Android-Permissions
  • INTERNET, ACCESS_NETWORK_STATE
  • RECORD_AUDIO, CAMERA
  • CHANGE_WIFI_STATE, ACCESS_WIFI_STATE, ACCESS_FINE_LOCATION
  • NEARBY_WIFI_DEVICES (SDK 33+)
  • BLUETOOTH, BLUETOOTH_ADMIN (SDK < 30)
  • BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, BLUETOOTH_CONNECT
iOS-Permissions
  • NSMicrophoneUsageDescription
  • NSCameraUsageDescription
  • NSSpeechRecognitionUsageDescription
  • NSLocalNetworkUsageDescription
  • NSBluetoothAlwaysUsageDescription
  • NSBluetoothPeripheralUsageDescription
  • UIBackgroundModes: bluetooth-central, bluetooth-peripheral
13. Seiten & Features — 13 Routen
13. Seiten & Features — Hauptübersetzer & Live-Session
Hauptübersetzer (/)
Eingabe
Quellsprache ⟷ Zielsprache. Text eingeben oder sprechen. 🎤 📋 🔊 Sie/Du
Ausgabe
Übersetzung, 📖 Aussprache, 🔄 Alternativen, Provider + Match-Score, 👍 👎 📋 🔊
Kontext
🌐 ✈️ 🏥 ⚖️ 💼 💬 — Letzte 5 Übersetzungen [klick = wieder laden]
Live-Session (/live/:code) — Speaker
  • QR-Code(s): WiFi (Hotspot) + Session-Code
  • Mikrofon-Steuerung (Start/Stop)
  • Echtzeit-Transkript
  • Listener-Statistik (Anzahl, Sprachen, Verteilung)
  • Latenz-Monitoring (STT/Translate/Total)
  • Session-Protokoll Export (TXT/MD)
  • BLE-Advertising-Status
Live-Session — Listener
  • Große Übersetzungsanzeige (2xl–3xl)
  • Sprachauswahl-Chips, Auto-Speak Toggle
  • Vollbild-Untertitel-Modus (3xl–6xl, schwarzer Hintergrund)
  • Letzte 5 Untertitel mit Fade-Effekt
  • Verbindungsstatus-Indikator

Gesprächsmodus (/conversation): Split-Screen mit 180-Grad-Rotation. Zwei unabhängige Spracherkennungs-Instanzen. Auto-Speak: Übersetzt und liest automatisch vor. 6 Nachrichten pro Person sichtbar. RTL-Text-Unterstützung.
14. Datenfluss-Diagramme — Live-Session: Speaker → Listeners
Latenz-Pipeline
1
markSTTStart()
STT Processing → markSTTEnd()
2
markTranslateStart()
API Call → markTranslateEnd()
3
markBroadcast()
Transport
4
markTTSStart()
TTS → markTTSEnd()
LatencyReport { sttMs, translateMs, broadcastMs, ttsMs, totalMs, provider }
15. Performance & Metriken
Bundle-Größen
Latenz-Ziele
Speicheranforderungen
16. Test-Abdeckung — 87 Tests, 7 Test-Suiten
Build-Pipeline
npm run build # tsc && vite build (12s) npm test # vitest run (2.2s) npm run cap:sync # Capacitor sync
87
Tests gesamt
Über 7 Test-Suiten
12s
Build-Zeit
tsc && vite build
2.2s
Test-Laufzeit
vitest run
Fintutto Translator v3.1.0
Build 310
Dokument generiert am 01.03.2026