chore(translation): add l10n support for new metadata plugin pages

This commit is contained in:
Kingkor Roy Tirtho 2025-09-03 18:45:38 +06:00
parent aee2c9282d
commit 005355e267
46 changed files with 6298 additions and 137 deletions

View File

@ -4,6 +4,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart'; import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart'; import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/extensions/context.dart';
class ErrorBox extends StatelessWidget { class ErrorBox extends StatelessWidget {
final Object error; final Object error;
@ -27,10 +28,10 @@ class ErrorBox extends StatelessWidget {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
spacing: 12, spacing: 12,
children: [ children: [
const Basic( Basic(
leading: Icon(SpotubeIcons.error), leading: const Icon(SpotubeIcons.error),
contentSpacing: 8, contentSpacing: 8,
title: Text("An error occurred"), title: Text(context.l10n.an_error_occurred),
), ),
Card( Card(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
@ -70,7 +71,7 @@ class ErrorBox extends StatelessWidget {
spacing: 8, spacing: 8,
children: [ children: [
const Icon(SpotubeIcons.logs), const Icon(SpotubeIcons.logs),
const Text("Logs"), Text(context.l10n.logs),
const Spacer(), const Spacer(),
IconButton.ghost( IconButton.ghost(
icon: const Icon(SpotubeIcons.close), icon: const Icon(SpotubeIcons.close),
@ -86,7 +87,7 @@ class ErrorBox extends StatelessWidget {
leading: copied.value leading: copied.value
? const Icon(SpotubeIcons.done) ? const Icon(SpotubeIcons.done)
: const Icon(SpotubeIcons.clipboard), : const Icon(SpotubeIcons.clipboard),
child: const Text("Copy to clipboard"), child: Text(context.l10n.copy_to_clipboard),
onPressed: () { onPressed: () {
Clipboard.setData( Clipboard.setData(
ClipboardData(text: error.toString()), ClipboardData(text: error.toString()),
@ -118,13 +119,13 @@ class ErrorBox extends StatelessWidget {
}, },
); );
}, },
child: const Text("View logs"), child: Text(context.l10n.view_logs),
), ),
if (onRetry != null) if (onRetry != null)
Button.text( Button.text(
leading: const Icon(SpotubeIcons.refresh), leading: const Icon(SpotubeIcons.refresh),
onPressed: onRetry, onPressed: onRetry,
child: const Text("Retry"), child: Text(context.l10n.retry),
), ),
], ],
), ),

View File

@ -5,6 +5,7 @@ import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart'; import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/routes.gr.dart'; import 'package:spotube/collections/routes.gr.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/extensions/context.dart';
class NoDefaultMetadataPlugin extends StatelessWidget { class NoDefaultMetadataPlugin extends StatelessWidget {
const NoDefaultMetadataPlugin({super.key}); const NoDefaultMetadataPlugin({super.key});
@ -23,13 +24,13 @@ class NoDefaultMetadataPlugin extends StatelessWidget {
color: context.theme.colorScheme.primary, color: context.theme.colorScheme.primary,
), ),
AutoSizeText( AutoSizeText(
"You've no default metadata provider set", context.l10n.no_default_metadata_provider_selected,
style: context.theme.typography.h4, style: context.theme.typography.h4,
maxLines: 1, maxLines: 1,
), ),
Button.primary( Button.primary(
leading: const Icon(SpotubeIcons.extensions), leading: const Icon(SpotubeIcons.extensions),
child: const Text("Manage metadata providers"), child: Text(context.l10n.manage_metadata_providers),
onPressed: () { onPressed: () {
context.pushRoute(const SettingsMetadataProviderRoute()); context.pushRoute(const SettingsMetadataProviderRoute());
}, },

View File

@ -3,6 +3,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_markdown_plus/flutter_markdown_plus.dart'; import 'package:flutter_markdown_plus/flutter_markdown_plus.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart'; import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/extensions/context.dart';
import 'package:url_launcher/url_launcher_string.dart'; import 'package:url_launcher/url_launcher_string.dart';
class AppMarkdown extends StatelessWidget { class AppMarkdown extends StatelessWidget {
@ -30,36 +31,33 @@ class AppMarkdown extends StatelessWidget {
return ConstrainedBox( return ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 450), constraints: const BoxConstraints(maxWidth: 450),
child: AlertDialog( child: AlertDialog(
title: const Row( title: Row(
spacing: 8, spacing: 8,
children: [ children: [
Icon(SpotubeIcons.warning), const Icon(SpotubeIcons.warning),
Text("Open Link in Browser?"), Text(context.l10n.open_link_in_browser),
], ],
), ),
content: Text.rich( content: Text.rich(
TextSpan( TextSpan(
children: [ children: [
const TextSpan( TextSpan(
text: "Do you want to open the following link:\n", text:
"${context.l10n.do_you_want_to_open_the_following_link}:\n",
), ),
if (href != null) if (href != null)
TextSpan( TextSpan(
text: "$href\n\n", text: "$href\n\n",
style: const TextStyle(color: Colors.blue), style: const TextStyle(color: Colors.blue),
), ),
const TextSpan( TextSpan(text: context.l10n.unsafe_url_warning),
text:
"It can be unsafe to open links from untrusted sources. Be cautious!\n"
"You can also copy the link to your clipboard.",
),
], ],
), ),
), ),
actions: [ actions: [
Button.ghost( Button.ghost(
onPressed: () => Navigator.of(context).pop(false), onPressed: () => Navigator.of(context).pop(false),
child: const Text("Cancel"), child: Text(context.l10n.cancel),
), ),
Button.ghost( Button.ghost(
onPressed: () { onPressed: () {
@ -68,7 +66,7 @@ class AppMarkdown extends StatelessWidget {
} }
Navigator.of(context).pop(false); Navigator.of(context).pop(false);
}, },
child: const Text("Copy Link"), child: Text(context.l10n.copy_link),
), ),
Button.destructive( Button.destructive(
onPressed: () { onPressed: () {
@ -80,7 +78,7 @@ class AppMarkdown extends StatelessWidget {
} }
Navigator.of(context).pop(true); Navigator.of(context).pop(true);
}, },
child: const Text("Open"), child: Text(context.l10n.open),
), ),
], ],
), ),

View File

@ -415,5 +415,51 @@
"edit_port": "Edit port", "edit_port": "Edit port",
"port_helper_msg": "Default is -1 which indicates random number. If you've firewall configured, setting this is recommended.", "port_helper_msg": "Default is -1 which indicates random number. If you've firewall configured, setting this is recommended.",
"connect_request": "Allow {client} to connect?", "connect_request": "Allow {client} to connect?",
"connection_request_denied": "Connection denied. User denied access." "connection_request_denied": "Connection denied. User denied access.",
"an_error_occurred": "An error occurred",
"copy_to_clipboard": "Copy to clipboard",
"view_logs": "View logs",
"retry": "Retry",
"no_default_metadata_provider_selected": "You've no default metadata provider set",
"manage_metadata_providers": "Manage metadata providers",
"open_link_in_browser": "Open Link in Browser?",
"do_you_want_to_open_the_following_link": "Do you want to open the following link",
"unsafe_url_warning": "It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.",
"copy_link": "Copy Link",
"building_your_timeline": "Building your timeline based on your listenings...",
"official": "Official",
"author_name": "Author: {author}",
"third_party": "Third-party",
"plugin_requires_authentication": "Plugin requires authentication",
"update_available": "Update available",
"supports_scrobbling": "Supports scrobbling",
"plugin_scrobbling_info": "This plugin scrobbles your music to generate your listening history.",
"default_plugin": "Default",
"set_default": "Set default",
"support": "Support",
"support_plugin_development": "Support plugin development",
"can_access_name_api": "- Can access **{name}** API",
"do_you_want_to_install_this_plugin": "Do you want to install this plugin?",
"third_party_plugin_warning": "This plugin is from a third-party repository. Please ensure you trust the source before installing.",
"author": "Author",
"this_plugin_can_do_following": "This plugin can do following",
"install": "Install",
"install_a_metadata_provider": "Install a Metadata Provider",
"no_tracks_playing": "No Track being played currently",
"synced_lyrics_not_available": "Synced lyrics are not available for this song. Please use the",
"plain_lyrics": "Plain Lyrics",
"tab_instead": "tab instead.",
"disclaimer": "Disclaimer",
"third_party_plugin_dmca_notice": "The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We're not curating them, so we cannot take any action on them.\n\n",
"input_does_not_match_format": "Input doesn't match the required format",
"metadata_provider_plugins": "Metadata Provider Plugins",
"paste_plugin_download_url": "Paste download url or GitHub/Codeberg repo url or direct link to .smplug file",
"download_and_install_plugin_from_url": "Download and install plugin from url",
"failed_to_add_plugin_error": "Failed to add plugin: {error}",
"upload_plugin_from_file": "Upload plugin from file",
"installed": "Installed",
"available_plugins": "Available plugins",
"configure_your_own_metadata_plugin": "Configure your own playlist/album/artist/feed metadata provider",
"audio_scrobblers": "Audio Scrobblers",
"scrobbling": "Scrobbling"
} }

View File

@ -2653,6 +2653,282 @@ abstract class AppLocalizations {
/// In en, this message translates to: /// In en, this message translates to:
/// **'Connection denied. User denied access.'** /// **'Connection denied. User denied access.'**
String get connection_request_denied; String get connection_request_denied;
/// No description provided for @an_error_occurred.
///
/// In en, this message translates to:
/// **'An error occurred'**
String get an_error_occurred;
/// No description provided for @copy_to_clipboard.
///
/// In en, this message translates to:
/// **'Copy to clipboard'**
String get copy_to_clipboard;
/// No description provided for @view_logs.
///
/// In en, this message translates to:
/// **'View logs'**
String get view_logs;
/// No description provided for @retry.
///
/// In en, this message translates to:
/// **'Retry'**
String get retry;
/// No description provided for @no_default_metadata_provider_selected.
///
/// In en, this message translates to:
/// **'You\'ve no default metadata provider set'**
String get no_default_metadata_provider_selected;
/// No description provided for @manage_metadata_providers.
///
/// In en, this message translates to:
/// **'Manage metadata providers'**
String get manage_metadata_providers;
/// No description provided for @open_link_in_browser.
///
/// In en, this message translates to:
/// **'Open Link in Browser?'**
String get open_link_in_browser;
/// No description provided for @do_you_want_to_open_the_following_link.
///
/// In en, this message translates to:
/// **'Do you want to open the following link'**
String get do_you_want_to_open_the_following_link;
/// No description provided for @unsafe_url_warning.
///
/// In en, this message translates to:
/// **'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.'**
String get unsafe_url_warning;
/// No description provided for @copy_link.
///
/// In en, this message translates to:
/// **'Copy Link'**
String get copy_link;
/// No description provided for @building_your_timeline.
///
/// In en, this message translates to:
/// **'Building your timeline based on your listenings...'**
String get building_your_timeline;
/// No description provided for @official.
///
/// In en, this message translates to:
/// **'Official'**
String get official;
/// No description provided for @author_name.
///
/// In en, this message translates to:
/// **'Author: {author}'**
String author_name(Object author);
/// No description provided for @third_party.
///
/// In en, this message translates to:
/// **'Third-party'**
String get third_party;
/// No description provided for @plugin_requires_authentication.
///
/// In en, this message translates to:
/// **'Plugin requires authentication'**
String get plugin_requires_authentication;
/// No description provided for @update_available.
///
/// In en, this message translates to:
/// **'Update available'**
String get update_available;
/// No description provided for @supports_scrobbling.
///
/// In en, this message translates to:
/// **'Supports scrobbling'**
String get supports_scrobbling;
/// No description provided for @plugin_scrobbling_info.
///
/// In en, this message translates to:
/// **'This plugin scrobbles your music to generate your listening history.'**
String get plugin_scrobbling_info;
/// No description provided for @default_plugin.
///
/// In en, this message translates to:
/// **'Default'**
String get default_plugin;
/// No description provided for @set_default.
///
/// In en, this message translates to:
/// **'Set default'**
String get set_default;
/// No description provided for @support.
///
/// In en, this message translates to:
/// **'Support'**
String get support;
/// No description provided for @support_plugin_development.
///
/// In en, this message translates to:
/// **'Support plugin development'**
String get support_plugin_development;
/// No description provided for @can_access_name_api.
///
/// In en, this message translates to:
/// **'- Can access **{name}** API'**
String can_access_name_api(Object name);
/// No description provided for @do_you_want_to_install_this_plugin.
///
/// In en, this message translates to:
/// **'Do you want to install this plugin?'**
String get do_you_want_to_install_this_plugin;
/// No description provided for @third_party_plugin_warning.
///
/// In en, this message translates to:
/// **'This plugin is from a third-party repository. Please ensure you trust the source before installing.'**
String get third_party_plugin_warning;
/// No description provided for @author.
///
/// In en, this message translates to:
/// **'Author'**
String get author;
/// No description provided for @this_plugin_can_do_following.
///
/// In en, this message translates to:
/// **'This plugin can do following'**
String get this_plugin_can_do_following;
/// No description provided for @install.
///
/// In en, this message translates to:
/// **'Install'**
String get install;
/// No description provided for @install_a_metadata_provider.
///
/// In en, this message translates to:
/// **'Install a Metadata Provider'**
String get install_a_metadata_provider;
/// No description provided for @no_tracks_playing.
///
/// In en, this message translates to:
/// **'No Track being played currently'**
String get no_tracks_playing;
/// No description provided for @synced_lyrics_not_available.
///
/// In en, this message translates to:
/// **'Synced lyrics are not available for this song. Please use the'**
String get synced_lyrics_not_available;
/// No description provided for @plain_lyrics.
///
/// In en, this message translates to:
/// **'Plain Lyrics'**
String get plain_lyrics;
/// No description provided for @tab_instead.
///
/// In en, this message translates to:
/// **'tab instead.'**
String get tab_instead;
/// No description provided for @disclaimer.
///
/// In en, this message translates to:
/// **'Disclaimer'**
String get disclaimer;
/// No description provided for @third_party_plugin_dmca_notice.
///
/// In en, this message translates to:
/// **'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n'**
String get third_party_plugin_dmca_notice;
/// No description provided for @input_does_not_match_format.
///
/// In en, this message translates to:
/// **'Input doesn\'t match the required format'**
String get input_does_not_match_format;
/// No description provided for @metadata_provider_plugins.
///
/// In en, this message translates to:
/// **'Metadata Provider Plugins'**
String get metadata_provider_plugins;
/// No description provided for @paste_plugin_download_url.
///
/// In en, this message translates to:
/// **'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file'**
String get paste_plugin_download_url;
/// No description provided for @download_and_install_plugin_from_url.
///
/// In en, this message translates to:
/// **'Download and install plugin from url'**
String get download_and_install_plugin_from_url;
/// No description provided for @failed_to_add_plugin_error.
///
/// In en, this message translates to:
/// **'Failed to add plugin: {error}'**
String failed_to_add_plugin_error(Object error);
/// No description provided for @upload_plugin_from_file.
///
/// In en, this message translates to:
/// **'Upload plugin from file'**
String get upload_plugin_from_file;
/// No description provided for @installed.
///
/// In en, this message translates to:
/// **'Installed'**
String get installed;
/// No description provided for @available_plugins.
///
/// In en, this message translates to:
/// **'Available plugins'**
String get available_plugins;
/// No description provided for @configure_your_own_metadata_plugin.
///
/// In en, this message translates to:
/// **'Configure your own playlist/album/artist/feed metadata provider'**
String get configure_your_own_metadata_plugin;
/// No description provided for @audio_scrobblers.
///
/// In en, this message translates to:
/// **'Audio Scrobblers'**
String get audio_scrobblers;
/// No description provided for @scrobbling.
///
/// In en, this message translates to:
/// **'Scrobbling'**
String get scrobbling;
} }
class _AppLocalizationsDelegate class _AppLocalizationsDelegate

View File

@ -1380,4 +1380,161 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'تم رفض الاتصال. المستخدم رفض الوصول.'; 'تم رفض الاتصال. المستخدم رفض الوصول.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1380,4 +1380,161 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'সংযোগ অস্বীকৃত। ব্যবহারকারী প্রবেশাধিকার অস্বীকার করেছে।'; 'সংযোগ অস্বীকৃত। ব্যবহারকারী প্রবেশাধিকার অস্বীকার করেছে।';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1386,4 +1386,161 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Connexió denegada. L\'usuari ha denegat l\'accés.'; 'Connexió denegada. L\'usuari ha denegat l\'accés.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1379,4 +1379,161 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Připojení bylo zamítnuto. Uživatel odmítl přístup.'; 'Připojení bylo zamítnuto. Uživatel odmítl přístup.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1391,4 +1391,161 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Verbindung abgelehnt. Benutzer hat den Zugriff verweigert.'; 'Verbindung abgelehnt. Benutzer hat den Zugriff verweigert.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1379,4 +1379,161 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Connection denied. User denied access.'; 'Connection denied. User denied access.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1388,4 +1388,161 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Conexión denegada. El usuario denegó el acceso.'; 'Conexión denegada. El usuario denegó el acceso.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1387,4 +1387,161 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Konektatzea ukatu da. Erabiltzaileak sarbidea ukatu du.'; 'Konektatzea ukatu da. Erabiltzaileak sarbidea ukatu du.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1378,4 +1378,161 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'اتصال رد شد. کاربر دسترسی را رد کرد.'; 'اتصال رد شد. کاربر دسترسی را رد کرد.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1380,4 +1380,161 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Yhteys evätty. Käyttäjä eväsi pääsyn.'; 'Yhteys evätty. Käyttäjä eväsi pääsyn.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1392,4 +1392,161 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Connection denied. User denied access.'; 'Connection denied. User denied access.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1384,4 +1384,161 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'कनेक्शन अस्वीकृत। उपयोगकर्ता ने पहुंच अस्वीकृत कर दी।'; 'कनेक्शन अस्वीकृत। उपयोगकर्ता ने पहुंच अस्वीकृत कर दी।';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1386,4 +1386,161 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Koneksi ditolak. Pengguna menolak akses.'; 'Koneksi ditolak. Pengguna menolak akses.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1384,4 +1384,161 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Connessione negata. L\'utente ha negato l\'accesso.'; 'Connessione negata. L\'utente ha negato l\'accesso.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1359,4 +1359,161 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get connection_request_denied => '接続が拒否されました。ユーザーがアクセスを拒否しました。'; String get connection_request_denied => '接続が拒否されました。ユーザーがアクセスを拒否しました。';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1383,4 +1383,161 @@ class AppLocalizationsKa extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'კავშირი უარყოფილია. მომხმარებელმა უარყო წვდომა.'; 'კავშირი უარყოფილია. მომხმარებელმა უარყო წვდომა.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1361,4 +1361,161 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get connection_request_denied => '연결이 거부되었습니다. 사용자가 액세스를 거부했습니다.'; String get connection_request_denied => '연결이 거부되었습니다. 사용자가 액세스를 거부했습니다.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1390,4 +1390,161 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'जडान अस्वीकृत। प्रयोगकर्ताले पहुँच अस्वीकृत गर्यो।'; 'जडान अस्वीकृत। प्रयोगकर्ताले पहुँच अस्वीकृत गर्यो।';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1384,4 +1384,161 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Verbinding geweigerd. Gebruiker heeft toegang geweigerd.'; 'Verbinding geweigerd. Gebruiker heeft toegang geweigerd.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1385,4 +1385,161 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Połączenie odrzucone. Użytkownik odmówił dostępu.'; 'Połączenie odrzucone. Użytkownik odmówił dostępu.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1383,4 +1383,161 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Conexão negada. O usuário negou o acesso .'; 'Conexão negada. O usuário negou o acesso .';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1385,4 +1385,161 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Подключение отклонено. Пользователь отказал в доступе.'; 'Подключение отклонено. Пользователь отказал в доступе.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1390,4 +1390,161 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'இணைப்பு மறுக்கப்பட்டது. பயனர் அணுகலை மறுத்தார்.'; 'இணைப்பு மறுக்கப்பட்டது. பயனர் அணுகலை மறுத்தார்.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1376,4 +1376,161 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'การเชื่อมต่อล้มเหลว ผู้ใช้ปฏิเสธการเข้าถึง'; 'การเชื่อมต่อล้มเหลว ผู้ใช้ปฏิเสธการเข้าถึง';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1391,4 +1391,161 @@ class AppLocalizationsTl extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Tanggihan ang koneksyon. Tinanggihan ng gumagamit ang pag-access.'; 'Tanggihan ang koneksyon. Tinanggihan ng gumagamit ang pag-access.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1386,4 +1386,161 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Bağlantı reddedildi. Kullanıcı erişimi reddetti.'; 'Bağlantı reddedildi. Kullanıcı erişimi reddetti.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1383,4 +1383,161 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Підключення відхилено. Користувач відмовив у доступі.'; 'Підключення відхилено. Користувач відмовив у доступі.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1387,4 +1387,161 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get connection_request_denied => String get connection_request_denied =>
'Kết nối bị từ chối. Người dùng đã từ chối quyền truy cập.'; 'Kết nối bị từ chối. Người dùng đã từ chối quyền truy cập.';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -1354,4 +1354,161 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get connection_request_denied => '连接被拒绝。用户拒绝访问。'; String get connection_request_denied => '连接被拒绝。用户拒绝访问。';
@override
String get an_error_occurred => 'An error occurred';
@override
String get copy_to_clipboard => 'Copy to clipboard';
@override
String get view_logs => 'View logs';
@override
String get retry => 'Retry';
@override
String get no_default_metadata_provider_selected =>
'You\'ve no default metadata provider set';
@override
String get manage_metadata_providers => 'Manage metadata providers';
@override
String get open_link_in_browser => 'Open Link in Browser?';
@override
String get do_you_want_to_open_the_following_link =>
'Do you want to open the following link';
@override
String get unsafe_url_warning =>
'It can be unsafe to open links from untrusted sources. Be cautious!\nYou can also copy the link to your clipboard.';
@override
String get copy_link => 'Copy Link';
@override
String get building_your_timeline =>
'Building your timeline based on your listenings...';
@override
String get official => 'Official';
@override
String author_name(Object author) {
return 'Author: $author';
}
@override
String get third_party => 'Third-party';
@override
String get plugin_requires_authentication => 'Plugin requires authentication';
@override
String get update_available => 'Update available';
@override
String get supports_scrobbling => 'Supports scrobbling';
@override
String get plugin_scrobbling_info =>
'This plugin scrobbles your music to generate your listening history.';
@override
String get default_plugin => 'Default';
@override
String get set_default => 'Set default';
@override
String get support => 'Support';
@override
String get support_plugin_development => 'Support plugin development';
@override
String can_access_name_api(Object name) {
return '- Can access **$name** API';
}
@override
String get do_you_want_to_install_this_plugin =>
'Do you want to install this plugin?';
@override
String get third_party_plugin_warning =>
'This plugin is from a third-party repository. Please ensure you trust the source before installing.';
@override
String get author => 'Author';
@override
String get this_plugin_can_do_following => 'This plugin can do following';
@override
String get install => 'Install';
@override
String get install_a_metadata_provider => 'Install a Metadata Provider';
@override
String get no_tracks_playing => 'No Track being played currently';
@override
String get synced_lyrics_not_available =>
'Synced lyrics are not available for this song. Please use the';
@override
String get plain_lyrics => 'Plain Lyrics';
@override
String get tab_instead => 'tab instead.';
@override
String get disclaimer => 'Disclaimer';
@override
String get third_party_plugin_dmca_notice =>
'The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\nPlease use them at your own risk. For any bugs/issues, please report them to the plugin repository.\n\nIf any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We\'re not curating them, so we cannot take any action on them.\n\n';
@override
String get input_does_not_match_format =>
'Input doesn\'t match the required format';
@override
String get metadata_provider_plugins => 'Metadata Provider Plugins';
@override
String get paste_plugin_download_url =>
'Paste download url or GitHub/Codeberg repo url or direct link to .smplug file';
@override
String get download_and_install_plugin_from_url =>
'Download and install plugin from url';
@override
String failed_to_add_plugin_error(Object error) {
return 'Failed to add plugin: $error';
}
@override
String get upload_plugin_from_file => 'Upload plugin from file';
@override
String get installed => 'Installed';
@override
String get available_plugins => 'Available plugins';
@override
String get configure_your_own_metadata_plugin =>
'Configure your own playlist/album/artist/feed metadata provider';
@override
String get audio_scrobblers => 'Audio Scrobblers';
@override
String get scrobbling => 'Scrobbling';
} }

View File

@ -37,8 +37,7 @@ class HomePageBrowseSection extends HookConsumerWidget {
spacing: 8, spacing: 8,
children: [ children: [
const CircularProgressIndicator(), const CircularProgressIndicator(),
const Text("Building your timeline based on your listenings...") Text(context.l10n.building_your_timeline).muted,
.muted,
], ],
), ),
const Gap(16), const Gap(16),

View File

@ -3,6 +3,7 @@ import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart'; import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/components/markdown/markdown.dart'; import 'package:spotube/components/markdown/markdown.dart';
import 'package:spotube/extensions/context.dart';
import 'package:spotube/models/metadata/metadata.dart'; import 'package:spotube/models/metadata/metadata.dart';
import 'package:spotube/modules/metadata_plugins/plugin_update_available_dialog.dart'; import 'package:spotube/modules/metadata_plugins/plugin_update_available_dialog.dart';
import 'package:spotube/provider/metadata_plugin/core/auth.dart'; import 'package:spotube/provider/metadata_plugin/core/auth.dart';
@ -84,15 +85,15 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
runSpacing: 8, runSpacing: 8,
children: [ children: [
if (isOfficial) if (isOfficial)
const PrimaryBadge( PrimaryBadge(
leading: Icon(SpotubeIcons.done), leading: const Icon(SpotubeIcons.done),
child: Text("Official"), child: Text(context.l10n.official),
) )
else ...[ else ...[
Text("Author: ${plugin.author}"), Text(context.l10n.author_name(plugin.author)),
const DestructiveBadge( DestructiveBadge(
leading: Icon(SpotubeIcons.warning), leading: const Icon(SpotubeIcons.warning),
child: Text("Third-party"), child: Text(context.l10n.third_party),
) )
], ],
SecondaryBadge( SecondaryBadge(
@ -131,11 +132,11 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
spacing: 12, spacing: 12,
children: [ children: [
if (requiresAuth && !isAuthenticated) if (requiresAuth && !isAuthenticated)
const Row( Row(
spacing: 8, spacing: 8,
children: [ children: [
Icon(SpotubeIcons.warning, color: Colors.yellow), const Icon(SpotubeIcons.warning, color: Colors.yellow),
Text("Plugin requires authentication"), Text(context.l10n.plugin_requires_authentication),
], ],
), ),
if (hasUpdate) if (hasUpdate)
@ -143,7 +144,7 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
width: double.infinity, width: double.infinity,
child: Basic( child: Basic(
leading: const Icon(SpotubeIcons.update), leading: const Icon(SpotubeIcons.update),
title: const Text("Update available"), title: Text(context.l10n.update_available),
subtitle: Text( subtitle: Text(
updateAvailable!.asData!.value!.version, updateAvailable!.asData!.value!.version,
), ),
@ -158,19 +159,17 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
), ),
); );
}, },
child: const Text("Update"), child: Text(context.l10n.update),
), ),
), ),
), ),
if (supportsScrobbling) if (supportsScrobbling)
const SizedBox( SizedBox(
width: double.infinity, width: double.infinity,
child: Basic( child: Basic(
leading: Icon(SpotubeIcons.info), leading: const Icon(SpotubeIcons.info),
title: Text("Supports scrobbling"), title: Text(context.l10n.supports_scrobbling),
subtitle: Text( subtitle: Text(context.l10n.plugin_scrobbling_info),
"This plugin scrobbles your music to generate your listening history.",
),
), ),
) )
], ],
@ -184,9 +183,11 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
onPressed: () async { onPressed: () async {
await pluginsNotifier.setDefaultPlugin(plugin); await pluginsNotifier.setDefaultPlugin(plugin);
}, },
child: isDefault child: Text(
? const Text("Default") isDefault
: const Text("Set default"), ? context.l10n.default_plugin
: context.l10n.set_default,
),
), ),
if (isDefault) if (isDefault)
Consumer(builder: (context, ref, _) { Consumer(builder: (context, ref, _) {
@ -226,13 +227,14 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
}, },
), ),
leading: const Icon(SpotubeIcons.heartFilled), leading: const Icon(SpotubeIcons.heartFilled),
child: const Text("Support"), child: Text(context.l10n.support),
onPressed: () { onPressed: () {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return AlertDialog( return AlertDialog(
title: const Text("Support plugin development"), title:
Text(context.l10n.support_plugin_development),
content: ConstrainedBox( content: ConstrainedBox(
constraints: BoxConstraints( constraints: BoxConstraints(
maxHeight: mediaQuery.height * 0.8, maxHeight: mediaQuery.height * 0.8,
@ -252,7 +254,7 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
onPressed: () { onPressed: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
child: const Text("Close"), child: Text(context.l10n.close),
), ),
], ],
); );
@ -268,7 +270,7 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
await metadataPlugin.asData?.value?.auth.authenticate(); await metadataPlugin.asData?.value?.auth.authenticate();
}, },
leading: const Icon(SpotubeIcons.login), leading: const Icon(SpotubeIcons.login),
child: const Text("Login"), child: Text(context.l10n.login),
) )
else if (isDefault && requiresAuth && isAuthenticated) else if (isDefault && requiresAuth && isAuthenticated)
Button.destructive( Button.destructive(
@ -276,7 +278,7 @@ class MetadataInstalledPluginItem extends HookConsumerWidget {
await metadataPlugin.asData?.value?.auth.logout(); await metadataPlugin.asData?.value?.auth.logout();
}, },
leading: const Icon(SpotubeIcons.logout), leading: const Icon(SpotubeIcons.logout),
child: const Text("Logout"), child: Text(context.l10n.logout),
) )
], ],
) )

