diff --git a/Flow.Launcher.Infrastructure/StringMatcher.cs b/Flow.Launcher.Infrastructure/StringMatcher.cs index 2a4270fb4..d390e48a2 100644 --- a/Flow.Launcher.Infrastructure/StringMatcher.cs +++ b/Flow.Launcher.Infrastructure/StringMatcher.cs @@ -50,7 +50,6 @@ namespace Flow.Launcher.Infrastructure if (_alphabet != null) { - query = _alphabet.Translate(query); stringToCompare = _alphabet.Translate(stringToCompare); } diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index 9f3160746..36ff8bbe5 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -8,6 +8,7 @@ using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.Storage; using Flow.Launcher.Plugin.Program.Programs; using Flow.Launcher.Plugin.Program.Views; +using ToolGood.Words.Pinyin; using Stopwatch = Flow.Launcher.Infrastructure.Stopwatch; namespace Flow.Launcher.Plugin.Program @@ -77,13 +78,15 @@ namespace Flow.Launcher.Plugin.Program uwps = _uwps; } + var searchText = WordsHelper.HasChinese(query.Search) ? WordsHelper.GetPinyin(query.Search) : query.Search; + var results1 = win32.AsParallel() .Where(p => p.Enabled) - .Select(p => p.Result(query.Search, _context.API)); + .Select(p => p.Result(searchText, _context.API)); var results2 = uwps.AsParallel() .Where(p => p.Enabled) - .Select(p => p.Result(query.Search, _context.API)); + .Select(p => p.Result(searchText, _context.API)); var result = results1.Concat(results2).Where(r => r != null && r.Score > 0).ToList(); return result;