diff --git a/assets/translations/ar.json b/assets/translations/ar.json index 7773042..704e7a8 100644 --- a/assets/translations/ar.json +++ b/assets/translations/ar.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "إعداد", - "initalDescription": "التهيئة" + "initalDescription": "التهيئة", + "addingMetaData": "إضافة بيانات التعريف", + "addingWaterMark": "إضافة علامة مائية" }, "verificationNotification": { "title": "جارٍ التحقق", diff --git a/assets/translations/de.json b/assets/translations/de.json index 8fd525e..4a3b43e 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "Media Datei wird vorbereitet", - "initalDescription": "Initialisiere" + "initalDescription": "Initialisiere", + "addingMetaData": "Metadaten werden hinzugefügt", + "addingWaterMark": "Wasserzeichen hinzufügen" }, "verificationNotification": { "title": "Verifiziere", diff --git a/assets/translations/en.json b/assets/translations/en.json index 263c4ca..4323f01 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "Preperation in progress", - "initalDescription": "Initalizing" + "initalDescription": "Initalizing", + "addingMetaData": "Adding Metadata", + "addingWaterMark": "Adding Watermark" }, "verificationNotification": { "title": "Verification in progress", diff --git a/assets/translations/es.json b/assets/translations/es.json index 1ea20f0..5fbd101 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "Preparación en progreso", - "initalDescription": "Inicializando" + "initalDescription": "Inicializando", + "addingMetaData": "Agregar metadatos", + "addingWaterMark": "Agregar marca de agua" }, "verificationNotification": { "title": "Verificación en progreso", diff --git a/assets/translations/fr.json b/assets/translations/fr.json index 5e09c8a..718fede 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "Préparation en cours", - "initalDescription": "Initialisation" + "initalDescription": "Initialisation", + "addingMetaData": "Ajout de métadonnées", + "addingWaterMark": "Ajout d'un filigrane" }, "verificationNotification": { "title": "Vérification en cours", diff --git a/assets/translations/jp.json b/assets/translations/jp.json index db5f13d..fbde528 100644 --- a/assets/translations/jp.json +++ b/assets/translations/jp.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "準備中", - "initalDescription": "初期化" + "initalDescription": "初期化", + "addingMetaData": "メタデータの追加", + "addingWaterMark": "透かしの追加" }, "verificationNotification": { "title": "検証中", diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 1e72c76..0120042 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "Подготовка продолжается", - "initalDescription": "Инициализация" + "initalDescription": "Инициализация", + "addingMetaData": "Добавление метаданных", + "addingWaterMark": "Добавление водяного знака" }, "verificationNotification": { "title": "Выполняется проверка", diff --git a/assets/translations/sn.json b/assets/translations/sn.json deleted file mode 100644 index 4064aad..0000000 --- a/assets/translations/sn.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "homePage": { - "options": { - "imageVideo": "imagen/vídeo", - "audio": "Audio", - "verify": "Verificar", - "locationWarning": "Ha activado la incrustación de ubicación pero ha desactivado el servicio de ubicación." - } - }, - "introPage": { - "title0": "Bienvenido a Decentproof", - "title1": "¿Qué puedes hacer?", - "title2": "¿Cómo funciona?", - "title3": "Una nota sobre cómo compartir", - "title4": "Verificación de archivos", - "title5": "Finalizar", - "tempTitle": "Grabaciones sonoras", - "body1": "¡Con esta App puedes crear archivos multimedia y posteriormente probar que ese archivo no ha sido manipulado!", - "body2": "Simplemente selecciona una de las 2 opciones del menú principal y empieza a crear tu archivo. Los archivos soportados son: .png y .aac", - "body3": "Puedes compartir el archivo desde cualquier aplicación, pero te recomiendo que utilices el correo electrónico, el almacenamiento en la nube o la exportación directa. Si utilizas otras aplicaciones, como las de chat, es posible que pierdas los metadatos y no puedas verificar el archivo más tarde.", - "body4": "Así de fácil, simplemente selecciona la tercera entrada en el menú principal y selecciona tu archivo. Todo lo demás se explica por sí mismo", - "body5": "Eso es todo, si quieres apoyar la aplicación, o te gustaría obtener más información sobre su funcionamiento, no dudes en comprobar el icono superior derecho, en la página principal, fuera.", - "tempBody": "Actualmente, las grabaciones de audio sólo pueden compartirse directamente a través del botón de compartir. (Puede verlo en la parte superior derecha de la página de envío) Esto se cambiará lo antes posible. Si tiene preguntas, lea las FAQ en la configuración.", - "next": "Next", - "skip": "Saltar", - "done": "Hecho" - }, - "settingsPage": { - "title": "Settings", - "addEmail": "Añadir correo electrónico", - "description": "Si desea obtener un certificado de prueba para verificar usted mismo su expediente", - "embedLocation": "Incrustar ubicación" - }, - "submissionPage": { - "hash": "Su Hash:", - "messageid": "Message ID", - "submitt": "Enviar", - "submissionSuccess": "Enviado con éxito" - }, - "supportPage": { - "title": "Desarrollo de soporte", - "description": "Si te gusta este proyecto, considera comprobar uno de estos enlaces. Esto será de gran ayuda", - "support": "Ayuda desarrollo", - "help": "Ayuda desarrollo", - "code": "Comprobar el código" - }, - "verificationPage": { - "title": "Verificar archivo", - "notModified": "Parece que su archivo no ha sido modificado", - "error": "Se ha producido un error", - "selectFile": "Selecciona un archivo", - "hash": "Su Hash:", - "noFile": "¡No se ha seleccionado ningún archivo!", - "id": "Su ID de mensaje:", - "showInExplorer": "Mostrar transacción", - "reset": "Restablecer" - }, - "videoImagePage": { - "photo": "Toma una foto", - "video": "Take a video" - }, - "other": { - "home": "Volver a casa", - "submit": "Confirme" - } -} \ No newline at end of file diff --git a/assets/translations/zh.json b/assets/translations/zh.json index a52bb56..7212f45 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -74,7 +74,9 @@ }, "perperationNotification": { "title": "准备工作正在进行中", - "initalDescription": "正在初始化" + "initalDescription": "正在初始化", + "addingMetaData": "添加元数据", + "addingWaterMark": "添加水印" }, "verificationNotification": { "title": "验证正在进行中", diff --git a/lib/features/hashing/logic/foregroundService/PerperationTaskHandler.dart b/lib/features/hashing/logic/foregroundService/PerperationTaskHandler.dart index e956c7c..99f18db 100644 --- a/lib/features/hashing/logic/foregroundService/PerperationTaskHandler.dart +++ b/lib/features/hashing/logic/foregroundService/PerperationTaskHandler.dart @@ -9,11 +9,14 @@ import 'package:decentproof/features/metadata/interfaces/IMetaDataPermissionServ import 'package:decentproof/features/metadata/interfaces/IMetaDataService.dart'; import 'package:decentproof/features/metadata/models/LocationModel.dart'; import 'package:decentproof/shared/util/initSentry.dart'; +import 'package:decentproof/shared/util/loadTranslations.dart'; import 'package:decentproof/shared/util/register.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_foreground_task/flutter_foreground_task.dart'; import 'package:get_it/get_it.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; +import 'package:easy_localization/src/localization.dart'; class PreperationTaskHandler extends TaskHandler { // Called when the task is started. @@ -22,6 +25,8 @@ class PreperationTaskHandler extends TaskHandler { DartPluginRegistrant.ensureInitialized(); try { await dotenv.load(); + await loadTranslations(); + final Localization L = Localization.instance; await initSentry(); await registar(); final getIt = GetIt.I; @@ -54,10 +59,14 @@ class PreperationTaskHandler extends TaskHandler { final task = parts[0]; if (task == "image") { sendPort?.send({"status": "AddingWaterMark"}); + await foregroundService.updateNotification( + body: L.tr("perperationNotification.addingWaterMark")); String finalPath = await imageWaterMarkService.addWaterMark(path); bool shouldEmbedLocation = metaDataPermissionService.shouldEmbedLocation(); if (shouldEmbedLocation) { + await foregroundService.updateNotification( + body: L.tr("perperationNotification.addingMetaData")); sendPort?.send({"status": "AddingMetaData"}); bool isEnabled = await locationService.serviceEnabled(); if (!isEnabled) { @@ -80,12 +89,16 @@ class PreperationTaskHandler extends TaskHandler { ?.send({"status": "Done", "content": hash, "filePath": finalPath}); } else if (task == "video") { String? afterMetaDataPath; + await foregroundService.updateNotification( + body: L.tr("perperationNotification.addingWaterMark")); sendPort?.send({"status": "AddingWaterMark"}); String finalPath = await videoWaterMarkSerivce.addWaterMark(path); bool shouldEmbedLocation = metaDataPermissionService.shouldEmbedLocation(); if (shouldEmbedLocation) { bool isEnabled = await locationService.serviceEnabled(); + await foregroundService.updateNotification( + body: L.tr("perperationNotification.addingMetaData")); sendPort?.send({"status": "AddingMetaData"}); if (!isEnabled) { sendPort?.send({ @@ -115,6 +128,8 @@ class PreperationTaskHandler extends TaskHandler { bool shouldEmbedLocation = metaDataPermissionService.shouldEmbedLocation(); if (shouldEmbedLocation) { + await foregroundService.updateNotification( + body: L.tr("perperationNotification.addingWaterMark")); sendPort?.send({"status": "AddingMetaData"}); bool isEnabled = await locationService.serviceEnabled(); if (!isEnabled) { @@ -140,6 +155,10 @@ class PreperationTaskHandler extends TaskHandler { "content": hash, "filePath": afterMetaDataPath ?? path }); + } else { + sendPort + ?.send({"status": "Error", "description": "Task not supported"}); + await foregroundService.stop(); } } catch (e, stack) { sendPort?.send({ diff --git a/project.inlang/settings.json b/project.inlang/settings.json index 745e1ac..122caed 100644 --- a/project.inlang/settings.json +++ b/project.inlang/settings.json @@ -9,7 +9,6 @@ "fr", "jp", "ru", - "sn", "zh" ], "modules": [ diff --git a/pubspec.yaml b/pubspec.yaml index 238d3c3..b463516 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 2.3.4+18 +version: 2.3.6+19 environment: sdk: ">=3.0.5 <4.0.0"