feat: Add Text-to-Speech settings and customization options

- Introduced new preference keys for TTS settings: voice, speech rate, pitch, and volume.
- Updated SettingsService to handle TTS settings and persist them.
- Enhanced AppSettings to include TTS-related properties.
- Implemented TTS settings UI in AppCustomizationPage, allowing users to select voice and adjust speech parameters.
- Added localization support for TTS settings in multiple languages.
This commit is contained in:
cogwheel0
2025-10-17 14:40:44 +05:30
parent c6acfa68e1
commit 6c81d68e59
18 changed files with 1185 additions and 9 deletions

View File

@@ -887,6 +887,47 @@ class AppLocalizationsEn extends AppLocalizations {
String get sendOnEnterDescription =>
'Enter sends (soft keyboard). Cmd/Ctrl+Enter also available';
@override
String get ttsSettings => 'Text to Speech';
@override
String get ttsVoice => 'Voice';
@override
String get ttsSpeechRate => 'Speech Rate';
@override
String get ttsPitch => 'Pitch';
@override
String get ttsVolume => 'Volume';
@override
String get ttsPreview => 'Preview Voice';
@override
String get ttsSystemDefault => 'System Default';
@override
String get ttsSelectVoice => 'Select Voice';
@override
String get ttsPreviewText => 'This is a preview of the selected voice.';
@override
String get ttsNoVoicesAvailable => 'No voices available';
@override
String ttsVoicesForLanguage(String language) {
return '$language Voices';
}
@override
String get ttsOtherVoices => 'Other Languages';
@override
String get error => 'Error';
@override
String get display => 'Display';