diff --git a/STranslate/Model/ConfigModel.cs b/STranslate/Model/ConfigModel.cs
index 4e109e0..3ca9d35 100644
--- a/STranslate/Model/ConfigModel.cs
+++ b/STranslate/Model/ConfigModel.cs
@@ -17,6 +17,7 @@ namespace STranslate.Model
{
return new ConfigModel
{
+ AutoScale = 0.8,
WordPickupInterval = 200,
IsBright = true,
SourceLanguage = LanguageEnum.AUTO.GetDescription(),
@@ -44,7 +45,12 @@ namespace STranslate.Model
}
///
- /// 是否亮色模式
+ /// 自动识别语种标度
+ ///
+ [JsonProperty("autoScale")]
+ public double AutoScale { get; set; }
+ ///
+ /// 取词间隔
///
[JsonProperty("wordPickupInterval")]
public double WordPickupInterval { get; set; }
diff --git a/STranslate/View/SettingsWindow.xaml b/STranslate/View/SettingsWindow.xaml
index f3fdcdf..c49c1f7 100644
--- a/STranslate/View/SettingsWindow.xaml
+++ b/STranslate/View/SettingsWindow.xaml
@@ -65,6 +65,21 @@
+
+
+
+
+
+
+
+
diff --git a/STranslate/View/SettingsWindow.xaml.cs b/STranslate/View/SettingsWindow.xaml.cs
index 404f505..0351a9d 100644
--- a/STranslate/View/SettingsWindow.xaml.cs
+++ b/STranslate/View/SettingsWindow.xaml.cs
@@ -23,6 +23,10 @@ namespace STranslate.View
{
InitializeComponent();
+#if DEBUG
+ this.window.Topmost = true;
+#endif
+
DataContext = ViewModel.SettingsVM.Instance;
}
}
diff --git a/STranslate/ViewModel/MainVM.cs b/STranslate/ViewModel/MainVM.cs
index 52ee0ec..735538b 100644
--- a/STranslate/ViewModel/MainVM.cs
+++ b/STranslate/ViewModel/MainVM.cs
@@ -231,6 +231,10 @@ namespace STranslate.ViewModel
{
_globalConfig = ConfigHelper.Instance.ReadConfig();
+ //读取自动识别语种比例
+ var scale = _globalConfig.AutoScale;
+ SettingsVM.Instance.AutoScale = (scale <= 0 || scale >= 1) ? 0.8 : scale;
+
//读取间隔
var tmp = _globalConfig.WordPickupInterval;
SettingsVM.Instance.WordPickupInterval = (tmp == 0 || tmp > 1000 || tmp < 100) ? 200 : tmp;
@@ -271,6 +275,7 @@ namespace STranslate.ViewModel
{
ConfigHelper.Instance.WriteConfig(new ConfigModel
{
+ AutoScale = SettingsVM.Instance.AutoScale,
WordPickupInterval = SettingsVM.Instance.WordPickupInterval,
IsBright = Application.Current.Resources.MergedDictionaries[0].Source.ToString() == ThemeDefault ? true : false,
SourceLanguage = InputComboSelected,
@@ -306,9 +311,8 @@ namespace STranslate.ViewModel
var ratio = (double)engStr.Length / text.Length;
- //3. 判断英文字符个数占第一步所有字符个数比例,若超过一半则判定原字符串为英文字符串,否则为中文字符串
- //TODO: 配置项
- if (ratio > 0.8)
+ //3. 判断英文字符个数占第一步所有字符个数比例,若超过一定比例则判定原字符串为英文字符串,否则为中文字符串
+ if (ratio > SettingsVM.Instance.AutoScale)
{
return new Tuple(LanguageEnum.EN.GetDescription(), LanguageEnum.ZH.GetDescription());
}
diff --git a/STranslate/ViewModel/SettingsVM.cs b/STranslate/ViewModel/SettingsVM.cs
index c23dcf7..4d7a44b 100644
--- a/STranslate/ViewModel/SettingsVM.cs
+++ b/STranslate/ViewModel/SettingsVM.cs
@@ -124,6 +124,12 @@ namespace STranslate.ViewModel
private string _version;
public string Version { get => _version; set => UpdateProperty(ref _version, value); }
+ ///
+ /// 语种识别比例
+ ///
+ private double _autoScale;
+ public double AutoScale { get => _autoScale; set => UpdateProperty(ref _autoScale, value); }
+
///
/// 取词间隔
///