diff --git a/.gitignore b/.gitignore index da6b2d5..0552fc8 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,7 @@ testfiles/ # Exceptions to above rules. !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages + +translations/crowdin.zip +translations/freezer.json +translations/exp diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..62f621e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "python.analysis.autoImportCompletions": true, + "python.analysis.typeCheckingMode": "basic" +} \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index e0c303c..a795daa 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -60,7 +60,7 @@ android { buildTypes { release { signingConfig signingConfigs.release - shrinkResources true + shrinkResources false minifyEnabled true } debug { diff --git a/fonts/FreezerIcons.ttf b/fonts/FreezerIcons.ttf new file mode 100644 index 0000000..b631416 Binary files /dev/null and b/fonts/FreezerIcons.ttf differ diff --git a/icons-config.json b/icons-config.json new file mode 100644 index 0000000..651098b --- /dev/null +++ b/icons-config.json @@ -0,0 +1,46 @@ +{ + "name": "FreezerIcons", + "css_prefix_text": "", + "css_use_suffix": false, + "hinting": true, + "units_per_em": 1000, + "ascent": 850, + "glyphs": [ + { + "uid": "efc3f240ef9ea8ea869a4136920bfefb", + "css": "spotify", + "code": 61884, + "src": "fontawesome5" + }, + { + "uid": "1e8b62f6676597cb577d0c5252b65da5", + "css": "sort_alpha_down", + "code": 61789, + "src": "fontawesome5" + }, + { + "uid": "04107d9128cc4ad96ff0d33e7853b34b", + "css": "sort_alpha_up", + "code": 61790, + "src": "fontawesome5" + }, + { + "uid": "fd8d9ae4422e55d3ca23f55d9cf4b20a", + "css": "waves", + "code": 59392, + "src": "typicons" + }, + { + "uid": "e011416dc6fca0b491d7857b1a4adfae", + "css": "lastfm", + "code": 61954, + "src": "fontawesome5" + }, + { + "uid": "e9f1a450968111eab72aacfdce5a3d9f", + "css": "primitive-dot", + "code": 62220, + "src": "octicons" + } + ] +} diff --git a/lib/api/player/audio_handler.dart b/lib/api/player/audio_handler.dart index f837e5b..3b42b60 100644 --- a/lib/api/player/audio_handler.dart +++ b/lib/api/player/audio_handler.dart @@ -540,7 +540,6 @@ class AudioPlayerTask extends BaseAudioHandler { MediaAction.seek, MediaAction.fastForward, MediaAction.rewind, - MediaAction.stop, }, processingState: _convertProcessingState(_player.processingState), playing: _player.playing, @@ -570,7 +569,6 @@ class AudioPlayerTask extends BaseAudioHandler { _lastPosition = null; //just_audio _originalQueue = null; - _player.stop(); // assign unique ids _queueAutoIncrement = 0; @@ -584,7 +582,7 @@ class AudioPlayerTask extends BaseAudioHandler { } //Load queue to just_audio - Future _loadQueue() async { + Future _loadQueue({bool preload = true}) async { //Don't reset queue index by starting player if (!queue.hasValue || queue.value.isEmpty) { return; @@ -604,7 +602,7 @@ class AudioPlayerTask extends BaseAudioHandler { await _player.setAudioSource(_audioSource, initialIndex: _queueIndex, initialPosition: Duration.zero, - preload: kIsWeb || defaultTargetPlatform != TargetPlatform.linux); + preload: preload); } catch (e) { //Error loading tracks } @@ -788,7 +786,6 @@ class AudioPlayerTask extends BaseAudioHandler { //Restore queue & playback info from path Future _loadQueueFile() async { if (_box.isEmpty) { - await _loadQueue(); return; } @@ -800,20 +797,11 @@ class AudioPlayerTask extends BaseAudioHandler { _repeatMode = await _box.get('repeatMode', defaultValue: AudioServiceRepeatMode.none); //Restore queue - if (q != null) { - _queueAutoIncrement = q.length; - queue.add(q); - await _loadQueue(); - mediaItem.add(currentMediaItem); - } else { - await _loadQueue(); - } - //Send restored queue source to ui - customEvent.add({ - 'action': 'onRestore', - 'queueSource': queueSource!, - 'repeatMode': _repeatMode - }); + if (q == null) return; + + _queueAutoIncrement = q.length; + queue.add(q); + await _loadQueue(preload: false); } @override @@ -878,6 +866,7 @@ class AudioPlayerTask extends BaseAudioHandler { @override Future setShuffleMode(AudioServiceShuffleMode shuffleMode) async { switch (shuffleMode) { + // TODO: migrate to native implementation once we fix this in just_audio_media_kit case AudioServiceShuffleMode.none: queue.add(_originalQueue!); _originalQueue = null; diff --git a/lib/icons.dart b/lib/icons.dart new file mode 100644 index 0000000..0dae729 --- /dev/null +++ b/lib/icons.dart @@ -0,0 +1,50 @@ +/// Flutter icons FreezerIcons +/// Copyright (C) 2024 by original authors @ fluttericon.com, fontello.com +/// This font was generated by FlutterIcon.com, which is derived from Fontello. +/// +/// To use this font, place it in your fonts/ directory and include the +/// following in your pubspec.yaml +/// +/// flutter: +/// fonts: +/// - family: FreezerIcons +/// fonts: +/// - asset: fonts/FreezerIcons.ttf +/// +/// +/// * Typicons, (c) Stephen Hutchings 2012 +/// Author: Stephen Hutchings +/// License: SIL (http://scripts.sil.org/OFL) +/// Homepage: http://typicons.com/ +/// * Font Awesome 5, Copyright (C) 2016 by Dave Gandy +/// Author: Dave Gandy +/// License: SIL (https://github.com/FortAwesome/Font-Awesome/blob/master/LICENSE.txt) +/// Homepage: http://fortawesome.github.com/Font-Awesome/ +/// * Octicons, Copyright (C) 2020 by GitHub Inc. +/// Author: GitHub +/// License: MIT (http://opensource.org/licenses/mit-license.php) +/// Homepage: https://primer.style/octicons/ +/// +// ignore_for_file: dangling_library_doc_comments + +import 'package:flutter/widgets.dart'; + +class FreezerIcons { + FreezerIcons._(); + + static const _kFontFam = 'FreezerIcons'; + static const String? _kFontPkg = null; + + static const IconData waves = + IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData sort_alpha_down = + IconData(0xf15d, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData sort_alpha_up = + IconData(0xf15e, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData spotify = + IconData(0xf1bc, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData lastfm = + IconData(0xf202, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData primitive_dot = + IconData(0xf30c, fontFamily: _kFontFam, fontPackage: _kFontPkg); +} diff --git a/lib/main.dart b/lib/main.dart index 125e0b4..dc03867 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -12,10 +12,10 @@ import 'package:flutter_cache_manager_hive/flutter_cache_manager_hive.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:fluttericon/font_awesome5_icons.dart'; import 'package:freezer/api/cache.dart'; import 'package:freezer/api/definitions.dart'; import 'package:freezer/api/paths.dart'; +import 'package:freezer/icons.dart'; import 'package:freezer/page_routes/blur_slide.dart'; import 'package:freezer/page_routes/fade.dart'; import 'package:freezer/page_routes/scale_fade.dart'; @@ -642,7 +642,7 @@ class MainScreenState extends State label: Text('Settings'.i18n), ), NavigationRailDestination( - icon: const Icon(FontAwesome5.spotify), + icon: const Icon(FreezerIcons.spotify), label: Text('Importer'.i18n), ), ]; diff --git a/lib/ui/details_screens.dart b/lib/ui/details_screens.dart index 3cfcbd6..3a8cd5f 100644 --- a/lib/ui/details_screens.dart +++ b/lib/ui/details_screens.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'dart:math'; import 'package:flutter/material.dart'; -import 'package:fluttericon/font_awesome5_icons.dart'; import 'package:freezer/api/cache.dart'; import 'package:freezer/api/deezer.dart'; import 'package:freezer/api/download.dart'; import 'package:freezer/api/player/audio_handler.dart'; +import 'package:freezer/icons.dart'; import 'package:freezer/ui/elements.dart'; import 'package:freezer/ui/error.dart'; import 'package:freezer/ui/search.dart'; @@ -1074,8 +1074,8 @@ class _PlaylistDetailsState extends State { IconButton( icon: Icon( _sort!.reverse! - ? FontAwesome5.sort_alpha_up - : FontAwesome5.sort_alpha_down, + ? FreezerIcons.sort_alpha_up + : FreezerIcons.sort_alpha_down, semanticLabel: _sort!.reverse! ? "Sort descending".i18n : "Sort ascending".i18n, diff --git a/lib/ui/error.dart b/lib/ui/error.dart index ba9ee40..c8b8aea 100644 --- a/lib/ui/error.dart +++ b/lib/ui/error.dart @@ -42,9 +42,7 @@ class _ErrorScreenState extends State { color: Colors.red, size: 64.0, ), - Container( - height: 4.0, - ), + const SizedBox(height: 4.0), Text(widget.message ?? 'Please check your connection and try again later...'.i18n), if (checkArl) diff --git a/lib/ui/library.dart b/lib/ui/library.dart index 0888547..9fc7f13 100644 --- a/lib/ui/library.dart +++ b/lib/ui/library.dart @@ -1,11 +1,11 @@ import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/material.dart'; -import 'package:fluttericon/font_awesome5_icons.dart'; import 'package:freezer/api/cache.dart'; import 'package:freezer/api/deezer.dart'; import 'package:freezer/api/definitions.dart'; import 'package:freezer/api/importer.dart'; import 'package:freezer/api/player/audio_handler.dart'; +import 'package:freezer/icons.dart'; import 'package:freezer/settings.dart'; import 'package:freezer/ui/details_screens.dart'; import 'package:freezer/ui/elements.dart'; @@ -137,7 +137,7 @@ class LibraryScreen extends StatelessWidget { // title: Text('Importer'.i18n), // children: [ // ListTile( - // leading: const Icon(FontAwesome5.spotify), + // leading: const Icon(FreezerIcons.spotify), // title: Text('Spotify v1'.i18n), // subtitle: Text( // 'Import Spotify playlists up to 100 tracks without any login.' @@ -150,7 +150,7 @@ class LibraryScreen extends StatelessWidget { // }, // ), // ListTile( - // leading: const Icon(FontAwesome5.spotify), + // leading: const Icon(FreezerIcons.spotify), // title: Text('Spotify v2'.i18n), // subtitle: Text( // 'Import any Spotify playlist, import from own Spotify library. Requires free account.' @@ -420,8 +420,8 @@ class _LibraryTracksState extends State { IconButton( icon: Icon( _sort!.reverse! - ? FontAwesome5.sort_alpha_up - : FontAwesome5.sort_alpha_down, + ? FreezerIcons.sort_alpha_up + : FreezerIcons.sort_alpha_down, semanticLabel: _sort!.reverse! ? "Sort descending".i18n : "Sort ascending".i18n, @@ -631,8 +631,8 @@ class _LibraryAlbumsState extends State { IconButton( icon: Icon( _sort!.reverse! - ? FontAwesome5.sort_alpha_up - : FontAwesome5.sort_alpha_down, + ? FreezerIcons.sort_alpha_up + : FreezerIcons.sort_alpha_down, semanticLabel: _sort!.reverse! ? "Sort descending".i18n : "Sort ascending".i18n, @@ -843,8 +843,8 @@ class _LibraryArtistsState extends State { IconButton( icon: Icon( _sort!.reverse! - ? FontAwesome5.sort_alpha_up - : FontAwesome5.sort_alpha_down, + ? FreezerIcons.sort_alpha_up + : FreezerIcons.sort_alpha_down, semanticLabel: _sort!.reverse! ? "Sort descending".i18n : "Sort ascending".i18n, @@ -1027,8 +1027,8 @@ class _LibraryPlaylistsState extends State { IconButton( icon: Icon( _sort!.reverse! - ? FontAwesome5.sort_alpha_up - : FontAwesome5.sort_alpha_down, + ? FreezerIcons.sort_alpha_up + : FreezerIcons.sort_alpha_down, semanticLabel: _sort!.reverse! ? "Sort descending".i18n : "Sort ascending".i18n, diff --git a/lib/ui/lyrics_screen.dart b/lib/ui/lyrics_screen.dart index 4be7394..de8a10f 100644 --- a/lib/ui/lyrics_screen.dart +++ b/lib/ui/lyrics_screen.dart @@ -80,14 +80,12 @@ class _LyricsWidgetState extends State _nextOffset = Duration.zero; //Fetch - if (_loading == false && _lyrics != null) { - setState(() { - _freeScroll = false; - _loading = true; - _lyrics = null; - _error = null; - }); - } + setState(() { + _freeScroll = false; + _loading = true; + _lyrics = null; + _error = null; + }); try { _lyricsCancelToken = CancelToken(); diff --git a/lib/ui/player_screen.dart b/lib/ui/player_screen.dart index cd584ca..f7844a9 100644 --- a/lib/ui/player_screen.dart +++ b/lib/ui/player_screen.dart @@ -318,7 +318,8 @@ class PlayerScreenDesktop extends StatelessWidget { @override Widget build(BuildContext context) { return Row(children: [ - Flexible( + AspectRatio( + aspectRatio: 9 / 16, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Column( @@ -327,8 +328,8 @@ class PlayerScreenDesktop extends StatelessWidget { Padding( padding: const EdgeInsets.symmetric(horizontal: 4.0), child: PlayerScreenTopRow( - textSize: 10.sp, - iconSize: 17.sp, + textSize: 12.h, + iconSize: 21.h, showQueueButton: false, ), ), @@ -339,18 +340,18 @@ class PlayerScreenDesktop extends StatelessWidget { ), Padding( padding: const EdgeInsets.symmetric(horizontal: 24.0), - child: PlayerTextSubtext(textSize: 18.sp), + child: PlayerTextSubtext(textSize: 22.h), ), - SeekBar(textSize: 12.sp), + SeekBar(textSize: 16.h), Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), - child: PlaybackControls(24.sp), + child: PlaybackControls(28.h), ), Padding( padding: const EdgeInsets.symmetric(vertical: 0, horizontal: 16.0), child: BottomBarControls( - size: 16.sp, + size: 20.h, desktopMode: true, ), ) @@ -1156,6 +1157,7 @@ class BottomBarControls extends StatelessWidget { @override Widget build(BuildContext context) { + final iconSize = size * 0.9; if (playerHelper.queueSource?.source == 'show') { return Row( crossAxisAlignment: CrossAxisAlignment.center, @@ -1188,7 +1190,7 @@ class BottomBarControls extends StatelessWidget { Icons.sentiment_very_dissatisfied, semanticLabel: "Dislike".i18n, ), - iconSize: size * 0.85, + iconSize: iconSize, onPressed: () async { unawaited( deezerAPI.dislikeTrack(audioHandler.mediaItem.value!.id)); @@ -1214,10 +1216,10 @@ class BottomBarControls extends StatelessWidget { // toastLength: Toast.LENGTH_SHORT); // }, // ), - FavoriteButton(size: size * 0.85), + FavoriteButton(size: iconSize), desktopMode - ? PlayerMenuButtonDesktop(size: size) - : PlayerMenuButton(size: size) + ? PlayerMenuButtonDesktop(size: iconSize) + : PlayerMenuButton(size: iconSize) ], ); } diff --git a/lib/ui/search.dart b/lib/ui/search.dart index 57ab4d8..293ee62 100644 --- a/lib/ui/search.dart +++ b/lib/ui/search.dart @@ -6,11 +6,10 @@ import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:fluttericon/typicons_icons.dart'; -import 'package:fluttertoast/fluttertoast.dart'; import 'package:freezer/api/cache.dart'; import 'package:freezer/api/download.dart'; import 'package:freezer/api/player/audio_handler.dart'; +import 'package:freezer/icons.dart'; import 'package:freezer/notifiers/list_notifier.dart'; import 'package:freezer/ui/details_screens.dart'; import 'package:freezer/ui/elements.dart'; @@ -275,7 +274,7 @@ class _SearchScreenState extends State { SearchBrowseCard( color: const Color(0xff11b192), text: 'Flow'.i18n, - icon: const Icon(Typicons.waves), + icon: const Icon(FreezerIcons.waves), onTap: () async { await playerHelper.playFromSmartTrackList( SmartTrackList(id: 'flow')); diff --git a/lib/ui/settings_screen.dart b/lib/ui/settings_screen.dart index c8c35dd..33f90fa 100644 --- a/lib/ui/settings_screen.dart +++ b/lib/ui/settings_screen.dart @@ -9,14 +9,12 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; -import 'package:fluttericon/font_awesome5_icons.dart'; -import 'package:fluttericon/web_symbols_icons.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:freezer/api/definitions.dart'; import 'package:freezer/api/player/systray.dart'; +import 'package:freezer/icons.dart'; import 'package:freezer/ui/login_on_other_device.dart'; import 'package:package_info_plus/package_info_plus.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:scrobblenaut/scrobblenaut.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -1278,7 +1276,7 @@ class _DownloadsSettingsState extends State { secondary: const Icon(Icons.insert_drive_file)), ListTile( title: Text('Artist separator'.i18n), - leading: const Icon(WebSymbols.tag), + leading: const Icon(Icons.safety_divider), trailing: SizedBox( width: 75.0, child: TextField( @@ -1449,7 +1447,7 @@ class _GeneralSettingsState extends State { settings.lastFMUsername != null) ? 'Log out'.i18n : 'Login to enable scrobbling.'.i18n), - leading: const Icon(FontAwesome5.lastfm), + leading: const Icon(FreezerIcons.lastfm), onTap: () async { //Log out if (settings.lastFMPassword != null && @@ -1810,43 +1808,6 @@ class _CreditsScreenState extends State { style: const TextStyle(fontStyle: FontStyle.italic), ), const FreezerDivider(), - ListTile( - title: Text('Telegram Channel'.i18n), - subtitle: Text('To get latest releases'.i18n), - leading: const Icon(FontAwesome5.telegram, - color: Color(0xFF27A2DF), size: 36.0), - onTap: () { - launchUrl(Uri.parse('https://t.me/joinchat/Se4zLEBvjS1NCiY9')); - }, - ), - ListTile( - title: Text('Telegram Group'.i18n), - subtitle: Text('Official chat'.i18n), - leading: const Icon(FontAwesome5.telegram, - color: Colors.cyan, size: 36.0), - onTap: () => launchUrl(Uri.parse('https://t.me/freezerandroid')), - ), - ListTile( - title: Text('Discord'.i18n), - subtitle: Text('Official Discord server'.i18n), - leading: const Icon(FontAwesome5.discord, - color: Color(0xff7289da), size: 36.0), - onTap: () => launchUrl(Uri.parse('https://discord.gg/qwJpa3r4dQ')), - ), - ListTile( - title: Text('${'Repository'.i18n} (unavailable)'), - subtitle: Text('Source code, report issues there.'.i18n), - leading: const Icon(Icons.code, color: Colors.green, size: 36.0), - enabled: false, - ), - const ListTile( - enabled: false, - title: Text('Don\'t Donate'), - subtitle: Text( - 'You should rather support your favorite artists, instead of this app!'), - leading: Icon(FontAwesome5.paypal, color: Colors.blue, size: 36.0), - ), - const FreezerDivider(), const ListTile( title: Text('Pato05'), subtitle: Text('Current Developer - best of all'), diff --git a/lib/ui/tiles.dart b/lib/ui/tiles.dart index 0ad6215..9ac9187 100644 --- a/lib/ui/tiles.dart +++ b/lib/ui/tiles.dart @@ -1,10 +1,10 @@ import 'package:audio_service/audio_service.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:fluttericon/octicons_icons.dart'; import 'package:freezer/api/deezer.dart'; import 'package:freezer/api/download.dart'; import 'package:freezer/api/player/audio_handler.dart'; +import 'package:freezer/icons.dart'; import 'package:freezer/main.dart'; import 'package:freezer/translations.i18n.dart'; @@ -130,7 +130,7 @@ class TrackTile extends StatelessWidget { return const Padding( padding: EdgeInsets.symmetric(horizontal: 2.0), child: Icon( - Octicons.primitive_dot, + FreezerIcons.primitive_dot, color: Colors.green, size: 12.0, ), @@ -610,7 +610,7 @@ class AlbumCard extends StatelessWidget { Widget build(BuildContext context) { return InkWell( onTap: onTap, - onLongPress: () => onSecondary?.call(null), + onLongPress: normalizeSecondary(onSecondary), onSecondaryTapUp: onSecondary, child: Column( children: [ diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index 7acbcc2..138f5fa 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -105,6 +105,10 @@ install(CODE " file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") " COMPONENT Runtime) +# Install desktop script +install(FILES "install-desktop-file.sh" DESTINATION "${BUILD_BUNDLE_DIR}" + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") @@ -137,3 +141,12 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" COMPONENT Runtime) endif() + +# === Create Tarball === +# Make a tarball out of the install bundle (only in Release mode) +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + configure_file(create-tarball.sh ${PROJECT_BINARY_DIR} + FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ) + add_custom_target(create_tar ALL COMMAND "${PROJECT_BINARY_DIR}/create-tarball.sh") + add_dependencies(create_tar ${BINARY_NAME}) +endif() \ No newline at end of file diff --git a/linux/create-tarball.sh b/linux/create-tarball.sh new file mode 100644 index 0000000..9e47bf8 --- /dev/null +++ b/linux/create-tarball.sh @@ -0,0 +1,5 @@ +#!/bin/sh +cd "${PROJECT_BINARY_DIR}/../../../.." +COMMIT_HASH=`git log -1 --pretty=format:%h` +cd "${BUILD_BUNDLE_DIR}" +${CMAKE_COMMAND} -E tar cvzf "${PROJECT_BINARY_DIR}/freezer-linux-${COMMIT_HASH}.tar.gz" . \ No newline at end of file diff --git a/linux/install-desktop-file.sh b/linux/install-desktop-file.sh new file mode 100644 index 0000000..75116fb --- /dev/null +++ b/linux/install-desktop-file.sh @@ -0,0 +1,34 @@ +#!/bin/bash +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +if [ -z "$HOME" ]; then + echo "HOME variable not set. Aborting..." + exit 1 +fi + +EXECUTABLE="${SCRIPT_DIR}/freezer" +ICON="${SCRIPT_DIR}/data/flutter_assets/assets/icon.ico" +if [ ! -x "$EXECUTABLE" ] || [ ! -f "$ICON" ]; then + echo "Icon or executable not found. Aborting..." + exit 1 +fi + +APPLICATIONS_DIR="$HOME/.local/share/applications" +if [ ! -w "$APPLICATIONS_DIR" ]; then + echo "Cannot write to $APPLICATIONS_DIR. Aborting..." + exit 1 +fi + +cat < "$APPLICATIONS_DIR/freezer.desktop" + diff --git a/pubspec.lock b/pubspec.lock index 737adcb..034ff34 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -559,14 +559,6 @@ packages: description: flutter source: sdk version: "0.0.0" - fluttericon: - dependency: "direct main" - description: - name: fluttericon - sha256: "252fa8043826e93d972a602497a260cb3d62b5aea6d045793e4381590f2c1e99" - url: "https://pub.dev" - source: hosted - version: "2.0.0" fluttertoast: dependency: "direct main" description: @@ -794,10 +786,9 @@ packages: just_audio_media_kit: dependency: "direct main" description: - name: just_audio_media_kit - sha256: adbf7d29051c5645942ca1fd4efd36a1f3f94c99a352650a661372d52df2632f - url: "https://pub.dev" - source: hosted + path: "../just_audio_media_kit" + relative: true + source: path version: "2.0.0" just_audio_platform_interface: dependency: transitive diff --git a/pubspec.yaml b/pubspec.yaml index f03ca8e..fa2fdbb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -52,7 +52,6 @@ dependencies: flutter_cache_manager: ^3.0.0 cached_network_image: ^3.1.0 i18n_extension: ^10.0.3 - fluttericon: ^2.0.0 url_launcher: ^6.0.5 uni_links: ^0.5.1 numberpicker: ^2.1.1 @@ -85,7 +84,8 @@ dependencies: # Player just_audio: ^0.9.35 # Player plugin for Linux and Windows - just_audio_media_kit: ^2.0.0 + just_audio_media_kit: + path: ../just_audio_media_kit # Player libs for Linux and windows media_kit_libs_linux: any media_kit_libs_windows_audio: any @@ -146,6 +146,9 @@ flutter: - assets/icon_mono_small.ico fonts: + - family: FreezerIcons + fonts: + - asset: fonts/FreezerIcons.ttf - family: "Mabry Pro" fonts: - asset: fonts/MabryPro.otf diff --git a/translations/crowdin.py b/translations/crowdin.py new file mode 100644 index 0000000..985d750 --- /dev/null +++ b/translations/crowdin.py @@ -0,0 +1,67 @@ +import zipfile +import json +import os + +lang_crowdin = { + 'ar': 'ar_ar', + 'bg': 'bul_bg', + 'ast': 'ast_es', + 'de': 'de_de', + 'el': 'el_gr', + 'es-ES': 'es_es', + 'fa': 'fa_ir', + 'fil': 'fil_ph', + 'fr': 'fr_fr', + 'he': 'he_il', + 'hr': 'hr_hr', + 'id': 'id_id', + 'it': 'it_id', + 'ko': 'ko_ko', + 'pt-BR': 'pt_br', + 'ro': 'ro_ro', + 'ru': 'ru_ru', + 'tr': 'tr_tr', + 'pl': 'pl_pl', + 'uk': 'uk_ua', + 'hu': 'hu_hu', + 'ur-PK': 'ur_pk', + 'hi': 'hi_in', + 'sk': 'sk_sk', + 'cs': 'cs_cz', + 'vi': 'vi_vi', + 'uwu': 'uwu_uwu', + 'nl': 'nl_NL', + 'sl': 'sl_SL', + 'zh-CN': 'zh-CN' +} + +def generate_dart(): + out = {} + with zipfile.ZipFile('translations.zip') as zip: + for file in zip.namelist(): + if 'freezer.json' in file: + data = zip.open(file).read() + lang = file.split('/')[0] + out[lang_crowdin[lang]] = json.loads(data) + + with open('../lib/languages/crowdin.dart', 'w') as f: + data = json.dumps(out, ensure_ascii=False).replace('$', '\\$') + out = f'const crowdin = {data};' + f.write(out) + +def dart_to_json(): + with open('../lib/languages/crowdin.dart', 'r') as f: + content = f.read() + a = content[len('const crowdin = '):-1].replace('\\$', '$') + translation_map = json.loads(a) + for lang in translation_map: + lang_ = list(lang_crowdin.keys())[list(lang_crowdin.values()).index(lang)] + os.mkdir(f'exp/{lang_}') + with open(f'exp/{lang_}/freezer.json', 'w') as f: + f.write(json.dumps(translation_map[lang])) + + + +if __name__ == '__main__': + dart_to_json() + # generate_dart() diff --git a/translations/old_languages/ar_ar.dart b/translations/old_languages/ar_ar.dart new file mode 100644 index 0000000..0a419ed --- /dev/null +++ b/translations/old_languages/ar_ar.dart @@ -0,0 +1,212 @@ +/* + +Translated by: Xandar Null + +*/ + +const language_ar_ar = { + "ar_ar": { + "Home": "القائمة الرئيسية", + "Search": "بحث", + "Library": "المكتبة", + "Offline mode, can't play flow or smart track lists.": "وضع خارج الشبكة, لا تستطيع تشغيل اغاني من قوائم ديزر فلو", + "Added to library": "تمت الاضافة الى المكتبة", + "Download": "تنزيل", + "Disk": "القرص", + "Offline": "خارج الشبكة", + "Top Tracks": "افضل الاغاني", + "Show more tracks": "اضهار المزيد من الاغاني", + "Top": "الافضل", + "Top Albums": "افضل الالبومات", + "Show all albums": "اضهار كل الالبومات", + "Discography": "كل الالبومات و الاغاني", + "Default": "افتراضي", + "Reverse": "عكس", + "Alphabetic": "أبجدي", + "Artist": "فنان", + "Post processing...": "بعد المعالجة...", + "Done": "تم", + "Delete": "حذف", + "Are you sure you want to delete this download?": "هل أنت متأكد أنك تريد حذف هذا التنزيل؟", + "Cancel": "الغاء", + "Downloads": "التنزيلات", + "Clear queue": "مسح قائمة الانتظار", + "This won't delete currently downloading item": "لن يؤدي هذا إلى حذف العنصر الذي يتم تنزيله حاليًا", + "Are you sure you want to delete all queued downloads?": "هل أنت متأكد أنك تريد حذف كافة التنزيلات في قائمة الانتظار؟", + "Clear downloads history": "مسح تاريخ التنزيلات", + "WARNING: This will only clear non-offline (external downloads)": "تحذير: سيؤدي هذا فقط إلى مسح الملفات غير المتصلة (التنزيلات الخارجية)", + "Please check your connection and try again later...": "يرجى التحقق من الاتصال الخاص بك والمحاولة مرة أخرى في وقت لاحق...", + "Show more": "اظهار المزيد", + "Importer": "المستورد", + "Currently supporting only Spotify, with 100 tracks limit": "حاليا يدعم سبوتفاي فقط, بحد اقصى 100 اغنية", + "Due to API limitations": "بسبب قيود API", + "Enter your playlist link below": "أدخل رابط قائمة التشغيل أدناه", + "Error loading URL!": "خطأ في تنزيل الرابط!", + "Convert": "تحويل", + "Download only": "تنزيل فقط", + "Downloading is currently stopped, click here to resume.": "التنزيل متوقف حاليًا ، انقر هنا للاستئناف.", + "Tracks": "اغاني", + "Albums": "البومات", + "Artists": "فنانون", + "Playlists": "قوائم تشغيل", + "Import": "استيراد", + "Import playlists from Spotify": "استيراد قائمة تشغيل من سبوتيفاي", + "Statistics": "احصائيات", + "Offline tracks": "اغاني بدون اتصال", + "Offline albums": "البومات بدون اتصال", + "Offline playlists": "قوائم تشغيل بدون اتصال", + "Offline size": "حجم بدون اتصال", + "Free space": "مساحة فارغة", + "Loved tracks": "الاغاني المحبوبة", + "Favorites": "المفضلات", + "All offline tracks": "كل الاغاني بدون اتصال", + "Create new playlist": "انشاء قائمة تشغيل جديدة", + "Cannot create playlists in offline mode": "لا يمكن إنشاء قوائم التشغيل في وضع عدم الاتصال", + "Error": "خطأ", + "Error logging in! Please check your token and internet connection and try again.": "خطأ في تسجيل الدخول! يرجى التحقق من الرمز المميز والاتصال بالإنترنت وحاول مرة أخرى.", + "Dismiss": "رفض", + "Welcome to": "مرحبا بك في", + "Please login using your Deezer account.": "يرجى تسجيل الدخول باستخدام حساب ديزر الخاص بك.", + "Login using browser": "تسجيل الدخول باستخدام المتصفح", + "Login using token": "تسجيل الدخول باستخدام الرمز المميز", + "Enter ARL": "أدخل الرمز المميز (arl)", + "Token (ARL)": "الرمز المميز (ARL)", + "Save": "حفظ", + "If you don't have account, you can register on deezer.com for free.": "إذا لم يكن لديك حساب ، يمكنك التسجيل على deezer.com مجانًا.", + "Open in browser": "افتح في المتصفح", + "By using this app, you don't agree with the Deezer ToS": "باستخدام هذا التطبيق ، أنت لا توافق على شروط خدمة ديزر", + "Play next": "شغل التالي", + "Add to queue": "إضافة إلى قائمة الانتظار", + "Add track to favorites": "اضافة الاغنية الى المفضلة", + "Add to playlist": "اضافة الى قائمة التشغيل", + "Select playlist": "اختيار قائمة التشغيل", + "Track added to": "تم اضافة الاغنية الى", + "Remove from playlist": "إزالة من قائمة التشغيل", + "Track removed from": "تم إزالة الاغنية من", + "Remove favorite": "إزالة المفضلة", + "Track removed from library": "تم إزالة الاغنية من المكتبة", + "Go to": "الذهاب الى", + "Make offline": "جعله في وضع عدم الاتصال", + "Add to library": "إضافة إلى مكتبة", + "Remove album": "إزالة الالبوم", + "Album removed": "تم إزالة الالبوم", + "Remove from favorites": "تم الإزالة من المفضلة", + "Artist removed from library": "تم إزالة الفنان من المكتبة", + "Add to favorites": "اضافة الى المفضلة", + "Remove from library": "إزالة من المكتبة", + "Add playlist to library": "أضف قائمة التشغيل إلى المكتبة", + "Added playlist to library": "تم اضافة قائمة التشغيل الى المكتبة", + "Make playlist offline": "جعل قائمة التشغيل في وضع عدم الاتصال", + "Download playlist": "تنزيل قائمة التشغيل", + "Create playlist": "إنشاء قائمة التشغيل", + "Title": "عنوان", + "Description": "وصف", + "Private": "خاص", + "Collaborative": "التعاونيه", + "Create": "إنشاء", + "Playlist created!": "تم إنشاء قائمة التشغيل", + "Playing from:": "التشغيل من:", + "Queue": "قائمة الانتظار", + "Offline search": "البحث دون اتصال", + "Search Results": "نتائج البحث", + "No results!": "لا نتائج!", + "Show all tracks": "عرض كل الاغاني", + "Show all playlists": "عرض كل قوائم التشغيل", + "Settings": "الإعدادات", + "General": "عام", + "Appearance": "المظهر", + "Quality": "الجودة", + "Deezer": "ديزر", + "Theme": "ثيم", + "Currently": "حاليا", + "Select theme": "اختر ثيم", + "Light (default)": "ابيض (افتراضي)", + "Dark": "داكن (أفضل)", + "Black (AMOLED)": "أسود", + "Deezer (Dark)": "داكن (ديزر)", + "Primary color": "اللون الأساسي", + "Selected color": "اللون المحدد", + "Use album art primary color": "استخدم اللون الأساسي لصورة الألبوم", + "Warning: might be buggy": "تحذير: قد يكون غير مستقر", + "Mobile streaming": "البث عبر شبكة الجوال", + "Wifi streaming": "البث عبر الوايفاي", + "External downloads": "التنزيلات الخارجية", + "Content language": "لغة المحتوى", + "Not app language, used in headers. Now": "ليست لغة التطبيق المستخدمة في العناوين. الآن", + "Select language": "اختار اللغة", + "Content country": "بلد المحتوى", + "Country used in headers. Now": "البلد المستخدم في العناوين. الآن", + "Log tracks": "تسجيل الاغاني", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": "أرسال سجلات الاستماع إلى ديزر ، قم بتمكينها لميزات مثل فلو لتعمل بشكل صحيح (ينصح تفعيلها)", + "Offline mode": "وضع عدم الاتصال", + "Will be overwritten on start.": "سيتم الكتابة فوقها في البداية.", + "Error logging in, check your internet connections.": "خطأ في تسجيل الدخول ، تحقق من اتصالات الإنترنت الخاص بك.", + "Logging in...": "جار تسجيل الدخول...", + "Download path": "مسار التنزيل", + "Downloads naming": "تسمية التنزيلات", + "Downloaded tracks filename": "اسم ملف الاغاني التي تم تنزيلها", + "Valid variables are": "المتغيرات الصالحة هي", + "Reset": "إعادة تعيين", + "Clear": "مسح", + "Create folders for artist": "إنشاء ملفات للفنان", + "Create folders for albums": "إنشاء ملفات للالبوم", + "Separate albums by discs": "افصل الالبومات عبر رقم الاقراص", + "Overwrite already downloaded files": "الكتابة فوق الملفات التي تم تنزيلها", + "Copy ARL": "نسخ الرمز المميز (ARL)", + "Copy userToken/ARL Cookie for use in other apps.": "انسخ ملف الرابط الرمز المميز لاستخدامه في تطبيقات أخرى.", + "Copied": "تم النسخ", + "Log out": "تسجيل خروج", + "Due to plugin incompatibility, login using browser is unavailable without restart.": "نظرًا لعدم توافق المكون الإضافي ، لا يتوفر تسجيل الدخول باستخدام المتصفح بدون إعادة التشغيل.", + "(ARL ONLY) Continue": "استمر (رمز مميز فقط ARL)", + "Log out & Exit": "تسجيل الخروج والخروج", + "Pick-a-Path": "اختر المسار", + "Select storage": "حدد وحدة التخزين", + "Go up": "اذهب للأعلى", + "Permission denied": "طلب الاذن مرفوض", + "Language": "اللغة", + "Language changed, please restart Freezer to apply!": "تم تغيير اللغة، الرجاء إعادة تشغيل فريزر لتطبيق!", + "Importing...": "جار الاستيراد...", + "Radio": "راديو", + + //0.5.0 Strings: + "Storage permission denied!": "رفض إذن التخزين!", + "Failed": "فشل", + "Queued": "في قائمة الانتظار", + "Restart failed downloads": "أعد استئناف التنزيلات الفاشلة", + "Clear failed": "فشل المسح", + "Download Settings": "إعدادات التنزيل", + "Create folder for playlist": "إنشاء ملف لقائمة التشغيل", + "Download .LRC lyrics": "تنزيل ملف كلمات الاغنية .LRC", + "Proxy": "بروكسي", + "Not set": "غير محدد", + "Search or paste URL": "ابحث أو الصق رابط", + "History": "تاريخ السماع", + "Download threads": "عدد التنزيلات في نفس الوقت", + "Lyrics unavailable, empty or failed to load!": "الكلمات غير متوفرة، فارغة أو فشل تنزيلها!", + "About": "حول البرنامج", + "Telegram Channel": "قناة التلكرام", + "To get latest releases": "لتنزيل اخر اصدارات البرنامج", + "Official chat": "الدردشة الرسمية", + "Telegram Group": "مجموعة التلكرام", + "Huge thanks to all the contributors! <3": "شكرا جزيلا لجميع المساهمين! <3", + "Edit playlist": "تعديل قائمة التشغيل", + "Update": "تحديث", + "Playlist updated!": "تم تحديث قائمة التشغيل!", + "Downloads added!": "تم إضافة التنزيلات!", + "External": "تخزين", + "Save cover file for every track": "حفظ صورة الالبوم لكل اغنية", + "Download Log": "سجل التنزيل", + "Repository": "Repository", + "Source code, report issues there.": "كود المصدر ، ابلغ عن المشاكل هنا.", + + //0.5.2 Strings: + "Use system theme": "استخدم ثيم النظام", + "Light": "ابيض", + + //0.5.3 Strings: + "Popularity": "الشعبية", + "User": "المستخدم", + "Track count": "عدد الاغاني", + "If you want to use custom directory naming - use '/' as directory separator.": "إذا كنت تريد استخدام تسمية مخصصة، استخدم '/' كفاصل بين المسار." + } +}; diff --git a/translations/old_languages/de_de.dart b/translations/old_languages/de_de.dart new file mode 100644 index 0000000..197e62d --- /dev/null +++ b/translations/old_languages/de_de.dart @@ -0,0 +1,236 @@ +/* + +Translated by: Markus + +*/ +const language_de_de = { + "de_de": { + "Home": "Start", + "Search": "Suche", + "Library": "Mediathek", + "Offline mode, can't play flow or smart track lists.": + "Offline-Modus, kann keine Flow- oder Smart Track-Listen abspielen.", + "Added to library": "Zur Mediathek hinzufügen", + "Download": "Download", + "Disk": "Disk", + "Offline": "Offline", + "Top Tracks": "Top Titel", + "Show more tracks": "Zeige mehr Titel", + "Top": "Top", + "Top Albums": "Top Alben", + "Show all albums": "Zeige alle Alben", + "Discography": "Diskografie", + "Default": "Standard", + "Reverse": "Rückwärts", + "Alphabetic": "Alphabetisch", + "Artist": "Künstler", + "Post processing...": "Nachbearbeitung...", + "Done": "Erledigt", + "Delete": "Gelöscht", + "Are you sure you want to delete this download?": + "Bist du sicher, dass du diesen Download löschen willst?", + "Cancel": "Abbrechen", + "Downloads": "Downloads", + "Clear queue": "Warteschleife löschen", + "This won't delete currently downloading item": + "Dies löscht das derzeit heruntergeladene Element nicht", + "Are you sure you want to delete all queued downloads?": + "Bist du sicher, dass du alle Downloads aus der Warteschleife löschen willst?", + "Clear downloads history": "Download-Verlauf löschen", + "WARNING: This will only clear non-offline (external downloads)": + "ACHTUNG: (Externe Downloads) werden entfernt", + "Please check your connection and try again later...": + "Bitte überprüfe deine Verbindung und versuche es später noch einmal...", + "Show more": "Mehr anzeigen", + "Importer": "Importieren", + "Currently supporting only Spotify, with 100 tracks limit": + "Derzeit begrenzt auf maximal 100 Titel", + "Due to API limitations": "Aufgrund von API-Einschränkungen", + "Enter your playlist link below": + "Gebe deinen Wiedergabelisten-Link unten ein", + "Error loading URL!": "Fehler beim Laden der URL!", + "Convert": "Konvertieren", + "Download only": "Nur Herunterladen", + "Downloading is currently stopped, click here to resume.": + "Das Herunterladen ist derzeit gestoppt, klicke hier, um fortzufahren.", + "Tracks": "Titel", + "Albums": "Alben", + "Artists": "Künstler", + "Playlists": "Wiedergabelisten", + "Import": "Importieren", + "Import playlists from Spotify": "Wiedergabelisten aus Spotify importieren", + "Statistics": "Statistiken", + "Offline tracks": "Offline-Titel", + "Offline albums": "Offline-Alben", + "Offline playlists": "Offline-Wiedergabelisten", + "Offline size": "Offline-Größe", + "Free space": "Freier Speicherplatz", + "Loved tracks": "Beliebte Titel", + "Favorites": "Favoriten", + "All offline tracks": "Alle Offline-Titel", + "Create new playlist": "Neue Wiedergabeliste erstellen", + "Cannot create playlists in offline mode": + "Wiedergabelisten können im Offline-Modus nicht erstellt werden", + "Error": "Fehler", + "Error logging in! Please check your token and internet connection and try again.": + "Fehler beim Einloggen! Bitte überprüfe dein Token und deine Internetverbindung und versuche es erneut.", + "Dismiss": "Verwerfen", + "Welcome to": "Willkommen bei", + "Please login using your Deezer account.": + "Bitte melde dich mit deinem Deezer-Konto an.", + "Login using browser": "Anmeldung über Browser", + "Login using token": "Anmeldung per Token", + "Enter ARL": "ARL eingeben", + "Token (ARL)": "Token (ARL)", + "Save": "Speichern", + "If you don't have account, you can register on deezer.com for free.": + "Wenn Du noch kein Konto hast, kannst Du Dich kostenlos auf deezer.com registrieren.", + "Open in browser": "Im Browser öffnen", + "By using this app, you don't agree with the Deezer ToS": + "Wenn Du diese Anwendung verwendest, bist Du nicht mit den Deezer ToS einverstanden", + "Play next": "Als nächstes spielen", + "Add to queue": "Zur Warteschleife hinzufügen", + "Add track to favorites": "Titel zu Favoriten hinzufügen", + "Add to playlist": "Zur Wiedergabeliste hinzufügen", + "Select playlist": "Wiedergabeliste auswählen", + "Track added to": "Titel hinzugefügt zu", + "Remove from playlist": "Aus Wiedergabeliste entfernen", + "Track removed from": "Titel entfernt aus", + "Remove favorite": "Favorit entfernen", + "Track removed from library": "Titel aus Mediathek entfernt", + "Go to": "Gehe zu", + "Make offline": "Offline verfügbar machen", + "Add to library": "Zur Mediathek hinzufügen", + "Remove album": "Album entfernen", + "Album removed": "Album entfernt", + "Remove from favorites": "Aus Favoriten entfernen", + "Artist removed from library": "Künstler aus Bibliothek entfernt", + "Add to favorites": "Zu Favoriten hinzufügen", + "Remove from library": "Aus der Mediathek entfernen", + "Add playlist to library": "Wiedergabeliste zur Mediathek hinzufügen", + "Added playlist to library": "Wiedergabeliste zur Mediathek hinzugefügt", + "Make playlist offline": "Wiedergabeliste offline verfügbar machen", + "Download playlist": "Wiedergabeliste herunterladen", + "Create playlist": "Wiedergabeliste erstellen", + "Title": "Titel", + "Description": "Beschreibung", + "Private": "Privat", + "Collaborative": "Collaborative", + "Create": "Erstellen", + "Playlist created!": "Wiedergabeliste erstellt!", + "Playing from:": "Wiedergabe von:", + "Queue": "Warteschleife", + "Offline search": "Offline-Suche", + "Search Results": "Suchergebnisse", + "No results!": "Keine Ergebnisse!", + "Show all tracks": "Alle Titel anzeigen", + "Show all playlists": "Alle Wiedergabelisten anzeigen", + "Settings": "Einstellungen", + "General": "Allgemein", + "Appearance": "Aussehen", + "Quality": "Qualität", + "Deezer": "Deezer", + "Theme": "App-Design", + "Currently": "Aktuell", + "Select theme": "App-Design auswählen", + "Light (default)": "Heller Modus (Standard)", + "Dark": "Dunkler Modus", + "Black (AMOLED)": "Schwarz (AMOLED)", + "Deezer (Dark)": "Deezer (Dunkel)", + "Primary color": "Primärfarbe", + "Selected color": "Ausgewählte Farbe", + "Use album art primary color": "Verwende die Primärfarbe des Albumcovers", + "Warning: might be buggy": "Warnung: könnte fehlerhaft sein", + "Mobile streaming": "Wiedergabe über Mobilfunknetz", + "Wifi streaming": "Wiedergabe über WLAN", + "External downloads": "Externe Downloads", + "Content language": "Content-Sprache", + "Not app language, used in headers. Now": "Aktuell", + "Select language": "Sprache auswählen", + "Content country": "Content-Land", + "Country used in headers. Now": "Aktuell", + "Log tracks": "Protokolliere Titel", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Gehörte Titel-Protokolle an Deezer senden, damit Flow richtig funktioniert", + "Offline mode": "Offline-Modus", + "Will be overwritten on start.": "Wird beim Start überschrieben.", + "Error logging in, check your internet connections.": + "Fehler beim Anmelden, überprüfe deine Internetverbindung.", + "Logging in...": "Angemeldet...", + "Download path": "Download-Pfad", + "Downloads naming": "Benennung der Downloads", + "Downloaded tracks filename": "Dateiname der heruntergeladenen Titel", + "Valid variables are": "Gültige Variablen sind", + "Reset": "Zurücksetzen", + "Clear": "Löschen", + "Create folders for artist": "Ordner für Künstler erstellen", + "Create folders for albums": "Ordner für Alben erstellen", + "Separate albums by discs": "Alben nach Discs trennen", + "Overwrite already downloaded files": + "Bereits heruntergeladene Dateien überschreiben", + "Copy ARL": "ARL kopieren", + "Copy userToken/ARL Cookie for use in other apps.": + "UserToken / ARL-Cookie zur Verwendung in anderen Anwendungen kopieren.", + "Copied": "Kopiert", + "Log out": "Abmelden", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Aufgrund von Plugin-Inkompatibilität ist die Anmeldung mit dem Browser ohne Neustart nicht möglich.", + "(ARL ONLY) Continue": "(NUR ARL) Fortfahren", + "Log out & Exit": "Abmelden & Beenden", + "Pick-a-Path": "Wähle einen Pfad", + "Select storage": "Verzeichnis auswählen", + "Go up": "Nach oben", + "Permission denied": "Zugriff verweigert", + "Language": "Sprache", + "Language changed, please restart Freezer to apply!": + "Sprache geändert, bitte Freezer neu starten!", + "Importing...": "Importiere...", + "Radio": "Radio", + //0.5.0 Strings: + "Storage permission denied!": "Speicherzugriff verweigert!", + "Failed": "Fehlgeschlagen", + "Queued": "Warteschleife", + //Updated in 0.5.1 - used in context of download: + "External": "Speicherplatz", + //0.5.0 + "Restart failed downloads": "Fehlgeschlagene Downloads neu starten", + "Clear failed": "Fehlgeschlagene Downloads löschen", + "Download Settings": "Download-Einstellungen", + "Create folder for playlist": "Ordner für Wiedergabelisten erstellen", + "Download .LRC lyrics": "Download .LRC lyrics", + "Proxy": "Proxy", + "Not set": "Nicht festgelegt", + "Search or paste URL": "Suchen oder Einfügen von URLs", + "History": "Verlauf", + //Updated 0.5.1 + "Download threads": "Gleichzeitige Downloads", + //0.5.0 + "Lyrics unavailable, empty or failed to load!": "Lyrics nicht verfügbar, leer oder laden fehlgeschlagen!", + "About": "Über", + "Telegram Channel": "Telegram Kanal", + "To get latest releases": "Um die neuesten Versionen zu erhalten", + "Official chat": "Offizieller Chat", + "Telegram Group": "Telegram Gruppe", + "Huge thanks to all the contributors! <3": "Großer Dank an alle Mitwirkenden! <3", + "Edit playlist": "Wiedergabeliste bearbeiten", + "Update": "Update", + "Playlist updated!": "Wiedergabeliste aktualisiert!", + "Downloads added!": "Downloads hinzugefügt!", + + //0.5.1 Strings: + "Save cover file for every track": "Albumcover für jeden Titel speichern", + "Download Log": "Download-Log", + "Repository": "Repository", + "Source code, report issues there.": "Quellcode, Probleme dort melden.", + + //0.5.2 Strings: + "Use system theme": "Systemvorgabe benutzen", + "Light": "Heller Modus", + + //0.5.3 Strings: + "Popularity": "Beliebtheit", + "User": "Benutzer", + "Track count": "Anzahl der Titel", + "If you want to use custom directory naming - use '/' as directory separator.": "Wenn du eine benutzerdefinierte Verzeichnisbenennung verwenden möchtest - verwende '/' als Verzeichnistrennzeichen." + } +}; \ No newline at end of file diff --git a/translations/old_languages/el_gr.dart b/translations/old_languages/el_gr.dart new file mode 100644 index 0000000..adcc630 --- /dev/null +++ b/translations/old_languages/el_gr.dart @@ -0,0 +1,244 @@ +/* + +Translated by: VIRGIN_KLM + + */ + +const language_el_gr = { + "el_gr": { + "Home": "Αρχική", + "Search": "Αναζήτηση", + "Library": "Βιβλιοθήκη", + "Offline mode, can't play flow or smart track lists.": + "Λειτουργία εκτός σύνδεσης, δεν είναι δυνατή η αναπαραγωγή flow ή έξυπνων λιστών κομματιών.", + "Added to library": "Προστέθηκε στη βιβλιοθήκη", + "Download": "Λήψη", + "Disk": "Δίσκος", + "Offline": "Εκτός σύνδεσης", + "Top Tracks": "Κορυφαία κομμάτια", + "Show more tracks": "Εμφάνιση περισσότερων κομματιών", + "Top": "Κορυφαία", + "Top Albums": "Κορυφαία Album", + "Show all albums": "Εμφάνιση όλων των album", + "Discography": "Δισκογραφία", + "Default": "Προεπιλογή", + "Reverse": "Αντίστροφα", + "Alphabetic": "Αλφαβητικά", + "Artist": "Καλλιτέχνης", + "Post processing...": "Μετεπεξεργασία...", + "Done": "Ολοκληρώθηκε", + "Delete": "Διαγραφή", + "Are you sure you want to delete this download?": + "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη λήψη;", + "Cancel": "Άκυρο", + "Downloads": "Λήψεις", + "Clear queue": "Εκκαθάριση ουράς", + "This won't delete currently downloading item": + "Αυτό δεν θα διαγράψει το τρέχον αντικείμενο λήψης", + "Are you sure you want to delete all queued downloads?": + "Είστε βέβαιοι ότι θέλετε να διαγράψετε όλες τις λήψεις στην ουρά;", + "Clear downloads history": "Διαγραφή ιστορικού λήψεων", + "WARNING: This will only clear non-offline (external downloads)": + "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτό θα καθαρίσει μόνο τις εκτός σύνδεσης (εξωτερικές) λήψεις", + "Please check your connection and try again later...": + "Ελέγξτε τη σύνδεσή σας και δοκιμάστε ξανά αργότερα...", + "Show more": "Δείτε περισσότερα", + "Importer": "Εισαγωγέας", + "Currently supporting only Spotify, with 100 tracks limit": + "Αυτήν τη στιγμή υποστηρίζεται μόνο το Spotify, με όριο 100 κομματιών", + "Due to API limitations": "Λόγω περιορισμών API", + "Enter your playlist link below": + "Εισαγάγετε τον σύνδεσμο λίστας αναπαραγωγής παρακάτω", + "Error loading URL!": "Σφάλμα φόρτωσης διεύθυνσης URL!", + "Convert": "Μετατροπή", + "Download only": "Μόνο λήψη", + "Downloading is currently stopped, click here to resume.": + "Η λήψη έχει σταματήσει, κάντε κλικ εδώ για να συνεχίσετε.", + "Tracks": "Κομμάτια", + "Albums": "Album", + "Artists": "Καλλιτέχνες", + "Playlists": "Λίστες αναπαραγωγής", + "Import": "Εισαγωγή", + "Import playlists from Spotify": + "Εισαγωγή λιστών αναπαραγωγής από το Spotify", + "Statistics": "Στατιστικά", + "Offline tracks": "Κομμάτια εκτός σύνδεσης", + "Offline albums": "Album εκτός σύνδεσης", + "Offline playlists": "Λίστες αναπαραγωγής εκτός σύνδεσης", + "Offline size": "Μέγεθος εκτός σύνδεσης", + "Free space": "Ελεύθερος χώρος", + "Loved tracks": "Αγαπημένα κομμάτια", + "Favorites": "Αγαπημένα", + "All offline tracks": "Όλα τα κομμάτια εκτός σύνδεσης", + "Create new playlist": "Δημιουργία λίστας αναπαραγωγής", + "Cannot create playlists in offline mode": + "Δεν είναι δυνατή η δημιουργία λιστών αναπαραγωγής σε λειτουργία εκτός σύνδεσης", + "Error": "Σφάλμα", + "Error logging in! Please check your token and internet connection and try again.": + "Σφάλμα σύνδεσης! Ελέγξτε το token και τη σύνδεσή σας στο δίκτυο και δοκιμάστε ξανά.", + "Dismiss": "Απόρριψη", + "Welcome to": "Καλωσήρθατε στο", + "Please login using your Deezer account.": + "Συνδεθείτε χρησιμοποιώντας τον λογαριασμό σας στο Deezer.", + "Login using browser": "Σύνδεση χρησιμοποιώντας το πρόγραμμα περιήγησης", + "Login using token": "Σύνδεση χρησιμοποιώντας token", + "Enter ARL": "Εισαγωγή ARL", + "Token (ARL)": "Token (ARL)", + "Save": "Αποθήκευση", + "If you don't have account, you can register on deezer.com for free.": + "Εάν δεν έχετε λογαριασμό, μπορείτε να εγγραφείτε δωρεάν στο deezer.com.", + "Open in browser": "Ανοιγμα σε πρόγραμμα περιήγησης", + "By using this app, you don't agree with the Deezer ToS": + "Χρησιμοποιώντας αυτήν την εφαρμογή, δεν συμφωνείτε με τους κανονισμούς χρήσης Deezer", + "Play next": "Παίξε αμέσως μετά", + "Add to queue": "Προσθήκη στην ουρά", + "Add track to favorites": "Προσθήκη κομμάτι στα αγαπημένα", + "Add to playlist": "Προσθήκη στην λίστα αναπαραγωγής", + "Select playlist": "Επιλογή λίστας αναπαραγωγής", + "Track added to": "Το κομμάτι προστέθηκε στο", + "Remove from playlist": "Κατάργηση από τη λίστα αναπαραγωγής", + "Track removed from": "Το κομμάτι καταργήθηκε από", + "Remove favorite": "Κατάργηση αγαπημένου", + "Track removed from library": "Το κομμάτι καταργήθηκε από τη βιβλιοθήκη", + "Go to": "Πήγαινε σε", + "Make offline": "Κάνε εκτός σύνδεσης", + "Add to library": "Προσθήκη στη βιβλιοθήκη", + "Remove album": "Κατάργηση album", + "Album removed": "Το album καταργήθηκε", + "Remove from favorites": "Κατάργηση από τα αγαπημένα", + "Artist removed from library": + "Ο καλλιτέχνης καταργήθηκε από τη βιβλιοθήκη", + "Add to favorites": "Προσθήκη στα αγαπημένα", + "Remove from library": "Κατάργηση από τη βιβλιοθήκη", + "Add playlist to library": "Προσθήκη λίστας αναπαραγωγής στη βιβλιοθήκη", + "Added playlist to library": "Προστέθηκε λίστα αναπαραγωγής στη βιβλιοθήκη", + "Make playlist offline": "Δημιουργία λίστας αναπαραγωγής εκτός σύνδεσης", + "Download playlist": "Λήψη λίστας αναπαραγωγής", + "Create playlist": "Δημιουργία λίστας αναπαραγωγής", + "Title": "Τίτλος", + "Description": "Περιγραφή", + "Private": "Ιδιωτικό", + "Collaborative": "Συνεργατικό", + "Create": "Δημιουργία", + "Playlist created!": "Η λίστα αναπαραγωγής δημιουργήθηκε!", + "Playing from:": "Παίζοντας από:", + "Queue": "Ουρά", + "Offline search": "Αναζήτηση εκτός σύνδεσης", + "Search Results": "Αποτελέσματα αναζήτησης", + "No results!": "Κανένα αποτέλεσμα!", + "Show all tracks": "Εμφάνιση όλων των κομματιών", + "Show all playlists": "Εμφάνιση όλων των λιστών αναπαραγωγής", + "Settings": "Ρυθμίσεις", + "General": "Γενικά", + "Appearance": "Εμφάνιση", + "Quality": "Ποιότητα", + "Deezer": "Deezer", + "Theme": "Θέμα", + "Currently": "Τρέχον", + "Select theme": "Επιλογή θέματος", + "Light (default)": "Φωτεινό (Προεπιλογή)", + "Dark": "Σκούρο", + "Black (AMOLED)": "Μαύρο (AMOLED)", + "Deezer (Dark)": "Deezer (Σκούρο)", + "Primary color": "Πρωτεύον χρώμα", + "Selected color": "Επιλεγμένο χρώμα", + "Use album art primary color": + "Χρησιμοποιήστε το πρωτεύον χρώμα του εξώφυλλου του album", + "Warning: might be buggy": "Προειδοποίηση: μπορεί να μη λειτουργεί σωστά", + "Mobile streaming": "Ροή μέσω δεδομένων κινητού δικτύου", + "Wifi streaming": "Ροή μέσω WIFI", + "External downloads": "Εξωτερικές λήψεις", + "Content language": "Γλώσσα περιεχομένου", + "Not app language, used in headers. Now": + "Όχι γλώσσα εφαρμογής, χρησιμοποιείται στις κεφαλίδες. Τρέχουσα", + "Select language": "Επιλογή γλώσσας", + "Content country": "Χώρα περιεχομένου", + "Country used in headers. Now": + "Χώρα που χρησιμοποιείται στις κεφαλίδες. Τρέχουσα", + "Log tracks": "Αρχεία καταγραφής", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Αποστολή αρχείων καταγραφής ακρόασης στο Deezer, ενεργοποιήστε το για ορθή λειτουργία υπηρεσιών όπως το Flow", + "Offline mode": "Λειτουργία εκτός σύνδεσης", + "Will be overwritten on start.": "Θα αντικατασταθεί κατά την εκκίνηση.", + "Error logging in, check your internet connections.": + "Σφάλμα σύνδεσης, ελέγξτε την σύνδεσή σας στο Δίκτυο.", + "Logging in...": "Σύνδεση...", + "Download path": "Διαδρομή λήψεων", + "Downloads naming": "Ονομασία λήψεων", + "Downloaded tracks filename": "Λήψη ονόματος αρχείου κομματιών", + "Valid variables are": "Οι έγκυρες μεταβλητές είναι", + "Reset": "Επαναφορά", + "Clear": "Εκκαθάριση", + "Create folders for artist": "Δημιουργήστε φακέλου για καλλιτέχνη", + "Create folders for albums": "Δημιουργήστε φακέλων για album", + "Separate albums by discs": "Διαχωρισμός albums σε δίσκους", + "Overwrite already downloaded files": "Αντικατάσταση ήδη ληφθέντων αρχείων", + "Copy ARL": "Αντιγραφή ARL", + "Copy userToken/ARL Cookie for use in other apps.": + "Αντιγραφή userToken/ARL Cookie για χρήση σε άλλες εφαρμογές.", + "Copied": "Αντιγράφηκε", + "Log out": "Αποσύνδεση", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Λόγω ασυμβατότητας προσθηκών, η σύνδεση μέσω προγράμματος περιήγησης δεν είναι διαθέσιμη χωρίς επανεκκίνηση.", + "(ARL ONLY) Continue": "(ARL ΜΟΝΟ) Συνέχεια", + "Log out & Exit": "Αποσύνδεση & Έξοδος", + "Pick-a-Path": "Διαλέξτε ένα μονοπάτι", + "Select storage": "Επιλέξτε χώρο αποθήκευσης", + "Go up": "Πήγαινε πάνω", + "Permission denied": "Η άδεια απορρίφθηκε", + "Language": "Γλώσσα", + "Language changed, please restart Freezer to apply!": + "Η γλώσσα άλλαξε, κάντε επανεκκίνηση του Freezer για εφαρμογή!", + "Importing...": "Εισαγωγή...", + "Radio": "Ραδιόφωνο", + "Flow": "Flow", + "Track is not available on Deezer!": + "Το κομμάτι δεν είναι διαθέσιμο στο Deezer!", + "Failed to download track! Please restart.": + "Αποτυχία λήψης κομματιού! Κάντε επανεκκίνηση. ", + + //0.5.0 Strings: + "Storage permission denied!": "Η άδεια χώρου αποθήκευσης απορρίφθηκε!", + "Failed": "Απέτυχαν", + "Queued": "Σε ουρά", + //Updated in 0.5.1 - used in context of download: + "External": "Χώρος αποθήκευσης", + //0.5.0 + "Restart failed downloads": "Επανεκκίνηση αποτυχημένων λήψεων", + "Clear failed": "Εκκαθάριση αποτυχημένων", + "Download Settings": "Ρυθμίσεις Λήψεων", + "Create folder for playlist": "Δημιουργία φακέλου για λίστα αναπαραγωγής", + "Download .LRC lyrics": "Λήψη στίχων .LRC", + "Proxy": "Μεσολαβητής", + "Not set": "Δεν ρυθμίστηκε", + "Search or paste URL": "Αναζήτηση ή επικόλληση διεύθυνσης URL", + "History": "Ιστορικό", + //Updated 0.5.1 + "Download threads": "Ταυτόχρονες λήψεις", + //0.5.0 + "Lyrics unavailable, empty or failed to load!": + "Οι στίχοι δεν είναι διαθέσιμοι, είναι άδειοι ή δεν φορτώθηκαν!", + "About": "Σχετικά", + "Telegram Channel": "Κανάλι Telegram ", + "To get latest releases": "Για να λάβετε τις τελευταίες κυκλοφορίες", + "Official chat": "Επίσημη συνομιλία", + "Telegram Group": "Ομάδα Telegram", + "Huge thanks to all the contributors! <3": + "Πολλά ευχαριστώ σε όλους τους συνεισφέροντες! <3", + "Edit playlist": "Edit playlist", + "Update": "Ενημέρωση", + "Playlist updated!": "Η λίστα αναπαραγωγής ενημερώθηκε!", + "Downloads added!": "Προστέθηκαν λήψεις!", + + //0.5.1 Strings: + "Save cover file for every track": "Αποθήκευση εξώφυλλου για κάθε κομμάτι", + "Download Log": "Αρχείο καταγραφής λήψεων", + "Repository": "Repository", + "Source code, report issues there.": + "Πηγαίος κώδικας, αναφέρετε ζητήματα εκεί.", + + //0.5.2 Strings: + "Use system theme": "Χρησιμοποίηση θέματος συστήματος", + "Light": "Φωτεινο" + } +}; diff --git a/translations/old_languages/es_es.dart b/translations/old_languages/es_es.dart new file mode 100644 index 0000000..9ebbcbe --- /dev/null +++ b/translations/old_languages/es_es.dart @@ -0,0 +1,235 @@ +/* + +Translated by: ArcherDelta & PetFix + +*/ + +const language_es_es = { + "es_es": { + "Home": "Inicio", + "Search": "Buscar", + "Library": "Biblioteca", + "Offline mode, can't play flow or smart track lists.": + "Modo sin conexión, no se puede reproducir el flow o las listas de pistas inteligentes.", + "Added to library": "Agregado a la biblioteca", + "Download": "Descargar", + "Disk": "Disco", + "Offline": "Sin conexión", + "Top Tracks": "Los mejores temas", + "Show more tracks": "Mostrar más pistas", + "Top": "Top", + "Top Albums": "Mejores álbumes", + "Show all albums": "Mostrar todos los álbumes", + "Discography": "Discografía", + "Default": "Predeterminado", + "Reverse": "Invertir", + "Alphabetic": "Alfabético", + "Artist": "Artista", + "Post processing...": "Post procesamiento...", + "Done": "Hecho", + "Delete": "Eliminar", + "Are you sure you want to delete this download?": + "¿Estás seguro de que quieres borrar esta descarga?", + "Cancel": "Cancelar", + "Downloads": "Descargas", + "Clear queue": "Limpiar la cola", + "This won't delete currently downloading item": + "Esto no borrará el elemento que se está descargando actualmente", + "Are you sure you want to delete all queued downloads?": + "¿Estás seguro de que quieres borrar todas las descargas en cola?", + "Clear downloads history": "Borrar el historial de descargas", + "WARNING: This will only clear non-offline (external downloads)": + "ADVERTENCIA: Esto sólo borrará las descargas que no están en modo sin conexión (descargas externas).", + "Please check your connection and try again later...": + "Por favor, compruebe su conexión y vuelva a intentarlo más tarde...", + "Show more": "Mostrar más", + "Importer": "Importador", + "Currently supporting only Spotify, with 100 tracks limit": + "Actualmente sólo se soporta Spotify, con un límite de 100 pistas", + "Due to API limitations": "Debido a limitaciones de API", + "Enter your playlist link below": + "Ingrese el enlace de su lista de reproducción a continuación", + "Error loading URL!": "¡Error al cargar la URL!", + "Convert": "Convertir", + "Download only": "Sólo descargar", + "Downloading is currently stopped, click here to resume.": + "La descarga está actualmente detenida, haga clic aquí para reanudarla.", + "Tracks": "Pistas", + "Albums": "Álbumes", + "Artists": "Artistas", + "Playlists": "Listas de reproducción", + "Import": "Importar", + "Import playlists from Spotify": + "Importar listas de reproducción de Spotify", + "Statistics": "Estadísticas", + "Offline tracks": "Pistas sin conexión", + "Offline albums": "Álbumes sin conexión", + "Offline playlists": "Listas de reproducción sin conexión", + "Offline size": "El tamaño sin conexión", + "Free space": "Espacio libre", + "Loved tracks": "Pistas favoritas", + "Favorites": "Favoritas", + "All offline tracks": "Todas las pistas fuera de línea", + "Create new playlist": "Crear nueva lista de reproducción", + "Cannot create playlists in offline mode": + "No se pueden crear listas de reproducción en el modo sin conexión", + "Error": "Error", + "Error logging in! Please check your token and internet connection and try again.": + "¡Error al iniciar la sesión! Por favor, compruebe su token y su conexión a Internet e inténtelo de nuevo.", + "Dismiss": "Descartar", + "Welcome to": "Bienvenido a", + "Please login using your Deezer account.": + "Por favor, inicie sesión con su cuenta de Deezer.", + "Login using browser": "Ingresar usando el navegador", + "Login using token": "Ingresar usando token", + "Enter ARL": "Ingrese ARL", + "Token (ARL)": "Token (ARL)", + "Save": "Guardar", + "If you don't have account, you can register on deezer.com for free.": + "Si no tienes una cuenta, puedes registrarte en deezer.com de forma gratuita.", + "Open in browser": "Abrir en el navegador", + "By using this app, you don't agree with the Deezer ToS": + "Al usar esta aplicación, no está de acuerdo con las Condiciones de servicio de Deezer", + "Play next": "Reproducir siguiente", + "Add to queue": "Añadir a la cola", + "Add track to favorites": "Agregar pista a favoritos", + "Add to playlist": "Agregar a la lista de reproducción", + "Select playlist": "Seleccionar lista de reproducción", + "Track added to": "Pista agregada a", + "Remove from playlist": "Quitar de la lista de reproducción", + "Track removed from": "Pista eliminada de", + "Remove favorite": "Eliminar favorito", + "Track removed from library": "Pista eliminada de la biblioteca", + "Go to": "Ir a", + "Make offline": "Hacerlo sin conexión", + "Add to library": "Agregar a la biblioteca", + "Remove album": "Eliminar álbum", + "Album removed": "Álbum eliminado", + "Remove from favorites": "Eliminar de favoritos", + "Artist removed from library": "Artista eliminado de la biblioteca", + "Add to favorites": "Agregar a favoritos", + "Remove from library": "Eliminar de la biblioteca", + "Add playlist to library": "Agregar lista de reproducción a la biblioteca", + "Added playlist to library": + "Lista de reproducción agregada a la biblioteca", + "Make playlist offline": "Hacer lista de reproducción sin conexión", + "Download playlist": "Descargar lista de reproducción", + "Create playlist": "Crear lista de reproducción", + "Title": "Título", + "Description": "Descripción", + "Private": "Privado", + "Collaborative": "Colaborativo", + "Create": "Crear", + "Playlist created!": "Lista de reproducción creada!", + "Playing from:": "Reproduciendo desde:", + "Queue": "Cola", + "Offline search": "Búsqueda sin conexión", + "Search Results": "Resultados de la búsqueda", + "No results!": "No hay resultados!", + "Show all tracks": "Mostrar todas las pistas", + "Show all playlists": "Mostrar todas las listas de reproducción", + "Settings": "Ajustes", + "General": "General", + "Appearance": "Apariencia", + "Quality": "Calidad", + "Deezer": "Deezer", + "Theme": "Tema", + "Currently": "Actualmente", + "Select theme": "Seleccione el tema", + "Light (default)": "Claro (predeterminado)", + "Dark": "Oscuro", + "Black (AMOLED)": "Negro (AMOLED)", + "Deezer (Dark)": "Deezer (oscuro)", + "Primary color": "Color primario", + "Selected color": "Color seleccionado", + "Use album art primary color": + "Usar el color primario de la carátula del álbum", + "Warning: might be buggy": "Advertencia: podría tener errores", + "Mobile streaming": "Transmisión móvil", + "Wifi streaming": "Transmisión WiFi", + "External downloads": "Descargas externas", + "Content language": "Lenguaje del contenido", + "Not app language, used in headers. Now": + "No es un lenguaje de la aplicación, se usa en los encabezados. Ahora", + "Select language": "Seleccione el idioma", + "Content country": "País del contenido", + "Country used in headers. Now": "País utilizado en los encabezados. Ahora", + "Log tracks": "Seguimiento de las pistas", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Envía los registros de escucha de las pistas a Deezer, habilítalo para que funciones como Flow funcionen correctamente", + "Offline mode": "Modo sin conexión", + "Will be overwritten on start.": "Se sobrescribirá al inicio.", + "Error logging in, check your internet connections.": + "Error al iniciar sesión, verifique su conexión a internet.", + "Logging in...": "Ingresando...", + "Download path": "Ruta de las descargas", + "Downloads naming": "Nombramiento de las descargas", + "Downloaded tracks filename": "Nombre de archivo de las pistas descargadas", + "Valid variables are": "Las variables válidas son", + "Reset": "Reiniciar", + "Clear": "Limpiar", + "Create folders for artist": "Crear carpetas por artista", + "Create folders for albums": "Crear carpetas por álbumes", + "Separate albums by discs": "Separar los álbumes por discos", + "Overwrite already downloaded files": + "Sobrescribir los archivos ya descargados", + "Copy ARL": "Copiar ARL", + "Copy userToken/ARL Cookie for use in other apps.": + "Copia el Token de usuario/Cookie ARL para su uso en otras aplicaciones.", + "Copied": "Copiado", + "Log out": "Cerrar sesión", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Debido a la incompatibilidad de los plugins, no se puede iniciar la sesión con el navegador sin reiniciar.", + "(ARL ONLY) Continue": "Continuar (SÓLO ARL)", + "Log out & Exit": "Cerrar sesión y salir", + "Pick-a-Path": "Escoja una ruta", + "Select storage": "Seleccionar el almacenamiento", + "Go up": "Subir", + "Permission denied": "Permiso denegado", + "Language": "Idioma", + "Language changed, please restart Freezer to apply!": + "¡El idioma ha cambiado, por favor reinicie Freezer para aplicarlo!", + "Importing...": "Importando...", + "Radio": "Radio", + "Flow": "Flow", + + //0.5.0 Strings: + "Storage permission denied!": "Permiso de almacenamiento denegado!", + "Failed": "Fallido", + "Queued": "Puesto en cola", + "External": "Almacenamiento", + "Restart failed downloads": "Reiniciar descargas fallidas", + "Clear failed": "Limpiar fallidas", + "Download Settings": "Opciones de descarga", + "Create folder for playlist": "Crear carpeta para lista de reproducción", + "Download .LRC lyrics": "Descargar archivo .LRC", + "Proxy": "Proxy", + "Not set": "No establecido", + "Search or paste URL": "Buscar o pegar URL", + "History": "Historial", + "Download threads": "Descargas simultáneas", + "Lyrics unavailable, empty or failed to load!": + "Letras no disponibles, vacías o no se pudieron cargar!", + "About": "Acerca de", + "Telegram Channel": "Canal de Telegram", + "To get latest releases": "Para obtener los últimos lanzamientos", + "Official chat": "Chat oficial", + "Telegram Group": "Grupo de Telegram", + "Huge thanks to all the contributors! <3": + "Muchas gracias a todos los contribuyentes contributors! <3", + "Edit playlist": "Editar lista de reproducción", + "Update": "Actualizar", + "Playlist updated!": "Lista de reproducción actualizada!", + "Downloads added!": "Descargas agregadas!", + "Save cover file for every track": + "Guarde el archivo de portada para cada pista", + "Download Log": "Registro de Descarga", + "Repository": "Repositorio", + "Source code, report issues there.": + "Código fuente, informe de problemas allí.", + + //0.5.2 Strings: + "Use system theme": "Usar tema del sistema", + "Light": "blanco" + } +}; diff --git a/translations/old_languages/fil_ph.dart b/translations/old_languages/fil_ph.dart new file mode 100644 index 0000000..a5ba171 --- /dev/null +++ b/translations/old_languages/fil_ph.dart @@ -0,0 +1,192 @@ +/* + +Translated by: Chino Pacia +Revised by: Garri Palao + +*/ + +const language_fil_ph = { + "fil_ph": { + "Home": "Home", + "Search": "Maghanap", + "Library": "Library", + "Offline mode, can't play flow or smart track lists.": + "Ikaw ay naka-offline mode, hindi ka pwedeng mag-play ng flow o mga smart track.", + "Added to library": "Idinagdag na sa library", + "Download": "I-download", + "Disk": "Disk", + "Offline": "Offline", + "Top Tracks": "Mga Nangungunang Track", + "Show more tracks": "Ipakita ang iba pang mga track", + "Top": "Nangunguna", + "Top Albums": "Nangungunang mga Album", + "Show all albums": "Ipakita lahat ng album", + "Discography": "Discography", + "Default": "Default", + "Reverse": "Pabalik", + "Alphabetic": "Alphabetic", + "Artist": "Artist", + "Post processing...": "Tinatapos na ang proseso...", + "Done": "Tapos na", + "Delete": "Burahin", + "Are you sure you want to delete this download?": + "Sigurado ka bang buburahin mo ang iyong dinownload?", + "Cancel": "I-kansel", + "Downloads": "Mga Download", + "Clear queue": "I-clear ang queue", + "This won't delete currently downloading item": + "Hindi nito buburahin ang dina-download mo ngayon", + "Are you sure you want to delete all queued downloads?": + "Sigurado ka bang buburahin lahat ang mga dina-download?", + "Clear downloads history": "I-clear ang kasaysayan ng mga download", + "WARNING: This will only clear non-offline (external downloads)": + "BABALA: Buburahin lang nito ang hindi pang-offline (mga eksternal na download)", + "Please check your connection and try again later...": + "I-check ang iyong koneksiyon at maaaring subukan mo ulit mamaya...", + "Show more": "Higit pa", + "Importer": "Taga-import", + "Currently supporting only Spotify, with 100 tracks limit": + "Suportado lang ang Spotify sa ngayon,na may limit sa 100 mga track", + "Due to API limitations": "Dahil sa limitasyon ng API", + "Enter your playlist link below": "Pakilagay ang link ng iyong playlist sa ibaba", + "Error loading URL!": "Nagkaroon ng problema sa URL!", + "Convert": "I-convert", + "Download only": "I-download lang", + "Downloading is currently stopped, click here to resume.": + "Huminto ang download mo, mag-click dito para ituloy", + "Tracks": "Mga Track", + "Albums": "Mga Album", + "Artists": "Mga Artist", + "Playlists": "Mga Playlist", + "Import": "I-import", + "Import playlists from Spotify": "I-import ang mga playlist galing sa Spotify", + "Statistics": "Statistics", + "Offline tracks": "Mga offline na track", + "Offline albums": "Mga offline na album", + "Offline playlists": "Mga offline na playlist", + "Offline size": "Laki ng offline", + "Free space": "Natitirang space", + "Loved tracks": "Pinusuang mga track", + "Favorites": "Mga paborito", + "All offline tracks": "Lahat ng track na pang-offline", + "Create new playlist": "Gumawa ng bagong playlist", + "Cannot create playlists in offline mode": + "Hindi makagagawa ng playlist habang naka-offline mode", + "Error": "Error", + "Error logging in! Please check your token and internet connection and try again.": + "Hindi maka-login! I-check ang iyong token at koneksiyon at ulitin mo.", + "Dismiss": "I-dismiss", + "Welcome to": "Welcome sa", + "Please login using your Deezer account.": + "Paki-login ang iyong Deezer account", + "Login using browser": "Mag-login gamit ng browser", + "Login using token": "Mag-login gamit ng token", + "Enter ARL": "Pakilagay ang ARL", + "Token (ARL)": "Token (ARL)", + "Save": "I-save", + "If you don't have account, you can register on deezer.com for free.": + "Kung wala kang account, pumunta sa deezer.com para sa libreng pag-register.", + "Open in browser": "Buksan sa browser", + "By using this app, you don't agree with the Deezer ToS": + "Sa pag-gamit nitong app, ikaw ay hindi sumusunod sa Deezer ToS", + "Play next": "I-play ang kasunod", + "Add to queue": "Idagdag sa queue", + "Add track to favorites": "Idagdag ang track sa mga paborito", + "Add to playlist": "Idagdag sa playlist", + "Select playlist": "Piliin ang playlist", + "Track added to": "Idinagdag ang track sa", + "Remove from playlist": "Tinanggal sa playlist", + "Track removed from": "Tinanggal ang track sa", + "Remove favorite": "Tanggalin ang paborito", + "Track removed from library": "Tinanggal ang track sa library", + "Go to": "Pumunta sa", + "Make offline": "Gawing offline", + "Add to library": "Idagdag sa library", + "Remove album": "Tanggalin ang album", + "Album removed": "Tinanggal ang album", + "Remove from favorites": "Tanggalin sa mga paborito", + "Artist removed from library": "Tinanggal ang artist sa library", + "Add to favorites": "Idagdag sa mga paborito", + "Remove from library": "Tanggalin sa library", + "Add playlist to library": "Idagdag ang playlist sa library", + "Added playlist to library": "Idinagdag ang playlist sa library", + "Make playlist offline": "Gawing offline ang playlist", + "Download playlist": "I-download ang playlist", + "Create playlist": "Gumawa ng playlist", + "Title": "Pamagat", + "Description": "Deskripsiyon", + "Private": "Pribado", + "Collaborative": "Pagtutulungan", + "Create": "Mag-buo", + "Playlist created!": "Nagawa na ang playlist!", + "Playing from:": "Tumutugtog galing sa:", + "Queue": "Queue", + "Offline search": "Offline na paghahanap", + "Search Results": "Resulta sa Paghahanap", + "No results!": "Walang mahanap!", + "Show all tracks": "Ipakita lahat ng mga track", + "Show all playlists": "Ipakita lahat ng mga playlist", + "Settings": "Mga Setting", + "General": "Pangkalahatan", + "Appearance": "Itsura", + "Quality": "Kalidad", + "Deezer": "Deezer", + "Theme": "Tema", + "Currently": "Kasalukuyan", + "Select theme": "Piliin ang Tema", + "Light (default)": "Puti (Default)", + "Dark": "Dark", + "Black (AMOLED)": "Maitim (AMOLED)", + "Deezer (Dark)": "Deezer (Madilim)", + "Primary color": "Pangunahing kulay", + "Selected color": "Piniling kulay", + "Use album art primary color": "Gamitin ang pangunahing kulay ng album art", + "Warning: might be buggy": "Babala: Pwedeng magkaroon ng bug", + "Mobile streaming": "Pag-stream sa mobile", + "Wifi streaming": "Pag-stream sa Wifi", + "External downloads": "Eksternal na download", + "Content language": "Wika ng nilalaman", + "Not app language, used in headers. Now": + "gagamitin lang ang wika sa header, hindi sa app. Ngayon", + "Select language": "Piliin ang wika", + "Content country": "Bansa ng nilalaman", + "Country used in headers. Now": "Gagamitin ang bansa sa mga header. Ngayon", + "Log tracks": "Log ng mga track", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Ipadala ang log ng mga napakinggang track sa Deezer, I-enable mo para gumana nang maayos sa mga feature kagaya ng Flow", + "Offline mode": "Offline mode", + "Will be overwritten on start.": "Papatungan sa simula pa lang.", + "Error logging in, check your internet connections.": + "Hindi maka-login, Pakicheck ang iyong internet connection.", + "Logging in...": "Nagla-login...", + "Download path": "Paglalagyan ng download", + "Downloads naming": "Pagpapangalan sa mga download", + "Downloaded tracks filename": "Filename ng mga nadownload na track", + "Valid variables are": "Ang mga pwede lang gamitin ay", + "Reset": "I-reset", + "Clear": "I-clear", + "Create folders for artist": "Gumawa ng folder para sa mga artist", + "Create folders for albums": "Gumawa ng folder para sa mga album", + "Separate albums by discs": "Ihiwalay ang mga album batay sa disk", + "Overwrite already downloaded files": "Patungan ang mga nadownload na file", + "Copy ARL": "Kopyahin ang ARL", + "Copy userToken/ARL Cookie for use in other apps.": + "Kopyahin ang userToken/ARL Cookie para gamitin sa iba pang app.", + "Copied": "Nakopya na", + "Log out": "Mag-Log out", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Hindi ka makakapag-login gamit ng browser kung hindi mo ito ire-restart dahil hindi pa compatible ang plugin sa ngayon", + "(ARL ONLY) Continue": "(ARL LANG) Ituloy", + "Log out & Exit": "Mag-Log out at Lumabas", + "Pick-a-Path": "Pumili-ng-Path", + "Select storage": "Piliin ang storage", + "Go up": "Pumunta paitaas", + "Permission denied": "Hindi pinapayagan", + "Language": "Wika", + "Language changed, please restart Freezer to apply!": + "Pinalitan ang wika, paki-restart ang Deezer para mai-apply!", + "Importing...": "Ini-import...", + "Radio": "Radyo", + "Flow": "Flow", + } +}; \ No newline at end of file diff --git a/translations/old_languages/fr_fr.dart b/translations/old_languages/fr_fr.dart new file mode 100644 index 0000000..a2e742d --- /dev/null +++ b/translations/old_languages/fr_fr.dart @@ -0,0 +1,251 @@ +/* + +Translated by: Fwwwwwwwwwweze + + */ + +const language_fr_fr = { + "fr_fr": { + "Home": "Accueil", + "Search": "Recherche", + "Library": "Bibliothèque", + "Offline mode, can't play flow or smart track lists.": + "Le mode hors connexion ne permet pas d'accéder à votre Flow.", + "Added to library": "Ajouté à la bibliothèque", + "Download": "Télécharger", + "Disk": "Disque", + "Offline": "Hors connexion", + "Top Tracks": "Top Tracks", + "Show more tracks": "Afficher plus de pistes", + "Top": "Top", + "Top Albums": "Top Albums", + "Show all albums": "Afficher tous les albums", + "Discography": "Discographie", + "Default": "Par défaut", + "Reverse": "Inverse", + "Alphabetic": "Alphabétique", + "Artist": "Artiste", + "Post processing...": "Post-traitement...", + "Done": "Effectué", + "Delete": "Supprimer", + "Are you sure you want to delete this download?": + "Êtes-vous certain de vouloir supprimer ce téléchargement ?", + "Cancel": "Annuler", + "Downloads": "Téléchargements", + "Clear queue": "Effacer file d'attente", + "This won't delete currently downloading item": + "Ceci ne supprimera pas l'élément en cours de téléchargement", + "Are you sure you want to delete all queued downloads?": + "Êtes-vous sûr de vouloir supprimer tous les téléchargements en file d'attente ?", + "Clear downloads history": "Effacer l'historique des téléchargements", + "WARNING: This will only clear non-offline (external downloads)": + "AVERTISSEMENT: Ceci n'effacera que les téléchargements non hors connexion (téléchargements externes)", + "Please check your connection and try again later...": + "Veuillez vérifier votre connexion et réessayer plus tard...", + "Show more": "Plus d'informations", + "Importer": "Importer", + "Currently supporting only Spotify, with 100 tracks limit": + "Ne fonctionne qu'avec Spotify pour le moment, avec une limite de 100 pistes", + "Due to API limitations": "En raison des limitations de l'API", + "Enter your playlist link below": + "Coller le lien de votre playlist ci-dessous", + "Error loading URL!": "Erreur de chargement de l'URL!", + "Convert": "Convertir", + "Download only": "Téléchargement uniquement", + "Downloading is currently stopped, click here to resume.": + "Le téléchargement est actuellement arrêté, cliquez ici pour le reprendre.", + "Tracks": "Pistes", + "Albums": "Albums", + "Artists": "Artistes", + "Playlists": "Playlists", + "Import": "Importer", + "Import playlists from Spotify": "Importer des playlists depuis Spotify", + "Statistics": "Statistiques", + "Offline tracks": "Pistes hors connexion", + "Offline albums": "Albums hors connexion", + "Offline playlists": "Playlists hors connexion", + "Offline size": "Taille des fichiers hors connexion", + "Free space": "Espace libre", + "Loved tracks": "Coups de cœur", + "Favorites": "Favoris", + "All offline tracks": "Toutes les pistes hors connexion", + "Create new playlist": "Créer une nouvelle playlist", + "Cannot create playlists in offline mode": + "Création de playlists impossible en mode hors connexion", + "Error": "Erreur", + "Error logging in! Please check your token and internet connection and try again.": + "Erreur de connexion ! Veuillez vérifier votre token et votre connexion internet et réessayer.", + "Dismiss": "Abandonner", + "Welcome to": "Bienvenue sur", + "Please login using your Deezer account.": + "Veuillez vous connecter en utilisant votre compte Deezer.", + "Login using browser": "Connexion via navigateur", + "Login using token": "Connexion via token", + "Enter ARL": "Saisir ARL", + "Token (ARL)": "Token (ARL)", + "Save": "Sauvegarder", + "If you don't have account, you can register on deezer.com for free.": + "Si vous n'avez pas de compte, vous pouvez vous inscrire gratuitement sur deezer.com.", + "Open in browser": "Ouvrir dans le navigateur", + "By using this app, you don't agree with the Deezer ToS": + "En utilisant cette application, vous ne respectez pas les CGU de Deezer", + "Play next": "Écouter juste après", + "Add to queue": "Ajouter à la file d'attente", + "Add track to favorites": "Ajouter aux Coups de cœur", + "Add to playlist": "Ajouter à une playlist", + "Select playlist": "Choisir une playlist", + "Track added to": "Piste ajoutée à", + "Remove from playlist": "Retirer de la playlist", + "Track removed from": "Piste retirée de", + "Remove favorite": "Supprimer Coup de cœur ", + "Track removed from library": "Piste supprimée de la bibliothèque", + "Go to": "Aller à", + "Make offline": "Rendre hors connexion", + "Add to library": "Ajouter à la bibliothèque", + "Remove album": "Supprimer l'album", + "Album removed": "Album supprimé", + "Remove from favorites": "Retirer des Coups de cœur", + "Artist removed from library": "Artiste supprimé de la bibliothèque", + "Add to favorites": "Ajouter aux Coups de cœur", + "Remove from library": "Retirer de la bibliothèque", + "Add playlist to library": "Ajouter la playlist à la bibliothèque", + "Added playlist to library": "Playlist ajoutée à la bibliothèque", + "Make playlist offline": "Rendre la playlist hors connexion", + "Download playlist": "Télécharger la playlist", + "Create playlist": "Créer une playlist", + "Title": "Titre", + "Description": "Description", + "Private": "Privée", + "Collaborative": "Collaborative", + "Create": "Créer", + "Playlist created!": "Playlist créée !", + "Playing from:": "Lecture à partir de :", + "Queue": "File d'attente", + "Offline search": "Recherche hors connexion", + "Search Results": "Résultats de la recherche", + "No results!": "Aucun résultat !", + "Show all tracks": "Afficher toutes les pistes", + "Show all playlists": "Afficher toutes les playlists", + "Settings": "Paramètres", + "General": "Général", + "Appearance": "Apparence", + "Quality": "Qualité", + "Deezer": "Deezer", + "Theme": "Thème", + "Currently": "Actuellement", + "Select theme": "Selectionner un thème", + "Light (default)": "Clair (Par défaut)", + "Dark": "Sombre", + "Black (AMOLED)": "Noir (AMOLED)", + "Deezer (Dark)": "Deezer (Sombre)", + "Primary color": "Couleur principale", + "Selected color": "Couleur sélectionnée", + "Use album art primary color": + "Utiliser la couleur dominante de la pochette en tant que couleur principale", + "Warning: might be buggy": "Attention : peut être buggé", + "Mobile streaming": "Streaming via réseau mobile", + "Wifi streaming": "Streaming via Wifi", + "External downloads": "Téléchargements externes", + "Content language": "Langue du contenu", + "Not app language, used in headers. Now": + "Pas la langue de l'appli, utilisée dans les en-têtes de catégories. Actuellement", + "Select language": "Selectionner la langue", + "Content country": "Pays contenu", + "Country used in headers. Now": + "Pays utilisé pour les bannières. Actuellement", + "Log tracks": "Journal d'écoute", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Envoie les journaux d'écoute à Deezer, activez-le pour que les fonctionnalités comme Flow fonctionnent correctement", + "Offline mode": "Mode hors connexion", + "Will be overwritten on start.": "Sera écrasé au démarrage.", + "Error logging in, check your internet connections.": + "Erreur de connexion, vérifiez votre connexion internet", + "Logging in...": "Connexion...", + "Download path": "Emplacement des téléchargements", + "Downloads naming": "Désignation des téléchargement", + "Downloaded tracks filename": "nom de fichier des pistes téléchargées", + "Valid variables are": "Les variables valides sont", + "Reset": "Réinitialiser", + "Clear": "Effacer", + "Create folders for artist": "Générer des dossiers par artiste", + "Create folders for albums": "Générer des dossiers par album", + "Separate albums by discs": "Séparer les albums par disques", + "Overwrite already downloaded files": + "Écraser les fichiers déjà téléchargés", + "Copy ARL": "Copier ARL", + "Copy userToken/ARL Cookie for use in other apps.": + "Copier le Cookie userToken/ARL pour l'utiliser dans d'autres applications.", + "Copied": "Copié", + "Log out": "Déconnexion", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "En raison d'une incompatibilité de plugin, la connexion à l'aide du navigateur est impossible sans redémarrage.", + "(ARL ONLY) Continue": "(ARL SEULEMENT) Continuer", + "Log out & Exit": "Se déconnecter et quitter", + "Pick-a-Path": "Choissez un emplacement", + "Select storage": "Selectionner le stockage", + "Go up": "Remonter", + "Permission denied": "Autorisation refusée", + "Language": "Langue", + "Language changed, please restart Freezer to apply!": + "Langue modifiée, veuillez redémarrer Freezer pour que les changements prennent effet!", + "Importing...": "Importation...", + "Radio": "Radio", + "Flow": "Flow", + "Track is not available on Deezer!": + "La piste n'est pas disponible sur Deezer!", + "Failed to download track! Please restart.": + "Echec du téléchargement de la piste ! Veuillez réessayer.", + + //0.5.0 Strings: + "Storage permission denied!": "Autorisation d'accès au stockage refusée!", + "Failed": "Echec", + "Queued": "Ajouté à la file d'attente", + //Updated in 0.5.1 - used in context of download: + "External": "Storage", + //0.5.0 + "Restart failed downloads": "Relancer les téléchargements échoués", + "Clear failed": "Effacer les téléchargements échoués", + "Download Settings": "Paramètres des téléchargements", + "Create folder for playlist": "Générer des dossiers par playlist", + "Download .LRC lyrics": "Télécharger les fichiers de paroles .LRC", + "Proxy": "Proxy", + "Not set": "Non défini", + "Search or paste URL": "Rechercher ou coller un lien", + "History": "Historique", + //Updated 0.5.1 + "Download threads": "Téléchargements simultanés", + //0.5.0 + "Lyrics unavailable, empty or failed to load!": + "Paroles indisponibles, vides ou erreur de chargement !", + "About": "A propos", + "Telegram Channel": "Telegram Channel", + "To get latest releases": "Pour obtenir les dernières versions de l'app", + "Official chat": "Chat officiel", + "Telegram Group": "Groupe Telegram", + "Huge thanks to all the contributors! <3": + "Un grand merci à tous les contributeurs ! <3", + "Edit playlist": "Modifier la playlist", + "Update": "Mettre à jour", + "Playlist updated!": "Playlist mise à jour !", + "Downloads added!": "Téléchargements ajoutés !", + + //0.5.1 Strings: + "Save cover file for every track": + "Sauvegarder la pochette pour chaque piste", + "Download Log": "Journal des téléchargements", + "Repository": "Dépôt", + "Source code, report issues there.": + "Code source, signaler les problèmes ici.", + + //0.5.2 Strings: + "Use system theme": "Utiliser le thème du système", + "Light": "Clair", + + //0.5.3 Strings: + "Popularity": "Popularité", + "User": "Utilisateur", + "Track count": "Nombre de pistes", + "If you want to use custom directory naming - use '/' as directory separator.": + "Si vous souhaitez utiliser un nom de répertoire personnalisé, utilisez '/' comme séparateur." + } +}; diff --git a/translations/old_languages/he_il.dart b/translations/old_languages/he_il.dart new file mode 100644 index 0000000..7ec39a7 --- /dev/null +++ b/translations/old_languages/he_il.dart @@ -0,0 +1,193 @@ +/* + +Translated by: kobyrevah + +*/ + +const language_he_il = { + "he_il": { + "Home": "בית", + "Search": "חיפוש", + "Library": "ספריה", + "Offline mode, can't play flow or smart track lists.": + "מצב לא מקוון, לא יכול לנגן flow או רשימות שירים חכמות.", + "Added to library": "הוסף לסיפרייה", + "Download": "הורד", + "Disk": "דיסק", + "Offline": "לא מקוון", + "Top Tracks": "השירים שבטופ", + "Show more tracks": "הראה עוד שירים", + "Top": "טופ", + "Top Albums": "האלבומים המובילים", + "Show all albums": "הראה את כל האלבומים", + "Discography": "דיסקוגרפיה", + "Default": "ברירת מחדל", + "Reverse": "הפוך", + "Alphabetic": "אלפבתי", + "Artist": "אמן", + "Post processing...": "לאחר עיבוד...", + "Done": "בוצע", + "Delete": "מחק", + "Are you sure you want to delete this download?": + "האם אתה בטוח שאתה רוצה למחוק את ההורדה הזאת?", + "Cancel": "בטל", + "Downloads": "הורדות", + "Clear queue": "נקה תור ", + "This won't delete currently downloading item": + "פעולה זו לא תמחק את הפריט שמורד עכשיו", + "Are you sure you want to delete all queued downloads?": + "האם אתה בטוח שאתה רוצה למחוק את כל ההורדות שבתור?", + "Clear downloads history": "נקה היסטורית הורדות", + "WARNING: This will only clear non-offline (external downloads)": + "אזהרה: זה ינקה רק את הקבצים שלא אופליין (כלומר רק הורדות חיצוניות)", + "Please check your connection and try again later...": + "בבקשה בדוק את חיבור הרשת שלך ונסה שוב מאוחר יותר...", + "Show more": "הראה עוד", + "Importer": "מייבא רשימות השמעה", + "Currently supporting only Spotify, with 100 tracks limit": + "כרגע תומך רק בספוטיפיי, עם הגבלה של 100 שירים", + "Due to API limitations": "בגלל מגבלות ה- API", + "Enter your playlist link below": "הכנס את קישור רשימת ההשמעה שלך למטה", + "Error loading URL!": "שגיאה בטעינת הקישור!", + "Convert": "המר", + "Download only": "הורד", + "Downloading is currently stopped, click here to resume.": + "ההורדה כרגע מושהית, לחץ כאן להמשיך.", + "Tracks": "שירים", + "Albums": "אלבומים", + "Artists": "אומנים", + "Playlists": "רשימות השמעה", + "Import": "יבא", + "Import playlists from Spotify": "יבא רשימת השמעה מספוטיפיי", + "Statistics": "סטטיסטיקה", + "Offline tracks": "שירים לא מקוונים", + "Offline albums": "אלבומים לא מקוונים", + "Offline playlists": "רשימות השמעה לא מקוונות", + "Offline size": "גודל קבצים לא מקוונים", + "Free space": "מקום פנוי", + "Loved tracks": "שירים אהובים", + "Favorites": "מועדפים", + "All offline tracks": "כל השירים הלא מקוונים", + "Create new playlist": "צור רשימת השמעה חדשה", + "Cannot create playlists in offline mode": + "לא יכול ליצור רשימת השמעה במצב אופליין", + "Error": "שגיאה", + "Error logging in! Please check your token and internet connection and try again.": + "שגיאה בהתחברות! בדוק בבקשה את הטוקן שלך או את חיבור האינטרנט שלך ונסה שוב.", + "Dismiss": "התעלם", + "Welcome to": "ברוך הבא ל", + "Please login using your Deezer account.": + "בבקשה התחבר עם חשבון הדיזר שלך.", + "Login using browser": "התחבר דרך הדפדפן", + "Login using token": "התחבר דרך טוקן", + "Enter ARL": "הכנס טוקן", + "Token (ARL)": "טוקן (קישור אישי)", + "Save": "שמור", + "If you don't have account, you can register on deezer.com for free.": + "לאם אין לך חשבון, אתה יכול להירשם ב deezer.com בחינם.", + "Open in browser": "פתח בדפדפן", + "By using this app, you don't agree with the Deezer ToS": + "באמצעות שימוש ביישום הזה, אתה לא מסכים עם התנאים של דיזר", + "Play next": "נגן הבא בתור", + "Add to queue": "הוסף לתור", + "Add track to favorites": "הוסף שיר למועדפים", + "Add to playlist": "הוסף לרשימת השמעה", + "Select playlist": "בחר רשימת השמעה", + "Track added to": "שיר נוסף ל", + "Remove from playlist": "הסר מרשימת השמעה", + "Track removed from": "שיר הוסר מ", + "Remove favorite": "הסר מועדף", + "Track removed from library": "השיר הוסר מהסיפרייה", + "Go to": "לך ל", + "Make offline": "הורד לשימוש לא מקוון", + "Add to library": "הוסף לספריה", + "Remove album": "הסר אלבום", + "Album removed": "אלבום הוסר", + "Remove from favorites": "הסר מהמועדפים", + "Artist removed from library": "אמן הוסר מהסיפרייה", + "Add to favorites": "הוסף למועדפים", + "Remove from library": "הסר מהסיפרייה", + "Add playlist to library": "הוסף רשימת השמעה לסיפרייה", + "Added playlist to library": "רשימת השמעה נוספה לסיפרייה", + "Make playlist offline": "צור רשימת השמעה לא מקוונת", + "Download playlist": "הורד רשימת השמעה", + "Create playlist": "צור רשימת המעה", + "Title": "שם", + "Description": "תיאור", + "Private": "פרטי", + "Collaborative": "שיתופי פעולה", + "Create": "צור", + "Playlist created!": "רשימת השמעה נוצרה!", + "Playing from:": "מנגן מ:", + "Queue": "תור", + "Offline search": "חיפוש אופליין", + "Search Results": "תוצאות חיפוש", + "No results!": "אין תוצאות!", + "Show all tracks": "הראה את כל השירים", + "Show all playlists": "הראה את כל רשימות ההשמעה", + "Settings": "הגדרות", + "General": "כללי", + "Appearance": "מראה", + "Quality": "איכות", + "Deezer": "דיזר", + "Theme": "ערכת נושא", + "Currently": "בשימוש כרגע", + "Select theme": "בחר ערכת נושא", + "Light (default)": "בהיר (ברירת מחדח)", + "Dark": "כהה", + "Black (AMOLED)": "שחור (אמולד)", + "Deezer (Dark)": "דיזר (כהה)", + "Primary color": "צבע ראשי", + "Selected color": "בחר צבע", + "Use album art primary color": "השתמש בצבע ראשי של תמונת האלבום", + "Warning: might be buggy": "אזהרה: יכול להיות באגים", + "Mobile streaming": "הזרמת רשת סלולרית", + "Wifi streaming": "הזרמת רשת אלחוטית", + "External downloads": "הורדות חיצוניות", + "Content language": "שפת תוכן", + "Not app language, used in headers. Now": + "לא שפת היישום, שימוש בכותרות. עכשיו", + "Select language": "בחר שפה", + "Content country": "מדינת תוכן", + "Country used in headers. Now": "מדינה שמוצגת בכותרות. עכשיו", + "Log tracks": "לוג שמיעת שירים", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "שלח לוגים של השמעה לדיזר, הפעל מצב זה כדי שתכונות כמו flow יעבדו טוב", + "Offline mode": "מצב אופליין", + "Will be overwritten on start.": "יוחלף בהפעלה.", + "Error logging in, check your internet connections.": + "שגיאה בהתחברות, בדוק את חיבור הרשת שלך.", + "Logging in...": "מתחבר...", + "Download path": "נתיב הורדה", + "Downloads naming": "שינוי שם בהורדה", + "Downloaded tracks filename": "שם קבצי שירים בהורדה", + "Valid variables are": "האפשרויות המוצעות הם", + "Reset": "אתחל", + "Clear": "נקה", + "Create folders for artist": "צור תיקייה לאמנים", + "Create folders for albums": "צור תיקייה לאלבומים", + "Separate albums by discs": "חלק אלבומים לפי דיסקים", + "Overwrite already downloaded files": "החלף קבצים שכבר הורדו", + "Copy ARL": "העתק טוקן", + "Copy userToken/ARL Cookie for use in other apps.": + "העתק את הטוקן לשימוש בישומים אחרים.", + "Copied": "הועתק", + "Log out": "התנתק", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "בגלל אי התאמת התוסף, ההתחברות באמצעות הדפדפן אינה זמינה ללא הפעלה מחדש.", + "(ARL only) Continue": "(טוקן בלבד) המשך", + "Log out & Exit": "התנתק וצא", + "Pick-a-Path": "בחר נתיב", + "Select storage": "בחר אחסון", + "Go up": "עלה למעלה", + "Permission denied": "הרשאה נדחתה", + "Language": "שפה", + "Language changed, please restart Freezer to apply!": + "שפה שונתה, בבקשה הפעל מחדש את Freezer כדי להחיל!", + "Importing...": "מייבא...", + "Radio": "רדיו", + "Flow": "Flow", + "Track is not available on Deezer!": "שיר לא קיים בדיזר!", + "Failed to download track! Please restart.": "הורדת השיר נכשלה! התחל מחדש." + } +}; diff --git a/translations/old_languages/hr_hr.dart b/translations/old_languages/hr_hr.dart new file mode 100644 index 0000000..5e6bb0d --- /dev/null +++ b/translations/old_languages/hr_hr.dart @@ -0,0 +1,195 @@ +/* + +Translated by: Shazzaam + + */ + +const language_hr_hr = { + "hr_hr": { + "Home": "Početna", + "Search": "Tražilica", + "Library": "Biblioteka", + "Offline mode, can't play flow or smart track lists.": + "Izvanmrežični način, ne može se reproducirati flow ili pametni popis pjesama", + "Added to library": "Dodano u biblioteku", + "Download": "Skini", + "Disk": "Disk", + "Offline": "Izvranmrežno", + "Top Tracks": "Top Pjesme", + "Show more tracks": "Prikaži više pjesama", + "Top": "Top", + "Top Albums": "Top Albumi", + "Show all albums": "Prikaži više albuma", + "Discography": "Diskografija", + "Default": "Zadano", + "Reverse": "Obrnuto", + "Alphabetic": "Abecedno", + "Artist": "Umjetnik", + "Post processing...": "Naknadna obrada...", + "Done": "Gotovo", + "Delete": "Izbriši", + "Are you sure you want to delete this download?": + "Jeste li sigurni da želite izbrisati ovo skidanje?", + "Cancel": "Poništi", + "Downloads": "Skidanja", + "Clear queue": "Očisti red", + "This won't delete currently downloading item": + "Ovo neće izbrisati stavku koja se trenutno skida ", + "Are you sure you want to delete all queued downloads?": + "Jeste li sigurni da želite da poništite sva skidanja u redu čekanja", + "Clear downloads history": "Očisti povijest skidanja", + "WARNING: This will only clear non-offline (external downloads)": + "UPOZORENJE: Ovo će ukloniti samo izvanmrežna (vanjska) skidanja", + "Please check your connection and try again later...": + "Molimo vas da provjerite vašu konekciju i da pokušate ponovno...", + "Show more": "Pokaži više", + "Importer": "Uvoznik", + "Currently supporting only Spotify, with 100 tracks limit": + "Trenutno podržava samo Spotify, sa limitom od 100 pjesama", + "Due to API limitations": "Zbog ograničenja API-a", + "Enter your playlist link below": + "Unesite vezu od vašeg popisa za reprodukciju ispod", + "Error loading URL!": "Pogreška pri učitavanju URL-a!", + "Convert": "Pretvori", + "Download only": "Samo skidanja", + "Downloading is currently stopped, click here to resume.": + "Skidanja su trenutno zaustavljena, kliknite ovdje da se nastave.", + "Tracks": "Pjesme", + "Albums": "Albumi", + "Artists": "Umjetnici", + "Playlists": "Popisi za reprodukciju", + "Import": "Uvezi", + "Import playlists from Spotify": "Uvezi popis za reprodukciju sa Spotify-a", + "Statistics": "Statistike", + "Offline tracks": "Izvanmrežične pjesme", + "Offline albums": "Izvanmrežični albumi", + "Offline playlists": "Izvanmrežični popisi za reprodukciju", + "Offline size": "Izvanmrežična veličina", + "Free space": "Slobodno mjesto", + "Loved tracks": "Voljene pjesme", + "Favorites": "Favoriti", + "All offline tracks": "Sve izvanmrežične pjesme", + "Create new playlist": "Kreirajte novi popis za reprodukciju", + "Cannot create playlists in offline mode": + "Nije moguće napraviti popis za reprodukciju u izvanmrežnom načinu", + "Error": "Pogreška", + "Error logging in! Please check your token and internet connection and try again.": + "Pogreška pri prijavljivanju! Molimo vas da provjerite token i internet konekciju i da pokušate ponovno.", + "Dismiss": "Odbaciti", + "Welcome to": "Dobrodošli u", + "Please login using your Deezer account.": + "Molimo vas da se prijavite pomoću vašeg Deezer računa.", + "Login using browser": "Prijava pomoću preglednika", + "Login using token": "Prijava pomoću tokena", + "Enter ARL": "Upišite ARL", + "Token (ARL)": "Token (ARL)", + "Save": "Spremi", + "If you don't have account, you can register on deezer.com for free.": + "Ako nemate račun, možete se besplatno registrirati na deezer.com.", + "Open in browser": "Otvori u pregledniku", + "By using this app, you don't agree with the Deezer ToS": + "Korištenjem ove aplikacije, ne slažete se sa Deezer Uvjetima pružanja usluge", + "Play next": "Pokreni sljedeću", + "Add to queue": "Dodaj u red ", + "Add track to favorites": "Dodaj pjesmu u omiljene", + "Add to playlist": "Dodaj u popis za reprodukciju", + "Select playlist": "Izaberi popis za reprodukciju", + "Track added to": "Pjesma je dodana u", + "Remove from playlist": "Ukloni iz popisa za reprodukciju", + "Track removed from": "Pjesma je uklonjena iz", + "Remove favorite": "Uklonite omiljenu", + "Track removed from library": "Pjesma je uklonjena iz biblioteke", + "Go to": "Idi u", + "Make offline": "Postavi izvanmrežno", + "Add to library": "Dodaj u biblioteku", + "Remove album": "Ukloni album", + "Album removed": "Album uklonjen", + "Remove from favorites": "Ukloni iz omiljenih", + "Artist removed from library": "Umjetnik je uklonjen iz biblioteke", + "Add to favorites": "Dodaj u omiljene", + "Remove from library": "Ukloni iz biblioteke", + "Add playlist to library": "Dodaj popis za reprodukciju u biblioteku", + "Added playlist to library": "Popis za reprodukciju je dodan u biblioteku", + "Make playlist offline": "Napravi popis za reprodukciju izvanmrežan.", + "Download playlist": "Skini popis za reprodukciju", + "Create playlist": "Napravi popis za reprodukciju", + "Title": "Naslov", + "Description": "Opis", + "Private": "Privatno", + "Collaborative": "Suradnički", + "Create": "Napravi", + "Playlist created!": "Popis za reprodukciju je napravljen!", + "Playing from:": "Svira iz:", + "Queue": "Red", + "Offline search": "Izvanmrežno traženje", + "Search Results": "Rezultati traženja", + "No results!": "Nema rezultata!", + "Show all tracks": "Prikaži sve pjesme!", + "Show all playlists": "Prikaži sve popise za reprodukciju", + "Settings": "Postavke", + "General": "Općenito", + "Appearance": "Izgled", + "Quality": "Kvalitet", + "Deezer": "Deezer", + "Theme": "Tema", + "Currently": "Trenutno", + "Select theme": "Izaberi temu", + "Light (default)": "Svijetla (Zadano)", + "Dark": "Mračno", + "Black (AMOLED)": "Crno (AMOLED)", + "Deezer (Dark)": "Deezer (Mračno)", + "Primary color": "Primarna boja", + "Selected color": "Izabrana boja", + "Use album art primary color": "Koristi primarnu boju slike albuma", + "Warning: might be buggy": "Upozorenje: može biti bugovito", + "Mobile streaming": "Strimovanje preko mobilnih podataka", + "Wifi streaming": "Strimovanje preko wifi-a", + "External downloads": "Vanjska skidanja", + "Content language": "Jezik skidanja", + "Not app language, used in headers. Now": + "Nije jezik aplikacije, korišteno u zaglavjima.", + "Select language": "Izaberi jezik", + "Content country": "Zemlja sadržaja", + "Country used in headers. Now": "Zemlja korištena u zaglavjima. Sad", + "Log tracks": "Zapis traka", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Šalji zapisnike slušanja pjesama Deezeru, omogućite za mogućnosti kao Flow da rade ispravno", + "Offline mode": "Izvanmrežični način", + "Will be overwritten on start.": "Biti će napisano preko na početku.", + "Error logging in, check your internet connections.": + "Pogreška prilikom prijavljivanja, molimo vas da provjerite vašu internet konekciju.", + "Logging in...": "Prijavljivanje...", + "Download path": "Mjesto za skidanja", + "Downloads naming": "Imenovanja skidanja", + "Downloaded tracks filename": "Naziv datoteka skinutih pjesama", + "Valid variables are": "Važeće varijable su", + "Reset": "Resetiraj", + "Clear": "Očisti", + "Create folders for artist": "Napravi datoteke za umjetnike", + "Create folders for albums": "Napravi datoteke za albume", + "Separate albums by discs": "Odvoji albume od diskova", + "Overwrite already downloaded files": "Napiši preko već skinutih datoteka", + "Copy ARL": "Kopiraj ARL", + "Copy userToken/ARL Cookie for use in other apps.": + "Kopiraj userToken/ARL cookie za korištenje u drugim aplikacijama.", + "Copied": "Kopirano", + "Log out": "Odjavi se", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Zbog nekompatibilnosti dodataka, prijava putem preglednika nije dostupna bez ponovnog pokretanja.", + "(ARL ONLY) Continue": "(SAMO ARL) Nastavi", + "Log out & Exit": "Odjavi se i izađi", + "Pick-a-Path": "Izaberi mjesto", + "Select storage": "Izaberi skladište", + "Go up": "Idi gore", + "Permission denied": "Dozvola odbijena", + "Language": "Jezik", + "Language changed, please restart Freezer to apply!": + "Jezik je promjenjen, molimo vas da ponovno pokrenete Freezer da se promjene primjene.", + "Importing...": "Uvoženje...", + "Radio": "Radio", + "Flow": "Flow", + "Track is not available on Deezer!": "Pjesma nije dostupna na Deezeru!", + "Failed to download track! Please restart.": + "Preuzimanje pjesme nije uspjelo! Molimo vas da ponovno pokrenite." + } +}; diff --git a/translations/old_languages/id_id.dart b/translations/old_languages/id_id.dart new file mode 100644 index 0000000..2d9f781 --- /dev/null +++ b/translations/old_languages/id_id.dart @@ -0,0 +1,239 @@ +/* + +Translated by: LenteraMalam + + */ + +const language_id_id = { + "id_id": { + "Home": "Beranda", + "Search": "Cari", + "Library": "Perpustakaan", + "Offline mode, can't play flow or smart track lists.": + "Mode offline, tidak dapat memutar aliran atau daftar putar pintar.", + "Added to library": "Ditambahkan ke Perpustakaan", + "Download": "Unduh", + "Disk": "Disk", + "Offline": "Offline", + "Top Tracks": "Lagu Populer", + "Show more tracks": "Tampilkan lebih banyak lagu", + "Top": "Populer", + "Top Albums": "Album Populer", + "Show all albums": "Tampilkan semua album", + "Discography": "Diskografi", + "Default": "Default", + "Reverse": "Membalik", + "Alphabetic": "Alfabet", + "Artist": "Artis", + "Post processing...": "Sedang diproses...", + "Done": "Selesai", + "Delete": "Hapus", + "Are you sure you want to delete this download?": + "Apakah kamu yakin ingin menghapus unduhan ini?", + "Cancel": "Batalkan", + "Downloads": "Unduhan", + "Clear queue": "Bersihkan antrean", + "This won't delete currently downloading item": + "Ini tidak akan menghapus item yang sedang diunduh", + "Are you sure you want to delete all queued downloads?": + "Apakah kamu yakin ingin menghapus semua antrean yang terunduh?", + "Clear downloads history": "Bersihkan riwayat unduhan", + "WARNING: This will only clear non-offline (external downloads)": + "PERINGATAN: Ini hanya akan menghapus non-offline (unduhan eksternal)", + "Please check your connection and try again later...": + "Periksa kembali koneksi internet anda dan ulangi kembali...", + "Show more": "Tampilkan lebih banyak", + "Importer": "Pengimport", + "Currently supporting only Spotify, with 100 tracks limit": + "Saat ini hanya mendukung Spotify, dengan batas 100 lagu", + "Due to API limitations": "Karena keterbatasan API", + "Enter your playlist link below": "Masukkan link playlist Anda di bawah ini", + "Error loading URL!": "Gagal memuat URL!", + "Convert": "Konversikan", + "Download only": "Hanya mengunduh", + "Downloading is currently stopped, click here to resume.": + "Pengunduhan saat ini dihentikan, klik di sini untuk melanjutkan.", + "Tracks": "Lagu", + "Albums": "Album", + "Artists": "Artis", + "Playlists": "Daftar Putar", + "Import": "Impo", + "Import playlists from Spotify": "Impor playlist dari Spotify", + "Statistics": "Statistik", + "Offline tracks": "Lagu offline", + "Offline albums": "Album offline", + "Offline playlists": "Daftar putar offline", + "Offline size": "Ukuran offline", + "Free space": "Penyimpanan tersedia", + "Loved tracks": "Lagu yang disukai", + "Favorites": "Favorit", + "All offline tracks": "Semua lagu offline", + "Create new playlist": "Buat daftar putar baru", + "Cannot create playlists in offline mode": + "Tidak dapat membuat daftar putar di mode offline", + "Error": "Terjadi kesalahan", + "Error logging in! Please check your token and internet connection and try again.": + "Kesalahan saat masuk! Periksa token dan koneksi internet Anda, lalu coba lagi.", + "Dismiss": "Abaikan", + "Welcome to": "Selamat datang di", + "Please login using your Deezer account.": + "Silakan masuk menggunakan akun Deezer Anda.", + "Login using browser": "Masuk menggunakan browser", + "Login using token": "Masuk menggunakan token", + "Enter ARL": "Masukkan ARL", + "Token (ARL)": "Token (ARL)", + "Save": "Simpan", + "If you don't have account, you can register on deezer.com for free.": + "Jika Anda tidak memiliki akun, Anda dapat mendaftar di deezer.com secara gratis.", + "Open in browser": "Buka di browser", + "By using this app, you don't agree with the Deezer ToS": + "Dengan menggunakan aplikasi ini, Anda tidak setuju dengan ToS Deezer", + "Play next": "Putar selanjutnya", + "Add to queue": "Tambahkan ke antrean", + "Add track to favorites": "Tambahkan lagu ke favorit", + "Add to playlist": "Tambahkan ke daftar putar", + "Select playlist": "Pilih daftar putar", + "Track added to": "Lagu ditamhahkan ke", + "Remove from playlist": "Hapus dari daftar putar", + "Track removed from": "Lagu dihapus dari", + "Remove favorite": "Hapus favorit", + "Track removed from library": "Lagu dihapus dari perpustakaan", + "Go to": "Pergi ke", + "Make offline": "Buat offline", + "Add to library": "Tambahkan ke perpustakaan", + "Remove album": "Hapus album", + "Album removed": "Album dihapus", + "Remove from favorites": "Hapus dari favorit", + "Artist removed from library": "Artis dihapus dari perpustakaan", + "Add to favorites": "Tambahkan ke favorit", + "Remove from library": "Hapus dari perpustakaan", + "Add playlist to library": "Tambahkan daftar putar ke perpustakaan", + "Added playlist to library": "Menambahkan daftar putar ke perpustakaan", + "Make playlist offline": "Buat daftar putar offline", + "Download playlist": "Unduh daftar putar", + "Create playlist": "Buat daftar putar", + "Title": "Judul", + "Description": "Deskripsi", + "Private": "Pribadi", + "Collaborative": "Kolaboratif", + "Create": "Buat", + "Playlist created!": "Daftar putar berhasil dibuat!", + "Playing from:": "Memainkan:", + "Queue": "Antrean", + "Offline search": "Pencarian offline", + "Search Results": "Hasil perncarian", + "No results!": "Hasil tidak ditemukan!", + "Show all tracks": "Tampilkan semua lagu", + "Show all playlists": "Tampilkan semua daftar putar", + "Settings": "Pengaturan", + "General": "Umum", + "Appearance": "Tampilan", + "Quality": "Kualitas", + "Deezer": "Deezer", + "Theme": "Tema", + "Currently": "Saat ini", + "Select theme": "Pilih tema", + "Dark": "Gelap", + "Black (AMOLED)": "Hitam (AMOLED)", + "Deezer (Dark)": "Deezer (Gelap)", + "Primary color": "Warna utama", + "Selected color": "Warna yang dipilih", + "Use album art primary color": "Gunakan foto album sebagai warna utama", + "Warning: might be buggy": "Peringatan: masih ada bug", + "Mobile streaming": "Mobile streaming", + "Wifi streaming": "Wifi streaming", + "External downloads": "Unduhan eksternal", + "Content language": "Bahasa konten", + "Not app language, used in headers. Now": + "Bukan bahasa aplikasi, digunakan di header. Digunakan", + "Select language": "Pilih bahasa", + "Content country": "Wilayah konten", + "Country used in headers. Now": "Negara digunakan di header. Digunakan", + "Log tracks": "Catatan lagu", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Kirim catatan mendengarkan lagu ke Deezer, aktifkan agar fitur seperti Flow berfungsi dengan benar", + "Offline mode": "Mode offline", + "Will be overwritten on start.": "Akan ditimpa saat mulai.", + "Error logging in, check your internet connections.": + "Kesalahan saat masuk, periksa koneksi internet Anda.", + "Logging in...": "Masuk...", + "Download path": "Path unduhan", + "Downloads naming": "Penamaan unduhan", + "Downloaded tracks filename": "Nama file yang diunduh", + "Valid variables are": "Variabel yang valid", + "Reset": "Atur ulang", + "Clear": "Bersihkan", + "Create folders for artist": "Buat folder dari artis", + "Create folders for albums": "Buat folder dari album", + "Separate albums by discs": "Pisahkan album dengan disk", + "Overwrite already downloaded files": "Timpa file yang sudah diunduh", + "Copy ARL": "Salin ARL", + "Copy userToken/ARL Cookie for use in other apps.": + "Salin Token/ARL Cookie untuk digunakan di apps lain.", + "Copied": "Tersalin", + "Log out": "Keluar", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Karena ketidakcocokan plugin, masuk menggunakan browser tidak tersedia tanpa restart.", + "(ARL ONLY) Continue": "(HANYA ARL) Lanjutkan", + "Log out & Exit": "Keluar", + "Pick-a-Path": "Pilih-sebuah-Jalur", + "Select storage": "Pilih penyimpanan", + "Go up": "Naik", + "Permission denied": "Akses dilarang", + "Language": "Bahasa", + "Language changed, please restart Freezer to apply!": + "Bahasa diganti, Mulai ulang aplikasi untuk menerapkannya!", + "Importing...": "Mengimpor...", + "Radio": "Radio", + "Flow": "Flow", + "Track is not available on Deezer!": "Lagu tidak tersedia di Deezer!", + "Failed to download track! Please restart.": "Gagal untuk mengunduh lagu! Ulangi kembali.", + + //0.5.0 Strings: + "Storage permission denied!": "Izin penyimpanan ditolak!", + "Failed": "Gagal", + "Queued": "Dalam antrean", + //Updated in 0.5.1 - used in context of download: + "External": "Penyimpanan", + //0.5.0 + "Restart failed downloads": "Gagal memulai ulang unduhan", + "Clear failed": "Gagal membersihkan", + "Download Settings": "Pengaturan unduhan", + "Create folder for playlist": "Buat folder dari daftar putar", + "Download .LRC lyrics": "Unduh lirik .LRC", + "Proxy": "Proxy", + "Not set": "Tidak diatur", + "Search or paste URL": "Cari atau masukkan URL", + "History": "Riwayat", + //Updated 0.5.1 + "Download threads": "Unduh bersamaan", + //0.5.0 + "Lyrics unavailable, empty or failed to load!": "Lirik tidak tersedia, kosong atau gagal untuk memuat!", + "About": "Tentang", + "Telegram Channel": "Channel Telegram", + "To get latest releases": "Untuk mendapatkan rilisan terbaru", + "Official chat": "Obrolan resmi", + "Telegram Group": "Grub Telegram", + "Huge thanks to all the contributors! <3": "Terima kasih banyak untuk semua kontributor! <3", + "Edit playlist": "Edit daftar putar", + "Update": "Perbarui", + "Playlist updated!": "Daftar putar diperbarui!", + "Downloads added!": "Unduhan ditambahkan!", + + //0.5.1 Strings: + "Save cover file for every track": "Simpan cover foto dari setiap lagu", + "Download Log": "Catatan unduhan", + "Repository": "Repository", + "Source code, report issues there.": "Kode sumber, laporkan masalah disini.", + + //0.5.2 Strings: + "Use system theme": "Gunakan tema sistem", + "Light": "Cerah", + + //0.5.3 Strings: + "Popularity": "Popularitas", + "User": "Pengguna", + "Track count": "Jumlah lagu", + "If you want to use custom directory naming - use '/' as directory separator.": "Jika Anda ingin menggunakan penamaan direktori kustom - gunakan '/' sebagai pemisah direktori." + } +}; \ No newline at end of file diff --git a/translations/old_languages/it_it.dart b/translations/old_languages/it_it.dart new file mode 100644 index 0000000..b16badc --- /dev/null +++ b/translations/old_languages/it_it.dart @@ -0,0 +1,232 @@ +/* + +Translated by: Andrea + +*/ + +const language_it_it = { + "it_it": { + "Home": "Pagina Iniziale", + "Search": "Cerca", + "Library": "Libreria", + "Offline mode, can't play flow or smart track lists.": + "Modalità offline, non è possibile riprodurre flow o tracklist smart", + "Added to library": "Aggiunto alla libreria", + "Download": "Scarica", + "Disk": "Disco", + "Offline": "Offline", + "Top Tracks": "Brani in evidenza", + "Show more tracks": "Mostra più brani", + "Top": "Top", + "Top Albums": "Album in evidenza", + "Show all albums": "Mostra tutti gli album", + "Discography": "Discografia", + "Default": "Default", + "Reverse": "Reverse", + "Alphabetic": "Alfabetico", + "Artist": "Artista", + "Post processing...": "Elaborazione...", + "Done": "Fatto", + "Delete": "Cancellare", + "Are you sure you want to delete this download?": + "Sei sicuro di voler cancellare questo download?", + "Cancel": "Annulla", + "Downloads": "Download", + "Clear queue": "Pulisci la coda", + "This won't delete currently downloading item": + "Questa azione non cancellerà i download", + "Are you sure you want to delete all queued downloads?": + "Sei sicuro di voler cancellare tutti i download in coda?", + "Clear downloads history": "Pulisci la cronologia dei download", + "WARNING: This will only clear non-offline (external downloads)": + "ATTENZIONE: Questa azione, pulirà solo i files che non sono offline (download esterni)", + "Please check your connection and try again later...": + "Per favore controlla la tua connessione e riprova più tardi...", + "Show more": "Mostra di più", + "Importer": "Importa", + "Currently supporting only Spotify, with 100 tracks limit": + "Attualmente supporta solo Spotify, con un limite di 100 brani", + "Due to API limitations": "A causa delle limitazioni delle API", + "Enter your playlist link below": + "Inserisci il link della tua playlist qui sotto", + "Error loading URL!": "Errore nel caricare l'URL!", + "Convert": "Converti", + "Download only": "Solo Download", + "Downloading is currently stopped, click here to resume.": + "Il download è attualmente interrotto, fare clic qui per riprenderlo.", + "Tracks": "Brani", + "Albums": "Album", + "Artists": "Artisti", + "Playlists": "Playlist", + "Import": "Importa", + "Import playlists from Spotify": "Importa playlists da Spotify", + "Statistics": "Statistiche", + "Offline tracks": "Brani offline", + "Offline albums": "Album offline", + "Offline playlists": "Playlist offline", + "Offline size": "Spazio occupato offline", + "Free space": "Spazio libero", + "Loved tracks": "Brani preferiti", + "Favorites": "Preferiti", + "All offline tracks": "Tutte i brani offline", + "Create new playlist": "Crea una nuova playlist", + "Cannot create playlists in offline mode": + "Impossibile creare playlist in modalità offline", + "Error": "Errore", + "Error logging in! Please check your token and internet connection and try again.": + "Errore durante l'accesso! Controlla il token, la tua connessione ad internet e riprova.", + "Dismiss": "Chiudi", + "Welcome to": "Benvenuto su", + "Please login using your Deezer account.": + "Per favore, esegui il login utilizzando il tuo account Deezer.", + "Login using browser": "Login utilizzando il browser", + "Login using token": "Login utilizzando il token", + "Enter ARL": "Inserisci l'ARL", + "Token (ARL)": "Token (ARL)", + "Save": "Salva", + "If you don't have account, you can register on deezer.com for free.": + "Se non possiedi un account, puoi registrarti sul sito deezer.com gratuitamente.", + "Open in browser": "Apri nel browser", + "By using this app, you don't agree with the Deezer ToS": + "Utilizzando questa applicazione, non accetti i ToS di Deezer", + "Play next": "Riproduci subito dopo", + "Add to queue": "Aggiungi alla coda", + "Add track to favorites": "Aggiungi il brano ai preferiti", + "Add to playlist": "Aggiungi a playlist...", + "Select playlist": "Seleziona playlist", + "Track added to": "Brano aggiunto a", + "Remove from playlist": "Rimuovi dalla playlist", + "Track removed from": "Brano rimosso da", + "Remove favorite": "Rimuovi dai preferiti", + "Track removed from library": "Brano rimosso dalla libreria", + "Go to": "Vai a", + "Make offline": "Rendi offline", + "Add to library": "Aggiungi alla libreria", + "Remove album": "Rimuovi album", + "Album removed": "Album rimosso", + "Remove from favorites": "Rimuovi dai preferiti", + "Artist removed from library": "Artista rimosso dalla libreria", + "Add to favorites": "Aggiungi ai preferiti", + "Remove from library": "Rimuovi dalla libreria", + "Add playlist to library": "Aggiungi playlist alla libreria", + "Added playlist to library": "Playlist aggiunta alla libreria", + "Make playlist offline": "Rendi la playlist offline", + "Download playlist": "Scarica playlist", + "Create playlist": "Crea playlist", + "Title": "Titolo", + "Description": "Descrizione", + "Private": "Privata", + "Collaborative": "Collaborativa", + "Create": "Crea", + "Playlist created!": "Playlist creata!", + "Playing from:": "Riproduzione da:", + "Queue": "Coda", + "Offline search": "Ricerca offline", + "Search Results": "Risultati della ricerca", + "No results!": "Nessun risultato!", + "Show all tracks": "Mostra tutti i brani", + "Show all playlists": "Mostra tutte le playlists", + "Settings": "Opzioni", + "General": "Generale", + "Appearance": "Aspetto", + "Quality": "Qualità", + "Deezer": "Deezer", + "Theme": "Tema", + "Currently": "Attuale", + "Select theme": "Seleziona Tema", + "Light (default)": "Chiaro (Default)", + "Dark": "Scuro", + "Black (AMOLED)": "Nero (AMOLED)", + "Deezer (Dark)": "Deezer (Scuro)", + "Primary color": "Colore Principale", + "Selected color": "Colore Selezionato", + "Use album art primary color": + "Usa il colore principale della copertina dell'album", + "Warning: might be buggy": "Attenzione: potrebbe causare problemi", + "Mobile streaming": "Streaming con dati", + "Wifi streaming": "Streaming con WiFi", + "External downloads": "Download esterni", + "Content language": "Lingua dei contenuti", + "Not app language, used in headers. Now": + "Non la lingua dell'app, utilizzata negli header. Adesso", + "Select language": "Seleziona la lingua", + "Content country": "Contenuto dal Paese", + "Country used in headers. Now": "Paese contenuto negli header. Ora", + "Log tracks": "Log delle tracce", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Invia i log delle canzioni ascoltate a Deezer, abilitalo affinché features come Flow funzionino correttamente", + "Offline mode": "Modalità Offline", + "Will be overwritten on start.": "Sarà sovrascritto all'avvio.", + "Error logging in, check your internet connections.": + "Errore durante l'accesso, controlla la tua connessione Internet.", + "Logging in...": "Accesso in corso...", + "Download path": "Percorso di download", + "Downloads naming": "Denominazione dei download", + "Downloaded tracks filename": "Nome del file dei brani scaricati", + "Valid variables are": "Le variabili valide sono", + "Reset": "Ripristina", + "Clear": "Pulisci", + "Create folders for artist": "Crea cartelle per gli artisti", + "Create folders for albums": "Crea cartelle per gli album", + "Separate albums by discs": "Separa gli album per disco", + "Overwrite already downloaded files": "Sovrascrivi i file già scaricati", + "Copy ARL": "Copia ARL", + "Copy userToken/ARL Cookie for use in other apps.": + "Copia userToken / ARL Cookie da utilizzare in altre app.", + "Copied": "Copiato", + "Log out": "Disconnettiti", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "A causa dell'incompatibilità del plug-in, l'accesso tramite browser non è disponibile senza riavvio.", + "(ARL ONLY) Continue": "(SOLO ARL) Continua", + "Log out & Exit": "Disconnettiti e Esci", + "Pick-a-Path": "Scegli un percorso", + "Select storage": "Seleziona dispositivo di archiviazione", + "Go up": "Vai su", + "Permission denied": "Permesso negato", + "Language": "Lingua", + "Language changed, please restart Freezer to apply!": + "Lingua cambiata, riavvia Freezer per applicare la modifica!", + "Importing...": "Importando...", + "Radio": "Radio", + "Flow": "Flow", + + //0.5.0 Strings: + "Storage permission denied!": "Autorizzazione di archiviazione negata!", + "Failed": "Fallito", + "Queued": "In coda", + "External": "Archiviazione", + "Restart failed downloads": "Riavvia download non riusciti", + "Clear failed": "Pulisci fallito", + "Download Settings": "Impostazioni download", + "Create folder for playlist": "Crea cartella per playlist", + "Download .LRC lyrics": "Scarica testi .LRC", + "Proxy": "Proxy", + "Not set": "Non impostato", + "Search or paste URL": "Cerca o incolla l'URL", + "History": "Storia", + "Download threads": "Download simultanei", + "Lyrics unavailable, empty or failed to load!": + "Testi non disponibili, vuoti o caricamento non riuscito!", + "About": "Info", + "Telegram Channel": "Canale Telegram", + "To get latest releases": "Per ottenere le ultime versioni", + "Official chat": "Chat ufficiale", + "Telegram Group": "Gruppo Telegram", + "Huge thanks to all the contributors! <3": + "Un enorme grazie a tutti i collaboratori! <3", + "Edit playlist": "Modifica playlist", + "Update": "Aggiorna", + "Playlist updated!": "Playlist aggiornata!", + "Downloads added!": "Download aggiunti!", + "Save cover file for every track": + "Salva la copertina dell'album per ogni traccia", + "Download Log": "Download Log", + "Repository": "Repository", + "Source code, report issues there.": + "Codice sorgente, segnala i problemi lì.", + + //0.5.2 Strings: + "Use system theme": "Utilizza il tema di sistema", + "Light": "Chiaro" + } +}; diff --git a/translations/old_languages/ko_ko.dart b/translations/old_languages/ko_ko.dart new file mode 100644 index 0000000..90f5bbc --- /dev/null +++ b/translations/old_languages/ko_ko.dart @@ -0,0 +1,188 @@ +/* + +Translated by: koreezzz + + */ + +const language_ko_ko = { + "ko_ko": { + "Home": "홈", + "Search": "검색", + "Library": "라이브러리", + "Offline mode, can't play flow or smart track lists.": + "오프라인 모드. Flow 또는 스마트 트랙 목록을 재생할 수 없습니다.", + "Added to library": "라이브러리에 추가됨", + "Download": "다운로드", + "Disk": "디스크", + "Offline": "오프라인", + "Top Tracks": "인기 트랙", + "Show more tracks": "더 많은 트랙보기", + "Top": "인기", + "Top Albums": "인기 앨범", + "Show all albums": "모든 앨범보기", + "Discography": "디스코그래피", + "Default": "기본값", + "Reverse": "역전", + "Alphabetic": "알파벳순", + "Artist": "가수", + "Post processing...": "후 처리…", + "Done": "완료", + "Delete": "삭제", + "Are you sure you want to delete this download?": "이 다운로드를 삭제 하시겠습니까?", + "Cancel": "취소", + "Downloads": "다운로드한 내용", + "Clear queue": "목록 지우기", + "This won't delete currently downloading item": "현재 다운로드중인 항목은 삭제되지 않습니다.", + "Are you sure you want to delete all queued downloads?": + "대기중인 모든 다운로드를 삭제 하시겠습니까?", + "Clear downloads history": "다운로드 기록 지우기", + "WARNING: This will only clear non-offline (external downloads)": + "경고 : 오프라인이 아닌 내용만 삭제됩니다 (외부 다운로드).", + "Please check your connection and try again later...": + "인터넷 연결을 확인하고 나중에 다시 시도하십시오 ...", + "Show more": "자세히보기", + "Importer": "수입자", + "Currently supporting only Spotify, with 100 tracks limit": + "현재 Spotify 만 지원하며 트랙 제한은 100 곡입니다.", + "Due to API limitations": "API 제한으로 인해", + "Enter your playlist link below": "아래에 곡목표 링크 입력 하십시오", + "Error loading URL!": "URL 불러 오기 오류!", + "Convert": "변환", + "Download only": "다운로드 전용", + "Downloading is currently stopped, click here to resume.": + "다운로드는 현재 중지되었습니다. 다시 시작하려면 여기를 클릭하십시오.", + "Tracks": "트랙", + "Albums": "앨범", + "Artists": "가수", + "Playlists": "재생 목록", + "Import": "수입", + "Import playlists from Spotify": "Spotify에서 재생 목록을 가져 오기", + "Statistics": "통계", + "Offline tracks": "오프라인 트랙", + "Offline albums": "오프라인 앨범", + "Offline playlists": "오프라인 재생 목록", + "Offline size": "오프라인 사이즈", + "Free space": "자유 공간", + "Loved tracks": "즐겨 찾기는 트랙", + "Favorites": "즐겨 찾기", + "All offline tracks": "모든 오프라인 트랙", + "Create new playlist": "새 재생 목록을 만들기", + "Cannot create playlists in offline mode": "오프라인 모드에서 재생 목록을 만들 수 없습니다.", + "Error": "오류", + "Error logging in! Please check your token and internet connection and try again.": + "로그인 오류! 토큰 및 인터넷 연결을 확인하고 다시 시도하십시오.", + "Dismiss": "해고", + "Welcome to": "\$에 오신 것을 환영합니다", + "Please login using your Deezer account.": "Deezer 계정을 사용하여 로그인하십시오.", + "Login using browser": "브라우저를 사용하여 로그인", + "Login using token": "토큰을 사용하여 로그인", + "Enter ARL": "ARL 입력", + "Token (ARL)": "토큰 (ARL)", + "Save": "저장", + "If you don't have account, you can register on deezer.com for free.": + "계정이 없으시면 deezer.com에서 무료로 등록하실 수 있습니다.", + "Open in browser": "브라우저에서 열기", + "By using this app, you don't agree with the Deezer ToS": + "이 앱을 사용하면 Deezer ToS에 동의하지 않습니다.", + "Play next": "다음 재생", + "Add to queue": "목록에 추가", + "Add track to favorites": "즐겨 찾기에 트랙 추가", + "Add to playlist": "재생 목록에 추가", + "Select playlist": "재생 목록을 선택", + "Track added to": "\$에 트랙을 추가되었습니다", + "Remove from playlist": "재생 목록에서 삭제", + "Track removed from": "\$에서 트랙을 삭제되었습니다", + "Remove favorite": "즐겨 찾기를 삭제", + "Track removed from library": "라이브러리에서 트랙을 삭제되었습니다", + "Go to": "\$에 이동", + "Make offline": "오프라인으로 설정", + "Add to library": "라이브러리에 추가", + "Remove album": "앨범을 삭제", + "Album removed": "앨범을 삭제되었습니다", + "Remove from favorites": "즐겨 찾기에서 삭제", + "Artist removed from library": "가수를 라이브러리에서 삭제되었습니다.", + "Add to favorites": "즐겨 찾기에 추가", + "Remove from library": "라이브러리에서 삭제", + "Add playlist to library": "라이브러리에 재생 목록을 추가", + "Added playlist to library": "라이브러리에 재생 목록을 추가되었습니다", + "Make playlist offline": "재생 목록을 오프라인으로 설정", + "Download playlist": "재생 목록을 다운로드", + "Create playlist": "재생 목록을 만들기", + "Title": "타이틀", + "Description": "서술", + "Private": "사유의", + "Collaborative": "공동의", + "Create": "창조", + "Playlist created!": "재생 목록을 생성되었습니다!", + "Playing from:": "\$부터 재생:", + "Queue": "목록", + "Offline search": "오프라인 검색", + "Search Results": "검색 결과", + "No results!": "결과가 없습니다!", + "Show all tracks": "모든 트랙을 보기", + "Show all playlists": "모든 재생 목록을 보기", + "Settings": "설정", + "General": "일반", + "Appearance": "외모", + "Quality": "품질", + "Deezer": "Deezer", + "Theme": "테마", + "Currently": "현재", + "Select theme": "테마 선택", + "Light (default)": "라이트 (기본값)", + "Dark": "다크", + "Black (AMOLED)": "블랙 (AMOLED)", + "Deezer (Dark)": "Deezer (다크)", + "Primary color": "원색", + "Selected color": "선택한 색상", + "Use album art primary color": "앨범 아트 기본 색상 사용", + "Warning: might be buggy": "경고: 버그가 있을 수 있습니다.", + "Mobile streaming": "모바일 스트리밍", + "Wifi streaming": "Wi-Fi 스트리밍", + "External downloads": "외부 다운로드", + "Content language": "콘텐츠 언어", + "Not app language, used in headers. Now": "헤더에 사용된 앱 언어가 아닙니다. 현재", + "Select language": "언어 선택", + "Content country": "콘텐츠 국가", + "Country used in headers. Now": "헤더에 사용 된 국가. 현재", + "Log tracks": "트랙로그", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Deezer에 트랙로그를 전송. Flow와 같은 기능이 제대로 작동하려면 이 기능을 활성화하십시오.", + "Offline mode": "오프라인 모드", + "Will be overwritten on start.": "시작할 때 덮어 씁니다.", + "Error logging in, check your internet connections.": + "로그인 오류, 인터넷 연결을 확인하십시오.", + "Logging in...": "…\$에로그인 중", + "Download path": "다운로드 경로", + "Downloads naming": "다운로드 네이밍", + "Downloaded tracks filename": "다운로드 된 트랙 파일명", + "Valid variables are": "유효한 변수", + "Reset": "초기화", + "Clear": "치우기", + "Create folders for artist": "가수 용 폴더 만들기", + "Create folders for albums": "앨범 용 폴더 만들기", + "Separate albums by discs": "디스크별로 앨범 분리", + "Overwrite already downloaded files": "이미 다운로드 한 파일을 덮어 쓰기", + "Copy ARL": "ARL 복사", + "Copy userToken/ARL Cookie for use in other apps.": + "다른 앱에서 사용하기 위해 사용자 토큰 / ARL 쿠키를 복사하기.", + "Copied": "복사 됨", + "Log out": "로그 아웃", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "플러그인 비 호환성으로 인해 다시 시작하지 않으면 브라우저를 사용하여 로그인 할 수 없습니다.", + "(ARL ONLY) Continue": "(ARL 만 해당) 계속", + "Log out & Exit": "로그 아웃 및 종료", + "Pick-a-Path": "경로 선택", + "Select storage": "저장소 선택", + "Go up": "위로 이동", + "Permission denied": "권한이 거부되었습니다.", + "Language": "언어", + "Language changed, please restart Freezer to apply!": + "언어가 변경되었습니다. 적용하려면 Freezer를 다시 시작하세요!", + "Importing...": "…\$가져 오는 중", + "Radio": "라디오", + "Flow": "Flow", + "Track is not available on Deezer!": "Deezer에서는 트랙을 사용할 수 없습니다!", + "Failed to download track! Please restart.": "트랙을 다운로드하지 못했습니다! 다시 시작하십시오.", + } +}; diff --git a/translations/old_languages/pt_br.dart b/translations/old_languages/pt_br.dart new file mode 100644 index 0000000..76df011 --- /dev/null +++ b/translations/old_languages/pt_br.dart @@ -0,0 +1,169 @@ +/* + +Translated by: Diego Hiro + +*/ + +const language_pt_br = {"pt_br": { + "Home": "Início", + "Search": "Pesquisar", + "Library": "Biblioteca", + "Offline mode, can't play flow or smart track lists.": "Modo offline, incapaz de reproduzir faixas do flow(personalizadas) ou playlist inteligentes.", + "Added to library": "Adicionado para sua biblioteca", + "Download": "Download", + "Disk": "Disco", + "Offline": "Offline", + "Top Tracks": "Faixas no Top", + "Show more tracks": "Exibir mais faixas", + "Top": "Top", + "Top Albums": "Álbuns no Top", + "Show all albums": "Mostrar todos os álbuns", + "Discography": "Discografia", + "Default": "Padrão", + "Reverse": "Reverter", + "Alphabetic": "Alfabética", + "Artist": "Artista", + "Post processing...": "Processando...", + "Done": "Feito", + "Delete": "Deletar", + "Are you sure you want to delete this download?": "Tem certeza que deseja excluir este download?", + "Cancel": "Cancelar", + "Downloads": "Downloads", + "Clear queue": "Limpar fila", + "This won't delete currently downloading item": "Isso não excluirá os itens que estão fazendo download", + "Are you sure you want to delete all queued downloads?": "Tem certeza que deseja excluir todos os downloads que estão na fila?", + "Clear downloads history": "Limpar histórico de downloads", + "WARNING: This will only clear non-offline (external downloads)": "Cuidado: Isso limpará apenas faixas e listas off-line (downloads externos)", + "Please check your connection and try again later...": "Verifique sua conexão e tente novamente. Caso sua rede não esteja estável, tente mais tarde...", + "Show more": "Mostrar Mais", + "Importer": "importador", + "Currently supporting only Spotify, with 100 tracks limit": "Atualmente suportando apenas Spotify, com limite de 100 faixas", + "Due to API limitations": "Devido às limitações da API", + "Enter your playlist link below": "Insira o link da sua lista de reprodução abaixo", + "Error loading URL!": "Erro ao carregar URL!", + "Convert": "Converter", + "Download only": "Somente download", + "Downloading is currently stopped, click here to resume.": "O download está parado no momento, clique aqui para retomar.", + "Tracks": "Faixas", + "Albums": "Álbuns", + "Artists": "Artistas", + "Playlists": "Playlists", + "Import": "Importar", + "Import playlists from Spotify": "Importar playlists do Spotify", + "Statistics": "Estatísticas", + "Offline tracks": "Faixas Offline", + "Offline albums": "Álbuns Offline", + "Offline playlists": "Playlists Offline", + "Offline size": "Espaço ocupado Offline", + "Free space": "Espaço livre", + "Loved tracks": "Faixas que gostou", + "Favorites": "Favoritos", + "All offline tracks": "Todas as faixas offline", + "Create new playlist": "Criar nova playlist", + "Cannot create playlists in offline mode": "Não é possível criar playlists no modo offline", + "Error": "Erro", + "Error logging in! Please check your token and internet connection and try again.": "Erro ao tentar login! Verifique seu token e sua conexão com a Internet, tente novamente.", + "Dismiss": "Dispensar", + "Welcome to": "Bem-vindo ao", + "Please login using your Deezer account.": "Faça login usando sua conta Deezer.", + "Login using browser": "Faça login usando o navegador", + "Login using token": "Faça login usando o token", + "Enter ARL": "Inserir ARL", + "Token (ARL)": "Token (ARL)", + "Save": "Salvar", + "If you don't have account, you can register on deezer.com for free.": "Se você não tem uma conta, pode se registrar em deezer.com gratuitamente.", + "Open in browser": "Abra no navegador", + "By using this app, you don't agree with the Deezer ToS": "Ao usar este aplicativo, você não concorda com os Termos de Uso com a Deezer", + "Play next": "Tocar próxima", + "Add to queue": "Adicionar à fila", + "Add track to favorites": "Adicionar faixa aos favoritos", + "Add to playlist": "Adicionar à Playlist", + "Select playlist": "Selecionar playlist", + "Track added to": "Faixa adicionada para", + "Remove from playlist": "Remover da playlist", + "Track removed from": "Faixa removida do(a)", + "Remove favorite": "Remover favorito", + "Track removed from library": "Faixa removida da biblioteca", + "Go to": "Ir para", + "Make offline": "Reproduzir offline", + "Add to library": "Adicionar à biblioteca", + "Remove album": "Remover álbum", + "Album removed": "Álbum removido", + "Remove from favorites": "Remover do favoritos", + "Artist removed from library": "Artista Removido da biblioteca", + "Add to favorites": "Adicionar para favoritos", + "Remove from library": "Remover da biblioteca", + "Add playlist to library": "Adicionar playlist para biblioteca", + "Added playlist to library": "Playlist adicionada para biblioteca", + "Make playlist offline": "Converter playlist para modo offline", + "Download playlist": " Efetuar download da playlist", + "Create playlist": "Criar playlist", + "Title": "Título", + "Description": "Descrição", + "Private": "Privado", + "Collaborative": "Colaborativo", + "Create": "Criar", + "Playlist created!": "Playlist criada!", + "Playing from:": "Playing de:", + "Queue": "Fila", + "Offline search": "Pesquisa Offline", + "Search Results": "Resultado da pesquisa", + "No results!": "Nenhum resultado encontrado!", + "Show all tracks": "Mostrar todas as faixas", + "Show all playlists": "Mostrar todas playlists", + "Settings": "Configurações", + "General": "Geral", + "Appearance": "Aparência", + "Quality": "Qualidade", + "Deezer": "Deezer", + "Theme": "Tema", + "Currently": "Atualmente", + "Select theme": "Selecionar tema", + "Light (default)": "Claro (Padrão)", + "Dark": "Escuro", + "Black (AMOLED)": "Preto (AMOLED)", + "Deezer (Dark)": "Deezer (Escuro - Dark Mode)", + "Primary color": "Cor Primária", + "Selected color": "Cor selecionada", + "Use album art primary color": "Use a cor primária da capa do álbum", + "Warning: might be buggy": "Cuidado: pode ter erros dependendo do dispositivo", + "Mobile streaming": "Streaming por dados móveis", + "Wifi streaming": "Streaming por Rede Wifi", + "External downloads": "Downloads Externos", + "Content language": "Linguagem do conteúdo", + "Not app language, used in headers. Now": "Não é o idioma do aplicativo, programação feita em outra Linguagem. Agora", + "Select language": "Selecione a linguagem", + "Content country": "País do conteúdo a Exibir", + "Country used in headers. Now": "País habilitado no banco de dados. Agora", + "Log tracks": "Log de faixas", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": "Enviar registros de faixas de trilhas para o Deezer, habilite-o para o funcionamento de recursos, como o Flow para funcionar corretamente", + "Offline mode": "Modo Offline", + "Will be overwritten on start.": "Será sobrescrito no próximo início do aplicativo.", + "Error logging in, check your internet connections.": "Erro ao fazer login, verifique suas conexões de internet.", + "Logging in...": "Logando em...", + "Download path": "Caminho de download", + "Downloads naming": "Nomenclatura de downloads", + "Downloaded tracks filename": "Nome de arquivo das faixas baixadas", + "Valid variables are": "Variáveis ​​válidas são", + "Reset": "Resetar", + "Clear": "Limpar", + "Create folders for artist": "Create folders for artist", + "Create folders for albums": "Create folders for albums", + "Separate albums by discs": "Separate albums by discs", + "Overwrite already downloaded files": "Overwrite already downloaded files", + "Copy ARL": "Copiar ARL", + "Copy userToken/ARL Cookie for use in other apps.": "Copiar userToken/ARL Cookie para uso em outros aplicativos.", + "Copied": "Copiado", + "Log out": "Deslogar", + "Due to plugin incompatibility, login using browser is unavailable without restart.": "Due to plugin incompatibility, login using browser is unavailable without restart.", + "(ARL ONLY) Continue": "(Somente ARL) Continuar", + "Log out & Exit": "Deslogar & Sair", + "Pick-a-Path": "Escola-um-Caminho", + "Select storage": "Selecione o armazenamento", + "Go up": "Subir", + "Permission denied": "Permissão negada", + "Language": "Linguagem", + "Language changed, please restart Freezer to apply!": "Idioma alterado, reinicie o Freezer para aplicar!", + "Importing...": "Importando..." + } +}; diff --git a/translations/old_languages/ro_ro.dart b/translations/old_languages/ro_ro.dart new file mode 100644 index 0000000..59591fd --- /dev/null +++ b/translations/old_languages/ro_ro.dart @@ -0,0 +1,230 @@ +/* + +Translated by: MicroMihai + +*/ + +const language_ro_ro = { + "ro_ro": { + "Home": "Home", + "Search": "Căutare", + "Library": "Librărie", + "Offline mode, can't play flow or smart track lists.": + "Mod offline, nu pot reda flow-uri sau liste smart track.", + "Added to library": "Adăugat la librărie", + "Download": "Descărcați", + "Disk": "Disc", + "Offline": "Offline", + "Top Tracks": "Piese Top", + "Show more tracks": "Afișează mai multe piese", + "Top": "Top", + "Top Albums": "Albume Top", + "Show all albums": "Afișează toate albumele", + "Discography": "Discografie", + "Default": "Implicit", + "Reverse": "Invers", + "Alphabetic": "Alfabetic", + "Artist": "Artist", + "Post processing...": "Post procesare...", + "Done": "Gata", + "Delete": "Ștergeți", + "Are you sure you want to delete this download?": + "Ești sigur că vrei să ștergi această descărcare?", + "Cancel": "Anulează", + "Downloads": "Descărcări", + "Clear queue": "Ștergeți coada", + "This won't delete currently downloading item": + "Aceasta nu va șterge elementul care se descarcă acum", + "Are you sure you want to delete all queued downloads?": + "Ești sigur că vrei să ștergi toate descărcările aflate în coadă?", + "Clear downloads history": "Șterge istoricul descărcărilor", + "WARNING: This will only clear non-offline (external downloads)": + "AVERTISMENT: Aceasta va șterge numai non-offline-urile (descărcări externe)", + "Please check your connection and try again later...": + "Vă rugăm să verificați conexiunea și să încercați din nou mai târziu...", + "Show more": "Arată mai multe", + "Importer": "Importator", + "Currently supporting only Spotify, with 100 tracks limit": + "În prezent acceptă doar Spotify, cu limita de 100 de piese", + "Due to API limitations": "Din cauza limitărilor API", + "Enter your playlist link below": "Introduceți linkul playlistului de mai jos", + "Error loading URL!": "Eroare la încărcarea URL-ului!", + "Convert": "Convertiți", + "Download only": "Doar descărcare", + "Downloading is currently stopped, click here to resume.": + "Descărcarea acum este oprită, faceți clic pentru a relua.", + "Tracks": "Piese", + "Albums": "Albume", + "Artists": "Artiști", + "Playlists": "Playlist-uri", + "Import": "Import", + "Import playlists from Spotify": "Importă playlist-uri din Spotify", + "Statistics": "Statistici", + "Offline tracks": "Piese offline", + "Offline albums": "Albume offline", + "Offline playlists": "Playlist-uri offline", + "Offline size": "Dimensiune offline", + "Free space": "Spațiu liber", + "Loved tracks": "Piese favorite", + "Favorites": "Favorite", + "All offline tracks": "Toate piesele offline", + "Create new playlist": "Crează un nou playlist", + "Cannot create playlists in offline mode": + "Nu se pot crea playlist-uri în modul offline", + "Error": "Eroare", + "Error logging in! Please check your token and internet connection and try again.": + "Eroare la conectare! Verificați token-ul și conexiunea la internet și încercați din nou.", + "Dismiss": "Renunță", + "Welcome to": "Bun venit la", + "Please login using your Deezer account.": + "Te rugăm să te conectezi utilizând contul tau Deezer.", + "Login using browser": "Autentificare utilizând browserul", + "Login using token": "Autentificare folosind token-ul", + "Enter ARL": "Introduceți ARL-ul", + "Token (ARL)": "Token (ARL)", + "Save": "Salvează", + "If you don't have account, you can register on deezer.com for free.": + "Dacă nu ai un cont, te poți înregistra gratuit pe deezer.com.", + "Open in browser": "Deschide în browser", + "By using this app, you don't agree with the Deezer ToS": + "Prin utilizarea acestei aplicații, nu sunteți de acord cu Deezer ToS", + "Play next": "Redă urmatorul", + "Add to queue": "Adaugă la coadă", + "Add track to favorites": "Adaugă piesa la favorite", + "Add to playlist": "Adaugă la un playlist", + "Select playlist": "Selectează playlist-ul", + "Track added to": "Piesa a fost adăugată la", + "Remove from playlist": "Șterge din playlist", + "Track removed from": "Piesa a fost eliminată din", + "Remove favorite": "Ștergeți favoritul", + "Track removed from library": "Piesa a fost eliminată din librărie", + "Go to": "Accesați", + "Make offline": "Pune offline", + "Add to library": "Adaugă la librărie", + "Remove album": "Șterge album-ul", + "Album removed": "Album-ul a fost șters", + "Remove from favorites": "Șterge din favorite", + "Artist removed from library": "Artist șters din librărie", + "Add to favorites": "Adaugă la favorite", + "Remove from library": "Șterge din librărie", + "Add playlist to library": "Adaugă playlist-ul la librărie", + "Added playlist to library": "Playlist-ul a fost adăugat la librărie", + "Make playlist offline": "Pune playlist-ul offline", + "Download playlist": "Descarcă playlist-ul", + "Create playlist": "Crează un playlist", + "Title": "Titlu", + "Description": "Descriere", + "Private": "Privat", + "Collaborative": "Colaborativ", + "Create": "Create", + "Playlist created!": "Playlist-ul a fost creat!", + "Playing from:": "Redare din:", + "Queue": "Coadă", + "Offline search": "Căutare offline", + "Search Results": "Rezultate găsite", + "No results!": "Nici un rezultat", + "Show all tracks": "Afișează toate piesele", + "Show all playlists": "Afișează toate playlist-urile", + "Settings": "Setări", + "General": "General", + "Appearance": "Aspect", + "Quality": "Calitate", + "Deezer": "Deezer", + "Theme": "Temă", + "Currently": "Acum", + "Select theme": "Alege tema", + "Light (default)": "Aprins (Default)", + "Dark": "Întunecat", + "Black (AMOLED)": "Negru (AMOLED)", + "Deezer (Dark)": "Deezer (Întunecat)", + "Primary color": "Culoare primară", + "Selected color": "Culoarea selectată", + "Use album art primary color": "Utilizați culoarea primară ale album-ului", + "Warning: might be buggy": "Avertisment: ar putea fi cam bug-uit", + "Mobile streaming": "Streaming mobil", + "Wifi streaming": "Streaming Wi-Fi", + "External downloads": "Descărcări externe", + "Content language": "Limbajul conținutului", + "Not app language, used in headers. Now": + "Nu este limba aplicației, folosit în header (titlu). Acum", + "Select language": "Alege o limbă", + "Content country": "Conținutul tării", + "Country used in headers. Now": "Țara este utilizată în header-i (titluri). Acum", + "Log tracks": "Log-ul pieselor", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Trimiteți log-urile de ascultare a pieselor către Deezer, activați-l pentru funcții precum Flow să funcționeze corect", + "Offline mode": "Mod offline", + "Will be overwritten on start.": "Va fi suprascris la început.", + "Error logging in, check your internet connections.": + "Eroare la conectare, verificați conexiunile la internet.", + "Logging in...": "Conectare...", + "Download path": "Calea descărcărilor", + "Downloads naming": "Denumirea descărcărilor", + "Downloaded tracks filename": "Numele pieselor descărcate", + "Valid variables are": "Variabilele valide sunt", + "Reset": "Reset", + "Clear": "Șterge", + "Create folders for artist": "Creați foldere pentru artiști", + "Create folders for albums": "Creați foldere pentru albume", + "Separate albums by discs": "Separează albumele după discuri", + "Overwrite already downloaded files": "Suprascrieți fișierele deja descărcate", + "Copy ARL": "Copiază ARL-ul", + "Copy userToken/ARL Cookie for use in other apps.": + "Copiază userToken-ul/ARL-ul Cookie utilizarea în alte aplicații.", + "Copied": "Copiat", + "Log out": "Deconectază", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Din cauza incompatibilității plugin-ului, conectarea utilizând browserul nu este disponibilă fără un restart", + "(ARL ONLY) Continue": "(DOAR ARL) Continuă", + "Log out & Exit": "Deconectează și ieși", + "Pick-a-Path": "Alege o cale", + "Select storage": "Selectează stocarea", + "Go up": "Du-te sus", + "Permission denied": "Permisie refuzată", + "Language": "Limbă", + "Language changed, please restart Freezer to apply!": + "Limba a fost schimbată, restart-ați Freezer pentru a aplica schimbarea!", + "Importing...": "Importând...", + "Radio": "Radio", + "Flow": "Flow", + "Track is not available on Deezer!": "Piesa nu este disponibilă pe Deezer!", + "Failed to download track! Please restart.": "Descărcarea piesei nu a reușit! Restart-ați.", + + //0.5.0 Strings: + "Storage permission denied!": "Permisia de stocare a fost refuzată!", + "Failed": "Eșuat", + "Queued": "În coadă", + //Updated in 0.5.1 - used in context of download: + "External": "Stocare", + //0.5.0 + "Restart failed downloads": "Restart-ați descărcările eșuate", + "Clear failed": "Șterge eșuatele", + "Download Settings": "Descărcați setările", + "Create folder for playlist": "Creați foldere pentru playlist-uri", + "Download .LRC lyrics": "Descărcați versurile .LRC", + "Proxy": "Proxy", + "Not set": "Nu este setat", + "Search or paste URL": "Caută sau pune un URL", + "History": "Istorie", + //Updated 0.5.1 + "Download threads": "Descărcări simultane", + //0.5.0 + "Lyrics unavailable, empty or failed to load!": "Versurile nu sunt disponibile, goale sau au eșuat încărcarea!", + "About": "Despre", + "Telegram Channel": "Canalul Telegram", + "To get latest releases": "Pentru a obține cele mai recente versiuni", + "Official chat": "Chat-ul oficial", + "Telegram Group": "Grupul Telegram", + "Huge thanks to all the contributors! <3": "Mulțumesc frumos tuturor colaboratorilor! <3", + "Edit playlist": "Editați playlist-ul", + "Update": "Actualizează", + "Playlist updated!": "Playlist actualizat!", + "Downloads added!": "Descărcări adăugate!", + + //0.5.1 Strings: + "Save cover file for every track": "Salvează cover-ul pentru fiecare piesă", + "Download Log": "Log-ul descărcării", + "Repository": "Depozit", + "Source code, report issues there.": "Codul sursă (Source code), raportați problemele acolo." + } +}; \ No newline at end of file diff --git a/translations/old_languages/ru_ru.dart b/translations/old_languages/ru_ru.dart new file mode 100644 index 0000000..281d77f --- /dev/null +++ b/translations/old_languages/ru_ru.dart @@ -0,0 +1,232 @@ +/* + +Translated by: @Orfej + +*/ +const language_ru_ru = { + "ru_ru": { + "Home": "Главная", + "Search": "Поиск", + "Library": "Избранное", + "Offline mode, can't play flow or smart track lists.": + "Режим офлайн. Невозможно воспроизвести персональные подборки", + "Added to library": "Добавлено в любимые треки", + "Download": "Скачать", + "Disk": "Диск", + "Offline": "Загрузить в кеш", + "Top Tracks": "Популярные треки", + "Show more tracks": "Показать все", + "Top": "Лучшее", + "Top Albums": "Лучшие альбомы", + "Show all albums": "Показать все", + "Discography": "Дискография", + "Default": "По умолчанию", + "Reverse": "В обратном порядке", + "Alphabetic": "По алфавиту", + "Artist": "Исполнитель", + "Post processing...": "Делаем магию...", + "Done": "Готово", + "Delete": "Удалить", + "Are you sure you want to delete this download?": + "Вы действительно хотите удалить эту загрузку?", + "Cancel": "Отмена", + "Downloads": "Загрузки", + "Clear queue": "Очистить очередь", + "This won't delete currently downloading item": + "Это не удалит загружаемый сейчас трек", + "Are you sure you want to delete all queued downloads?": + "Вы действительно хотите удалить все запланированные загрузки?", + "Clear downloads history": "Очистить историю загрузок", + "WARNING: This will only clear non-offline (external downloads)": + "Внимание! Это удалит только загрузки (не кеш)", + "Please check your connection and try again later...": + "Проверьте соединение с Интернетом...", + "Show more": "Показать больше", + "Importer": "Импорт плейлистов", + "Currently supporting only Spotify, with 100 tracks limit": + "В настоящий момент поддерживается только Spotify", + "Due to API limitations": "Можно импортировать не более 100 треков за раз", + "Enter your playlist link below": "Ссылка на плейлист", + "Error loading URL!": "Ошибка загрузки!", + "Convert": "Импортировать", + "Download only": "Скачать", + "Downloading is currently stopped, click here to resume.": + "Загрузка приостановлена, нажмите, чтобы продолжить.", + "Tracks": "Треки", + "Albums": "Альбомы", + "Artists": "Артисты", + "Playlists": "Playlists", + "Import": "Импорт плейлистов", + "Import playlists from Spotify": "В настоящий момент поддерживается только Spotify", + "Statistics": "Размер кеша", + "Offline tracks": "Треки в кеше:", + "Offline albums": "Альбомы в кеше:", + "Offline playlists": "Плейлисты в кеше:", + "Offline size": "Размер кеша:", + "Free space": "Свободно:", + "Loved tracks": "Любимые треки", + "Favorites": "Избранное", + "All offline tracks": "Все треки в кеше", + "Create new playlist": "Новый плейлист", + "Cannot create playlists in offline mode": + "Нельзя создавать плейлисты в режиме офлайн", + "Error": "Ошибка", + "Error logging in! Please check your token and internet connection and try again.": + "Ошибка входа. Проверьте корректность ARL и соединение с Интернетом", + "Dismiss": "Я понял", + "Welcome to": "Добро пожаловать в", + "Please login using your Deezer account.": + "Войдите, используя свой аккаунт Deezer.", + "Login using browser": "Войти через браузер", + "Login using token": "Войти по токену (ARL)", + "Enter ARL": "Введите ARL", + "Token (ARL)": "Токен (ARL)", + "Save": "Сохранить", + "If you don't have account, you can register on deezer.com for free.": + "Вы можете создать аккаунт на deezer.com. Это бесплатно.", + "Open in browser": "Зарегестрироваться", + "By using this app, you don't agree with the Deezer ToS": + "Используя это приложение, вы не соглашаетесь с Условиями использования Deezer.", + "Play next": "Играть следующим", + "Add to queue": "Добавить в очередь", + "Add track to favorites": "Добавить в любимые треки", + "Add to playlist": "Добавить в плейлист", + "Select playlist": "Выберите плейлист", + "Track added to": "Трек добавлен в", + "Remove from playlist": "Удалить из плейлиста", + "Track removed from": "Трек удалён из", + "Remove favorite": "Удалить из любимых треков", + "Track removed from library": "Трек удален из Избранного", + "Go to": "Перейти к", + "Make offline": "Загрузить в кеш", + "Add to library": "Добавить в Избранное", + "Remove album": "Удалить альбом", + "Album removed": "Альбом удален", + "Remove from favorites": "Удалить из Избранного", + "Artist removed from library": "Артист удалён", + "Add to favorites": "Добавить в Избранное", + "Remove from library": "Удалить из Избранного", + "Add playlist to library": "Добавить плейлист в Избранное", + "Added playlist to library": "Плейлист добавлен в Избранное", + "Make playlist offline": "Загрузить плейлист в кеш", + "Download playlist": "Скачать плейлист", + "Create playlist": "Создать плейлист", + "Title": "Название", + "Description": "Описание", + "Private": "Скрытый", + "Collaborative": "Общего пользования", + "Create": "Создать", + "Playlist created!": "Плейлист создан!", + "Playing from:": "Сейчас играет:", + "Queue": "Очередь", + "Offline search": "Поиск по кешу", + "Search Results": "Результаты поиска", + "No results!": "Ничего не найдено!", + "Show all tracks": "Показать все треки", + "Show all playlists": "Показать все плейлисты", + "Settings": "Настрокий", + "General": "Управление аккаунтом", + "Appearance": "Внешний вид", + "Quality": "Качество звука", + "Deezer": "Взаимодействие с Deezer", + "Theme": "Тема", + "Currently": "Используется:", + "Select theme": "Выберите тему", + "Light (default)": "Светлая (По умолчанию)", + "Dark": "Темная", + "Black (AMOLED)": "Черная (AMOLED)", + "Deezer (Dark)": "Deezer (Темная)", + "Primary color": "Цвет акцента", + "Selected color": "Акцент будет выглядеть так", + "Use album art primary color": "Подбирать акцент в цвет обложки", + "Warning: might be buggy": "Осторожно, может вызвать баги", + "Mobile streaming": "Воспроизведение в мобильной сети", + "Wifi streaming": "Воспроизведение по Wi-Fi", + "External downloads": "Скачанные треки", + "Content language": "Язык контента", + "Not app language, used in headers. Now": + "Используется в тегах.", + "Select language": "Выберите язык", + "Content country": "Страна контента", + "Country used in headers. Now": "Также используется в тегах.", + "Log tracks": "Отправлять статистику", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Отправлять статистику прослушивания. Необходимо для правильной работы рекомендаций", + "Offline mode": "Режим офлайн", + "Will be overwritten on start.": "Можно слушать только кешированные треки. Работает до перезапуска.", + "Error logging in, check your internet connections.": + "Ошибка входа, проверьте соединение с Интернетом", + "Logging in...": "Вход...", + "Download path": "Папка загрузок", + "Downloads naming": "Шаблон для названия", + "Downloaded tracks filename": "Шаблон для названий загруженных треков", + "Valid variables are": "Допустимые переменные:", + "Reset": "Сброс", + "Clear": "Очистить", + "Create folders for artist": "Создавать папки для исполнителей", + "Create folders for albums": "Создавать папки для альбомов", + "Separate albums by discs": "Разделять альбомы по дискам", + "Overwrite already downloaded files": "Перезаписывать существующие", + "Copy ARL": "Скопировать токен (ARL)", + "Copy userToken/ARL Cookie for use in other apps.": + "Может быть полезно для использования в других приложениях. Не сообщайте токен никому!", + "Copied": "Скопировано", + "Log out": "Выйти", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "После авторизации/выхода через браузер требуется перезапуск.", + "(ARL ONLY) Continue": "(Вход по токену) Выйти", + "Log out & Exit": "Выйти и перезапустить", + "Pick-a-Path": "Выберите папку", + "Select storage": "Выбрерите хранилище", + "Go up": "На уровень вверх", + "Permission denied": "Доступ запрещен", + "Language": "Язык", + "Language changed, please restart Freezer to apply!": + "Язык изменен, перезапустите приложения для применения", + "Importing...": "Импорт...", + "Radio": "Радио", + "Flow": "Flow", + "Track is not available on Deezer!": "Трек недоступен на Deezer!", + "Failed to download track! Please restart.": "Ошибка заргузки.Попробуйте снова.", + + //0.5.0 Strings: + "Storage permission denied!": "Доступ к хранилищу запрещен!", + "Failed": "Ошибка", + "Queued": "Добавлено в очередь", + //Updated in 0.5.1 - used in context of download: + "External": "Хранилище", + //0.5.0 + "Restart failed downloads": "Перезапустить загрузки с ошибками", + "Clear failed": "Не удалось очистить", + "Download Settings": "Настройки загрузок", + "Create folder for playlist": "Создавать папки для плейлистов", + "Download .LRC lyrics": "Скачивать тексты .LRC", + "Proxy": "Настройки прокси", + "Not set": "Прокси не настроен", + "Search or paste URL": "Введите запрос или ссылку", + "History": "История", + //Updated 0.5.1 + "Download threads": "Количество одновременных загрузок", + //0.5.0 + "Lyrics unavailable, empty or failed to load!": "Ошибка получения текста!", + "About": "О приложении", + "Telegram Channel": "Канал в Telegram", + "To get latest releases": "Здесь можно скачать официальные обновления", + "Official chat": "Группа в Telegram", + "Telegram Group": "Свободное общение о приложении", + "Huge thanks to all the contributors! <3": "Большое спасибо всем участинкам <3", + "Edit playlist": "Изменить плейлист", + "Update": "Обновить", + "Playlist updated!": "Плейлист обновлен!", + "Downloads added!": "Загрузки добавлены!", + + //0.5.1 Strings: + "Save cover file for every track": "Обложки для каждого трека отдельным файлом", + "Download Log": "Лог загрузок (технические данные)", + "Repository": "Репозиторий", + "Source code, report issues there.": "Исходный код, вопросы, предложения.", + //0.5.2 Strings: + "Use system theme": "Использовать тему системы", + "Light": "Светлая" + } +}; \ No newline at end of file diff --git a/translations/old_languages/tr_tr.dart b/translations/old_languages/tr_tr.dart new file mode 100644 index 0000000..b1b59f1 --- /dev/null +++ b/translations/old_languages/tr_tr.dart @@ -0,0 +1,235 @@ +/* + +Translated by: HoScHaKaL + +*/ + +const language_tr_tr = { + "tr_tr": { + "Kebab": "Based", + "Home": "Anasayfa", + "Search": "Ara", + "Library": "Kütüphane", + "Offline mode, can't play flow or smart track lists.": + "Çevrimdışı mod, akış veya akıllı parça listelerini çalınamaz.", + "Added to library": "Kütüphaneye eklendi", + "Download": "İndir", + "Disk": "Disk", + "Offline": "Çevrimdışı", + "Top Tracks": "En iyi Parçalar", + "Show more tracks": "Daha fazla parça göster", + "Top": "En iyiler", + "Top Albums": "En iyi Albümler", + "Show all albums": "Tüm albümleri göster", + "Discography": "Diskografi", + "Default": "Varsayılan", + "Reverse": "Tersten", + "Alphabetic": "Alfabetik", + "Artist": "Sanatçı", + "Post processing...": "İşleniyor...", + "Done": "Bitti", + "Delete": "Sil", + "Are you sure you want to delete this download?": + "Bu indirmeyi silmek istediğinizden emin misiniz?", + "Cancel": "İptal", + "Downloads": "İndirilenler", + "Clear queue": "Sırayı temizle", + "This won't delete currently downloading item": + "Bu, şu anda indirilen öğeyi silemez", + "Are you sure you want to delete all queued downloads?": + "Sıradaki tüm indirmeleri silmek istediğinizden emin misiniz?", + "Clear downloads history": "İndirme geçmişini temizle", + "WARNING: This will only clear non-offline (external downloads)": + "UYARI: Bu yalnızca çevrimdışı olmayanları temizler (harici indirmeler)", + "Please check your connection and try again later...": + "Lütfen bağlantınızı kontrol edin ve daha sonra tekrar deneyin ...", + "Show more": "Daha fazla göster", + "Importer": "Aktar", + "Currently supporting only Spotify, with 100 tracks limit": + "Şu anda 100 parça sınırıyla yalnızca Spotify'ı destekliyor", + "Due to API limitations": "API sınırlamaları nedeniyle", + "Enter your playlist link below": "Oynatma listesi bağlantınızı aşağıya girin", + "Error loading URL!": "URL yüklenirken hata oluştu!", + "Convert": "Dönüştür", + "Download only": "Sadece indir", + "Downloading is currently stopped, click here to resume.": + "İndirme durduruldu , devam etmek için tıklayın.", + "Tracks": "Parçalar", + "Albums": "Albümler", + "Artists": "Sanatçılar", + "Playlists": "Oynatma listeleri", + "Import": "İçe Aktar", + "Import playlists from Spotify": "Spotify'dan çalma listelerini içe aktarın", + "Statistics": "İstatistikler", + "Offline tracks": "Çevrimdışı parçalar", + "Offline albums": "Çevrimdışı albümler", + "Offline playlists": "Çevrimdışı oynatma listeleri", + "Offline size": "Çevrimdışı boyut", + "Free space": "Boş alan", + "Loved tracks": "Sevilen parçalar", + "Favorites": "Favoriler", + "All offline tracks": "Tüm çevrimdışı parçalar", + "Create new playlist": "Yeni oynatma listesi oluştur", + "Cannot create playlists in offline mode": + "Çevrimdışı modda oynatma listeleri oluşturulamaz", + "Error": "Hata", + "Error logging in! Please check your token and internet connection and try again.": + "Oturum açılamadı! Lütfen tokeninizi ve internet bağlantınızı kontrol edin ve tekrar deneyin.", + "Dismiss": "Kapat", + "Welcome to": "Hoşgeldiniz", + "Please login using your Deezer account.": + "Lütfen Deezer hesabınızı kullanarak giriş yapın.", + "Login using browser": "Tarayıcı kullanarak giriş yapın", + "Login using token": "Token kullanarak giriş yap", + "Enter ARL": "ARL girin", + "Token (ARL)": "Token (ARL)", + "Save": "Kaydet", + "If you don't have account, you can register on deezer.com for free.": + "Hesabınız yoksa deezer.com'a ücretsiz kayıt olabilirsiniz.", + "Open in browser": "Tarayıcıda aç", + "By using this app, you don't agree with the Deezer ToS": + "Bu uygulamayı kullanarak Deezer Hizmet Şartları'nı kabul etmiyorsunuz", + "Play next": "Sonrakini çal", + "Add to queue": "Sıraya ekle", + "Add track to favorites": "Parçayı favorilere ekle", + "Add to playlist": "Oynatma listesine ekle", + "Select playlist": "Oynatma listesi seçin", + "Track added to": "Parça şuraya eklendi", + "Remove from playlist": "Oynatma listesinden kaldır", + "Track removed from": "Parça şuradan kaldırıldı", + "Remove favorite": "Favorilerden kaldır", + "Track removed from library": "Parça kütüphaneden kaldırıldı", + "Go to": "Git", + "Make offline": "Çevrimdışı yap", + "Add to library": "Kütüphaneye ekle", + "Remove album": "Albümü kaldır", + "Album removed": "Albüm kaldırıldı", + "Remove from favorites": "Favorilerden kaldır", + "Artist removed from library": "Sanatçı kütüphaneden kaldırıldı", + "Add to favorites": "Favorilere ekle", + "Remove from library": "Kütüphaneden kaldır", + "Add playlist to library": "Oynatma listesini kütüphaneye ekleyin", + "Added playlist to library": "Oynatma listesi kütüphaneye eklendi", + "Make playlist offline": "Oynatma listesini çevrimdışı yapın", + "Download playlist": "Oynatma listesini indirin", + "Create playlist": "Oynatma listesi oluştur", + "Title": "Başlık", + "Description": "Açıklama", + "Private": "Özel", + "Collaborative": "Paylaşılan", + "Create": "Oluştur", + "Playlist created!": "Oynatma listesi oluşturuldu!", + "Playing from:": "Şuradan oynatılıyor:", + "Queue": "Kuyruk", + "Offline search": "Çevrimdışı arama", + "Search Results": "Arama Sonuçları", + "No results!": "Sonuç yok!", + "Show all tracks": "Tüm parçaları göster", + "Show all playlists": "Tüm oynatma listelerini göster", + "Settings": "Ayarlar", + "General": "Genel", + "Appearance": "Arayüz", + "Quality": "Kalite", + "Deezer": "Deezer", + "Theme": "Tema", + "Currently": "Şu anda", + "Select theme": "Tema seçin", + "Light (default)": "Açık (Varsayılan)", + "Dark": "Koyu", + "Black (AMOLED)": "Siyah (AMOLED)", + "Deezer (Dark)": "Deezer (Dark)", + "Primary color": "Ana renk", + "Selected color": "Seçilen renk", + "Use album art primary color": "Albüm resmini ana renk olarak kullan", + "Warning: might be buggy": "Uyarı: hatalı olabilir", + "Mobile streaming": "Mobil veri", + "Wifi streaming": "Wifi", + "External downloads": "Harici indirmeler", + "Content language": "İçerik dili", + "Not app language, used in headers. Now": + "Uygulama dili değil, başlıklarda kullanılacak. Şuan", + "Select language": "Dil seçin", + "Content country": "İçerik ülkesi", + "Country used in headers. Now": "Başlıklarda kullanılan ülke. Şuan", + "Log tracks": "Parça günlükleri", + "Send track listen logs to Deezer, enable it for features like Flow to work properly": + "Parça dinleme günlüklerini Deezer'a gönderin, Flow gibi özelliklerin düzgün çalışması için etkinleştirin", + "Offline mode": "Çevrimdışı mod", + "Will be overwritten on start.": "Başlangıçta üzerine yazılacak.", + "Error logging in, check your internet connections.": + "Giriş hatası, internet bağlantılarınızı kontrol edin.", + "Logging in...": "Giriş yapılıyor...", + "Download path": "İndirme konumu", + "Downloads naming": "İndirilenleri adlandır", + "Downloaded tracks filename": "İndirilen parçaların dosya adı", + "Valid variables are": "Geçerli değişkenler", + "Reset": "Sıfırla", + "Clear": "Temizle", + "Create folders for artist": "Sanatçılar için klasörler oluşturun", + "Create folders for albums": "Albümler için klasörler oluşturun", + "Separate albums by discs": "Albümleri disklere göre ayırın", + "Overwrite already downloaded files": "İndirilmiş dosyaların üzerine yaz", + "Copy ARL": "ARL kopyala", + "Copy userToken/ARL Cookie for use in other apps.": + "Diğer uygulamalarda kullanmak için userToken / ARL Cookie'yi kopyalayın.", + "Copied": "Kopyalandı", + "Log out": "Çıkış yap", + "Due to plugin incompatibility, login using browser is unavailable without restart.": + "Eklenti uyumsuzluğu nedeniyle, yeniden başlatmadan tarayıcı kullanılarak oturum açılamaz.", + "(ARL ONLY) Continue": "(SADECE ARL) Devam et", + "Log out & Exit": "Çıkış yap & Kapat", + "Pick-a-Path": "Konum seç", + "Select storage": "Depolama seç", + "Go up": "Yukarı git", + "Permission denied": "İzin reddedildi", + "Language": "Dil", + "Language changed, please restart Freezer to apply!": + "Dil değişti,değişiklik için Freezeri yeniden başlatın!", + "Importing...": "İçe aktarılıyor...", + "Radio": "Radyo", + "Flow": "Flow", + "Track is not available on Deezer!": "Parça Deezer'da mevcut değil!", + "Failed to download track! Please restart.": "Parça indirilemedi! Lütfen yeniden başlat.", + + //0.5.0 Strings: + "Storage permission denied!": "Depolama izni reddedildi!", + "Failed": "Başarısız", + "Queued": "Sıraya alındı", + //Updated in 0.5.1 - used in context of download: + "External": "Depolama", + //0.5.0 + "Restart failed downloads": "Başarısız indirmeleri yeniden başlatın", + "Clear failed": "Silinemedi", + "Download Settings": "İndirme Ayarları", + "Create folder for playlist": "Oynatma listesi için klasör oluştur", + "Download .LRC lyrics": ".LRC şarkı sözlerini indir", + "Proxy": "Proxy", + "Not set": "Ayarlanmadı", + "Search or paste URL": "Arayın veya URL yapıştırın", + "History": "Geçmiş", + //Updated 0.5.1 + "Download threads": "Eşzamanlı indirmeler", + //0.5.0 + "Lyrics unavailable, empty or failed to load!": "Sözler mevcut değil, boş veya yüklenemedi!", + "About": "Hakkında", + "Telegram Channel": "Telegram Kanalı", + "To get latest releases": "En son sürümleri indirmek için", + "Official chat": "Resmi sohbet", + "Telegram Group": "Telegram Grubu", + "Huge thanks to all the contributors! <3": "Katkıda bulunanlara çok teşekkürler! <3", + "Edit playlist": "Oynatma listesini düzenleyin", + "Update": "Güncelle", + "Playlist updated!": "Oynatma listesi güncellendi!", + "Downloads added!": "İndirmeler eklendi!", + + //0.5.1 Strings: + "Save cover file for every track": "Her parça için kapak dosyasını kaydedin", + "Download Log": "İndirme Kayıtları", + "Repository": "Repo", + "Source code, report issues there.": "Kaynak kodu, sorunları bildirin", + + //0.5.2 Strings: + "Use system theme": "Sistem temasını kullan", + "Light": "Açık" + } +}; \ No newline at end of file