feat: rename History tab to Library and show local library items

- Rename bottom navigation 'History' to 'Library'
- Add Local Library section showing scanned tracks below downloaded tracks
- Add source badge to each item (Downloaded/Local) for clear identification
- Add new localization strings for Library tab and source badges
- Local library items can be played directly from the library tab
This commit is contained in:
zarzet
2026-02-03 19:53:53 +07:00
parent 22f001a735
commit 9c22f41a3e
29 changed files with 2969 additions and 80 deletions
+247 -1
View File
@@ -142,7 +142,13 @@ abstract class AppLocalizations {
/// **'Home'**
String get navHome;
/// Bottom navigation - History tab
/// Bottom navigation - Library tab
///
/// In en, this message translates to:
/// **'Library'**
String get navLibrary;
/// Bottom navigation - History tab (legacy)
///
/// In en, this message translates to:
/// **'History'**
@@ -3898,6 +3904,96 @@ abstract class AppLocalizations {
/// **'No stored SFTP host keys found.'**
String get cloudSettingsResetAllSftpHostKeysNone;
/// Toggle/title for allowing insecure HTTP WebDAV connections
///
/// In en, this message translates to:
/// **'Allow HTTP (Insecure)'**
String get cloudSettingsAllowHttpTitle;
/// Subtitle warning for allowing insecure HTTP
///
/// In en, this message translates to:
/// **'Sends credentials without TLS. Not recommended.'**
String get cloudSettingsAllowHttpSubtitle;
/// Dialog warning message for enabling insecure HTTP
///
/// In en, this message translates to:
/// **'HTTP does not encrypt your credentials. Only enable if you trust the network.'**
String get cloudSettingsAllowHttpMessage;
/// Dialog confirm button for enabling insecure HTTP
///
/// In en, this message translates to:
/// **'Allow HTTP'**
String get cloudSettingsAllowHttpConfirm;
/// WebDAV error when URL scheme is missing
///
/// In en, this message translates to:
/// **'Invalid URL: scheme is required'**
String get webdavErrorInvalidScheme;
/// WebDAV error when HTTPS is required
///
/// In en, this message translates to:
/// **'WebDAV URL must use https'**
String get webdavErrorHttpsRequired;
/// WebDAV error when hostname is missing
///
/// In en, this message translates to:
/// **'Invalid URL: hostname is required'**
String get webdavErrorInvalidHost;
/// WebDAV error when authentication fails
///
/// In en, this message translates to:
/// **'Authentication failed. Check username and password.'**
String get webdavErrorAuthFailed;
/// WebDAV error when access is forbidden
///
/// In en, this message translates to:
/// **'Access denied. Check permissions on the server.'**
String get webdavErrorForbidden;
/// WebDAV error when path is not found
///
/// In en, this message translates to:
/// **'Server path not found. Check the URL.'**
String get webdavErrorNotFound;
/// WebDAV error when connection fails
///
/// In en, this message translates to:
/// **'Cannot connect to server. Check URL and network.'**
String get webdavErrorConnectionFailed;
/// WebDAV error for TLS issues
///
/// In en, this message translates to:
/// **'SSL/TLS error. Server certificate may be invalid.'**
String get webdavErrorTlsError;
/// WebDAV error when connection times out
///
/// In en, this message translates to:
/// **'Connection timed out. Server may be unreachable.'**
String get webdavErrorTimeout;
/// WebDAV error when server storage is full
///
/// In en, this message translates to:
/// **'Insufficient storage on server.'**
String get webdavErrorInsufficientStorage;
/// WebDAV fallback error message
///
/// In en, this message translates to:
/// **'Upload failed. Please try again.'**
String get webdavErrorUnknown;
/// Empty queue state title
///
/// In en, this message translates to:
@@ -4455,6 +4551,156 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Selected folder does not exist'**
String get libraryFolderNotExist;
/// Badge for tracks downloaded via SpotiFLAC
///
/// In en, this message translates to:
/// **'Downloaded'**
String get librarySourceDownloaded;
/// Badge for tracks from local library scan
///
/// In en, this message translates to:
/// **'Local'**
String get librarySourceLocal;
/// Filter chip - show all library items
///
/// In en, this message translates to:
/// **'All'**
String get libraryFilterAll;
/// Filter chip - show only downloaded items
///
/// In en, this message translates to:
/// **'Downloaded'**
String get libraryFilterDownloaded;
/// Filter chip - show only local library items
///
/// In en, this message translates to:
/// **'Local'**
String get libraryFilterLocal;
/// Relative time - less than a minute ago
///
/// In en, this message translates to:
/// **'Just now'**
String get timeJustNow;
/// Relative time - minutes ago
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 minute ago} other{{count} minutes ago}}'**
String timeMinutesAgo(int count);
/// Relative time - hours ago
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 hour ago} other{{count} hours ago}}'**
String timeHoursAgo(int count);
/// WebDAV provider option with examples
///
/// In en, this message translates to:
/// **'WebDAV (Synology, Nextcloud, QNAP)'**
String get cloudProviderWebdav;
/// SFTP provider option
///
/// In en, this message translates to:
/// **'SFTP (SSH File Transfer)'**
String get cloudProviderSftp;
/// No cloud provider selected
///
/// In en, this message translates to:
/// **'Not Configured'**
String get cloudProviderNotConfigured;
/// WebDAV provider title in picker
///
/// In en, this message translates to:
/// **'WebDAV'**
String get cloudProviderWebdavTitle;
/// WebDAV provider subtitle in picker
///
/// In en, this message translates to:
/// **'Synology, Nextcloud, QNAP, ownCloud'**
String get cloudProviderWebdavSubtitle;
/// SFTP provider title in picker
///
/// In en, this message translates to:
/// **'SFTP'**
String get cloudProviderSftpTitle;
/// SFTP provider subtitle in picker
///
/// In en, this message translates to:
/// **'SSH File Transfer Protocol'**
String get cloudProviderSftpSubtitle;
/// Error when testing connection without server URL
///
/// In en, this message translates to:
/// **'Server URL is required'**
String get cloudTestErrorServerUrlRequired;
/// Error when testing connection without credentials
///
/// In en, this message translates to:
/// **'Username and password are required'**
String get cloudTestErrorCredentialsRequired;
/// Success message for WebDAV connection test
///
/// In en, this message translates to:
/// **'Connected to WebDAV server'**
String get cloudTestSuccessWebdav;
/// Success message for SFTP connection test
///
/// In en, this message translates to:
/// **'Connected to SFTP server'**
String get cloudTestSuccessSftp;
/// Error when testing connection without provider
///
/// In en, this message translates to:
/// **'No provider selected'**
String get cloudTestErrorNoProvider;
/// Connection test success message
///
/// In en, this message translates to:
/// **'Success: {message}'**
String connectionTestSuccess(String message);
/// Upload queue status - waiting
///
/// In en, this message translates to:
/// **'Pending'**
String get uploadStatusPending;
/// Upload queue status - in progress
///
/// In en, this message translates to:
/// **'Uploading'**
String get uploadStatusUploading;
/// Upload queue status - completed
///
/// In en, this message translates to:
/// **'Done'**
String get uploadStatusDone;
/// Upload queue status - error
///
/// In en, this message translates to:
/// **'Failed'**
String get uploadStatusFailed;
}
class _AppLocalizationsDelegate
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get navHome => 'Startseite';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'Verlauf';
@@ -2147,6 +2150,59 @@ class AppLocalizationsDe extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2485,4 +2541,99 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get navHome => 'Home';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'History';
@@ -2132,6 +2135,59 @@ class AppLocalizationsEn extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,4 +2526,99 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get navHome => 'Home';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'History';
@@ -2132,6 +2135,59 @@ class AppLocalizationsEs extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,6 +2526,101 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
/// The translations for Spanish Castilian, as used in Spain (`es_ES`).
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get navHome => 'Home';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'History';
@@ -2132,6 +2135,59 @@ class AppLocalizationsFr extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,4 +2526,99 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get navHome => 'होम';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'इतिहास';
@@ -2132,6 +2135,59 @@ class AppLocalizationsHi extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,4 +2526,99 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get navHome => 'Beranda';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'Riwayat';
@@ -2145,6 +2148,59 @@ class AppLocalizationsId extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'Tidak ada unduhan dalam antrian';
@@ -2483,4 +2539,99 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get navHome => 'ホーム';
@override
String get navLibrary => 'Library';
@override
String get navHistory => '履歴';
@@ -2119,6 +2122,59 @@ class AppLocalizationsJa extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'キューにダウンロードがありません';
@@ -2456,4 +2512,99 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get navHome => 'Home';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'History';
@@ -2132,6 +2135,59 @@ class AppLocalizationsKo extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,4 +2526,99 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get navHome => 'Home';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'History';
@@ -2132,6 +2135,59 @@ class AppLocalizationsNl extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,4 +2526,99 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get navHome => 'Home';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'History';
@@ -2132,6 +2135,59 @@ class AppLocalizationsPt extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,6 +2526,101 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
/// The translations for Portuguese, as used in Portugal (`pt_PT`).
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get navHome => 'Главная';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'История';
@@ -2171,6 +2174,59 @@ class AppLocalizationsRu extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'Нет загрузок в очереди';
@@ -2516,4 +2572,99 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get navHome => 'Ara';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'Geçmiş';
@@ -2147,6 +2150,59 @@ class AppLocalizationsTr extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2485,4 +2541,99 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
+151
View File
@@ -18,6 +18,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get navHome => 'Home';
@override
String get navLibrary => 'Library';
@override
String get navHistory => 'History';
@@ -2132,6 +2135,59 @@ class AppLocalizationsZh extends AppLocalizations {
String get cloudSettingsResetAllSftpHostKeysNone =>
'No stored SFTP host keys found.';
@override
String get cloudSettingsAllowHttpTitle => 'Allow HTTP (Insecure)';
@override
String get cloudSettingsAllowHttpSubtitle =>
'Sends credentials without TLS. Not recommended.';
@override
String get cloudSettingsAllowHttpMessage =>
'HTTP does not encrypt your credentials. Only enable if you trust the network.';
@override
String get cloudSettingsAllowHttpConfirm => 'Allow HTTP';
@override
String get webdavErrorInvalidScheme => 'Invalid URL: scheme is required';
@override
String get webdavErrorHttpsRequired => 'WebDAV URL must use https';
@override
String get webdavErrorInvalidHost => 'Invalid URL: hostname is required';
@override
String get webdavErrorAuthFailed =>
'Authentication failed. Check username and password.';
@override
String get webdavErrorForbidden =>
'Access denied. Check permissions on the server.';
@override
String get webdavErrorNotFound => 'Server path not found. Check the URL.';
@override
String get webdavErrorConnectionFailed =>
'Cannot connect to server. Check URL and network.';
@override
String get webdavErrorTlsError =>
'SSL/TLS error. Server certificate may be invalid.';
@override
String get webdavErrorTimeout =>
'Connection timed out. Server may be unreachable.';
@override
String get webdavErrorInsufficientStorage =>
'Insufficient storage on server.';
@override
String get webdavErrorUnknown => 'Upload failed. Please try again.';
@override
String get queueEmpty => 'No downloads in queue';
@@ -2470,6 +2526,101 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get libraryFolderNotExist => 'Selected folder does not exist';
@override
String get librarySourceDownloaded => 'Downloaded';
@override
String get librarySourceLocal => 'Local';
@override
String get libraryFilterAll => 'All';
@override
String get libraryFilterDownloaded => 'Downloaded';
@override
String get libraryFilterLocal => 'Local';
@override
String get timeJustNow => 'Just now';
@override
String timeMinutesAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count minutes ago',
one: '1 minute ago',
);
return '$_temp0';
}
@override
String timeHoursAgo(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count hours ago',
one: '1 hour ago',
);
return '$_temp0';
}
@override
String get cloudProviderWebdav => 'WebDAV (Synology, Nextcloud, QNAP)';
@override
String get cloudProviderSftp => 'SFTP (SSH File Transfer)';
@override
String get cloudProviderNotConfigured => 'Not Configured';
@override
String get cloudProviderWebdavTitle => 'WebDAV';
@override
String get cloudProviderWebdavSubtitle =>
'Synology, Nextcloud, QNAP, ownCloud';
@override
String get cloudProviderSftpTitle => 'SFTP';
@override
String get cloudProviderSftpSubtitle => 'SSH File Transfer Protocol';
@override
String get cloudTestErrorServerUrlRequired => 'Server URL is required';
@override
String get cloudTestErrorCredentialsRequired =>
'Username and password are required';
@override
String get cloudTestSuccessWebdav => 'Connected to WebDAV server';
@override
String get cloudTestSuccessSftp => 'Connected to SFTP server';
@override
String get cloudTestErrorNoProvider => 'No provider selected';
@override
String connectionTestSuccess(String message) {
return 'Success: $message';
}
@override
String get uploadStatusPending => 'Pending';
@override
String get uploadStatusUploading => 'Uploading';
@override
String get uploadStatusDone => 'Done';
@override
String get uploadStatusFailed => 'Failed';
}
/// The translations for Chinese, as used in China (`zh_CN`).
+104 -2
View File
@@ -9,8 +9,10 @@
"navHome": "Home",
"@navHome": {"description": "Bottom navigation - Home tab"},
"navLibrary": "Library",
"@navLibrary": {"description": "Bottom navigation - Library tab"},
"navHistory": "History",
"@navHistory": {"description": "Bottom navigation - History tab"},
"@navHistory": {"description": "Bottom navigation - History tab (legacy)"},
"navSettings": "Settings",
"@navSettings": {"description": "Bottom navigation - Settings tab"},
"navStore": "Store",
@@ -1549,6 +1551,36 @@
"@cloudSettingsResetAllSftpHostKeysCleared": {"description": "Snackbar after clearing all SFTP host keys", "placeholders": {"count": {}}},
"cloudSettingsResetAllSftpHostKeysNone": "No stored SFTP host keys found.",
"@cloudSettingsResetAllSftpHostKeysNone": {"description": "Snackbar when no SFTP host keys exist"},
"cloudSettingsAllowHttpTitle": "Allow HTTP (Insecure)",
"@cloudSettingsAllowHttpTitle": {"description": "Toggle/title for allowing insecure HTTP WebDAV connections"},
"cloudSettingsAllowHttpSubtitle": "Sends credentials without TLS. Not recommended.",
"@cloudSettingsAllowHttpSubtitle": {"description": "Subtitle warning for allowing insecure HTTP"},
"cloudSettingsAllowHttpMessage": "HTTP does not encrypt your credentials. Only enable if you trust the network.",
"@cloudSettingsAllowHttpMessage": {"description": "Dialog warning message for enabling insecure HTTP"},
"cloudSettingsAllowHttpConfirm": "Allow HTTP",
"@cloudSettingsAllowHttpConfirm": {"description": "Dialog confirm button for enabling insecure HTTP"},
"webdavErrorInvalidScheme": "Invalid URL: scheme is required",
"@webdavErrorInvalidScheme": {"description": "WebDAV error when URL scheme is missing"},
"webdavErrorHttpsRequired": "WebDAV URL must use https",
"@webdavErrorHttpsRequired": {"description": "WebDAV error when HTTPS is required"},
"webdavErrorInvalidHost": "Invalid URL: hostname is required",
"@webdavErrorInvalidHost": {"description": "WebDAV error when hostname is missing"},
"webdavErrorAuthFailed": "Authentication failed. Check username and password.",
"@webdavErrorAuthFailed": {"description": "WebDAV error when authentication fails"},
"webdavErrorForbidden": "Access denied. Check permissions on the server.",
"@webdavErrorForbidden": {"description": "WebDAV error when access is forbidden"},
"webdavErrorNotFound": "Server path not found. Check the URL.",
"@webdavErrorNotFound": {"description": "WebDAV error when path is not found"},
"webdavErrorConnectionFailed": "Cannot connect to server. Check URL and network.",
"@webdavErrorConnectionFailed": {"description": "WebDAV error when connection fails"},
"webdavErrorTlsError": "SSL/TLS error. Server certificate may be invalid.",
"@webdavErrorTlsError": {"description": "WebDAV error for TLS issues"},
"webdavErrorTimeout": "Connection timed out. Server may be unreachable.",
"@webdavErrorTimeout": {"description": "WebDAV error when connection times out"},
"webdavErrorInsufficientStorage": "Insufficient storage on server.",
"@webdavErrorInsufficientStorage": {"description": "WebDAV error when server storage is full"},
"webdavErrorUnknown": "Upload failed. Please try again.",
"@webdavErrorUnknown": {"description": "WebDAV fallback error message"},
"queueEmpty": "No downloads in queue",
"@queueEmpty": {"description": "Empty queue state title"},
@@ -1839,5 +1871,75 @@
"libraryStorageAccessMessage": "SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.",
"@libraryStorageAccessMessage": {"description": "Dialog message for storage permission"},
"libraryFolderNotExist": "Selected folder does not exist",
"@libraryFolderNotExist": {"description": "Error when folder doesn't exist"}
"@libraryFolderNotExist": {"description": "Error when folder doesn't exist"},
"librarySourceDownloaded": "Downloaded",
"@librarySourceDownloaded": {"description": "Badge for tracks downloaded via SpotiFLAC"},
"librarySourceLocal": "Local",
"@librarySourceLocal": {"description": "Badge for tracks from local library scan"},
"libraryFilterAll": "All",
"@libraryFilterAll": {"description": "Filter chip - show all library items"},
"libraryFilterDownloaded": "Downloaded",
"@libraryFilterDownloaded": {"description": "Filter chip - show only downloaded items"},
"libraryFilterLocal": "Local",
"@libraryFilterLocal": {"description": "Filter chip - show only local library items"},
"timeJustNow": "Just now",
"@timeJustNow": {"description": "Relative time - less than a minute ago"},
"timeMinutesAgo": "{count, plural, =1{1 minute ago} other{{count} minutes ago}}",
"@timeMinutesAgo": {
"description": "Relative time - minutes ago",
"placeholders": {
"count": {"type": "int"}
}
},
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"@timeHoursAgo": {
"description": "Relative time - hours ago",
"placeholders": {
"count": {"type": "int"}
}
},
"cloudProviderWebdav": "WebDAV (Synology, Nextcloud, QNAP)",
"@cloudProviderWebdav": {"description": "WebDAV provider option with examples"},
"cloudProviderSftp": "SFTP (SSH File Transfer)",
"@cloudProviderSftp": {"description": "SFTP provider option"},
"cloudProviderNotConfigured": "Not Configured",
"@cloudProviderNotConfigured": {"description": "No cloud provider selected"},
"cloudProviderWebdavTitle": "WebDAV",
"@cloudProviderWebdavTitle": {"description": "WebDAV provider title in picker"},
"cloudProviderWebdavSubtitle": "Synology, Nextcloud, QNAP, ownCloud",
"@cloudProviderWebdavSubtitle": {"description": "WebDAV provider subtitle in picker"},
"cloudProviderSftpTitle": "SFTP",
"@cloudProviderSftpTitle": {"description": "SFTP provider title in picker"},
"cloudProviderSftpSubtitle": "SSH File Transfer Protocol",
"@cloudProviderSftpSubtitle": {"description": "SFTP provider subtitle in picker"},
"cloudTestErrorServerUrlRequired": "Server URL is required",
"@cloudTestErrorServerUrlRequired": {"description": "Error when testing connection without server URL"},
"cloudTestErrorCredentialsRequired": "Username and password are required",
"@cloudTestErrorCredentialsRequired": {"description": "Error when testing connection without credentials"},
"cloudTestSuccessWebdav": "Connected to WebDAV server",
"@cloudTestSuccessWebdav": {"description": "Success message for WebDAV connection test"},
"cloudTestSuccessSftp": "Connected to SFTP server",
"@cloudTestSuccessSftp": {"description": "Success message for SFTP connection test"},
"cloudTestErrorNoProvider": "No provider selected",
"@cloudTestErrorNoProvider": {"description": "Error when testing connection without provider"},
"connectionTestSuccess": "Success: {message}",
"@connectionTestSuccess": {
"description": "Connection test success message",
"placeholders": {
"message": {"type": "String"}
}
},
"uploadStatusPending": "Pending",
"@uploadStatusPending": {"description": "Upload queue status - waiting"},
"uploadStatusUploading": "Uploading",
"@uploadStatusUploading": {"description": "Upload queue status - in progress"},
"uploadStatusDone": "Done",
"@uploadStatusDone": {"description": "Upload queue status - completed"},
"uploadStatusFailed": "Failed",
"@uploadStatusFailed": {"description": "Upload queue status - error"}
}