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;
}