Skip to content

BreathCodeFlow/t3lang

Repository files navigation

TYPO3 XLIFF Studio (Tauri v2 + React 18)

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.

Voraussetzungen

  • Node.js 18+ und npm
  • Rust toolchain (inkl. cargo)
  • macOS 11+ für Builds; Tauri CLI wird automatisch via @tauri-apps/cli bereitgestellt

Installation

npm install

Entwicklung

  • Nur Frontend (schnelles HMR): npm run dev
  • Voller Desktop-Stack mit Tauri: npm run tauri:dev

Produktion

  • Frontend-Build: npm run build
  • App-Build (dmg): npm run tauri:build
  • macOS-Bundle: npm run tauri:build erzeugt .app und .dmg unter src-tauri/target/release/bundle/macos/; XLIFF-Dateitypen (.xlf/.xliff) sind in src-tauri/Info.plist registriert, sodass Dateien per Doppelklick geöffnet werden können.

Tests

Vitest-Einheitstests für Parser/Serializer:

npm test

Kernfeatures

  • Öffnen von Einzeldateien oder Ordnern; automatische Gruppierung von locallang.xlf, de.locallang.xlf, fr.locallang.xlf etc. 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 via tauri-plugin-dialog

Struktur

  • src/ – React UI, Zustand-Store, XLIFF-Parser/Serializer/Writer, Services für Tauri-Befehle
  • src-tauri/ – Rust Backend, Tauri-Konfiguration, Menüs/Shortcuts, Datei-Commands

Nutzung

  1. App starten (npm run tauri:dev).
  2. Über Menü oder Buttons Datei/Ordner öffnen.
  3. Translation-Set in der Sidebar wählen, Spalten bearbeiten, neue Sprachen oder Keys hinzufügen.
  4. Zielversion (1.2/2.0) wählen und speichern.

Hinweise

  • Dateien werden mit UTF-8 und sauberer Einrückung geschrieben; source-language/target-language bzw. srcLang/trgLang werden gesetzt.
  • Neue Sprachdateien folgen der TYPO3-Namenskonvention (<lang>.<basename>.xlf) und werden im gleichen Ordner wie die Ausgangsdatei abgelegt.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors