====== 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}}