fix: search screen translations

This commit is contained in:
Tazio
2025-11-13 09:03:09 +01:00
parent 0d5873171b
commit 5fbdbe3595
6 changed files with 59 additions and 34 deletions
+18 -2
View File
@@ -4,9 +4,9 @@
/// To regenerate, run: `dart run slang`
///
/// Locales: 4
/// Strings: 1240 (310 per locale)
/// Strings: 1248 (312 per locale)
///
/// Built on 2025-11-12 at 20:36 UTC
/// Built on 2025-11-13 at 08:01 UTC
// coverage:ignore-file
// ignore_for_file: type=lint
@@ -361,6 +361,8 @@ class _StringsSearchEn {
// Translations
String get hint => 'Search movies, shows, music...';
String get tryDifferentTerm => 'Try a different search term';
String get searchYourMedia => 'Search your media';
String get enterTitleActorOrKeyword => 'Enter a title, actor, or keyword';
}
// Path: hotkeys
@@ -967,6 +969,8 @@ class _StringsSearchIt implements _StringsSearchEn {
// Translations
@override String get hint => 'Cerca film. spettacoli, musica...';
@override String get tryDifferentTerm => 'Prova altri termini di ricerca';
@override String get searchYourMedia => 'Cerca nei tuoi media';
@override String get enterTitleActorOrKeyword => 'Inserisci un titolo, attore o parola chiave';
}
// Path: hotkeys
@@ -1573,6 +1577,8 @@ class _StringsSearchNl implements _StringsSearchEn {
// Translations
@override String get hint => 'Zoek films, series, muziek...';
@override String get tryDifferentTerm => 'Probeer een andere zoekterm';
@override String get searchYourMedia => 'Zoek in je media';
@override String get enterTitleActorOrKeyword => 'Voer een titel, acteur of trefwoord in';
}
// Path: hotkeys
@@ -2179,6 +2185,8 @@ class _StringsSearchSv implements _StringsSearchEn {
// Translations
@override String get hint => 'Sök filmer, serier, musik...';
@override String get tryDifferentTerm => 'Prova en annan sökterm';
@override String get searchYourMedia => 'Sök i dina media';
@override String get enterTitleActorOrKeyword => 'Ange en titel, skådespelare eller nyckelord';
}
// Path: hotkeys
@@ -2677,6 +2685,8 @@ extension on Translations {
case 'settings.shortcutUpdated': return ({required Object action}) => 'Shortcut updated for ${action}';
case 'search.hint': return 'Search movies, shows, music...';
case 'search.tryDifferentTerm': return 'Try a different search term';
case 'search.searchYourMedia': return 'Search your media';
case 'search.enterTitleActorOrKeyword': return 'Enter a title, actor, or keyword';
case 'hotkeys.setShortcutFor': return ({required Object actionName}) => 'Set Shortcut for ${actionName}';
case 'hotkeys.clearShortcut': return 'Clear shortcut';
case 'pinEntry.enterPin': return 'Enter PIN';
@@ -2995,6 +3005,8 @@ extension on _StringsIt {
case 'settings.shortcutUpdated': return ({required Object action}) => 'Scorciatoia aggiornata per ${action}';
case 'search.hint': return 'Cerca film. spettacoli, musica...';
case 'search.tryDifferentTerm': return 'Prova altri termini di ricerca';
case 'search.searchYourMedia': return 'Cerca nei tuoi media';
case 'search.enterTitleActorOrKeyword': return 'Inserisci un titolo, attore o parola chiave';
case 'hotkeys.setShortcutFor': return ({required Object actionName}) => 'Imposta scorciatoia per ${actionName}';
case 'hotkeys.clearShortcut': return 'Elimina scorciatoia';
case 'pinEntry.enterPin': return 'Inserisci PIN';
@@ -3313,6 +3325,8 @@ extension on _StringsNl {
case 'settings.shortcutUpdated': return ({required Object action}) => 'Sneltoets bijgewerkt voor ${action}';
case 'search.hint': return 'Zoek films, series, muziek...';
case 'search.tryDifferentTerm': return 'Probeer een andere zoekterm';
case 'search.searchYourMedia': return 'Zoek in je media';
case 'search.enterTitleActorOrKeyword': return 'Voer een titel, acteur of trefwoord in';
case 'hotkeys.setShortcutFor': return ({required Object actionName}) => 'Stel sneltoets in voor ${actionName}';
case 'hotkeys.clearShortcut': return 'Wis sneltoets';
case 'pinEntry.enterPin': return 'Voer PIN in';
@@ -3631,6 +3645,8 @@ extension on _StringsSv {
case 'settings.shortcutUpdated': return ({required Object action}) => 'Genväg uppdaterad för ${action}';
case 'search.hint': return 'Sök filmer, serier, musik...';
case 'search.tryDifferentTerm': return 'Prova en annan sökterm';
case 'search.searchYourMedia': return 'Sök i dina media';
case 'search.enterTitleActorOrKeyword': return 'Ange en titel, skådespelare eller nyckelord';
case 'hotkeys.setShortcutFor': return ({required Object actionName}) => 'Sätt genväg för ${actionName}';
case 'hotkeys.clearShortcut': return 'Rensa genväg';
case 'pinEntry.enterPin': return 'Ange PIN';
+4 -2
View File
@@ -132,7 +132,9 @@
},
"search": {
"hint": "Search movies, shows, music...",
"tryDifferentTerm": "Try a different search term"
"tryDifferentTerm": "Try a different search term",
"searchYourMedia": "Search your media",
"enterTitleActorOrKeyword": "Enter a title, actor, or keyword"
},
"hotkeys": {
"setShortcutFor": "Set Shortcut for ${actionName}",
@@ -363,4 +365,4 @@
"libraries": "Libraries",
"settings": "Settings"
}
}
}
+3 -1
View File
@@ -132,7 +132,9 @@
},
"search": {
"hint": "Cerca film. spettacoli, musica...",
"tryDifferentTerm": "Prova altri termini di ricerca"
"tryDifferentTerm": "Prova altri termini di ricerca",
"searchYourMedia": "Cerca nei tuoi media",
"enterTitleActorOrKeyword": "Inserisci un titolo, attore o parola chiave"
},
"hotkeys": {
"setShortcutFor": "Imposta scorciatoia per ${actionName}",
+3 -1
View File
@@ -132,7 +132,9 @@
},
"search": {
"hint": "Zoek films, series, muziek...",
"tryDifferentTerm": "Probeer een andere zoekterm"
"tryDifferentTerm": "Probeer een andere zoekterm",
"searchYourMedia": "Zoek in je media",
"enterTitleActorOrKeyword": "Voer een titel, acteur of trefwoord in"
},
"hotkeys": {
"setShortcutFor": "Stel sneltoets in voor ${actionName}",
+4 -2
View File
@@ -132,7 +132,9 @@
},
"search": {
"hint": "Sök filmer, serier, musik...",
"tryDifferentTerm": "Prova en annan sökterm"
"tryDifferentTerm": "Prova en annan sökterm",
"searchYourMedia": "Sök i dina media",
"enterTitleActorOrKeyword": "Ange en titel, skådespelare eller nyckelord"
},
"hotkeys": {
"setShortcutFor": "Sätt genväg för ${actionName}",
@@ -363,4 +365,4 @@
"libraries": "Bibliotek",
"settings": "Inställningar"
}
}
}
+27 -26
View File
@@ -1,17 +1,19 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../client/plex_client.dart';
import '../models/plex_metadata.dart';
import '../services/settings_service.dart';
import '../providers/settings_provider.dart';
import '../utils/provider_extensions.dart';
import '../utils/app_logger.dart';
import '../widgets/media_card.dart';
import '../widgets/desktop_app_bar.dart';
import '../mixins/refreshable.dart';
import '../mixins/item_updatable.dart';
import '../i18n/strings.g.dart';
import '../mixins/item_updatable.dart';
import '../mixins/refreshable.dart';
import '../models/plex_metadata.dart';
import '../providers/settings_provider.dart';
import '../services/settings_service.dart';
import '../utils/app_logger.dart';
import '../utils/provider_extensions.dart';
import '../widgets/desktop_app_bar.dart';
import '../widgets/media_card.dart';
class SearchScreen extends StatefulWidget {
const SearchScreen({super.key});
@@ -107,9 +109,9 @@ class _SearchScreenState extends State<SearchScreen>
setState(() {
_isSearching = false;
});
ScaffoldMessenger.of(
context,
).showSnackBar(SnackBar(content: Text(t.errors.searchFailed(error: e))));
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(t.errors.searchFailed(error: e))),
);
}
}
}
@@ -124,7 +126,9 @@ class _SearchScreenState extends State<SearchScreen>
// Public method to fully reload all content (for profile switches)
void fullRefresh() {
appLogger.d('SearchScreen.fullRefresh() called - clearing search and reloading');
appLogger.d(
'SearchScreen.fullRefresh() called - clearing search and reloading',
);
// Clear search results and search text for new profile
_searchController.clear();
setState(() {
@@ -186,14 +190,14 @@ class _SearchScreenState extends State<SearchScreen>
Icon(Icons.search, size: 80, color: Colors.grey.shade400),
const SizedBox(height: 16),
Text(
'Search your media',
t.search.searchYourMedia,
style: Theme.of(context).textTheme.titleLarge?.copyWith(
color: Colors.grey.shade600,
),
),
const SizedBox(height: 8),
Text(
'Enter a title, actor, or keyword',
t.search.enterTitleActorOrKeyword,
style: TextStyle(color: Colors.grey.shade600),
),
],
@@ -234,17 +238,14 @@ class _SearchScreenState extends State<SearchScreen>
return SliverPadding(
padding: const EdgeInsets.all(16),
sliver: SliverList(
delegate: SliverChildBuilderDelegate(
(context, index) {
final item = _searchResults[index];
return MediaCard(
key: Key(item.ratingKey),
item: item,
onRefresh: updateItem,
);
},
childCount: _searchResults.length,
),
delegate: SliverChildBuilderDelegate((context, index) {
final item = _searchResults[index];
return MediaCard(
key: Key(item.ratingKey),
item: item,
onRefresh: updateItem,
);
}, childCount: _searchResults.length),
),
);
} else {