Desktop-App zum Lesen, Bearbeiten, Konvertieren und Schreiben von TYPO3-XLIFF-Dateien (1.2 & 2.0) für macOS (Intel & Apple Silicon). UI basiert auf React 18, TypeScript, Vite und Mantine.
- Node.js 18+ und npm
- Rust toolchain (inkl.
cargo) - macOS 11+ für Builds; Tauri CLI wird automatisch via
@tauri-apps/clibereitgestellt
npm install- Nur Frontend (schnelles HMR):
npm run dev - Voller Desktop-Stack mit Tauri:
npm run tauri:dev
- Frontend-Build:
npm run build - App-Build (dmg):
npm run tauri:build - macOS-Bundle:
npm run tauri:builderzeugt.appund.dmguntersrc-tauri/target/release/bundle/macos/; XLIFF-Dateitypen (.xlf/.xliff) sind insrc-tauri/Info.plistregistriert, sodass Dateien per Doppelklick geöffnet werden können.
Vitest-Einheitstests für Parser/Serializer:
npm test- Öffnen von Einzeldateien oder Ordnern; automatische Gruppierung von
locallang.xlf,de.locallang.xlf,fr.locallang.xlfetc. zu Translation-Sets - Unterstützung für XLIFF 1.2 und 2.0, Versionserkennung und Umschalten der Zielversion beim Speichern (inkl. strukturellem Mapping)
- Tabellenbasierter Editor mit Inline-Editing, Suche nach Keys/Text, Filter für fehlende oder geänderte Übersetzungen
- Sprachen-Management (Sprache hinzufügen legt passende Datei an), Key-Management (anlegen/löschen), konsistente Updates über alle Sprachdateien
- Warnung bei ungespeicherten Änderungen, Menü/Shortcuts (Cmd+O, Cmd+S, Cmd+Shift+S, Cmd+Q)
- Rust-Backend für Datei-IO und Ordnerscan, Logging via
tauri-plugin-log, Dialoge viatauri-plugin-dialog
src/– React UI, Zustand-Store, XLIFF-Parser/Serializer/Writer, Services für Tauri-Befehlesrc-tauri/– Rust Backend, Tauri-Konfiguration, Menüs/Shortcuts, Datei-Commands
- App starten (
npm run tauri:dev). - Über Menü oder Buttons Datei/Ordner öffnen.
- Translation-Set in der Sidebar wählen, Spalten bearbeiten, neue Sprachen oder Keys hinzufügen.
- Zielversion (1.2/2.0) wählen und speichern.
- Dateien werden mit UTF-8 und sauberer Einrückung geschrieben;
source-language/target-languagebzw.srcLang/trgLangwerden gesetzt. - Neue Sprachdateien folgen der TYPO3-Namenskonvention (
<lang>.<basename>.xlf) und werden im gleichen Ordner wie die Ausgangsdatei abgelegt.