diff --git a/src/app/components/floating-column/settings/settings.component.html b/src/app/components/floating-column/settings/settings.component.html index b6ffe302..f5764f81 100644 --- a/src/app/components/floating-column/settings/settings.component.html +++ b/src/app/components/floating-column/settings/settings.component.html @@ -62,12 +62,20 @@ remove + placeholder="Find Language" autocomplete="off" + class="form-control form-control-sm language__search" />
{{ l.name }} ({{l.iso639}}) add
+ + + + +

Twitter Bridge

diff --git a/src/app/components/floating-column/settings/settings.component.ts b/src/app/components/floating-column/settings/settings.component.ts index 051b23f5..89d4e178 100644 --- a/src/app/components/floating-column/settings/settings.component.ts +++ b/src/app/components/floating-column/settings/settings.component.ts @@ -29,6 +29,7 @@ export class SettingsComponent implements OnInit, OnDestroy { disableRemoteStatusFetchingEnabled: boolean; disableAvatarNotificationsEnabled: boolean; disableSoundsEnabled: boolean; + disableLangAutodetectEnabled: boolean; version: string; hasPleromaAccount: boolean; @@ -146,6 +147,7 @@ export class SettingsComponent implements OnInit, OnDestroy { this.twitterBridgeInstance = settings.twitterBridgeInstance; this.configuredLangs = this.languageService.getConfiguredLanguages(); + this.disableLangAutodetectEnabled = settings.disableLangAutodetec; } ngOnDestroy(): void { @@ -273,6 +275,13 @@ export class SettingsComponent implements OnInit, OnDestroy { return false; } + onDisableLangAutodetectChanged() { + this.notifyRestartNeeded(); + let settings = this.settingsService.getSettings(); + settings.disableLangAutodetec = this.disableLangAutodetectEnabled; + this.settingsService.saveSettings(settings); + } + onDisableAutofocusChanged() { this.notifyRestartNeeded(); let settings = this.settingsService.getSettings(); diff --git a/src/app/services/language.service.ts b/src/app/services/language.service.ts index c1949bd4..9b880ac7 100644 --- a/src/app/services/language.service.ts +++ b/src/app/services/language.service.ts @@ -24,26 +24,24 @@ export class LanguageService { this.detectedLanguage(l); }); } - + private detectedLanguage(lang: DetectedLang[]) { - if(!lang) return; + if (!lang) return; - console.warn(lang); - - if(lang.length >= 1){ + if (lang.length >= 1) { const languages = this.getConfiguredLanguages(); let firstLang = lang[0].lang; let firstLocalLang = languages.find(x => x.iso639 == firstLang); - if(firstLocalLang){ + if (firstLocalLang) { this.setSelectedLanguage(firstLocalLang); return; } - if(lang.length > 1){ + if (lang.length > 1) { firstLang = lang[1].lang; firstLocalLang = languages.find(x => x.iso639 == firstLang); - if(firstLocalLang){ + if (firstLocalLang) { this.setSelectedLanguage(firstLocalLang); return; } @@ -52,14 +50,11 @@ export class LanguageService { } autoDetectLang(text: string): void { - if(!text || text.length < 6) return; + if (!text || text.length < 5) return; - console.warn('autodetect'); - console.warn(text); - - //TODO: add settings to disable - - this.electronService.detectLang(text); + if (!this.settingsService.getSettings().disableLangAutodetec) { + this.electronService.detectLang(text); + } } getSelectedLanguage(): ILanguage { diff --git a/src/app/states/settings.state.ts b/src/app/states/settings.state.ts index 2c6b9f7b..84a4c104 100644 --- a/src/app/states/settings.state.ts +++ b/src/app/states/settings.state.ts @@ -84,6 +84,7 @@ export class GlobalSettings { configuredLanguages: ILanguage[] = []; selectedLanguage: ILanguage; + disableLangAutodetec: boolean; } export interface ILanguage { @@ -181,6 +182,7 @@ export class SettingsState { newSettings.twitterBridgeInstance = oldSettings.twitterBridgeInstance; newSettings.configuredLanguages = oldSettings.configuredLanguages; newSettings.selectedLanguage = oldSettings.selectedLanguage; + newSettings.disableLangAutodetec = oldSettings.disableLangAutodetec; return newSettings; }