View File

@ -4,6 +4,7 @@ import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart'; import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/components/markdown/markdown.dart'; import 'package:spotube/components/markdown/markdown.dart';
import 'package:spotube/extensions/context.dart';
import 'package:spotube/models/metadata/metadata.dart'; import 'package:spotube/models/metadata/metadata.dart';
import 'package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart'; import 'package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart';
import 'package:url_launcher/url_launcher_string.dart'; import 'package:url_launcher/url_launcher_string.dart';
@ -38,9 +39,9 @@ class MetadataPluginRepositoryItem extends HookConsumerWidget {
spacing: 8, spacing: 8,
children: [ children: [
if (pluginRepo.owner == "KRTirtho") ...[ if (pluginRepo.owner == "KRTirtho") ...[
const PrimaryBadge( PrimaryBadge(
leading: Icon(SpotubeIcons.done), leading: Icon(SpotubeIcons.done),
child: Text("Official"), child: Text(context.l10n.official),
), ),
SecondaryBadge( SecondaryBadge(
leading: host == "github.com" leading: host == "github.com"
@ -52,10 +53,10 @@ class MetadataPluginRepositoryItem extends HookConsumerWidget {
}, },
), ),
] else ...[ ] else ...[
Text("Author: ${pluginRepo.owner}"), Text(context.l10n.author_name(pluginRepo.owner)),
const DestructiveBadge( DestructiveBadge(
leading: Icon(SpotubeIcons.warning), leading: const Icon(SpotubeIcons.warning),
child: Text("Third-party"), child: Text(context.l10n.third_party),
) )
] ]
], ],
@ -79,21 +80,19 @@ class MetadataPluginRepositoryItem extends HookConsumerWidget {
context: context, context: context,
builder: (context) { builder: (context) {
final pluginAbilities = pluginConfig.apis final pluginAbilities = pluginConfig.apis
.map((e) => "- Can access **${e.name}** API") .map(
(e) => context.l10n.can_access_name_api(e.name))
.join("\n\n"); .join("\n\n");
return AlertDialog( return AlertDialog(
title: title: Text(
const Text("Do you want to install this plugin?"), context.l10n.do_you_want_to_install_this_plugin),
content: Column( content: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const Text( Text(context.l10n.third_party_plugin_warning),
"This plugin is from a third-party repository. "
"Please ensure you trust the source before installing.",
),
const Gap(8), const Gap(8),
FutureBuilder( FutureBuilder(
future: future:
@ -126,9 +125,10 @@ class MetadataPluginRepositoryItem extends HookConsumerWidget {
), ),
const Gap(8), const Gap(8),
AppMarkdown( AppMarkdown(
data: "**Author**: ${pluginConfig.author}\n\n" data:
"**Repository**: [${pluginConfig.repository ?? 'N/A'}](${pluginConfig.repository})\n\n\n\n" "**${context.l10n.author}**: ${pluginConfig.author}\n\n"
"This plugin can do following:\n\n" "**${context.l10n.repository}**: [${pluginConfig.repository ?? 'N/A'}](${pluginConfig.repository})\n\n\n\n"
"${context.l10n.this_plugin_can_do_following}:\n\n"
"$pluginAbilities", "$pluginAbilities",
), ),
], ],
@ -138,13 +138,13 @@ class MetadataPluginRepositoryItem extends HookConsumerWidget {
onPressed: () { onPressed: () {
Navigator.of(context).pop(false); Navigator.of(context).pop(false);
}, },
child: const Text("Deny"), child: Text(context.l10n.decline),
), ),
Button.primary( Button.primary(
onPressed: () { onPressed: () {
Navigator.of(context).pop(true); Navigator.of(context).pop(true);
}, },
child: const Text("Allow"), child: Text(context.l10n.accept),
), ),
], ],
); );
@ -162,7 +162,7 @@ class MetadataPluginRepositoryItem extends HookConsumerWidget {
leading: isInstalling.value leading: isInstalling.value
? const CircularProgressIndicator() ? const CircularProgressIndicator()
: const Icon(SpotubeIcons.add), : const Icon(SpotubeIcons.add),
child: const Text("Install"), child: Text(context.l10n.install),
), ),
), ),
); );

