diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 2223ca4e..029e223c 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -7607,6 +7607,48 @@ abstract class AppLocalizations { /// **'Lossless'** String get trackConvertLosslessSuffix; + /// Section label for lossless conversion dithering options + /// + /// In en, this message translates to: + /// **'Dithering'** + String get trackConvertDithering; + + /// Section label for lossless conversion resampler options + /// + /// In en, this message translates to: + /// **'Resampler'** + String get trackConvertResampler; + + /// Lossless conversion dither option with no dithering applied + /// + /// In en, this message translates to: + /// **'None'** + String get trackConvertDitherNone; + + /// Lossless conversion triangular probability density function dither option + /// + /// In en, this message translates to: + /// **'TPDF'** + String get trackConvertDitherTriangular; + + /// Lossless conversion high-pass triangular dither option + /// + /// In en, this message translates to: + /// **'Triangular HP'** + String get trackConvertDitherTriangularHp; + + /// Lossless conversion default FFmpeg swresample resampler option + /// + /// In en, this message translates to: + /// **'SWR'** + String get trackConvertResamplerSwr; + + /// Lossless conversion SoX resampler option + /// + /// In en, this message translates to: + /// **'SoXr'** + String get trackConvertResamplerSoxr; + /// Fallback changelog text when release notes cannot be parsed /// /// In en, this message translates to: @@ -7750,6 +7792,84 @@ abstract class AppLocalizations { /// In en, this message translates to: /// **'Kosovo'** String get regionCountryXK; + + /// Settings option title for extension verification browser preference + /// + /// In en, this message translates to: + /// **'Verification browser'** + String get extensionVerificationBrowserTitle; + + /// Subtitle when external browser is preferred for extension verification + /// + /// In en, this message translates to: + /// **'Open challenges in the default browser first'** + String get extensionVerificationBrowserSubtitleExternal; + + /// Subtitle when in-app browser is preferred for extension verification + /// + /// In en, this message translates to: + /// **'Open challenges in the in-app browser first'** + String get extensionVerificationBrowserSubtitleInApp; + + /// Chip label for external browser verification mode + /// + /// In en, this message translates to: + /// **'External'** + String get extensionVerificationBrowserExternal; + + /// Chip label for in-app browser verification mode + /// + /// In en, this message translates to: + /// **'In-app'** + String get extensionVerificationBrowserInApp; + + /// Dialog title when automatic browser launch for verification fails + /// + /// In en, this message translates to: + /// **'Open verification manually'** + String get extensionVerificationHelpTitleManual; + + /// Dialog title when verification is taking longer than expected + /// + /// In en, this message translates to: + /// **'Verification still waiting'** + String get extensionVerificationHelpTitleWaiting; + + /// Dialog message when automatic browser launch for verification fails + /// + /// In en, this message translates to: + /// **'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'** + String get extensionVerificationHelpMessageManual; + + /// Dialog message when verification may need manual browser help + /// + /// In en, this message translates to: + /// **'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'** + String get extensionVerificationHelpMessageWaiting; + + /// Button to dismiss the extension verification help dialog + /// + /// In en, this message translates to: + /// **'Close'** + String get extensionVerificationClose; + + /// Button to copy the extension verification URL + /// + /// In en, this message translates to: + /// **'Copy link'** + String get extensionVerificationCopyLink; + + /// Snackbar after copying the extension verification URL + /// + /// In en, this message translates to: + /// **'Verification link copied'** + String get extensionVerificationLinkCopied; + + /// Button to open the extension verification URL in a browser + /// + /// In en, this message translates to: + /// **'Open browser'** + String get extensionVerificationOpenBrowser; } class _AppLocalizationsDelegate diff --git a/lib/l10n/app_localizations_ar.dart b/lib/l10n/app_localizations_ar.dart index 0c3f4901..c05d5ac9 100644 --- a/lib/l10n/app_localizations_ar.dart +++ b/lib/l10n/app_localizations_ar.dart @@ -4625,6 +4625,27 @@ class AppLocalizationsAr extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4704,4 +4725,49 @@ class AppLocalizationsAr extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index 3b4d9e6d..cdf7c8f5 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -4674,6 +4674,27 @@ class AppLocalizationsDe extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4753,4 +4774,49 @@ class AppLocalizationsDe extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 69895634..3850d199 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -4625,6 +4625,27 @@ class AppLocalizationsEn extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4704,4 +4725,49 @@ class AppLocalizationsEn extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index 5f9e36d7..524e6a4f 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -4619,6 +4619,27 @@ class AppLocalizationsEs extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4698,6 +4719,51 @@ class AppLocalizationsEs extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } /// The translations for Spanish Castilian, as used in Spain (`es_ES`). diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index 4e85e23f..f116500d 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -4739,6 +4739,27 @@ class AppLocalizationsFr extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4818,4 +4839,49 @@ class AppLocalizationsFr extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_hi.dart b/lib/l10n/app_localizations_hi.dart index d9ad9a7b..4eb008df 100644 --- a/lib/l10n/app_localizations_hi.dart +++ b/lib/l10n/app_localizations_hi.dart @@ -4625,6 +4625,27 @@ class AppLocalizationsHi extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4704,4 +4725,49 @@ class AppLocalizationsHi extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_id.dart b/lib/l10n/app_localizations_id.dart index ebcb3426..dc2ba084 100644 --- a/lib/l10n/app_localizations_id.dart +++ b/lib/l10n/app_localizations_id.dart @@ -4609,6 +4609,27 @@ class AppLocalizationsId extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'Tidak ada'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'Lihat catatan rilis untuk detail.'; @@ -4688,4 +4709,49 @@ class AppLocalizationsId extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Browser verifikasi'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Buka tantangan di browser default terlebih dahulu'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Buka tantangan di browser dalam aplikasi terlebih dahulu'; + + @override + String get extensionVerificationBrowserExternal => 'Eksternal'; + + @override + String get extensionVerificationBrowserInApp => 'Dalam aplikasi'; + + @override + String get extensionVerificationHelpTitleManual => + 'Buka verifikasi secara manual'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verifikasi masih menunggu'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile tidak dapat membuka browser secara otomatis. Buka tautan ini di browser Anda, atau salin secara manual.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'Jika browser tidak terbuka, atau verifikasi selesai tetapi tidak kembali ke SpotiFLAC Mobile, buka tautan ini lagi atau salin secara manual.'; + + @override + String get extensionVerificationClose => 'Tutup'; + + @override + String get extensionVerificationCopyLink => 'Salin tautan'; + + @override + String get extensionVerificationLinkCopied => 'Tautan verifikasi disalin'; + + @override + String get extensionVerificationOpenBrowser => 'Buka browser'; } diff --git a/lib/l10n/app_localizations_ja.dart b/lib/l10n/app_localizations_ja.dart index 2068ca94..e0cf6673 100644 --- a/lib/l10n/app_localizations_ja.dart +++ b/lib/l10n/app_localizations_ja.dart @@ -4612,6 +4612,27 @@ class AppLocalizationsJa extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4691,4 +4712,49 @@ class AppLocalizationsJa extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_ko.dart b/lib/l10n/app_localizations_ko.dart index 534d1cbd..30c47bf3 100644 --- a/lib/l10n/app_localizations_ko.dart +++ b/lib/l10n/app_localizations_ko.dart @@ -4610,6 +4610,27 @@ class AppLocalizationsKo extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4689,4 +4710,49 @@ class AppLocalizationsKo extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index a2fc14e9..a3113a48 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -4625,6 +4625,27 @@ class AppLocalizationsNl extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4704,4 +4725,49 @@ class AppLocalizationsNl extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_pt.dart b/lib/l10n/app_localizations_pt.dart index da880206..59561cff 100644 --- a/lib/l10n/app_localizations_pt.dart +++ b/lib/l10n/app_localizations_pt.dart @@ -4619,6 +4619,27 @@ class AppLocalizationsPt extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4698,6 +4719,51 @@ class AppLocalizationsPt extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } /// The translations for Portuguese, as used in Portugal (`pt_PT`). diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index 4ce37c0e..3e7cf9bb 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -4681,6 +4681,27 @@ class AppLocalizationsRu extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4760,4 +4781,49 @@ class AppLocalizationsRu extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_tr.dart b/lib/l10n/app_localizations_tr.dart index 5f2a3055..e1b610ca 100644 --- a/lib/l10n/app_localizations_tr.dart +++ b/lib/l10n/app_localizations_tr.dart @@ -4656,6 +4656,27 @@ class AppLocalizationsTr extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4735,4 +4756,49 @@ class AppLocalizationsTr extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_uk.dart b/lib/l10n/app_localizations_uk.dart index 72696b94..babb5f67 100644 --- a/lib/l10n/app_localizations_uk.dart +++ b/lib/l10n/app_localizations_uk.dart @@ -4678,6 +4678,27 @@ class AppLocalizationsUk extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4757,4 +4778,49 @@ class AppLocalizationsUk extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index 1661834d..d9fb7393 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -4619,6 +4619,27 @@ class AppLocalizationsZh extends AppLocalizations { @override String get trackConvertLosslessSuffix => 'Lossless'; + @override + String get trackConvertDithering => 'Dithering'; + + @override + String get trackConvertResampler => 'Resampler'; + + @override + String get trackConvertDitherNone => 'None'; + + @override + String get trackConvertDitherTriangular => 'TPDF'; + + @override + String get trackConvertDitherTriangularHp => 'Triangular HP'; + + @override + String get trackConvertResamplerSwr => 'SWR'; + + @override + String get trackConvertResamplerSoxr => 'SoXr'; + @override String get updateSeeReleaseNotes => 'See release notes for details.'; @@ -4698,6 +4719,51 @@ class AppLocalizationsZh extends AppLocalizations { @override String get regionCountryXK => 'Kosovo'; + + @override + String get extensionVerificationBrowserTitle => 'Verification browser'; + + @override + String get extensionVerificationBrowserSubtitleExternal => + 'Open challenges in the default browser first'; + + @override + String get extensionVerificationBrowserSubtitleInApp => + 'Open challenges in the in-app browser first'; + + @override + String get extensionVerificationBrowserExternal => 'External'; + + @override + String get extensionVerificationBrowserInApp => 'In-app'; + + @override + String get extensionVerificationHelpTitleManual => + 'Open verification manually'; + + @override + String get extensionVerificationHelpTitleWaiting => + 'Verification still waiting'; + + @override + String get extensionVerificationHelpMessageManual => + 'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.'; + + @override + String get extensionVerificationHelpMessageWaiting => + 'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.'; + + @override + String get extensionVerificationClose => 'Close'; + + @override + String get extensionVerificationCopyLink => 'Copy link'; + + @override + String get extensionVerificationLinkCopied => 'Verification link copied'; + + @override + String get extensionVerificationOpenBrowser => 'Open browser'; } /// The translations for Chinese, as used in China (`zh_CN`). diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 913f8f5f..4c73c4aa 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -6006,6 +6006,34 @@ "@trackConvertLosslessSuffix": { "description": "Suffix used in converted lossless quality labels" }, + "trackConvertDithering": "Dithering", + "@trackConvertDithering": { + "description": "Section label for lossless conversion dithering options" + }, + "trackConvertResampler": "Resampler", + "@trackConvertResampler": { + "description": "Section label for lossless conversion resampler options" + }, + "trackConvertDitherNone": "None", + "@trackConvertDitherNone": { + "description": "Lossless conversion dither option with no dithering applied" + }, + "trackConvertDitherTriangular": "TPDF", + "@trackConvertDitherTriangular": { + "description": "Lossless conversion triangular probability density function dither option" + }, + "trackConvertDitherTriangularHp": "Triangular HP", + "@trackConvertDitherTriangularHp": { + "description": "Lossless conversion high-pass triangular dither option" + }, + "trackConvertResamplerSwr": "SWR", + "@trackConvertResamplerSwr": { + "description": "Lossless conversion default FFmpeg swresample resampler option" + }, + "trackConvertResamplerSoxr": "SoXr", + "@trackConvertResamplerSoxr": { + "description": "Lossless conversion SoX resampler option" + }, "updateSeeReleaseNotes": "See release notes for details.", "@updateSeeReleaseNotes": { "description": "Fallback changelog text when release notes cannot be parsed" @@ -6124,5 +6152,57 @@ "regionCountryXK": "Kosovo", "@regionCountryXK": { "description": "Country name for SongLink region picker" + }, + "extensionVerificationBrowserTitle": "Verification browser", + "@extensionVerificationBrowserTitle": { + "description": "Settings option title for extension verification browser preference" + }, + "extensionVerificationBrowserSubtitleExternal": "Open challenges in the default browser first", + "@extensionVerificationBrowserSubtitleExternal": { + "description": "Subtitle when external browser is preferred for extension verification" + }, + "extensionVerificationBrowserSubtitleInApp": "Open challenges in the in-app browser first", + "@extensionVerificationBrowserSubtitleInApp": { + "description": "Subtitle when in-app browser is preferred for extension verification" + }, + "extensionVerificationBrowserExternal": "External", + "@extensionVerificationBrowserExternal": { + "description": "Chip label for external browser verification mode" + }, + "extensionVerificationBrowserInApp": "In-app", + "@extensionVerificationBrowserInApp": { + "description": "Chip label for in-app browser verification mode" + }, + "extensionVerificationHelpTitleManual": "Open verification manually", + "@extensionVerificationHelpTitleManual": { + "description": "Dialog title when automatic browser launch for verification fails" + }, + "extensionVerificationHelpTitleWaiting": "Verification still waiting", + "@extensionVerificationHelpTitleWaiting": { + "description": "Dialog title when verification is taking longer than expected" + }, + "extensionVerificationHelpMessageManual": "SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.", + "@extensionVerificationHelpMessageManual": { + "description": "Dialog message when automatic browser launch for verification fails" + }, + "extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.", + "@extensionVerificationHelpMessageWaiting": { + "description": "Dialog message when verification may need manual browser help" + }, + "extensionVerificationClose": "Close", + "@extensionVerificationClose": { + "description": "Button to dismiss the extension verification help dialog" + }, + "extensionVerificationCopyLink": "Copy link", + "@extensionVerificationCopyLink": { + "description": "Button to copy the extension verification URL" + }, + "extensionVerificationLinkCopied": "Verification link copied", + "@extensionVerificationLinkCopied": { + "description": "Snackbar after copying the extension verification URL" + }, + "extensionVerificationOpenBrowser": "Open browser", + "@extensionVerificationOpenBrowser": { + "description": "Button to open the extension verification URL in a browser" } } diff --git a/lib/l10n/arb/app_id.arb b/lib/l10n/arb/app_id.arb index 425809e7..e3a74bc2 100644 --- a/lib/l10n/arb/app_id.arb +++ b/lib/l10n/arb/app_id.arb @@ -5850,6 +5850,34 @@ "@trackConvertLosslessSuffix": { "description": "Suffix used in converted lossless quality labels" }, + "trackConvertDithering": "Dithering", + "@trackConvertDithering": { + "description": "Section label for lossless conversion dithering options" + }, + "trackConvertResampler": "Resampler", + "@trackConvertResampler": { + "description": "Section label for lossless conversion resampler options" + }, + "trackConvertDitherNone": "Tidak ada", + "@trackConvertDitherNone": { + "description": "Lossless conversion dither option with no dithering applied" + }, + "trackConvertDitherTriangular": "TPDF", + "@trackConvertDitherTriangular": { + "description": "Lossless conversion triangular probability density function dither option" + }, + "trackConvertDitherTriangularHp": "Triangular HP", + "@trackConvertDitherTriangularHp": { + "description": "Lossless conversion high-pass triangular dither option" + }, + "trackConvertResamplerSwr": "SWR", + "@trackConvertResamplerSwr": { + "description": "Lossless conversion default FFmpeg swresample resampler option" + }, + "trackConvertResamplerSoxr": "SoXr", + "@trackConvertResamplerSoxr": { + "description": "Lossless conversion SoX resampler option" + }, "updateSeeReleaseNotes": "Lihat catatan rilis untuk detail.", "@updateSeeReleaseNotes": { "description": "Fallback changelog text when release notes cannot be parsed" @@ -5968,5 +5996,57 @@ "regionCountryXK": "Kosovo", "@regionCountryXK": { "description": "Country name for SongLink region picker" + }, + "extensionVerificationBrowserTitle": "Browser verifikasi", + "@extensionVerificationBrowserTitle": { + "description": "Settings option title for extension verification browser preference" + }, + "extensionVerificationBrowserSubtitleExternal": "Buka tantangan di browser default terlebih dahulu", + "@extensionVerificationBrowserSubtitleExternal": { + "description": "Subtitle when external browser is preferred for extension verification" + }, + "extensionVerificationBrowserSubtitleInApp": "Buka tantangan di browser dalam aplikasi terlebih dahulu", + "@extensionVerificationBrowserSubtitleInApp": { + "description": "Subtitle when in-app browser is preferred for extension verification" + }, + "extensionVerificationBrowserExternal": "Eksternal", + "@extensionVerificationBrowserExternal": { + "description": "Chip label for external browser verification mode" + }, + "extensionVerificationBrowserInApp": "Dalam aplikasi", + "@extensionVerificationBrowserInApp": { + "description": "Chip label for in-app browser verification mode" + }, + "extensionVerificationHelpTitleManual": "Buka verifikasi secara manual", + "@extensionVerificationHelpTitleManual": { + "description": "Dialog title when automatic browser launch for verification fails" + }, + "extensionVerificationHelpTitleWaiting": "Verifikasi masih menunggu", + "@extensionVerificationHelpTitleWaiting": { + "description": "Dialog title when verification is taking longer than expected" + }, + "extensionVerificationHelpMessageManual": "SpotiFLAC Mobile tidak dapat membuka browser secara otomatis. Buka tautan ini di browser Anda, atau salin secara manual.", + "@extensionVerificationHelpMessageManual": { + "description": "Dialog message when automatic browser launch for verification fails" + }, + "extensionVerificationHelpMessageWaiting": "Jika browser tidak terbuka, atau verifikasi selesai tetapi tidak kembali ke SpotiFLAC Mobile, buka tautan ini lagi atau salin secara manual.", + "@extensionVerificationHelpMessageWaiting": { + "description": "Dialog message when verification may need manual browser help" + }, + "extensionVerificationClose": "Tutup", + "@extensionVerificationClose": { + "description": "Button to dismiss the extension verification help dialog" + }, + "extensionVerificationCopyLink": "Salin tautan", + "@extensionVerificationCopyLink": { + "description": "Button to copy the extension verification URL" + }, + "extensionVerificationLinkCopied": "Tautan verifikasi disalin", + "@extensionVerificationLinkCopied": { + "description": "Snackbar after copying the extension verification URL" + }, + "extensionVerificationOpenBrowser": "Buka browser", + "@extensionVerificationOpenBrowser": { + "description": "Button to open the extension verification URL in a browser" } } diff --git a/lib/screens/settings/app_settings_page.dart b/lib/screens/settings/app_settings_page.dart index 29610c1c..360f26e8 100644 --- a/lib/screens/settings/app_settings_page.dart +++ b/lib/screens/settings/app_settings_page.dart @@ -417,14 +417,18 @@ class _VerificationBrowserModeSelector extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - 'Verification browser', + context.l10n.extensionVerificationBrowserTitle, style: Theme.of(context).textTheme.bodyLarge, ), const SizedBox(height: 2), Text( normalizedMode == 'external_first' - ? 'Open challenges in the default browser first' - : 'Open challenges in the in-app browser first', + ? context + .l10n + .extensionVerificationBrowserSubtitleExternal + : context + .l10n + .extensionVerificationBrowserSubtitleInApp, style: Theme.of(context).textTheme.bodyMedium ?.copyWith(color: colorScheme.onSurfaceVariant), ), @@ -437,13 +441,13 @@ class _VerificationBrowserModeSelector extends StatelessWidget { Row( children: [ _ChannelChip( - label: 'External', + label: context.l10n.extensionVerificationBrowserExternal, isSelected: normalizedMode == 'external_first', onTap: () => onChanged('external_first'), ), const SizedBox(width: 8), _ChannelChip( - label: 'In-app', + label: context.l10n.extensionVerificationBrowserInApp, isSelected: normalizedMode == 'in_app_first', onTap: () => onChanged('in_app_first'), ),