From a53d03362232e0a69959a71ea286c21a69383374 Mon Sep 17 00:00:00 2001 From: Thien Dang <89862334+dvbthien@users.noreply.github.com> Date: Mon, 2 Jun 2025 09:03:22 +0700 Subject: [PATCH] fix(mobile): notification, dialog that don't translate properly (#18827) * Fix notification, dialog that don't translate properly * use localeProvider to re-build --------- Co-authored-by: dvbthien --- mobile/lib/main.dart | 29 +++++++++++-------- .../common/app_bar_dialog/app_bar_dialog.dart | 2 ++ .../app_bar_dialog/app_bar_server_info.dart | 2 ++ 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/mobile/lib/main.dart b/mobile/lib/main.dart index 3c7c1fbe4d..32bb025916 100644 --- a/mobile/lib/main.dart +++ b/mobile/lib/main.dart @@ -89,18 +89,6 @@ Future initApp() async { initializeTimeZones(); - FileDownloader().configureNotification( - running: TaskNotification( - 'downloading_media'.tr(), - 'file: {filename}', - ), - complete: TaskNotification( - 'download_finished'.tr(), - 'file: {filename}', - ), - progressBar: true, - ); - await FileDownloader().trackTasksInGroup( downloadGroupLivePhoto, markDownloadedComplete: false, @@ -167,10 +155,27 @@ class ImmichAppState extends ConsumerState await ref.read(localNotificationService).setup(); } + void _configureFileDownloaderNotifications() { + FileDownloader().configureNotification( + running: TaskNotification( + 'downloading_media'.tr(), + '${'file_name'.tr()}: {filename}', + ), + complete: TaskNotification( + 'download_finished'.tr(), + '${'file_name'.tr()}: {filename}', + ), + progressBar: true, + ); + } + @override void didChangeDependencies() { super.didChangeDependencies(); Intl.defaultLocale = context.locale.toLanguageTag(); + WidgetsBinding.instance.addPostFrameCallback((_) { + _configureFileDownloaderNotifications(); + }); } @override diff --git a/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart b/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart index b2b24bd01c..cc14ffa5fe 100644 --- a/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart +++ b/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart @@ -9,6 +9,7 @@ import 'package:immich_mobile/providers/asset.provider.dart'; import 'package:immich_mobile/providers/auth.provider.dart'; import 'package:immich_mobile/providers/backup/backup.provider.dart'; import 'package:immich_mobile/providers/backup/manual_upload.provider.dart'; +import 'package:immich_mobile/providers/locale_provider.dart'; import 'package:immich_mobile/providers/user.provider.dart'; import 'package:immich_mobile/providers/websocket.provider.dart'; import 'package:immich_mobile/routing/router.dart'; @@ -23,6 +24,7 @@ class ImmichAppBarDialog extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + ref.watch(localeProvider); BackUpState backupState = ref.watch(backupProvider); final theme = context.themeData; bool isHorizontal = !context.isMobile; diff --git a/mobile/lib/widgets/common/app_bar_dialog/app_bar_server_info.dart b/mobile/lib/widgets/common/app_bar_dialog/app_bar_server_info.dart index 848b7879fa..0f8ae8b8e1 100644 --- a/mobile/lib/widgets/common/app_bar_dialog/app_bar_server_info.dart +++ b/mobile/lib/widgets/common/app_bar_dialog/app_bar_server_info.dart @@ -5,6 +5,7 @@ import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/extensions/theme_extensions.dart'; import 'package:immich_mobile/models/server_info/server_info.model.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:immich_mobile/providers/locale_provider.dart'; import 'package:immich_mobile/providers/server_info.provider.dart'; import 'package:immich_mobile/utils/url_helper.dart'; import 'package:package_info_plus/package_info_plus.dart'; @@ -16,6 +17,7 @@ class AppBarServerInfo extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + ref.watch(localeProvider); ServerInfo serverInfoState = ref.watch(serverInfoProvider); final appInfo = useState({});