From b102f94e9761cde13dae78c7d5a6bdd8fed5c122 Mon Sep 17 00:00:00 2001 From: Matthew Momjian <50788000+mmomjian@users.noreply.github.com> Date: Mon, 20 Oct 2025 15:20:49 -0400 Subject: [PATCH] fix(mobile): notate experimental network features, cleanup mis assigned translation tags (#23021) * cleanup i18n, return experimental notation * add renamed file * rename 2 * caps * Update mobile/lib/pages/common/headers_settings.page.dart Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> * IntlKeys * fix: import --------- Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> Co-authored-by: Alex --- i18n/en.json | 15 +++++++-------- .../lib/pages/common/headers_settings.page.dart | 3 ++- .../lib/widgets/settings/advanced_settings.dart | 4 ++-- ...gs.dart => custom_proxy_headers_settings.dart} | 9 +++++---- 4 files changed, 16 insertions(+), 15 deletions(-) rename mobile/lib/widgets/settings/custom_proxy_headers_settings/{custome_proxy_headers_settings.dart => custom_proxy_headers_settings.dart} (73%) diff --git a/i18n/en.json b/i18n/en.json index 945f69beb1..51cd4181c5 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -120,7 +120,7 @@ "library_settings_description": "Manage external library settings", "library_tasks_description": "Scan external libraries for new and/or changed assets", "library_watching_enable_description": "Watch external libraries for file changes", - "library_watching_settings": "Library watching (EXPERIMENTAL)", + "library_watching_settings": "Library watching [EXPERIMENTAL]", "library_watching_settings_description": "Automatically watch for changed files", "logging_enable_description": "Enable logging", "logging_level_description": "When enabled, what log level to use.", @@ -404,11 +404,11 @@ "advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from local assets. Activate this setting to load remote images instead.", "advanced_settings_prefer_remote_title": "Prefer remote images", "advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request", - "advanced_settings_proxy_headers_title": "Proxy Headers", + "advanced_settings_proxy_headers_title": "Custom proxy headers [EXPERIMENTAL]", "advanced_settings_readonly_mode_subtitle": "Enables the read-only mode where the photos can be only viewed, things like selecting multiple images, sharing, casting, delete are all disabled. Enable/Disable read-only via user avatar from the main screen", - "advanced_settings_readonly_mode_title": "Read-only Mode", + "advanced_settings_readonly_mode_title": "Read-only mode", "advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.", - "advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates", + "advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates [EXPERIMENTAL]", "advanced_settings_sync_remote_deletions_subtitle": "Automatically delete or restore an asset on this device when that action is taken on the web", "advanced_settings_sync_remote_deletions_title": "Sync remote deletions [EXPERIMENTAL]", "advanced_settings_tile_subtitle": "Advanced user's settings", @@ -693,8 +693,8 @@ "client_cert_import_success_msg": "Client certificate is imported", "client_cert_invalid_msg": "Invalid certificate file or wrong password", "client_cert_remove_msg": "Client certificate is removed", - "client_cert_subtitle": "Supports PKCS12 (.p12, .pfx) format only. Certificate Import/Remove is available only before login", - "client_cert_title": "SSL Client Certificate", + "client_cert_subtitle": "Supports PKCS12 (.p12, .pfx) format only. Certificate import/removal is available only before login", + "client_cert_title": "SSL client certificate [EXPERIMENTAL]", "clockwise": "Сlockwise", "close": "Close", "collapse": "Collapse", @@ -1122,11 +1122,10 @@ "hash_asset": "Hash asset", "hashed_assets": "Hashed assets", "hashing": "Hashing", - "header_settings_add_header_tip": "Add Header", + "header_settings_add_header_tip": "Add header", "header_settings_field_validator_msg": "Value cannot be empty", "header_settings_header_name_input": "Header name", "header_settings_header_value_input": "Header value", - "headers_settings_tile_subtitle": "Define proxy headers the app should send with each network request", "headers_settings_tile_title": "Custom proxy headers", "hi_user": "Hi {name} ({email})", "hide_all_people": "Hide all people", diff --git a/mobile/lib/pages/common/headers_settings.page.dart b/mobile/lib/pages/common/headers_settings.page.dart index 4cf683b4d9..1cfab355d6 100644 --- a/mobile/lib/pages/common/headers_settings.page.dart +++ b/mobile/lib/pages/common/headers_settings.page.dart @@ -7,6 +7,7 @@ import 'package:flutter_hooks/flutter_hooks.dart' hide Store; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/entities/store.entity.dart'; +import 'package:immich_mobile/generated/intl_keys.g.dart'; class SettingsHeader { String key = ""; @@ -60,7 +61,7 @@ class HeaderSettingsPage extends HookConsumerWidget { return Scaffold( appBar: AppBar( - title: const Text('advanced_settings_proxy_headers_title').tr(), + title: const Text(IntlKeys.headers_settings_tile_title).tr(), centerTitle: false, actions: [ IconButton( diff --git a/mobile/lib/widgets/settings/advanced_settings.dart b/mobile/lib/widgets/settings/advanced_settings.dart index 7a107b47d8..9255a7ae52 100644 --- a/mobile/lib/widgets/settings/advanced_settings.dart +++ b/mobile/lib/widgets/settings/advanced_settings.dart @@ -15,7 +15,7 @@ import 'package:immich_mobile/services/app_settings.service.dart'; import 'package:immich_mobile/utils/hooks/app_settings_update_hook.dart'; import 'package:immich_mobile/utils/http_ssl_options.dart'; import 'package:immich_mobile/widgets/settings/beta_timeline_list_tile.dart'; -import 'package:immich_mobile/widgets/settings/custom_proxy_headers_settings/custome_proxy_headers_settings.dart'; +import 'package:immich_mobile/widgets/settings/custom_proxy_headers_settings/custom_proxy_headers_settings.dart'; import 'package:immich_mobile/widgets/settings/local_storage_settings.dart'; import 'package:immich_mobile/widgets/settings/settings_slider_list_tile.dart'; import 'package:immich_mobile/widgets/settings/settings_sub_page_scaffold.dart'; @@ -100,7 +100,7 @@ class AdvancedSettings extends HookConsumerWidget { subtitle: "advanced_settings_self_signed_ssl_subtitle".tr(), onChanged: HttpSSLOptions.applyFromSettings, ), - const CustomeProxyHeaderSettings(), + const CustomProxyHeaderSettings(), SslClientCertSettings(isLoggedIn: ref.read(currentUserProvider) != null), if (!Store.isBetaTimelineEnabled) SettingsSwitchListTile( diff --git a/mobile/lib/widgets/settings/custom_proxy_headers_settings/custome_proxy_headers_settings.dart b/mobile/lib/widgets/settings/custom_proxy_headers_settings/custom_proxy_headers_settings.dart similarity index 73% rename from mobile/lib/widgets/settings/custom_proxy_headers_settings/custome_proxy_headers_settings.dart rename to mobile/lib/widgets/settings/custom_proxy_headers_settings/custom_proxy_headers_settings.dart index f0e248b39d..c3bb64faf6 100644 --- a/mobile/lib/widgets/settings/custom_proxy_headers_settings/custome_proxy_headers_settings.dart +++ b/mobile/lib/widgets/settings/custom_proxy_headers_settings/custom_proxy_headers_settings.dart @@ -3,10 +3,11 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/extensions/theme_extensions.dart'; +import 'package:immich_mobile/generated/intl_keys.g.dart'; import 'package:immich_mobile/routing/router.dart'; -class CustomeProxyHeaderSettings extends StatelessWidget { - const CustomeProxyHeaderSettings({super.key}); +class CustomProxyHeaderSettings extends StatelessWidget { + const CustomProxyHeaderSettings({super.key}); @override Widget build(BuildContext context) { @@ -14,11 +15,11 @@ class CustomeProxyHeaderSettings extends StatelessWidget { contentPadding: const EdgeInsets.symmetric(horizontal: 20), dense: true, title: Text( - "headers_settings_tile_title".tr(), + IntlKeys.advanced_settings_proxy_headers_title.tr(), style: context.textTheme.bodyLarge?.copyWith(fontWeight: FontWeight.w500), ), subtitle: Text( - "headers_settings_tile_subtitle".tr(), + IntlKeys.advanced_settings_proxy_headers_subtitle.tr(), style: context.textTheme.bodyMedium?.copyWith(color: context.colorScheme.onSurfaceSecondary), ), onTap: () => context.pushRoute(const HeaderSettingsRoute()),