mirror of
https://github.com/DJDoubleD/refreezer.git
synced 2026-01-15 08:22:55 -03:00
Flutter 3.32.2 changes + updated translations
- updated locales for intl/i18n compatability - updated submodule commit references (fixes #100) - updated translations from crowdin - upgrade to gradle 8.12 - updated dependencies
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -53,6 +53,7 @@ android/app/.cxx
|
||||
/build/
|
||||
coverage/
|
||||
pubspec.lock
|
||||
devtools_options.yaml
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
|
||||
8
.gitmodules
vendored
8
.gitmodules
vendored
@@ -1,18 +1,20 @@
|
||||
[submodule "custom_navigator"]
|
||||
path = custom_navigator
|
||||
url = https://github.com/DJDoubleD/custom_navigator.git
|
||||
branch = master
|
||||
[submodule "equalizer_flutter"]
|
||||
path = equalizer_flutter
|
||||
url = https://github.com/DJDoubleD/equalizer_flutter.git
|
||||
branch = main
|
||||
[submodule "external_path"]
|
||||
path = external_path
|
||||
url = https://github.com/DJDoubleD/external_path.git
|
||||
[submodule "marquee"]
|
||||
path = marquee
|
||||
url = https://github.com/DJDoubleD/marquee.git
|
||||
branch = main
|
||||
[submodule "move_to_background"]
|
||||
path = move_to_background
|
||||
url = https://github.com/DJDoubleD/move_to_background.git
|
||||
branch = master
|
||||
[submodule "scrobblenaut"]
|
||||
path = scrobblenaut
|
||||
url = https://github.com/DJDoubleD/Scrobblenaut.git
|
||||
branch = main
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
[](../../releases/latest)
|
||||
[](../../releases)
|
||||
[](../../releases)
|
||||
[](https://docs.flutter.dev/tools/sdk)
|
||||
[](https://dart.dev/get-dart)
|
||||
[](https://docs.flutter.dev/tools/sdk)
|
||||
[](https://dart.dev/get-dart)
|
||||
[](https://crowdin.com/project/refreezer)
|
||||
[](./LICENSE)
|
||||
|
||||
|
||||
@@ -30,9 +30,9 @@ if (flutterVersionName == null) {
|
||||
|
||||
android {
|
||||
namespace 'r.r.refreezer'
|
||||
compileSdk 34
|
||||
compileSdk 35
|
||||
//ndkVersion flutter.ndkVersion
|
||||
ndkVersion "26.1.10909125"
|
||||
ndkVersion "27.0.12077973"
|
||||
buildFeatures.buildConfig = true
|
||||
|
||||
compileOptions {
|
||||
@@ -52,7 +52,7 @@ android {
|
||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||
applicationId "r.r.refreezer"
|
||||
minSdk 21
|
||||
targetSdk 34
|
||||
targetSdk 35
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
versionName flutterVersionName
|
||||
}
|
||||
@@ -90,12 +90,12 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation files('libs/extension-flac.aar') // Required for older Android versions (< android 10?)
|
||||
implementation("androidx.activity:activity-ktx:1.9.0")
|
||||
implementation("androidx.activity:activity-ktx:1.10.1")
|
||||
//implementation group: 'net.jthink', name: 'jaudiotagger', version: '3.0.1' // requires java 8 so no android 6
|
||||
implementation group: 'net.jthink', name: 'jaudiotagger', version: '2.2.5'
|
||||
implementation group: 'org.nanohttpd', name: 'nanohttpd', version: '2.3.1'
|
||||
implementation 'androidx.documentfile:documentfile:1.0.1'
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
|
||||
implementation 'androidx.documentfile:documentfile:1.1.0'
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
|
||||
}
|
||||
|
||||
flutter {
|
||||
|
||||
@@ -6,28 +6,30 @@ allprojects {
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.buildDir = '../build'
|
||||
rootProject.layout.buildDirectory = rootProject.layout.projectDirectory.dir('../build')
|
||||
subprojects {
|
||||
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
||||
project.layout.buildDirectory = rootProject.layout.buildDirectory.dir(project.name)
|
||||
|
||||
// This will make sure all the sub projects have an android namespace,
|
||||
// if not it will read it from AndroidManifest.xml
|
||||
// Also sets the compileSdk to 34 and the target javaVersion to 17
|
||||
// Also sets the compileSdk to 35 and the target javaVersion to 17
|
||||
// (needs to be changed manually to the latest in the future)
|
||||
afterEvaluate {
|
||||
// check if android block is available
|
||||
if (it.hasProperty('android')) {
|
||||
|
||||
if (it.android.namespace == null) {
|
||||
def manifest = groovy.util.XmlSlurper.parse(file(it.android.sourceSets.main.manifest.srcFile))
|
||||
def manifest = groovy.xml.XmlSlurper.parse(file(it.android.sourceSets.main.manifest.srcFile))
|
||||
def packageName = manifest.@package.text()
|
||||
println("Setting ${packageName} as android namespace")
|
||||
android.namespace = packageName
|
||||
it.android {
|
||||
namespace = packageName
|
||||
}
|
||||
}
|
||||
|
||||
def javaVersion = JavaVersion.VERSION_17
|
||||
android {
|
||||
def androidApiVersion = 34
|
||||
def androidApiVersion = 35
|
||||
compileSdk androidApiVersion
|
||||
defaultConfig {
|
||||
targetSdk androidApiVersion
|
||||
@@ -52,5 +54,5 @@ subprojects {
|
||||
}
|
||||
|
||||
tasks.register("clean", Delete) {
|
||||
delete rootProject.buildDir
|
||||
delete rootProject.layout.buildDirectory
|
||||
}
|
||||
|
||||
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
|
||||
|
||||
@@ -19,8 +19,8 @@ pluginManagement {
|
||||
|
||||
plugins {
|
||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||
id "com.android.application" version '8.5.1' apply false
|
||||
id "org.jetbrains.kotlin.android" version "1.9.24" apply false
|
||||
id "com.android.application" version '8.10.0' apply false
|
||||
id "org.jetbrains.kotlin.android" version "2.1.20" apply false
|
||||
}
|
||||
|
||||
include ":app"
|
||||
Submodule custom_navigator updated: bef1badfa6...37f9fc5687
Submodule equalizer_flutter updated: 2fd74d8a6a...dc9b3e2425
@@ -1,5 +1,5 @@
|
||||
const crowdin = {
|
||||
'ar_ar': {
|
||||
'ar-AR': {
|
||||
'Home': 'القائمة الرئيسية',
|
||||
'Search': 'بحث',
|
||||
'Library': 'المكتبة',
|
||||
@@ -400,7 +400,7 @@ const crowdin = {
|
||||
'ساعد في ترجمة هذا التطبيق على Crowdin!',
|
||||
'Allow screen to turn off': 'السماح للشاشة بإيقاف التشغيل'
|
||||
},
|
||||
'ast_es': {
|
||||
'ast-ES': {
|
||||
'Home': 'Aniciu',
|
||||
'Search': 'Buscar',
|
||||
'Library': 'Biblioteca',
|
||||
@@ -736,7 +736,7 @@ const crowdin = {
|
||||
'Playlist removed from offline!':
|
||||
'¡La llista quitóse del mou ensin conexón!'
|
||||
},
|
||||
'bul_bg': {
|
||||
'bg-BG': {
|
||||
'Home': 'Начало',
|
||||
'Search': 'Търсене',
|
||||
'Library': 'Библиотека',
|
||||
@@ -1146,7 +1146,7 @@ const crowdin = {
|
||||
'Помогнете за превода на това приложение в Crowdin!',
|
||||
'Allow screen to turn off': 'Позволете на екрана да се изключи'
|
||||
},
|
||||
'cs_cz': {
|
||||
'cs-CZ': {
|
||||
'Home': 'Domů',
|
||||
'Search': 'Hledat',
|
||||
'Library': 'Knihovna',
|
||||
@@ -1370,6 +1370,7 @@ const crowdin = {
|
||||
'Track count': 'Počet skladeb',
|
||||
"If you want to use custom directory naming - use '/' as directory separator.":
|
||||
"Pokud chcete použít vlastní pojmenování adresářů - použijte '/' jako oddělovač adresářů.",
|
||||
'Share': 'Sdílet',
|
||||
'Save album cover': 'Uložit obal alba',
|
||||
'Warning': 'Varování',
|
||||
'Using too many concurrent downloads on older/weaker devices might cause crashes!':
|
||||
@@ -1549,7 +1550,7 @@ const crowdin = {
|
||||
'\nPomozte s překladem této aplikace na Crowdin!',
|
||||
'Allow screen to turn off': 'Povolit vypnutí obrazovky'
|
||||
},
|
||||
'de_de': {
|
||||
'de-DE': {
|
||||
'Home': 'Startseite',
|
||||
'Search': 'Suche',
|
||||
'Library': 'Bibliothek',
|
||||
@@ -1954,7 +1955,7 @@ const crowdin = {
|
||||
'Helfen Sie mit, diese App auf Crowdin zu übersetzen!',
|
||||
'Allow screen to turn off': 'Bildschirm ausschalten erlauben'
|
||||
},
|
||||
'el_gr': {
|
||||
'el-GR': {
|
||||
'Home': 'Αρχική',
|
||||
'Search': 'Αναζήτηση',
|
||||
'Library': 'Βιβλιοθήκη',
|
||||
@@ -2368,7 +2369,7 @@ const crowdin = {
|
||||
'Βοηθήστε στη μετάφραση αυτής της εφαρμογής στο Crowdin!',
|
||||
'Allow screen to turn off': 'Αφήστε την οθόνη να απενεργοποιηθεί'
|
||||
},
|
||||
'es_es': {
|
||||
'es-ES': {
|
||||
'Home': 'Inicio',
|
||||
'Search': 'Buscar',
|
||||
'Library': 'Biblioteca',
|
||||
@@ -2765,7 +2766,7 @@ const crowdin = {
|
||||
'¡Ayuda a traducir esta aplicación en Crowdin!',
|
||||
'Allow screen to turn off': 'Permitir que la pantalla se apague'
|
||||
},
|
||||
'fa_ir': {
|
||||
'fa-IR': {
|
||||
'Home': 'صفحه اصلی',
|
||||
'Search': 'گشتن',
|
||||
'Library': 'مجموعه',
|
||||
@@ -3166,7 +3167,7 @@ const crowdin = {
|
||||
'Help translating this app on Crowdin!': 'به ترجمه این برنامه کمک کنید!',
|
||||
'Allow screen to turn off': 'مجوز خاموش شدن صفحه نمایش'
|
||||
},
|
||||
'fil_ph': {
|
||||
'fil-PH': {
|
||||
'Home': 'Tahanan',
|
||||
'Search': 'Hanapin',
|
||||
'Library': 'Aklatan',
|
||||
@@ -3474,7 +3475,7 @@ const crowdin = {
|
||||
'\"Hindi pinayagan ang permission, kinansel ang download!\"!',
|
||||
'Crowdin': 'Crowdin'
|
||||
},
|
||||
'fr_fr': {
|
||||
'fr-FR': {
|
||||
'Home': 'Accueil',
|
||||
'Search': 'Recherche',
|
||||
'Library': 'Bibliothèque',
|
||||
@@ -3889,7 +3890,7 @@ const crowdin = {
|
||||
'Aidez-nous à traduire cette application sur Crowdin !',
|
||||
'Allow screen to turn off': "Permettre à l'écran de s'éteindre"
|
||||
},
|
||||
'he_il': {
|
||||
'he-IL': {
|
||||
'Home': 'מסך הבית',
|
||||
'Search': 'חיפוש',
|
||||
'Library': 'הספרייה',
|
||||
@@ -4262,7 +4263,7 @@ const crowdin = {
|
||||
'Duration': 'משך זמן',
|
||||
'Sort': 'מיון'
|
||||
},
|
||||
'hi_in': {
|
||||
'hi-IN': {
|
||||
'Home': 'होम',
|
||||
'Search': 'खोज',
|
||||
'Library': 'लाइब्रेरी',
|
||||
@@ -4386,6 +4387,7 @@ const crowdin = {
|
||||
'General': 'सामान्य',
|
||||
'Appearance': 'दिखावट',
|
||||
'Quality': 'गुणवत्ता',
|
||||
'Deezer': 'डीज़र',
|
||||
'Theme': 'थीम',
|
||||
'Currently': 'वर्तमान में',
|
||||
'Select theme': 'थीम चुने',
|
||||
@@ -4621,9 +4623,50 @@ const crowdin = {
|
||||
'Track removed from offline!': 'ट्रैक को ऑफ़लाइन से हटा दिया गया!',
|
||||
'Removed album from offline!': 'एल्बम को ऑफ़लाइन से निकाला गया!',
|
||||
'Playlist removed from offline!': 'प्लेलिस्ट को ऑफ़लाइन से हटा दिया गया!',
|
||||
'Repeat': 'दोहराएँ'
|
||||
'Repeat': 'दोहराएँ',
|
||||
'Repeat one': 'एक गाने को दोहराएं',
|
||||
'Repeat off': 'दोहराना बंद',
|
||||
'Love': 'प्यार',
|
||||
'Unlove': 'नापसंद',
|
||||
'Dislike': 'नापसंद करें',
|
||||
'Close': 'बंद करें',
|
||||
'Sort playlist': 'प्लेलिस्ट जमाएं',
|
||||
'Sort ascending': 'बढ़ते क्रम में जमाएं',
|
||||
'Sort descending': 'घटते क्रम में जमाएं',
|
||||
'Stop': 'रोकें',
|
||||
'Start': 'शुरू करें',
|
||||
'Clear all': 'सभी साफ़ करें',
|
||||
'Play previous': 'पिछला चलाएं',
|
||||
'Play': 'गाना चलाएं',
|
||||
'Pause': 'स्थगित करें',
|
||||
'Remove': 'हटाएं',
|
||||
'Seekbar': 'प्रगति पट्टी',
|
||||
'Singles': 'इकलौते गीत',
|
||||
'Featured': 'लक्षित',
|
||||
'Fans': 'प्रशंसक',
|
||||
'Duration': 'अवधि',
|
||||
'Sort': 'व्यवस्थित करें',
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.':
|
||||
'आपका ए र ल पुराना हो गया हैं। एक नए ए र ल या ब्राउज़र से दोबारा लॉगिन करके देखिए।',
|
||||
'The original freezer development team': 'फ्रीज़र के मूल निर्माता',
|
||||
'Donate': 'दान करें',
|
||||
'You should rather support your favorite artists, instead of this app!':
|
||||
'इस ऐप से अच्छा तो, आपको अपने पसंदीदा कलाकारों का समर्थन करना चाहिए!',
|
||||
'No really, go support your favorite artists instead ;)':
|
||||
'नहीं सच में, जाकर अपने पसंदीदा कलाकारों का समर्थन कीजिए ;)',
|
||||
'Storage permission is required to download content.\nPlease open settings and grant storage permission to ReFreezer.':
|
||||
'डाउनलोड करने के लिए स्टोरेज की अनुमति चाहिए। कृप्या सेटिंग्स में जाकर रिफ़्रीज़र को अनुमति प्रदान करें।',
|
||||
'Open system settings': 'सिस्टम सेटिंग्स खोलें',
|
||||
'Application Log': 'आदवेदन संस्करण',
|
||||
'Are you sure you want to log out?': 'क्या आप वाकई लॉग आउट करना चाहते हैं?',
|
||||
'Download failed!': 'डाउनलोड असफल!',
|
||||
'Permission denied, download canceled!': 'अनुमति नहीं मिली, डाउनलोड रद्द!',
|
||||
'Crowdin': 'क्राउडिन',
|
||||
'Help translating this app on Crowdin!':
|
||||
'क्राउडिन पर इस ऐप के अनुवाद में समर्थन करें!',
|
||||
'Allow screen to turn off': 'स्क्रीन को बंद होने की अनुमति दें'
|
||||
},
|
||||
'hr_hr': {
|
||||
'hr-HR': {
|
||||
'Home': 'Početna',
|
||||
'Search': 'Pretraži',
|
||||
'Library': 'Biblioteka',
|
||||
@@ -5032,7 +5075,7 @@ const crowdin = {
|
||||
'Pomozite prevesti ovu aplikaciju na Crowdin!',
|
||||
'Allow screen to turn off': 'Dopusti da se zaslon isključi'
|
||||
},
|
||||
'hu_hu': {
|
||||
'hu-HU': {
|
||||
'Home': 'Kezdőlap',
|
||||
'Search': 'Keresés',
|
||||
'Library': 'Kedvencek',
|
||||
@@ -5384,7 +5427,7 @@ const crowdin = {
|
||||
'Playlist removed from offline!':
|
||||
'Lejátszási lista eltávolítva a kapcsolat nélküli üzemmódból!'
|
||||
},
|
||||
'id_id': {
|
||||
'id-ID': {
|
||||
'Home': 'Beranda',
|
||||
'Search': 'Cari',
|
||||
'Library': 'Koleksi',
|
||||
@@ -5392,6 +5435,8 @@ const crowdin = {
|
||||
'Mode offline, tidak dapat memutar aliran atau daftar putar pintar.',
|
||||
'Added to library': 'Ditambahkan ke koleksi',
|
||||
'Download': 'Unduh',
|
||||
'Disk': 'Disk',
|
||||
'Offline': 'Offline',
|
||||
'Top Tracks': 'Lagu Populer',
|
||||
'Show more tracks': 'Tampilkan lebih banyak lagu',
|
||||
'Top': 'Populer ',
|
||||
@@ -5459,6 +5504,7 @@ const crowdin = {
|
||||
'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.',
|
||||
@@ -5506,6 +5552,7 @@ const crowdin = {
|
||||
'General': 'Umum',
|
||||
'Appearance': 'Tampilan',
|
||||
'Quality': 'Kualitas',
|
||||
'Deezer': 'Deezer',
|
||||
'Theme': 'Tema',
|
||||
'Currently': 'Saat ini',
|
||||
'Select theme': 'Pilih tema',
|
||||
@@ -5561,6 +5608,7 @@ const crowdin = {
|
||||
'Language changed, please restart ReFreezer to apply!':
|
||||
'Bahasa diganti, Mulai ulang aplikasi untuk menerapkannya!',
|
||||
'Importing...': 'Mengimpor...',
|
||||
'Radio': 'Radio',
|
||||
'Flow': 'Alur',
|
||||
'Track is not available on Deezer!': 'Lagu tidak tersedia di Deezer!',
|
||||
'Failed to download track! Please restart.':
|
||||
@@ -5625,6 +5673,7 @@ const crowdin = {
|
||||
'Ask before downloading': 'Tanyakan sebelum mengunduh',
|
||||
'Search history': 'Riwayat pencarian',
|
||||
'Clear search history': 'Bersihkan riwayat pencarian',
|
||||
'LastFM': 'LastFM',
|
||||
'Login to enable scrobbling.': 'Masuk untuk mengaktifkan scrobbling.',
|
||||
'Login to LastFM': 'Masuk ke LastFM',
|
||||
'Username': 'Nama Pengguna',
|
||||
@@ -5650,6 +5699,7 @@ const crowdin = {
|
||||
'Play mix': 'Putar acak',
|
||||
'Share show': 'Bagikan acara',
|
||||
'Date added': 'Tanggal ditambahkan',
|
||||
'Discord': 'Discord',
|
||||
'Official Discord server': 'Server Resmi Discord',
|
||||
'Restart of app is required to properly log out!':
|
||||
'Perlu memulai ulang aplikasi untuk keluar secara benar!',
|
||||
@@ -5670,6 +5720,7 @@ const crowdin = {
|
||||
'Blur player background': 'Latar belakang pemutar buram',
|
||||
'Might have impact on performance':
|
||||
'Mungkin berdampak pada performa perangkat anda',
|
||||
'Font': 'Huruf',
|
||||
'Select font': 'Pilih font',
|
||||
"This app isn't made for supporting many fonts, it can break layouts and overflow. Use at your own risk!":
|
||||
'Aplikasi ini tidak dibuat untuk mendukung banyak font, ini dapat merusak tata letak dan tampilan. Gunakan dengan resiko anda sendiri!',
|
||||
@@ -5679,12 +5730,19 @@ const crowdin = {
|
||||
'Visualizer': 'Visualisasi',
|
||||
'Show visualizers on lyrics page. WARNING: Requires microphone permission!':
|
||||
'Tampilkan visualisasi di halaman lirik. PERINGATAN: Dibutuhkan ijin microphone!',
|
||||
'Tags': 'Tags',
|
||||
'Album': 'Album',
|
||||
'Track number': 'Nomor lagu',
|
||||
'Disc number': 'Nomor disk',
|
||||
'Album artist': 'Album Artis',
|
||||
'Date/Year': 'Tanggal/Tahun',
|
||||
'Label': 'Label',
|
||||
'ISRC': 'ISRC',
|
||||
'UPC': 'UPC',
|
||||
'Track total': 'Total lagu',
|
||||
'BPM': 'BPM',
|
||||
'Unsynchronized lyrics': 'Lirik yang tidak tersinkronisasi',
|
||||
'Genre': 'Aliran',
|
||||
'Contributors': 'Kontributor',
|
||||
'Album art': 'Gambar album',
|
||||
'Deezer is unavailable in your country, ReFreezer might not work properly. Please use a VPN':
|
||||
@@ -5692,6 +5750,7 @@ const crowdin = {
|
||||
'Deezer is unavailable': 'Deezer tidak tersedia',
|
||||
'Continue': 'Lanjutkan',
|
||||
'Email Login': 'Email Masuk',
|
||||
'Email': 'Email',
|
||||
'Missing email or password!': 'Email atau kata sandi salah!',
|
||||
'Error logging in using email, please check your credentials.\nError:':
|
||||
'Kesalahan saat masuk menggunakan email. Silahkan cek datanya lagi.\nKesalahan:',
|
||||
@@ -5699,12 +5758,15 @@ const crowdin = {
|
||||
'Change display mode': 'Ganti mode tampilan',
|
||||
'Enable high refresh rates': 'Aktifkan refresh rate tinggi',
|
||||
'Display mode': 'Mode tampilan',
|
||||
'Spotify v1': 'Spotify v1',
|
||||
'Import Spotify playlists up to 100 tracks without any login.':
|
||||
'Impor daftar putar Spotify sampai 100 lagu tanpa masuk.',
|
||||
'Download imported tracks': 'Mengunduh lagu yang diimpor',
|
||||
'Start import': 'Mulai impor',
|
||||
'Spotify v2': 'Spotify v2',
|
||||
'Import any Spotify playlist, import from own Spotify library. Requires free account.':
|
||||
'Impor semua daftat putar Spotify, Impor dari koleksi Spotifymu. Dibutuhkan akun gratis.',
|
||||
'Spotify Importer v2': 'Pengimpor Spotify v2',
|
||||
'This importer requires Spotify Client ID and Client Secret. To obtain them:':
|
||||
'Importer membutuhkan Spotify Client ID dan Client Secret. \nUntuk mendapatkannya:',
|
||||
'1. Go to: developer.spotify.com/dashboard and create an app.':
|
||||
@@ -5713,14 +5775,35 @@ const crowdin = {
|
||||
'2. In the app you just created go to settings, and set the Redirect URL to: ':
|
||||
'2. Di app yang baru kamu buat pergi ke pengaturan, dan atur Redirect URL ke: ',
|
||||
'Copy the Redirect URL': 'Salin Redirect URL',
|
||||
'Client ID': 'ID Klien',
|
||||
'Client Secret': 'Rahasia Klien',
|
||||
'Authorize': 'Mengesahkan',
|
||||
'Logged in as: ': 'Masuk sebagai: ',
|
||||
'Import playlists by URL': 'Impor daftar putar dengan URL',
|
||||
'URL': 'URL',
|
||||
'Options': 'Opsi',
|
||||
'Invalid/Unsupported URL': 'URL Tidak Valid/Tidak Didukung',
|
||||
'Please wait...': 'Tunggu sebentar...',
|
||||
'Login using email': 'Masuk menggunakan email'
|
||||
'Login using email': 'Masuk menggunakan email',
|
||||
'Track removed from offline!': 'Trek dihapus dari offline!',
|
||||
'Removed album from offline!': 'Album yang dihapus dari offline!',
|
||||
'Playlist removed from offline!': 'Daftar putar dihapus dari offline!',
|
||||
'Repeat': 'Ulangi',
|
||||
'Repeat one': 'Ulangi sekali',
|
||||
'Repeat off': 'Ulangi off',
|
||||
'Love': 'Love',
|
||||
'Unlove': 'Unlove',
|
||||
'Dislike': 'Tidak suka',
|
||||
'Close': 'Tutup',
|
||||
'Sort playlist': 'Sort playlists',
|
||||
'Sort ascending': 'Urutkan naik',
|
||||
'Sort descending': 'Urutkan ke bawah',
|
||||
'Stop': 'Stop',
|
||||
'Start': 'Mulai',
|
||||
'Clear all': 'Hapus semua',
|
||||
'Play previous': 'Putar sebelumnya'
|
||||
},
|
||||
'it_it': {
|
||||
'it-IT': {
|
||||
'Home': 'Pagina Iniziale',
|
||||
'Search': 'Cerca',
|
||||
'Library': 'Libreria',
|
||||
@@ -6128,7 +6211,7 @@ const crowdin = {
|
||||
'Aiutaci a tradurre questa app su Crowdin!',
|
||||
'Allow screen to turn off': 'Consenti allo schermo di spegnersi'
|
||||
},
|
||||
'ko_ko': {
|
||||
'ko-KR': {
|
||||
'Home': '홈',
|
||||
'Search': '검색',
|
||||
'Library': '라이브러리',
|
||||
@@ -6404,7 +6487,7 @@ const crowdin = {
|
||||
'Remove offline': '오프라인 트랙 제거',
|
||||
'Playlist removed from library!': '라이브러리에서 재생목록이 삭제되었습니다!'
|
||||
},
|
||||
'nl_nl': {
|
||||
'nl-NL': {
|
||||
'Home': 'Startpagina',
|
||||
'Search': 'Zoek',
|
||||
'Library': 'Bibliotheek',
|
||||
@@ -6769,7 +6852,7 @@ const crowdin = {
|
||||
'Help deze app te vertalen op Crowdin!',
|
||||
'Allow screen to turn off': 'Scherm uitschakelen toestaan'
|
||||
},
|
||||
'pl_pl': {
|
||||
'pl-PL': {
|
||||
'Home': 'Strona główna',
|
||||
'Search': 'Szukaj',
|
||||
'Library': 'Biblioteka',
|
||||
@@ -6778,6 +6861,7 @@ const crowdin = {
|
||||
'Added to library': 'Dodane do biblioteki',
|
||||
'Download': 'Pobierz',
|
||||
'Disk': 'Dysk',
|
||||
'Offline': 'Offline',
|
||||
'Top Tracks': 'Najlepsze utwory',
|
||||
'Show more tracks': 'Pokaż więcej utworów',
|
||||
'Top': 'Najlepsze',
|
||||
@@ -6806,6 +6890,7 @@ const crowdin = {
|
||||
'Please check your connection and try again later...':
|
||||
'Proszę sprawdź swoje połączenie internetowe i spróbuj ponownie później...',
|
||||
'Show more': 'Pokaż więcej',
|
||||
'Importer': 'Importer',
|
||||
'Currently supporting only Spotify, with 100 tracks limit':
|
||||
'Obecnie obsługuje tylko Spotify, z limitem 100 utworów',
|
||||
'Due to API limitations': 'Ze względu na ograniczenia API',
|
||||
@@ -6843,6 +6928,7 @@ const crowdin = {
|
||||
'Login using browser': 'Zaloguj się za pomocą przeglądarki',
|
||||
'Login using token': 'Logowanie przy użyciu tokenu',
|
||||
'Enter ARL': 'Wprowadź ARL',
|
||||
'Token (ARL)': 'Token (ARL)',
|
||||
'Save': 'Zapisz',
|
||||
"If you don't have account, you can register on deezer.com for free.":
|
||||
'Jeśli nie masz konta, możesz zarejestrować się na deezer.com za darmo.',
|
||||
@@ -6890,6 +6976,7 @@ const crowdin = {
|
||||
'General': 'Ogólne',
|
||||
'Appearance': 'Wygląd',
|
||||
'Quality': 'Jakość',
|
||||
'Deezer': 'Deezer',
|
||||
'Theme': 'Motyw',
|
||||
'Currently': 'Obecnie',
|
||||
'Select theme': 'Wybierz motyw',
|
||||
@@ -6921,6 +7008,7 @@ const crowdin = {
|
||||
'Downloads naming': 'Nazewnictwo pobieranych',
|
||||
'Downloaded tracks filename': 'Nazwa pliku pobranego utworu',
|
||||
'Valid variables are': 'Prawidłowe zmienne to',
|
||||
'Reset': 'Zresetuj',
|
||||
'Clear': 'Wyczyść',
|
||||
'Create folders for artist': 'Utwórz foldery dla wykonawcy',
|
||||
'Create folders for albums': 'Utwórz foldery dla albumów',
|
||||
@@ -6943,6 +7031,8 @@ const crowdin = {
|
||||
'Language changed, please restart ReFreezer to apply!':
|
||||
'Zmieniono język, uruchom ponownie ReFreezer aby zastosować!',
|
||||
'Importing...': 'Importowanie...',
|
||||
'Radio': 'Radio',
|
||||
'Flow': 'Flow',
|
||||
'Track is not available on Deezer!': 'Ścieżka nie jest dostępna w Deezer!',
|
||||
'Failed to download track! Please restart.':
|
||||
'Nie udało się pobrać utworu! Proszę uruchomić ponownie.',
|
||||
@@ -6955,6 +7045,7 @@ const crowdin = {
|
||||
'Download Settings': 'Ustawienia pobierania plików',
|
||||
'Create folder for playlist': 'Utwórz folder dla playlisty',
|
||||
'Download .LRC lyrics': 'Pobierz tekst .LRC',
|
||||
'Proxy': 'Sewer proxy',
|
||||
'Not set': 'Nie ustawiono',
|
||||
'Search or paste URL': 'Szukaj lub wklej URL',
|
||||
'History': 'Historia',
|
||||
@@ -7005,6 +7096,7 @@ const crowdin = {
|
||||
'Ask before downloading': 'Zapytaj przed pobraniem',
|
||||
'Search history': 'Historia wyszukiwania',
|
||||
'Clear search history': 'Wyczyść historię wyszukiwania',
|
||||
'LastFM': 'LastFM',
|
||||
'Login to enable scrobbling.': 'Zaloguj się, aby włączyć scrobbling.',
|
||||
'Login to LastFM': 'Zaloguj się do LastFM',
|
||||
'Username': 'Nazwa użytkownika',
|
||||
@@ -7030,6 +7122,7 @@ const crowdin = {
|
||||
'Play mix': 'Odtwarzaj składankę',
|
||||
'Share show': 'Udostępnij podcast',
|
||||
'Date added': 'Data dodania',
|
||||
'Discord': 'Discord',
|
||||
'Official Discord server': 'Oficjalny serwer Discord',
|
||||
'Restart of app is required to properly log out!':
|
||||
'Ponowne uruchomienie aplikacji jest wymagane do poprawnego wylogowania!',
|
||||
@@ -7060,12 +7153,16 @@ const crowdin = {
|
||||
'Show visualizers on lyrics page. WARNING: Requires microphone permission!':
|
||||
'Pokaż wizualizatorów na stronie tekstowej. UWAGA: Wymaga uprawnienia mikrofonu!',
|
||||
'Tags': 'Tagi',
|
||||
'Album': 'Album',
|
||||
'Track number': 'Numer utworu',
|
||||
'Disc number': 'Numer dysku',
|
||||
'Album artist': 'Wykonawca albumu',
|
||||
'Date/Year': 'Data/Rok',
|
||||
'Label': 'Etykieta',
|
||||
'ISRC': 'ISRC',
|
||||
'UPC': 'UPC',
|
||||
'Track total': 'Ilość utworów',
|
||||
'BPM': 'BPM',
|
||||
'Unsynchronized lyrics': 'Niezsynchronizowany tekst',
|
||||
'Genre': 'Gatunek',
|
||||
'Contributors': 'Współautorzy',
|
||||
@@ -7075,6 +7172,7 @@ const crowdin = {
|
||||
'Deezer is unavailable': 'Deezer jest niedostępny',
|
||||
'Continue': 'Kontynuuj',
|
||||
'Email Login': 'Logowanie przez e-mail',
|
||||
'Email': 'Adres e-mail',
|
||||
'Missing email or password!': 'Brakujący adres email lub hasło!',
|
||||
'Error logging in using email, please check your credentials.\nError:':
|
||||
'Błąd podczas logowania przez email, sprawdź dane logowania.\nBłąd:',
|
||||
@@ -7082,10 +7180,12 @@ const crowdin = {
|
||||
'Change display mode': 'Zmień widok',
|
||||
'Enable high refresh rates': 'Włącz wysoką częstotliwość odświeżania',
|
||||
'Display mode': 'Tryb wyświetlania',
|
||||
'Spotify v1': 'Spotify v1',
|
||||
'Import Spotify playlists up to 100 tracks without any login.':
|
||||
'Importuj playlisty Spotify do 100 utworów bez żadnego logowania.',
|
||||
'Download imported tracks': 'Pobierz zaimportowane utwory',
|
||||
'Start import': 'Rozpocznij importowanie',
|
||||
'Spotify v2': 'Spotify v2',
|
||||
'Import any Spotify playlist, import from own Spotify library. Requires free account.':
|
||||
'Zaimportuj dowolną playlistę Spotify ze swojej biblioteki Spotify. Wymaga darmowego konta.',
|
||||
'Spotify Importer v2': 'Importer Spotify v2',
|
||||
@@ -7097,9 +7197,12 @@ const crowdin = {
|
||||
'2. In the app you just created go to settings, and set the Redirect URL to: ':
|
||||
'2. Przejdź do ustawień aplikacji, którą właśnie utworzyłeś i ustaw URL przekierowania na: ',
|
||||
'Copy the Redirect URL': 'Skopiuj URL przekierowania',
|
||||
'Client ID': 'Client ID',
|
||||
'Client Secret': 'Client Secret',
|
||||
'Authorize': 'Autoryzuj',
|
||||
'Logged in as: ': 'Zalogowano jako: ',
|
||||
'Import playlists by URL': 'Importuj playlisty przez adres URL',
|
||||
'URL': 'Adres URL',
|
||||
'Options': 'Ustawienia',
|
||||
'Invalid/Unsupported URL': 'Niepoprawny/nieobsługiwany adres URL',
|
||||
'Please wait...': 'Zaczekaj...',
|
||||
@@ -7132,9 +7235,28 @@ const crowdin = {
|
||||
'Duration': 'Czas trwania',
|
||||
'Sort': 'Sortowanie',
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.':
|
||||
'Twój ARL mógł wygasnąć, spróbuj wylogować się i zalogować jeszcze raz używając nowego tokena ARL lub przeglądarki.'
|
||||
'Twój ARL mógł wygasnąć, spróbuj wylogować się i zalogować jeszcze raz używając nowego tokena ARL lub przeglądarki.',
|
||||
'The original freezer development team':
|
||||
'Oryginalny zespół deweloperów freezer',
|
||||
'Donate': 'Dotacja',
|
||||
'You should rather support your favorite artists, instead of this app!':
|
||||
'Powinieneś raczej wesprzeć swoich ulubionych artystów, zamiast tej aplikacji!',
|
||||
'No really, go support your favorite artists instead ;)':
|
||||
'Nie, naprawdę proszę o wsparcie dla Twoich ulubionych artystów ;)',
|
||||
'Storage permission is required to download content.\nPlease open settings and grant storage permission to ReFreezer.':
|
||||
'Do pobrania treści wymagane jest uprawnienie do pamięci.\nProszę otworzyć ustawienia i przyznać ReFreezerowi uprawnienia do pamięci.',
|
||||
'Open system settings': 'Otwórz Ustawienia systemu',
|
||||
'Application Log': 'Logi aplikacji',
|
||||
'Are you sure you want to log out?': 'Czy na pewno chcesz się wylogować?',
|
||||
'Download failed!': 'Pobieranie nie powiodło się!',
|
||||
'Permission denied, download canceled!':
|
||||
'Brak uprawnień, pobieranie anulowane!',
|
||||
'Crowdin': 'Crowdin',
|
||||
'Help translating this app on Crowdin!':
|
||||
'Pomóż w tłumaczeniu tej aplikacji na Crowdin!',
|
||||
'Allow screen to turn off': 'Zezwól ekranowi wyłączyć'
|
||||
},
|
||||
'pt_br': {
|
||||
'pt-BR': {
|
||||
'Home': 'Início',
|
||||
'Search': 'Busca',
|
||||
'Library': 'Biblioteca',
|
||||
@@ -7538,7 +7660,7 @@ const crowdin = {
|
||||
'Ajude a traduzir este aplicativo no Crowdin!',
|
||||
'Allow screen to turn off': 'Permitir que a tela seja desligada'
|
||||
},
|
||||
'ro_ro': {
|
||||
'ro-RO': {
|
||||
'Home': 'Pagina de pornire',
|
||||
'Search': 'Căutare',
|
||||
'Library': 'Librărie',
|
||||
@@ -7948,7 +8070,7 @@ const crowdin = {
|
||||
'Ajută la traducerea acestei aplicații pe Crowdin!',
|
||||
'Allow screen to turn off': 'Permite ecranului să se închidă'
|
||||
},
|
||||
'ru_ru': {
|
||||
'ru-RU': {
|
||||
'Home': 'Главная',
|
||||
'Search': 'Поиск',
|
||||
'Library': 'Библиотека',
|
||||
@@ -8351,7 +8473,7 @@ const crowdin = {
|
||||
'Помогите перевести это приложение на Crowdin!',
|
||||
'Allow screen to turn off': 'Разрешить отключение экрана'
|
||||
},
|
||||
'sk_sk': {
|
||||
'sk-SK': {
|
||||
'Home': 'Domov',
|
||||
'Search': 'Hľadať',
|
||||
'Library': 'Knižnica',
|
||||
@@ -8717,7 +8839,7 @@ const crowdin = {
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.':
|
||||
'Vaše ARL vypršalo. Skúste sa odhlásiť a znovu prihlásiť s novým ARL alebo cez prehliadač.'
|
||||
},
|
||||
'sl_sl': {
|
||||
'sl-SI': {
|
||||
'Home': 'Domov',
|
||||
'Search': 'Išči',
|
||||
'Library': 'Knjižnica',
|
||||
@@ -9096,8 +9218,41 @@ const crowdin = {
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.':
|
||||
'Vaš ARL je mogoče potekel, poskusite se odjaviti in prijaviti nazaj z novim ARL ali brskalnikom.'
|
||||
},
|
||||
'te_in': {'Home': 'హోమ్'},
|
||||
'tr_tr': {
|
||||
'te-IN': {
|
||||
'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': 'డౌన్లోడ్స్ హిస్టరీని ఖాళీ చేయి'
|
||||
},
|
||||
'tr-TR': {
|
||||
'Home': 'Ana Sayfa',
|
||||
'Search': 'Ara',
|
||||
'Library': 'Kütüphane',
|
||||
@@ -9105,6 +9260,7 @@ const crowdin = {
|
||||
'Çevrimdışı modu, flow veya akıllı parça listeleri çalınamaz.',
|
||||
'Added to library': 'Kütüphaneye eklendi',
|
||||
'Download': 'İndir',
|
||||
'Disk': 'Disk',
|
||||
'Offline': 'Çevrimdışı',
|
||||
'Top Tracks': 'Popülar Parçalar',
|
||||
'Show more tracks': 'Daha fazla parça göster',
|
||||
@@ -9174,6 +9330,7 @@ const crowdin = {
|
||||
'Login using browser': 'Tarayıcı kullanarak giriş yapın',
|
||||
'Login using token': 'Token kullanarak giriş yap',
|
||||
'Enter ARL': 'ARL girin',
|
||||
'Token (ARL)': 'Belirteç (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.",
|
||||
@@ -9221,11 +9378,13 @@ const crowdin = {
|
||||
'General': 'Genel',
|
||||
'Appearance': 'Arayüz',
|
||||
'Quality': 'Kalite',
|
||||
'Deezer': 'Deezer',
|
||||
'Theme': 'Tema',
|
||||
'Currently': 'Şu anda',
|
||||
'Select theme': 'Tema seçin',
|
||||
'Dark': 'Koyu',
|
||||
'Black (AMOLED)': 'Siyah (AMOLED)',
|
||||
'Deezer (Dark)': 'Deezer (Karanlık)',
|
||||
'Primary color': 'Ana renk',
|
||||
'Selected color': 'Seçilen renk',
|
||||
'Use album art primary color': 'Albüm resmini ana renk olarak kullan',
|
||||
@@ -9288,6 +9447,7 @@ const crowdin = {
|
||||
'Download Settings': 'İndirme Ayarları',
|
||||
'Create folder for playlist': 'Çalma listesi için klasör oluştur',
|
||||
'Download .LRC lyrics': '.LRC şarkı sözlerini indir',
|
||||
'Proxy': "Proxy 'Vekil Sunucu'",
|
||||
'Not set': 'Ayarlanmadı',
|
||||
'Search or paste URL': 'Arayın veya URL yapıştırın',
|
||||
'History': 'Geçmiş',
|
||||
@@ -9339,6 +9499,7 @@ const crowdin = {
|
||||
'Ask before downloading': 'İndirmeden önce sor',
|
||||
'Search history': 'Arama geçmişi',
|
||||
'Clear search history': 'Arama geçmişini temizle',
|
||||
'LastFM': 'LastFM',
|
||||
'Login to enable scrobbling.':
|
||||
"Scrobbling'i etkinleştirmek için giriş yap.",
|
||||
'Login to LastFM': 'LastFM ile giriş yap',
|
||||
@@ -9365,6 +9526,7 @@ const crowdin = {
|
||||
'Play mix': 'Mix çal',
|
||||
'Share show': 'Gösteriyi paylaş',
|
||||
'Date added': 'Eklenme tarihi',
|
||||
'Discord': 'Discord',
|
||||
'Official Discord server': 'Resmi Discord sunucusu',
|
||||
'Restart of app is required to properly log out!':
|
||||
'Oturumun düzgün bir şekilde kapatılması için uygulamanın yeniden başlatılması gerekiyor!',
|
||||
@@ -9402,7 +9564,10 @@ const crowdin = {
|
||||
'Album artist': 'Albüm sanatçısı',
|
||||
'Date/Year': 'Tarih/Yıl',
|
||||
'Label': 'Etiket',
|
||||
'ISRC': 'ISRC',
|
||||
'UPC': 'UPC',
|
||||
'Track total': 'Parça toplamı',
|
||||
'BPM': "BPM 'Şarkı ritmi'",
|
||||
'Unsynchronized lyrics': 'Senkronize edilmemiş şarkı sözleri',
|
||||
'Genre': 'Tür',
|
||||
'Contributors': 'Katkıda bulunanlar',
|
||||
@@ -9420,10 +9585,12 @@ const crowdin = {
|
||||
'Change display mode': 'Görünüm modunu değiştir',
|
||||
'Enable high refresh rates': 'Yüksek yenileme oranını etkinleştir',
|
||||
'Display mode': 'Görünüm modu',
|
||||
'Spotify v1': 'Spotify v1',
|
||||
'Import Spotify playlists up to 100 tracks without any login.':
|
||||
'Giriş yapmadan Spotify çalma listelerini 100 parçaya kadar içe aktarın.',
|
||||
'Download imported tracks': 'İçe aktarılan parçaları indir',
|
||||
'Start import': 'İçe aktarmayı başlat',
|
||||
'Spotify v2': 'Spotify v2',
|
||||
'Import any Spotify playlist, import from own Spotify library. Requires free account.':
|
||||
"Herhangi bir Spotify çalma listesini içe aktarın, Spotify'ın kütüphanesinden içe aktarın. Ücretsiz hesap gerektirir.",
|
||||
'Spotify Importer v2': 'Spotify İçe Aktarıcı v2',
|
||||
@@ -9436,9 +9603,11 @@ const crowdin = {
|
||||
"2. Yeni oluşturduğunuz uygulamada Ayarlar'a gidin ve Yönlendirme URL'sini şu şekilde ayarlayın: ",
|
||||
'Copy the Redirect URL': "Yönlendirme URL'sini Kopyala",
|
||||
'Client ID': 'İstemci ID',
|
||||
'Client Secret': 'İstemci belirteci',
|
||||
'Authorize': 'İzin ver',
|
||||
'Logged in as: ': 'Giriş yapıldı: ',
|
||||
'Import playlists by URL': 'Çalma listelerini URL ile içe aktar',
|
||||
'URL': 'URL',
|
||||
'Options': 'Seçenekler',
|
||||
'Invalid/Unsupported URL': 'Geçersiz/Desteklenmeyen URL',
|
||||
'Please wait...': 'Lütfen bekleyin...',
|
||||
@@ -9466,12 +9635,36 @@ const crowdin = {
|
||||
'Play': 'Oynat',
|
||||
'Pause': 'Duraklat',
|
||||
'Remove': 'Kaldır',
|
||||
'Seekbar': 'Arama Çubuğu',
|
||||
'Singles': "Tekliler 'Singles'",
|
||||
'Featured': 'Öne çıkanlar',
|
||||
'Fans': 'Hayranlar',
|
||||
'Duration': 'Süre',
|
||||
'Sort': 'Sırala'
|
||||
'Sort': 'Sırala',
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.':
|
||||
"ARL'niz sona ermiş olabilir, çıkış yapıp yeni ARL veya tarayıcı kullanarak tekrar giriş yapmayı deneyin.",
|
||||
'The original freezer development team':
|
||||
'Orijinal Freezer geliştirici ekibi',
|
||||
'Donate': 'Bağış yap',
|
||||
'You should rather support your favorite artists, instead of this app!':
|
||||
'Bu uygulama yerine sevdiğiniz sanatçıları desteklemelisiniz!',
|
||||
'No really, go support your favorite artists instead ;)':
|
||||
'Hayır, gerçekten, bunun yerine gidin ve en sevdiğiniz sanatçıları destekleyin ;)',
|
||||
'Storage permission is required to download content.\nPlease open settings and grant storage permission to ReFreezer.':
|
||||
"İçeriği indirmek için depolama izni gereklidir.\nLütfen ayarları açın ve ReFreezer'a depolama izni verin.",
|
||||
'Open system settings': 'Sistem ayarlarını açın',
|
||||
'Application Log': 'Uygulama Günlüğü',
|
||||
'Are you sure you want to log out?':
|
||||
'Çıkış yapmak istediğinize emin misiniz?',
|
||||
'Download failed!': 'İndirme başarısız!',
|
||||
'Permission denied, download canceled!':
|
||||
'İzin reddedildi, indirme iptal edildi!',
|
||||
'Crowdin': 'Crowdin',
|
||||
'Help translating this app on Crowdin!':
|
||||
"Bu uygulamanın Crowdin'de çevrilmesine yardımcı olun!",
|
||||
'Allow screen to turn off': 'Ekranın kapanmasına izin ver'
|
||||
},
|
||||
'uk_ua': {
|
||||
'uk-UA': {
|
||||
'Home': 'Головна',
|
||||
'Search': 'Пошук',
|
||||
'Library': 'Бібліотека',
|
||||
@@ -9847,7 +10040,7 @@ const crowdin = {
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.':
|
||||
'Можливо, термін дії ARL минув, спробуйте вийти з обліковки та повернутися в систему за допомогою нового ARL або браузера.'
|
||||
},
|
||||
'ur_pk': {
|
||||
'ur-PK': {
|
||||
'Home': 'ہوم',
|
||||
'Search': 'تلاش کریں',
|
||||
'Library': 'لائبریری',
|
||||
@@ -9864,7 +10057,7 @@ const crowdin = {
|
||||
'Show all albums': 'تمام البمز دکھائیں',
|
||||
'Singleton naming': 'Singleton naming'
|
||||
},
|
||||
'uwu_uwu': {
|
||||
'uwu-UWU': {
|
||||
'Search': 'Seawch',
|
||||
'Library': 'Wibwawy',
|
||||
"Offline mode, can't play flow or smart track lists.":
|
||||
@@ -10223,7 +10416,7 @@ const crowdin = {
|
||||
'I need your help uwu, please translate this app on crowdin! >w<',
|
||||
'Allow screen to turn off': 'Awwow scween to turn o-off'
|
||||
},
|
||||
'vi_vi': {
|
||||
'vi-VN': {
|
||||
'Home': 'Trang chủ',
|
||||
'Search': 'Tìm kiếm',
|
||||
'Library': 'Thư viện',
|
||||
@@ -10593,7 +10786,7 @@ const crowdin = {
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.':
|
||||
'ARL của bạn có thể đã hết hạn, hãy đăng xuất và đăng nhập lại bằng ARL mới hoặc qua trình duyệt.'
|
||||
},
|
||||
'zh_cn': {
|
||||
'zh-CN': {
|
||||
'Home': '主页',
|
||||
'Search': '搜索',
|
||||
'Library': '曲库',
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
const language_en_us = {
|
||||
'en_us': {
|
||||
'en-US': {
|
||||
'Home': 'Home',
|
||||
'Search': 'Search',
|
||||
'Library': 'Library',
|
||||
"Offline mode, can't play flow or smart track lists.": "Offline mode, can't play flow or smart track lists.",
|
||||
"Offline mode, can't play flow or smart track lists.":
|
||||
"Offline mode, can't play flow or smart track lists.",
|
||||
'Added to library': 'Added to library',
|
||||
'Download': 'Download',
|
||||
'Disk': 'Disk',
|
||||
@@ -21,16 +22,20 @@ const language_en_us = {
|
||||
'Post processing...': 'Post processing...',
|
||||
'Done': 'Done',
|
||||
'Delete': 'Delete',
|
||||
'Are you sure you want to delete this download?': 'Are you sure you want to delete this download?',
|
||||
'Are you sure you want to delete this download?':
|
||||
'Are you sure you want to delete this download?',
|
||||
'Cancel': 'Cancel',
|
||||
'Downloads': 'Downloads',
|
||||
'Clear queue': 'Clear queue',
|
||||
"This won't delete currently downloading item": "This won't delete currently downloading item",
|
||||
'Are you sure you want to delete all queued downloads?': 'Are you sure you want to delete all queued downloads?',
|
||||
"This won't delete currently downloading item":
|
||||
"This won't delete currently downloading item",
|
||||
'Are you sure you want to delete all queued downloads?':
|
||||
'Are you sure you want to delete all queued downloads?',
|
||||
'Clear downloads history': 'Clear downloads history',
|
||||
'WARNING: This will only clear non-offline (external downloads)':
|
||||
'WARNING: This will only clear non-offline (external downloads)',
|
||||
'Please check your connection and try again later...': 'Please check your connection and try again later...',
|
||||
'Please check your connection and try again later...':
|
||||
'Please check your connection and try again later...',
|
||||
'Show more': 'Show more',
|
||||
'Importer': 'Importer',
|
||||
'Currently supporting only Spotify, with 100 tracks limit':
|
||||
@@ -58,13 +63,15 @@ const language_en_us = {
|
||||
'Favorites': 'Favorites',
|
||||
'All offline tracks': 'All offline tracks',
|
||||
'Create new playlist': 'Create new playlist',
|
||||
'Cannot create playlists in offline mode': 'Cannot create playlists in offline mode',
|
||||
'Cannot create playlists in offline mode':
|
||||
'Cannot create playlists in offline mode',
|
||||
'Error': 'Error',
|
||||
'Error logging in! Please check your token and internet connection and try again.':
|
||||
'Error logging in! Please check your token and internet connection and try again.',
|
||||
'Dismiss': 'Dismiss',
|
||||
'Welcome to': 'Welcome to',
|
||||
'Please login using your Deezer account.': 'Please login using your Deezer account.',
|
||||
'Please login using your Deezer account.':
|
||||
'Please login using your Deezer account.',
|
||||
'Login using browser': 'Login using browser',
|
||||
'Login using token': 'Login using token',
|
||||
'Enter ARL': 'Enter ARL',
|
||||
@@ -73,7 +80,8 @@ const language_en_us = {
|
||||
"If you don't have account, you can register on deezer.com for free.":
|
||||
"If you don't have account, you can register on deezer.com for free.",
|
||||
'Open in browser': 'Open in browser',
|
||||
"By using this app, you don't agree with the Deezer ToS": "By using this app, you don't agree with the Deezer ToS",
|
||||
"By using this app, you don't agree with the Deezer ToS":
|
||||
"By using this app, you don't agree with the Deezer ToS",
|
||||
'Play next': 'Play next',
|
||||
'Add to queue': 'Add to queue',
|
||||
'Add track to favorites': 'Add track to favorites',
|
||||
@@ -130,7 +138,8 @@ const language_en_us = {
|
||||
'Wifi streaming': 'Wifi streaming',
|
||||
'External downloads': 'External downloads',
|
||||
'Content language': 'Content language',
|
||||
'Not app language, used in headers. Now': 'Not app language, used in headers. Now',
|
||||
'Not app language, used in headers. Now':
|
||||
'Not app language, used in headers. Now',
|
||||
'Select language': 'Select language',
|
||||
'Content country': 'Content country',
|
||||
'Country used in headers. Now': 'Country used in headers. Now',
|
||||
@@ -139,7 +148,8 @@ const language_en_us = {
|
||||
'Send track listen logs to Deezer, enable it for features like Flow to work properly',
|
||||
'Offline mode': 'Offline mode',
|
||||
'Will be overwritten on start.': 'Will be overwritten on start.',
|
||||
'Error logging in, check your internet connections.': 'Error logging in, check your internet connections.',
|
||||
'Error logging in, check your internet connections.':
|
||||
'Error logging in, check your internet connections.',
|
||||
'Logging in...': 'Logging in...',
|
||||
'Download path': 'Download path',
|
||||
'Downloads naming': 'Downloads naming',
|
||||
@@ -152,7 +162,8 @@ const language_en_us = {
|
||||
'Separate albums by discs': 'Separate albums by disks',
|
||||
'Overwrite already downloaded files': 'Overwrite already downloaded files',
|
||||
'Copy ARL': 'Copy ARL',
|
||||
'Copy userToken/ARL Cookie for use in other apps.': 'Copy userToken/ARL Cookie for use in other apps.',
|
||||
'Copy userToken/ARL Cookie for use in other apps.':
|
||||
'Copy userToken/ARL Cookie for use in other apps.',
|
||||
'Copied': 'Copied',
|
||||
'Log out': 'Log out',
|
||||
'Due to plugin incompatibility, login using browser is unavailable without restart.':
|
||||
@@ -164,12 +175,14 @@ const language_en_us = {
|
||||
'Go up': 'Go up',
|
||||
'Permission denied': 'Permission denied',
|
||||
'Language': 'Language',
|
||||
'Language changed, please restart ReFreezer to apply!': 'Language changed, please restart ReFreezer to apply!',
|
||||
'Language changed, please restart ReFreezer to apply!':
|
||||
'Language changed, please restart ReFreezer to apply!',
|
||||
'Importing...': 'Importing...',
|
||||
'Radio': 'Radio',
|
||||
'Flow': 'Flow',
|
||||
'Track is not available on Deezer!': 'Track is not available on Deezer!',
|
||||
'Failed to download track! Please restart.': 'Failed to download track! Please restart.',
|
||||
'Failed to download track! Please restart.':
|
||||
'Failed to download track! Please restart.',
|
||||
|
||||
//0.5.0 Strings:
|
||||
'Storage permission denied!': 'Storage permission denied!',
|
||||
@@ -190,13 +203,15 @@ const language_en_us = {
|
||||
//Updated 0.5.1
|
||||
'Download threads': 'Concurrent downloads',
|
||||
//0.5.0
|
||||
'Lyrics unavailable, empty or failed to load!': 'Lyrics unavailable, empty or failed to load!',
|
||||
'Lyrics unavailable, empty or failed to load!':
|
||||
'Lyrics unavailable, empty or failed to load!',
|
||||
'About': 'About',
|
||||
'Telegram Channel': 'Telegram Channel',
|
||||
'To get latest releases': 'To get latest releases',
|
||||
'Official chat': 'Official chat',
|
||||
'Telegram Group': 'Telegram Group',
|
||||
'Huge thanks to all the contributors! <3': 'Huge thanks to all the contributors! <3',
|
||||
'Huge thanks to all the contributors! <3':
|
||||
'Huge thanks to all the contributors! <3',
|
||||
'Edit playlist': 'Edit playlist',
|
||||
'Update': 'Update',
|
||||
'Playlist updated!': 'Playlist updated!',
|
||||
@@ -228,7 +243,8 @@ const language_en_us = {
|
||||
|
||||
//0.5.6 Strings:
|
||||
'Create .nomedia files': 'Create .nomedia files',
|
||||
'To prevent gallery being filled with album art': 'To prevent gallery being filled with album art',
|
||||
'To prevent gallery being filled with album art':
|
||||
'To prevent gallery being filled with album art',
|
||||
|
||||
//0.5.7 Strings:
|
||||
'Sleep timer': 'Sleep timer',
|
||||
@@ -270,7 +286,8 @@ const language_en_us = {
|
||||
'Current version: ': 'Current version: ',
|
||||
'Unsupported platform!': 'Unsupported platform!',
|
||||
'ReFreezer Updates': 'ReFreezer Updates',
|
||||
'Update to latest version in the settings.': 'Update to latest version in the settings.',
|
||||
'Update to latest version in the settings.':
|
||||
'Update to latest version in the settings.',
|
||||
'Release date': 'Release date',
|
||||
|
||||
//0.6.4 Strings:
|
||||
@@ -285,7 +302,8 @@ const language_en_us = {
|
||||
'Official Discord server': 'Official Discord server',
|
||||
|
||||
//0.6.6
|
||||
'Restart of app is required to properly log out!': 'Restart of app is required to properly log out!',
|
||||
'Restart of app is required to properly log out!':
|
||||
'Restart of app is required to properly log out!',
|
||||
'Artist separator': 'Artist separator',
|
||||
'Singleton naming': 'Standalone tracks filename',
|
||||
|
||||
@@ -411,11 +429,13 @@ const language_en_us = {
|
||||
'Your ARL might be expired, try logging out and logging back in using new ARL or browser.',
|
||||
|
||||
//0.7.05
|
||||
'The original freezer development team': 'The original freezer development team',
|
||||
'The original freezer development team':
|
||||
'The original freezer development team',
|
||||
'Donate': 'Donate',
|
||||
'You should rather support your favorite artists, instead of this app!':
|
||||
'You should rather support your favorite artists, instead of this app!',
|
||||
'No really, go support your favorite artists instead ;)': 'No really, go support your favorite artists instead ;)',
|
||||
'No really, go support your favorite artists instead ;)':
|
||||
'No really, go support your favorite artists instead ;)',
|
||||
'Storage permission is required to download content.\nPlease open settings and grant storage permission to ReFreezer.':
|
||||
'Storage permission is required to download content.\nPlease open settings and grant storage permission to ReFreezer.',
|
||||
'Open system settings': 'Open system settings',
|
||||
@@ -426,9 +446,11 @@ const language_en_us = {
|
||||
'Download failed!': 'Download failed!',
|
||||
|
||||
// 0.7.14
|
||||
'Permission denied, download canceled!': 'Permission denied, download canceled!',
|
||||
'Permission denied, download canceled!':
|
||||
'Permission denied, download canceled!',
|
||||
'Crowdin': 'Crowdin',
|
||||
'Help translating this app on Crowdin!': 'Help translating this app on Crowdin!',
|
||||
'Help translating this app on Crowdin!':
|
||||
'Help translating this app on Crowdin!',
|
||||
|
||||
// 0.7.15
|
||||
'Allow screen to turn off': 'Allow screen to turn off',
|
||||
|
||||
@@ -7,41 +7,41 @@ import '../languages/en_us.dart';
|
||||
List<Language> languages = [
|
||||
Language('en', 'US', 'English'),
|
||||
Language('ar', 'AR', 'Arabic'),
|
||||
Language('pt', 'BR', 'Brazil'),
|
||||
Language('it', 'IT', 'Italian'),
|
||||
Language('ast', 'ES', 'Asturian'),
|
||||
Language('bg', 'BG', 'Bulgarian'),
|
||||
Language('cs', 'CZ', 'Czech'),
|
||||
Language('de', 'DE', 'German'),
|
||||
Language('ru', 'RU', 'Russian'),
|
||||
Language('es', 'ES', 'Spanish'),
|
||||
Language('hr', 'HR', 'Croatian'),
|
||||
Language('el', 'GR', 'Greek'),
|
||||
Language('ko', 'KO', 'Korean'),
|
||||
Language('es', 'ES', 'Spanish'),
|
||||
Language('fa', 'IR', 'Persian'),
|
||||
Language('fil', 'PH', 'Filipino'),
|
||||
Language('fr', 'FR', 'Baguette'),
|
||||
Language('he', 'IL', 'Hebrew'),
|
||||
Language('tr', 'TR', 'Turkish'),
|
||||
Language('ro', 'RO', 'Romanian'),
|
||||
Language('id', 'ID', 'Indonesian'),
|
||||
Language('fa', 'IR', 'Persian'),
|
||||
Language('pl', 'PL', 'Polish'),
|
||||
Language('uk', 'UA', 'Ukrainian'),
|
||||
Language('hu', 'HU', 'Hungarian'),
|
||||
Language('ur', 'PK', 'Urdu'),
|
||||
Language('hi', 'IN', 'Hindi'),
|
||||
Language('sk', 'SK', 'Slovak'),
|
||||
Language('cs', 'CZ', 'Czech'),
|
||||
Language('vi', 'VI', 'Vietnamese'),
|
||||
Language('hr', 'HR', 'Croatian'),
|
||||
Language('hu', 'HU', 'Hungarian'),
|
||||
Language('id', 'ID', 'Indonesian'),
|
||||
Language('it', 'IT', 'Italian'),
|
||||
Language('ko', 'KR', 'Korean'),
|
||||
Language('nl', 'NL', 'Dutch'),
|
||||
Language('sl', 'SL', 'Slovenian'),
|
||||
Language('zh', 'CN', 'Chinese'),
|
||||
Language('fil', 'PH', 'Filipino'),
|
||||
Language('ast', 'ES', 'Asturian'),
|
||||
Language('bul', 'BG', 'Bulgarian'),
|
||||
Language('uwu', 'UWU', 'Furry'),
|
||||
Language('pl', 'PL', 'Polish'),
|
||||
Language('pt', 'BR', 'Brazil'),
|
||||
Language('ro', 'RO', 'Romanian'),
|
||||
Language('ru', 'RU', 'Russian'),
|
||||
Language('sk', 'SK', 'Slovak'),
|
||||
Language('sl', 'SI', 'Slovenian'),
|
||||
Language('te', 'IN', 'Telugu'),
|
||||
Language('tr', 'TR', 'Turkish'),
|
||||
Language('uk', 'UA', 'Ukrainian'),
|
||||
Language('ur', 'PK', 'Urdu'),
|
||||
Language('uwu', 'UWU', 'Furry'),
|
||||
Language('vi', 'VN', 'Vietnamese'),
|
||||
Language('zh', 'CN', 'Chinese'),
|
||||
];
|
||||
List<Locale> get supportedLocales => languages.map((l) => l.getLocale).toList();
|
||||
|
||||
extension Localization on String {
|
||||
static final _t = Translations.byLocale('en_US') + language_en_us + crowdin;
|
||||
static final _t = Translations.byLocale('en-US') + language_en_us + crowdin;
|
||||
|
||||
String get i18n => localize(this, _t);
|
||||
}
|
||||
|
||||
1
marquee
1
marquee
Submodule marquee deleted from 4241bdf46d
27
pubspec.yaml
27
pubspec.yaml
@@ -31,7 +31,7 @@ dependencies:
|
||||
animations: ^2.0.10
|
||||
async: ^2.11.0
|
||||
audio_service: ^0.18.14
|
||||
audio_session: ^0.1.20
|
||||
audio_session: ^0.2.2
|
||||
cached_network_image: ^3.3.0
|
||||
clipboard: ^0.1.3
|
||||
collection: ^1.18.0
|
||||
@@ -64,7 +64,7 @@ dependencies:
|
||||
flutter_displaymode: ^0.6.0
|
||||
#flutter_file_dialog: ^3.0.1
|
||||
flutter_inappwebview: ^6.1.0+1
|
||||
flutter_local_notifications: ^18.0.1
|
||||
flutter_local_notifications: ^19.2.1
|
||||
flutter_markdown: ^0.7.3
|
||||
flutter_material_color_picker: ^1.2.0
|
||||
flutter_screenutil: ^5.9.0
|
||||
@@ -72,10 +72,10 @@ dependencies:
|
||||
google_fonts: ^6.1.0
|
||||
html: ^0.15.3
|
||||
http: ^1.2.1
|
||||
i18n_extension: ^13.0.2
|
||||
intl: ^0.19.0
|
||||
i18n_extension: ^15.0.5
|
||||
intl: ^0.20.2
|
||||
json_annotation: ^4.9.0
|
||||
just_audio: ^0.9.39
|
||||
just_audio: ^0.10.4
|
||||
#just_audio:
|
||||
# git:
|
||||
# url: https://github.com/ryanheise/just_audio.git
|
||||
@@ -87,9 +87,10 @@ dependencies:
|
||||
# ref: visualizer
|
||||
# path: just_audio_platform_interface
|
||||
logging: ^1.2.0
|
||||
#marquee: ^2.2.3
|
||||
marquee:
|
||||
path: ./marquee
|
||||
marquee: ^2.3.0
|
||||
#marquee:
|
||||
# git:
|
||||
# url: https://github.com/DJDoubleD/marquee
|
||||
#move_to_background: ^1.0.1
|
||||
# Gradle 8 updated version:
|
||||
move_to_background:
|
||||
@@ -97,14 +98,12 @@ dependencies:
|
||||
numberpicker: ^2.1.2
|
||||
# Awaiting release with fix for flutter 3.29.0:
|
||||
#open_filex: ^4.6.0
|
||||
open_filex:
|
||||
git:
|
||||
url: https://github.com/mufassalhussain/open_filex
|
||||
open_filex: ^4.7.0
|
||||
package_info_plus: ^8.0.0
|
||||
palette_generator: ^0.3.3+3
|
||||
path: ^1.8.3
|
||||
path_provider: ^2.1.1
|
||||
permission_handler: ^11.3.1
|
||||
permission_handler: ^12.0.0+1
|
||||
photo_view: ^0.15.0
|
||||
pointycastle: ^3.7.4
|
||||
quick_actions: ^1.0.6
|
||||
@@ -117,7 +116,7 @@ dependencies:
|
||||
rxdart: ^0.28.0
|
||||
scrobblenaut:
|
||||
path: ./scrobblenaut
|
||||
share_plus: ^10.0.0
|
||||
share_plus: ^11.0.0
|
||||
spotify: ^0.13.1
|
||||
sqflite: ^2.3.0
|
||||
url_launcher: ^6.2.2
|
||||
@@ -131,7 +130,7 @@ dev_dependencies:
|
||||
|
||||
json_serializable: ^6.7.1
|
||||
build_runner: ^2.4.7
|
||||
flutter_lints: ^5.0.0
|
||||
flutter_lints: ^6.0.0
|
||||
envied_generator: ^1.0.0
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
|
||||
@@ -18,28 +18,29 @@ function Invoke-BuildRunner {
|
||||
|
||||
Write-Host "Running 'dart run build_runner build --delete-conflicting-outputs' for $name" -ForegroundColor Green
|
||||
dart run build_runner build --delete-conflicting-outputs
|
||||
|
||||
Write-Host "Running 'flutter clean' for $name" -ForegroundColor Green
|
||||
flutter clean
|
||||
}
|
||||
|
||||
# Extract submodule paths from .gitmodules
|
||||
$submodulePaths = git config --file .gitmodules --name-only --get-regexp path | ForEach-Object {
|
||||
# Use a more specific regex '\.path$' to ensure we only get keys ending in .path
|
||||
$submodulePaths = git config --file .gitmodules --name-only --get-regexp '\.path$' | ForEach-Object {
|
||||
git config --file .gitmodules --get $_
|
||||
} | Where-Object { $_ -notmatch "http" }
|
||||
|
||||
# Run build_runner for each submodule
|
||||
foreach ($submodule in $submodulePaths) {
|
||||
$submodulePath = Join-Path -Path $mainProjectDir -ChildPath $submodule
|
||||
Invoke-BuildRunner $submodulePath "submodule $submodule"
|
||||
if ($submodulePaths) {
|
||||
foreach ($submoduleDirName in $submodulePaths) {
|
||||
$submodulePath = Join-Path -Path $mainProjectDir -ChildPath $submoduleDirName
|
||||
if (Test-Path $submodulePath) {
|
||||
Invoke-BuildRunner $submodulePath "submodule $submoduleDirName"
|
||||
}
|
||||
else {
|
||||
Write-Host "Submodule path $submodulePath not found, skipping." -ForegroundColor Yellow
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Clean and then run build_runner for the main project
|
||||
Set-Location $mainProjectDir
|
||||
Write-Host "Running 'flutter clean' for the main project before build" -ForegroundColor Yellow
|
||||
flutter clean
|
||||
# Run build_runner for the main project
|
||||
Invoke-BuildRunner $mainProjectDir "main project"
|
||||
|
||||
# Clean and get dependencies for the main project again
|
||||
Set-Location $mainProjectDir
|
||||
Write-Host "Running 'flutter clean' for the main project" -ForegroundColor Yellow
|
||||
flutter clean
|
||||
Write-Host "Running 'flutter pub get' for the main project" -ForegroundColor Yellow
|
||||
flutter pub get
|
||||
|
||||
@@ -4,37 +4,37 @@ import zipfile
|
||||
import json
|
||||
|
||||
lang_crowdin = {
|
||||
"ar": "ar_ar",
|
||||
"ast": "ast_es",
|
||||
"bg": "bul_bg",
|
||||
"cs": "cs_cz",
|
||||
"de": "de_de",
|
||||
"el": "el_gr",
|
||||
"es-ES": "es_es",
|
||||
"fa": "fa_ir",
|
||||
"fil": "fil_ph",
|
||||
"fr": "fr_fr",
|
||||
"he": "he_il",
|
||||
"hi": "hi_in",
|
||||
"hr": "hr_hr",
|
||||
"hu": "hu_hu",
|
||||
"id": "id_id",
|
||||
"it": "it_it",
|
||||
"ko": "ko_ko",
|
||||
"nl": "nl_nl",
|
||||
"pl": "pl_pl",
|
||||
"pt-BR": "pt_br",
|
||||
"ro": "ro_ro",
|
||||
"ru": "ru_ru",
|
||||
"sk": "sk_sk",
|
||||
"sl": "sl_sl",
|
||||
"te": "te_in",
|
||||
"tr": "tr_tr",
|
||||
"uk": "uk_ua",
|
||||
"ur-PK": "ur_pk",
|
||||
"uwu": "uwu_uwu",
|
||||
"vi": "vi_vi",
|
||||
"zh-CN": "zh_cn",
|
||||
"ar": "ar-AR",
|
||||
"ast": "ast-ES",
|
||||
"bg": "bg-BG",
|
||||
"cs": "cs-CZ",
|
||||
"de": "de-DE",
|
||||
"el": "el-GR",
|
||||
"es-ES": "es-ES",
|
||||
"fa": "fa-IR",
|
||||
"fil": "fil-PH",
|
||||
"fr": "fr-FR",
|
||||
"he": "he-IL",
|
||||
"hi": "hi-IN",
|
||||
"hr": "hr-HR",
|
||||
"hu": "hu-HU",
|
||||
"id": "id-ID",
|
||||
"it": "it-IT",
|
||||
"ko": "ko-KR",
|
||||
"nl": "nl-NL",
|
||||
"pl": "pl-PL",
|
||||
"pt-BR": "pt-BR",
|
||||
"ro": "ro-RO",
|
||||
"ru": "ru-RU",
|
||||
"sk": "sk-SK",
|
||||
"sl": "sl-SI",
|
||||
"te": "te-IN",
|
||||
"tr": "tr-TR",
|
||||
"uk": "uk-UA",
|
||||
"ur-PK": "ur-PK",
|
||||
"uwu": "uwu-UWU",
|
||||
"vi": "vi-VN",
|
||||
"zh-CN": "zh-CN",
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ def convert_to_single_quotes(json_str):
|
||||
pattern = r'"((?:[^"\\]|\\.)*)":\s*"((?:[^"\\]|\\.)*)"'
|
||||
single_quote_json = re.sub(pattern, replace_quotes, json_str)
|
||||
|
||||
locale_pattern = r'"(\w+_\w+)":\s*{'
|
||||
locale_pattern = r'"(\w+-\w+)":\s*{'
|
||||
single_quote_json = re.sub(locale_pattern, replace_locale_quotes, single_quote_json)
|
||||
|
||||
return single_quote_json
|
||||
|
||||
Reference in New Issue
Block a user