mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
chore: add translations for getting started screen
This commit is contained in:
parent
17105a640b
commit
4d6af8c0a7
@ -295,5 +295,23 @@
|
|||||||
"delete_playlist": "Delete Playlist",
|
"delete_playlist": "Delete Playlist",
|
||||||
"delete_playlist_confirmation": "Are you sure you want to delete this playlist?",
|
"delete_playlist_confirmation": "Are you sure you want to delete this playlist?",
|
||||||
"local_tracks": "Local Tracks",
|
"local_tracks": "Local Tracks",
|
||||||
"song_link": "Song Link"
|
"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.",
|
||||||
|
"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"
|
||||||
}
|
}
|
@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
|
|||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:spotube/collections/assets.gen.dart';
|
import 'package:spotube/collections/assets.gen.dart';
|
||||||
import 'package:spotube/components/shared/page_window_title_bar.dart';
|
import 'package:spotube/components/shared/page_window_title_bar.dart';
|
||||||
|
import 'package:spotube/extensions/context.dart';
|
||||||
import 'package:spotube/pages/getting_started/sections/greeting.dart';
|
import 'package:spotube/pages/getting_started/sections/greeting.dart';
|
||||||
import 'package:spotube/pages/getting_started/sections/playback.dart';
|
import 'package:spotube/pages/getting_started/sections/playback.dart';
|
||||||
import 'package:spotube/pages/getting_started/sections/region.dart';
|
import 'package:spotube/pages/getting_started/sections/region.dart';
|
||||||
@ -51,7 +52,7 @@ class GettingStarting extends HookConsumerWidget {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
"Skip this nonsense",
|
context.l10n.skip_this_nonsense,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
decoration: TextDecoration.underline,
|
decoration: TextDecoration.underline,
|
||||||
decorationColor: colorScheme.primary,
|
decorationColor: colorScheme.primary,
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
import 'dart:ui';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:gap/gap.dart';
|
import 'package:gap/gap.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:spotube/collections/assets.gen.dart';
|
import 'package:spotube/collections/assets.gen.dart';
|
||||||
import 'package:spotube/collections/spotube_icons.dart';
|
import 'package:spotube/collections/spotube_icons.dart';
|
||||||
import 'package:spotube/components/getting_started/blur_card.dart';
|
import 'package:spotube/components/getting_started/blur_card.dart';
|
||||||
|
import 'package:spotube/extensions/context.dart';
|
||||||
import 'package:spotube/utils/platform.dart';
|
import 'package:spotube/utils/platform.dart';
|
||||||
|
|
||||||
class GettingStartedPageGreetingSection extends HookConsumerWidget {
|
class GettingStartedPageGreetingSection extends HookConsumerWidget {
|
||||||
@ -30,7 +29,9 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
const Gap(4),
|
const Gap(4),
|
||||||
Text(
|
Text(
|
||||||
"“Freedom of music${kIsMobile ? "in the palm of your hands" : ""}”",
|
kIsMobile
|
||||||
|
? context.l10n.freedom_of_music_palm
|
||||||
|
: context.l10n.freedom_of_music,
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: textTheme.titleMedium?.copyWith(
|
style: textTheme.titleMedium?.copyWith(
|
||||||
fontWeight: FontWeight.w300,
|
fontWeight: FontWeight.w300,
|
||||||
@ -43,7 +44,7 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget {
|
|||||||
child: FilledButton.icon(
|
child: FilledButton.icon(
|
||||||
onPressed: onNext,
|
onPressed: onNext,
|
||||||
icon: const Icon(SpotubeIcons.angleRight),
|
icon: const Icon(SpotubeIcons.angleRight),
|
||||||
label: const Text("Let's get started"),
|
label: Text(context.l10n.get_started),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||||
import 'package:gap/gap.dart';
|
import 'package:gap/gap.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:spotube/collections/assets.gen.dart';
|
import 'package:spotube/collections/assets.gen.dart';
|
||||||
@ -18,14 +19,6 @@ final audioSourceToIconMap = {
|
|||||||
AudioSource.jiosaavn: Assets.jiosaavn.image(width: 48, height: 48),
|
AudioSource.jiosaavn: Assets.jiosaavn.image(width: 48, height: 48),
|
||||||
};
|
};
|
||||||
|
|
||||||
final audioSourceToDescription = {
|
|
||||||
AudioSource.youtube:
|
|
||||||
"Recommended and works best.\nHighest quality: 148kbps mp4, 128kbps opus",
|
|
||||||
AudioSource.piped: "Feeling free? Same as YouTube but a lot free",
|
|
||||||
AudioSource.jiosaavn:
|
|
||||||
"Best for South Asian region.\nHighest quality: 320kbps mp4",
|
|
||||||
};
|
|
||||||
|
|
||||||
class GettingStartedPagePlaybackSection extends HookConsumerWidget {
|
class GettingStartedPagePlaybackSection extends HookConsumerWidget {
|
||||||
final VoidCallback onNext;
|
final VoidCallback onNext;
|
||||||
final VoidCallback onPrevious;
|
final VoidCallback onPrevious;
|
||||||
@ -43,6 +36,17 @@ class GettingStartedPagePlaybackSection extends HookConsumerWidget {
|
|||||||
final preferences = ref.watch(userPreferencesProvider);
|
final preferences = ref.watch(userPreferencesProvider);
|
||||||
final preferencesNotifier = ref.read(userPreferencesProvider.notifier);
|
final preferencesNotifier = ref.read(userPreferencesProvider.notifier);
|
||||||
|
|
||||||
|
final audioSourceToDescription = useMemoized(
|
||||||
|
() => {
|
||||||
|
AudioSource.youtube: "${context.l10n.youtube_source_description}\n"
|
||||||
|
"${context.l10n.highest_quality("148kbps mp4, 128kbps opus")}",
|
||||||
|
AudioSource.piped: context.l10n.piped_source_description,
|
||||||
|
AudioSource.jiosaavn:
|
||||||
|
"${context.l10n.jiosaavn_source_description}\n"
|
||||||
|
"${context.l10n.highest_quality("320kbps mp")}",
|
||||||
|
},
|
||||||
|
[]);
|
||||||
|
|
||||||
return Center(
|
return Center(
|
||||||
child: BlurCard(
|
child: BlurCard(
|
||||||
child: Column(
|
child: Column(
|
||||||
@ -57,7 +61,10 @@ class GettingStartedPagePlaybackSection extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
const Gap(16),
|
const Gap(16),
|
||||||
ListTile(
|
ListTile(
|
||||||
title: Text("Select Audio Source", style: textTheme.titleMedium),
|
title: Text(
|
||||||
|
context.l10n.select_audio_source,
|
||||||
|
style: textTheme.titleMedium,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const Gap(16),
|
const Gap(16),
|
||||||
ToggleButtons(
|
ToggleButtons(
|
||||||
@ -111,7 +118,7 @@ class GettingStartedPagePlaybackSection extends HookConsumerWidget {
|
|||||||
ListTile(
|
ListTile(
|
||||||
title: Text(context.l10n.endless_playback),
|
title: Text(context.l10n.endless_playback),
|
||||||
subtitle: Text(
|
subtitle: Text(
|
||||||
"Automatically append new songs\nto the end of the queue",
|
context.l10n.endless_playback_description,
|
||||||
style: textTheme.bodySmall?.copyWith(
|
style: textTheme.bodySmall?.copyWith(
|
||||||
color: dividerColor,
|
color: dividerColor,
|
||||||
),
|
),
|
||||||
|
@ -33,7 +33,7 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
Text(
|
Text(
|
||||||
"Language and Region",
|
context.l10n.language_region,
|
||||||
style: textTheme.titleMedium,
|
style: textTheme.titleMedium,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -44,11 +44,11 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget {
|
|||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Choose your region",
|
context.l10n.choose_your_region,
|
||||||
style: textTheme.titleSmall,
|
style: textTheme.titleSmall,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"This will help us show you the right content\nfor your location.",
|
context.l10n.choose_your_region_description,
|
||||||
style: textTheme.bodySmall?.copyWith(
|
style: textTheme.bodySmall?.copyWith(
|
||||||
color: dividerColor,
|
color: dividerColor,
|
||||||
),
|
),
|
||||||
@ -76,7 +76,7 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
const Gap(36),
|
const Gap(36),
|
||||||
Text(
|
Text(
|
||||||
"Choose your language",
|
context.l10n.choose_your_language,
|
||||||
style: textTheme.titleSmall,
|
style: textTheme.titleSmall,
|
||||||
),
|
),
|
||||||
const Gap(16),
|
const Gap(16),
|
||||||
|
@ -4,6 +4,7 @@ import 'package:go_router/go_router.dart';
|
|||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:spotube/collections/spotube_icons.dart';
|
import 'package:spotube/collections/spotube_icons.dart';
|
||||||
import 'package:spotube/components/getting_started/blur_card.dart';
|
import 'package:spotube/components/getting_started/blur_card.dart';
|
||||||
|
import 'package:spotube/extensions/context.dart';
|
||||||
import 'package:spotube/services/kv_store/kv_store.dart';
|
import 'package:spotube/services/kv_store/kv_store.dart';
|
||||||
import 'package:url_launcher/url_launcher_string.dart';
|
import 'package:url_launcher/url_launcher_string.dart';
|
||||||
|
|
||||||
@ -28,16 +29,14 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget {
|
|||||||
const Icon(SpotubeIcons.heartFilled, color: Colors.pink),
|
const Icon(SpotubeIcons.heartFilled, color: Colors.pink),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
Text(
|
Text(
|
||||||
"Help this project grow",
|
context.l10n.help_project_grow,
|
||||||
style:
|
style:
|
||||||
textTheme.titleMedium?.copyWith(color: Colors.pink),
|
textTheme.titleMedium?.copyWith(color: Colors.pink),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const Gap(16),
|
const Gap(16),
|
||||||
const Text(
|
Text(context.l10n.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.",
|
|
||||||
),
|
|
||||||
const Gap(16),
|
const Gap(16),
|
||||||
Column(
|
Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
@ -45,7 +44,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget {
|
|||||||
children: [
|
children: [
|
||||||
FilledButton.icon(
|
FilledButton.icon(
|
||||||
icon: const Icon(SpotubeIcons.github),
|
icon: const Icon(SpotubeIcons.github),
|
||||||
label: const Text("Contribute on GitHub"),
|
label: Text(context.l10n.contribute_on_github),
|
||||||
style: FilledButton.styleFrom(
|
style: FilledButton.styleFrom(
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
@ -63,7 +62,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget {
|
|||||||
const Gap(16),
|
const Gap(16),
|
||||||
FilledButton.icon(
|
FilledButton.icon(
|
||||||
icon: const Icon(SpotubeIcons.openCollective),
|
icon: const Icon(SpotubeIcons.openCollective),
|
||||||
label: const Text("Donate on Open Collective"),
|
label: Text(context.l10n.donate_on_open_collective),
|
||||||
style: FilledButton.styleFrom(
|
style: FilledButton.styleFrom(
|
||||||
backgroundColor: const Color(0xff4cb7f6),
|
backgroundColor: const Color(0xff4cb7f6),
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
@ -98,7 +97,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
child: TextButton.icon(
|
child: TextButton.icon(
|
||||||
icon: const Icon(SpotubeIcons.anonymous),
|
icon: const Icon(SpotubeIcons.anonymous),
|
||||||
label: const Text("Browse anonymously"),
|
label: Text(context.l10n.browse_anonymously),
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
),
|
),
|
||||||
@ -111,7 +110,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget {
|
|||||||
const Gap(16),
|
const Gap(16),
|
||||||
FilledButton.icon(
|
FilledButton.icon(
|
||||||
icon: const Icon(SpotubeIcons.spotify),
|
icon: const Icon(SpotubeIcons.spotify),
|
||||||
label: const Text("Connect Spotify Account"),
|
label: Text(context.l10n.connect_with_spotify),
|
||||||
style: FilledButton.styleFrom(
|
style: FilledButton.styleFrom(
|
||||||
backgroundColor: const Color(0xff1db954),
|
backgroundColor: const Color(0xff1db954),
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
|
@ -8,7 +8,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"bn": [
|
"bn": [
|
||||||
@ -20,7 +38,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"ca": [
|
"ca": [
|
||||||
@ -32,7 +68,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"de": [
|
"de": [
|
||||||
@ -44,7 +98,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"es": [
|
"es": [
|
||||||
@ -56,7 +128,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"fa": [
|
"fa": [
|
||||||
@ -68,7 +158,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"fr": [
|
"fr": [
|
||||||
@ -80,7 +188,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"hi": [
|
"hi": [
|
||||||
@ -92,7 +218,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"it": [
|
"it": [
|
||||||
@ -104,7 +248,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"ja": [
|
"ja": [
|
||||||
@ -116,7 +278,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"ne": [
|
"ne": [
|
||||||
@ -128,7 +308,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"nl": [
|
"nl": [
|
||||||
@ -141,7 +339,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"pl": [
|
"pl": [
|
||||||
@ -153,7 +369,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"pt": [
|
"pt": [
|
||||||
@ -165,7 +399,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"ru": [
|
"ru": [
|
||||||
@ -177,7 +429,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"tr": [
|
"tr": [
|
||||||
@ -189,7 +459,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"uk": [
|
"uk": [
|
||||||
@ -201,7 +489,25 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
],
|
],
|
||||||
|
|
||||||
"zh": [
|
"zh": [
|
||||||
@ -213,6 +519,24 @@
|
|||||||
"delete_playlist",
|
"delete_playlist",
|
||||||
"delete_playlist_confirmation",
|
"delete_playlist_confirmation",
|
||||||
"local_tracks",
|
"local_tracks",
|
||||||
"song_link"
|
"song_link",
|
||||||
|
"skip_this_nonsense",
|
||||||
|
"freedom_of_music",
|
||||||
|
"freedom_of_music_palm",
|
||||||
|
"get_started",
|
||||||
|
"youtube_source_description",
|
||||||
|
"piped_source_description",
|
||||||
|
"jiosaavn_source_description",
|
||||||
|
"highest_quality",
|
||||||
|
"select_audio_source",
|
||||||
|
"endless_playback_description",
|
||||||
|
"choose_your_region",
|
||||||
|
"choose_your_region_description",
|
||||||
|
"choose_your_language",
|
||||||
|
"help_project_grow",
|
||||||
|
"help_project_grow_description",
|
||||||
|
"contribute_on_github",
|
||||||
|
"donate_on_open_collective",
|
||||||
|
"browse_anonymously"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user