Files
votianlt/app/lib/l10n/localization_helpers.dart
T
Sven b642f42954 feat: Auftragsdetails und Stationsabschluss für Version 0.9.24
Preisanzeige in der App entfernen und Auftragsbezeichnungen vereinheitlichen.

Stationsabschlüsse und Benachrichtigungen absichern sowie Historie um Aufgabenbeschreibungen und ausführende Nutzer erweitern.

Regressionstests ergänzen und App sowie Backend auf Version 0.9.24 anheben.
2026-10-01 11:31:59 +02:00

58 lines
1.5 KiB
Dart

import 'package:flutter/widgets.dart';
import '../models/chat.dart';
import 'app_localizations.dart';
String localizeKnownText(BuildContext context, String text) {
final l10n = AppLocalizations.of(context);
switch (text.trim()) {
case 'Auftragsdetails':
return l10n.jobDetails;
case 'Aufgaben eines Auftrags':
return l10n.jobTasks;
case 'Unterschrift':
return l10n.signature;
case 'Allgemeine Nachrichten':
return l10n.generalMessages;
case 'Telefon':
return l10n.phone;
case 'Erstellt':
return l10n.created;
case 'E-Mail-Adresse':
return l10n.emailAddress;
case 'Passwort':
return l10n.password;
case 'Anmelden':
return l10n.login;
default:
return text;
}
}
String localizedStationLabel(
BuildContext context,
int number, {
String? suffix,
}) {
final base = AppLocalizations.of(context).stationNumber(number);
final trimmedSuffix = suffix?.trim() ?? '';
if (trimmedSuffix.isEmpty) {
return base;
}
return '$base: ${localizeKnownText(context, trimmedSuffix)}';
}
String localizedChatTitle(BuildContext context, Chat chat) {
if (chat.type == ChatType.general) {
return AppLocalizations.of(context).generalMessages;
}
// Older locally stored conversations still use the previous title prefix.
if (chat.title.startsWith('Job ')) {
return 'Auftrag ${chat.title.substring(4)}';
}
if (chat.title == 'Job-Chat') {
return 'Auftrags-Chat';
}
return localizeKnownText(context, chat.title);
}