feat: remove green corp names formally

This commit is contained in:
Kingkor Roy Tirtho 2025-06-19 23:04:24 +06:00
parent aa65bf291d
commit 53ad5bd448
62 changed files with 690 additions and 1904 deletions

View File

@ -1,7 +1,3 @@
# The format:
# SPOTIFY_SECRETS=clintId1:clientSecret1,clientId2:clientSecret2
SPOTIFY_SECRETS=$SPOTIFY_SECRETS
# 0 or 1
# 0 = disable
# 1 = enable
@ -14,4 +10,3 @@ LASTFM_API_SECRET=$LASTFM_API_SECRET
RELEASE_CHANNEL=$RELEASE_CHANNEL
HIDE_DONATIONS=$HIDE_DONATIONS
DISABLE_SPOTIFY_IMAGES=$DISABLE_SPOTIFY_IMAGES

View File

@ -21,7 +21,6 @@ jobs:
run: |
envsubst < .env.example > .env
env:
SPOTIFY_SECRETS: xxx:xxx
ENABLE_UPDATE_CHECK: true
LASTFM_API_KEY: xxx
LASTFM_API_SECRET: xxx

View File

@ -57,10 +57,6 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="open.spotify.com"
android:scheme="https" />
</intent-filter>
<intent-filter>
@ -74,8 +70,6 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "spotify:// -->
<data android:scheme="spotify" />
<data android:scheme="spotube" />
</intent-filter>

View File

