library tabs translations

This commit is contained in:
austinried 2025-11-18 21:59:13 +09:00
parent 51b9f3f1a8
commit b5d52a034d
24 changed files with 399 additions and 10 deletions

View File

@ -7,6 +7,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -40,6 +44,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -66,6 +74,10 @@
], ],
"cs": [ "cs": [
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesPlaylistCount", "resourcesPlaylistCount",
@ -93,6 +105,10 @@
"actionsStar", "actionsStar",
"actionsUnstar", "actionsUnstar",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -127,11 +143,19 @@
], ],
"de": [ "de": [
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"settingsAboutShareLogs", "settingsAboutShareLogs",
"settingsAboutChooseLog" "settingsAboutChooseLog"
], ],
"es": [ "es": [
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -165,6 +189,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -190,6 +218,13 @@
"settingsServersFieldsName" "settingsServersFieldsName"
], ],
"gl": [
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs"
],
"it": [ "it": [
"actionsCancel", "actionsCancel",
"actionsDelete", "actionsDelete",
@ -198,6 +233,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -234,6 +273,10 @@
"actionsUnstar", "actionsUnstar",
"controlsShuffle", "controlsShuffle",
"messagesNothingHere", "messagesNothingHere",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumActionsPlay", "resourcesAlbumActionsPlay",
"resourcesAlbumActionsView", "resourcesAlbumActionsView",
"resourcesAlbumCount", "resourcesAlbumCount",
@ -309,6 +352,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -342,6 +389,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -375,6 +426,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -401,6 +456,10 @@
], ],
"pt": [ "pt": [
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterOwner", "resourcesFilterOwner",
@ -416,6 +475,13 @@
"settingsServersFieldsName" "settingsServersFieldsName"
], ],
"ru": [
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs"
],
"tr": [ "tr": [
"actionsCancel", "actionsCancel",
"actionsDelete", "actionsDelete",
@ -424,6 +490,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -457,6 +527,10 @@
"actionsDownloadDelete", "actionsDownloadDelete",
"actionsOk", "actionsOk",
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesFilterAlbum", "resourcesFilterAlbum",
@ -484,6 +558,10 @@
"zh": [ "zh": [
"controlsShuffle", "controlsShuffle",
"navigationTabsAlbums",
"navigationTabsArtists",
"navigationTabsPlaylists",
"navigationTabsSongs",
"resourcesAlbumCount", "resourcesAlbumCount",
"resourcesArtistCount", "resourcesArtistCount",
"resourcesPlaylistCount", "resourcesPlaylistCount",

View File

@ -4,9 +4,11 @@ import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:material_symbols_icons/symbols.dart'; import 'package:material_symbols_icons/symbols.dart';
import '../../l10n/generated/app_localizations.dart';
import '../lists/albums_grid.dart'; import '../lists/albums_grid.dart';
import '../lists/artists_list.dart'; import '../lists/artists_list.dart';
import '../state/services.dart'; import '../state/services.dart';
import '../ui/text.dart';
import '../util/custom_scroll_fix.dart'; import '../util/custom_scroll_fix.dart';
const kIconSize = 26.0; const kIconSize = 26.0;
@ -159,21 +161,26 @@ class TabTitleText extends HookConsumerWidget {
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
final theme = Theme.of(context); final l = AppLocalizations.of(context);
final tabText = useState(LibraryTab.home.toString());
String tabLocalization(LibraryTab tab) => switch (tab) {
LibraryTab.albums => l.navigationTabsAlbums,
LibraryTab.home => l.navigationTabsHome,
LibraryTab.artists => l.navigationTabsArtists,
LibraryTab.songs => l.navigationTabsSongs,
LibraryTab.playlists => l.navigationTabsPlaylists,
};
final tabName = tabLocalization(LibraryTab.values[tabController.index]);
final tabText = useState(tabName);
useListenable(tabController); useListenable(tabController);
useEffect(() { useEffect(() {
tabText.value = LibraryTab.values[tabController.index].toString(); tabText.value = tabName;
return; return;
}, [tabController.index]); }, [tabName]);
return Text( return TextH1(tabText.value);
tabText.value,
style: theme.textTheme.headlineLarge?.copyWith(
fontWeight: FontWeight.w800,
),
);
} }
} }

43
lib/app/ui/text.dart Normal file
View File

@ -0,0 +1,43 @@
import 'package:flutter/material.dart';
class TextH1 extends StatelessWidget {
const TextH1(
this.data, {
super.key,
});
final String data;
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return Text(
data,
style: theme.textTheme.headlineLarge?.copyWith(
fontWeight: FontWeight.w800,
),
);
}
}
class TextH2 extends StatelessWidget {
const TextH2(
this.data, {
super.key,
});
final String data;
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return Text(
data,
style: theme.textTheme.headlineMedium?.copyWith(
fontWeight: FontWeight.w700,
),
);
}
}

View File

