- Add LocaleSubscriber: detects browser language, honours session override (priority 20) - Add LocaleSwitchController: stores locale in session, linked from user menu - Add admin.en.yaml / admin.de.yaml translation files (95 keys each) - Wire translation fallback to EN in config/packages/translation.yaml - Replace all hard-coded strings in CRUD controllers with TranslatableMessage - Inject TranslatorInterface into DashboardController, ArticleCrudController, AIPipelineJobCrudController and PipelineStreamController; add locale switcher links (English / Deutsch) to the user menu - Add confirmation dialog to "Re-run AI" and "Retry" pipeline actions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
119 lines
3.7 KiB
YAML
119 lines
3.7 KiB
YAML
menu:
|
|
dashboard: Dashboard
|
|
ingest_article: Artikel einlesen
|
|
articles: Artikel
|
|
article_types: Artikeltypen
|
|
attributes: Attribute
|
|
section_pipeline: Pipeline
|
|
active_jobs: Aktive Jobs
|
|
archive: Archiv
|
|
ai_prompts: KI-Prompts
|
|
users: Benutzer
|
|
logs: Logs
|
|
section_sales: Verkauf
|
|
orders: Bestellungen
|
|
customers: Kunden
|
|
invoices: Rechnungen
|
|
change_password: Passwort ändern
|
|
language_en: English
|
|
language_de: Deutsch
|
|
|
|
crud:
|
|
article:
|
|
singular: Artikel
|
|
plural: Artikel
|
|
article_type:
|
|
singular: Artikeltyp
|
|
plural: Artikeltypen
|
|
attribute:
|
|
singular: Attribut
|
|
plural: Attribute
|
|
attribute_assignment:
|
|
singular: Attributzuweisung
|
|
plural: Attributzuweisungen
|
|
customer:
|
|
singular: Kunde
|
|
plural: Kunden
|
|
order:
|
|
singular: Bestellung
|
|
plural: Bestellungen
|
|
invoice:
|
|
singular: Rechnung
|
|
plural: Rechnungen
|
|
log_entry:
|
|
singular: Log-Eintrag
|
|
plural: Log-Einträge
|
|
user:
|
|
singular: Benutzer
|
|
plural: Benutzer
|
|
pipeline_job:
|
|
singular: Pipeline-Job
|
|
plural_active: KI-Pipeline — Aktiv
|
|
plural_archive: KI-Pipeline — Archiv
|
|
prompt_template:
|
|
singular: Prompt-Vorlage
|
|
plural: Prompt-Vorlagen
|
|
|
|
field:
|
|
id: ID
|
|
name: Name
|
|
type: Typ
|
|
unit: Einheit
|
|
options: "Optionen (eine pro Zeile)"
|
|
options_help: "Nur relevant für Typ select / multi_select."
|
|
required_attributes: Pflichtattribute
|
|
optional_attributes: Optionale Attribute
|
|
inventory_number: Inventarnr.
|
|
status: Status
|
|
step: Schritt
|
|
attempts: Versuche
|
|
started: Gestartet
|
|
error: Fehler
|
|
ai_results: KI-Ergebnisse
|
|
price: Preis
|
|
condition: Zustand
|
|
manufacturer: Hersteller
|
|
model_number: Modellnr.
|
|
serial_number: Seriennr.
|
|
condition_notes: Zustandshinweise
|
|
description: Beschreibung
|
|
ebay_description: eBay-Beschreibung
|
|
attributes: Attribute
|
|
prompt_key: Schlüssel
|
|
prompt_key_help: "Eindeutiger Bezeichner für den Prompt (z. B. <code>specs_research</code>)."
|
|
prompt_body: Prompt-Text
|
|
prompt_body_preview: Vorschau
|
|
last_updated: Zuletzt geändert
|
|
|
|
action:
|
|
retry: Wiederholen
|
|
retry_confirm: "Diesen Pipeline-Job ab dem aktuellen Schritt neu einreihen?"
|
|
rerun_ai: KI neu starten
|
|
rerun_ai_confirm: "Die gesamte KI-Pipeline für diesen Artikel neu starten? Attribute und eBay-Texte werden überschrieben."
|
|
mark_as_draft: Als Entwurf markieren
|
|
activate: Aktivieren
|
|
|
|
flash:
|
|
pipeline_job_not_found: "Kein ursprünglicher Pipeline-Job gefunden — Foto kann nicht ermittelt werden."
|
|
photo_not_found: "Gespeichertes Foto nicht gefunden unter: %path%"
|
|
pipeline_requeued: "KI-Pipeline für %label% neu gestartet — Attribute und eBay-Texte werden aktualisiert."
|
|
article_marked_draft: Artikel als Entwurf markiert.
|
|
article_missing_attributes: "Aktivierung nicht möglich: fehlende Attribute: %attrs%"
|
|
article_activated: Artikel aktiviert und zur Kanalveröffentlichung eingereicht.
|
|
job_requeued: "Job %id% ab Schritt %step% neu eingereiht."
|
|
|
|
pipeline:
|
|
step:
|
|
vision: Foto analysiert
|
|
specs_research: Specs recherchiert
|
|
json_coding: Attribute kodiert
|
|
draft_article: Artikel erstellt
|
|
ebay_text: eBay-Texte generiert
|
|
validation: Validierung
|
|
event:
|
|
queued: "Job #%inv% zur Pipeline hinzugefügt"
|
|
processing_start: "Job #%inv% gestartet"
|
|
processing_step: "Job #%inv%: %step%"
|
|
completed: "Job #%inv% abgeschlossen ✓"
|
|
failed: "Job #%inv% fehlgeschlagen: %reason%"
|
|
needs_review: "Job #%inv% benötigt manuelle Prüfung"
|