mirror of
https://github.com/immich-app/immich.git
synced 2025-12-23 01:11:36 +03:00
feat(mobile): add missing translations (#8537)
* feat(mobile): add missing translations * fix formatting
This commit is contained in:
@@ -73,20 +73,18 @@ class AlbumViewerAppbar extends HookConsumerWidget
|
||||
barrierDismissible: false, // user must tap button!
|
||||
builder: (BuildContext context) {
|
||||
return AlertDialog(
|
||||
title: const Text('Delete album'),
|
||||
content: const Text(
|
||||
'Are you sure you want to delete this album from your account?',
|
||||
),
|
||||
title: const Text('album_viewer_appbar_share_delete').tr(),
|
||||
content: const Text('album_viewer_appbar_delete_confirm').tr(),
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () => context.pop('Cancel'),
|
||||
child: Text(
|
||||
'Cancel',
|
||||
'action_common_cancel',
|
||||
style: TextStyle(
|
||||
color: context.primaryColor,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
).tr(),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
@@ -94,12 +92,12 @@ class AlbumViewerAppbar extends HookConsumerWidget
|
||||
deleteAlbum();
|
||||
},
|
||||
child: Text(
|
||||
'Confirm',
|
||||
'action_common_confirm',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
color: !context.isDarkTheme ? Colors.red : Colors.red[300],
|
||||
),
|
||||
),
|
||||
).tr(),
|
||||
),
|
||||
],
|
||||
);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:immich_mobile/modules/settings/ui/backup_settings/backup_settings.dart';
|
||||
|
||||
@@ -10,9 +11,7 @@ class BackupOptionsPage extends StatelessWidget {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
elevation: 0,
|
||||
title: const Text(
|
||||
"Backup options",
|
||||
),
|
||||
title: const Text("backup_options_page_title").tr(),
|
||||
leading: IconButton(
|
||||
onPressed: () => context.popRoute(true),
|
||||
splashRadius: 24,
|
||||
|
||||
@@ -112,7 +112,7 @@ class ChangePasswordForm extends HookConsumerWidget {
|
||||
TextButton.icon(
|
||||
icon: const Icon(Icons.arrow_back),
|
||||
onPressed: () => AutoRouter.of(context).back(),
|
||||
label: const Text('Back'),
|
||||
label: const Text('action_common_back').tr(),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
||||
@@ -28,15 +29,19 @@ class PartnerList extends HookConsumerWidget {
|
||||
),
|
||||
leading: userAvatar(context, p, radius: 24),
|
||||
title: Text(
|
||||
"${p.name}'s photos",
|
||||
"partner_list_user_photos",
|
||||
style: context.textTheme.labelLarge,
|
||||
).tr(
|
||||
namedArgs: {
|
||||
'user': p.name,
|
||||
},
|
||||
),
|
||||
trailing: Text(
|
||||
"View all",
|
||||
"partner_list_view_all",
|
||||
style: context.textTheme.labelLarge?.copyWith(
|
||||
color: context.primaryColor,
|
||||
),
|
||||
),
|
||||
).tr(),
|
||||
onTap: () => context.pushRoute((PartnerDetailRoute(partner: p))),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
@@ -68,7 +69,7 @@ class CameraPicker extends HookConsumerWidget {
|
||||
},
|
||||
width: context.width * 0.45,
|
||||
menuHeight: 400,
|
||||
label: const Text('Make'),
|
||||
label: const Text('search_filter_camera_make').tr(),
|
||||
inputDecorationTheme: inputDecorationTheme,
|
||||
controller: makeTextController,
|
||||
menuStyle: menuStyle,
|
||||
@@ -98,7 +99,7 @@ class CameraPicker extends HookConsumerWidget {
|
||||
},
|
||||
width: context.width * 0.45,
|
||||
menuHeight: 400,
|
||||
label: const Text('Model'),
|
||||
label: const Text('search_filter_camera_model').tr(),
|
||||
inputDecorationTheme: inputDecorationTheme,
|
||||
controller: modelTextController,
|
||||
menuStyle: menuStyle,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:immich_mobile/modules/search/models/search_filter.dart';
|
||||
@@ -30,7 +31,7 @@ class DisplayOptionPicker extends HookWidget {
|
||||
shrinkWrap: true,
|
||||
children: [
|
||||
CheckboxListTile(
|
||||
title: const Text('Not in album'),
|
||||
title: const Text('search_filter_display_option_not_in_album').tr(),
|
||||
value: options.value[DisplayOption.notInAlbum],
|
||||
onChanged: (bool? value) {
|
||||
options.value = {
|
||||
@@ -41,7 +42,7 @@ class DisplayOptionPicker extends HookWidget {
|
||||
},
|
||||
),
|
||||
CheckboxListTile(
|
||||
title: const Text('Favorite'),
|
||||
title: const Text('search_filter_display_option_favorite').tr(),
|
||||
value: options.value[DisplayOption.favorite],
|
||||
onChanged: (value) {
|
||||
options.value = {
|
||||
@@ -52,7 +53,7 @@ class DisplayOptionPicker extends HookWidget {
|
||||
},
|
||||
),
|
||||
CheckboxListTile(
|
||||
title: const Text('Archive'),
|
||||
title: const Text('search_filter_display_option_archive').tr(),
|
||||
value: options.value[DisplayOption.archive],
|
||||
onChanged: (value) {
|
||||
options.value = {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
||||
|
||||
@@ -48,7 +49,7 @@ class FilterBottomSheetScaffold extends StatelessWidget {
|
||||
onClear();
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: const Text('Clear'),
|
||||
child: const Text('action_common_clear').tr(),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
ElevatedButton(
|
||||
@@ -56,7 +57,7 @@ class FilterBottomSheetScaffold extends StatelessWidget {
|
||||
onSearch();
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: const Text('Apply filter'),
|
||||
child: const Text('search_filter_apply').tr(),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
@@ -79,7 +80,7 @@ class LocationPicker extends HookConsumerWidget {
|
||||
},
|
||||
menuHeight: 400,
|
||||
width: context.width * 0.9,
|
||||
label: const Text('Country'),
|
||||
label: const Text('search_filter_location_country').tr(),
|
||||
inputDecorationTheme: inputDecorationTheme,
|
||||
menuStyle: menuStyle,
|
||||
controller: countryTextController,
|
||||
@@ -112,7 +113,7 @@ class LocationPicker extends HookConsumerWidget {
|
||||
},
|
||||
menuHeight: 400,
|
||||
width: context.width * 0.9,
|
||||
label: const Text('State'),
|
||||
label: const Text('search_filter_location_state').tr(),
|
||||
inputDecorationTheme: inputDecorationTheme,
|
||||
menuStyle: menuStyle,
|
||||
controller: stateTextController,
|
||||
@@ -145,7 +146,7 @@ class LocationPicker extends HookConsumerWidget {
|
||||
},
|
||||
menuHeight: 400,
|
||||
width: context.width * 0.9,
|
||||
label: const Text('City'),
|
||||
label: const Text('search_filter_location_city').tr(),
|
||||
inputDecorationTheme: inputDecorationTheme,
|
||||
menuStyle: menuStyle,
|
||||
controller: cityTextController,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:immich_mobile/shared/models/asset.dart';
|
||||
@@ -16,7 +17,7 @@ class MediaTypePicker extends HookWidget {
|
||||
shrinkWrap: true,
|
||||
children: [
|
||||
RadioListTile(
|
||||
title: const Text("All"),
|
||||
title: const Text("search_filter_media_type_all").tr(),
|
||||
value: AssetType.other,
|
||||
onChanged: (value) {
|
||||
selectedMediaType.value = value!;
|
||||
@@ -25,7 +26,7 @@ class MediaTypePicker extends HookWidget {
|
||||
groupValue: selectedMediaType.value,
|
||||
),
|
||||
RadioListTile(
|
||||
title: const Text("Image"),
|
||||
title: const Text("search_filter_media_type_image").tr(),
|
||||
value: AssetType.image,
|
||||
onChanged: (value) {
|
||||
selectedMediaType.value = value!;
|
||||
@@ -34,7 +35,7 @@ class MediaTypePicker extends HookWidget {
|
||||
groupValue: selectedMediaType.value,
|
||||
),
|
||||
RadioListTile(
|
||||
title: const Text("Video"),
|
||||
title: const Text("search_filter_media_type_video").tr(),
|
||||
value: AssetType.video,
|
||||
onChanged: (value) {
|
||||
selectedMediaType.value = value!;
|
||||
|
||||
@@ -151,13 +151,13 @@ class SearchPage extends HookConsumerWidget {
|
||||
Icon(Icons.search, color: context.primaryColor),
|
||||
const SizedBox(width: 16.0),
|
||||
Text(
|
||||
"Search your photos",
|
||||
"search_bar_hint",
|
||||
style: context.textTheme.bodyLarge?.copyWith(
|
||||
color:
|
||||
context.isDarkTheme ? Colors.white70 : Colors.black54,
|
||||
fontWeight: FontWeight.w400,
|
||||
),
|
||||
),
|
||||
).tr(),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -48,7 +48,11 @@ class SharedLinkEditPage extends HookConsumerWidget {
|
||||
return Row(
|
||||
children: [
|
||||
const Text(
|
||||
"Public album | ",
|
||||
'shared_link_public_album',
|
||||
style: TextStyle(fontWeight: FontWeight.bold),
|
||||
).tr(),
|
||||
const Text(
|
||||
" | ",
|
||||
style: TextStyle(fontWeight: FontWeight.bold),
|
||||
),
|
||||
Text(
|
||||
@@ -66,7 +70,11 @@ class SharedLinkEditPage extends HookConsumerWidget {
|
||||
return Row(
|
||||
children: [
|
||||
const Text(
|
||||
"Individual shared | ",
|
||||
'shared_link_individual_shared',
|
||||
style: TextStyle(fontWeight: FontWeight.bold),
|
||||
).tr(),
|
||||
const Text(
|
||||
" | ",
|
||||
style: TextStyle(fontWeight: FontWeight.bold),
|
||||
),
|
||||
Expanded(
|
||||
|
||||
Reference in New Issue
Block a user