@ -1,4 +1,5 @@
{ {
"@@locale": "en",
"actionsCancel": "Cancel", "actionsCancel": "Cancel",
"@actionsCancel": {}, "@actionsCancel": {},
"actionsDelete": "Delete", "actionsDelete": "Delete",
@ -21,6 +22,14 @@
"@messagesNothingHere": {}, "@messagesNothingHere": {},
"navigationTabsHome": "Home", "navigationTabsHome": "Home",
"@navigationTabsHome": {}, "@navigationTabsHome": {},
"navigationTabsAlbums": "Albums",
"@navigationTabsAlbums": {},
"navigationTabsArtists": "Artists",
"@navigationTabsArtists": {},
"navigationTabsPlaylists": "Playlists",
"@navigationTabsPlaylists": {},
"navigationTabsSongs": "Songs",
"@navigationTabsSongs": {},
"navigationTabsLibrary": "Library", "navigationTabsLibrary": "Library",
"@navigationTabsLibrary": {}, "@navigationTabsLibrary": {},
"navigationTabsSearch": "Search", "navigationTabsSearch": "Search",

View File

@ -198,6 +198,30 @@ abstract class AppLocalizations {
/// **'Home'** /// **'Home'**
String get navigationTabsHome; String get navigationTabsHome;
/// No description provided for @navigationTabsAlbums.
///
/// In en, this message translates to:
/// **'Albums'**
String get navigationTabsAlbums;
/// No description provided for @navigationTabsArtists.
///
/// In en, this message translates to:
/// **'Artists'**
String get navigationTabsArtists;
/// No description provided for @navigationTabsPlaylists.
///
/// In en, this message translates to:
/// **'Playlists'**
String get navigationTabsPlaylists;
/// No description provided for @navigationTabsSongs.
///
/// In en, this message translates to:
/// **'Songs'**
String get navigationTabsSongs;
/// No description provided for @navigationTabsLibrary. /// No description provided for @navigationTabsLibrary.
/// ///
/// In en, this message translates to: /// In en, this message translates to:

View File

@ -41,6 +41,18 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get navigationTabsHome => 'الرئيسية'; String get navigationTabsHome => 'الرئيسية';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'المكتبة'; String get navigationTabsLibrary => 'المكتبة';

View File

@ -41,6 +41,18 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Inici'; String get navigationTabsHome => 'Inici';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Biblioteca'; String get navigationTabsLibrary => 'Biblioteca';

View File

@ -41,6 +41,18 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Domů'; String get navigationTabsHome => 'Domů';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Knihovna'; String get navigationTabsLibrary => 'Knihovna';

View File

@ -41,6 +41,18 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Hjem'; String get navigationTabsHome => 'Hjem';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Bibliotek'; String get navigationTabsLibrary => 'Bibliotek';

View File

@ -41,6 +41,18 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Startseite'; String get navigationTabsHome => 'Startseite';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Bibliothek'; String get navigationTabsLibrary => 'Bibliothek';

View File

@ -41,6 +41,18 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Home'; String get navigationTabsHome => 'Home';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Library'; String get navigationTabsLibrary => 'Library';

View File

@ -41,6 +41,18 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Casa'; String get navigationTabsHome => 'Casa';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Biblioteca'; String get navigationTabsLibrary => 'Biblioteca';

View File

@ -41,6 +41,18 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Accueil'; String get navigationTabsHome => 'Accueil';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Bibliothèque'; String get navigationTabsLibrary => 'Bibliothèque';

View File

@ -41,6 +41,18 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Inicio'; String get navigationTabsHome => 'Inicio';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Biblioteca'; String get navigationTabsLibrary => 'Biblioteca';

View File

@ -41,6 +41,18 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Home'; String get navigationTabsHome => 'Home';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Libreria'; String get navigationTabsLibrary => 'Libreria';

View File

@ -41,6 +41,18 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get navigationTabsHome => 'ホーム'; String get navigationTabsHome => 'ホーム';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'ライブラリ'; String get navigationTabsLibrary => 'ライブラリ';

View File

@ -41,6 +41,18 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Hjem'; String get navigationTabsHome => 'Hjem';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Bibliotek'; String get navigationTabsLibrary => 'Bibliotek';

View File

@ -41,6 +41,18 @@ class AppLocalizationsPa extends AppLocalizations {
@override @override
String get navigationTabsHome => 'ਘਰ'; String get navigationTabsHome => 'ਘਰ';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'ਲਾਇਬ੍ਰੇਰੀ'; String get navigationTabsLibrary => 'ਲਾਇਬ੍ਰੇਰੀ';

View File

@ -41,6 +41,18 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Strona główna'; String get navigationTabsHome => 'Strona główna';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Kolekcja'; String get navigationTabsLibrary => 'Kolekcja';

View File

@ -41,6 +41,18 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Início'; String get navigationTabsHome => 'Início';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Biblioteca'; String get navigationTabsLibrary => 'Biblioteca';

View File

@ -41,6 +41,18 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Главная'; String get navigationTabsHome => 'Главная';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Библиотека'; String get navigationTabsLibrary => 'Библиотека';

View File

@ -41,6 +41,18 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Giriş'; String get navigationTabsHome => 'Giriş';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Kütüphane'; String get navigationTabsLibrary => 'Kütüphane';

View File

@ -41,6 +41,18 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get navigationTabsHome => 'Trang chủ'; String get navigationTabsHome => 'Trang chủ';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => 'Thư Viện'; String get navigationTabsLibrary => 'Thư Viện';

View File

@ -41,6 +41,18 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get navigationTabsHome => '首页'; String get navigationTabsHome => '首页';
@override
String get navigationTabsAlbums => 'Albums';
@override
String get navigationTabsArtists => 'Artists';
@override
String get navigationTabsPlaylists => 'Playlists';
@override
String get navigationTabsSongs => 'Songs';
@override @override
String get navigationTabsLibrary => '所有'; String get navigationTabsLibrary => '所有';