
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.
alles. automatisch. ab jetzt.
PWA, Capacitor, Relay Server, Transport Layer, Translation Engine
Frontend, AI/ML, Realtime/Transport, Native/Mobile, Storage
45 Sprachen, RTL, Romanisierung, Offline-Sprachpaare
6-stufige Kaskade, Speech-to-Text, Text-to-Speech
Cloud, Hotspot, BLE GATT, Offline
E2E-Verschlüsselung, Service Worker, Capacitor, 13 Routen
Diagramme, Bundle-Größen, Latenz-Ziele, 87 Tests
Das Fintutto Translator v3.1 System verbindet drei Hauptkomponenten: PWA (Browser), Capacitor (Android/iOS) und Relay Server.
UI-Framework mit vollständiger Typsicherheit
Build-Tool + Dev-Server mit Progressive Web App Support
Utility-First CSS + Accessible Primitives
Native Bridge für Android + iOS
Supabase Realtime
Embedded WebSocket + WiFi AP
Direct Bluetooth, 0 Infrastruktur
Lokale ML-Modelle, kein Netzwerk
Primäre Online-Übersetzung
Free Fallback
Open Source Fallback
Offline, On-Device
DE, EN, FR, ES, IT, PT, NL, PL, TR, RU, UK, AR, ZH, JA, KO, HI, SV, DA, CS, RO, EL, HU
FA (Farsi/Dari), PS (Paschtu), KU (Kurdisch), TI (Tigrinya), AM (Amharisch), SO (Somali), UR (Urdu), BN (Bengali), SW (Suaheli), SQ (Albanisch)
HR, BG, SR, SK, NO, FI, TH, VI, ID, MS, FIL, HE, KA
Vollständige Right-to-Left-Unterstützung für: AR, FA, PS, KU, UR, HE
Client-seitige Transliteration für: Arabisch, Persisch, Kyrillisch, Griechisch, Devanagari (Hindi/Bengali)
54 herunterladbare Opus-MT Modelle (~35 MB pro Paar)
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.
Pro Provider, Threshold 3, Reset 30s
Identische gleichzeitige Anfragen teilen ein Promise
HTTP-Header wird geparst und respektiert
Automatisch bei >500 In-Memory-Einträgen
Offline → nur Provider 6 aktiv
General, Travel, Medical, Legal, Business, Casual
Sie/Du-Konvertierung (9 Sprachen)
MyMemory TM-Matches (Top 5)
Automatisch für nicht-lateinische Schriften
Qualitätsindikator pro Übersetzung
isFinal=true Events bei Satzgrenzen24 Sprachen (Premium)
10 Sprachen
36 Sprachen
Alle Sprachen (geräteabhängig)

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.
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)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
}Split in 180-Byte Chunks. Chunk 1..N-1: Gesendet als einzelne Notifications. Chunk N (letzter): Markiert als Final.
Reassembly aus Buffer
Direkt als einzelne Notification
GT-TR-XXXX (Session-Code)BleTransportPlugin.java — BluetoothGattServer, Android 12+ Permission DecoratorsBleTransportPlugin.swift — CBPeripheralManager, CoreBluetooth FrameworkDas 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.
8765 (Standard), 8766 (Embedded Fallback)GET /health → 200 OKWIFI:T:WPA;S:{SSID};P:{Password};;iOS 11+ / Android 10+: Automatisches Verbindungs-Prompt. Kein manuelles Tippen nötig.
Bis zu 5–10 Geräte gleichzeitig verbindbar. Kein Internet erforderlich.
Keine externe Krypto-Bibliothek
Pro Session, cleared bei Session-Ende
EncryptedBroadcastTransport als Decorator
Plaintext wenn Web Crypto nicht verfügbar
{ _encrypted: base64_ciphertext }
VITE_GOOGLE_TTS_API_KEY~35 MB — Offline-Übersetzung
~40 MB — Offline-Spracherkennung
~21 MB — ML-Inferenz-Engine
Herunterladbare Opus-MT Modelle
Gesamter Speicherbedarf
PWA ohne Offline-Modelle
com.fintutto.translatorINTERNET, ACCESS_NETWORK_STATERECORD_AUDIO, CAMERACHANGE_WIFI_STATE, ACCESS_WIFI_STATE, ACCESS_FINE_LOCATIONNEARBY_WIFI_DEVICES (SDK 33+)BLUETOOTH, BLUETOOTH_ADMIN (SDK < 30)BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, BLUETOOTH_CONNECTNSMicrophoneUsageDescriptionNSCameraUsageDescriptionNSSpeechRecognitionUsageDescriptionNSLocalNetworkUsageDescriptionNSBluetoothAlwaysUsageDescriptionNSBluetoothPeripheralUsageDescriptionbluetooth-central, bluetooth-peripheralQuellsprache ⟷ Zielsprache. Text eingeben oder sprechen. 🎤 📋 ⭐ 🔊 Sie/Du
Übersetzung, 📖 Aussprache, 🔄 Alternativen, Provider + Match-Score, 👍 👎 📋 🔊 ⭐
🌐 ✈️ 🏥 ⚖️ 💼 💬 — Letzte 5 Übersetzungen [klick = wieder laden]
STT Processing → markSTTEnd()
API Call → markTranslateEnd()
Transport
TTS → markTTSEnd()
LatencyReport { sttMs, translateMs, broadcastMs, ttsMs, totalMs, provider }
npm run build # tsc && vite build (12s)
npm test # vitest run (2.2s)
npm run cap:sync # Capacitor syncÜber 7 Test-Suiten
tsc && vite build
vitest run