Skip to content

Commit 582e296

Browse files
committed
Update Translation Mechamism in Flow
1 parent 02bb75f commit 582e296

File tree

3 files changed

+26
-21
lines changed

3 files changed

+26
-21
lines changed

Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/ResultHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ internal static List<Result> GetResultList(
7171

7272
if (result is null && entry.Keywords is not null)
7373
{
74-
string[] searchKeywords = query.Terms[(string.IsNullOrEmpty(query.ActionKeyword) ? 0 : 1)..];
74+
string[] searchKeywords = query.SearchTerms;
7575

7676
if (searchKeywords
7777
.All(x => entry

Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/TranslationHelper.cs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ internal static class TranslationHelper
1919
/// Translate all settings of the given list with <see cref="WindowsSetting"/>.
2020
/// </summary>
2121
/// <param name="settingsList">The list that contains <see cref="WindowsSetting"/> to translate.</param>
22-
internal static void TranslateAllSettings(in IEnumerable<WindowsSetting>? settingsList)
22+
internal static IEnumerable<WindowsSetting> TranslateAllSettings(in IEnumerable<WindowsSetting>? settingsList)
2323
{
24+
var translatedSettings = new List<WindowsSetting>();
25+
2426
if (settingsList is null)
25-
{
26-
return;
27-
}
27+
return new List<WindowsSetting>();
2828

2929
foreach (var settings in settingsList)
3030
{
@@ -47,9 +47,7 @@ internal static void TranslateAllSettings(in IEnumerable<WindowsSetting>? settin
4747
Log.Warn($"Resource string for [{settings.Name}] not found", typeof(Main));
4848
}
4949

50-
settings.Area = area ?? settings.Area ?? string.Empty;
51-
settings.Name = name ?? settings.Name ?? string.Empty;
52-
settings.Type = type ?? settings.Type ?? string.Empty;
50+
5351

5452
if (!string.IsNullOrEmpty(settings.Note))
5553
{
@@ -61,11 +59,10 @@ internal static void TranslateAllSettings(in IEnumerable<WindowsSetting>? settin
6159

6260
settings.Note = note ?? settings.Note ?? string.Empty;
6361
}
64-
65-
if (!(settings.AltNames is null) && settings.AltNames.Any())
62+
List<string>? translatedAltNames = null;
63+
if (settings.AltNames is not null && settings.AltNames.Any())
6664
{
67-
var translatedAltNames = new Collection<string>();
68-
65+
translatedAltNames = new List<string>();
6966
foreach (var altName in settings.AltNames)
7067
{
7168
if (string.IsNullOrWhiteSpace(altName))
@@ -82,9 +79,18 @@ internal static void TranslateAllSettings(in IEnumerable<WindowsSetting>? settin
8279
translatedAltNames.Add(translatedAltName ?? altName);
8380
}
8481

85-
settings.AltNames = translatedAltNames;
8682
}
83+
var translatedSetting = new WindowsSetting
84+
{
85+
Area = area ?? settings.Area,
86+
Name = name ?? settings.Name,
87+
Type = type ?? settings.Type,
88+
AltNames = translatedAltNames
89+
};
90+
91+
translatedSettings.Add(translatedSetting);
8792
}
93+
return translatedSettings;
8894
}
8995
}
9096
}

Plugins/Flow.Launcher.Plugin.WindowsSettings/Main.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ public sealed class Main : IPlugin, IContextMenu, IPluginI18n, IDisposable
5252
/// </summary>
5353
private IEnumerable<WindowsSetting>? _settingsList;
5454

55+
/// <summary>
56+
/// List that contains translated string
57+
/// </summary>
58+
private IEnumerable<WindowsSetting> _translatedSettingList = new List<WindowsSetting>();
59+
5560
/// <summary>
5661
/// Initializes a new instance of the <see cref="Main"/> class.
5762
/// </summary>
@@ -85,7 +90,7 @@ public void Init(PluginInitContext context)
8590
Log.Init(_context.API);
8691
ResultHelper.Init(_context.API);
8792

88-
TranslationHelper.TranslateAllSettings(_settingsList);
93+
_translatedSettingList = TranslationHelper.TranslateAllSettings(_settingsList);
8994
}
9095

9196
/// <summary>
@@ -95,13 +100,7 @@ public void Init(PluginInitContext context)
95100
/// <returns>A filtered list, can be empty when nothing was found.</returns>
96101
public List<Result> Query(Query query)
97102
{
98-
if (_settingsList is null)
99-
{
100-
return new List<Result>(0);
101-
}
102-
103-
104-
var newList = ResultHelper.GetResultList(_settingsList, query, _defaultIconPath);
103+
var newList = ResultHelper.GetResultList(_translatedSettingList, query, _defaultIconPath);
105104
return newList;
106105

107106

0 commit comments

Comments
 (0)