mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-10 10:29:55 -06:00
- brand.toml is the only place the product name lives; every crate and app
reads it through dac-brand (env vars with legacy fallback, settings folder
with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
pinned Immich test server
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
42 lines
2.6 KiB
Markdown
42 lines
2.6 KiB
Markdown
# Deutsche Oberfläche
|
|
|
|
> `<PREFIX>`, `<cli>`, `<binary>`: [`brand.toml`](../brand.toml).
|
|
|
|
Wähle **Bearbeiten → Sprache → Deutsch** oder **Einstellungen → Allgemein → Sprache**.
|
|
Die Auswahl gilt sofort und wird für den nächsten Start gespeichert (`language: "de"` in `ui.json`).
|
|
|
|
Die deutschen Kataloge decken alle Schlüssel der bisherigen Übersetzungen sowie sämtliche
|
|
Befehls- und Reglerbezeichnungen ab: Menüs, Tastenkürzel, Fotoverwaltung, Bearbeitung,
|
|
Zuschnitt, Masken, Personen, Import/Export, Einstellungen, eingebaute Vorgaben und Profile,
|
|
Verlauf, Versionen, Datumsüberschriften und Statusmeldungen. Auch der Regel-Editor für
|
|
Smart-Alben, Platzhalterhilfen und der Dialog bei ungespeicherten Änderungen sind angebunden.
|
|
Die eingebetteten Versionshinweise sind ebenfalls übersetzt. Technische Fehler aus tieferen
|
|
Schichten bleiben wie bei den bestehenden Sprachen auf Englisch.
|
|
|
|
Dateinamen, Befehls-IDs, Vorlagenplatzhalter und selbst benannte Alben, Vorgaben oder Metadaten
|
|
werden nicht übersetzt. Die vorhandenen Inter-Schriften enthalten die deutschen Zeichen;
|
|
für Deutsch ist kein zusätzlicher Font-Download nötig. Beschreibungen für SAM 3 werden
|
|
unverändert an das Modell übergeben; die Beispiele verwenden dessen englische Begriffe.
|
|
|
|
## Wartung und Prüfung
|
|
|
|
Feste Texte: `crates/ui-egui/locales/de.json`. Meldungen mit Werten:
|
|
`crates/ui-egui/locales/de-formats.json`. Die englischen Schlüssel bleiben unverändert;
|
|
(Platzhalter für den Produktnamen: `{app}`, Programmname der Kommandozeile: `{cli}`, Präfix der
|
|
Umgebungsvariablen: `{env}`; sie kommen aus `brand.toml`, bleiben in jeder Übersetzung unverändert
|
|
stehen und werden nicht dekliniert, z. B. `"About {app}"` → `"Über {app}"`.)
|
|
Platzhalter werden beim Build durch Rust geprüft. Englische Pluralendungen werden dort,
|
|
wo sie nicht passen, mit `{:.0}` ausgeblendet; mengenabhängige Meldungen verwenden neutrale
|
|
Formulierungen. Das Datum erscheint beispielsweise als `Sonntag, 20.09.2026`.
|
|
|
|
```sh
|
|
cargo test -p dac-ui-egui i18n::tests
|
|
<PREFIX>_LANGUAGE=de <cli> snapshot --demo -o deutsch.png --size 1600x1000
|
|
```
|
|
|
|
Die Tests prüfen Katalogabdeckung, Platzhalter, Sprachwechsel per Menü und Steuerkanal,
|
|
Speicherung, Datumsformate, unveränderte Benutzernamen und gerenderte Texte sowie Umlaute
|
|
und ß. Ein weiterer Render-Test prüft die Schaltflächenbreiten; der Importtest prüft
|
|
auch den Sprachwechsel nach der Hintergrundprüfung der Quellen. Akzeptierte Sprachangaben umfassen `de`, `de-DE`, `de_AT.UTF-8` und `de-CH`;
|
|
gespeichert wird stets `de`. Weitere Hinweise stehen in [localization.md](localization.md).
|