View File

@ -3,7 +3,7 @@ import 'dart:convert';
import 'package:auto_route/auto_route.dart'; import 'package:auto_route/auto_route.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart' hide Consumer; import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart'; import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/routes.gr.dart'; import 'package:spotube/collections/routes.gr.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';

View File

@ -112,7 +112,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget {
context.pushRoute(const SettingsMetadataProviderRoute()); context.pushRoute(const SettingsMetadataProviderRoute());
} }
}, },
child: const Text("Install a Metadata Provider"), child: Text(context.l10n.install_a_metadata_provider),
), ),
], ],
), ),

View File

@ -118,7 +118,7 @@ class PlainLyrics extends HookConsumerWidget {
), ),
child: SelectableText( child: SelectableText(
lyrics == null && playlist.activeTrack == null lyrics == null && playlist.activeTrack == null
? "No Track being played currently" ? context.l10n.no_tracks_playing
: lyrics ?? "", : lyrics ?? "",
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),

View File

@ -236,18 +236,17 @@ class SyncedLyrics extends HookConsumerWidget {
text: TextSpan( text: TextSpan(
style: bodyTextTheme, style: bodyTextTheme,
children: [ children: [
const TextSpan( TextSpan(
text: text: context.l10n.synced_lyrics_not_available,
"Synced lyrics are not available for this song. Please use the",
), ),
TextSpan( TextSpan(
text: " Plain Lyrics ", text: " ${context.l10n.plain_lyrics} ",
style: typography.large.copyWith( style: typography.large.copyWith(
color: palette.bodyTextColor, color: palette.bodyTextColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
const TextSpan(text: "tab instead."), TextSpan(text: context.l10n.tab_instead),
], ],
), ),
), ),

View File

@ -73,7 +73,7 @@ class SettingsMetadataProviderFormPage extends HookConsumerWidget {
FormBuilderValidators.match( FormBuilderValidators.match(
RegExp(field.regex!), RegExp(field.regex!),
errorText: errorText:
"Input doesn't match the required format", context.l10n.input_does_not_match_format,
), ),
]), ]),
builder: (formField) { builder: (formField) {

View File

@ -9,6 +9,7 @@ import 'package:skeletonizer/skeletonizer.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/components/form/text_form_field.dart'; import 'package:spotube/components/form/text_form_field.dart';
import 'package:spotube/components/titlebar/titlebar.dart'; import 'package:spotube/components/titlebar/titlebar.dart';
import 'package:spotube/extensions/context.dart';
import 'package:spotube/models/metadata/metadata.dart'; import 'package:spotube/models/metadata/metadata.dart';
import 'package:spotube/modules/metadata_plugins/installed_plugin.dart'; import 'package:spotube/modules/metadata_plugins/installed_plugin.dart';
import 'package:spotube/modules/metadata_plugins/plugin_repository.dart'; import 'package:spotube/modules/metadata_plugins/plugin_repository.dart';
@ -56,9 +57,9 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
return SafeArea( return SafeArea(
bottom: false, bottom: false,
child: Scaffold( child: Scaffold(
headers: const [ headers: [
TitleBar( TitleBar(
title: Text("Metadata provider plugin"), title: Text(context.l10n.metadata_provider_plugins),
) )
], ],
child: Padding( child: Padding(
@ -76,10 +77,8 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
name: "plugin_url", name: "plugin_url",
validator: FormBuilderValidators.url( validator: FormBuilderValidators.url(
protocols: ["http", "https"]), protocols: ["http", "https"]),
placeholder: const Text( placeholder:
"Paste download url or GitHub/Codeberg repo url" Text(context.l10n.paste_plugin_download_url),
"or direct link to .smplug file",
),
), ),
), ),
), ),
@ -87,8 +86,9 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
final isLoading = useState(false); final isLoading = useState(false);
return Tooltip( return Tooltip(
tooltip: const TooltipContainer( tooltip: TooltipContainer(
child: Text("Download and install plugin from url"), child: Text(context
.l10n.download_and_install_plugin_from_url),
).call, ).call,
child: IconButton.secondary( child: IconButton.secondary(
icon: isLoading.value icon: isLoading.value
@ -130,7 +130,11 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
SpotubeIcons.error, SpotubeIcons.error,
color: Colors.red, color: Colors.red,
), ),
title: Text("Failed to add plugin: $e"), title: Text(
context.l10n
.failed_to_add_plugin_error(
e.toString()),
),
), ),
); );
}, },
@ -144,8 +148,8 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
); );
}), }),
Tooltip( Tooltip(
tooltip: const TooltipContainer( tooltip: TooltipContainer(
child: Text("Upload plugin from file"), child: Text(context.l10n.upload_plugin_from_file),
).call, ).call,
child: IconButton.primary( child: IconButton.primary(
icon: const Icon(SpotubeIcons.upload), icon: const Icon(SpotubeIcons.upload),
@ -177,7 +181,7 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
child: Row( child: Row(
children: [ children: [
const Gap(8), const Gap(8),
const Text("Installed").h4, Text(context.l10n.installed).h4,
const Gap(8), const Gap(8),
const Expanded(child: Divider()), const Expanded(child: Divider()),
const Gap(8), const Gap(8),
@ -203,7 +207,7 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
child: Row( child: Row(
children: [ children: [
const Gap(8), const Gap(8),
const Text("Available plugins").h4, Text(context.l10n.available_plugins).h4,
const Gap(8), const Gap(8),
const Expanded(child: Divider()), const Expanded(child: Divider()),
const Gap(8), const Gap(8),
@ -256,21 +260,16 @@ class SettingsMetadataProviderPage extends HookConsumerWidget {
spacing: 8, spacing: 8,
children: [ children: [
const Icon(SpotubeIcons.warning, size: 16), const Icon(SpotubeIcons.warning, size: 16),
const Text( Text(
"Disclaimer", context.l10n.disclaimer,
style: TextStyle(fontWeight: FontWeight.bold), style: const TextStyle(
fontWeight: FontWeight.bold),
).bold, ).bold,
], ],
), ),
const Text( Text(context.l10n.third_party_plugin_dmca_notice)
"The Spotube team does not hold any responsibility (including legal) for any \"Third-party\" plugins.\n" .muted
"Please use them at your own risk. For any bugs/issues, please report them to the plugin repository." .xSmall,
"\n\n"
"If any \"Third-party\" plugin is breaking ToS/DMCA of any service/legal entity, "
"please ask the \"Third-party\" plugin author or the hosting platform .e.g GitHub/Codeberg to take action. "
"Above listed (\"Third-party\" labelled) are all public/community maintained plugins. We're not curating them, "
"so we cannot take any action on them.\n\n",
).muted.xSmall,
], ],
), ),
), ),

View File

@ -38,7 +38,7 @@ class SettingsScrobblingPage extends HookConsumerWidget {
child: SafeArea( child: SafeArea(
bottom: false, bottom: false,
child: Scaffold( child: Scaffold(
headers: const [TitleBar(title: Text("Scrobbling"))], headers: [TitleBar(title: Text(context.l10n.scrobbling))],
child: ListView( child: ListView(
padding: const EdgeInsets.all(8), padding: const EdgeInsets.all(8),
children: [ children: [

View File

@ -21,9 +21,8 @@ class SettingsAccountSection extends HookConsumerWidget {
children: [ children: [
ListTile( ListTile(
leading: const Icon(SpotubeIcons.extensions), leading: const Icon(SpotubeIcons.extensions),
title: const Text("Metadata provider plugins"), title: Text(context.l10n.metadata_provider_plugins),
subtitle: const Text( subtitle: Text(context.l10n.configure_your_own_metadata_plugin),
"Configure your own playlist/album/artist/feed metadata provider"),
onTap: () { onTap: () {
context.pushRoute(const SettingsMetadataProviderRoute()); context.pushRoute(const SettingsMetadataProviderRoute());
}, },
@ -32,7 +31,7 @@ class SettingsAccountSection extends HookConsumerWidget {
if (scrobbler.asData?.value == null) if (scrobbler.asData?.value == null)
ListTile( ListTile(
leading: const Icon(SpotubeIcons.music), leading: const Icon(SpotubeIcons.music),
title: const Text("Audio scrobblers"), title: Text(context.l10n.audio_scrobblers),
onTap: () { onTap: () {
context.pushRoute(const SettingsScrobblingRoute()); context.pushRoute(const SettingsScrobblingRoute());
}, },

File diff suppressed because it is too large Load Diff