Zarz Eleutherius
205032e094
New translations app_en.arb (Chinese Simplified)
2026-01-16 07:24:18 +07:00
Zarz Eleutherius
9c6f438e22
New translations app_en.arb (Russian)
2026-01-16 07:24:17 +07:00
Zarz Eleutherius
4f2587554a
New translations app_en.arb (Portuguese)
2026-01-16 07:24:16 +07:00
Zarz Eleutherius
369fdd84bf
New translations app_en.arb (Dutch)
2026-01-16 07:24:15 +07:00
Zarz Eleutherius
5c3b668e92
New translations app_en.arb (Korean)
2026-01-16 07:24:14 +07:00
Zarz Eleutherius
141db45051
New translations app_en.arb (Japanese)
2026-01-16 07:24:13 +07:00
Zarz Eleutherius
8f9bc8f058
New translations app_en.arb (German)
2026-01-16 07:24:11 +07:00
Zarz Eleutherius
be372604fe
New translations app_en.arb (Spanish)
2026-01-16 07:24:10 +07:00
Zarz Eleutherius
6c25fc6a8d
New translations app_en.arb (French)
2026-01-16 07:24:09 +07:00
Zarz Eleutherius
2eef021587
Update source file app_en.arb
2026-01-16 07:24:03 +07:00
zarzet
9eac6e6e56
docs: add Crowdin translation badge to README
2026-01-16 07:07:46 +07:00
zarzet
e5c310f455
fix: update crowdin.yml to use two_letters_code for locale format
...
- Change from %locale% (id-ID) to %two_letters_code% (id)
- Matches Flutter l10n expected filename format
2026-01-16 06:39:16 +07:00
zarzet
d8f73dfa56
feat: add support for 13 languages with improved language selector
...
- Rename Crowdin ARB files from locale-REGION to locale format
- Fix @@locale values to match filenames
- Update language selector to bottom sheet picker (supports 13 languages)
- Supported: English, Indonesian, German, Spanish, French, Hindi,
Japanese, Korean, Dutch, Portuguese, Russian, Chinese (Simplified/Traditional)
- Remove duplicate app_id-ID.arb (keep app_id.arb)
2026-01-16 06:38:52 +07:00
zarzet
f128d0caf0
Merge branch 'dev' of https://github.com/zarzet/SpotiFLAC-Mobile into dev
2026-01-16 06:35:44 +07:00
zarzet
aa499ceba2
refactor: use consistent ViewModeChip for language selector
...
- Remove duplicate _LanguageChip widget
- Reuse _ViewModeChip for Material Design 3 consistency
- Same font size (12), padding, and styling as other selectors
2026-01-16 06:28:26 +07:00
zarzet
01306afc2d
feat: add language selector in Appearance settings
...
- Add locale field to AppSettings model with 'system' default
- Add Language section in Appearance settings page
- Support System Default, English, and Indonesian options
- App language changes take effect immediately
- Add localization strings for language selector
2026-01-16 06:25:24 +07:00
Zarz Eleutherius
9a3cd0273b
Merge pull request #56 from zarzet/l10n_dev
...
New Crowdin updates
2026-01-16 06:25:02 +07:00
Zarz Eleutherius
ac25683f33
New translations app_en.arb (Hindi)
2026-01-16 06:22:51 +07:00
Zarz Eleutherius
624b2112d8
New translations app_en.arb (Indonesian)
2026-01-16 06:22:50 +07:00
Zarz Eleutherius
8bd34dc87e
New translations app_en.arb (Chinese Traditional)
2026-01-16 06:22:49 +07:00
Zarz Eleutherius
948779bcfc
New translations app_en.arb (Chinese Simplified)
2026-01-16 06:22:48 +07:00
Zarz Eleutherius
a74b3a19f7
New translations app_en.arb (Russian)
2026-01-16 06:22:47 +07:00
Zarz Eleutherius
931d9fbf61
New translations app_en.arb (Portuguese)
2026-01-16 06:22:46 +07:00
Zarz Eleutherius
a8c76004db
New translations app_en.arb (Dutch)
2026-01-16 06:22:45 +07:00
Zarz Eleutherius
0df4596f79
New translations app_en.arb (Korean)
2026-01-16 06:22:44 +07:00
Zarz Eleutherius
cf549df049
New translations app_en.arb (Japanese)
2026-01-16 06:22:43 +07:00
Zarz Eleutherius
bd3783154b
New translations app_en.arb (German)
2026-01-16 06:22:42 +07:00
Zarz Eleutherius
6919408905
New translations app_en.arb (Spanish)
2026-01-16 06:22:41 +07:00
Zarz Eleutherius
f4c08a5981
New translations app_en.arb (French)
2026-01-16 06:22:39 +07:00
zarzet
7fff55da96
chore: add crowdin.yml for translation sync
2026-01-16 06:16:28 +07:00
zarzet
3c4dbd1a80
docs: add @key metadata descriptions for Crowdin translators
...
- Add description field to all 400+ localization strings
- Mark brand names and technical terms as DO NOT TRANSLATE
- Add placeholder descriptions for parameterized strings
- Helps translators understand context for each string
2026-01-16 05:58:36 +07:00
zarzet
f26af38c1e
feat: add multilanguage support (i18n) for English and Indonesian
...
- Add flutter_localizations and intl dependencies
- Create l10n.yaml configuration and ARB files (app_en.arb, app_id.arb)
- Add L10n extension for easy context.l10n access
- Localize all active screens:
- setup_screen, track_metadata_screen, log_screen
- download_settings_page, options_settings_page, appearance_settings_page
- extensions_page, extension_detail_page, extension_details_screen
- about_page, provider_priority_page, metadata_provider_priority_page
- home_tab, queue_tab, store_tab, main_shell
- album_screen, artist_screen, playlist_screen
- downloaded_album_screen, queue_screen
- Localize widgets: update_dialog, download_service_picker
- Technical terms (FLAC, API, Spotify, Tidal, Qobuz, etc.) are NOT translated
- ~900+ localized strings in English, ~660+ in Indonesian
2026-01-16 05:50:11 +07:00
zarzet
7c6705c75c
merge: main into dev - resolved conflicts for mime utils, version, gitignore
2026-01-16 03:47:45 +07:00
zarzet
b193bc0b8f
feat: download cancellation, duplicate detection, progress tracking improvements
2026-01-16 03:46:31 +07:00
zarzet
1a90887465
release: v3.1.0 - fix Separate Singles, extension metadata, YTMusic parsing
...
Fixes:
- Fix Separate Singles not working (#54 ) - albumType not extracted from Deezer API
- Fix extension artist/album metadata missing provider IDs and cover URLs
- Fix YTMusic extension not extracting album name and duration from search
- Fix extension collection screens setState after dispose
- Fix search source chips referencing removed badge props
Changes:
- Deezer convertTrack now includes album_type from record_type
- Track creation preserves albumType and source throughout download flow
- Go exports include provider_id in album/artist responses
- Version bump to 3.1.0+59
2026-01-15 18:54:01 +07:00
zarzet
82440affac
feat: add home tab enhancements, download queue improvements, and platform bridge updates
2026-01-15 04:31:33 +07:00
zarzet
6d2f75c5dc
docs: update screenshots and VirusTotal link for v3.0.0
2026-01-14 21:42:16 +07:00
zarzet
18bc079632
Merge dev into main: v3.0.0 stable release
v3.0.0
2026-01-14 18:08:30 +07:00
zarzet
4091a9c499
release: v3.0.0 stable with Extension System
2026-01-14 01:57:30 +07:00
zarzet
9346f2d149
fix: bottom overflow in Folder Organization dialog
2026-01-14 01:00:52 +07:00
zarzet
8ab52959e8
refactor: simplify parallel download result handling in tidal/qobuz
2026-01-14 00:57:04 +07:00
zarzet
bad95e99c8
fix: remove unused getDownloadURLSequential from tidal.go
...
Replaced by parallel version for faster API responses
2026-01-14 00:39:59 +07:00
zarzet
dbd7fd70be
fix: remove unused function and fix bit shifting warnings
...
- Remove unused getQobuzDownloadURLSequential (replaced by parallel version)
- Fix bit shifting on byte values in metadata.go (cast to uint32 before shift)
2026-01-14 00:38:46 +07:00
zarzet
125d070cfe
fix: remove duplicate --- separator in release notes
...
Extract changelog now strips trailing --- from CHANGELOG.md sections
2026-01-13 23:51:59 +07:00
zarzet
15acf181d1
fix: back gesture freeze on Android 13+ and add album folder structure setting
...
- Add PopScope with canPop:true to all settings pages for predictive back gesture support
- Change settings navigation to use PageRouteBuilder instead of MaterialPageRoute
- Add album folder structure setting (artist_album vs album_only)
- Fix extension search result parsing to handle both array and object formats
- Update CHANGELOG
Fixes back gesture freeze issue on OnePlus and other Android 13+ devices with gesture navigation
2026-01-13 23:48:02 +07:00
zarzet
e049f9b868
fix: improve artist matching for multi-artist tracks and add cover logging
2026-01-13 20:55:46 +07:00
zarzet
6a886c5276
fix: handle Japanese artist name order in Tidal/Qobuz matching
2026-01-13 20:31:05 +07:00
zarzet
1ec190bfe7
fix: multiple bugfixes for v3.0.0-beta.2
2026-01-13 20:12:35 +07:00
zarzet
7ca032b3f5
fix: remove unnecessary PopScope to prevent back gesture freeze
...
Removes PopScope wrapper from settings pages that don't need it.
PopScope with canPop: true was causing race condition with Android
gesture navigation, freezing the app.
2026-01-13 18:18:41 +07:00
zarzet
13b917d1a0
fix: preserve directory structure when extracting extension packages
v3.0.0-beta.1
2026-01-13 17:50:12 +07:00