====== Konfiguration ====== ===== app.config.json ===== Die Konfigurationsdatei liegt neben der EXE und wird beim ersten Start automatisch angelegt: { "theme": { "active": "WXI" }, "i18n": { "language": "de" } } ^ Schlüssel ^ Typ ^ Beschreibung ^ Standard ^ | ''theme.active'' | String | Name des aktiven Skins | ''WXI'' | | ''i18n.language'' | String | Sprachcode (de/en/hr/pl/sl/tr) | Systemsprache oder ''de'' | Die Datei wird bei Theme- oder Sprachwechsel automatisch aktualisiert. Manuelle Bearbeitung ist möglich (UTF-8, kein BOM erforderlich). ===== Theme-Deployment ===== Die Anwendung verwendet ein **Windows 11 (WXI)**-Theme mit Fluent 2 Design als einziges mitgeliefertes Theme. * Themes werden als ''.wvdsskin''-Dateien (ZIP-Archiv mit Manifest und SVG-Elementen) aus dem ''skins/''-Verzeichnis geladen. * **Hardcoded Fallback:** Wenn keine Skin-Datei vorhanden ist, wird ein eingebautes WXI-Fallback-Theme verwendet — die Anwendung läuft auch ohne ''skins/''-Verzeichnis korrekt. ===== Sprachen (i18n) ===== Die Anwendung erkennt verfügbare Sprachen **automatisch** aus den ''.po''-Dateien im ''i18n/''-Verzeichnis (Auto-Discovery über ''X-Language-Name''-Header). ^ Code ^ Sprache ^ Datei ^ | de | Deutsch | ''i18n/OutlookSync.de.po'' | | en | English | ''i18n/OutlookSync.en.po'' | | hr | Hrvatski | ''i18n/OutlookSync.hr.po'' | | pl | Polski | ''i18n/OutlookSync.pl.po'' | | sl | Slovenščina | ''i18n/OutlookSync.sl.po'' | | tr | Türkçe | ''i18n/OutlookSync.tr.po'' | **Sprach-Erkennung (Priorität):** - Gespeicherte Auswahl in ''app.config.json'' (''i18n.language'') - Windows-Systemsprache (''GetUserDefaultLCID'') - Deutsch als Fallback ==== Neue Sprachen hinzufügen ==== - Kopieren Sie eine bestehende ''.po''-Datei. - Benennen Sie sie um (z.B. ''OutlookSync.fr.po''). - Setzen Sie den ''X-Language-Name''-Header (z.B. ''X-Language-Name: Français''). - Übersetzen Sie die Strings. - Die Sprache erscheint automatisch im Menu ''Ansicht > Sprache''. ===== DPAPI-Passwort-Verschlüsselung ===== SQL-Authentifizierungspasswörter werden mit **Windows DPAPI** (Data Protection API) verschlüsselt: * **Verschlüsselung:** ''CryptProtectData'' (user-scoped) * **Speicherformat:** ''DPAPI:'' + Base64(Ciphertext) * **Entschlüsselung:** Nur auf demselben Windows-Benutzer und -Computer möglich Mapping-Dateien mit SQL-Auth sind **nicht zwischen Benutzern oder Computern übertragbar**. Das Passwort kann nur vom ursprünglichen Windows-Benutzer entschlüsselt werden. **Bei fehlgeschlagener Entschlüsselung:** - Ein Passwort-Dialog erscheint — nach korrekter Eingabe wird das Passwort mit dem neuen DPAPI-Schlüssel re-encrypted und automatisch gespeichert. - Klartext-Passwörter aus älteren Mapping-Dateien werden weiterhin akzeptiert. - **Windows-Authentifizierung** ist DPAPI-unabhängig und immer übertragbar. ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. — Outlook Sync// {{tag>outlooksync system konfiguration theme i18n dpapi}}