@ -10,9 +10,6 @@ enum ReleaseChannel {
@Envied(obfuscate: true, requireEnvFile: true, path: ".env")
abstract class Env {
@EnviedField(varName: 'SPOTIFY_SECRETS')
static final String rawSpotifySecrets = _Env.rawSpotifySecrets;
@EnviedField(varName: 'LASTFM_API_KEY')
static final String lastFmApiKey = _Env.lastFmApiKey;
@ -24,25 +21,12 @@ abstract class Env {
static bool get hideDonations => _hideDonations == 1;
static final spotifySecrets = rawSpotifySecrets.split(',').map((e) {
final secrets = e.trim().split(":").map((e) => e.trim());
return {
"clientId": secrets.first,
"clientSecret": secrets.last,
};
}).toList();
@EnviedField(varName: 'ENABLE_UPDATE_CHECK', defaultValue: "1")
static final String _enableUpdateChecker = _Env._enableUpdateChecker;
@EnviedField(varName: "RELEASE_CHANNEL", defaultValue: "nightly")
static final String _releaseChannel = _Env._releaseChannel;
@EnviedField(varName: "DISABLE_SPOTIFY_IMAGES", defaultValue: "0")
static final String _disableSpotifyImages = _Env._disableSpotifyImages;
static bool get disableSpotifyImages => _disableSpotifyImages == "1";
static ReleaseChannel get releaseChannel => _releaseChannel == "stable"
? ReleaseChannel.stable
: ReleaseChannel.nightly;

View File

@ -2,7 +2,7 @@
import 'package:spotube/models/metadata/market.dart';
final spotifyMarkets = [
final marketsMap = [
(Market.AL, "Albania (AL)"),
(Market.DZ, "Algeria (DZ)"),
(Market.AD, "Andorra (AD)"),

View File

@ -105,7 +105,6 @@ abstract class SpotubeIcons {
static const file = FeatherIcons.file;
static const stream = Icons.stream_rounded;
static const lastFm = SimpleIcons.lastdotfm;
static const spotify = SimpleIcons.spotify;
static const eye = FeatherIcons.eye;
static const noEye = FeatherIcons.eyeOff;
static const normalize = FeatherIcons.barChart2;

View File

@ -39,7 +39,7 @@ class AnonymousFallback extends ConsumerWidget {
),
Text(context.l10n.not_logged_in),
Button.primary(
child: Text(context.l10n.login_with_spotify),
child: Text(context.l10n.login),
onPressed: () => context.navigateTo(const SettingsRoute()),
)
],

View File

@ -72,8 +72,7 @@ class TrackOptions extends HookConsumerWidget {
);
void actionShare(BuildContext context, SpotubeTrackObject track) {
final data = "https://open.spotify.com/track/${track.id}";
Clipboard.setData(ClipboardData(text: data)).then((_) {
Clipboard.setData(ClipboardData(text: track.externalUri)).then((_) {
if (context.mounted) {
showToast(
context: context,
@ -81,7 +80,7 @@ class TrackOptions extends HookConsumerWidget {
builder: (context, overlay) {
return SurfaceCard(
child: Text(
context.l10n.copied_to_clipboard(data),
context.l10n.copied_to_clipboard(track.externalUri),
textAlign: TextAlign.center,
),
);
@ -108,71 +107,71 @@ class TrackOptions extends HookConsumerWidget {
);
}
void actionStartRadio(
BuildContext context,
WidgetRef ref,
SpotubeTrackObject track,
) async {
final playback = ref.read(audioPlayerProvider.notifier);
final playlist = ref.read(audioPlayerProvider);
final query = "${track.name} Radio";
final metadataPlugin = await ref.read(metadataPluginProvider.future);
// void actionStartRadio(
// BuildContext context,
// WidgetRef ref,
// SpotubeTrackObject track,
// ) async {
// final playback = ref.read(audioPlayerProvider.notifier);
// final playlist = ref.read(audioPlayerProvider);
// final query = "${track.name} Radio";
// final metadataPlugin = await ref.read(metadataPluginProvider.future);
if (metadataPlugin == null) {
throw MetadataPluginException.noDefaultPlugin(
"No default metadata plugin set",
);
}
// if (metadataPlugin == null) {
// throw MetadataPluginException.noDefaultPlugin(
// "No default metadata plugin set",
// );
// }
final pages = await metadataPlugin.search.playlists(query);
// final pages = await metadataPlugin.search.playlists(query);
final artists = track.artists.map((e) => e.name);
// final artists = track.artists.map((e) => e.name);
final radio = pages.items.firstWhere(
(e) {
final validPlaylists = artists.where((a) => e.description.contains(a));
return e.name == "${track.name} Radio" &&
(validPlaylists.length >= 2 ||
validPlaylists.length == artists.length) &&
e.owner.name == "Spotify";
},
orElse: () => pages.items.first,
);
// final radio = pages.items.firstWhere(
// (e) {
// final validPlaylists = artists.where((a) => e.description.contains(a));
// return e.name.contains(track.name) &&
// e.name.contains("Radio") &&
// (validPlaylists.length >= 2 ||
// validPlaylists.length == artists.length);
// },
// orElse: () => pages.items.first,
// );
bool replaceQueue = false;
// bool replaceQueue = false;
if (context.mounted && playlist.tracks.isNotEmpty) {
replaceQueue = await showPromptDialog(
context: context,
title: context.l10n.how_to_start_radio,
message: context.l10n.replace_queue_question,
okText: context.l10n.replace,
cancelText: context.l10n.add_to_queue,
);
}
// if (context.mounted && playlist.tracks.isNotEmpty) {
// replaceQueue = await showPromptDialog(
// context: context,
// title: context.l10n.how_to_start_radio,
// message: context.l10n.replace_queue_question,
// okText: context.l10n.replace,
// cancelText: context.l10n.add_to_queue,
// );
// }
if (replaceQueue || playlist.tracks.isEmpty) {
await playback.stop();
await playback.load([track], autoPlay: true);
// if (replaceQueue || playlist.tracks.isEmpty) {
// await playback.stop();
// await playback.load([track], autoPlay: true);
// we don't have to add those tracks as useEndlessPlayback will do it for us
return;
} else {
await playback.addTrack(track);
}
await ref.read(metadataPluginPlaylistTracksProvider(radio.id).future);
final tracks = await ref
.read(metadataPluginPlaylistTracksProvider(radio.id).notifier)
.fetchAll();
// // we don't have to add those tracks as useEndlessPlayback will do it for us
// return;
// } else {
// await playback.addTrack(track);
// }
// await ref.read(metadataPluginPlaylistTracksProvider(radio.id).future);
// final tracks = await ref
// .read(metadataPluginPlaylistTracksProvider(radio.id).notifier)
// .fetchAll();
await playback.addTracks(
tracks.toList()
..removeWhere((e) {
final isDuplicate = playlist.tracks.any((t) => t.id == e.id);
return e.id == track.id || isDuplicate;
}),
);
}
// await playback.addTracks(
// tracks.toList()
// ..removeWhere((e) {
// final isDuplicate = playlist.tracks.any((t) => t.id == e.id);
// return e.id == track.id || isDuplicate;
// }),
// );
// }
@override
Widget build(BuildContext context, ref) {
@ -339,7 +338,7 @@ class TrackOptions extends HookConsumerWidget {
await downloadManager.addToQueue(track as SpotubeFullTrackObject);
break;
case TrackOptionValue.startRadio:
actionStartRadio(context, ref, track);
// actionStartRadio(context, ref, track);
break;
}
},
@ -431,11 +430,11 @@ class TrackOptions extends HookConsumerWidget {
),
),
if (authenticated.asData?.value == true && !isLocalTrack) ...[
AdaptiveMenuButton(
value: TrackOptionValue.startRadio,
leading: const Icon(SpotubeIcons.radio),
child: Text(context.l10n.start_a_radio),
),
// AdaptiveMenuButton(
// value: TrackOptionValue.startRadio,
// leading: const Icon(SpotubeIcons.radio),
// child: Text(context.l10n.start_a_radio),
// ),
AdaptiveMenuButton(
value: TrackOptionValue.addToPlaylist,
leading: const Icon(SpotubeIcons.playlistAdd),

View File

@ -1,432 +1,419 @@
{
"guest": "Guest",
"browse": "Browse",
"search": "Search",
"library": "Library",
"lyrics": "Lyrics",
"settings": "Settings",
"genre_categories_filter": "Filter categories or genres...",
"genre": "Genre",
"personalized": "Personalized",
"featured": "Featured",
"new_releases": "New Releases",
"songs": "Songs",
"playing_track": "Playing {track}",
"queue_clear_alert": "This will clear the current queue. {track_length} tracks will be removed\nDo you want to continue?",
"load_more": "Load more",
"playlists": "Playlists",
"artists": "Artists",
"albums": "Albums",
"tracks": "Tracks",
"downloads": "Downloads",
"filter_playlists": "Filter your playlists...",
"liked_tracks": "Liked Tracks",
"liked_tracks_description": "All your liked tracks",
"playlist": "Playlist",
"create_a_playlist": "Create a playlist",
"update_playlist": "Update playlist",
"create": "Create",
"cancel": "Cancel",
"update": "Update",
"playlist_name": "Playlist Name",
"name_of_playlist": "Name of the playlist",
"description": "Description",
"public": "Public",
"collaborative": "Collaborative",
"search_local_tracks": "Search local tracks...",
"play": "Play",
"delete": "Delete",
"none": "None",
"sort_a_z": "Sort by A-Z",
"sort_z_a": "Sort by Z-A",
"sort_artist": "Sort by Artist",
"sort_album": "Sort by Album",
"sort_duration": "Sort by Duration",
"sort_tracks": "Sort Tracks",
"currently_downloading": "Currently Downloading ({tracks_length})",
"cancel_all": "Cancel All",
"filter_artist": "Filter artists...",
"followers": "{followers} Followers",
"add_artist_to_blacklist": "Add artist to blacklist",
"top_tracks": "Top Tracks",
"fans_also_like": "Fans also like",
"loading": "Loading...",
"artist": "Artist",
"blacklisted": "Blacklisted",
"following": "Following",
"follow": "Follow",
"artist_url_copied": "Artist URL copied to clipboard",
"added_to_queue": "Added {tracks} tracks to queue",
"filter_albums": "Filter albums...",
"synced": "Synced",
"plain": "Plain",
"shuffle": "Shuffle",
"search_tracks": "Search tracks...",
"released": "Released",
"error": "Error {error}",
"title": "Title",
"time": "Time",
"more_actions": "More actions",
"download_count": "Download ({count})",
"add_count_to_playlist": "Add ({count}) to Playlist",
"add_count_to_queue": "Add ({count}) to Queue",
"play_count_next": "Play ({count}) next",
"album": "Album",
"copied_to_clipboard": "Copied {data} to clipboard",
"add_to_following_playlists": "Add {track} to following Playlists",
"add": "Add",
"added_track_to_queue": "Added {track} to queue",
"add_to_queue": "Add to queue",
"track_will_play_next": "{track} will play next",
"play_next": "Play next",
"removed_track_from_queue": "Removed {track} from queue",
"remove_from_queue": "Remove from queue",
"remove_from_favorites": "Remove from favorites",
"save_as_favorite": "Save as favorite",
"add_to_playlist": "Add to playlist",
"remove_from_playlist": "Remove from playlist",
"add_to_blacklist": "Add to blacklist",
"remove_from_blacklist": "Remove from blacklist",
"share": "Share",
"mini_player": "Mini Player",
"slide_to_seek": "Slide to seek forward or backward",
"shuffle_playlist": "Shuffle playlist",
"unshuffle_playlist": "Unshuffle playlist",
"previous_track": "Previous track",
"next_track": "Next track",
"pause_playback": "Pause Playback",
"resume_playback": "Resume Playback",
"loop_track": "Loop track",
"no_loop": "No loop",
"repeat_playlist": "Repeat playlist",
"queue": "Queue",
"alternative_track_sources": "Alternative track sources",
"download_track": "Download track",
"tracks_in_queue": "{tracks} tracks in queue",
"clear_all": "Clear all",
"show_hide_ui_on_hover": "Show/Hide UI on hover",
"always_on_top": "Always on top",
"exit_mini_player": "Exit Mini player",
"download_location": "Download location",
"local_library": "Local library",
"add_library_location": "Add to library",
"remove_library_location": "Remove from library",
"account": "Account",
"login_with_spotify": "Login with your Spotify account",
"connect_with_spotify": "Connect with Spotify",
"logout": "Logout",
"logout_of_this_account": "Logout of this account",
"language_region": "Language & Region",
"language": "Language",
"system_default": "System Default",
"market_place_region": "Marketplace Region",
"recommendation_country": "Recommendation Country",
"appearance": "Appearance",
"layout_mode": "Layout Mode",
"override_layout_settings": "Override responsive layout mode settings",
"adaptive": "Adaptive",
"compact": "Compact",
"extended": "Extended",
"theme": "Theme",
"dark": "Dark",
"light": "Light",
"system": "System",
"accent_color": "Accent Color",
"sync_album_color": "Sync album color",
"sync_album_color_description": "Uses the dominant color of the album art as the accent color",
"playback": "Playback",
"audio_quality": "Audio Quality",
"high": "High",
"low": "Low",
"pre_download_play": "Pre-download and play",
"pre_download_play_description": "Instead of streaming audio, download bytes and play instead (Recommended for higher bandwidth users)",
"skip_non_music": "Skip non-music segments (SponsorBlock)",
"blacklist_description": "Blacklisted tracks and artists",
"wait_for_download_to_finish": "Please wait for the current download to finish",
"desktop": "Desktop",
"close_behavior": "Close Behavior",
"close": "Close",
"minimize_to_tray": "Minimize to tray",
"show_tray_icon": "Show System tray icon",
"about": "About",
"u_love_spotube": "We know you love Spotube",
"check_for_updates": "Check for updates",
"about_spotube": "About Spotube",
"blacklist": "Blacklist",
"please_sponsor": "Please Sponsor/Donate",
"spotube_description": "Spotube, a lightweight, cross-platform, free-for-all spotify client",
"version": "Version",
"build_number": "Build Number",
"founder": "Founder",
"repository": "Repository",
"bug_issues": "Bug+Issues",
"made_with": "Made with ❤️ in Bangladesh🇧🇩",
"kingkor_roy_tirtho": "Kingkor Roy Tirtho",
"copyright": "© 2021-{current_year} Kingkor Roy Tirtho",
"license": "License",
"add_spotify_credentials": "Add your spotify credentials to get started",
"credentials_will_not_be_shared_disclaimer": "Don't worry, any of your credentials won't be collected or shared with anyone",
"know_how_to_login": "Don't know how to do this?",
"follow_step_by_step_guide": "Follow along the Step by Step guide",
"spotify_cookie": "Spotify {name} Cookie",
"cookie_name_cookie": "{name} Cookie",
"fill_in_all_fields": "Please fill in all the fields",
"submit": "Submit",
"exit": "Exit",
"previous": "Previous",
"next": "Next",
"done": "Done",
"step_1": "Step 1",
"first_go_to": "First, Go to",
"login_if_not_logged_in": "and Login/Signup if you are not logged in",
"step_2": "Step 2",
"step_2_steps": "1. Once you're logged in, press F12 or Mouse Right Click > Inspect to Open the Browser devtools.\n2. Then go the \"Application\" Tab (Chrome, Edge, Brave etc..) or \"Storage\" Tab (Firefox, Palemoon etc..)\n3. Go to the \"Cookies\" section then the \"https://accounts.spotify.com\" subsection",
"step_3": "Step 3",
"step_3_steps": "Copy the value of \"sp_dc\" Cookie",
"success_emoji": "Success🥳",
"success_message": "Now you've successfully Logged in with your Spotify account. Good Job, mate!",
"step_4": "Step 4",
"step_4_steps": "Paste the copied \"sp_dc\" value",
"something_went_wrong": "Something went wrong",
"piped_instance": "Piped Server Instance",
"piped_description": "The Piped server instance to use for track matching",
"piped_warning": "Some of them might not work well. So use at your own risk",
"invidious_instance": "Invidious Server Instance",
"invidious_description": "The Invidious server instance to use for track matching",
"invidious_warning": "Some of them might not work well. So use at your own risk",
"generate": "Generate",
"track_exists": "Track {track} already exists",
"replace_downloaded_tracks": "Replace all downloaded tracks",
"skip_download_tracks": "Skip downloading all downloaded tracks",
"do_you_want_to_replace": "Do you want to replace the existing track??",
"replace": "Replace",
"skip": "Skip",
"select_up_to_count_type": "Select up to {count} {type}",
"select_genres": "Select Genres",
"add_genres": "Add Genres",
"country": "Country",
"number_of_tracks_generate": "Number of tracks to generate",
"acousticness": "Acousticness",
"danceability": "Danceability",
"energy": "Energy",
"instrumentalness": "Instrumentalness",
"liveness": "Liveness",
"loudness": "Loudness",
"speechiness": "Speechiness",
"valence": "Valence",
"popularity": "Popularity",
"key": "Key",
"duration": "Duration (s)",
"tempo": "Tempo (BPM)",
"mode": "Mode",
"time_signature": "Time Signature",
"short": "Short",
"medium": "Medium",
"long": "Long",
"min": "Min",
"max": "Max",
"target": "Target",
"moderate": "Moderate",
"deselect_all": "Deselect All",
"select_all": "Select All",
"are_you_sure": "Are you sure?",
"generating_playlist": "Generating your custom playlist...",
"selected_count_tracks": "Selected {count} tracks",
"download_warning": "If you download all Tracks at bulk you're clearly pirating Music & causing damage to the creative society of Music. I hope you are aware of this. Always, try respecting & supporting Artist's hard work",
"download_ip_ban_warning": "BTW, your IP can get blocked on YouTube due excessive download requests than usual. IP block means you can't use YouTube (even if you're logged in) for at least 2-3 months from that IP device. And Spotube doesn't hold any responsibility if this ever happens",
"by_clicking_accept_terms": "By clicking 'accept' you agree to following terms:",
"download_agreement_1": "I know I'm pirating Music. I'm bad",
"download_agreement_2": "I'll support the Artist wherever I can and I'm only doing this because I don't have money to buy their art",
"download_agreement_3": "I'm completely aware that my IP can get blocked on YouTube & I don't hold Spotube or his owners/contributors responsible for any accidents caused by my current action",
"decline": "Decline",
"accept": "Accept",
"details": "Details",
"youtube": "YouTube",
"channel": "Channel",
"likes": "Likes",
"dislikes": "Dislikes",
"views": "Views",
"streamUrl": "Stream URL",
"stop": "Stop",
"sort_newest": "Sort by newest added",
"sort_oldest": "Sort by oldest added",
"sleep_timer": "Sleep Timer",
"mins": "{minutes} Minutes",
"hours": "{hours} Hours",
"hour": "{hours} Hour",
"custom_hours": "Custom Hours",
"logs": "Logs",
"developers": "Developers",
"not_logged_in": "You're not logged in",
"search_mode": "Search Mode",
"audio_source": "Audio Source",
"ok": "Ok",
"failed_to_encrypt": "Failed to encrypt",
"encryption_failed_warning": "Spotube uses encryption to securely store your data. But failed to do so. So it'll fallback to insecure storage\nIf you're using linux, please make sure you've any secret-service (gnome-keyring, kde-wallet, keepassxc etc) installed",
"querying_info": "Querying info...",
"piped_api_down": "Piped API is down",
"piped_down_error_instructions": "The Piped instance {pipedInstance} is currently down\n\nEither change the instance or change the 'API type' to official YouTube API\n\nMake sure to restart the app after change",
"you_are_offline": "You are currently offline",
"connection_restored": "Your internet connection was restored",
"use_system_title_bar": "Use system title bar",
"crunching_results": "Crunching results...",
"search_to_get_results": "Search to get results",
"use_amoled_mode": "Pitch black dark theme",
"pitch_dark_theme": "AMOLED Mode",
"normalize_audio": "Normalize audio",
"change_cover": "Change cover",
"add_cover": "Add cover",
"restore_defaults": "Restore defaults",
"download_music_codec": "Download music codec",
"streaming_music_codec": "Streaming music codec",
"login_with_lastfm": "Login with Last.fm",
"connect": "Connect",
"disconnect_lastfm": "Disconnect Last.fm",
"disconnect": "Disconnect",
"username": "Username",
"password": "Password",
"login": "Login",
"login_with_your_lastfm": "Login with your Last.fm account",
"scrobble_to_lastfm": "Scrobble to Last.fm",
"go_to_album": "Go to Album",
"discord_rich_presence": "Discord Rich Presence",
"browse_all": "Browse All",
"genres": "Genres",
"explore_genres": "Explore Genres",
"friends": "Friends",
"no_lyrics_available": "Sorry, unable find lyrics for this track",
"start_a_radio": "Start a Radio",
"how_to_start_radio": "How do you want to start the radio?",
"replace_queue_question": "Do you want to replace the current queue or append to it?",
"endless_playback": "Endless Playback",
"delete_playlist": "Delete Playlist",
"delete_playlist_confirmation": "Are you sure you want to delete this playlist?",
"local_tracks": "Local Tracks",
"local_tab": "Local",
"song_link": "Song Link",
"skip_this_nonsense": "Skip this nonsense",
"freedom_of_music": "“Freedom of Music”",
"freedom_of_music_palm": "“Freedom of Music in the palm of your hand”",
"get_started": "Let's get started",
"youtube_source_description": "Recommended and works best.",
"piped_source_description": "Feeling free? Same as YouTube but a lot free.",
"jiosaavn_source_description": "Best for South Asian region.",
"invidious_source_description": "Similar to Piped but with higher availability.",
"highest_quality": "Highest Quality: {quality}",
"select_audio_source": "Select Audio Source",
"endless_playback_description": "Automatically append new songs\nto the end of the queue",
"choose_your_region": "Choose your region",
"choose_your_region_description": "This will help Spotube show you the right content\nfor your location.",
"choose_your_language": "Choose your language",
"help_project_grow": "Help this project grow",
"help_project_grow_description": "Spotube is an open-source project. You can help this project grow by contributing to the project, reporting bugs, or suggesting new features.",
"contribute_on_github": "Contribute on GitHub",
"donate_on_open_collective": "Donate on Open Collective",
"browse_anonymously": "Browse Anonymously",
"enable_connect": "Enable Connect",
"enable_connect_description": "Control Spotube from other devices",
"devices": "Devices",
"select": "Select",
"connect_client_alert": "You're being controlled by {client}",
"this_device": "This Device",
"remote": "Remote",
"stats": "Stats",
"and_n_more": "and {count} more",
"recently_played": "Recently Played",
"browse_more": "Browse More",
"no_title": "No Title",
"not_playing": "Not playing",
"epic_failure": "Epic failure!",
"added_num_tracks_to_queue": "Added {tracks_length} tracks to queue",
"spotube_has_an_update": "Spotube has an update",
"download_now": "Download Now",
"nightly_version": "Spotube Nightly {nightlyBuildNum} has been released",
"release_version": "Spotube v{version} has been released",
"read_the_latest": "Read the latest ",
"release_notes": "release notes",
"pick_color_scheme": "Pick color scheme",
"save": "Save",
"choose_the_device": "Choose the device:",
"multiple_device_connected": "There are multiple device connected.\nChoose the device you want this action to take place",
"nothing_found": "Nothing found",
"the_box_is_empty": "The box is empty",
"top_artists": "Top Artists",
"top_albums": "Top Albums",
"this_week": "This week",
"this_month": "This month",
"last_6_months": "Last 6 months",
"this_year": "This year",
"last_2_years": "Last 2 years",
"all_time": "All time",
"powered_by_provider": "Powered by {providerName}",
"email": "Email",
"profile_followers": "Followers",
"birthday": "Birthday",
"subscription": "Subscription",
"not_born": "Not born",
"hacker": "Hacker",
"profile": "Profile",
"no_name": "No Name",
"edit": "Edit",
"user_profile": "User Profile",
"count_plays": "{count} plays",
"streaming_fees_hypothetical": "Streaming fees (hypothetical)",
"minutes_listened": "Minutes listened",
"streamed_songs": "Streamed songs",
"count_streams": "{count} streams",
"owned_by_you": "Owned by you",
"copied_shareurl_to_clipboard": "Copied {shareUrl} to clipboard",
"spotify_hipotetical_calculation": "*This is calculated based on Spotify's per stream\npayout of $0.003 to $0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in Spotify.",
"count_mins": "{minutes} mins",
"summary_minutes": "minutes",
"summary_listened_to_music": "Listened to music",
"summary_songs": "songs",
"summary_streamed_overall": "Streamed overall",
"summary_owed_to_artists": "Owed to artists\nthis month",
"summary_artists": "artist's",
"summary_music_reached_you": "Music reached you",
"summary_full_albums": "full albums",
"summary_got_your_love": "Got your love",
"summary_playlists": "playlists",
"summary_were_on_repeat": "Were on repeat",
"total_money": "Total {money}",
"webview_not_found": "Webview not found",
"webview_not_found_description": "No webview runtime is installed in your device.\nIf it's installed make sure it's in the Environment PATH\n\nAfter installing, restart the app",
"unsupported_platform": "Unsupported platform",
"cache_music": "Cache music",
"open": "Open",
"cache_folder": "Cache folder",
"export": "Export",
"clear_cache": "Clear cache",
"clear_cache_confirmation": "Do you want to clear the cache?",
"export_cache_files": "Export Cached Files",
"found_n_files": "Found {count} files",
"export_cache_confirmation": "Do you want to export these files to",
"exported_n_out_of_m_files": "Exported {filesExported} out of {files} files",
"undo": "Undo",
"download_all": "Download all",
"add_all_to_playlist": "Add all to playlist",
"add_all_to_queue": "Add all to queue",
"play_all_next": "Play all next",
"pause": "Pause",
"view_all": "View all",
"no_tracks_added_yet": "Looks like you haven't added any tracks yet",
"no_tracks": "Looks like there are no tracks here",
"no_tracks_listened_yet": "Looks like you haven't listened to anything yet",
"not_following_artists": "You're not following any artists",
"no_favorite_albums_yet": "Looks like you haven't added any albums to your favorites yet",
"no_logs_found": "No logs found",
"youtube_engine": "YouTube Engine",
"youtube_engine_not_installed_title": "{engine} is not installed",
"youtube_engine_not_installed_message": "{engine} is not installed in your system.",
"youtube_engine_set_path": "Make sure it's available in the PATH variable or\nset the absolute path to the {engine} executable below",
"youtube_engine_unix_issue_message": "In macOS/Linux/unix like OS's, setting path on .zshrc/.bashrc/.bash_profile etc. won't work.\nYou need to set the path in the shell configuration file",
"download": "Download",
"file_not_found": "File not found",
"custom": "Custom",
"add_custom_url": "Add custom URL",
"edit_port": "Edit port",
"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?",
"connection_request_denied": "Connection denied. User denied access."
"guest": "Guest",
"browse": "Browse",
"search": "Search",
"library": "Library",
"lyrics": "Lyrics",
"settings": "Settings",
"genre_categories_filter": "Filter categories or genres...",
"genre": "Genre",
"personalized": "Personalized",
"featured": "Featured",
"new_releases": "New Releases",
"songs": "Songs",
"playing_track": "Playing {track}",
"queue_clear_alert": "This will clear the current queue. {track_length} tracks will be removed\nDo you want to continue?",
"load_more": "Load more",
"playlists": "Playlists",
"artists": "Artists",
"albums": "Albums",
"tracks": "Tracks",
"downloads": "Downloads",
"filter_playlists": "Filter your playlists...",
"liked_tracks": "Liked Tracks",
"liked_tracks_description": "All your liked tracks",
"playlist": "Playlist",
"create_a_playlist": "Create a playlist",
"update_playlist": "Update playlist",
"create": "Create",
"cancel": "Cancel",
"update": "Update",
"playlist_name": "Playlist Name",
"name_of_playlist": "Name of the playlist",
"description": "Description",
"public": "Public",
"collaborative": "Collaborative",
"search_local_tracks": "Search local tracks...",
"play": "Play",
"delete": "Delete",
"none": "None",
"sort_a_z": "Sort by A-Z",
"sort_z_a": "Sort by Z-A",
"sort_artist": "Sort by Artist",
"sort_album": "Sort by Album",
"sort_duration": "Sort by Duration",
"sort_tracks": "Sort Tracks",
"currently_downloading": "Currently Downloading ({tracks_length})",
"cancel_all": "Cancel All",
"filter_artist": "Filter artists...",
"followers": "{followers} Followers",
"add_artist_to_blacklist": "Add artist to blacklist",
"top_tracks": "Top Tracks",
"fans_also_like": "Fans also like",
"loading": "Loading...",
"artist": "Artist",
"blacklisted": "Blacklisted",
"following": "Following",
"follow": "Follow",
"artist_url_copied": "Artist URL copied to clipboard",
"added_to_queue": "Added {tracks} tracks to queue",
"filter_albums": "Filter albums...",
"synced": "Synced",
"plain": "Plain",
"shuffle": "Shuffle",
"search_tracks": "Search tracks...",
"released": "Released",
"error": "Error {error}",
"title": "Title",
"time": "Time",
"more_actions": "More actions",
"download_count": "Download ({count})",
"add_count_to_playlist": "Add ({count}) to Playlist",
"add_count_to_queue": "Add ({count}) to Queue",
"play_count_next": "Play ({count}) next",
"album": "Album",
"copied_to_clipboard": "Copied {data} to clipboard",
"add_to_following_playlists": "Add {track} to following Playlists",
"add": "Add",
"added_track_to_queue": "Added {track} to queue",
"add_to_queue": "Add to queue",
"track_will_play_next": "{track} will play next",
"play_next": "Play next",
"removed_track_from_queue": "Removed {track} from queue",
"remove_from_queue": "Remove from queue",
"remove_from_favorites": "Remove from favorites",
"save_as_favorite": "Save as favorite",
"add_to_playlist": "Add to playlist",
"remove_from_playlist": "Remove from playlist",
"add_to_blacklist": "Add to blacklist",
"remove_from_blacklist": "Remove from blacklist",
"share": "Share",
"mini_player": "Mini Player",
"slide_to_seek": "Slide to seek forward or backward",
"shuffle_playlist": "Shuffle playlist",
"unshuffle_playlist": "Unshuffle playlist",
"previous_track": "Previous track",
"next_track": "Next track",
"pause_playback": "Pause Playback",
"resume_playback": "Resume Playback",
"loop_track": "Loop track",
"no_loop": "No loop",
"repeat_playlist": "Repeat playlist",
"queue": "Queue",
"alternative_track_sources": "Alternative track sources",
"download_track": "Download track",
"tracks_in_queue": "{tracks} tracks in queue",
"clear_all": "Clear all",
"show_hide_ui_on_hover": "Show/Hide UI on hover",
"always_on_top": "Always on top",
"exit_mini_player": "Exit Mini player",
"download_location": "Download location",
"local_library": "Local library",
"add_library_location": "Add to library",
"remove_library_location": "Remove from library",
"account": "Account",
"logout": "Logout",
"logout_of_this_account": "Logout of this account",
"language_region": "Language & Region",
"language": "Language",
"system_default": "System Default",
"market_place_region": "Marketplace Region",
"recommendation_country": "Recommendation Country",
"appearance": "Appearance",
"layout_mode": "Layout Mode",
"override_layout_settings": "Override responsive layout mode settings",
"adaptive": "Adaptive",
"compact": "Compact",
"extended": "Extended",
"theme": "Theme",
"dark": "Dark",
"light": "Light",
"system": "System",
"accent_color": "Accent Color",
"sync_album_color": "Sync album color",
"sync_album_color_description": "Uses the dominant color of the album art as the accent color",
"playback": "Playback",
"audio_quality": "Audio Quality",
"high": "High",
"low": "Low",
"pre_download_play": "Pre-download and play",
"pre_download_play_description": "Instead of streaming audio, download bytes and play instead (Recommended for higher bandwidth users)",
"skip_non_music": "Skip non-music segments (SponsorBlock)",
"blacklist_description": "Blacklisted tracks and artists",
"wait_for_download_to_finish": "Please wait for the current download to finish",
"desktop": "Desktop",
"close_behavior": "Close Behavior",
"close": "Close",
"minimize_to_tray": "Minimize to tray",
"show_tray_icon": "Show System tray icon",
"about": "About",
"u_love_spotube": "We know you love Spotube",
"check_for_updates": "Check for updates",
"about_spotube": "About Spotube",
"blacklist": "Blacklist",
"please_sponsor": "Please Sponsor/Donate",
"spotube_description": "Open source extensible music streaming platform and app, based on BYOMM (Bring your own music metadata) concept",
"version": "Version",
"build_number": "Build Number",
"founder": "Founder",
"repository": "Repository",
"bug_issues": "Bug+Issues",
"made_with": "Made with ❤️ in Bangladesh🇧🇩",
"kingkor_roy_tirtho": "Kingkor Roy Tirtho",
"copyright": "© 2021-{current_year} Kingkor Roy Tirtho",
"license": "License",
"credentials_will_not_be_shared_disclaimer": "Don't worry, any of your credentials won't be collected or shared with anyone",
"know_how_to_login": "Don't know how to do this?",
"follow_step_by_step_guide": "Follow along the Step by Step guide",
"cookie_name_cookie": "{name} Cookie",
"fill_in_all_fields": "Please fill in all the fields",
"submit": "Submit",
"exit": "Exit",
"previous": "Previous",
"next": "Next",
"done": "Done",
"step_1": "Step 1",
"first_go_to": "First, Go to",
"something_went_wrong": "Something went wrong",
"piped_instance": "Piped Server Instance",
"piped_description": "The Piped server instance to use for track matching",
"piped_warning": "Some of them might not work well. So use at your own risk",
"invidious_instance": "Invidious Server Instance",
"invidious_description": "The Invidious server instance to use for track matching",
"invidious_warning": "Some of them might not work well. So use at your own risk",
"generate": "Generate",
"track_exists": "Track {track} already exists",
"replace_downloaded_tracks": "Replace all downloaded tracks",
"skip_download_tracks": "Skip downloading all downloaded tracks",
"do_you_want_to_replace": "Do you want to replace the existing track??",
"replace": "Replace",
"skip": "Skip",
"select_up_to_count_type": "Select up to {count} {type}",
"select_genres": "Select Genres",
"add_genres": "Add Genres",
"country": "Country",
"number_of_tracks_generate": "Number of tracks to generate",
"acousticness": "Acousticness",
"danceability": "Danceability",
"energy": "Energy",
"instrumentalness": "Instrumentalness",
"liveness": "Liveness",
"loudness": "Loudness",
"speechiness": "Speechiness",
"valence": "Valence",
"popularity": "Popularity",
"key": "Key",
"duration": "Duration (s)",
"tempo": "Tempo (BPM)",
"mode": "Mode",
"time_signature": "Time Signature",
"short": "Short",
"medium": "Medium",
"long": "Long",
"min": "Min",
"max": "Max",
"target": "Target",
"moderate": "Moderate",
"deselect_all": "Deselect All",
"select_all": "Select All",
"are_you_sure": "Are you sure?",
"generating_playlist": "Generating your custom playlist...",
"selected_count_tracks": "Selected {count} tracks",
"download_warning": "If you download all Tracks at bulk you're clearly pirating Music & causing damage to the creative society of Music. I hope you are aware of this. Always, try respecting & supporting Artist's hard work",
"download_ip_ban_warning": "BTW, your IP can get blocked on YouTube due excessive download requests than usual. IP block means you can't use YouTube (even if you're logged in) for at least 2-3 months from that IP device. And Spotube doesn't hold any responsibility if this ever happens",
"by_clicking_accept_terms": "By clicking 'accept' you agree to following terms:",
"download_agreement_1": "I know I'm pirating Music. I'm bad",
"download_agreement_2": "I'll support the Artist wherever I can and I'm only doing this because I don't have money to buy their art",
"download_agreement_3": "I'm completely aware that my IP can get blocked on YouTube & I don't hold Spotube or his owners/contributors responsible for any accidents caused by my current action",
"decline": "Decline",
"accept": "Accept",
"details": "Details",
"youtube": "YouTube",
"channel": "Channel",
"likes": "Likes",
"dislikes": "Dislikes",
"views": "Views",
"streamUrl": "Stream URL",
"stop": "Stop",
"sort_newest": "Sort by newest added",
"sort_oldest": "Sort by oldest added",
"sleep_timer": "Sleep Timer",
"mins": "{minutes} Minutes",
"hours": "{hours} Hours",
"hour": "{hours} Hour",
"custom_hours": "Custom Hours",
"logs": "Logs",
"developers": "Developers",
"not_logged_in": "You're not logged in",
"search_mode": "Search Mode",
"audio_source": "Audio Source",
"ok": "Ok",
"failed_to_encrypt": "Failed to encrypt",
"encryption_failed_warning": "Spotube uses encryption to securely store your data. But failed to do so. So it'll fallback to insecure storage\nIf you're using linux, please make sure you've any secret-service (gnome-keyring, kde-wallet, keepassxc etc) installed",
"querying_info": "Querying info...",
"piped_api_down": "Piped API is down",
"piped_down_error_instructions": "The Piped instance {pipedInstance} is currently down\n\nEither change the instance or change the 'API type' to official YouTube API\n\nMake sure to restart the app after change",
"you_are_offline": "You are currently offline",
"connection_restored": "Your internet connection was restored",
"use_system_title_bar": "Use system title bar",
"crunching_results": "Crunching results...",
"search_to_get_results": "Search to get results",
"use_amoled_mode": "Pitch black dark theme",
"pitch_dark_theme": "AMOLED Mode",
"normalize_audio": "Normalize audio",
"change_cover": "Change cover",
"add_cover": "Add cover",
"restore_defaults": "Restore defaults",
"download_music_codec": "Download music codec",
"streaming_music_codec": "Streaming music codec",
"login_with_lastfm": "Login with Last.fm",
"connect": "Connect",
"disconnect_lastfm": "Disconnect Last.fm",
"disconnect": "Disconnect",
"username": "Username",
"password": "Password",
"login": "Login",
"login_with_your_lastfm": "Login with your Last.fm account",
"scrobble_to_lastfm": "Scrobble to Last.fm",
"go_to_album": "Go to Album",
"discord_rich_presence": "Discord Rich Presence",
"browse_all": "Browse All",
"genres": "Genres",
"explore_genres": "Explore Genres",
"friends": "Friends",
"no_lyrics_available": "Sorry, unable find lyrics for this track",
"start_a_radio": "Start a Radio",
"how_to_start_radio": "How do you want to start the radio?",
"replace_queue_question": "Do you want to replace the current queue or append to it?",
"endless_playback": "Endless Playback",
"delete_playlist": "Delete Playlist",
"delete_playlist_confirmation": "Are you sure you want to delete this playlist?",
"local_tracks": "Local Tracks",
"local_tab": "Local",
"song_link": "Song Link",
"skip_this_nonsense": "Skip this nonsense",
"freedom_of_music": "“Freedom of Music”",
"freedom_of_music_palm": "“Freedom of Music in the palm of your hand”",
"get_started": "Let's get started",
"youtube_source_description": "Recommended and works best.",
"piped_source_description": "Feeling free? Same as YouTube but a lot free.",
"jiosaavn_source_description": "Best for South Asian region.",
"invidious_source_description": "Similar to Piped but with higher availability.",
"highest_quality": "Highest Quality: {quality}",
"select_audio_source": "Select Audio Source",
"endless_playback_description": "Automatically append new songs\nto the end of the queue",
"choose_your_region": "Choose your region",
"choose_your_region_description": "This will help Spotube show you the right content\nfor your location.",
"choose_your_language": "Choose your language",
"help_project_grow": "Help this project grow",
"help_project_grow_description": "Spotube is an open-source project. You can help this project grow by contributing to the project, reporting bugs, or suggesting new features.",
"contribute_on_github": "Contribute on GitHub",
"donate_on_open_collective": "Donate on Open Collective",
"browse_anonymously": "Browse Anonymously",
"enable_connect": "Enable Connect",
"enable_connect_description": "Control Spotube from other devices",
"devices": "Devices",
"select": "Select",
"connect_client_alert": "You're being controlled by {client}",
"this_device": "This Device",
"remote": "Remote",
"stats": "Stats",
"and_n_more": "and {count} more",
"recently_played": "Recently Played",
"browse_more": "Browse More",
"no_title": "No Title",
"not_playing": "Not playing",
"epic_failure": "Epic failure!",
"added_num_tracks_to_queue": "Added {tracks_length} tracks to queue",
"spotube_has_an_update": "Spotube has an update",
"download_now": "Download Now",
"nightly_version": "Spotube Nightly {nightlyBuildNum} has been released",
"release_version": "Spotube v{version} has been released",
"read_the_latest": "Read the latest ",
"release_notes": "release notes",
"pick_color_scheme": "Pick color scheme",
"save": "Save",
"choose_the_device": "Choose the device:",
"multiple_device_connected": "There are multiple device connected.\nChoose the device you want this action to take place",
"nothing_found": "Nothing found",
"the_box_is_empty": "The box is empty",
"top_artists": "Top Artists",
"top_albums": "Top Albums",
"this_week": "This week",
"this_month": "This month",
"last_6_months": "Last 6 months",
"this_year": "This year",
"last_2_years": "Last 2 years",
"all_time": "All time",
"powered_by_provider": "Powered by {providerName}",
"email": "Email",
"profile_followers": "Followers",
"birthday": "Birthday",
"subscription": "Subscription",
"not_born": "Not born",
"hacker": "Hacker",
"profile": "Profile",
"no_name": "No Name",
"edit": "Edit",
"user_profile": "User Profile",
"count_plays": "{count} plays",
"streaming_fees_hypothetical": "Streaming fees (hypothetical)",
"minutes_listened": "Minutes listened",
"streamed_songs": "Streamed songs",
"count_streams": "{count} streams",
"owned_by_you": "Owned by you",
"copied_shareurl_to_clipboard": "Copied {shareUrl} to clipboard",
"hipotetical_calculation": "*This is calculated based on average online music streaming platform's per stream\npayout of $0.003 to $0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.",
"count_mins": "{minutes} mins",
"summary_minutes": "minutes",
"summary_listened_to_music": "Listened to music",
"summary_songs": "songs",
"summary_streamed_overall": "Streamed overall",
"summary_owed_to_artists": "Owed to artists\nthis month",
"summary_artists": "artist's",
"summary_music_reached_you": "Music reached you",
"summary_full_albums": "full albums",
"summary_got_your_love": "Got your love",
"summary_playlists": "playlists",
"summary_were_on_repeat": "Were on repeat",
"total_money": "Total {money}",
"webview_not_found": "Webview not found",
"webview_not_found_description": "No webview runtime is installed in your device.\nIf it's installed make sure it's in the Environment PATH\n\nAfter installing, restart the app",
"unsupported_platform": "Unsupported platform",
"cache_music": "Cache music",
"open": "Open",
"cache_folder": "Cache folder",
"export": "Export",
"clear_cache": "Clear cache",
"clear_cache_confirmation": "Do you want to clear the cache?",
"export_cache_files": "Export Cached Files",
"found_n_files": "Found {count} files",
"export_cache_confirmation": "Do you want to export these files to",
"exported_n_out_of_m_files": "Exported {filesExported} out of {files} files",
"undo": "Undo",
"download_all": "Download all",
"add_all_to_playlist": "Add all to playlist",
"add_all_to_queue": "Add all to queue",
"play_all_next": "Play all next",
"pause": "Pause",
"view_all": "View all",
"no_tracks_added_yet": "Looks like you haven't added any tracks yet",
"no_tracks": "Looks like there are no tracks here",
"no_tracks_listened_yet": "Looks like you haven't listened to anything yet",
"not_following_artists": "You're not following any artists",
"no_favorite_albums_yet": "Looks like you haven't added any albums to your favorites yet",
"no_logs_found": "No logs found",
"youtube_engine": "YouTube Engine",
"youtube_engine_not_installed_title": "{engine} is not installed",
"youtube_engine_not_installed_message": "{engine} is not installed in your system.",
"youtube_engine_set_path": "Make sure it's available in the PATH variable or\nset the absolute path to the {engine} executable below",
"youtube_engine_unix_issue_message": "In macOS/Linux/unix like OS's, setting path on .zshrc/.bashrc/.bash_profile etc. won't work.\nYou need to set the path in the shell configuration file",
"download": "Download",
"file_not_found": "File not found",
"custom": "Custom",
"add_custom_url": "Add custom URL",
"edit_port": "Edit port",
"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?",
"connection_request_denied": "Connection denied. User denied access."
}

View File

@ -827,18 +827,6 @@ abstract class AppLocalizations {
/// **'Account'**
String get account;
/// No description provided for @login_with_spotify.
///
/// In en, this message translates to:
/// **'Login with your Spotify account'**
String get login_with_spotify;
/// No description provided for @connect_with_spotify.
///
/// In en, this message translates to:
/// **'Connect with Spotify'**
String get connect_with_spotify;
/// No description provided for @logout.
///
/// In en, this message translates to:
@ -1082,7 +1070,7 @@ abstract class AppLocalizations {
/// No description provided for @spotube_description.
///
/// In en, this message translates to:
/// **'Spotube, a lightweight, cross-platform, free-for-all spotify client'**
/// **'Open source extensible music streaming platform and app, based on BYOMM (Bring your own music metadata) concept'**
String get spotube_description;
/// No description provided for @version.
@ -1139,12 +1127,6 @@ abstract class AppLocalizations {
/// **'License'**
String get license;
/// No description provided for @add_spotify_credentials.
///
/// In en, this message translates to:
/// **'Add your spotify credentials to get started'**
String get add_spotify_credentials;
/// No description provided for @credentials_will_not_be_shared_disclaimer.
///
/// In en, this message translates to:
@ -1163,12 +1145,6 @@ abstract class AppLocalizations {
/// **'Follow along the Step by Step guide'**
String get follow_step_by_step_guide;
/// No description provided for @spotify_cookie.
///
/// In en, this message translates to:
/// **'Spotify {name} Cookie'**
String spotify_cookie(Object name);
/// No description provided for @cookie_name_cookie.
///
/// In en, this message translates to:
@ -1223,60 +1199,6 @@ abstract class AppLocalizations {
/// **'First, Go to'**
String get first_go_to;
/// No description provided for @login_if_not_logged_in.
///
/// In en, this message translates to:
/// **'and Login/Signup if you are not logged in'**
String get login_if_not_logged_in;
/// No description provided for @step_2.
///
/// In en, this message translates to:
/// **'Step 2'**
String get step_2;
/// No description provided for @step_2_steps.
///
/// In en, this message translates to:
/// **'1. Once you\'re logged in, press F12 or Mouse Right Click > Inspect to Open the Browser devtools.\n2. Then go the \"Application\" Tab (Chrome, Edge, Brave etc..) or \"Storage\" Tab (Firefox, Palemoon etc..)\n3. Go to the \"Cookies\" section then the \"https://accounts.spotify.com\" subsection'**
String get step_2_steps;
/// No description provided for @step_3.
///
/// In en, this message translates to:
/// **'Step 3'**
String get step_3;
/// No description provided for @step_3_steps.
///
/// In en, this message translates to:
/// **'Copy the value of \"sp_dc\" Cookie'**
String get step_3_steps;
/// No description provided for @success_emoji.
///
/// In en, this message translates to:
/// **'Success🥳'**
String get success_emoji;
/// No description provided for @success_message.
///
/// In en, this message translates to:
/// **'Now you\'ve successfully Logged in with your Spotify account. Good Job, mate!'**
String get success_message;
/// No description provided for @step_4.
///
/// In en, this message translates to:
/// **'Step 4'**
String get step_4;
/// No description provided for @step_4_steps.
///
/// In en, this message translates to:
/// **'Paste the copied \"sp_dc\" value'**
String get step_4_steps;
/// No description provided for @something_went_wrong.
///
/// In en, this message translates to:
@ -2411,11 +2333,11 @@ abstract class AppLocalizations {
/// **'Copied {shareUrl} to clipboard'**
String copied_shareurl_to_clipboard(Object shareUrl);
/// No description provided for @spotify_hipotetical_calculation.
/// No description provided for @hipotetical_calculation.
///
/// In en, this message translates to:
/// **'*This is calculated based on Spotify\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in Spotify.'**
String get spotify_hipotetical_calculation;
/// **'*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.'**
String get hipotetical_calculation;
/// No description provided for @count_mins.
///

View File

@ -379,12 +379,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get account => 'حساب';
@override
String get login_with_spotify => 'تسجيل الدخول بواسطة حساب Spotify';
@override
String get connect_with_spotify => 'توصيل بـSpotify';
@override
String get logout => 'تسجيل الخروج';
@ -537,9 +531,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get license => 'الترخيص';
@override
String get add_spotify_credentials => 'أضف بيانات Spotify الخاصة بك للبدء';
@override
String get credentials_will_not_be_shared_disclaimer => 'لا تقلق، لن يتم جمع أي من بيانات الخاصة بك أو مشاركتها مع أي شخص';
@ -549,11 +540,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'اتبع الدليل خطوة بخطوة';
@override
String spotify_cookie(Object name) {
return 'Spotify $name كوكيز';
}
@override
String cookie_name_cookie(Object name) {
return '$name كوكيز';
@ -583,33 +569,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get first_go_to => 'أولا، اذهب إلى';
@override
String get login_if_not_logged_in => 'وتسجيل الدخول/الاشتراك إذا لم تقم بتسجيل الدخول';
@override
String get step_2 => 'الخطوة 2';
@override
String get step_2_steps => '1. بمجرد تسجيل الدخول، اضغط على F12 أو انقر بزر الماوس الأيمن > فحص لفتح أدوات تطوير المتصفح.\n2. ثم انتقل إلى علامة التبويب \"التطبيقات\" (Chrome وEdge وBrave وما إلى ذلك.) أو علامة التبويب \"التخزين\" (Firefox وPalemoon وما إلى ذلك..)\n3. انتقل إلى قسم \"ملفات تعريف الارتباط\" ثم القسم الفرعي \"https://accounts.spotify.com\"';
@override
String get step_3 => 'الخطوة 3';
@override
String get step_3_steps => 'انسخ قيمة الكوكي \"sp_dc\"';
@override
String get success_emoji => 'نجاح 🥳';
@override
String get success_message => 'لقد قمت الآن بتسجيل الدخول بنجاح باستخدام حساب Spotify الخاص بك. عمل جيد يا صديقي!';
@override
String get step_4 => 'الخطوة 4';
@override
String get step_4_steps => 'الصق قيمة \"sp_dc\" المنسوخة';
@override
String get something_went_wrong => 'هناك خطأ ما';
@ -1212,7 +1171,7 @@ class AppLocalizationsAr extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*هذا محسوب بناءً على الدفع لكل بث من سبوتيفاي\nبقيمة 0.003 إلى 0.005 دولار. هذا حساب افتراضي\nلإعطاء المستخدم فكرة عن المبلغ الذي\nكان سيدفعه للفنانين إذا كانوا قد استمعوا\nإلى أغنيتهم على سبوتيفاي.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get account => 'অ্যাকাউন্ট';
@override
String get login_with_spotify => 'আপনার Spotify account দিয়ে লগইন করুন';
@override
String get connect_with_spotify => 'Spotify লগইন';
@override
String get logout => 'লগআউট করুন';
@ -537,9 +531,6 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get license => 'লাইসেন্স';
@override
String get add_spotify_credentials => 'আপনার Spotify লগইন তথ্য যোগ করুন';
@override
String get credentials_will_not_be_shared_disclaimer => 'চিন্তা করবেন না, আপনার কোনো লগইন তথ্য সংগ্রহ করা হবে না বা কারো সাথে শেয়ার করা হবে না';
@ -549,11 +540,6 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'ধাপে ধাপে নির্দেশিকা অনুসরণ করুন';
@override
String spotify_cookie(Object name) {
return 'Spotify $name কুকি';
}
@override
String cookie_name_cookie(Object name) {
return '$name কুকি';
@ -583,33 +569,6 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get first_go_to => 'প্রথমে যান';
@override
String get login_if_not_logged_in => 'এবং যদি আপনি লগইন/সাইন-আপ না থাকেন তবে লগইন/সাইন-আপ করুন';
@override
String get step_2 => 'ধাপ 2';
@override
String get step_2_steps => '১. একবার আপনি লগ ইন করলে, ব্রাউজার ডেভটুল খুলতে F12 বা মাউসের রাইট ক্লিক > \"Inspect to open Browser DevTools\" টিপুন।\n২. তারপর \"Application\" ট্যাবে যান (Chrome, Edge, Brave etc..) অথবা \"Storage\" Tab (Firefox, Palemoon etc..)\n৩. \"Cookies \" বিভাগে যান তারপর \"https://accounts.spotify.com\" উপবিভাগে যান';
@override
String get step_3 => 'ধাপ 3';
@override
String get step_3_steps => 'কুকি \"sp_dc\" এর মানটি কপি করুন';
@override
String get success_emoji => 'আমরা সফল🥳';
@override
String get success_message => 'এখন আপনি সফলভাবে আপনার Spotify অ্যাকাউন্ট দিয়ে লগ ইন করেছেন। সাধুভাত আপনাকে';
@override
String get step_4 => 'ধাপ 4';
@override
String get step_4_steps => 'কপি করা \"sp_dc\" মানটি পেস্ট করুন';
@override
String get something_went_wrong => 'কিছু ভুল হয়েছে';
@ -1212,7 +1171,7 @@ class AppLocalizationsBn extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*এটি স্পোটিফাইয়ের প্রতি স্ট্রিম\n\$0.003 থেকে \$0.005 পেআউটের ভিত্তিতে গণনা করা হয়েছে। এটি একটি ধারণাগত\nগণনা ব্যবহারকারীদেরকে জানাতে দেয় যে কত টাকা\nতারা শিল্পীদের দিতো যদি তারা স্পোটিফাইতে\nতাদের গান শুনতেন।';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsCa extends AppLocalizations {
@override
String get account => 'Compte';
@override
String get login_with_spotify => 'Iniciar sesión amb el seu compte de Spotify';
@override
String get connect_with_spotify => 'Connectar amb Spotify';
@override
String get logout => 'Tancar sessió';
@ -537,9 +531,6 @@ class AppLocalizationsCa extends AppLocalizations {
@override
String get license => 'Llicència';
@override
String get add_spotify_credentials => 'Afegir les seves credencials de Spotify per començar';
@override
String get credentials_will_not_be_shared_disclaimer => 'No es preocupi, les seves credencials no seran recollides ni compartides amb ningú';
@ -549,11 +540,6 @@ class AppLocalizationsCa extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Segueixi la guia pas a pas';
@override
String spotify_cookie(Object name) {
return 'Cookie de Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Cookie $name';
@ -583,33 +569,6 @@ class AppLocalizationsCa extends AppLocalizations {
@override
String get first_go_to => 'Primer, vagi a';
@override
String get login_if_not_logged_in => 'i iniciï sessió/registri el seu compte si no ho ha fet encara';
@override
String get step_2 => 'Pas 2';
@override
String get step_2_steps => '1. Una vegada que hagi iniciat sessió, premi F12 o faci clic dret amb el ratolí > Inspeccionar per obrir les eines de desenvolulpador del navegador.\n2. Després vagi a la pestanya \"Application\" (Chrome, Edge, Brave, etc.) o \"Storage\" (Firefox, Palemoon, etc.)\n3. Vagi a la secció \"Cookies\" i després a la subsecció \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Pas 3';
@override
String get step_3_steps => 'Copia el valor de la cookie \"sp_dc\"';
@override
String get success_emoji => 'Èxit! 🥳';
@override
String get success_message => 'Ara has iniciat sessió amb èxit al teu compte de Spotify. Bona feina!';
@override
String get step_4 => 'Pas 4';
@override
String get step_4_steps => 'Pega el valor copiado de \"sp_dc\"';
@override
String get something_went_wrong => 'Quelcom ha sortit malament';
@ -1212,7 +1171,7 @@ class AppLocalizationsCa extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Això es calcula basant-se en els\npagaments per reproducció de Spotify de \$0.003 a \$0.005.\nAquest és un càlcul hipotètic per\ndonar als usuaris una idea de quant\nhaurien pagat als artistes si haguessin escoltat\nla seva cançó a Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsCs extends AppLocalizations {
@override
String get account => 'Účet';
@override
String get login_with_spotify => 'Přihlásit se pomocí Spotify účtu';
@override
String get connect_with_spotify => 'Připojit k Spotify';
@override
String get logout => 'Odhlásit se';
@ -537,9 +531,6 @@ class AppLocalizationsCs extends AppLocalizations {
@override
String get license => 'Licence';
@override
String get add_spotify_credentials => 'Přidejte své přihlašovací údaje Spotify a začněte';
@override
String get credentials_will_not_be_shared_disclaimer => 'Nebojte, žádné z vašich údajů nebudou shromažďovány ani s nikým sdíleny';
@ -549,11 +540,6 @@ class AppLocalizationsCs extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Postupujte podle návodu';
@override
String spotify_cookie(Object name) {
return 'Cookie Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Cookie $name';
@ -583,33 +569,6 @@ class AppLocalizationsCs extends AppLocalizations {
@override
String get first_go_to => 'Nejprve jděte na';
@override
String get login_if_not_logged_in => 'a přihlašte se nebo se zaregistrujte, pokud nejste přihlášeni';
@override
String get step_2 => 'Krok 2';
@override
String get step_2_steps => '1. Jakmile jste přihlášeni, stiskněte F12 nebo pravé tlačítko myši > Prozkoumat, abyste otevřeli nástroje pro vývojáře prohlížeče.\n2. Poté přejděte na kartu \"Aplikace\" (Chrome, Edge, Brave atd.) nebo kartu \"Úložiště\" (Firefox, Palemoon atd.)\n3. Přejděte do sekce \"Cookies\" a pak do podsekce \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Krok 3';
@override
String get step_3_steps => 'Zkopírujte hodnotu cookie \"sp_dc\"';
@override
String get success_emoji => 'Úspěch🥳';
@override
String get success_message => 'Nyní jste úspěšně přihlášeni pomocí svého Spotify účtu. Dobrá práce, kamaráde!';
@override
String get step_4 => 'Krok 4';
@override
String get step_4_steps => 'Vložte zkopírovanou hodnotu \"sp_dc\"';
@override
String get something_went_wrong => 'Něco se pokazilo';
@ -1212,7 +1171,7 @@ class AppLocalizationsCs extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Toto je vypočítáno na základě výplaty\nza stream Spotify od \$0.003 do \$0.005.\nToto je hypotetický výpočet,\nabyste měli představu o tom, kolik\nbyste zaplatili umělcům,\npokud byste poslouchali jejich píseň na Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get account => 'Konto';
@override
String get login_with_spotify => 'Mit deinem Spotify-Konto anmelden';
@override
String get connect_with_spotify => 'Mit Spotify verbinden';
@override
String get logout => 'Abmelden';
@ -537,9 +531,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get license => 'Lizenz';
@override
String get add_spotify_credentials => 'Fügen Sie Ihre Spotify-Anmeldeinformationen hinzu, um zu starten';
@override
String get credentials_will_not_be_shared_disclaimer => 'Keine Sorge, Ihre Anmeldeinformationen werden nicht erfasst oder mit anderen geteilt';
@ -549,11 +540,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Befolgen Sie die schrittweise Anleitung';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookie';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookie';
@ -583,33 +569,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get first_go_to => 'Gehe zuerst zu';
@override
String get login_if_not_logged_in => 'und melde dich an/registriere dich, falls du nicht angemeldet bist';
@override
String get step_2 => 'Schritt 2';
@override
String get step_2_steps => '1. Wenn du angemeldet bist, drücke F12 oder klicke mit der rechten Maustaste > Inspektion, um die Browser-Entwicklertools zu öffnen.\n2. Gehe dann zum \"Anwendungs\"-Tab (Chrome, Edge, Brave usw.) oder zum \"Storage\"-Tab (Firefox, Palemoon usw.)\n3. Gehe zum Abschnitt \"Cookies\" und dann zum Unterabschnitt \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Schritt 3';
@override
String get step_3_steps => 'Kopiere den Wert des Cookies \"sp_dc\"';
@override
String get success_emoji => 'Erfolg🥳';
@override
String get success_message => 'Jetzt bist du erfolgreich mit deinem Spotify-Konto angemeldet. Gut gemacht, Kumpel!';
@override
String get step_4 => 'Schritt 4';
@override
String get step_4_steps => 'Füge den kopierten Wert von \"sp_dc\" ein';
@override
String get something_went_wrong => 'Etwas ist schiefgelaufen';
@ -1212,7 +1171,7 @@ class AppLocalizationsDe extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Dies ist basierend auf Spotifys\npro Stream Auszahlung von \$0,003 bis \$0,005\nberechnet. Dies ist eine hypothetische Berechnung,\num dem Benutzer Einblick zu geben,\nwieviel sie den Künstlern gezahlt hätten,\nwenn sie ihren Song auf Spotify gehört hätten.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get account => 'Account';
@override
String get login_with_spotify => 'Login with your Spotify account';
@override
String get connect_with_spotify => 'Connect with Spotify';
@override
String get logout => 'Logout';
@ -506,7 +500,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get please_sponsor => 'Please Sponsor/Donate';
@override
String get spotube_description => 'Spotube, a lightweight, cross-platform, free-for-all spotify client';
String get spotube_description => 'Open source extensible music streaming platform and app, based on BYOMM (Bring your own music metadata) concept';
@override
String get version => 'Version';
@ -537,9 +531,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get license => 'License';
@override
String get add_spotify_credentials => 'Add your spotify credentials to get started';
@override
String get credentials_will_not_be_shared_disclaimer => 'Don\'t worry, any of your credentials won\'t be collected or shared with anyone';
@ -549,11 +540,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Follow along the Step by Step guide';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookie';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookie';
@ -583,33 +569,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get first_go_to => 'First, Go to';
@override
String get login_if_not_logged_in => 'and Login/Signup if you are not logged in';
@override
String get step_2 => 'Step 2';
@override
String get step_2_steps => '1. Once you\'re logged in, press F12 or Mouse Right Click > Inspect to Open the Browser devtools.\n2. Then go the \"Application\" Tab (Chrome, Edge, Brave etc..) or \"Storage\" Tab (Firefox, Palemoon etc..)\n3. Go to the \"Cookies\" section then the \"https://accounts.spotify.com\" subsection';
@override
String get step_3 => 'Step 3';
@override
String get step_3_steps => 'Copy the value of \"sp_dc\" Cookie';
@override
String get success_emoji => 'Success🥳';
@override
String get success_message => 'Now you\'ve successfully Logged in with your Spotify account. Good Job, mate!';
@override
String get step_4 => 'Step 4';
@override
String get step_4_steps => 'Paste the copied \"sp_dc\" value';
@override
String get something_went_wrong => 'Something went wrong';
@ -1212,7 +1171,7 @@ class AppLocalizationsEn extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*This is calculated based on Spotify\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get account => 'Cuenta';
@override
String get login_with_spotify => 'Iniciar sesión con tu cuenta de Spotify';
@override
String get connect_with_spotify => 'Conectar con Spotify';
@override
String get logout => 'Cerrar sesión';
@ -537,9 +531,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get license => 'Licencia';
@override
String get add_spotify_credentials => 'Agrega tus credenciales de Spotify para comenzar';
@override
String get credentials_will_not_be_shared_disclaimer => 'No te preocupes, tus credenciales no serán recopiladas ni compartidas con nadie';
@ -549,11 +540,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Sigue la guía paso a paso';
@override
String spotify_cookie(Object name) {
return 'Cookie de Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Cookie $name';
@ -583,33 +569,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get first_go_to => 'Primero, ve a';
@override
String get login_if_not_logged_in => 'e inicia sesión/registra tu cuenta si no lo has hecho aún';
@override
String get step_2 => 'Paso 2';
@override
String get step_2_steps => '1. Una vez que hayas iniciado sesión, presiona F12 o haz clic derecho con el ratón > Inspeccionar para abrir las herramientas de desarrollo del navegador.\n2. Luego ve a la pestaña \"Application\" (Chrome, Edge, Brave, etc.) o \"Storage\" (Firefox, Palemoon, etc.)\n3. Ve a la sección \"Cookies\" y luego la subsección \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Paso 3';
@override
String get step_3_steps => 'Copia el valor de la cookie \"sp_dc\"';
@override
String get success_emoji => '¡Éxito! 🥳';
@override
String get success_message => 'Ahora has iniciado sesión con éxito en tu cuenta de Spotify. ¡Buen trabajo!';
@override
String get step_4 => 'Paso 4';
@override
String get step_4_steps => 'Pega el valor copiado de \"sp_dc\"';
@override
String get something_went_wrong => 'Algo salió mal';
@ -1212,7 +1171,7 @@ class AppLocalizationsEs extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Esto se calcula en base al\npago por stream de Spotify de \$0.003 a \$0.005.\nEs un cálculo hipotético para dar\nuna idea de cuánto habría\npagado a los artistas si hubieras escuchado\nsu canción en Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsEu extends AppLocalizations {
@override
String get account => 'Kontua';
@override
String get login_with_spotify => 'Hasi saioa zure Spotify kontuarekin';
@override
String get connect_with_spotify => 'Spotify-rekin konektatu';
@override
String get logout => 'Itxi saioa';
@ -537,9 +531,6 @@ class AppLocalizationsEu extends AppLocalizations {
@override
String get license => 'Lizentzia';
@override
String get add_spotify_credentials => 'Gehitu zure Spotify kredentzialak hasi ahal izateko';
@override
String get credentials_will_not_be_shared_disclaimer => 'Ez arduratu, zure kredentzialak ez ditugu bilduko edo inorekin elkarbanatuko';
@ -549,11 +540,6 @@ class AppLocalizationsEu extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Jarraitu pausoz-pausoko gida';
@override
String spotify_cookie(Object name) {
return 'Spotify-ren $name cookiea';
}
@override
String cookie_name_cookie(Object name) {
return '$name cookiea';
@ -583,33 +569,6 @@ class AppLocalizationsEu extends AppLocalizations {
@override
String get first_go_to => 'Hasteko, joan hona';
@override
String get login_if_not_logged_in => 'eta hasi saioa/sortu kontua lehendik ez baduzu eginda';
@override
String get step_2 => '2. pausua';
@override
String get step_2_steps => '1. Saioa hasita duzularik, sakatu F12 edo saguaren eskuineko botoia klikatu > Ikuskatu nabigatzaileko garapen tresnak irekitzeko.\n2. Joan \"Aplikazio\" (Chrome, Edge, Brave, etab.) edo \"Biltegiratzea\" (Firefox, Palemoon, etab.)\n3. Joan \"Cookieak\" atalera eta gero \"https://accounts.spotify.com\" azpiatalera';
@override
String get step_3 => '3. pausua';
@override
String get step_3_steps => 'Kopiatu \"sp_dc\" cookiearen balioa';
@override
String get success_emoji => 'Eginda! 🥳';
@override
String get success_message => 'Ongi hasi duzu zure Spotify kontua. Lan bikaina, lagun!';
@override
String get step_4 => '4. pausua';
@override
String get step_4_steps => 'Itsatsi \"sp_dc\"-tik kopiatutako balioa';
@override
String get something_went_wrong => 'Zerbaitek huts egin du';
@ -1212,7 +1171,7 @@ class AppLocalizationsEu extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Sportify-k stream bakoitzeko duen \$0.003 eta \$0.005\nordainsarian oinarritua da. Kalkulu hipotetiko bat,\nkanta hauek Spotify-n entzun bazenitu,\nberaiek artistari zenbat ordaiduko lioketen jakin dezazun.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsFa extends AppLocalizations {
@override
String get account => 'حساب کاربری';
@override
String get login_with_spotify => 'با حساب اسپوتیفای خود وارد شوید';
@override
String get connect_with_spotify => 'متصل شدن به اسپوتیفای';
@override
String get logout => 'خارج شدن';
@ -537,9 +531,6 @@ class AppLocalizationsFa extends AppLocalizations {
@override
String get license => 'مجوز';
@override
String get add_spotify_credentials => 'برای شروع اعتبار اسپوتیفای خود را اضافه کنید';
@override
String get credentials_will_not_be_shared_disclaimer => 'نگران نباشید هیچ کدوما از اعتبارات شما جمع اوری نمیشود یا با کسی اشتراک گزاشته نمیشود';
@ -549,11 +540,6 @@ class AppLocalizationsFa extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'راهنما را گام به گام دنبال کنید';
@override
String spotify_cookie(Object name) {
return 'Spotify $name کوکی';
}
@override
String cookie_name_cookie(Object name) {
return '$name کوکی';
@ -583,33 +569,6 @@ class AppLocalizationsFa extends AppLocalizations {
@override
String get first_go_to => 'اول برو داخل ';
@override
String get login_if_not_logged_in => 'و اگر وارد نشده اید، وارد/ثبت نام کنید';
@override
String get step_2 => 'گام 2';
@override
String get step_2_steps => '1. پس از ورود به سیستم، F12 یا کلیک راست ماوس > Inspect را فشار دهید تا ابزارهای توسعه مرورگر باز شود..\n2. سپس به تب \"Application\" (Chrome, Edge, Brave etc..) یا \"Storage\" Tab (Firefox, Palemoon etc..)\n3. به قسمت \"Cookies\" و به پخش \"https://accounts.spotify.com\" بروید';
@override
String get step_3 => 'گام 3';
@override
String get step_3_steps => 'مقدار کوکی \"sp_dc\" را کپی کنید';
@override
String get success_emoji => 'موفقیت🥳';
@override
String get success_message => 'اکنون با موفقیت با حساب اسپوتیفای خود وارد شده اید';
@override
String get step_4 => 'مرحله 4';
@override
String get step_4_steps => 'مقدار کپی شده \"sp_dc\" را الصاق کنید';
@override
String get something_went_wrong => 'اشتباهی رخ داده';
@ -1212,7 +1171,7 @@ class AppLocalizationsFa extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*این بر اساس پرداخت هر پخش اسپاتیفای\nبه مبلغ 0.003 تا 0.005 دلار محاسبه شده است.\nاین یک محاسبه فرضی است که به کاربران نشان دهد چقدر ممکن است\nبه هنرمندان پرداخت می‌کردند اگر ترانه آنها را در اسپاتیفای گوش می‌دادند.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsFi extends AppLocalizations {
@override
String get account => 'Käyttäjä';
@override
String get login_with_spotify => 'Kirjaudu Spotify-käyttäjällä';
@override
String get connect_with_spotify => 'Yhdistä Spotify:lla';
@override
String get logout => 'Kirjaudu ulos';
@ -537,9 +531,6 @@ class AppLocalizationsFi extends AppLocalizations {
@override
String get license => 'Lisenssi';
@override
String get add_spotify_credentials => 'Lisää Spotify-tunnuksesi aloittaaksesi';
@override
String get credentials_will_not_be_shared_disclaimer => 'Älä huoli, tunnuksiasi ei talleteta tai jaeta kenenkään kanssa';
@ -549,11 +540,6 @@ class AppLocalizationsFi extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Seuraa askel askeleelta opasta';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Keksi';
}
@override
String cookie_name_cookie(Object name) {
return '$name Keksi';
@ -583,33 +569,6 @@ class AppLocalizationsFi extends AppLocalizations {
@override
String get first_go_to => 'Ensiksi, mene';
@override
String get login_if_not_logged_in => 'ja Kirjaudu/Tee tili jos et ole kirjautunut sisään';
@override
String get step_2 => 'Vaihe 2';
@override
String get step_2_steps => '1. Kun olet kirjautunut, paina F12 tai oikeaa hiiren näppäintä > Tarkista ja avaa selaimen kehittäjä työkalut.\n2. Mene sitten \"Application\"-välilehteen (Chrome, Edge, Brave jne..) tai \"Storage\"-välilehteen (Firefox, Palemoon jne..)\n3. Mene \"Cookies\"-osastoon, sitten \"https://accounts.spotify.com\" alakohtaan.';
@override
String get step_3 => 'Vaihe 3';
@override
String get step_3_steps => 'Kopioi Keksin \"sp_dc\" arvo';
@override
String get success_emoji => 'Onnistuit🥳';
@override
String get success_message => 'Olet nyt kirjautunut sisään Spotify-käyttäjällesi. Hyvää työtä toveri!';
@override
String get step_4 => 'Vaihe 4';
@override
String get step_4_steps => 'Liitä kopioitu \"sp_dc\" arvo';
@override
String get something_went_wrong => 'Jotain meni pieleen';
@ -1212,7 +1171,7 @@ class AppLocalizationsFi extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Tämä on laskettu Spotifyn suoratoiston\nmaksun perusteella, joka on 0,0030,005 dollaria.\nTämä on hypoteettinen laskelma, joka antaa käyttäjälle käsityksen\nsiitä, kuinka paljon he olisivat maksaneet artisteille,\njollei heidän kappaleensa olisi kuunneltu Spotifyssa.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get account => 'Compte';
@override
String get login_with_spotify => 'Se connecter avec votre compte Spotify';
@override
String get connect_with_spotify => 'Se connecter avec Spotify';
@override
String get logout => 'Se déconnecter';
@ -537,9 +531,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get license => 'Licence';
@override
String get add_spotify_credentials => 'Ajoutez vos identifiants Spotify pour commencer';
@override
String get credentials_will_not_be_shared_disclaimer => 'Ne vous inquiétez pas, vos identifiants ne seront ni collectés ni partagés avec qui que ce soit';
@ -549,11 +540,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Suivez le guide étape par étape';
@override
String spotify_cookie(Object name) {
return 'Cookie Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Cookie $name';
@ -583,33 +569,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get first_go_to => 'Tout d\'abord, allez sur';
@override
String get login_if_not_logged_in => 'et connectez-vous/inscrivez-vous si vous n\'êtes pas connecté';
@override
String get step_2 => 'Étape 2';
@override
String get step_2_steps => '1. Une fois connecté, appuyez sur F12 ou clic droit de la souris > Inspecter pour ouvrir les outils de développement du navigateur.\n2. Ensuite, allez dans l\'onglet \"Application\" (Chrome, Edge, Brave, etc.) ou l\'onglet \"Stockage\" (Firefox, Palemoon, etc.)\n3. Allez dans la section \"Cookies\", puis dans la sous-section \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Étape 3';
@override
String get step_3_steps => 'Copiez la valeur du cookie \"sp_dc\"';
@override
String get success_emoji => 'Succès🥳';
@override
String get success_message => 'Vous êtes maintenant connecté avec succès à votre compte Spotify. Bon travail, mon ami!';
@override
String get step_4 => 'Étape 4';
@override
String get step_4_steps => 'Collez la valeur copiée de \"sp_dc\"';
@override
String get something_went_wrong => 'Quelque chose s\'est mal passé';
@ -1212,7 +1171,7 @@ class AppLocalizationsFr extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Cela est calculé en fonction du\npaiement par stream de Spotify de 0,003 \$ à 0,005 \$.\nIl s\'agit d\'un calcul hypothétique pour donner\nune idée de combien vous auriez\npayé aux artistes si vous aviez\nécouté leur chanson sur Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get account => 'खाता';
@override
String get login_with_spotify => 'अपने Spotify खाते से लॉग इन करें';
@override
String get connect_with_spotify => 'Spotify से कनेक्ट करें';
@override
String get logout => 'लॉगआउट';
@ -537,9 +531,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get license => 'लाइसेंस';
@override
String get add_spotify_credentials => 'शुरू होने के लिए अपने स्पॉटिफाई क्रेडेंशियल जोड़ें';
@override
String get credentials_will_not_be_shared_disclaimer => 'चिंता न करें, आपके क्रेडेंशियल किसी भी तरह से नहीं एकत्रित या साझा किए जाएंगे';
@ -549,11 +540,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'कदम से कदम गाइड के साथ चलें';
@override
String spotify_cookie(Object name) {
return 'स्पॉटिफाई $name कुकी';
}
@override
String cookie_name_cookie(Object name) {
return '$name कुकी';
@ -583,33 +569,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get first_go_to => 'पहले, जाएं';
@override
String get login_if_not_logged_in => 'और यदि आप लॉगिन नहीं हैं तो लॉगिन / साइनअप करें';
@override
String get step_2 => '2 चरण';
@override
String get step_2_steps => '1. जब आप लॉगिन हो जाएँ, तो F12 दबाएं या माउस राइट क्लिक> निरीक्षण करें ताकि ब्राउज़र डेवटूल्स खुलें।\n2. फिर ब्राउज़र के \"एप्लिकेशन\" टैब (Chrome, Edge, Brave आदि) या \"स्टोरेज\" टैब (Firefox, Palemoon आदि) में जाएं\n3. \"कुकीज़\" अनुभाग में जाएं फिर \"https: //accounts.spotify.com\" उप-अनुभाग में जाएं';
@override
String get step_3 => 'स्टेप 3';
@override
String get step_3_steps => '\"sp_dc\" कुकी का मूल्य कॉपी करें';
@override
String get success_emoji => 'सफलता🥳';
@override
String get success_message => 'अब आप अपने स्पॉटिफाई अकाउंट से सफलतापूर्वक लॉगइन हो गए हैं। अच्छा काम किया!';
@override
String get step_4 => 'स्टेप 4';
@override
String get step_4_steps => 'कॉपी किए गए \"sp_dc\" मूल्य को पेस्ट करें';
@override
String get something_went_wrong => 'कुछ गलत हो गया';
@ -1212,7 +1171,7 @@ class AppLocalizationsHi extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*यो Spotify को प्रति स्ट्रीम भुगतानको आधारमा\n\$0.003 देखि \$0.005 को बीचमा गणना गरिएको हो। यो एक काल्पनिक\nगणना हो जसले प्रयोगकर्तालाई देखाउँछ कि उनीहरूले कति\nअर्टिस्टहरूलाई तिनीहरूका गीतहरू Spotify मा सुनेमा\nभुक्तान गर्नुपर्ने थियो।';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get account => 'Akun';
@override
String get login_with_spotify => 'Masuk dengan Spotify';
@override
String get connect_with_spotify => 'Hubungkan dengan Spotify';
@override
String get logout => 'Keluar';
@ -537,9 +531,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get license => 'Lisensi';
@override
String get add_spotify_credentials => 'Tambahkan kredensial Spotify Anda untuk memulai';
@override
String get credentials_will_not_be_shared_disclaimer => 'Jangan khawatir, kredensial Anda tidak akan dikumpulkan atau dibagikan kepada siapa pun';
@ -549,11 +540,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Ikuti panduan Langkah demi Langkah';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookie';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookie';
@ -583,33 +569,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get first_go_to => 'Pertama, Pergi ke';
@override
String get login_if_not_logged_in => 'dan Masuk/Daftar jika Anda belum masuk';
@override
String get step_2 => 'Langkah 2';
@override
String get step_2_steps => '1. Setelah Anda masuk, tekan F12 atau Klik Kanan Mouse > Buka Browser Devtools.\n2. Lalu buka Tab \"Aplikasi\" (Chrome, Edge, Brave, dll.) atau Tab \"Penyimpanan\" (Firefox, Palemoon, dll.)\n3. Buka bagian \"Cookie\" lalu subbagian \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Langkah 3';
@override
String get step_3_steps => 'Salin nilai Cookie \"sp_dc\" ';
@override
String get success_emoji => 'Berhasil🥳';
@override
String get success_message => 'Sekarang Anda telah berhasil Masuk dengan akun Spotify Anda. Kerja bagus, sobat!';
@override
String get step_4 => 'Langkah 4';
@override
String get step_4_steps => 'Tempel nilai \"sp_dc\" yang disalin';
@override
String get something_went_wrong => 'Terjadi kesalahan';
@ -1212,7 +1171,7 @@ class AppLocalizationsId extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Ini dihitung berdasarkan pembayaran\nper stream Spotify dari \$0,003 hingga \$0,005.\nIni adalah perhitungan hipotetis untuk memberi\npengguna gambaran tentang berapa banyak\nmereka akan membayar kepada artis jika\nmereka mendengarkan lagu mereka di Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get account => 'Account';
@override
String get login_with_spotify => 'Login con il tuo account Spotify';
@override
String get connect_with_spotify => 'Connetti con Spotify';
@override
String get logout => 'Esci';
@ -537,9 +531,6 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get license => 'Licenza';
@override
String get add_spotify_credentials => 'Aggiungi le tue credenziali spotify per iniziare';
@override
String get credentials_will_not_be_shared_disclaimer => 'Non ti preoccupare, le tue credenziali non saranno inviate o condivise con nessuno';
@ -549,11 +540,6 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Segui la guida passo-passo';
@override
String spotify_cookie(Object name) {
return 'Cookie Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Cookie $name';
@ -583,33 +569,6 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get first_go_to => 'Prim, vai a';
@override
String get login_if_not_logged_in => 'ed effettua il login o iscrizione se non sei già acceduto';
@override
String get step_2 => 'Passo 2';
@override
String get step_2_steps => '1. Quando sei acceduto premi F12 o premi il tasto destro del Mouse > Ispeziona per aprire gli strumenti di sviluppo del browser.\n2. Vai quindi nel tab \"Applicazione\" (Chrome, Edge, Brave etc..) o tab \"Archiviazione\" (Firefox, Palemoon etc..)\n3. Vai nella sezione \"Cookies\" quindi nella sezione \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Passo 3';
@override
String get step_3_steps => 'Copia il valore del cookie \"sp_dc\"';
@override
String get success_emoji => 'Successo🥳';
@override
String get success_message => 'Ora hai correttamente effettuato il login al tuo account Spotify. Bel lavoro, amico!';
@override
String get step_4 => 'Passo 4';
@override
String get step_4_steps => 'Incolla il valore copiato di \"sp_dc\"';
@override
String get something_went_wrong => 'Qualcosa è andato storto';
@ -1212,7 +1171,7 @@ class AppLocalizationsIt extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Questo è calcolato in base al pagamento per streaming di Spotify\nche va da \$0.003 a \$0.005. Questo è un calcolo ipotetico\nper dare all\'utente un\'idea di quanto avrebbe pagato agli artisti se avesse ascoltato\ne loro canzoni su Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get account => 'アカウント';
@override
String get login_with_spotify => 'Spotify アカウントでログイン';
@override
String get connect_with_spotify => 'Spotify に接続';
@override
String get logout => 'ログアウト';
@ -537,9 +531,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get license => 'ライセンス';
@override
String get add_spotify_credentials => 'Spotify のログイン情報を追加してはじめましょう';
@override
String get credentials_will_not_be_shared_disclaimer => '心配ありません。個人情報を収集したり、共有されることはありません';
@ -549,11 +540,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'やり方の説明を見る';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookies';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookies';
@ -583,33 +569,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get first_go_to => '最初にここを開き';
@override
String get login_if_not_logged_in => '、ログインしてないならログインまたは登録します';
@override
String get step_2 => 'ステップ 2';
@override
String get step_2_steps => '1. ログインしたら、F12を押すか、マウス右クリック 調査(検証)でブラウザの開発者ツール (devtools) を開きます。\n2. アプリケーション (Application) タブ (Chrome, Edge, Brave など) またはストレージタブ (Firefox, Palemoon など)\n3. Cookies 欄を選択し、https://accounts.spotify.com の枝を選びます';
@override
String get step_3 => 'ステップ 3';
@override
String get step_3_steps => '\"sp_dc\" Cookieの値をコピー';
@override
String get success_emoji => '成功🥳';
@override
String get success_message => 'アカウントへのログインに成功しました。よくできました!';
@override
String get step_4 => 'ステップ 4';
@override
String get step_4_steps => 'コピーした\"sp_dc\"の値を貼り付け';
@override
String get something_went_wrong => '何か誤りがあります';
@ -1212,7 +1171,7 @@ class AppLocalizationsJa extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*これは、Spotifyのストリームごとの支払い\n\$0.003 から \$0.005 の範囲で計算されています。これは仮想的な\n計算で、Spotify で曲を聴いた場合に、アーティストに\nどれくらい支払ったかをユーザーに示すためのものです。';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsKa extends AppLocalizations {
@override
String get account => 'ანგარიში';
@override
String get login_with_spotify => 'შედით თქვენი Spotify ანგარიშით';
@override
String get connect_with_spotify => 'დაუკავშირდით Spotify-ს';
@override
String get logout => 'გასვლა';
@ -537,9 +531,6 @@ class AppLocalizationsKa extends AppLocalizations {
@override
String get license => 'ლიცენზია';
@override
String get add_spotify_credentials => 'დასაწყებად დაამატეთ თქვენი Spotify მონაცემები';
@override
String get credentials_will_not_be_shared_disclaimer => 'არ ინერვიულოთ, თქვენი მონაცემები არ იქნება შეგროვებული ან გაზიარებული ვინმესთან';
@ -549,11 +540,6 @@ class AppLocalizationsKa extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'მიჰყევით ნაბიჯ-ნაბიჯ სახელმძღვანელოს';
@override
String spotify_cookie(Object name) {
return 'Spotify $name ქუქი';
}
@override
String cookie_name_cookie(Object name) {
return '$name ქუქი';
@ -583,33 +569,6 @@ class AppLocalizationsKa extends AppLocalizations {
@override
String get first_go_to => 'პირველი, გადადით';
@override
String get login_if_not_logged_in => 'და შესვლა/რეგისტრაცია, თუ არ ხართ შესული';
@override
String get step_2 => 'ნაბიჯი 2';
@override
String get step_2_steps => '1. როცა შეხვალთ, დააჭირეთ F12-ს ან მაუსის მარჯვენა ღილაკს > Inspect to Open the Browser devtools.\n2. შემდეგ გახსენით \"Application\" განყოფილება (Chrome, Edge, Brave etc..) ან \"Storage\" განყოფილება (Firefox, Palemoon etc..)\n3. შედით \"Cookies\" სექციაში და შემდეგ \"https://accounts.spotify.com\" სუბსექციაში';
@override
String get step_3 => 'ნაბიჯი 3';
@override
String get step_3_steps => 'დააკოპირეთ \"sp_dc\" ქუქი-ფაილის მნიშვნელობა';
@override
String get success_emoji => 'წარმატება🥳';
@override
String get success_message => 'თქვენ წარმატებით შეხვედით თქვენი Spotify ანგარიშით.';
@override
String get step_4 => 'ნაბიჯი 4';
@override
String get step_4_steps => 'ჩასვით კოპირებული \"sp_dc\" მნიშვნელობა';
@override
String get something_went_wrong => 'Რაღაც არასწორად წავიდა';
@ -1212,7 +1171,7 @@ class AppLocalizationsKa extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*ეს გამოითვლება Spotify-ის თითოეულ სტრიმზე\nგადახდის შესაბამისად, რომელიც \$0.003 დან \$0.005-მდეა. ეს არის ჰიპოთეტური\nგამოთვლა, რომელიც აჩვენებს მომხმარებელს რამდენი გადაიხდიდა\nარტისტებს, თუკი ისინი უსმენდნენ მათ სიმღერებს Spotify-ზე.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get account => '계정';
@override
String get login_with_spotify => 'Spotify 계정으로 로그인';
@override
String get connect_with_spotify => 'Spotify에 연결';
@override
String get logout => '로그아웃';
@ -537,9 +531,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get license => '라이선스';
@override
String get add_spotify_credentials => '먼저 Spotify의 로그인정보를 추가하기';
@override
String get credentials_will_not_be_shared_disclaimer => '걱정마세요. 개인정보를 수집하거나 공유하지 않습니다.';
@ -549,11 +540,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get follow_step_by_step_guide => '사용법 확인하기';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookies';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookies';
@ -583,33 +569,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get first_go_to => '가장 먼저 먼저 들어갈 곳은 ';
@override
String get login_if_not_logged_in => '그리고 로그인을 하지 않았다면 로그인해주세요';
@override
String get step_2 => '2단계';
@override
String get step_2_steps => '1. 로그인에 성공하면、F12나 마우스 우클릭 검사(Inspect)을 눌러 브라우저의 개발자 도구(devtools)를 열어주세요.\n2. 애플리케이션 (Application) 탭 (Chrome, Edge, Brave 등) 또는 스토리지 탭 (Firefox, Palemoon 등)을 열어주세요.\n3. 쿠키 (Cookies) 섹션으로 들어가서, https://accounts.spotify.com 서브섹션으로 들어가주세요.';
@override
String get step_3 => '3단계';
@override
String get step_3_steps => '\"sp_dc\" 쿠키의 값을 복사';
@override
String get success_emoji => '성공🥳';
@override
String get success_message => '성공적으로 스포티파이 게정으로 로그인했습니다. 잘했어요!';
@override
String get step_4 => '4단계';
@override
String get step_4_steps => '복사한 \"sp_dc\"값을 붙여넣기';
@override
String get something_went_wrong => '알 수 없는 이유로 동작에 실패했습니다.';
@ -1212,7 +1171,7 @@ class AppLocalizationsKo extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Spotify의 스트림당 지불금 \$0.003에서 \$0.005까지의\n기준으로 계산되었습니다. 이는 사용자가 Spotify에서\n곡을 들을 때 아티스트에게 얼마를 지불했을지를\n알려주기 위한 가상의 계산입니다.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsNe extends AppLocalizations {
@override
String get account => 'खाता';
@override
String get login_with_spotify => 'तपाईंको Spotify खातासँग लगइन गर्नुहोस्';
@override
String get connect_with_spotify => 'Spotify सँग जडान गर्नुहोस्';
@override
String get logout => 'बाहिर निस्कनुहोस्';
@ -537,9 +531,6 @@ class AppLocalizationsNe extends AppLocalizations {
@override
String get license => 'लाइसेन्स';
@override
String get add_spotify_credentials => 'सुरु हुनका लागि तपाईंको स्पटिफाई क्रेडेन्शियल थप्नुहोस्';
@override
String get credentials_will_not_be_shared_disclaimer => 'चिन्ता नगर्नुहोस्, तपाईंको कुनै पनि क्रेडेन्शियलहरूले कसैले संग्रह वा साझा गर्नेछैन';
@ -549,11 +540,6 @@ class AppLocalizationsNe extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'चरणबद्ध मार्गदर्शनमा साथी बनाउनुहोस्';
@override
String spotify_cookie(Object name) {
return 'Spotify $name कुकी';
}
@override
String cookie_name_cookie(Object name) {
return '$name कुकी';
@ -583,33 +569,6 @@ class AppLocalizationsNe extends AppLocalizations {
@override
String get first_go_to => 'पहिलो, जानुहोस्';
@override
String get login_if_not_logged_in => 'र लगइन/साइनअप गर्नुहोस् जुन तपाईंले लगइन गरेनन्';
@override
String get step_2 => 'कदम 2';
@override
String get step_2_steps => '1. एकबार तपाईं लगइन गरे पछि, F12 थिच्नुहोस् वा माउस राइट क्लिक गर्नुहोस् > इन्स्पेक्ट गर्नुहोस् भने ब्राउजर डेभटुलहरू खुलाउनका लागि।\n2. तपाईंको \"एप्लिकेसन\" ट्याबमा जानुहोस् (Chrome, Edge, Brave इत्यादि) वा \"स्टोरेज\" ट्याबमा जानुहोस् (Firefox, Palemoon इत्यादि)\n3. तपाईंको इन्सेक्ट गरेको ब्राउजर डेभटुलहरूमा \"कुकीहरू\" खण्डमा जानुहोस् अनि \"https://accounts.spotify.com\" उपकोणमा जानुहोस्';
@override
String get step_3 => 'कदम 3';
@override
String get step_3_steps => '\"sp_dc\"\"sp_key\" (वा sp_gaid) कुकीहरूको मानहरू प्रतिलिपि गर्नुहोस्';
@override
String get success_emoji => 'सफलता 🥳';
@override
String get success_message => 'हाम्रो सानो भाइ, अब तपाईं सफलतापूर्वक आफ्नो Spotify खातामा लगइन गरेका छौं। राम्रो काम गरेको!';
@override
String get step_4 => 'कदम 4';
@override
String get step_4_steps => 'प्रतिलिपि गरेको \"sp_dc\"\"sp_key\" (वा sp_gaid) मानहरूलाई आफ्नो ठाउँमा पेस्ट गर्नुहोस्';
@override
String get something_went_wrong => 'केहि गल्ति भएको छ';
@ -1212,7 +1171,7 @@ class AppLocalizationsNe extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*यो Spotify को प्रति स्ट्रीम भुगतानको आधारमा\n\$0.003 देखि \$0.005 को बीचमा गणना गरिएको हो। यो एक काल्पनिक\nगणना हो जसले प्रयोगकर्तालाई देखाउँछ कि उनीहरूले कति\nअर्टिस्टहरूलाई तिनीहरूका गीतहरू Spotify मा सुनेमा\nभुक्तान गर्नुपर्ने थियो।';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get account => 'Account';
@override
String get login_with_spotify => 'Inloggen met je Spotify-account';
@override
String get connect_with_spotify => 'Verbinden met Spotify';
@override
String get logout => 'Afmelden';
@ -537,9 +531,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get license => 'Licentie';
@override
String get add_spotify_credentials => 'Voeg om te beginnen je spotify-aanmeldgegevens toe';
@override
String get credentials_will_not_be_shared_disclaimer => 'Maak je geen zorgen, je gegevens worden niet verzameld of gedeeld met anderen.';
@ -549,11 +540,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Volg de stapsgewijze handleiding';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookie';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookie';
@ -583,33 +569,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get first_go_to => 'Ga eerst naar';
@override
String get login_if_not_logged_in => 'en Inloggen/Aanmelden als je niet bent ingelogd';
@override
String get step_2 => 'Stap 2';
@override
String get step_2_steps => '1. Zodra je bent aangemeld, druk je op F12 of klik je met de rechtermuisknop > Inspect om de Browser devtools te openen.\n2. Ga vervolgens naar het tabblad \"Toepassing\" (Chrome, Edge, Brave enz..) of naar het tabblad \"Opslag\" (Firefox, Palemoon enz..).\n3. Ga naar de sectie \"Cookies\" en vervolgens naar de subsectie \"https://accounts.spotify.com\".';
@override
String get step_3 => 'Stap 3';
@override
String get step_3_steps => 'De waarde van cookie \"sp_dc\" kopiëren';
@override
String get success_emoji => 'Succes🥳';
@override
String get success_message => 'Je bent nu ingelogd met je Spotify account. Goed gedaan!';
@override
String get step_4 => 'Stap 4';
@override
String get step_4_steps => 'De gekopieerde waarde \"sp_dc\" plakken';
@override
String get something_went_wrong => 'Er ging iets mis';
@ -1212,7 +1171,7 @@ class AppLocalizationsNl extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Dit is berekend op basis van Spotify\'s betaling per stream\nvan \$0.003 tot \$0.005. Dit is een hypothetische\nberekening om de gebruiker inzicht te geven in hoeveel ze\naan de artiesten zouden hebben betaald als ze hun liedjes op Spotify\nzouden luisteren.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get account => 'Konto';
@override
String get login_with_spotify => 'Zaloguj się używając konta Spotify';
@override
String get connect_with_spotify => 'Połącz z Spotify';
@override
String get logout => 'Wyloguj';
@ -537,9 +531,6 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get license => 'Licencja';
@override
String get add_spotify_credentials => 'Dodaj swoje dane logowania Spotify, aby zacząć';
@override
String get credentials_will_not_be_shared_disclaimer => 'Nie martw się, żadne dane logowania nie są zbierane ani udostępniane nikomu';
@ -549,11 +540,6 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Postępuj zgodnie z poradnikiem krok po kroku';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Ciasteczko';
}
@override
String cookie_name_cookie(Object name) {
return '$name Ciasteczko';
@ -583,33 +569,6 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get first_go_to => 'Po pierwsze przejdź do';
@override
String get login_if_not_logged_in => 'i Zaloguj się/Zarejestruj jeśli nie jesteś zalogowany';
@override
String get step_2 => 'Krok 2';
@override
String get step_2_steps => '1. Jeśli jesteś zalogowany, naciśnij klawisz F12 lub Kliknij prawym przyciskiem myszy > Zbadaj, aby odtworzyć narzędzia developerskie.\n2. Następnie przejdź do zakładki \"Application\" (Chrome, Edge, Brave etc..) lub zakładki \"Storage\" (Firefox, Palemoon etc..)\n3. Przejdź do sekcji \"Cookies\" a następnie do pod-sekcji \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Krok 3';
@override
String get step_3_steps => 'Skopiuj wartość ciasteczka \"sp_dc\"';
@override
String get success_emoji => 'Sukces!🥳';
@override
String get success_message => 'Udało ci się zalogować! Dobra robota, stary!';
@override
String get step_4 => 'Krok 4';
@override
String get step_4_steps => 'Wklej skopiowaną wartość \"sp_dc\"';
@override
String get something_went_wrong => 'Coś poszło nie tak 🙁';
@ -1212,7 +1171,7 @@ class AppLocalizationsPl extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Obliczone na podstawie płatności Spotify za strumień\nw zakresie od \$0.003 do \$0.005. Jest to hipotetyczne\nobliczenie mające na celu pokazanie użytkownikowi, ile\nzapłaciliby artystom, gdyby słuchali ich utworów na Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get account => 'Conta';
@override
String get login_with_spotify => 'Fazer login com sua conta do Spotify';
@override
String get connect_with_spotify => 'Conectar ao Spotify';
@override
String get logout => 'Sair';
@ -537,9 +531,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get license => 'Licença';
@override
String get add_spotify_credentials => 'Adicione suas credenciais do Spotify para começar';
@override
String get credentials_will_not_be_shared_disclaimer => 'Não se preocupe, suas credenciais não serão coletadas nem compartilhadas com ninguém';
@ -549,11 +540,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Siga o guia passo a passo';
@override
String spotify_cookie(Object name) {
return 'Cookie do Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Cookie $name';
@ -583,33 +569,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get first_go_to => 'Primeiro, vá para';
@override
String get login_if_not_logged_in => 'e faça login/cadastro se ainda não estiver logado';
@override
String get step_2 => 'Passo 2';
@override
String get step_2_steps => '1. Uma vez logado, pressione F12 ou clique com o botão direito do mouse > Inspecionar para abrir as ferramentas de desenvolvimento do navegador.\n2. Em seguida, vá para a guia \"Aplicativo\" (Chrome, Edge, Brave, etc.) ou \"Armazenamento\" (Firefox, Palemoon, etc.)\n3. Acesse a seção \"Cookies\" e depois a subseção \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Passo 3';
@override
String get step_3_steps => 'Copie o valor do cookie \"sp_dc\"';
@override
String get success_emoji => 'Sucesso🥳';
@override
String get success_message => 'Agora você está logado com sucesso em sua conta do Spotify. Bom trabalho!';
@override
String get step_4 => 'Passo 4';
@override
String get step_4_steps => 'Cole o valor copiado de \"sp_dc\"';
@override
String get something_went_wrong => 'Algo deu errado';
@ -1212,7 +1171,7 @@ class AppLocalizationsPt extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Isso é calculado com base no pagamento por stream do Spotify\nque varia de \$0.003 a \$0.005. Esta é uma cálculo hipotético\npara dar ao usuário uma visão de quanto teriam pago aos artistas\nse eles ouvissem suas músicas no Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get account => 'Аккаунт';
@override
String get login_with_spotify => 'Войдите с помощью своей учетной записи Spotify';
@override
String get connect_with_spotify => 'Подключитесь к Spotify';
@override
String get logout => 'Выйти';
@ -537,9 +531,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get license => 'Лицензия';
@override
String get add_spotify_credentials => 'Добавьте ваши учетные данные Spotify, чтобы начать';
@override
String get credentials_will_not_be_shared_disclaimer => 'Не беспокойся, никакая личная информация не собирается и не передается';
@ -549,11 +540,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Следуйте пошаговому руководству';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookie';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookie';
@ -583,33 +569,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get first_go_to => 'Сначала перейдите в';
@override
String get login_if_not_logged_in => 'и войдите или зарегистрируйтесь, если вы не вошли в систему';
@override
String get step_2 => 'Шаг 2';
@override
String get step_2_steps => '1. После входа в систему нажмите F12 или щелкните правой кнопкой мыши > «Проверить», чтобы открыть инструменты разработчика браузера.\n2. Затем перейдите на вкладку \"Application\" (Chrome, Edge, Brave и т.д..) or \"Storage\" (Firefox, Palemoon и т.д..)\n3. Перейдите в раздел \"Cookies\", а затем в подраздел \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Шаг 3';
@override
String get step_3_steps => 'Скопируйте значение Cookie \"sp_dc\"';
@override
String get success_emoji => 'Успешно🥳';
@override
String get success_message => 'Теперь вы успешно вошли в свою учетную запись Spotify. Отличная работа, приятель!';
@override
String get step_4 => 'Шаг 4';
@override
String get step_4_steps => 'Вставьте скопированное значение \"sp_dc\"';
@override
String get something_went_wrong => 'Что-то пошло не так';
@ -1212,7 +1171,7 @@ class AppLocalizationsRu extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Это рассчитано на основе выплат Spotify за стрим\nот \$0.003 до \$0.005. Это гипотетический расчет,\nчтобы дать пользователю представление о том, сколько бы он\nзаплатил артистам, если бы слушал их песни на Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsTa extends AppLocalizations {
@override
String get account => 'கணக்கு';
@override
String get login_with_spotify => 'உங்கள் Spotify கணக்கில் உள்நுழைக';
@override
String get connect_with_spotify => 'Spotify உடன் இணைக்கவும்';
@override
String get logout => 'வெளியேறு';
@ -537,9 +531,6 @@ class AppLocalizationsTa extends AppLocalizations {
@override
String get license => 'உரிமம்';
@override
String get add_spotify_credentials => 'தொடங்குவதற்கு உங்கள் spotify சான்றுகளைச் சேர்க்கவும்';
@override
String get credentials_will_not_be_shared_disclaimer => 'கவலைப்பட வேண்டாம், உங்கள் சான்றுகள் எதுவும் சேகரிக்கப்படாது அல்லது யாருடனும் பகிரப்படாது';
@ -549,11 +540,6 @@ class AppLocalizationsTa extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'படிப்படியான வழிகாட்டியைப் பின்பற்றவும்';
@override
String spotify_cookie(Object name) {
return 'Spotify $name நட்புநிரல்';
}
@override
String cookie_name_cookie(Object name) {
return '$name நட்புநிரல்';
@ -583,33 +569,6 @@ class AppLocalizationsTa extends AppLocalizations {
@override
String get first_go_to => 'முதலில், செல்லவேண்டியது';
@override
String get login_if_not_logged_in => 'நீங்கள் உள்நுழையவில்லை என்றால் உள்நுழைக/பதிவுசெய்க';
@override
String get step_2 => 'இரண்டாம் படி';
@override
String get step_2_steps => '1. நீங்கள் உள்நுழைந்தவுடன், F12 ஐ அழுத்தவும் அல்லது வலது கிளிக் செய்து > ஆய்வு செய்யவும் உலாவி டெவ்டூல்களைத் திறக்கவும்.\n2. பின்னர் \"பயன்பாடு\" தாவலுக்குச் செல்லவும் (Chrome, Edge, Brave போன்றவை) அல்லது \"சேமிப்பகம்\" தாவல் (Firefox, Palemoon போன்றவை)\n3. \"குக்கிகள்\" பிரிவுக்குச் சென்று பின்னர் \"https://accounts.spotify.com\" பிரிவுக்குச் செல்லவும்';
@override
String get step_3 => 'மூன்றாம் படி';
@override
String get step_3_steps => '\"sp_dc\" நட்புநிரலின் மதிப்பை நகலெடுக்கவும்';
@override
String get success_emoji => 'வெற்றி🥳';
@override
String get success_message => 'இப்போது நீங்கள் உங்கள் Spotify கணக்கில் வெற்றிகரமாக உள்நுழைந்துள்ளீர்கள். நல்லது, நண்பரே!';
@override
String get step_4 => 'நான்காம் படி';
@override
String get step_4_steps => 'நகலெடுக்கப்பட்ட \"sp_dc\" மதிப்பை ஒட்டவும்';
@override
String get something_went_wrong => 'ஏதோ தவறு நடந்துவிட்டது';
@ -1212,7 +1171,7 @@ class AppLocalizationsTa extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*இது Spotify இன் ஒவ்வொரு ஸ்ட்ரீமிற்கும்\n\$0.003 முதல் \$0.005 வரை அளவீடு அடிப்படையில் கணக்கிடப்படுகிறது. இது ஒரு கற்பனை\nகணக்கீடு ஆகும், பயனர் எந்த அளவிற்கு கலைஞர்களுக்கு\nஅதோர் பாடலை Spotify மென்பொருளில் கேட்டால் எவ்வளவு பணம் செலுத்தினார்கள் என்பதைக் கண்டுபிடிக்க.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsTh extends AppLocalizations {
@override
String get account => 'บัญชี';
@override
String get login_with_spotify => 'เข้าสู่ระบบด้วยบัญชี Spotify';
@override
String get connect_with_spotify => 'เชื่อมต่อกับ Spotify';
@override
String get logout => 'ออกจากระบบ';
@ -537,9 +531,6 @@ class AppLocalizationsTh extends AppLocalizations {
@override
String get license => 'ใบอนุญาต';
@override
String get add_spotify_credentials => 'เพิ่มข้อมูลรับรอง Spotify ของคุณเพื่อเริ่มต้น';
@override
String get credentials_will_not_be_shared_disclaimer => 'ไม่ต้องกังวล ข้อมูลรับรองใดๆ ของคุณจะไม่ถูกเก็บรวบรวมหรือแชร์กับใคร';
@ -549,11 +540,6 @@ class AppLocalizationsTh extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'ทำตามคู่มือทีละขั้น';
@override
String spotify_cookie(Object name) {
return 'คุกกี้ Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'คุกกี้ $name';
@ -583,33 +569,6 @@ class AppLocalizationsTh extends AppLocalizations {
@override
String get first_go_to => 'ก่อนอื่น ไปที่';
@override
String get login_if_not_logged_in => 'ยังไม่ได้เข้าสู่ระบบ ให้เข้าสู่ระบบ/ลงทะเบียน';
@override
String get step_2 => 'ขั้นที่ 2';
@override
String get step_2_steps => '1. หลังจากเข้าสู่ระบบแล้ว กด F12 หรือ คลิกขวาที่เมาส์ > ตรวจสอบเพื่อเปิด Devtools เบราว์เซอร์\n2. จากนั้นไปที่แท็บ \"แอปพลิเคชัน\" (Chrome, Edge, Brave เป็นต้น) หรือแท็บ \"ที่เก็บข้อมูล\" (Firefox, Palemoon เป็นต้น)\n3. ไปที่ส่วน \"คุกกี้\" แล้วไปที่ subsection \"https: //accounts.spotify.com\"';
@override
String get step_3 => 'ขั้นที่ 3';
@override
String get step_3_steps => 'คัดลอกค่าคุกกี้ \"sp_dc\"';
@override
String get success_emoji => 'สำเร็จ';
@override
String get success_message => 'ตอนนี้คุณเข้าสู่ระบบด้วยบัญชี Spotify ของคุณเรียบร้อยแล้ว ยอดเยี่ยม!';
@override
String get step_4 => 'ขั้นที่ 4';
@override
String get step_4_steps => 'วางค่า \"sp_dc\" ที่คัดลอกมา';
@override
String get something_went_wrong => 'มีอะไรผิดพลาด';
@ -1212,7 +1171,7 @@ class AppLocalizationsTh extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*คำนวณตามการจ่ายต่อสตรีมของ Spotify\nซึ่งอยู่ในช่วง \$0.003 ถึง \$0.005 นี่เป็นการคำนวณสมมุติ\nเพื่อให้ผู้ใช้ทราบว่าพวกเขาจะจ่ายเงินให้ศิลปินเท่าไหร่\nหากพวกเขาฟังเพลงของพวกเขาใน Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsTl extends AppLocalizations {
@override
String get account => 'Account';
@override
String get login_with_spotify => 'Mag-login gamit ang iyong Spotify account';
@override
String get connect_with_spotify => 'Kumonekta sa Spotify';
@override
String get logout => 'Mag-logout';
@ -537,9 +531,6 @@ class AppLocalizationsTl extends AppLocalizations {
@override
String get license => 'Lisensya';
@override
String get add_spotify_credentials => 'Idagdag ang iyong mga kredensyal sa spotify para makapagsimula';
@override
String get credentials_will_not_be_shared_disclaimer => 'Huwag mag-alala, ang alinman sa iyong mga kredensyal ay hindi kokolektahin o ibabahagi sa sinuman';
@ -549,11 +540,6 @@ class AppLocalizationsTl extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Sundin ang Hakbang-hakbang na gabay';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookie';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookie';
@ -583,33 +569,6 @@ class AppLocalizationsTl extends AppLocalizations {
@override
String get first_go_to => 'Una, Pumunta sa';
@override
String get login_if_not_logged_in => 'at Mag-login/Mag-signup kung hindi ka naka-log in';
@override
String get step_2 => 'Hakbang 2';
@override
String get step_2_steps => '1. Kapag naka-log in ka na, pindutin ang F12 o i-right click ang Mouse > Inspect para Buksan ang Browser devtools.\n2. Pagkatapos ay pumunta sa \"Application\" Tab (Chrome, Edge, Brave atbp..) o \"Storage\" Tab (Firefox, Palemoon atbp..)\n3. Pumunta sa \"Cookies\" na seksyon at pagkatapos sa \"https://accounts.spotify.com\" na subseksyon';
@override
String get step_3 => 'Hakbang 3';
@override
String get step_3_steps => 'Kopyahin ang halaga ng \"sp_dc\" Cookie';
@override
String get success_emoji => 'Tagumpay🥳';
@override
String get success_message => 'Ngayon ay matagumpay kang Naka-log in gamit ang iyong Spotify account. Magaling, kaibigan!';
@override
String get step_4 => 'Hakbang 4';
@override
String get step_4_steps => 'I-paste ang na-kopyang halaga ng \"sp_dc\"';
@override
String get something_went_wrong => 'May nangyaring mali';
@ -1212,7 +1171,7 @@ class AppLocalizationsTl extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Ito ay kinalkula batay sa bawat stream\nna bayad ng Spotify na \$0.003 hanggang \$0.005. Ito ay isang hypothetical\nna pagkalkula para bigyan ang user ng ideya kung magkano\nang kanilang ibabayad sa mga artista kung sila ay nakikinig\nng kanilang kanta sa Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get account => 'Hesap';
@override
String get login_with_spotify => 'Spotify hesabı ile giriş yap';
@override
String get connect_with_spotify => 'Spotify ile bağlan';
@override
String get logout => 'Çıkış yap';
@ -537,9 +531,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get license => 'Lisans';
@override
String get add_spotify_credentials => 'Başlamak için spotify kimlik bilgilerinizi ekleyin';
@override
String get credentials_will_not_be_shared_disclaimer => 'Endişelenmeyin, kimlik bilgilerinizden hiçbiri toplanmayacak veya kimseyle paylaşılmayacak';
@ -549,11 +540,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Adım adım kılavuzu takip edin';
@override
String spotify_cookie(Object name) {
return 'Spotify $name çerezi';
}
@override
String cookie_name_cookie(Object name) {
return '$name çerezi';
@ -583,33 +569,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get first_go_to => 'İlk olarak şuraya gidin:';
@override
String get login_if_not_logged_in => 've oturum açmadıysanız Oturum açın/Kaydolun';
@override
String get step_2 => '2. Adım';
@override
String get step_2_steps => '1. Oturum açtıktan sonra, tarayıcı geliştirme araçlarını açmak için F12\'ye veya fareye sağ tıklayın > İncele\'ye basın.\n2. Daha sonra \"Uygulama\" sekmesine (Chrome, Edge, Brave vb..) veya \"Depolama\" sekmesine (Firefox, Palemoon vb..) gidin\n3. \"Çerezler\" bölümüne, ardından \"https://accounts.spotify.com\" alt bölümüne gidin';
@override
String get step_3 => '3. Adım';
@override
String get step_3_steps => '\"sp_dc\" Çerezinin değerini kopyalayın';
@override
String get success_emoji => 'Başarılı🥳';
@override
String get success_message => 'Artık Spotify hesabınızla başarıyla giriş yaptınız. Tebrik ederim!';
@override
String get step_4 => '4. Adım';
@override
String get step_4_steps => 'Kopyalanan \"sp_dc\" değerini yapıştırın';
@override
String get something_went_wrong => 'Bir hata oluştu';
@ -1212,7 +1171,7 @@ class AppLocalizationsTr extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Bu, Spotify\'ın her yayın başına ödemenin\n\$0.003 ile \$0.005 arasında olduğu varsayımıyla hesaplanmıştır. Bu\nhipotetik bir hesaplamadır, kullanıcıya şarkılarını Spotify\'da dinlediklerinde\nsanatçılara ne kadar ödeme yapacaklarını gösterir.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get account => 'Обліковий запис';
@override
String get login_with_spotify => 'Увійти за допомогою облікового запису Spotify';
@override
String get connect_with_spotify => 'Підключитися до Spotify';
@override
String get logout => 'Вийти';
@ -537,9 +531,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get license => 'Ліцензія';
@override
String get add_spotify_credentials => 'Додайте свої облікові дані Spotify, щоб почати';
@override
String get credentials_will_not_be_shared_disclaimer => 'Не хвилюйтеся, жодні ваші облікові дані не будуть зібрані або передані кому-небудь';
@ -549,11 +540,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Дотримуйтесь покрокової інструкції';
@override
String spotify_cookie(Object name) {
return 'Кукі-файл Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Кукі-файл $name';
@ -583,33 +569,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get first_go_to => 'Спочатку перейдіть на';
@override
String get login_if_not_logged_in => 'та Увійдіть/Зареєструйтесь, якщо ви не ввійшли';
@override
String get step_2 => 'Крок 2';
@override
String get step_2_steps => '1. Після входу натисніть F12 або клацніть правою кнопкою миші > Інспектувати, щоб відкрити інструменти розробки браузера.\n2. Потім перейдіть на вкладку \'Програма\' (Chrome, Edge, Brave тощо) або вкладку \'Сховище\' (Firefox, Palemoon тощо).\n3. Перейдіть до розділу \'Кукі-файли\', а потім до підрозділу \'https://accounts.spotify.com\'';
@override
String get step_3 => 'Крок 3';
@override
String get step_3_steps => 'Скопіюйте значення cookie \"sp_dc\"';
@override
String get success_emoji => 'Успіх🥳';
@override
String get success_message => 'Тепер ви успішно ввійшли у свій обліковий запис Spotify. Гарна робота, друже!';
@override
String get step_4 => 'Крок 4';
@override
String get step_4_steps => 'Вставте скопійоване значення \"sp_dc\"';
@override
String get something_went_wrong => 'Щось пішло не так';
@ -1212,7 +1171,7 @@ class AppLocalizationsUk extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Це розраховано на основі виплат Spotify за стрім\nвід \$0.003 до \$0.005. Це гіпотетичний розрахунок,\nщоб дати користувачеві уявлення про те, скільки б він заплатив\nартистам, якби слухав їхні пісні на Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsVi extends AppLocalizations {
@override
String get account => 'Tài khoản';
@override
String get login_with_spotify => 'Đăng nhập bằng tài khoản Spotify của bạn';
@override
String get connect_with_spotify => 'Liên kết với Spotify';
@override
String get logout => 'Đăng xuất';
@ -537,9 +531,6 @@ class AppLocalizationsVi extends AppLocalizations {
@override
String get license => 'Giấy phép';
@override
String get add_spotify_credentials => 'Điền thông tin đăng nhập Spotify của bạn';
@override
String get credentials_will_not_be_shared_disclaimer => 'Đừng lo, thông tin đăng nhập của bạn sẽ không được thu thập hoặc chia sẻ với bất kỳ ai';
@ -549,11 +540,6 @@ class AppLocalizationsVi extends AppLocalizations {
@override
String get follow_step_by_step_guide => 'Các bước lấy thông tin đăng nhập';
@override
String spotify_cookie(Object name) {
return 'Cookie Spotify $name';
}
@override
String cookie_name_cookie(Object name) {
return 'Cookie $name';
@ -583,33 +569,6 @@ class AppLocalizationsVi extends AppLocalizations {
@override
String get first_go_to => 'Đầu tiên, truy cập';
@override
String get login_if_not_logged_in => 'và Đăng nhập/Đăng ký nếu chưa có tài khoản';
@override
String get step_2 => 'Bước 2';
@override
String get step_2_steps => '1. Sau khi đăng nhập, nhấn F12 hoặc Chuột phải > Mở devtools của trình duyệt.\n2. Sau đó, chuyển đến Tab \"Ứng dụng/Application\" (Chrome, Edge, Brave, v.v.) hoặc Tab \"Lưu trữ/Storage\" (Firefox, Palemoon, v.v.)\n3. Chuyển đến phần \"Cookie\" sau đó phần con \"https://accounts.spotify.com\"';
@override
String get step_3 => 'Bước 3';
@override
String get step_3_steps => 'Sao chép giá trị của Cookie \"sp_dc\"\"sp_key\" (hoặc sp_gaid)';
@override
String get success_emoji => 'Thành công🥳';
@override
String get success_message => 'Bây giờ bạn đã đăng nhập thành công bằng tài khoản Spotify của mình. Làm tốt lắm!';
@override
String get step_4 => 'Bước 4';
@override
String get step_4_steps => 'Dán giá trị đã sao chép của Cookie \"sp_dc\"\"sp_key\" (hoặc sp_gaid) vào các trường tương ứng';
@override
String get something_went_wrong => 'Đã xảy ra lỗi';
@ -1212,7 +1171,7 @@ class AppLocalizationsVi extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*Được tính toán dựa trên khoản thanh toán của Spotify cho mỗi lượt phát\ntừ \$0.003 đến \$0.005. Đây là một tính toán giả định để\ncung cấp cho người dùng cái nhìn về số tiền họ sẽ phải trả\ncho các nghệ sĩ nếu họ nghe bài hát của họ trên Spotify.';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -379,12 +379,6 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get account => '账户';
@override
String get login_with_spotify => '使用 Spotify 登录';
@override
String get connect_with_spotify => '与 Spotify 账户连接';
@override
String get logout => '退出';
@ -537,9 +531,6 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get license => '许可证';
@override
String get add_spotify_credentials => '添加你的 Spotify 登录信息以开始使用';
@override
String get credentials_will_not_be_shared_disclaimer => '不用担心,软件不会收集或分享任何个人数据给第三方';
@ -549,11 +540,6 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get follow_step_by_step_guide => '请按照以下指南进行';
@override
String spotify_cookie(Object name) {
return 'Spotify $name Cookie';
}
@override
String cookie_name_cookie(Object name) {
return '$name Cookie';
@ -583,33 +569,6 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get first_go_to => '首先,前往';
@override
String get login_if_not_logged_in => '如果尚未登录,请登录或者注册一个账户';
@override
String get step_2 => '步骤 2';
@override
String get step_2_steps => '1. 一旦你已经完成登录, 按 F12 键或者鼠标右击网页空白区域 > 选择“检查”以打开浏览器开发者工具DevTools\n2. 然后选择 \"应用Application\" 标签页Chrome, Edge, Brave 等基于 Chromium 的浏览器) 或 \"存储Storage\" 标签页 Firefox, Palemoon 等基于 Firefox 的浏览器))\n3. 选择 \"Cookies\" 栏目然后选择 \"https://accounts.spotify.com\" 子栏目';
@override
String get step_3 => '步骤 3';
@override
String get step_3_steps => '复制\"sp_dc\" Cookie的值';
@override
String get success_emoji => '成功🥳';
@override
String get success_message => '你已经成功使用 Spotify 登录。干得漂亮!';
@override
String get step_4 => '步骤 4';
@override
String get step_4_steps => '粘贴复制的\"sp_dc\"';
@override
String get something_went_wrong => '某些地方出现了问题';
@ -1212,7 +1171,7 @@ class AppLocalizationsZh extends AppLocalizations {
}
@override
String get spotify_hipotetical_calculation => '*根据 Spotify 每次流媒体的支付金额\n\$0.003 到 \$0.005 进行计算。这是一个假设性的\n计算,用于给用户了解他们如果在 Spotify 上\n收听歌曲会支付给艺术家的金额。';
String get hipotetical_calculation => '*This is calculated based on average online music streaming platform\'s per stream\npayout of \$0.003 to \$0.005. This is a hypothetical\ncalculation to give user insight about how much they\nwould have paid to the artists if they were to listen\ntheir song in different music streaming platform.';
@override
String count_mins(Object minutes) {

View File

@ -16,7 +16,6 @@ import 'package:media_kit/media_kit.dart';
import 'package:metadata_god/metadata_god.dart';
import 'package:smtc_windows/smtc_windows.dart';
import 'package:spotube/collections/env.dart';
import 'package:spotube/collections/initializers.dart';
import 'package:spotube/collections/intents.dart';
import 'package:spotube/collections/routes.dart';
import 'package:spotube/hooks/configurators/use_close_behavior.dart';
@ -66,7 +65,7 @@ Future<void> main(List<String> rawArgs) async {
AppLogger.runZoned(() async {
final widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
await registerWindowsScheme("spotify");
// await registerWindowsScheme("spotify");
tz.initializeTimeZones();

View File

@ -18,19 +18,17 @@ class SpotubeTrackObjectListConverter
@override
List<SpotubeTrackObject> fromSql(String fromDb) {
return fromDb
.split(",")
.where((e) => e.isNotEmpty)
.map(
(e) => SpotubeTrackObject.fromJson(
json.decode(e) as Map<String, dynamic>,
),
)
final raw = (jsonDecode(fromDb) as List).cast<Map>();
return raw
.map((e) => SpotubeTrackObject.fromJson(e.cast<String, dynamic>()))
.toList();
}
@override
String toSql(List<SpotubeTrackObject> value) {
return value.map((e) => json.encode(e)).join(",");
return jsonEncode(
value.map((e) => e.toJson()).toList(),
);
}
}

View File

@ -19,7 +19,7 @@ enum ImagePlaceholder {
online,
}
extension SpotifyImageExtensions on List<SpotubeImageObject>? {
extension SpotubeImageExtensions on List<SpotubeImageObject>? {
String asUrlString({
int index = 1,
required ImagePlaceholder placeholder,

View File

@ -6,6 +6,7 @@ import 'dart:typed_data';
import 'package:collection/collection.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:metadata_god/metadata_god.dart';
import 'package:mime/mime.dart';
import 'package:path/path.dart';
import 'package:spotube/collections/assets.gen.dart';
import 'package:spotube/services/audio_player/audio_player.dart';

View File

@ -84,6 +84,7 @@ extension ToMetadataSpotubeFullTrackObject on SpotubeFullTrackObject {
Metadata toMetadata({
required int fileLength,
Uint8List? imageBytes,
String? mimeType,
}) {
return Metadata(
title: name,
@ -98,8 +99,9 @@ extension ToMetadataSpotubeFullTrackObject on SpotubeFullTrackObject {
picture: imageBytes != null
? Picture(
data: imageBytes,
// Spotify images are always JPEGs
mimeType: 'image/jpeg',
mimeType: mimeType ??
lookupMimeType("", headerBytes: imageBytes) ??
"image/jpeg",
)
: null,
);

View File

@ -70,24 +70,6 @@ class PlaylistCreateDialog extends HookConsumerWidget {
}, [playlist]);
final onError = useCallback((error) {
// if (error is SpotifyError || error is SpotifyException) {
// showToast(
// context: context,
// location: ToastLocation.topRight,
// builder: (context, overlay) {
// return SurfaceCard(
// child: Basic(
// title: Text(
// l10n.error(error.message ?? l10n.epic_failure),
// style: theme.typography.normal.copyWith(
// color: theme.colorScheme.destructive,
// ),
// ),
// ),
// );
// },
// );
// }
showToast(
context: context,
location: ToastLocation.topRight,

View File

@ -1,7 +1,7 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:spotube/collections/language_codes.dart';
import 'package:spotube/collections/spotify_markets.dart';
import 'package:spotube/collections/markets.dart';
import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/modules/getting_started/blur_card.dart';
import 'package:spotube/extensions/context.dart';
@ -14,10 +14,8 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget {
{super.key, required this.onNext});
bool filterMarkets(dynamic item, String query) {
final market = spotifyMarkets
.firstWhere((element) => element.$1 == item)
.$2
.toLowerCase();
final market =
marketsMap.firstWhere((element) => element.$1 == item).$2.toLowerCase();
return market.contains(query.toLowerCase());
}
@ -73,7 +71,7 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget {
},
placeholder: Text(preferences.market.name),
itemBuilder: (context, value) => Text(
spotifyMarkets
marketsMap
.firstWhere((element) => element.$1 == value)
.$2,
),
@ -82,8 +80,8 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget {
builder: (context, searchQuery) {
final filteredMarkets = searchQuery == null ||
searchQuery.isEmpty
? spotifyMarkets
: spotifyMarkets
? marketsMap
: marketsMap
.where(
(element) =>
filterMarkets(element.$1, searchQuery),

View File

@ -29,7 +29,7 @@ class ProfilePage extends HookConsumerWidget {
// context.l10n.profile_followers:
// meData.followers?.total.toString() ?? "N/A",
// context.l10n.birthday: meData.birthdate ?? context.l10n.not_born,
// context.l10n.country: spotifyMarkets
// context.l10n.country: markets
// .firstWhere((market) => market.$1 == meData.country)
// .$2,
// context.l10n.subscription: meData.product ?? context.l10n.hacker,
@ -85,7 +85,7 @@ class ProfilePage extends HookConsumerWidget {
leading: const Icon(SpotubeIcons.edit),
onPressed: () {
launchUrlString(
"https://www.spotify.com/account/profile/",
meData.externalUri,
mode: LaunchMode.externalApplication,
);
},

View File

@ -2,7 +2,7 @@ import 'package:collection/collection.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:spotube/collections/language_codes.dart';
import 'package:spotube/collections/spotify_markets.dart';
import 'package:spotube/collections/markets.dart';
import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/models/metadata/market.dart';
import 'package:spotube/modules/settings/section_card_with_heading.dart';
@ -59,7 +59,7 @@ class SettingsLanguageRegionSection extends HookConsumerWidget {
if (value == null) return;
preferencesNotifier.setRecommendationMarket(value);
},
options: spotifyMarkets
options: marketsMap
.map(
(country) => SelectItemButton(
value: country.$1,

View File

@ -69,7 +69,7 @@ class StatsStreamFeesPage extends HookConsumerWidget {
padding: const EdgeInsets.all(16.0),
sliver: SliverToBoxAdapter(
child: Text(
context.l10n.spotify_hipotetical_calculation,
context.l10n.hipotetical_calculation,
).small().muted(),
),
),

View File

@ -71,6 +71,10 @@ class AudioPlayerNotifier extends Notifier<AudioPlayerState> {
),
);
} else if (tracks.isNotEmpty) {
state = state.copyWith(
tracks: tracks,
currentIndex: currentIndex,
);
await audioPlayer.openPlaylist(
tracks.asMediaList(),
initialIndex: currentIndex,

View File

@ -86,14 +86,14 @@ class DiscordNotifier extends AsyncNotifier<void> {
state: artistNames,
assets: RPCAssets(
largeImage:
track.album?.images.first.url ?? "spotube-logo-foreground",
largeText: track.album?.name ?? "Unknown album",
track.album.images.firstOrNull?.url ?? "spotube-logo-foreground",
largeText: track.album.name,
smallImage: "spotube-logo-foreground",
smallText: "Spotube",
),
buttons: [
RPCButton(
label: "Listen on Spotify",
label: "Listen on Spotube",
url: track.externalUri,
),
],

View File

@ -44,6 +44,11 @@ final localTracksProvider =
final downloadLocation = ref.watch(
userPreferencesProvider.select((s) => s.downloadLocation),
);
if (downloadLocation.isEmpty) {
return {};
}
final downloadDir = Directory(downloadLocation);
final cacheDir =
Directory(await UserPreferencesNotifier.getMusicCacheDir());

View File

@ -52,9 +52,10 @@ final metadataPluginSavedTracksProvider = AutoDisposeAsyncNotifierProvider<
final metadataPluginIsSavedTrackProvider =
FutureProvider.autoDispose.family<bool, String>(
(ref, trackId) async {
final metadataPlugin = await ref.watch(metadataPluginProvider.future);
await ref.watch(metadataPluginSavedTracksProvider.future);
final allSavedTracks =
await ref.read(metadataPluginSavedTracksProvider.notifier).fetchAll();
return metadataPlugin!.user
.isSavedTracks([trackId]).then((value) => value.first);
return allSavedTracks.any((track) => track.id == trackId);
},
);

View File

@ -7,6 +7,7 @@ import 'package:dio/dio.dart' as dio_lib;
import 'package:flutter/foundation.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:metadata_god/metadata_god.dart';
import 'package:mime/mime.dart';
import 'package:path/path.dart';
import 'package:shelf/shelf.dart';
import 'package:spotube/models/metadata/metadata.dart';
@ -185,7 +186,7 @@ class ServerPlaybackRoutes {
}
final imageBytes = await ServiceUtils.downloadImage(
(playlistTrack.album?.images).asUrlString(
(playlistTrack.album.images).asUrlString(
placeholder: ImagePlaceholder.albumArt,
index: 1,
),

View File

@ -390,7 +390,6 @@ abstract class ServiceUtils {
}
}
/// Spotify Images are always JPEGs
static Future<Uint8List?> downloadImage(
String imageUrl,
) async {

View File

@ -10,6 +10,5 @@ keywords:
generic_name: Music Streaming Application
categories:
- Music
supported_mime_type:
- x-scheme-handler/spotify
# supported_mime_type:
# - x-scheme-handler/spotify

View File

@ -41,6 +41,5 @@ keywords:
generic_name: Music Streaming Application
categories:
- Music
supported_mime_type:
- x-scheme-handler/spotify
# supported_mime_type:
# - x-scheme-handler/spotify

View File

@ -32,6 +32,5 @@ categories:
- Music
startup_notify: true
supported_mime_type:
- x-scheme-handler/spotify
# supported_mime_type:
# - x-scheme-handler/spotify

View File

@ -6,4 +6,4 @@ Icon=/usr/share/icons/spotube/spotube-logo.png
Comment=A music streaming app combining the power of music metadata providers & YouTube
Terminal=false
Categories=Audio;Music;Player;AudioVideo;
MimeType=x-scheme-handler/spotify;
# MimeType=x-scheme-handler/spotify;

View File

@ -3,18 +3,18 @@
<plist version="1.0">
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<!-- abstract name for this URL type (you can leave it blank) -->
<string>Spotify</string>
<key>CFBundleURLSchemes</key>
<array>
<!-- your schemes -->
<string>spotify</string>
</array>
</dict>
</array>
// <array>
// <dict>
// <key>CFBundleURLName</key>
// <!-- abstract name for this URL type (you can leave it blank) -->
// <string>Spotify</string>
// <key>CFBundleURLSchemes</key>
// <array>
// <!-- your schemes -->
// <string>spotify</string>
// </array>
// </dict>
// </array>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>

View File

@ -1,5 +1,5 @@
name: spotube
description: Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
description: Open source extensible music streaming platform and app, based on BYOMM (Bring your own music metadata) concept
publish_to: "none"

View File

@ -1,5 +1,114 @@
{
"ar": [
"hipotetical_calculation"
],
"bn": [
"hipotetical_calculation"
],
"ca": [
"hipotetical_calculation"
],
"cs": [
"hipotetical_calculation"
],
"de": [
"hipotetical_calculation"
],
"es": [
"hipotetical_calculation"
],
"eu": [
"hipotetical_calculation"
],
"fa": [
"hipotetical_calculation"
],
"fi": [
"hipotetical_calculation"
],
"fr": [
"hipotetical_calculation",
"connection_request_denied"
],
"hi": [
"hipotetical_calculation"
],
"id": [
"hipotetical_calculation"
],
"it": [
"hipotetical_calculation"
],
"ja": [
"hipotetical_calculation"
],
"ka": [
"hipotetical_calculation"
],
"ko": [
"hipotetical_calculation"
],
"ne": [
"hipotetical_calculation"
],
"nl": [
"hipotetical_calculation"
],
"pl": [
"hipotetical_calculation"
],
"pt": [
"hipotetical_calculation"
],
"ru": [
"hipotetical_calculation"
],
"ta": [
"hipotetical_calculation"
],
"th": [
"hipotetical_calculation"
],
"tl": [
"hipotetical_calculation"
],
"tr": [
"hipotetical_calculation"
],
"uk": [
"hipotetical_calculation"
],
"vi": [
"hipotetical_calculation"
],
"zh": [
"hipotetical_calculation"
]
}