feat: erweiterte Chat-Funktionalität, UI-Verbesserungen und Lokalisierungsupdates

- Chat: Nachrichten-Status (read/unread), WebSocket-Verbesserungen
- App: Login-Optimierung, Job-Übersicht verbessert, neue Übersetzungen
- Backend: Dialog-Styling, Invoice-Generator, Job-Verwaltung erweitert
- Mehrsprachigkeit: Neue Übersetzungen für DE, EN, ES, ET, FR, LT, LV, PL, RU, TR
This commit is contained in:
2026-04-04 10:30:36 +02:00
parent d6132fabe1
commit bba5733783
55 changed files with 2708 additions and 697 deletions

View File

@@ -35,6 +35,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get unknown => 'Desconocido';
@override
String get yesterday => 'Ayer';
// ==================== NAVIGATION ====================
@override
String get jobs => 'Trabajos';
@@ -64,8 +67,33 @@ class AppLocalizationsEs extends AppLocalizations {
String get loginSubtitle => 'Inicie sesión en su cuenta';
@override
String get email => 'Correo electrónico';
@override
String get emailAddress => 'Dirección de correo electrónico';
@override
String get emailAddressHint =>
'Introduzca su dirección de correo electrónico';
@override
String get emailAddressRequired =>
'Por favor, introduzca su dirección de correo electrónico';
@override
String get emailAddressInvalid =>
'Por favor, introduzca una dirección de correo electrónico válida';
@override
String get password => 'Contraseña';
@override
String get passwordHint => 'Introduzca su contraseña';
@override
String get passwordRequired => 'Por favor, introduzca su contraseña';
@override
String get passwordMinLength =>
'La contraseña debe tener al menos 6 caracteres';
@override
String get login => 'Iniciar sesión';
@override
@@ -73,15 +101,18 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get forgotPassword => '¿Olvidó su contraseña?';
@override
String get forgotPasswordMessage => 'Función de contraseña olvidada aún no implementada';
String get forgotPasswordMessage =>
'Función de contraseña olvidada aún no implementada';
@override
String get loginSuccess => 'Sesión cerrada correctamente';
@override
String get loginFailed => 'Error al iniciar sesión';
@override
String get connectionFailed => 'Error de conexión al servidor (Tiempo agotado).';
String get connectionFailed =>
'Error de conexión al servidor (Tiempo agotado).';
@override
String get connectionTimeout => 'Error de conexión al servidor (Tiempo agotado).';
String get connectionTimeout =>
'Error de conexión al servidor (Tiempo agotado).';
@override
String get connecting => 'Conectando al servidor...';
@override
@@ -149,6 +180,34 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get newJobReceived => 'Nuevo trabajo recibido';
@override
String get jobDetails => 'Detalles del pedido';
@override
String get jobTasks => 'Tareas del pedido';
@override
String get deliveryStations => 'Estaciones de entrega';
@override
String deliveryStationsCount(int count) => 'Estaciones de entrega ($count)';
@override
String get noDeliveryStations => 'No hay estaciones de entrega';
@override
String get noDeliveryStationsMessage =>
'Este trabajo no contiene estaciones de entrega actualmente.';
@override
String get phone => 'Teléfono';
@override
String get unnamedStation => 'Estación sin nombre';
@override
String stationNumber(int number) => 'Estación $number';
// ==================== TASKS ====================
@override
String get tasks => 'Tareas';
@@ -161,7 +220,8 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get confirmationRequired => 'Confirmación requerida';
@override
String get confirmationDescription => 'Haga clic en el botón para completar la tarea.';
String get confirmationDescription =>
'Haga clic en el botón para completar la tarea.';
@override
String get checklist => 'Lista de verificación';
@override
@@ -195,7 +255,8 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get signatureError => 'Error al guardar la firma';
@override
String get signatureInstruction => 'Por favor, firme en el campo de abajo (ratón o dedo).';
String get signatureInstruction =>
'Por favor, firme en el campo de abajo (ratón o dedo).';
@override
String get photoCapture => 'Tomar fotos';
@override
@@ -243,11 +304,14 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get enterBarcode => 'Ingresar código de barras';
@override
String get barcodeEnterDescription => 'Por favor ingrese los códigos de barras:';
String get barcodeEnterDescription =>
'Por favor ingrese los códigos de barras:';
@override
String barcodeNumberRequired(int number) => 'Código de barras $number (requerido)';
String barcodeNumberRequired(int number) =>
'Código de barras $number (requerido)';
@override
String barcodeNumberOptional(int number) => 'Código de barras $number (opcional)';
String barcodeNumberOptional(int number) =>
'Código de barras $number (opcional)';
@override
String get barcodeError => 'Error al escanear el código de barras';
@override
@@ -257,7 +321,8 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get cameraNotAvailable => 'Cámara no disponible';
@override
String get cameraNotSupportedMessage => 'La cámara no es compatible con esta plataforma.';
String get cameraNotSupportedMessage =>
'La cámara no es compatible con esta plataforma.';
@override
String get cameraNotSupportedOnPlatform => 'No soportado en esta plataforma';
@override
@@ -269,11 +334,13 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get cameraInitializing => 'Inicializando cámara...';
@override
String get cameraLoadingMessage => 'Por favor espere mientras se carga la cámara';
String get cameraLoadingMessage =>
'Por favor espere mientras se carga la cámara';
@override
String get addPhotos => 'Añadir fotos';
@override
String get addPhotosInstruction => 'Use el botón "Seleccionar foto" para añadir imágenes de su cámara o disco duro.';
String get addPhotosInstruction =>
'Use el botón "Seleccionar foto" para añadir imágenes de su cámara o disco duro.';
@override
String get photoOf => 'de';
@@ -285,11 +352,13 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get noSender => 'No hay remitente disponible';
@override
String get noSenderMessage => 'No hay remitente disponible. Por favor inicie sesión de nuevo.';
String get noSenderMessage =>
'No hay remitente disponible. Por favor inicie sesión de nuevo.';
@override
String get noRecipient => 'No hay destinatario configurado';
@override
String get noRecipientMessage => 'No hay destinatario configurado para este chat.';
String get noRecipientMessage =>
'No hay destinatario configurado para este chat.';
@override
String get messageSendError => 'El mensaje no pudo ser enviado.';
@override
@@ -306,6 +375,15 @@ class AppLocalizationsEs extends AppLocalizations {
String get jobNumber => 'Número de trabajo';
@override
String get messages => 'Mensajes';
@override
String get generalMessages => 'Mensajes generales';
@override
String get noMessagesYet => 'Todavía no hay mensajes';
@override
String get noChatsAvailable => 'No hay chats disponibles';
@override
String get selectPhoto => 'Seleccionar foto';
@override
@@ -327,7 +405,8 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get noCargoItems => 'Sin artículos de carga';
@override
String get noCargoItemsMessage => 'No hay artículos de carga definidos para este trabajo.';
String get noCargoItemsMessage =>
'No hay artículos de carga definidos para este trabajo.';
@override
String get article => 'Artículo';
@@ -369,12 +448,18 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get statusCreated => 'Creado';
@override
String get statusPending => 'Pendiente';
@override
String get statusAssigned => 'Asignado';
@override
String get statusInProgress => 'En progreso';
@override
String get statusCompleted => 'Completado';
@override
String get statusCancelled => 'Cancelado';
@override
String get statusFailed => 'Fallido';
@override
String get priorityLow => 'Baja';
@override
String get priorityMedium => 'Media';