mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-12 23:45:18 +00:00
chore: generate changelogs and migrate to non synthetic l10n
This commit is contained in:
parent
26b1c31f8f
commit
e4ac7cacc9
19
CHANGELOG.md
19
CHANGELOG.md
@ -2,6 +2,25 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [4.0.1](https://github.com/krtirtho/spotube/compare/v4.0.0...v4.0.1) (2025-03-15)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **android**: navigation overlaying in app navigation
|
||||
- add to playlist not working in smaller screen devices
|
||||
- language picker search broken
|
||||
- **generate_playlist**: create playlist not adding tracks nor navigating to playlist page
|
||||
- **desktop**: double titlebar in local library folders and massive space in overlay player
|
||||
- lastfm form broken in other locales #2447
|
||||
- spotify login broken due to new totp requirement #2494
|
||||
- spotify authentication 429 errors
|
||||
|
||||
### Features
|
||||
|
||||
- **local_library**: add support for x-flac, opus and x-wav
|
||||
- **translation**: add tagalog language support #2504
|
||||
- **translation**: add tamil translation for spotube #2501
|
||||
|
||||
## [4.0.0](https://github.com/krtirtho/spotube/compare/v3.9.0...v4.0.0) (2025-03-07)
|
||||
|
||||
## Changes
|
||||
|
@ -325,8 +325,9 @@ If you are concerned, you can [read the reason of choosing this license](https:/
|
||||
1. [youtube_explode_dart](https://github.com/Hexer10/youtube_explode_dart) - A port in dart of the youtube explode library. Supports several API functions without the need of Youtube API Key.
|
||||
1. [http_parser](https://pub.dev/packages/http_parser) - A platform-independent package for parsing and serializing HTTP formats.
|
||||
1. [collection](https://pub.dev/packages/collection) - Collections and utilities functions and classes related to collections.
|
||||
1. [otp_util](https://github.com/dushiling) - otp_util is a dart package to generate and verify one-time passwords,it It provides two methods TOPT and HOTP.They are Time-based OTPs and Counter-based OTPs.
|
||||
1. [dio_http2_adapter](https://github.com/cfug/dio) - An adapter that combines HTTP/2 and dio. Supports reusing connections, header compression, etc.
|
||||
1. [build_runner](https://pub.dev/packages/build_runner) - A build system for Dart code generation and modular compilation.
|
||||
1. [crypto](https://pub.dev/packages/crypto) - Implementations of SHA, MD5, and HMAC cryptographic functions.
|
||||
1. [envied_generator](https://github.com/petercinibulk/envied) - Generator for the Envied package. See https://pub.dev/packages/envied.
|
||||
1. [flutter_gen_runner](https://github.com/FlutterGen/flutter_gen) - The Flutter code generator for your assets, fonts, colors, … — Get rid of all String-based APIs.
|
||||
1. [flutter_launcher_icons](https://github.com/fluttercommunity/flutter_launcher_icons) - A package which simplifies the task of updating your Flutter app's launcher icon.
|
||||
|
@ -1,4 +1,5 @@
|
||||
arb-dir: lib/l10n
|
||||
template-arb-file: app_en.arb
|
||||
output-localization-file: app_localizations.dart
|
||||
output-dir: lib/l10n/generated
|
||||
untranslated-messages-file: untranslated_messages.json
|
||||
synthetic-package: false
|
||||
|
@ -2,7 +2,7 @@ import 'package:auto_route/auto_route.dart';
|
||||
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
||||
import 'package:spotube/collections/routes.gr.dart';
|
||||
import 'package:spotube/collections/spotube_icons.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'package:spotube/l10n/l10n.dart';
|
||||
|
||||
class SideBarTiles {
|
||||
final IconData icon;
|
||||
|
@ -1,5 +1,5 @@
|
||||
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'package:spotube/l10n/l10n.dart';
|
||||
|
||||
extension AppLocale on BuildContext {
|
||||
AppLocalizations get l10n => AppLocalizations.of(this)!;
|
||||
|
2766
lib/l10n/generated/app_localizations.dart
Normal file
2766
lib/l10n/generated/app_localizations.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ar.dart
Normal file
1374
lib/l10n/generated/app_localizations_ar.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_bn.dart
Normal file
1374
lib/l10n/generated/app_localizations_bn.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ca.dart
Normal file
1374
lib/l10n/generated/app_localizations_ca.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_cs.dart
Normal file
1374
lib/l10n/generated/app_localizations_cs.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_de.dart
Normal file
1374
lib/l10n/generated/app_localizations_de.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_en.dart
Normal file
1374
lib/l10n/generated/app_localizations_en.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_es.dart
Normal file
1374
lib/l10n/generated/app_localizations_es.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_eu.dart
Normal file
1374
lib/l10n/generated/app_localizations_eu.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_fa.dart
Normal file
1374
lib/l10n/generated/app_localizations_fa.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_fi.dart
Normal file
1374
lib/l10n/generated/app_localizations_fi.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_fr.dart
Normal file
1374
lib/l10n/generated/app_localizations_fr.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_hi.dart
Normal file
1374
lib/l10n/generated/app_localizations_hi.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_id.dart
Normal file
1374
lib/l10n/generated/app_localizations_id.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_it.dart
Normal file
1374
lib/l10n/generated/app_localizations_it.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ja.dart
Normal file
1374
lib/l10n/generated/app_localizations_ja.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ka.dart
Normal file
1374
lib/l10n/generated/app_localizations_ka.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ko.dart
Normal file
1374
lib/l10n/generated/app_localizations_ko.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ne.dart
Normal file
1374
lib/l10n/generated/app_localizations_ne.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_nl.dart
Normal file
1374
lib/l10n/generated/app_localizations_nl.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_pl.dart
Normal file
1374
lib/l10n/generated/app_localizations_pl.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_pt.dart
Normal file
1374
lib/l10n/generated/app_localizations_pt.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ru.dart
Normal file
1374
lib/l10n/generated/app_localizations_ru.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_ta.dart
Normal file
1374
lib/l10n/generated/app_localizations_ta.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_th.dart
Normal file
1374
lib/l10n/generated/app_localizations_th.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_tl.dart
Normal file
1374
lib/l10n/generated/app_localizations_tl.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_tr.dart
Normal file
1374
lib/l10n/generated/app_localizations_tr.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_uk.dart
Normal file
1374
lib/l10n/generated/app_localizations_uk.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_vi.dart
Normal file
1374
lib/l10n/generated/app_localizations_vi.dart
Normal file
File diff suppressed because it is too large
Load Diff
1374
lib/l10n/generated/app_localizations_zh.dart
Normal file
1374
lib/l10n/generated/app_localizations_zh.dart
Normal file
File diff suppressed because it is too large
Load Diff
@ -18,6 +18,7 @@
|
||||
library l10n;
|
||||
|
||||
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
||||
export 'package:spotube/l10n/generated/app_localizations.dart';
|
||||
|
||||
class L10n {
|
||||
static final all = [
|
||||
|
@ -44,7 +44,6 @@ import 'package:spotube/services/logger/logger.dart';
|
||||
import 'package:spotube/services/wm_tools/wm_tools.dart';
|
||||
import 'package:spotube/utils/migrations/sandbox.dart';
|
||||
import 'package:spotube/utils/platform.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'package:flutter_native_splash/flutter_native_splash.dart';
|
||||
import 'package:flutter_displaymode/flutter_displaymode.dart';
|
||||
import 'package:timezone/data/latest.dart' as tz;
|
||||
|
@ -1,3 +1,4 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
||||
import 'package:spotify/spotify.dart';
|
||||
@ -11,6 +12,14 @@ import 'package:spotube/extensions/context.dart';
|
||||
import 'package:spotube/l10n/l10n.dart';
|
||||
import 'package:spotube/provider/user_preferences/user_preferences_provider.dart';
|
||||
|
||||
final localWithName = L10n.all.map((e) {
|
||||
final isoCodeName = LanguageLocals.getDisplayLanguage(e.languageCode);
|
||||
return (
|
||||
locale: e,
|
||||
name: "${isoCodeName.name} (${isoCodeName.nativeName})",
|
||||
);
|
||||
}).sortedBy((e) => e.name);
|
||||
|
||||
class SettingsLanguageRegionSection extends HookConsumerWidget {
|
||||
const SettingsLanguageRegionSection({super.key});
|
||||
|
||||
@ -36,18 +45,8 @@ class SettingsLanguageRegionSection extends HookConsumerWidget {
|
||||
value: const Locale("system", "system"),
|
||||
child: Text(context.l10n.system_default),
|
||||
),
|
||||
for (final locale in L10n.all)
|
||||
SelectItemButton(
|
||||
value: locale,
|
||||
child: Builder(builder: (context) {
|
||||
final isoCodeName = LanguageLocals.getDisplayLanguage(
|
||||
locale.languageCode,
|
||||
);
|
||||
return Text(
|
||||
"${isoCodeName.name} (${isoCodeName.nativeName})",
|
||||
);
|
||||
}),
|
||||
),
|
||||
for (final (:locale, :name) in localWithName)
|
||||
SelectItemButton(value: locale, child: Text(name)),
|
||||
],
|
||||
),
|
||||
AdaptiveSelectTile<Market>(
|
||||
|
Loading…
Reference in New Issue
Block a user