diff --git a/.github/update_release_pr.py b/.github/update_release_pr.py
index ccea511b3..be523bfe8 100644
--- a/.github/update_release_pr.py
+++ b/.github/update_release_pr.py
@@ -1,11 +1,12 @@
from os import getenv
+from typing import Optional
import requests
def get_github_prs(token: str, owner: str, repo: str, label: str = "", state: str = "all") -> list[dict]:
"""
- Fetches pull requests from a GitHub repository that match a given milestone and label.
+ Fetches pull requests from a GitHub repository that match a given label and state.
Args:
token (str): GitHub token.
@@ -23,39 +24,10 @@ def get_github_prs(token: str, owner: str, repo: str, label: str = "", state: st
"Accept": "application/vnd.github.v3+json",
}
- milestone_id = None
- milestone_url = f"https://api.github.com/repos/{owner}/{repo}/milestones"
- params = {"state": "open"}
-
- try:
- response = requests.get(milestone_url, headers=headers, params=params)
- response.raise_for_status()
- milestones = response.json()
-
- if len(milestones) > 2:
- print("More than two milestones found, unable to determine the milestone required.")
- exit(1)
-
- # milestones.pop()
- for ms in milestones:
- if ms["title"] != "Future":
- milestone_id = ms["number"]
- print(f"Gathering PRs with milestone {ms['title']}...")
- break
-
- if not milestone_id:
- print(f"No suitable milestone found in repository '{owner}/{repo}'.")
- exit(1)
-
- except requests.exceptions.RequestException as e:
- print(f"Error fetching milestones: {e}")
- exit(1)
-
- # This endpoint allows filtering by milestone and label. A PR in GH's perspective is a type of issue.
+ # This endpoint allows filtering by label(and milestone). A PR in GH's perspective is a type of issue.
prs_url = f"https://api.github.com/repos/{owner}/{repo}/issues"
params = {
"state": state,
- "milestone": milestone_id,
"labels": label,
"per_page": 100,
}
@@ -83,7 +55,9 @@ def get_github_prs(token: str, owner: str, repo: str, label: str = "", state: st
return all_prs
-def get_prs(pull_request_items: list[dict], label: str = "", state: str = "all") -> list[dict]:
+def get_prs(
+ pull_request_items: list[dict], label: str = "", state: str = "all", milestone_title: Optional[str] = None
+) -> list[dict]:
"""
Returns a list of pull requests after applying the label and state filters.
@@ -91,6 +65,8 @@ def get_prs(pull_request_items: list[dict], label: str = "", state: str = "all")
pull_request_items (list[dict]): List of PR items.
label (str): The label name. Filter is not applied when empty string.
state (str): State of PR, e.g. open, closed, all
+ milestone_title (Optional[str]): The milestone title to filter by. This is the milestone number you created
+ in GitHub, e.g. '1.20.0'. If None, no milestone filtering is applied.
Returns:
list: A list of dictionaries, where each dictionary represents a pull request.
@@ -99,22 +75,32 @@ def get_prs(pull_request_items: list[dict], label: str = "", state: str = "all")
pr_list = []
count = 0
for pr in pull_request_items:
- if state in [pr["state"], "all"] and (not label or [item for item in pr["labels"] if item["name"] == label]):
- pr_list.append(pr)
- count += 1
+ if state not in [pr["state"], "all"]:
+ continue
- print(f"Found {count} PRs with {label if label else 'no filter on'} label and state as {state}")
+ if label and not [item for item in pr["labels"] if item["name"] == label]:
+ continue
+
+ if milestone_title:
+ if pr["milestone"] is None or pr["milestone"]["title"] != milestone_title:
+ continue
+
+ pr_list.append(pr)
+ count += 1
+
+ print(
+ f"Found {count} PRs with {label if label else 'no filter on'} label, state as {state}, and milestone {milestone_title if milestone_title else "any"}"
+ )
return pr_list
-def get_prs_assignees(pull_request_items: list[dict], label: str = "", state: str = "all") -> list[str]:
+
+def get_prs_assignees(pull_request_items: list[dict]) -> list[str]:
"""
- Returns a list of pull request assignees after applying the label and state filters, excludes jjw24.
+ Returns a list of pull request assignees, excludes jjw24.
Args:
- pull_request_items (list[dict]): List of PR items.
- label (str): The label name. Filter is not applied when empty string.
- state (str): State of PR, e.g. open, closed, all
+ pull_request_items (list[dict]): List of PR items to get the assignees from.
Returns:
list: A list of strs, where each string is an assignee name. List is not distinct, so can contain
@@ -123,13 +109,13 @@ def get_prs_assignees(pull_request_items: list[dict], label: str = "", state: st
"""
assignee_list = []
for pr in pull_request_items:
- if state in [pr["state"], "all"] and (not label or [item for item in pr["labels"] if item["name"] == label]):
- [assignee_list.append(assignee["login"]) for assignee in pr["assignees"] if assignee["login"] != "jjw24" ]
+ [assignee_list.append(assignee["login"]) for assignee in pr["assignees"] if assignee["login"] != "jjw24"]
- print(f"Found {len(assignee_list)} assignees with {label if label else 'no filter on'} label and state as {state}")
+ print(f"Found {len(assignee_list)} assignees")
return assignee_list
+
def get_pr_descriptions(pull_request_items: list[dict]) -> str:
"""
Returns the concatenated string of pr title and number in the format of
@@ -207,15 +193,16 @@ if __name__ == "__main__":
print(f"Fetching {state} PRs for {repository_owner}/{repository_name} ...")
- pull_requests = get_github_prs(github_token, repository_owner, repository_name)
+ # First, get all PRs to find the release PR and determine the milestone
+ all_pull_requests = get_github_prs(github_token, repository_owner, repository_name)
- if not pull_requests:
- print("No matching pull requests found")
+ if not all_pull_requests:
+ print("No pull requests found")
exit(1)
- print(f"\nFound total of {len(pull_requests)} pull requests")
+ print(f"\nFound total of {len(all_pull_requests)} pull requests")
- release_pr = get_prs(pull_requests, "release", "open")
+ release_pr = get_prs(all_pull_requests, "release", "open")
if len(release_pr) != 1:
print(f"Unable to find the exact release PR. Returned result: {release_pr}")
@@ -223,14 +210,25 @@ if __name__ == "__main__":
print(f"Found release PR: {release_pr[0]['title']}")
- enhancement_prs = get_prs(pull_requests, "enhancement", "closed")
- bug_fix_prs = get_prs(pull_requests, "bug", "closed")
+ release_milestone_title = release_pr[0].get("milestone", {}).get("title", None)
+
+ if not release_milestone_title:
+ print("Release PR does not have a milestone assigned.")
+ exit(1)
+
+ print(f"Using milestone number: {release_milestone_title}")
+
+ enhancement_prs = get_prs(all_pull_requests, "enhancement", "closed", release_milestone_title)
+ bug_fix_prs = get_prs(all_pull_requests, "bug", "closed", release_milestone_title)
+
+ if len(enhancement_prs) == 0 and len(bug_fix_prs) == 0:
+ print(f"No PRs with {release_milestone_title} milestone were found")
description_content = "# Release notes\n"
description_content += f"## Features\n{get_pr_descriptions(enhancement_prs)}" if enhancement_prs else ""
description_content += f"## Bug fixes\n{get_pr_descriptions(bug_fix_prs)}" if bug_fix_prs else ""
- assignees = list(set(get_prs_assignees(pull_requests, "enhancement", "closed") + get_prs_assignees(pull_requests, "bug", "closed")))
+ assignees = list(set(get_prs_assignees(enhancement_prs) + get_prs_assignees(bug_fix_prs)))
assignees.sort(key=str.lower)
description_content += f"### Authors:\n{', '.join(assignees)}"
diff --git a/Flow.Launcher.Infrastructure/IAlphabet.cs b/Flow.Launcher.Infrastructure/IAlphabet.cs
new file mode 100644
index 000000000..d13eeb414
--- /dev/null
+++ b/Flow.Launcher.Infrastructure/IAlphabet.cs
@@ -0,0 +1,22 @@
+namespace Flow.Launcher.Infrastructure
+{
+ ///
+ /// Translate a language to English letters using a given rule.
+ ///
+ public interface IAlphabet
+ {
+ ///
+ /// Translate a string to English letters, using a given rule.
+ ///
+ /// String to translate.
+ ///
+ public (string translation, TranslationMapping map) Translate(string stringToTranslate);
+
+ ///
+ /// Determine if a string should be translated to English letter with this Alphabet.
+ ///
+ /// String to translate.
+ ///
+ public bool ShouldTranslate(string stringToTranslate);
+ }
+}
diff --git a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs
index 8eaa757be..b5344c7e9 100644
--- a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs
+++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs
@@ -1,209 +1,148 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
-using System.Linq;
+using System.Collections.ObjectModel;
+using System.IO;
using System.Text;
-using JetBrains.Annotations;
+using System.Text.Json;
+using CommunityToolkit.Mvvm.DependencyInjection;
using Flow.Launcher.Infrastructure.UserSettings;
using ToolGood.Words.Pinyin;
-using CommunityToolkit.Mvvm.DependencyInjection;
+using Flow.Launcher.Infrastructure.Logger;
namespace Flow.Launcher.Infrastructure
{
- public class TranslationMapping
- {
- private bool constructed;
-
- private List originalIndexs = new List();
- private List translatedIndexs = new List();
- private int translatedLength = 0;
-
- public string key { get; private set; }
-
- public void setKey(string key)
- {
- this.key = key;
- }
-
- public void AddNewIndex(int originalIndex, int translatedIndex, int length)
- {
- if (constructed)
- throw new InvalidOperationException("Mapping shouldn't be changed after constructed");
-
- originalIndexs.Add(originalIndex);
- translatedIndexs.Add(translatedIndex);
- translatedIndexs.Add(translatedIndex + length);
- translatedLength += length - 1;
- }
-
- public int MapToOriginalIndex(int translatedIndex)
- {
- if (translatedIndex > translatedIndexs.Last())
- return translatedIndex - translatedLength - 1;
-
- int lowerBound = 0;
- int upperBound = originalIndexs.Count - 1;
-
- int count = 0;
-
- // Corner case handle
- if (translatedIndex < translatedIndexs[0])
- return translatedIndex;
- if (translatedIndex > translatedIndexs.Last())
- {
- int indexDef = 0;
- for (int k = 0; k < originalIndexs.Count; k++)
- {
- indexDef += translatedIndexs[k * 2 + 1] - translatedIndexs[k * 2];
- }
-
- return translatedIndex - indexDef - 1;
- }
-
- // Binary Search with Range
- for (int i = originalIndexs.Count / 2;; count++)
- {
- if (translatedIndex < translatedIndexs[i * 2])
- {
- // move to lower middle
- upperBound = i;
- i = (i + lowerBound) / 2;
- }
- else if (translatedIndex > translatedIndexs[i * 2 + 1] - 1)
- {
- lowerBound = i;
- // move to upper middle
- // due to floor of integer division, move one up on corner case
- i = (i + upperBound + 1) / 2;
- }
- else
- return originalIndexs[i];
-
- if (upperBound - lowerBound <= 1 &&
- translatedIndex > translatedIndexs[lowerBound * 2 + 1] &&
- translatedIndex < translatedIndexs[upperBound * 2])
- {
- int indexDef = 0;
-
- for (int j = 0; j < upperBound; j++)
- {
- indexDef += translatedIndexs[j * 2 + 1] - translatedIndexs[j * 2];
- }
-
- return translatedIndex - indexDef - 1;
- }
- }
- }
-
- public void endConstruct()
- {
- if (constructed)
- throw new InvalidOperationException("Mapping has already been constructed");
- constructed = true;
- }
- }
-
- ///
- /// Translate a language to English letters using a given rule.
- ///
- public interface IAlphabet
- {
- ///
- /// Translate a string to English letters, using a given rule.
- ///
- /// String to translate.
- ///
- public (string translation, TranslationMapping map) Translate(string stringToTranslate);
-
- ///
- /// Determine if a string can be translated to English letter with this Alphabet.
- ///
- /// String to translate.
- ///
- public bool CanBeTranslated(string stringToTranslate);
- }
-
public class PinyinAlphabet : IAlphabet
{
private ConcurrentDictionary _pinyinCache =
- new ConcurrentDictionary();
+ new();
- private Settings _settings;
+ private readonly Settings _settings;
+
+ private ReadOnlyDictionary currentDoublePinyinTable;
public PinyinAlphabet()
{
- Initialize(Ioc.Default.GetRequiredService());
+ _settings = Ioc.Default.GetRequiredService();
+ LoadDoublePinyinTable();
+
+ _settings.PropertyChanged += (sender, e) =>
+ {
+ if (e.PropertyName == nameof(Settings.UseDoublePinyin) ||
+ e.PropertyName == nameof(Settings.DoublePinyinSchema))
+ {
+ Reload();
+ }
+ };
}
- private void Initialize([NotNull] Settings settings)
+ public void Reload()
{
- _settings = settings ?? throw new ArgumentNullException(nameof(settings));
+ LoadDoublePinyinTable();
+ _pinyinCache.Clear();
}
- public bool CanBeTranslated(string stringToTranslate)
+ private void CreateDoublePinyinTableFromStream(Stream jsonStream)
{
- return WordsHelper.HasChinese(stringToTranslate);
+ Dictionary> table = JsonSerializer.Deserialize>>(jsonStream);
+ string schemaKey = _settings.DoublePinyinSchema.ToString(); // Convert enum to string
+ if (!table.TryGetValue(schemaKey, out var value))
+ {
+ throw new ArgumentException("DoublePinyinSchema is invalid or double pinyin table is broken.");
+ }
+ currentDoublePinyinTable = new ReadOnlyDictionary(value);
+ }
+
+ private void LoadDoublePinyinTable()
+ {
+ if (_settings.UseDoublePinyin)
+ {
+ var tablePath = Path.Join(AppContext.BaseDirectory, "Resources", "double_pinyin.json");
+ try
+ {
+ using var fs = File.OpenRead(tablePath);
+ CreateDoublePinyinTableFromStream(fs);
+ }
+ catch (System.Exception e)
+ {
+ Log.Exception(nameof(PinyinAlphabet), "Failed to load double pinyin table from file: " + tablePath, e);
+ currentDoublePinyinTable = new ReadOnlyDictionary(new Dictionary());
+ }
+ }
+ else
+ {
+ currentDoublePinyinTable = new ReadOnlyDictionary(new Dictionary());
+ }
+ }
+
+ public bool ShouldTranslate(string stringToTranslate)
+ {
+ // If a string has Chinese characters, we don't need to translate it to pinyin.
+ return _settings.ShouldUsePinyin && !WordsHelper.HasChinese(stringToTranslate);
}
public (string translation, TranslationMapping map) Translate(string content)
{
- if (_settings.ShouldUsePinyin)
- {
- if (!_pinyinCache.ContainsKey(content))
- {
- return BuildCacheFromContent(content);
- }
- else
- {
- return _pinyinCache[content];
- }
- }
- return (content, null);
+ if (!_settings.ShouldUsePinyin || !WordsHelper.HasChinese(content))
+ return (content, null);
+
+ return _pinyinCache.TryGetValue(content, out var value)
+ ? value
+ : BuildCacheFromContent(content);
}
private (string translation, TranslationMapping map) BuildCacheFromContent(string content)
{
- if (WordsHelper.HasChinese(content))
+ var resultList = WordsHelper.GetPinyinList(content);
+
+ var resultBuilder = new StringBuilder();
+ var map = new TranslationMapping();
+
+ var previousIsChinese = false;
+
+ for (var i = 0; i < resultList.Length; i++)
{
- var resultList = WordsHelper.GetPinyinList(content);
-
- StringBuilder resultBuilder = new StringBuilder();
- TranslationMapping map = new TranslationMapping();
-
- bool pre = false;
-
- for (int i = 0; i < resultList.Length; i++)
+ if (content[i] >= 0x3400 && content[i] <= 0x9FD5)
{
- if (content[i] >= 0x3400 && content[i] <= 0x9FD5)
+ string translated = _settings.UseDoublePinyin ? ToDoublePin(resultList[i]) : resultList[i];
+ if (i > 0)
{
- map.AddNewIndex(i, resultBuilder.Length, resultList[i].Length + 1);
resultBuilder.Append(' ');
- resultBuilder.Append(resultList[i]);
- pre = true;
- }
- else
- {
- if (pre)
- {
- pre = false;
- resultBuilder.Append(' ');
- }
-
- resultBuilder.Append(resultList[i]);
}
+ map.AddNewIndex(resultBuilder.Length, translated.Length);
+ resultBuilder.Append(translated);
+ previousIsChinese = true;
+ }
+ else
+ {
+ if (previousIsChinese)
+ {
+ previousIsChinese = false;
+ resultBuilder.Append(' ');
+ }
+ map.AddNewIndex(resultBuilder.Length, resultList[i].Length);
+ resultBuilder.Append(resultList[i]);
}
-
- map.endConstruct();
-
- var key = resultBuilder.ToString();
- map.setKey(key);
-
- return _pinyinCache[content] = (key, map);
- }
- else
- {
- return (content, null);
}
+
+ map.endConstruct();
+
+ var key = resultBuilder.ToString();
+
+ return _pinyinCache[content] = (key, map);
}
+
+ #region Double Pinyin
+
+ private string ToDoublePin(string fullPinyin)
+ {
+ if (currentDoublePinyinTable.TryGetValue(fullPinyin, out var doublePinyinValue))
+ {
+ return doublePinyinValue;
+ }
+ return fullPinyin;
+ }
+
+ #endregion
}
}
diff --git a/Flow.Launcher.Infrastructure/StringMatcher.cs b/Flow.Launcher.Infrastructure/StringMatcher.cs
index e85c5d6f4..2882cb8f0 100644
--- a/Flow.Launcher.Infrastructure/StringMatcher.cs
+++ b/Flow.Launcher.Infrastructure/StringMatcher.cs
@@ -68,7 +68,7 @@ namespace Flow.Launcher.Infrastructure
query = query.Trim();
TranslationMapping translationMapping = null;
- if (_alphabet is not null && !_alphabet.CanBeTranslated(query))
+ if (_alphabet is not null && _alphabet.ShouldTranslate(query))
{
// We assume that if a query can be translated (containing characters of a language, like Chinese)
// it actually means user doesn't want it to be translated to English letters.
@@ -228,7 +228,7 @@ namespace Flow.Launcher.Infrastructure
return new MatchResult(false, UserSettingSearchPrecision);
}
- private bool IsAcronym(string stringToCompare, int compareStringIndex)
+ private static bool IsAcronym(string stringToCompare, int compareStringIndex)
{
if (IsAcronymChar(stringToCompare, compareStringIndex) || IsAcronymNumber(stringToCompare, compareStringIndex))
return true;
@@ -237,7 +237,7 @@ namespace Flow.Launcher.Infrastructure
}
// When counting acronyms, treat a set of numbers as one acronym ie. Visual 2019 as 2 acronyms instead of 5
- private bool IsAcronymCount(string stringToCompare, int compareStringIndex)
+ private static bool IsAcronymCount(string stringToCompare, int compareStringIndex)
{
if (IsAcronymChar(stringToCompare, compareStringIndex))
return true;
diff --git a/Flow.Launcher.Infrastructure/TranslationMapping.cs b/Flow.Launcher.Infrastructure/TranslationMapping.cs
new file mode 100644
index 000000000..5b02ae666
--- /dev/null
+++ b/Flow.Launcher.Infrastructure/TranslationMapping.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+
+namespace Flow.Launcher.Infrastructure
+{
+ public class TranslationMapping
+ {
+ private bool constructed;
+
+ // Assuming one original item maps to multi translated items
+ // list[i] is the last translated index + 1 of original index i
+ private readonly List originalToTranslated = new();
+
+ public void AddNewIndex(int translatedIndex, int length)
+ {
+ if (constructed)
+ throw new InvalidOperationException("Mapping shouldn't be changed after constructed");
+
+ originalToTranslated.Add(translatedIndex + length);
+ }
+
+ public int MapToOriginalIndex(int translatedIndex)
+ {
+ int loc = originalToTranslated.BinarySearch(translatedIndex);
+ return loc >= 0 ? loc : ~loc;
+ }
+
+ public void endConstruct()
+ {
+ if (constructed)
+ throw new InvalidOperationException("Mapping has already been constructed");
+ constructed = true;
+ }
+ }
+}
diff --git a/Flow.Launcher.Infrastructure/UserSettings/PluginHotkey.cs b/Flow.Launcher.Infrastructure/UserSettings/PluginHotkey.cs
index 9dc395aca..0c5c38028 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/PluginHotkey.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/PluginHotkey.cs
@@ -1,4 +1,5 @@
-using Flow.Launcher.Plugin;
+using System;
+using Flow.Launcher.Plugin;
namespace Flow.Launcher.Infrastructure.UserSettings
{
@@ -6,5 +7,26 @@ namespace Flow.Launcher.Infrastructure.UserSettings
{
public string Hotkey { get; set; }
public string ActionKeyword { get; set; }
+
+ public CustomPluginHotkey(string hotkey, string actionKeyword)
+ {
+ Hotkey = hotkey;
+ ActionKeyword = actionKeyword;
+ }
+
+ public override bool Equals(object other)
+ {
+ if (other is CustomPluginHotkey otherHotkey)
+ {
+ return Hotkey == otherHotkey.Hotkey && ActionKeyword == otherHotkey.ActionKeyword;
+ }
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return HashCode.Combine(Hotkey, ActionKeyword);
+ }
}
}
diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index 5f471b2f5..0367bee10 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -40,9 +40,37 @@ namespace Flow.Launcher.Infrastructure.UserSettings
}
public string Hotkey { get; set; } = $"{KeyConstant.Alt} + {KeyConstant.Space}";
- public string OpenResultModifiers { get; set; } = KeyConstant.Alt;
+
+ private string _openResultModifiers = KeyConstant.Alt;
+ public string OpenResultModifiers
+ {
+ get => _openResultModifiers;
+ set
+ {
+ if (_openResultModifiers != value)
+ {
+ _openResultModifiers = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
public string ColorScheme { get; set; } = "System";
- public bool ShowOpenResultHotkey { get; set; } = true;
+
+ private bool _showOpenResultHotkey = true;
+ public bool ShowOpenResultHotkey
+ {
+ get => _showOpenResultHotkey;
+ set
+ {
+ if (_showOpenResultHotkey != value)
+ {
+ _showOpenResultHotkey = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
public double WindowSize { get; set; } = 580;
public string PreviewHotkey { get; set; } = $"F1";
public string AutoCompleteHotkey { get; set; } = $"{KeyConstant.Ctrl} + Tab";
@@ -87,7 +115,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
}
}
public bool UseDropShadowEffect { get; set; } = true;
- public BackdropTypes BackdropType{ get; set; } = BackdropTypes.None;
+ public BackdropTypes BackdropType { get; set; } = BackdropTypes.None;
public string ReleaseNotesVersion { get; set; } = string.Empty;
/* Appearance Settings. It should be separated from the setting later.*/
@@ -200,7 +228,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
}
}
}
-
+
public int MaxHistoryResultsToShowForHomePage { get; set; } = 5;
public bool AutoRestartAfterChanging { get; set; } = false;
@@ -302,6 +330,36 @@ namespace Flow.Launcher.Infrastructure.UserSettings
///
public bool ShouldUsePinyin { get; set; } = false;
+ private bool _useDoublePinyin = false;
+ public bool UseDoublePinyin
+ {
+ get => _useDoublePinyin;
+ set
+ {
+ if (_useDoublePinyin != value)
+ {
+ _useDoublePinyin = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
+ private DoublePinyinSchemas _doublePinyinSchema = DoublePinyinSchemas.XiaoHe;
+
+ [JsonInclude, JsonConverter(typeof(JsonStringEnumConverter))]
+ public DoublePinyinSchemas DoublePinyinSchema
+ {
+ get => _doublePinyinSchema;
+ set
+ {
+ if (_doublePinyinSchema != value)
+ {
+ _doublePinyinSchema = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
public bool AlwaysPreview { get; set; } = false;
public bool AlwaysStartEn { get; set; } = false;
@@ -466,7 +524,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
if (!string.IsNullOrEmpty(SettingWindowHotkey))
list.Add(new(SettingWindowHotkey, "SettingWindowHotkey", () => SettingWindowHotkey = ""));
if (!string.IsNullOrEmpty(OpenHistoryHotkey))
- list.Add(new(OpenHistoryHotkey, "OpenHistoryHotkey", () => OpenHistoryHotkey = ""));
+ list.Add(new(OpenHistoryHotkey, "OpenHistoryHotkey", () => OpenHistoryHotkey = ""));
if (!string.IsNullOrEmpty(OpenContextMenuHotkey))
list.Add(new(OpenContextMenuHotkey, "OpenContextMenuHotkey", () => OpenContextMenuHotkey = ""));
if (!string.IsNullOrEmpty(SelectNextPageHotkey))
@@ -572,9 +630,22 @@ namespace Flow.Launcher.Infrastructure.UserSettings
public enum BackdropTypes
{
- None,
+ None,
Acrylic,
Mica,
MicaAlt
}
+
+ public enum DoublePinyinSchemas
+ {
+ XiaoHe,
+ ZiRanMa,
+ WeiRuan,
+ ZhiNengABC,
+ ZiGuangPinYin,
+ PinYinJiaJia,
+ XingKongJianDao,
+ DaNiu,
+ XiaoLang
+ }
}
diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
index 4a49e9589..1831bf46f 100644
--- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
+++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
@@ -14,10 +14,10 @@
- 4.6.0
- 4.6.0
- 4.6.0
- 4.6.0
+ 4.7.0
+ 4.7.0
+ 4.7.0
+ 4.7.0Flow.Launcher.PluginFlow-LauncherMIT
@@ -27,6 +27,7 @@
truetrueReadme.md
+ true
diff --git a/Flow.Launcher.Test/TranslationMappingTest.cs b/Flow.Launcher.Test/TranslationMappingTest.cs
new file mode 100644
index 000000000..10d765f5a
--- /dev/null
+++ b/Flow.Launcher.Test/TranslationMappingTest.cs
@@ -0,0 +1,56 @@
+using Flow.Launcher.Infrastructure;
+using NUnit.Framework;
+using NUnit.Framework.Legacy;
+
+namespace Flow.Launcher.Test
+{
+ [TestFixture]
+ public class TranslationMappingTest
+ {
+ [Test]
+ public void AddNewIndex_ShouldAddTranslatedIndexPlusLength()
+ {
+ var mapping = new TranslationMapping();
+ mapping.AddNewIndex(5, 3);
+ mapping.AddNewIndex(8, 2);
+
+ // 5+3=8, 8+2=10
+ ClassicAssert.AreEqual(2, GetOriginalToTranslatedCount(mapping));
+ ClassicAssert.AreEqual(8, GetOriginalToTranslatedAt(mapping, 0));
+ ClassicAssert.AreEqual(10, GetOriginalToTranslatedAt(mapping, 1));
+ }
+
+ [TestCase(0, 0)]
+ [TestCase(2, 1)]
+ [TestCase(3, 1)]
+ [TestCase(5, 2)]
+ [TestCase(6, 2)]
+ public void MapToOriginalIndex_ShouldReturnExpectedIndex(int translatedIndex, int expectedOriginalIndex)
+ {
+ var mapping = new TranslationMapping();
+ // a测试
+ // a Ce Shi
+ mapping.AddNewIndex(0, 1);
+ mapping.AddNewIndex(2, 2);
+ mapping.AddNewIndex(5, 3);
+
+
+ var result = mapping.MapToOriginalIndex(translatedIndex);
+ ClassicAssert.AreEqual(expectedOriginalIndex, result);
+ }
+
+ private int GetOriginalToTranslatedCount(TranslationMapping mapping)
+ {
+ var field = typeof(TranslationMapping).GetField("originalToTranslated", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
+ var list = (System.Collections.Generic.List)field.GetValue(mapping);
+ return list.Count;
+ }
+
+ private int GetOriginalToTranslatedAt(TranslationMapping mapping, int index)
+ {
+ var field = typeof(TranslationMapping).GetField("originalToTranslated", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
+ var list = (System.Collections.Generic.List)field.GetValue(mapping);
+ return list[index];
+ }
+ }
+}
diff --git a/Flow.Launcher/CustomQueryHotkeySetting.xaml b/Flow.Launcher/CustomQueryHotkeySetting.xaml
index 0171e6d79..db99b704a 100644
--- a/Flow.Launcher/CustomQueryHotkeySetting.xaml
+++ b/Flow.Launcher/CustomQueryHotkeySetting.xaml
@@ -119,7 +119,8 @@
Grid.Column="1"
Margin="10"
HorizontalAlignment="Stretch"
- VerticalAlignment="Center" />
+ VerticalAlignment="Center"
+ Text="{Binding ActionKeyword}" />
diff --git a/Flow.Launcher/CustomQueryHotkeySetting.xaml.cs b/Flow.Launcher/CustomQueryHotkeySetting.xaml.cs
index 77febde9d..2ee08bf85 100644
--- a/Flow.Launcher/CustomQueryHotkeySetting.xaml.cs
+++ b/Flow.Launcher/CustomQueryHotkeySetting.xaml.cs
@@ -1,73 +1,52 @@
-using System.Collections.ObjectModel;
-using System.Linq;
-using System.Windows;
-using System.Windows.Input;
+using System.Windows;
using System.Windows.Controls;
-using Flow.Launcher.Helper;
+using System.Windows.Input;
using Flow.Launcher.Infrastructure.UserSettings;
namespace Flow.Launcher
{
public partial class CustomQueryHotkeySetting : Window
{
- private readonly Settings _settings;
+ public string Hotkey { get; set; } = string.Empty;
+ public string ActionKeyword { get; set; } = string.Empty;
- private bool update;
- private CustomPluginHotkey updateCustomHotkey;
+ private readonly bool update;
+ private readonly CustomPluginHotkey originalCustomHotkey;
- public CustomQueryHotkeySetting(Settings settings)
+ public CustomQueryHotkeySetting()
{
- _settings = settings;
InitializeComponent();
+ tbAdd.Visibility = Visibility.Visible;
+ }
+
+ public CustomQueryHotkeySetting(CustomPluginHotkey hotkey)
+ {
+ originalCustomHotkey = hotkey;
+ update = true;
+ ActionKeyword = originalCustomHotkey.ActionKeyword;
+ InitializeComponent();
+ tbUpdate.Visibility = Visibility.Visible;
+ HotkeyControl.SetHotkey(originalCustomHotkey.Hotkey, false);
}
private void BtnCancel_OnClick(object sender, RoutedEventArgs e)
{
+ DialogResult = false;
Close();
}
private void btnAdd_OnClick(object sender, RoutedEventArgs e)
{
- if (!update)
+ Hotkey = HotkeyControl.CurrentHotkey.ToString();
+
+ if (string.IsNullOrEmpty(Hotkey) && string.IsNullOrEmpty(ActionKeyword))
{
- _settings.CustomPluginHotkeys ??= new ObservableCollection();
-
- var pluginHotkey = new CustomPluginHotkey
- {
- Hotkey = HotkeyControl.CurrentHotkey.ToString(), ActionKeyword = tbAction.Text
- };
- _settings.CustomPluginHotkeys.Add(pluginHotkey);
-
- HotKeyMapper.SetCustomQueryHotkey(pluginHotkey);
- }
- else
- {
- var oldHotkey = updateCustomHotkey.Hotkey;
- updateCustomHotkey.ActionKeyword = tbAction.Text;
- updateCustomHotkey.Hotkey = HotkeyControl.CurrentHotkey.ToString();
- //remove origin hotkey
- HotKeyMapper.RemoveHotkey(oldHotkey);
- HotKeyMapper.SetCustomQueryHotkey(updateCustomHotkey);
- }
-
- Close();
- }
-
- public void UpdateItem(CustomPluginHotkey item)
- {
- updateCustomHotkey = _settings.CustomPluginHotkeys.FirstOrDefault(o =>
- o.ActionKeyword == item.ActionKeyword && o.Hotkey == item.Hotkey);
- if (updateCustomHotkey == null)
- {
- App.API.ShowMsgBox(App.API.GetTranslation("invalidPluginHotkey"));
- Close();
+ App.API.ShowMsgBox(App.API.GetTranslation("emptyPluginHotkey"));
return;
}
- tbAction.Text = updateCustomHotkey.ActionKeyword;
- HotkeyControl.SetHotkey(updateCustomHotkey.Hotkey, false);
- update = true;
- lblAdd.Text = App.API.GetTranslation("update");
+ DialogResult = !update || originalCustomHotkey.Hotkey != Hotkey || originalCustomHotkey.ActionKeyword != ActionKeyword;
+ Close();
}
private void BtnTestActionKeyword_OnClick(object sender, RoutedEventArgs e)
@@ -79,6 +58,7 @@ namespace Flow.Launcher
private void cmdEsc_OnPress(object sender, ExecutedRoutedEventArgs e)
{
+ DialogResult = false;
Close();
}
diff --git a/Flow.Launcher/CustomShortcutSetting.xaml.cs b/Flow.Launcher/CustomShortcutSetting.xaml.cs
index e180f6570..f4644a267 100644
--- a/Flow.Launcher/CustomShortcutSetting.xaml.cs
+++ b/Flow.Launcher/CustomShortcutSetting.xaml.cs
@@ -43,12 +43,14 @@ namespace Flow.Launcher
App.API.ShowMsgBox(App.API.GetTranslation("emptyShortcut"));
return;
}
+
// Check if key is modified or adding a new one
if (((update && originalKey != Key) || !update) && _hotkeyVm.DoesShortcutExist(Key))
{
App.API.ShowMsgBox(App.API.GetTranslation("duplicateShortcut"));
return;
}
+
DialogResult = !update || originalKey != Key || originalValue != Value;
Close();
}
diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj
index 78e853cb3..fb4bb254f 100644
--- a/Flow.Launcher/Flow.Launcher.csproj
+++ b/Flow.Launcher/Flow.Launcher.csproj
@@ -127,6 +127,9 @@
PreserveNewest
+
+ PreserveNewest
+
diff --git a/Flow.Launcher/Languages/ar.xaml b/Flow.Launcher/Languages/ar.xaml
index 9795d00fd..80fde6441 100644
--- a/Flow.Launcher/Languages/ar.xaml
+++ b/Flow.Launcher/Languages/ar.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
تعذر تعيين مسار الملف التنفيذي لـ {0}، يرجى المحاولة من إعدادات Flow (قم بالتمرير إلى الأسفل).فشل في تهيئة الإضافات
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesالبحث عن إضافة
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginمتجر الإضافات
@@ -191,6 +201,28 @@
إصدار جديدتم تحديث هذه الإضافة في آخر 7 أياميتوفر تحديث جديد
+ خطأ في تثبيت الإضاف
+ خطأ في إلغاء تثبيت الإضافة
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ تم تثبيت الإضافة {0} بنجاح. يرجى إعادة تشغيل Flow.
+ تم إلغاء تثبيت الإضافة {0} بنجاح. يرجى إعادة تشغيل Flow.
+ تم تحديث الإضافة {0} بنجاح. يرجى إعادة تشغيل Flow.
+ Plugin install
+ {0} بواسطة {1} {2}{2}هل ترغب في تثبيت هذه الإضافة؟
+ Plugin uninstall
+ {0} بواسطة {1} {2}{2}هل ترغب في إلغاء تثبيت هذه الإضافة؟
+ Plugin update
+ {0} بواسطة {1} {2}{2}هل ترغب في تحديث هذه الإضافة؟
+ تحميل الإضاف
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ التثبيت من مصدر غير معرو
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathالسمة
@@ -383,7 +415,7 @@
اختر مدير الملفاتLearn moreيرجى تحديد موقع ملف مدير الملفات الذي تستخدمه وإضافة الحجج حسب الحاجة. يمثل "%d" مسار الدليل المفتوح، ويستخدمه الحقل "الحجة للمجلد" للأوامر التي تفتح أدلة محددة. يمثل "%f" مسار الملف المفتوح، ويستخدمه الحقل "الحجة للملف" للأوامر التي تفتح ملفات محددة.
- على سبيل المثال، إذا كان مدير الملفات يستخدم أمرًا مثل "totalcmd.exe /A c:\windows" لفتح دليل c:\windows، فإن مسار مدير الملفات سيكون totalcmd.exe، وحجة المجلد ستكون /A "%d". قد تحتاج بعض مديري الملفات مثل QTTabBar فقط إلى توفير مسار، في هذه الحالة استخدم "%d" كمسار مدير الملفات واترك باقي الحقول فارغة.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.مدير الملفاتاسم الملف الشخصيمسار مدير الملفات
@@ -434,13 +466,14 @@
اضغط على مفتاح اختصار مخصص لفتح Flow Launcher وإدخال الاستعلام المحدد تلقائيًا.معاينةمفتاح الاختصار غير متاح، يرجى اختيار مفتاح اختصار جديد
- مفتاح اختصار غير صالح للإضافة
+ Hotkey is invalidتحديثربط مفتاح الاختصارمفتاح الاختصار الحالي غير متاح.تم حجز هذا المفتاح لـ "{0}" ولا يمكن استخدامه. يرجى اختيار مفتاح اختصار آخر.يتم استخدام هذا المفتاح بالفعل من قبل "{0}". إذا ضغطت على "استبدال"، سيتم إزالته من "{0}".اضغط على المفاتيح التي تريد استخدامها لهذه الوظيفة.
+ Hotkey and action keyword are emptyاختصار الاستعلام المخصص
@@ -451,6 +484,7 @@
الاختصار موجود بالفعل، يرجى إدخال اختصار جديد أو تعديل الموجود.الاختصار و/أو توسيعه فارغ.
+ Shortcut is invalidحفظ
diff --git a/Flow.Launcher/Languages/cs.xaml b/Flow.Launcher/Languages/cs.xaml
index f559c77cd..aa13f2203 100644
--- a/Flow.Launcher/Languages/cs.xaml
+++ b/Flow.Launcher/Languages/cs.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesVyhledat plugin
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginObchod s pluginy
@@ -191,6 +201,28 @@
Nová verzeTento plugin byl aktualizován během posledních 7 dníNová aktualizace je k dispozici
+ Chyba instalace pluginu
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Stahování pluginu
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Instalace z neznámého zdroje
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathMotiv
@@ -383,7 +415,7 @@
Vybrat správce souborůLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Správce souborůJméno profiluCesta k správci souborů
@@ -434,13 +466,14 @@
Stisknutím vlastní klávesové zkratky otevřete nástroj Flow Launcher a automaticky zadejte dotaz.NáhledKlávesová zkratka je nedostupná, zadejte prosím novou zkratku
- Neplatná klávesová zkratka pluginu
+ Hotkey is invalidAktualizovatBinding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyVlastní klávesová zkratka pro zadávání dotazů
@@ -451,6 +484,7 @@ Pokud před zkratku při zadávání přidáte znak "@", bude odpovíd
Zkratka již existuje, zadejte novou zkratku nebo upravte stávající.Zkratka a/nebo její plné znění je prázdné.
+ Shortcut is invalidUložit
diff --git a/Flow.Launcher/Languages/da.xaml b/Flow.Launcher/Languages/da.xaml
index d917db21f..d734b4356 100644
--- a/Flow.Launcher/Languages/da.xaml
+++ b/Flow.Launcher/Languages/da.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesSearch Plugin
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginPlugin-butik
@@ -191,6 +201,28 @@
New VersionThis plugin has been updated within the last 7 daysNew Update is Available
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathTema
@@ -383,7 +415,7 @@
Select File ManagerLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.FilhåndteringProfilnavnSti til filhåndtering
@@ -434,13 +466,14 @@
Press a custom hotkey to open Flow Launcher and input the specified query automatically.VisGenvejstast er utilgængelig, vælg venligst en ny genvejstast
- Ugyldig plugin genvejstast
+ Hotkey is invalidOpdaterBinding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyCustom Query Shortcut
@@ -451,6 +484,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
Shortcut already exists, please enter a new Shortcut or edit the existing one.Shortcut and/or its expansion is empty.
+ Shortcut is invalidGem
diff --git a/Flow.Launcher/Languages/de.xaml b/Flow.Launcher/Languages/de.xaml
index ceb92b765..ca2a1bd0b 100644
--- a/Flow.Launcher/Languages/de.xaml
+++ b/Flow.Launcher/Languages/de.xaml
@@ -8,9 +8,9 @@
Bitte wählen Sie die ausführbare Datei {0} aus
- Ihre ausgewählte {0} ausführbare Datei ist ungültig.
+ Your selected {0} executable is invalid.
{2}{2}
- Klicken Sie auf "Ja", wenn Sie die ausführbare Datei {0} erneut auswählen möchten. Klicken Sie auf "Nein", wenn Sie {1} herunterladen möchten
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Der Pfad zur ausführbaren Datei {0} kann nicht festgelegt werden. Bitte versuchen Sie es in den Einstellungen von Flow (scrollen Sie nach unten).Plug-ins können nicht initialisiert werden
@@ -138,6 +138,10 @@
Dies kann nur bearbeitet werden, wenn das Plug-in das Home-Feature unterstützt und die Homepage aktiviert ist.Suchfenster an vorderster zeigenSetzt die Einstellung 'Immer im Vordergrund' anderer Programme außer Kraft und zeigt Flow in der vordersten Position an.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesPlug-in suchen
@@ -176,6 +180,12 @@
Plug-ins: {0} - Plug-in-Einstellungsdateien können nicht entfernt werden, bitte entfernen Sie diese manuellPlug-in-Cache kann nicht entfernt werdenPlug-ins: {0} - Plug-in-Cache-Dateien können nicht entfernt werden, bitte entfernen Sie diese manuell
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginPlug-in-Store
@@ -191,6 +201,28 @@
Neue VersionDieses Plug-in ist innerhalb der letzten 7 Tage aktualisiert wordenNeues Update ist verfügbar
+ Fehler bei Installation des Plug-ins
+ Fehler bei Deinstallation des Plug-ins
+ Error updating plugin
+ Plug-in-Einstellungen beibehalten
+ Möchten Sie die Einstellungen des Plug-ins für die nächste Nutzung beibehalten?
+ Plug-in {0} erfolgreich installiert. Bitte starten Sie Flow neu.
+ Plug-in {0} erfolgreich deinstalliert. Bitte starten Sie Flow neu.
+ Plug-in {0} erfolgreich aktualisiert. Bitte starten Sie Flow neu.
+ Plugin install
+ {0} von {1} {2}{2}Möchten Sie dieses Plug-in installieren?
+ Plugin uninstall
+ {0} von {1} {2}{2}Möchten Sie dieses Plug-in deinstallieren?
+ Plugin update
+ {0} von {1} {2}{2}Möchten Sie dieses Plugin aktualisieren?
+ Plug-in wird heruntergeladen
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installation aus unbekannter Quelle
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathTheme
@@ -383,7 +415,7 @@
Dateimanager auswählenMehr erfahrenBitte geben Sie den Dateiort des von Ihnen verwendeten Dateimanagers an und fügen Sie bei Bedarf Argumente hinzu. Das „%d“ repräsentiert den dafür zu öffnenden Verzeichnispfad, der vom Feld Arg for Folder und für Befehle zum Öffnen bestimmter Verzeichnisse verwendet wird. Das „%f“ repräsentiert den dafür zu öffnenden Dateipfad, der vom Feld Arg for File und für Befehle zum Öffnen bestimmter Dateien verwendet wird.
- Zum Beispiel, wenn der Dateimanager einen Befehl wie „totalcmd.exe /A c:\windows“ verwendet, um das Verzeichnis c:\windows zu öffnen, lautet der Dateimanager-Pfad „totalcmd.exe“ und der Arg for Folder „/A %d“. Bestimmte Dateimanager wie QTTabBar kann nur die Angabe eines Pfades erfordern, in diesem Fall verwenden Sie „%d“ als den Dateimanager-Pfad und lassen den Rest der Felder blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.DateimanagerProfilnameDateimanager-Pfad
@@ -434,13 +466,14 @@
Drücken Sie einen benutzerdefinierten Hotkey, um Flow Launcher zu öffnen und die spezifizierte Abfrage automatisch einzugeben.VorschauHotkey ist nicht verfügbar, bitte wählen Sie einen neuen Hotkey aus
- Plug-in-Hotkey ungültig
+ Hotkey is invalidAktualisierenBindung HotkeyAktueller Hotkey ist nicht verfügbar.Dieser Hotkey ist für "{0}" reserviert und kann nicht verwendet werden. Bitte wählen Sie einen anderen Hotkey.Dieser Hotkey ist bereits in Verwendung von "{0}". Wenn Sie "Überschreiben" drücken, wird dieser aus "{0}" entfernt.Drücken Sie die Tasten, die Sie für diese Funktion verwenden möchten.
+ Hotkey and action keyword are emptyBenutzerdefinierter Abfrage-Shortcut
@@ -451,6 +484,7 @@ Wenn Sie bei der Eingabe eines Shortcuts ein '@'-Präfix hinzufügen, stimmt die
Shortcut ist bereits vorhanden, bitte geben Sie einen neuen Shortcut ein oder bearbeiten Sie den vorhandenen.Shortcut und/oder dessen Erweiterung ist leer.
+ Shortcut is invalidSpeichern
diff --git a/Flow.Launcher/Languages/en.xaml b/Flow.Launcher/Languages/en.xaml
index c273b7470..ad7c98ecb 100644
--- a/Flow.Launcher/Languages/en.xaml
+++ b/Flow.Launcher/Languages/en.xaml
@@ -12,7 +12,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -106,6 +106,19 @@
RegularSearch with PinyinAllows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese.
+ Use Double Pinyin
+ Allows using Double Pinyin to search. Double Pinyin is a variation of Pinyin that uses two characters.
+ Double Pinyin Schema
+ Xiao He
+ Zi Ran Ma
+ Wei Ruan
+ Zhi Neng ABC
+ Zi Guang Pin Yin
+ Pin Yin Jia Jia
+ Xing Kong Jian Dao
+ Da Niu
+ Xiao Lang
+
Always PreviewAlways open preview panel when Flow activates. Press {0} to toggle preview.Shadow effect is not allowed while current theme has blur effect enabled
@@ -415,7 +428,7 @@
Select File ManagerLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.File ManagerProfile NameFile Manager Path
@@ -466,13 +479,14 @@
Press a custom hotkey to open Flow Launcher and input the specified query automatically.PreviewHotkey is unavailable, please select a new hotkey
- Invalid plugin hotkey
+ Hotkey is invalidUpdateBinding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyCustom Query Shortcut
@@ -481,6 +495,7 @@
Shortcut already exists, please enter a new Shortcut or edit the existing one.Shortcut and/or its expansion is empty.
+ Shortcut is invalidSave
diff --git a/Flow.Launcher/Languages/es-419.xaml b/Flow.Launcher/Languages/es-419.xaml
index dd654d090..814cea882 100644
--- a/Flow.Launcher/Languages/es-419.xaml
+++ b/Flow.Launcher/Languages/es-419.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesSearch Plugin
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginTienda de Plugins
@@ -191,6 +201,28 @@
New VersionThis plugin has been updated within the last 7 daysNew Update is Available
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathTema
@@ -383,7 +415,7 @@
Seleccionar Gestor de ArchivosLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Gestor de ArchivosNombre de PerfilRuta del Gestor de Archivos
@@ -434,13 +466,14 @@
Presione la tecla de acceso personalizada para insertar automáticamente la consulta especificada.Vista previaTecla no disponible, por favor seleccione una nueva tecla de acceso directo
- Tecla de acceso directo al plugin inválida
+ Hotkey is invalidActualizarBinding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyCustom Query Shortcut
@@ -451,6 +484,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
Shortcut already exists, please enter a new Shortcut or edit the existing one.Shortcut and/or its expansion is empty.
+ Shortcut is invalidGuardar
diff --git a/Flow.Launcher/Languages/es.xaml b/Flow.Launcher/Languages/es.xaml
index 0df1e26f9..c65773212 100644
--- a/Flow.Launcher/Languages/es.xaml
+++ b/Flow.Launcher/Languages/es.xaml
@@ -8,7 +8,7 @@
Por favor, seleccione el ejecutable {0}
- El ejecutable {0} seleccionado no es válido.
+ El ejecutable seleccionado {0} no es válido.
{2}{2}
Pulsar Sí, si desea seleccionar de nuevo el ejecutable {0}. Pulsar No, si desea descargar {1}
@@ -138,6 +138,10 @@
Esto solo se puede editar si el complemento soporta la función de Inicio y la Página de Inicio está activada.Mostrar ventana de búsqueda en primer planoAnula el ajuste «Siempre arriba» de otros programas y muestra Flow en primer plano.
+ Reiniciar después de modificar el complemento a través de la Tienda de complementos
+ Reiniciar Flow Launcher automáticamente después de instalar/desinstalar/actualizar el complemento a través de la Tienda de complementos
+ Mostrar advertencia de fuente desconocida
+ Mostrar advertencia al instalar complementos desde fuentes desconocidasBuscar complemento
@@ -176,6 +180,12 @@
Complementos: {0} - Fallo al eliminar los archivos de configuración del complemento, por favor elimínelos manualmenteFallo al eliminar la caché del complementoComplementos: {0} - Fallo al eliminar los archivos de caché del complemento, por favor elimínelos manualmente
+ {0} ya está modificado
+ Reiniciar Flow antes de realizar más cambios
+ No se pudo instalar {0}
+ No se pudo desinstalar {0}
+ No se puede encontrar plugin.json en el archivo zip extraído, o esta ruta {0} no existe
+ Ya existe un complemento con el mismo ID y versión, o la versión es superior a la de este complemento descargadoTienda complementos
@@ -191,6 +201,28 @@
Nueva versiónEste complemento ha sido actualizado en los últimos 7 díasNueva actualización disponible
+ Error al instalar el complemento
+ Error al desinstalar el complemento
+ Error al actualizar el complemento
+ Mantener la configuración del complemento
+ ¿Desea mantener la configuración del complemento para el próximo uso?
+ Complemento {0} instalado correctamente. Por favor, reinicie Flow.
+ Complemento {0} desinstalado correctamente. Por favor, reinicie Flow.
+ Complemento {0} actualizado correctamente. Por favor, reinicie Flow.
+ Instalar complemento
+ {0} por {1} {2}{2}¿Desea instalar este complemento?
+ Desinstalar complemento
+ {0} por {1} {2}{2}¿Desea desinstalar este complemento?
+ Actualizar complemento
+ {0} por {1} {2}{2}¿Desea actualizar este complemento?
+ Descargando complemento
+ Reiniciar automáticamente después de instalar/desinstalar/actualizar complementos en la Tienda de complementos
+ El archivo Zip no tiene una configuración de plugin.json válida
+ Instalando desde una fuente desconocida
+ ¡Este complemento es de una fuente desconocida y puede contener riesgos potenciales!{0}{0}Asegúrese de entender de dónde proviene este complemento y que es seguro.{0}{0}¿Desea continuar aún?{0}{0}(Puede desactivar esta advertencia en la sección general de la ventana de configuración)
+ Archivos Zip
+ Por favor, seleccione archivo zip
+ Instalar complemento desde la ruta localTema
@@ -434,13 +466,14 @@
Pulse el atajo de teclado personalizado para abrir Flow Launcher y realizar automáticamente la consulta especificada.Vista previaEl atajo de teclado no está disponible, por favor seleccione uno nuevo
- Atajo de teclado de complemento no válido
+ La tecla de acceso rápido no es válidaActualizarAtajo de teclado vinculadoEl atajo de teclado actual no está disponible.Este atajo de teclado está reservado para "{0}" y no se puede utilizar. Por favor, elija otro atajo de teclado.Este atajo de teclado ya está siendo utilizado por "{0}". Si pulsa «Sobrescribir», se eliminará de "{0}".Pulsar las teclas que se deseen utilizar para esta función.
+ La tecla de acceso rápido y la palabra clave de acción están vacíasAcceso directo de consulta personalizada
@@ -451,6 +484,7 @@ Si añade un prefijo "@" al introducir un acceso directo, éste coinci
El acceso directo ya existe, por favor introduzca uno nuevo o edite el existente.El acceso directo y/o su expansión están vacíos.
+ El acceso directo no es válidoGuardar
diff --git a/Flow.Launcher/Languages/fr.xaml b/Flow.Launcher/Languages/fr.xaml
index f5f624cfd..52013a7db 100644
--- a/Flow.Launcher/Languages/fr.xaml
+++ b/Flow.Launcher/Languages/fr.xaml
@@ -8,9 +8,9 @@
Veuillez sélectionner l'exécutable {0}
- L'exécutable {0} que vous avez sélectionné est invalide.
+ L'exécutable {0} que vous avez sélectionné n'est pas valide.
{2}{2}
- Cliquez sur oui si vous souhaitez sélectionner l'exécutable {0} à nouveau. Cliquez sur non si vous souhaitez télécharger {1}.
+ Cliquez sur oui si vous souhaitez sélectionner à nouveau l'exécutable {0}. Cliquez sur non si vous souhaitez télécharger {1}
Impossible de définir {0} comme chemin d'accès vers l'exécutable. Veuillez essayer à partir des paramètres de Flow (défiler vers le bas).Échec de l'initialisation des plugins
@@ -138,6 +138,10 @@
Ceci ne peut être édité que si le plugin prend en charge la fonction Accueil et que la page d'accueil est activée.Afficher la fenêtre de recherche en premier planOutrepasse le paramètre 'toujours en premier plan' des autres programmes et affiche Flow Launcher en première position.
+ Redémarrer après modification du plugin via le magasin des plugins
+ Redémarrez automatiquement Flow Launcher après l'installation / désinstallation / mise à jour du plugin via le magasin des plugins
+ Afficher l'avertissement de source inconnue
+ Afficher un avertissement lors de l'installation de plugins à partir de sources inconnuesRechercher des plugins
@@ -176,6 +180,12 @@
Plugins : {0} - Échec de la suppression des fichiers de configuration des plugins, veuillez les supprimer manuellementÉchec de la suppression du cache du pluginPlugins : {0} - Échec de la suppression des fichiers cache des plugins, veuillez les supprimer manuellement
+ {0} est déjà modifié
+ Veuillez redémarrer Flow avant d'apporter d'autres modifications
+ Échec de l'installation de {0}
+ Échec de la désinstallation de {0}
+ Impossible de trouver le fichier plugin.json dans le fichier zip extrait, ou ce chemin {0} n'existe pas
+ Un plugin avec le même ID et la même version existe déjà, ou la version est supérieure à ce plugin téléchargéMagasin des Plugins
@@ -191,6 +201,28 @@
Nouvelle versionCette extension a été mis à jour au cours des 7 derniers joursUne nouvelle mise à jour est disponible
+ Erreur lors de l'installation du plugin
+ Erreur lors de la désinstallation du plugin
+ Erreur de mise à jour du plugin
+ Garder les paramètres du plugin
+ Souhaitez-vous conserver les paramètres du plugin pour la prochaine utilisation ?
+ Plugin {0} installé avec succès. Veuillez redémarrer Flow.
+ Plugin {0} désinstallé avec succès. Veuillez redémarrer Flow.
+ Plugin {0} mis à jour avec succès. Veuillez redémarrer Flow.
+ Installation du plugin
+ {0} par {1} {2}{2}Voulez-vous installer ce plugin ?
+ Désinstallation du plugin
+ {0} par {1} {2}{2}Voulez-vous désinstaller ce plugin ?
+ Mise à jour du plugin
+ {0} par {1} {2}{2}Voulez-vous mettre à jour ce plugin ?
+ Téléchargement du plugin
+ Redémarrer automatiquement après l'installation / désinstallation / mise à jour des plugins dans le magasin des plugins
+ Le fichier zip n'a pas de configuration plugin.json valide
+ Installation depuis une source inconnue
+ Ce plugin provient d'une source inconnue et il peut contenir des risques !{0}{0}Veuillez vous assurer de comprendre d'où vient ce plugin et qu'il est sûr. {0} {0} Souhaitez-vous continuer ? {0} {0} (vous pouvez désactiver cet avertissement dans la section général des paramètres)
+ Fichiers zip
+ Veuillez sélectionner un fichier zip
+ Installer le plugin depuis le chemin localThèmes
@@ -382,7 +414,7 @@
Sélectionner le gestionnaire de fichiersEn savoir plusVeuillez spécifier l'emplacement du fichier de l'explorateur de fichiers que vous utilisez et ajouter des arguments si nécessaire. Le "%d" représente le chemin du répertoire à ouvrir, utilisé par le champ Arg for Folder et pour les commandes ouvrant des répertoires spécifiques. Le "%f" représente le chemin du fichier à ouvrir, utilisé par le champ Arg for File et pour les commandes ouvrant des fichiers spécifiques.
- Par exemple, si l'explorateur de fichiers utilise une commande telle que "totalcmd.exe /A c:\windows" pour ouvrir le répertoire c:\windows, le chemin de l'explorateur de fichiers sera totalcmd.exe et l'argument Arg For Folder sera /A "%d"". Certains explorateurs de fichiers comme QTTabBar peuvent simplement nécessiter qu'un chemin soit fourni, dans ce cas, utilisez "%d" comme chemin de l'explorateur de fichiers et laissez le reste des fichiers vides.
+ Par exemple, si le gestionnaire de fichiers utilise une commande telle que "totalcmd.exe /A c:\windows" pour ouvrir le répertoire c:\windows, le chemin du gestionnaire de fichiers sera totalcmd.exe, et le chemin du dossier sera /A "%d". Certains gestionnaires de fichiers, comme QTTabBar, peuvent se contenter d'un simple chemin d'accès. Dans ce cas, utilisez "%d" comme chemin d'accès au gestionnaire de fichiers et laissez le reste des champs vides.Gestionnaire de fichiersNom du profilChemin du gestionnaire de fichiers
@@ -433,13 +465,14 @@
Appuyez sur le raccourci personnalisé pour insérer automatiquement la requête spécifiée.PrévisualiserRaccourci indisponible. Veuillez en choisir un autre.
- Raccourci invalide
+ La touche de raccourci n'est pas valideActualiserRaccourci de liaisonLe raccourci clavier actuel n'est pas disponible.Ce raccourci est réservé à "{0}" et ne peut pas être utilisé. Veuillez choisir un autre raccourci clavier.Ce raccourci est déjà utilisé par "{0}". Si vous appuyez sur "Écraser", il sera supprimé de "{0}".Appuyez sur les touches que vous voulez utiliser pour cette fonction.
+ Les touches de raccourci et les mots-clés d'action sont videsRaccourci de requête personnalisée
@@ -450,6 +483,7 @@ Si vous ajoutez un préfixe "@" lors de la saisie d'un raccourci, celu
Le raccourci existe déjà, veuillez entrer un nouveau raccourci ou modifier le raccourci existant.Raccourci et/ou son expansion est vide.
+ Le raccourci n'est pas valideSauvegarder
diff --git a/Flow.Launcher/Languages/he.xaml b/Flow.Launcher/Languages/he.xaml
index 17c8152a0..b72125214 100644
--- a/Flow.Launcher/Languages/he.xaml
+++ b/Flow.Launcher/Languages/he.xaml
@@ -8,9 +8,9 @@
אנא בחר את קובץ ההפעלה {0}
- קובץ ההפעלה {0} שבחרת אינו חוקי.
+ Your selected {0} executable is invalid.
{2}{2}
- לחץ על כן אם ברצונך, בחר את {0} ההפעלה הקודמת. לחץ על לא אם ברצונך להוריד את {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
לא ניתן להגדיר נתיב הפעלה {0}, אנא נסה שוב בהגדרות Flow (גלול עד למטה).נכשל בהפעלת תוספים
@@ -137,6 +137,10 @@
ניתן לערוך זאת רק אם התוסף תומך בתכונת הבית ודף הבית מופעל.Show Search Window at Foremostעוקף את הגדרת תמיד עליון של תוכנות אחרות, ומציג את Flow במיקום הגבוה ביותר.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesחפש תוסף
@@ -175,6 +179,12 @@
תוספים: {0} - נכשל בהסרת קבצי הגדרות התוסף, יש להסירם ידניתנכשל בהסרת מטמון התוסףתוספים: {0} - נכשל בהסרת קובצי מטמון התוסף, אנא הסר אותם ידנית
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginחנות תוספים
@@ -190,6 +200,28 @@
גרסה חדשהתוסף זה עודכן במהלך 7 הימים האחרוניםעדכון חדש זמין
+ שגיאה בהתקנת תוסף
+ שגיאה בהסרת תוסף
+ Error updating plugin
+ שמור הגדרות תוסף
+ האם ברצונך לשמור את הגדרות התוסף לשימוש הבא?
+ התוסף {0} הותקן בהצלחה. נא הפעל מחדש את Flow.
+ התוסף {0} הוסר בהצלחה. נא הפעל מחדש את Flow.
+ התוסף {0} עודכן בהצלחה. נא הפעל מחדש את Flow.
+ Plugin install
+ {0} מאת {1} {2}{2}האם ברצונך להתקין תוסף זה?
+ Plugin uninstall
+ {0} מאת {1} {2}{2}האם ברצונך להסיר תוסף זה?
+ Plugin update
+ {0} מאת {1} {2}{2}האם ברצונך לעדכן תוסף זה?
+ מוריד תוסף
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ מתקין ממקור לא מוכ
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathערכת נושא
@@ -382,7 +414,7 @@
בחר מנהל קבציםלמד עודאנא ציין את מיקום הקובץ של מנהל הקבצים שבו אתה משתמש והוסף ארגומנטים כנדרש. "%d" מייצג את נתיב התיקייה שיש לפתוח, ומשמש בשדה ארגומנט לתיקייה ובפקודות לפתיחת תיקיות מסוימות. "%f" מייצג את נתיב הקובץ שיש לפתוח, ומשמש בשדה ארגומנט לקובץ ובפקודות לפתיחת קבצים מסוימים.
- לדוגמה, אם מנהל הקבצים משתמש בפקודה כגון "totalcmd.exe /A c:\windows" כדי לפתוח את התיקייה c:\windows, נתיב מנהל הקבצים יהיה totalcmd.exe, והארגומנט לתיקייה יהיה /A "%d". מנהלי קבצים מסוימים, כגון QTTabBar, עשויים לדרוש רק ציון נתיב, במקרה כזה השתמש ב-"%d" כנתיב מנהל הקבצים והשאר את שאר השדות ריקים.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.מנהל קבציםשם פרופילנתיב מנהל קבצים
@@ -433,13 +465,14 @@
הקש על מקש קיצור מותאם אישית כדי לפתוח את Flow Launcher ולהזין את השאילתה שצוינה באופן אוטומטי.תצוגה מקדימהמקש הקיצור אינו זמין, אנא בחר מקש קיצור חדש
- מקש קיצור לא חוקי לתוסף
+ Hotkey is invalidעדכוןשיוך מקש קיצורמקש הקיצור הנוכחי אינו זמין.מקש קיצור זה שמור עבור "{0}" ואינו ניתן לשימוש. אנא בחר מקש קיצור אחר.מקש קיצור זה כבר נמצא בשימוש על ידי "{0}". אם תלחץ על "החלף", הוא יוסר מ-"{0}".הקש על המקשים שברצונך להשתמש בהם עבור פעולה זו.
+ Hotkey and action keyword are emptyקיצור דרך לשאילתה מותאמת אישית
@@ -450,6 +483,7 @@
קיצור דרך כבר קיים, אנא הזן קיצור דרך חדש או ערוך את הקיים.קיצור הדרך ו/או ההרחבה שלו ריקים.
+ Shortcut is invalidשמור
diff --git a/Flow.Launcher/Languages/it.xaml b/Flow.Launcher/Languages/it.xaml
index ef6b50e7d..83867d00e 100644
--- a/Flow.Launcher/Languages/it.xaml
+++ b/Flow.Launcher/Languages/it.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesPlugin di ricerca
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginNegozio dei Plugin
@@ -191,6 +201,28 @@
Nuova versioneQuesto plugin è stato aggiornato negli ultimi 7 giorniNuovo aggiornamento disponibile
+ Errore durante l'installazione del plugin
+ Errore durante la disinstallazione del plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Il plugin {0} installato con successo. Riavviare Flow.
+ Il plugin {0} disinstallato con successo. Riavviare Flow.
+ Il plugin {0} aggiornato con successo. Riavviare Flow.
+ Plugin install
+ {0} di {1} {2}{2}Vuoi installare questo plugin?
+ Plugin uninstall
+ {0} di {1} {2}{2}Vuoi disinstallare questo plugin?
+ Plugin update
+ {0} di {1} {2}{2}Vuoi aggiornare questo plugin?
+ Download del plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installazione da una fonte sconosciuta
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathTema
@@ -383,7 +415,7 @@
Seleziona Gestore FileLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Gestore FileNome ProfiloPercorso Gestore File
@@ -434,13 +466,14 @@
Premere un tasto di scelta rapida personalizzato per aprire Flow Launcher e inserire automaticamente la query specificata.AnteprimaTasto di scelta rapida non disponibile, per favore scegli un nuovo tasto di scelta rapida
- Tasto di scelta rapida plugin non valido
+ Hotkey is invalidAggiornaRegistrare ScorciatoieScorciatoia corrente non disponibile.Questa scorciatoia è riservata per "{0}" e non può essere utilizzata. Si prega di scegliere un'altra scorciatoia.Questa scorciatoia è già in uso da "{0}". Premendo "Sovrascrivi", verrà rimossa da "{0}".Premi i tasti che vuoi usare per questa funzione.
+ Hotkey and action keyword are emptyScorciatoia per ricerca personalizzata
@@ -451,6 +484,7 @@ Se si aggiunge un prefisso '@' mentre si inserisce una scorciatoia, corrisponde
La scorciatoia esiste già, inserisci una nuova scorciatoia o modifica quella esistente.La scorciatoia e/o la sua espansione sono vuote.
+ Shortcut is invalidSalva
diff --git a/Flow.Launcher/Languages/ja.xaml b/Flow.Launcher/Languages/ja.xaml
index c1ce0ce96..22451ed27 100644
--- a/Flow.Launcher/Languages/ja.xaml
+++ b/Flow.Launcher/Languages/ja.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesSearch Plugin
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginプラグインストア
@@ -191,6 +201,28 @@
New VersionThis plugin has been updated within the last 7 days新しいアップデートが利用可能です
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathテーマ
@@ -383,7 +415,7 @@
デフォルトのファイルマネージャーLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.File ManagerProfile NameFile Manager Path
@@ -434,13 +466,14 @@
Press a custom hotkey to open Flow Launcher and input the specified query automatically.プレビューホットキーは使用できません。新しいホットキーを選択してください
- プラグインホットキーは無効です
+ Hotkey is invalid更新Binding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyカスタムクエリショートカット
@@ -451,6 +484,7 @@
ショートカットが既に存在します。新しいショートカットを入力するか、既存のショートカットを編集してください。ショートカット、展開の少なくとも一方が空です。
+ Shortcut is invalid保存
diff --git a/Flow.Launcher/Languages/ko.xaml b/Flow.Launcher/Languages/ko.xaml
index 942b48966..b0c13d2e6 100644
--- a/Flow.Launcher/Languages/ko.xaml
+++ b/Flow.Launcher/Languages/ko.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -129,6 +129,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sources플러그인 검색
@@ -167,6 +171,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded plugin플러그인 스토어
@@ -182,6 +192,28 @@
새 버전이 플러그인은 최근 7일 사이 업데이트 되었습니다새 업데이트 설치 가능
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ 플러그인 다운로드 중
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local path테마
@@ -374,7 +406,7 @@
파일관리자 선택더 알아보기사용 중인 파일 관리자의 파일 위치를 지정하고, 필요한 경우 인수를 추가하세요. "%d"는 열고자 하는 디렉터리 경로를 나타내며, 폴더용 인수 필드 및 특정 디렉터리를 여는 명령어에서 사용됩니다. "%f"는 열고자 하는 파일 경로를 나타내며, 파일용 인수 필드 및 특정 파일을 여는 명령어에서 사용됩니다.
- 예를 들어, 파일 관리자가 totalcmd.exe /A c:\windows와 같은 명령어로 c:\windows 디렉터리를 연다면, 파일 관리자 경로는 totalcmd.exe가 되고, 폴더용 인수는 /A "%d"가 됩니다. QTTabBar와 같은 일부 파일 관리자는 경로만 전달하면 되는 경우가 있으므로, 이 경우에는 파일 관리자 경로에 "%d"를 입력하고 나머지 필드는 비워두세요.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.파일관리자프로필 이름파일관리자 경로
@@ -425,13 +457,14 @@
Press a custom hotkey to open Flow Launcher and input the specified query automatically.미리보기단축키를 사용할 수 없습니다. 다른 단축키를 입력하세요.
- 플러그인 단축키가 유효하지 않습니다.
+ Hotkey is invalid업데이트Binding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".이 기능에 사용할 키를 눌러주세요.
+ Hotkey and action keyword are empty사용자 지정 쿼리 단축어
@@ -442,6 +475,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
Shortcut already exists, please enter a new Shortcut or edit the existing one.Shortcut and/or its expansion is empty.
+ Shortcut is invalid저장
diff --git a/Flow.Launcher/Languages/nb.xaml b/Flow.Launcher/Languages/nb.xaml
index ab4af3bcb..c3879e203 100644
--- a/Flow.Launcher/Languages/nb.xaml
+++ b/Flow.Launcher/Languages/nb.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Kan ikke angi {0} kjørbar bane, prøv fra Flows innstillinger (bla ned til bunnen).Mislykkes i å initialisere programtillegg
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesSøk etter programtillegg
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginProgramtillegg butikk
@@ -191,6 +201,28 @@
Ny versjonDette programtillegget er oppdatert i løpet av de siste 7 dageneNy oppdatering er tilgjengelig
+ Feil ved installering av programtillegg
+ Feil ved avinstallering av programtillegg
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Programtillegg {0} installert. Vennligst start Flow på nytt.
+ Programtillegg {0} avinstallert. Vennligst start Flow på nytt.
+ Programtillegg {0} oppdatert. Vennligst restart Flow.
+ Plugin install
+ {0} av {1} {2}{2}Vil du installere dette programtillegget?
+ Plugin uninstall
+ {0} av {1} {2}{2}Vil du avinstallere dette programtillegget?
+ Plugin update
+ {0} av {1} {2}{2}Vil du oppdatere dette programtillegget?
+ Laster ned programtillegg
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installerer fra en ukjent kilde
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathDrakt
@@ -383,7 +415,7 @@
Velg filbehandlerLearn moreVennligst spesifiser filplasseringen til filbehandleren du bruker, og legg til argumenter etter behov. "%d" representerer katalogbanen som skal åpnes for, brukt av Arg for mappe-feltet og for kommandoer som åpner spesifikke kataloger. "%f" representerer filbanen som skal åpnes for, brukt av Arg for fil-feltet og for kommandoer som åpner spesifikke filer.
- For eksempel, hvis filbehandleren bruker en kommando som "totalcmd.exe /A c:windows" for å åpne c:windows-katalogen, vil filbehandlingsbanen bli totalcmd.exe, og Arg For Folder vil være /A "%d". Enkelte filbehandlere som QTTabBar kan bare kreve at en bane oppgis, i dette tilfellet bruker du "%d" som filbehandlingsbane og lar resten av feltene stå tomme.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.FilbehandlerProfilnavnFilbehandler sti
@@ -434,13 +466,14 @@
Trykk på en egendefinert hurtigtast for å åpne Flow Launcher og skrive inn den angitte spørringen automatisk.ForhåndsvisHurtigtast er utilgjengelig, vennligst velg en ny hurtigtast
- Ugyldig hurtigtast for programtillegg
+ Hotkey is invalidOppdaterBinding av hurtigtastNåværende hurtigtast er utilgjengelig.Denne hurtigtasten er reservert for "{0}" og kan ikke brukes. Velg en annen hurtigtast.Denne hurtigtasten er allerede i bruk av "{0}". Hvis du trykker "Overskriv" vil den bli fjernet fra "{0}".Trykk på tastene du vil bruke for denne funksjonen.
+ Hotkey and action keyword are emptySnarvei for egendefinert spørring
@@ -451,6 +484,7 @@ Hvis du legger til et @-prefiks mens du legger inn en snarvei, samsvarer det med
Snarveien eksisterer allerede, skriv inn en ny snarvei eller rediger den eksisterende.Snarvei og/eller utvidelsen er tom.
+ Shortcut is invalidLagre
diff --git a/Flow.Launcher/Languages/nl.xaml b/Flow.Launcher/Languages/nl.xaml
index 878851d15..96a7e43dd 100644
--- a/Flow.Launcher/Languages/nl.xaml
+++ b/Flow.Launcher/Languages/nl.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesPlug-ins zoeken
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginPlugin Winkel
@@ -191,6 +201,28 @@
Nieuwe VersieDeze plug-in is in de laatste 7 dagen bijgewerktNieuwe update beschikbaar
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathThema
@@ -383,7 +415,7 @@
Bestandsbeheerder selecterenLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.BestandsbeheerderProfielnaamBestandsbeheerder pad
@@ -434,13 +466,14 @@
Druk op een aangepaste sneltoets om Flow Launcher te openen en de opgegeven query automatisch in te voeren.VoorbeeldSneltoets is niet beschikbaar, selecteer een nieuwe sneltoets
- Ongeldige plugin sneltoets
+ Hotkey is invalidBijwerkenSneltoets koppelenHuidige sneltoets is niet beschikbaar.Deze sneltoets is gereserveerd voor "{0}" en kan niet worden gebruikt. Kies een andere sneltoets.Deze sneltoets is al in gebruik door "{0}". Als u op "Overschrijven" klikt, zal deze verwijderd worden uit "{0}".Druk op de toetsen die u wilt gebruiken voor deze functie.
+ Hotkey and action keyword are emptyAangepaste Query Snelkoppeling
@@ -451,6 +484,7 @@ Als u een '@' voorvoegsel toevoegt tijdens het invoeren van een snelkoppeling, m
Snelkoppeling bestaat al, vul een nieuwe snelkoppeling in of pas de bestaande aan.Snelkoppeling en/of uitbreiding is leeg.
+ Shortcut is invalidOpslaan
diff --git a/Flow.Launcher/Languages/pl.xaml b/Flow.Launcher/Languages/pl.xaml
index c14148ddd..ff3c548ad 100644
--- a/Flow.Launcher/Languages/pl.xaml
+++ b/Flow.Launcher/Languages/pl.xaml
@@ -8,9 +8,9 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
Wybierz plik wykonywalny {0}
- Wybrany plik wykonywalny {0} jest nieprawidłowy.
+ Your selected {0} executable is invalid.
{2}{2}
- Kliknij Tak, jeśli chcesz ponownie wybrać plik wykonywalny {0}. Kliknij Nie, jeśli chcesz pobrać {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Nie można ustawić ścieżki do pliku wykonywalnego {0}. Spróbuj ponownie w ustawieniach Flow (przewiń na sam dół).Nie udało się zainicjować wtyczek
@@ -137,6 +137,10 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
Można edytować tylko wtedy, gdy wtyczka obsługuje funkcję Strona główna i jest ona włączona.Wyświetl okno wyszukiwania na wierzchuWyświetl okno wyszukiwania ponad innymi oknami
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesSzukaj wtyczek
@@ -175,6 +179,12 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
Wtyczki: {0} – nie udało się usunąć plików ustawień wtyczek, usuń je ręcznieNie udało się usunąć cache wtyczkiWtyczki: {0} - Nie udało się usunąć plików cache wtyczki, usuń je ręcznie
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginSklep z wtyczkami
@@ -190,6 +200,28 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
Nowa wersjaTa wtyczka została zaktualizowana w ciągu ostatnich 7 dniAktualizacja jest dostępna
+ Błąd podczas instalacji wtyczki
+ Błąd podczas odinstalowywania wtyczki
+ Error updating plugin
+ Zachowaj ustawienia wtyczki
+ Czy chcesz zachować ustawienia wtyczki do następnego użycia?
+ Wtyczka {0} została pomyślnie zainstalowana. Proszę ponownie uruchomić Flow.
+ Wtyczka {0} została pomyślnie odinstalowana. Proszę ponownie uruchomić Flow.
+ Wtyczka {0} została pomyślnie zaktualizowana. Proszę ponownie uruchomić Flow.
+ Plugin install
+ {0} autorstwa {1} {2}{2}Czy chcesz zainstalować tę wtyczkę?
+ Plugin uninstall
+ {0} autorstwa {1} {2}{2}Czy chcesz odinstalować tę wtyczkę?
+ Plugin update
+ {0} autorstwa {1} {2}{2}Czy chcesz zaktualizować tę wtyczkę?
+ Pobieranie wtyczki
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Instalowanie z nieznanego źródła
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathMotyw
@@ -382,7 +414,7 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
Wybierz menedżer plikówWięcej informacjiProszę określić lokalizację pliku menedżera plików, którego używasz i dodać argumenty według potrzeb. Symbol "%d" reprezentuje ścieżkę katalogu do otwarcia, używaną w polu Arg dla Folderu oraz dla poleceń otwierających konkretne katalogi. Symbol "%f" reprezentuje ścieżkę pliku do otwarcia, używaną w polu Arg dla Pliku oraz dla poleceń otwierających konkretne pliki.
- Na przykład, jeśli menedżer plików używa polecenia takiego jak „totalcmd.exe /A c:\windows" do otwarcia katalogu c:\windows, Ścieżka Menedżera Plików będzie totalcmd.exe, a Argument dla Folderu będzie /A "%d". Niektóre menedżery plików, takie jak QTTabBar, mogą wymagać jedynie podania ścieżki; w takim przypadku użyj "%d" jako Ścieżki Menedżera Plików, a pozostałe pola pozostaw puste.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Menedżer plikówNazwa profiluŚcieżka menedżera plików
@@ -433,13 +465,14 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
Naciśnij niestandardowy klawisz skrótu, aby otworzyć Flow Launcher i automatycznie wprowadzić określone zapytanie.PodglądSkrót klawiszowy jest niedostępny, musisz podać inny skrót klawiszowy
- Niepoprawny skrót klawiszowy
+ Hotkey is invalidAktualizujPrzypisywanie skrótówBieżący skrót klawiszowy jest niedostępny.Ten skrót klawiszowy jest zarezerwowany dla "{0}" i nie może być użyty. Proszę wybrać inny skrót.Ten skrót klawiszowy jest już używany przez "{0}". Jeśli naciśniesz "Nadpisz", zostanie on usunięty z "{0}".Naciśnij klawisze, których chcesz użyć dla tej funkcji.
+ Hotkey and action keyword are emptyNiestandardowy skrót zapytania
@@ -450,6 +483,7 @@ Jeśli dodasz prefiks '@' podczas wprowadzania skrótu, będzie on pasował do d
Skrót już istnieje, wprowadź nowy skrót lub edytuj istniejący.Skrót i/lub jego rozwinięcie jest puste.
+ Shortcut is invalidZapisz
diff --git a/Flow.Launcher/Languages/pt-br.xaml b/Flow.Launcher/Languages/pt-br.xaml
index f1cda48f0..fcdb14590 100644
--- a/Flow.Launcher/Languages/pt-br.xaml
+++ b/Flow.Launcher/Languages/pt-br.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesBuscar Plugin
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginLoja de Plugins
@@ -191,6 +201,28 @@
Nova VersãoEste plugin foi atualizado nos últimos 7 diasNova Atualização Disponível
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathTema
@@ -383,7 +415,7 @@
Selecione o Gerenciador de ArquivosLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Gerenciador de ArquivosNome do PerfilCaminho do Gerenciador de Arquivos
@@ -434,13 +466,14 @@
Aperte uma tecla de atalho personalizada para abrir o Flow Launcher e insira a pesquisa especificada automaticamente.PréviaAtalho indisponível, escolha outro
- Atalho de plugin inválido
+ Hotkey is invalidAtualizarBinding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyAtalho Personalidado de Pesquisa
@@ -451,6 +484,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
O atalho já existe, por favor, digite um novo atalho ou edite o existente.Atalho e/ou sua expansão está vazia.
+ Shortcut is invalidSalvar
diff --git a/Flow.Launcher/Languages/pt-pt.xaml b/Flow.Launcher/Languages/pt-pt.xaml
index c37bf2eb8..5d64d429f 100644
--- a/Flow.Launcher/Languages/pt-pt.xaml
+++ b/Flow.Launcher/Languages/pt-pt.xaml
@@ -8,9 +8,9 @@
Por favor, selecione o executável {0}
- O executável {0} é inválido.
+ Your selected {0} executable is invalid.
{2}{2}
- Clique Sim se quiser escolher o novo executável {0}. Clique Não se quiser descarregar {1}.
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Não foi possível definir o caminho do executável {0}. Experimente definir o caminho nas definições (desloque até ao fundo).Falha ao iniciar os plugins
@@ -137,6 +137,10 @@
Esta opção apenas pode ser editada se o plugin tiver suporte a Página inicial e se estiver ativo.Janela de pesquisa à frenteSobrepõe a definição 'Sempre na frente' das outras aplicações e mostra Flow Launcher à frente de qualquer janela.
+ Reiniciar após modificar o plugin via Loja de plugins
+ Reiniciar Flow Launcher após instalar/desinstalar/atualizar um plugin via Loja de plugins
+ Mostrar aviso de origem desconhecida
+ Mostrar aviso ao instalar plugins de origens desconhecidasPesquisar plugins
@@ -175,6 +179,12 @@
Plugin: {0} - Falha ao remover o ficheiro de definições do plugin. Experimente remover manualmente.Falha ao limpar a cache do pluginPlugin: {0} - Falha ao remover os ficheiros em cache do plugin. Experimente remover manualmente.
+ {0} já modificado
+ Reinicie Flow Launcher antes de fazer mais alterações
+ Falha ao instalar {0}
+ Falha ao desinstalar {0}
+ Não foi possível encontrar plugin.json no ficheiro zip ou, então, o caminho {0} não existe.
+ Já existe um plugin com a mesma ID e versão ou, então, a versão instalada é superior à do plugin descarregado.Loja de plugins
@@ -190,6 +200,28 @@
Nova versãoEste plugin foi atualizado nos últimos 7 diasAtualização disponível
+ Erro ao instalar o plugin
+ Erro ao desinstalar o plugin
+ Erro ao atualizar o plugin
+ Manter definições
+ Deseja manter as definições do plugin para o caso de o voltar a instalar?
+ Plugin {0} instalado com sucesso. Por favor, reinicie o Flow Launcher.
+ Plugin {0} desinstalado com sucesso. Por favor, reinicie o Flow Launcher.
+ Plugin {0} atualizado com sucesso. Por favor, reinicie o Flow Launcher.
+ Instalador de plugins
+ {0} de {1} {2}{2}Gostaria de instalar este plugin?
+ Desinstalador de plugins
+ {0} de {1} {2}{2}Gostaria de desinstalar este plugin?
+ Atualização de plugins
+ {0} de {1} {2}{2}Gostaria de atualizar este plugin?
+ Descarregar plugin
+ Reiniciar automaticamente após instalar/desinstalar/atualizar plugins via Loja de plugins
+ O ficheiro zip não possui uma configuração "plugin.json" válida
+ Instalar a partir de fontes desconhecidas
+ Este plugin provém de uma origem desconhecida e pode apresentar riscos!{0}{0}Certifique-se de que a origem é fiável e que o plugin é seguro.{0}{0}Deseja, ainda assim, continuar?{0}{0}Pode desativar este aviso na secção Geral das definições.
+ Ficheiros Zip
+ Selecione o ficheiro Zip
+ Instalar plugin de um caminho localTema
@@ -381,7 +413,7 @@
Selecione o gestor de ficheirosSaber maisPor favor, especifique a localização do executável do seu gestor de ficheiros e adicione os argumentos necessários. "%d" representa o caminho do diretório a abrir, usado pelo argumento do campo Pasta e para comandos que abrem diretórios específicos. "%f" representa o caminho do ficheiro a abrir, usado pelo argumento do campo Ficheiro e para comandos que abrem ficheiros específicos.
- Por exemplo, se o gestor de ficheiros utilizar o comando "totalcmd.exe /A c:\windows" para abrir o diretório c:\windows , o caminho para o gestor de ficheiros será totalcmd. exe e os argumentos para a Pasta serão /A "%d". Alguns gestores de ficheiros, como QTTabBar podem apenas exigir que especifique o caminho. Para estes, deve utilizar "%d" como caminho para o gestor de ficheiros e deixar o resto dos campos em branco.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Gestor de ficheirosNome do perfilCaminho do gestor de ficheiros
@@ -432,13 +464,14 @@
Prima uma tecla de atalho personalizada para abrir Flow Launcher e escrever automaticamente a pesquisa.AntevisãoTecla de atalho indisponível, por favor escolha outra
- Tecla de atalho inválida
+ Hotkey is invalidAtualizarAssociar tecla de atalhoA tecla de atalho atual não está disponível.Esta tecla de atalho está reservada para "{0}" e não pode ser usada. Por favor, escolha outra.Esta tecla de atalho está a ser utilizada por "{0}". Se escolher "Substituir", será removida de "{0}".Prima as teclas que pretende utilizar para esta função.
+ Hotkey and action keyword are emptyAtalho de consulta personalizada
@@ -449,6 +482,7 @@ Se adicionar o prefixo '@' durante a introdução do atalho, será utilizada qua
Este atallho já existe. Por favor escolha outro ou edite o existente.O atalho e/ou a expansão não estão preenchidos.
+ Shortcut is invalidGuardar
diff --git a/Flow.Launcher/Languages/ru.xaml b/Flow.Launcher/Languages/ru.xaml
index 81493ba08..aa4505580 100644
--- a/Flow.Launcher/Languages/ru.xaml
+++ b/Flow.Launcher/Languages/ru.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesПоиск плагина
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginМагазин плагинов
@@ -191,6 +201,28 @@
Новая версияЭтот плагин был обновлён за последние 7 днейДоступно новое обновление
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathТема
@@ -383,7 +415,7 @@
Выбор менеджера файловLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Файловый менеджерИмя профиляПуть к файловому менеджеру
@@ -434,13 +466,14 @@
Нажмите свою горячую клавишу, чтобы открыть Flow Launcher и автоматически ввести заданный запрос.ПредпросмотрГорячая клавиша недоступна. Пожалуйста, задайте новую
- Недействительная горячая клавиша плагина
+ Hotkey is invalidОбновитьBinding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyЯрлык пользовательского запроса
@@ -451,6 +484,7 @@
Ярлык уже существует, пожалуйста, введите новый ярлык или измените существующий.Ярлык и/или его расширение пусты.
+ Shortcut is invalidСохранить
diff --git a/Flow.Launcher/Languages/sk.xaml b/Flow.Launcher/Languages/sk.xaml
index 734dbe743..f7a2ce05a 100644
--- a/Flow.Launcher/Languages/sk.xaml
+++ b/Flow.Launcher/Languages/sk.xaml
@@ -138,6 +138,10 @@
Úprava je možná len vtedy, ak plugin podporuje funkciu Domovská stránka a Domovská stránka je povolená.Zobraziť vyhľadávacie okno v popredíPrepíše nastavenie "Vždy na vrchu" ostatných programov a zobrazí navrchu Flow.
+ Reštartovať po úprave pluginu cez Repozitár pluginov
+ Automaticky reštartovať Flow Launcher po inštalácii/odinštalácii/aktualizáciu pluginu cez Repozitár pluginov
+ Zobraziť upozornenie na neznámy zdroj
+ Zobraziť upozornenie pri inštalácii z neznámych zdrojovVyhľadať plugin
@@ -176,6 +180,12 @@
Pluginy: {0} – Nepodarilo sa odstrániť súbory s nastaveniami pluginu, odstráňte ich manuálneNepodarilo sa odstrániť vyrovnávaciu pamäť pluginuPluginy: {0} – Nepodarilo sa odstrániť vyrovnávaciu pamäť pluginu, odstráňte ju manuálne
+ Plugin {0} už bol upravený
+ Pred vykonaním ďalších zmien reštartujte Flow Launcher
+ Nepodarilo sa nainštalovať {0}
+ Nepodarilo sa odinštalovať {0}
+ Súbor plugin.json sa nenašiel v rozbalenom zip súbore, alebo táto cesta {0} neexistuje
+ Plugin s rovnakým ID už existuje, alebo ide o vyššiu verziu ako stiahnutý pluginRepozitár pluginov
@@ -191,6 +201,28 @@
Nová verziaTento plugin bol aktualizovaný za posledných 7 dníK dispozícii je nová aktualizácia
+ Chyba inštalácie pluginu
+ Chyba odinštalácie pluginu
+ Chyba aktualizácie pluginu
+ Ponechať nastavenia pluginu
+ Chcete zachovať nastavenia pluginu na ďalšie použitie?
+ Plugin {0} bol úspešne nainštalovaný. Prosím, reštartuje Flow.
+ Plugin {0} bol úspešne odinštalovaný. Prosím, reštartuje Flow.
+ Plugin {0} bol úspešne aktualizovaný. Prosím, reštartuje Flow.
+ Inštalácia pluginu
+ {0} od {1} {2}{2}Chcete nainštalovať tento plugin?
+ Odinštalácia pluginu
+ {0} od {1} {2}{2}Chcete odinštalovať tento plugin?
+ Aktualizácia pluginu
+ {0} od {1} {2}{2}Chcete aktualizovať tento plugin?
+ Sťahovanie pluginu
+ Automaticky reštartovať po inštalácii/odinštalácii/aktualizáciu pluginov cez Repozitár pluginov
+ V zipe sa nenachádza platná konfigurácia plugin.json
+ Inštalácia z neznámeho zdroja
+ Tento plugin pochádza z neznámeho zdroja a môže predstavovať potenciálne riziká!{0}{0}Uistite sa, že viete, odkiaľ tento plugin pochádza, a že je bezpečný.{0}{0}Stále chcete pokračovať?{0}{0}(Toto upozornenie môžete vypnúť sekcii Všeobecné v nastaveniach)
+ Zip súbory
+ Vyberte zip súbor
+ Inštalovať plugin z miestneho úložiskaMotív
@@ -434,13 +466,14 @@
Stlačením vlastnej klávesovej skratky otvoríte Flow Launcher a automaticky vložíte zadaný dotaz.NáhľadKlávesová skratka je nedostupná, prosím, zadajte novú skratku
- Neplatná klávesová skratka pluginu
+ Klávesová skratka je neplatnáAktualizovaťPriradenie klávesovej skratkyAktuálna klávesová skratka nie je k dispozícii.Táto skratka je rezervovaná pre "{0}" a nemôže byť použitá. Prosím, vyberte inú skratku.Táto skratka sa používa pre "{0}". Ak stlačíte "Prepísať", odstráni sa pre "{0}".Stlačte kláves, ktorý chcete nastaviť pre túto funkciu.
+ Klávesová skratka a aktivačný príkaz sú prázdneKlávesová skratka vlastného dopytu
@@ -451,6 +484,7 @@ Ak pri zadávaní skratky pred ňu pridáte "@", bude sa zhodovať s
Skratka už existuje, zadajte novú skratku alebo upravte existujúcu.Skratka a/alebo jej celé znenie je prázdne.
+ Skratka je neplatnáUložiť
diff --git a/Flow.Launcher/Languages/sr.xaml b/Flow.Launcher/Languages/sr.xaml
index 859fc27b8..16bd5aeb8 100644
--- a/Flow.Launcher/Languages/sr.xaml
+++ b/Flow.Launcher/Languages/sr.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesSearch Plugin
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginPlugin Store
@@ -191,6 +201,28 @@
New VersionThis plugin has been updated within the last 7 daysNew Update is Available
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathTema
@@ -383,7 +415,7 @@
Select File ManagerLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.File ManagerProfile NameFile Manager Path
@@ -434,13 +466,14 @@
Press a custom hotkey to open Flow Launcher and input the specified query automatically.PregledPrečica je nedustupna, molim Vas izaberite drugu prečicu
- Nepravlna prečica za plugin
+ Hotkey is invalidAžurirajBinding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyCustom Query Shortcut
@@ -451,6 +484,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
Shortcut already exists, please enter a new Shortcut or edit the existing one.Shortcut and/or its expansion is empty.
+ Shortcut is invalidSačuvaj
diff --git a/Flow.Launcher/Languages/tr.xaml b/Flow.Launcher/Languages/tr.xaml
index 6f3ded9e3..032891900 100644
--- a/Flow.Launcher/Languages/tr.xaml
+++ b/Flow.Launcher/Languages/tr.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesEklenti Ara
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginEklenti Mağazası
@@ -191,6 +201,28 @@
Yeni SürümBu eklenti son 7 gün içerisinde güncellenmiş.Yeni Bir Güncelleme Mevcut
+ Error installing plugin
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Downloading plugin
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathTemalar
@@ -383,7 +415,7 @@
Dosya Yöneticisi SeçenekleriDaha fazla bilgiPlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Dosya YöneticisiProfil AdıDosya Yöneticisi Yolu
@@ -434,13 +466,14 @@
Flow Launcher'ı açıp otomatik olarak girdiğiniz sorguyu aratması için bir kısayol atayın.ÖnizlemeKısayol tuşu kullanılamıyor, lütfen başka bir kombinasyon girin.
- Geçersiz eklenti kısayol tuşu
+ Hotkey is invalidGüncelleKısayol AtanıyorKullanılamıyorBu kısayol "{0}" için ayrılmıştır, lütfen başka bir kısayol deneyin.Bu kısayol zaten "{0}" için kullanılıyor. Eğer "Üstüne Yaz"'ı seçerseniz, "{0}" sorgusu bu kısayol ile kullanılamayacak.Bu işleve atamak istediğiniz kısayol tuşlarına basın.
+ Hotkey and action keyword are emptyÖzel Kısaltmalar
@@ -449,6 +482,7 @@
Anahtar kelime zaten mevcut. Yeni bir kısaltma girin veya mevcut kısaltmayı düzenleyin.Kısaltma ve/veya sorgu eksik.
+ Shortcut is invalidKaydet
diff --git a/Flow.Launcher/Languages/uk-UA.xaml b/Flow.Launcher/Languages/uk-UA.xaml
index 1f15ed7b5..c5dcd3e28 100644
--- a/Flow.Launcher/Languages/uk-UA.xaml
+++ b/Flow.Launcher/Languages/uk-UA.xaml
@@ -8,9 +8,9 @@
Будласка оберіть виконуваник {0}
- Your selected {0} executable is invalid.
+ Ви вибрали невірний виконуваний файл {0}.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Щоб знову вибрати виконуваний файл {0}, натисніть «Так». Натисніть «Ні», щоб завантажити {1}
Не вдається встановити шлях до виконуваника {0}, будласка спробуйте в налаштуваннях Flow (прокрутіть вниз до кінця).Невдача ініціалізації плагінів
@@ -18,7 +18,7 @@
Не вдалося зареєструвати гарячу клавішу "{0}". Можливо, гаряча клавіша використовується іншою програмою. Змініть її на іншу гарячу клавішу або вийдіть з програми, де вона використовується.
- Failed to unregister hotkey "{0}". Please try again or see log for details
+ Не вдалося скасувати реєстрацію гарячої клавіші «{0}». Спробуйте ще раз або перегляньте журнал для отримання подробицьFlow LauncherНе вдалося запустити {0}Невірний формат файлу плагіна Flow Launcher
@@ -42,8 +42,8 @@
Режим гриПризупинити використання гарячих клавіш.Скидання позиції
- Reset search window position
- Type here to search
+ Скинути положення вікна пошуку
+ Напишіть тут, аби знайтиНалаштування
@@ -51,12 +51,12 @@
Портативний режимЗберігати всі налаштування і дані користувача в одній теці (буде корисно при видаленні дисків або хмарних сервісах).Запускати Flow Launcher при запуску системи
- Use logon task instead of startup entry for faster startup experience
- After uninstallation, you need to manually remove this task (Flow.Launcher Startup) via Task Scheduler
+ Для швидшого запуску використовуйте завдання при вході в систему, а не після запуску
+ Після видалення, вам необхідно вручну видалити це завдання (Flow.Launcher Startup) через планувальник завданьПомилка запуску налаштування під час запускуСховати Flow Launcher, якщо втрачено фокусНе повідомляти про доступні нові версії
- Search Window Location
+ Розташування вікна пошукуПам'ятати останню позиціюМонітор з курсором мишіМонітор зі сфокусованим вікном
@@ -74,8 +74,8 @@
Зберегти останній запитВибрати останній запитОчистити останній запит
- Preserve Last Action Keyword
- Select Last Action Keyword
+ Зберігати останнє ключове слово дії
+ Вибрати ключове слово останньої діїМаксимальна кількість результатівВи також можете швидко налаштувати цей параметр за допомогою клавіш CTRL+Плюс чи CTRL+Мінус.Ігнорувати гарячі клавіші в повноекранному режимі
@@ -106,38 +106,42 @@
Завжди переглядатиЗавжди відкривати панель попереднього перегляду при активації Flow. Натисніть {0}, щоб переключити попередній перегляд.Ефект тіні не дозволено, коли поточна тема має ефект розмиття
- Search Delay
- Adds a short delay while typing to reduce UI flicker and result load. Recommended if your typing speed is average.
- Enter the wait time (in ms) until input is considered complete. This can only be edited if Search Delay is enabled.
- Default Search Delay Time
- Wait time before showing results after typing stops. Higher values wait longer. (ms)
- Information for Korean IME user
+ Затримка пошуку
+ Додає невелику затримку під час набору тексту, щоб зменшити мерехтіння інтерфейсу та навантаження на результати. Рекомендується, якщо у вас середня швидкість друкування.
+ Введіть час очікування (в мілісекундах) до завершення введення. Цей параметр можна редагувати лише в разі ввімкнення функції «Затримка пошуку».
+ Типовий час затримки пошуку
+ Час очікування перед відображенням результатів після завершення введення тексту. Чим вище значення, тим довше очікування. (мс)
+ Інформація для користувачів корейської IME
- The Korean input method used in Windows 11 may cause some issues in Flow Launcher.
+ Корейський метод введення, який використовується у Windows 11, може спричинити деякі проблеми в Flow Launcher.
- If you experience any problems, you may need to enable "Use previous version of Korean IME".
+ Якщо у вас виникли проблеми, можливо, вам доведеться ввімкнути параметр «Використовувати попередню версію корейського IME».
- Open Setting in Windows 11 and go to:
+ Відкрийте налаштування у Windows 11 і перейдіть до:
- Time & Language > Language & Region > Korean > Language Options > Keyboard - Microsoft IME > Compatibility,
+ Час і мова > Мова і регіон > Корейська > Параметри мови > Клавіатура - Microsoft IME > Сумісність,
- and enable "Use previous version of Microsoft IME".
+ та увімкніть параметр «Використовувати попередню версію Microsoft IME».
- Open Language and Region System Settings
- Opens the Korean IME setting location. Go to Korean > Language Options > Keyboard - Microsoft IME > Compatibility
+ Відкрити налаштування системи мови та регіону
+ Відкриває вікно налаштувань корейського IME. Перейдіть до Корейської > Параметри мови > Клавіатура - Microsoft IME > СумісністьВідкрити
- Use Previous Korean IME
- You can change the Previous Korean IME settings directly from here
- Home Page
- Show home page results when query text is empty.
- Show History Results in Home Page
- Maximum History Results Shown in Home Page
- This can only be edited if plugin supports Home feature and Home Page is enabled.
- Show Search Window at Foremost
- Overrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Використовувати попередній корейський IME
+ Ви можете змінити попередні налаштування корейського IME безпосередньо звідси.
+ Головна сторінка
+ Показувати результати на головній сторінці, коли текст запиту порожній.
+ Показати результати історії на головній
+ Максимальна кількість результатів історії, що показуються на головній
+ Це можна редагувати тільки в тому випадку, якщо плагін підтримує функцію «Головна сторінка» і вона ввімкнена.
+ Показувати вікно пошуку на передньому плані
+ Перекриває налаштування «Завжди зверху» інших програм і виводить Flow на передній план.
+ Перезапустіть після модифікації плагіну через Магазин плагінів
+ Автоматично перезапускати Flow Launcher після встановлення / видалення / оновлення плагіну через Магазин плагінів
+ Показувати попередження про невідоме джерело
+ Показувати попередження під час встановлення плагінів із невідомих джерелПлагін для пошуку
@@ -154,13 +158,13 @@
Поточна гаряча клавішаНова гаряча клавішаЗмінити гарячі клавіши
- Plugin search delay time
- Change Plugin Search Delay Time
- Advanced Settings:
+ Час затримки пошуку плагіну
+ Змінити час затримки пошуку плагінів
+ Додаткові налаштування:УвімкненоПріоритет
- Search Delay
- Home Page
+ Затримка пошуку
+ Головна сторінкаПоточний пріоритетНовий пріоритетПріоритет
@@ -172,10 +176,16 @@
ВерсіяСайтВидалити
- Fail to remove plugin settings
- Plugins: {0} - Fail to remove plugin settings files, please remove them manually
- Fail to remove plugin cache
- Plugins: {0} - Fail to remove plugin cache files, please remove them manually
+ Не вдалося видалити налаштування плагіну
+ Плагіни: {0} — Не вдалося видалити файли налаштувань плагінів, видаліть їх вручну.
+ Не вдалося видалити кеш плагіну
+ Плагіни: {0} — Не вдалося видалити файли кешу плагінів, видаліть їх вручну
+ {0} вже змінено
+ Перезапустіть Flow перед тим, як вносити будь-які подальші зміни.
+ Не вдалося встановити {0}
+ Не вдалося видалити {0}
+ Не вдалося знайти файл plugin.json у розпакованому zip-файлі або цей шлях {0} не існує.
+ Вже існує плагін з таким самим ідентифікатором та версією, або версія цього плагіну вища за версію завантаженого.Магазин плагінів
@@ -191,6 +201,28 @@
Нова версіяЦей плагін було оновлено протягом останніх 7 днівДоступне нове оновлення
+ Помилка під час встановлення плагіна
+ Помилка видалення плагіну
+ Помилка під час оновлення плагіну
+ Зберегти налаштування плагіну
+ Ви хочете зберегти налаштування плагіну для наступного використання?
+ Плагін {0} успішно встановлено. Будь ласка, перезапустіть Flow.
+ Плагін {0} успішно видалено. Будь ласка, перезапустіть Flow.
+ Плагін {0} успішно оновлено. Будь ласка, перезапустіть Flow.
+ Встановлення плагіна
+ {0} від {1} {2}{2}Бажаєте встановити цей плагін?
+ Видалення плагіну
+ {0} від {1} {2}{2}Бажаєте видалити цей плагін?
+ Оновлення плагіну
+ {0} від {1} {2}{2}Бажаєте оновити цей плагін?
+ Завантаження плагіну
+ Автоматично перезапускати після встановлення / видалення / оновлення плагінів у магазині плагінів
+ Zip-файл не має дійсної конфігурації plugin.json.
+ Встановлення з невідомого джерела
+ Цей плагін походить із невідомого джерела та може містити потенційні ризики!{0}{0}Переконайтеся, що ви знаєте, звідки походить він походить, і що він є безпечним.{0}{0}Ви все одно хочете продовжити?{0}{0}(Ви можете вимкнути це попередження в загальному розділі вікна налаштувань)
+ Zip-файли
+ Виберіть zip-файл
+ Встановити плагін із локального шляхуТема
@@ -212,9 +244,9 @@
Шрифт заголовка результатуШрифт підзаголовка результатуСкинути
- Reset to the recommended font and size settings.
- Import Theme Size
- If a size value intended by the theme designer is available, it will be retrieved and applied.
+ Скинути до рекомендованих налаштувань шрифту та розміру.
+ Імпортувати розмір теми
+ Якщо значення розміру, передбачене дизайнером теми, доступне, воно буде отримане та застосоване.ПідлаштуватиВіконний режимПрозорість
@@ -241,21 +273,21 @@
КористувацькаГодинникДата
- Backdrop Type
- The backdrop effect is not applied in the preview.
- Backdrop supported starting from Windows 11 build 22000 and above
+ Тип тла
+ Ефект тла не застосовується у передпоказі.
+ Тло підтримується починаючи з Windows 11 версії 22000 і вищеНема
- Acrylic
- Mica
- Mica Alt
- This theme supports two (light/dark) modes.
+ Акрил
+ Слюда
+ Слюда (альтернатива)
+ Ця тема підтримує два (світлу/темну) режими.Ця тема підтримує розмитий прозорий фон.
- Show placeholder
- Display placeholder when query is empty
- Placeholder text
- Change placeholder text. Input empty will use: {0}
- Fixed Window Size
- The window size is not adjustable by dragging.
+ Показати заповнювач
+ Показувати заповнювач, коли запит порожній
+ Текст заповнювача
+ Змінення тексту заповнювача. Ввід буде використовувати: {0}
+ Фіксований розмір вікна
+ Розмір вікна не можна регулювати шляхом перетягування.Гаряча клавіша
@@ -315,9 +347,9 @@
Використання іконок Segoe FluentВикористання іконок Segoe Fluent Icons для результатів запитів, де це підтримуєтьсяНатисніть клавішу
- Show Result Badges
- For supported plugins, badges are displayed to help distinguish them more easily.
- Show Result Badges for Global Query Only
+ Показувати значки результатів
+ Для підтримуваних плагінів показуються значки для легшого розрізнення.
+ Показувати значки результатів тільки для глобального запитуHTTP-проксі
@@ -358,39 +390,39 @@
Тека журналуОчистити журналиВи впевнені, що хочете видалити всі журнали?
- Cache Folder
- Clear Caches
- Are you sure you want to delete all caches?
- Failed to clear part of folders and files. Please see log file for more information
+ Кеш теки
+ Очистити кеш
+ Дійсно хочете видалити весь кеш?
+ Не вдалося очистити частину тек і файлів. Перегляньте файл журналу для отримання додаткової інформаціїЧаклунРозташування даних користувачаНалаштування користувача та встановлені плагіни зберігаються у теці даних користувача. Це місце може змінюватися залежно від того, чи перебуває програма в портативному режимі, чи ні.Відкрити теку
- Advanced
- Log Level
- Debug
- Info
- Setting Window Font
+ Розширені
+ Рівень журналювання
+ Налагодження
+ Інформація
+ Встановлення шрифту вікна
- See more release notes on GitHub
- Failed to fetch release notes
- Please check your network connection or ensure GitHub is accessible
- Flow Launcher has been updated to {0}
- Click here to view the release notes
+ Дізнатися більше про версію на GitHub
+ Не вдалося отримати примітки до випуску
+ Перевірте своє мережеве з'єднання або переконайтеся, що GitHub є доступним
+ Flow Launcher було оновлено до {0}
+ Натисніть тут, щоби переглянути примітки до випускуВиберіть файловий менеджер
- Learn more
- Please specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ Докладніше
+ Вкажіть розташування файлу у файловому менеджері, який ви використовуєте, та додайте необхідні аргументи. «%d» позначає шлях до каталогу, який потрібно відкрити, і використовується в полі «Аргумент для теки» та для команд, що відкривають певні каталоги. «%f» позначає шлях до файлу, який потрібно відкрити, і використовується в полі «Аргумент для файлу» та для команд, що відкривають певні файли.
+ Наприклад, якщо файловий менеджер використовує таку команду, як «totalcmd.exe /A c:\windows» для відкриття каталогу c:\windows, шлях файлового менеджера буде totalcmd.exe, а аргумент для теки — /A «%d». Деякі файлові менеджери, такі як QTTabBar, можуть вимагати лише вказати шлях, у цьому випадку використовуйте «%d» як шлях файлового менеджера і залиште решту полів порожніми.Файловий менеджерІм'я профілюШлях до файлового менеджераАргумент для папкиАргумент для файлу
- The file manager '{0}' could not be located at '{1}'. Would you like to continue?
- File Manager Path Error
+ Не вдалося знайти файловий менеджер «{0}» за адресою «{1}». Чи бажаєте продовжити?
+ Помилка шляху до файлового менеджераВеб-браузер за замовчуванням
@@ -415,32 +447,33 @@
Не вдалося знайти вказаний плагінНова гаряча клавіша не може бути порожньоюНова гаряча клавіша вже використовується іншим плагіном. Будь ласка, вкажіть нову
- This new Action Keyword is the same as old, please choose a different one
+ Це нове ключове слово дії є таким самим, як і старе, виберіть інше.УспішноУспішно завершено
- Failed to copy
- Enter the action keywords you like to use to start the plugin and use whitespace to divide them. Use * if you don't want to specify any, and the plugin will be triggered without any action keywords.
+ Не вдалося скопіювати
+ Введіть ключові слова дій, які ви хочете використовувати для запуску плагіну, й розділіть їх пробілами. Якщо ви не хочете вказувати жодних ключових слів, використовуйте *, і плагін буде запускатися без них.
- Search Delay Time Setting
- Input the search delay time in ms you like to use for the plugin. Input empty if you don't want to specify any, and the plugin will use default search delay time.
+ Налаштування часу затримки пошуку
+ Введіть час затримки пошуку в мілісекундах, який ви хочете використовувати для плагіну. Якщо ви не хочете вказувати час затримки, залиште поле порожнім, і плагін буде використовувати типовий час затримки пошуку.
- Home Page
- Enable the plugin home page state if you like to show the plugin results when query is empty.
+ Головна сторінка
+ Увімкніть стан головної сторінки плагіну, якщо ви хочете показувати його результати, коли запит порожній.Задані гарячі клавіші для запитівНатисніть спеціальну гарячу клавішу, щоб відкрити Flow Launcher і автоматично ввести вказаний запит.ПереглянутиГаряча клавіша недоступна. Будь ласка, вкажіть нову
- Недійсна гаряча клавіша плагіна
+ Гаряча клавіша недійснаОновитиПрив'язка галавішіПоточна галавіша недоступна.Ця галавіша зарезервована для «{0}» і не може бути використана. Будласка, виберіть іншу галавішу.Ця галавіша вже використовується «{0}». Якщо ви натиснете «Перезаписати», її буде вилучено з «{0}».Натисніть клавіші, які ви хочете використовувати для цієї функції.
+ Гаряча клавіша та ключове слово дії порожніВласне скорочення запиту
@@ -451,6 +484,7 @@
Скорочення вже існує, будь ласка, введіть нове або відредагуйте існуюче.Скорочення та/або його розширення є порожнім.
+ Комбінація клавіш недійсна.Зберегти
@@ -478,18 +512,18 @@
Звіт успішно відправленоНе вдалося відправити звітСтався збій в додатку Flow Launcher
- Please open new issue in
- 1. Upload log file: {0}
- 2. Copy below exception message
+ Створіть нову проблему в
+ 1. Завантажте файл журналу: {0}
+ 2. Скопіюйте нижче повідомлення про виняток
- File Manager Error
+ Помилка файлового менеджера
- The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
+ Вказаний файловий менеджер не знайдено. Перевірте налаштування вашого файлового менеджера в розділі Налаштування > Загальні.
Помилка
- An error occurred while opening the folder. {0}
- An error occurred while opening the URL in the browser. Please check your Default Web Browser configuration in the General section of the settings window
+ Під час відкриття теки сталася помилка. {0}
+ Під час відкриття URL-адреси в браузері сталася помилка. Перевірте налаштування типового веббраузера у розділі «Загальні» вікна налаштувань.Будь ласка, зачекайте...
diff --git a/Flow.Launcher/Languages/vi.xaml b/Flow.Launcher/Languages/vi.xaml
index dec3cd2e3..2a8769863 100644
--- a/Flow.Launcher/Languages/vi.xaml
+++ b/Flow.Launcher/Languages/vi.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesPlugin tìm kiếm
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded pluginTải tiện ích mở rộng
@@ -191,6 +201,28 @@
Phiên bản mớiPlugin này đã được cập nhật trong vòng 7 ngày quaĐã có bản cập nhật mới
+ Lỗi cài đặt plugin
+ Lỗi cài đặt plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ Plugin đang được tải
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Cài đặt từ một nguồn không xác định
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local pathGiao Diện
@@ -385,7 +417,7 @@
Chọn trình quản lý tệpLearn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.Trình quản lý ngày thángTên hồ sơĐường dẫn quản lý tệp
@@ -436,13 +468,14 @@
Nhấn phím nóng tùy chỉnh để mở Flow Launcher và tự động nhập truy vấn được chỉ định.Xem trướcTổ hợp phím không khả dụng, vui lòng chọn tổ hợp phím khác
- Tổ hợp phím plugin không hợp lệ
+ Hotkey is invalidCập nhậtBinding HotkeyPhím nóng hiện tại không có sẵn.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyPhím tắt truy vấn tùy chỉnh
@@ -455,6 +488,7 @@
Phím tắt đã tồn tại, vui lòng nhập Phím tắt mới hoặc chỉnh sửa phím tắt hiện có.Phím tắt và/hoặc phần mở rộng của nó trống.
+ Shortcut is invalidLưu
diff --git a/Flow.Launcher/Languages/zh-cn.xaml b/Flow.Launcher/Languages/zh-cn.xaml
index 133d2e3c6..0f5e1e165 100644
--- a/Flow.Launcher/Languages/zh-cn.xaml
+++ b/Flow.Launcher/Languages/zh-cn.xaml
@@ -138,6 +138,10 @@
这只能在插件支持主页功能和主页启用时进行编辑。将搜索窗口置于顶层覆盖其他“总是在顶部”的程序窗口并在最顶层的位置显示 Flow Launcher 搜索窗口。
+ 通过插件商店修改插件后重启
+ 通过插件商店安装/卸载/更新插件后自动重启 Flow Launcher
+ 显示未知来源警告
+ 安装来自未知来源的插件时显示警告搜索插件
@@ -176,6 +180,12 @@
插件:{0} - 移除插件设置文件失败,请手动删除移除插件缓存失败插件:{0} - 移除插件设置文件失败,请手动删除
+ {0} 已修改
+ 请在进行任何进一步更改之前重新启动 Flow
+ 安装 {0} 失败
+ 卸载 {0} 失败
+ 无法从提取的zip文件中找到plugin.json,或者此路径 {0} 不存在
+ 已存在相同ID和版本的插件,或者存在版本大于此下载的插件插件商店
@@ -191,6 +201,28 @@
新版本此插件在过去7天内有更新有可用的更新
+ 安装插件时出错
+ 卸载插件时出错
+ 更新插件时出错
+ 保留插件设置
+ 你想要保留插件设置以便下一次的使用吗?
+ 成功安装插件{0}。请重新启动 Flow Launcher。
+ 成功卸载插件{0}。请重新启动 Flow Launcher。
+ 成功更新插件{0}。请重新启动 Flow Launcher。
+ 插件安装
+ {0} 作者: {1} {2}{2}您想要安装这个插件吗?
+ 插件卸载
+ {0} 作者: {1} {2}{2}您想要卸载这个插件吗?
+ 插件更新
+ {0} 作者: {1} {2}{2}您想要更新这个插件吗?
+ 下载插件
+ 插件商店安装/卸载/更新插件后自动重启
+ Zip 文件没有有效的 plugin.json 配置
+ 从未知源安装
+ 您正在从未知源安装此插件,它可能包含潜在风险!{0}{0}请确保您了解来源以及安全性。{0}{0}您想要继续吗?{0}{0}(您可以通过设置关闭此警告)
+ Zip 文件
+ 请选择 zip 文件
+ 从本地路径安装插件主题
@@ -434,13 +466,14 @@
输入一个自定义的快捷键来打开 Flow Launcher 并自动输入指定的查询。预览热键不可用,请选择一个新的热键
- 插件热键不合法
+ 热键无效更新绑定热键当前热键不可用。此热键为“{0}”保留,无法使用。请选择其他热键。此热键已被“{0}”使用。如果按“覆盖”,则会将其从“{0}”中删除。按下您想要用于此功能的键。
+ 热键和操作关键字为空自定义查询捷径
@@ -451,6 +484,7 @@
捷径已存在,请输入一个新的或者编辑已有的。捷径及其展开均不能为空。
+ 快捷键无效保存
diff --git a/Flow.Launcher/Languages/zh-tw.xaml b/Flow.Launcher/Languages/zh-tw.xaml
index c9e84b9e7..959f75f97 100644
--- a/Flow.Launcher/Languages/zh-tw.xaml
+++ b/Flow.Launcher/Languages/zh-tw.xaml
@@ -10,7 +10,7 @@
Your selected {0} executable is invalid.
{2}{2}
- Click yes if you would like select the {0} executable agian. Click no if you would like to download {1}
+ Click yes if you would like select the {0} executable again. Click no if you would like to download {1}
Unable to set {0} executable path, please try from Flow's settings (scroll down to the bottom).Fail to Init Plugins
@@ -138,6 +138,10 @@
This can only be edited if plugin supports Home feature and Home Page is enabled.Show Search Window at ForemostOverrides other programs' 'Always on Top' setting and displays Flow in the foremost position.
+ Restart after modifying plugin via Plugin Store
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugin Store
+ Show unknown source warning
+ Show warning when installing plugins from unknown sourcesSearch Plugin
@@ -176,6 +180,12 @@
Plugins: {0} - Fail to remove plugin settings files, please remove them manuallyFail to remove plugin cachePlugins: {0} - Fail to remove plugin cache files, please remove them manually
+ {0} modified already
+ Please restart Flow before making any further changes
+ Fail to install {0}
+ Fail to uninstall {0}
+ Unable to find plugin.json from the extracted zip file, or this path {0} does not exist
+ A plugin with the same ID and version already exists, or the version is greater than this downloaded plugin插件商店
@@ -191,6 +201,28 @@
New VersionThis plugin has been updated within the last 7 daysNew Update is Available
+ 安裝插件時發生錯誤
+ Error uninstalling plugin
+ Error updating plugin
+ Keep plugin settings
+ Do you want to keep the settings of the plugin for the next usage?
+ Plugin {0} successfully installed. Please restart Flow.
+ Plugin {0} successfully uninstalled. Please restart Flow.
+ Plugin {0} successfully updated. Please restart Flow.
+ Plugin install
+ {0} by {1} {2}{2}Would you like to install this plugin?
+ Plugin uninstall
+ {0} by {1} {2}{2}Would you like to uninstall this plugin?
+ Plugin update
+ {0} by {1} {2}{2}Would you like to update this plugin?
+ 正在下載擴充功能
+ Automatically restart after installing/uninstalling/updating plugins in plugin store
+ Zip file does not have a valid plugin.json configuration
+ Installing from an unknown source
+ This plugin is from an unknown source and it may contain potential risks!{0}{0}Please ensure you understand where this plugin is from and that it is safe.{0}{0}Would you like to continue still?{0}{0}(You can switch off this warning in general section of setting window)
+ Zip files
+ Please select zip file
+ Install plugin from local path主題
@@ -383,7 +415,7 @@
選擇檔案管理器Learn morePlease specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
- For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
+ For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fields blank.檔案管理器檔案名稱檔案管理器路徑
@@ -434,13 +466,14 @@
Press a custom hotkey to open Flow Launcher and input the specified query automatically.預覽快捷鍵不存在,請設定一個新的快捷鍵
- 擴充功能熱鍵無法使用
+ Hotkey is invalid更新Binding HotkeyCurrent hotkey is unavailable.This hotkey is reserved for "{0}" and can't be used. Please choose another hotkey.This hotkey is already in use by "{0}". If you press "Overwrite", it will be removed from "{0}".Press the keys you want to use for this function.
+ Hotkey and action keyword are emptyCustom Query Shortcut
@@ -451,6 +484,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
Shortcut already exists, please enter a new Shortcut or edit the existing one.Shortcut and/or its expansion is empty.
+ Shortcut is invalid儲存
diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs
index 57e11ffa4..36c59f8f7 100644
--- a/Flow.Launcher/MainWindow.xaml.cs
+++ b/Flow.Launcher/MainWindow.xaml.cs
@@ -44,6 +44,9 @@ namespace Flow.Launcher
#region Private Fields
+ // Class Name
+ private static readonly string ClassName = nameof(MainWindow);
+
// Dependency Injection
private readonly Settings _settings;
private readonly Theme _theme;
@@ -284,6 +287,10 @@ namespace Flow.Launcher
break;
case nameof(Settings.Language):
UpdateNotifyIconText();
+ if (_settings.ShowHomePage && _viewModel.QueryResultsSelected() && string.IsNullOrEmpty(_viewModel.QueryText))
+ {
+ _viewModel.QueryResults();
+ }
break;
case nameof(Settings.Hotkey):
UpdateNotifyIconText();
@@ -1256,14 +1263,21 @@ namespace Flow.Launcher
private void QueryTextBox_OnPaste(object sender, DataObjectPastingEventArgs e)
{
- var isText = e.SourceDataObject.GetDataPresent(DataFormats.UnicodeText, true);
- if (isText)
+ try
{
- var text = e.SourceDataObject.GetData(DataFormats.UnicodeText) as string;
- text = text.Replace(Environment.NewLine, " ");
- DataObject data = new DataObject();
- data.SetData(DataFormats.UnicodeText, text);
- e.DataObject = data;
+ var isText = e.SourceDataObject.GetDataPresent(DataFormats.UnicodeText, true);
+ if (isText)
+ {
+ var text = e.SourceDataObject.GetData(DataFormats.UnicodeText) as string;
+ text = text.Replace(Environment.NewLine, " ");
+ DataObject data = new DataObject();
+ data.SetData(DataFormats.UnicodeText, text);
+ e.DataObject = data;
+ }
+ }
+ catch (Exception ex)
+ {
+ App.API.LogException(ClassName, "Failed to paste text", ex);
}
}
diff --git a/Flow.Launcher/Resources/double_pinyin.json b/Flow.Launcher/Resources/double_pinyin.json
new file mode 100644
index 000000000..83972038f
--- /dev/null
+++ b/Flow.Launcher/Resources/double_pinyin.json
@@ -0,0 +1 @@
+{"XiaoHe":{"Lv":"lv","Lve":"lt","Lue":"lt","Nv":"nv","Nve":"nt","Nue":"nt","A":"aa","O":"oo","E":"ee","Ai":"ai","Ei":"ei","Ao":"ao","Ou":"ou","An":"an","En":"en","Ang":"ah","Eng":"eg","Er":"er","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"yc","You":"yz","Yan":"yj","Yin":"yb","Yang":"yh","Ying":"yk","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"wd","Wei":"ww","Wan":"wj","Wen":"wf","Wang":"wh","Weng":"wg","Yu":"yu","Yue":"yt","Yuan":"yr","Yun":"yy","Yong":"ys","Ba":"ba","Bai":"bd","Ban":"bj","Bang":"bh","Bao":"bc","Bei":"bw","Ben":"bf","Beng":"bg","Bi":"bi","Bian":"bm","Biang":"bl","Biao":"bn","Bie":"bp","Bin":"bb","Bing":"bk","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"cd","Can":"cj","Cang":"ch","Cao":"cc","Ce":"ce","Cen":"cf","Ceng":"cg","Cha":"ia","Chai":"id","Chan":"ij","Chang":"ih","Chao":"ic","Che":"ie","Chen":"if","Cheng":"ig","Chi":"ii","Chong":"is","Chou":"iz","Chu":"iu","Chua":"ix","Chuai":"ik","Chuan":"ir","Chuang":"il","Chui":"iv","Chun":"iy","Chuo":"io","Ci":"ci","Cong":"cs","Cou":"cz","Cu":"cu","Cuan":"cr","Cui":"cv","Cun":"cy","Cuo":"co","Da":"da","Dai":"dd","Dan":"dj","Dang":"dh","Dao":"dc","De":"de","Dei":"dw","Den":"df","Deng":"dg","Di":"di","Dia":"dx","Dian":"dm","Diao":"dn","Die":"dp","Ding":"dk","Diu":"dq","Dong":"ds","Dou":"dz","Du":"du","Duan":"dr","Dui":"dv","Dun":"dy","Duo":"do","Fa":"fa","Fan":"fj","Fang":"fh","Fei":"fw","Fen":"ff","Feng":"fg","Fiao":"fn","Fo":"fo","Fou":"fz","Fu":"fu","Ga":"ga","Gai":"gd","Gan":"gj","Gang":"gh","Gao":"gc","Ge":"ge","Gei":"gw","Gen":"gf","Geng":"gg","Gong":"gs","Gou":"gz","Gu":"gu","Gua":"gx","Guai":"gk","Guan":"gr","Guang":"gl","Gui":"gv","Gun":"gy","Guo":"go","Ha":"ha","Hai":"hd","Han":"hj","Hang":"hh","Hao":"hc","He":"he","Hei":"hw","Hen":"hf","Heng":"hg","Hong":"hs","Hou":"hz","Hu":"hu","Hua":"hx","Huai":"hk","Huan":"hr","Huang":"hl","Hui":"hv","Hun":"hy","Huo":"ho","Ji":"ji","Jia":"jx","Jian":"jm","Jiang":"jl","Jiao":"jn","Jie":"jp","Jin":"jb","Jing":"jk","Jiong":"js","Jiu":"jq","Ju":"ju","Juan":"jr","Jue":"jt","Jun":"jy","Ka":"ka","Kai":"kd","Kan":"kj","Kang":"kh","Kao":"kc","Ke":"ke","Ken":"kf","Keng":"kg","Kong":"ks","Kou":"kz","Ku":"ku","Kua":"kx","Kuai":"kk","Kuan":"kr","Kuang":"kl","Kui":"kv","Kun":"ky","Kuo":"ko","La":"la","Lai":"ld","Lan":"lj","Lang":"lh","Lao":"lc","Le":"le","Lei":"lw","Leng":"lg","Li":"li","Lia":"lx","Lian":"lm","Liang":"ll","Liao":"ln","Lie":"lp","Lin":"lb","Ling":"lk","Liu":"lq","Lo":"lo","Long":"ls","Lou":"lz","Lu":"lu","Luan":"lr","Lun":"ly","Luo":"lo","Ma":"ma","Mai":"md","Man":"mj","Mang":"mh","Mao":"mc","Me":"me","Mei":"mw","Men":"mf","Meng":"mg","Mi":"mi","Mian":"mm","Miao":"mn","Mie":"mp","Min":"mb","Ming":"mk","Miu":"mq","Mo":"mo","Mou":"mz","Mu":"mu","Na":"na","Nai":"nd","Nan":"nj","Nang":"nh","Nao":"nc","Ne":"ne","Nei":"nw","Nen":"nf","Neng":"ng","Ni":"ni","Nian":"nm","Niang":"nl","Niao":"nn","Nie":"np","Nin":"nb","Ning":"nk","Niu":"nq","Nong":"ns","Nou":"nz","Nu":"nu","Nuan":"nr","Nun":"ny","Nuo":"no","Pa":"pa","Pai":"pd","Pan":"pj","Pang":"ph","Pao":"pc","Pei":"pw","Pen":"pf","Peng":"pg","Pi":"pi","Pian":"pm","Piao":"pn","Pie":"pp","Pin":"pb","Ping":"pk","Po":"po","Pou":"pz","Pu":"pu","Qi":"qi","Qia":"qx","Qian":"qm","Qiang":"ql","Qiao":"qn","Qie":"qp","Qin":"qb","Qing":"qk","Qiong":"qs","Qiu":"qq","Qu":"qu","Quan":"qr","Que":"qt","Qun":"qy","Ran":"rj","Rang":"rh","Rao":"rc","Re":"re","Ren":"rf","Reng":"rg","Ri":"ri","Rong":"rs","Rou":"rz","Ru":"ru","Rua":"rx","Ruan":"rr","Rui":"rv","Run":"ry","Ruo":"ro","Sa":"sa","Sai":"sd","San":"sj","Sang":"sh","Sao":"sc","Se":"se","Sen":"sf","Seng":"sg","Sha":"ua","Shai":"ud","Shan":"uj","Shang":"uh","Shao":"uc","She":"ue","Shei":"uw","Shen":"uf","Sheng":"ug","Shi":"ui","Shou":"uz","Shu":"uu","Shua":"ux","Shuai":"uk","Shuan":"ur","Shuang":"ul","Shui":"uv","Shun":"uy","Shuo":"uo","Si":"si","Song":"ss","Sou":"sz","Su":"su","Suan":"sr","Sui":"sv","Sun":"sy","Suo":"so","Ta":"ta","Tai":"td","Tan":"tj","Tang":"th","Tao":"tc","Te":"te","Tei":"tw","Teng":"tg","Ti":"ti","Tian":"tm","Tiao":"tn","Tie":"tp","Ting":"tk","Tong":"ts","Tou":"tz","Tu":"tu","Tuan":"tr","Tui":"tv","Tun":"ty","Tuo":"to","Xi":"xi","Xia":"xx","Xian":"xm","Xiang":"xl","Xiao":"xn","Xie":"xp","Xin":"xb","Xing":"xk","Xiong":"xs","Xiu":"xq","Xu":"xu","Xuan":"xr","Xue":"xt","Xun":"xy","Za":"za","Zai":"zd","Zan":"zj","Zang":"zh","Zao":"zc","Ze":"ze","Zei":"zw","Zen":"zf","Zeng":"zg","Zha":"va","Zhai":"vd","Zhan":"vj","Zhang":"vh","Zhao":"vc","Zhe":"ve","Zhen":"vf","Zheng":"vg","Zhi":"vi","Zhong":"vs","Zhou":"vz","Zhu":"vu","Zhua":"vx","Zhuai":"vk","Zhuan":"vr","Zhuang":"vl","Zhui":"vv","Zhun":"vy","Zhuo":"vo","Zi":"zi","Zong":"zs","Zou":"zz","Zu":"zu","Zuan":"zr","Zui":"zv","Zun":"zy","Zuo":"zo"},"ZiRanMa":{"Lv":"lv","Lve":"lt","Lue":"lt","Nv":"nv","Nve":"nt","Nue":"nt","A":"aa","O":"oo","E":"ee","Ai":"ai","Ei":"ei","Ao":"ao","Ou":"ou","An":"an","En":"en","Ang":"ah","Eng":"eg","Er":"er","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"yk","You":"yb","Yan":"yj","Yin":"yn","Yang":"yh","Ying":"yy","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"wl","Wei":"wz","Wan":"wj","Wen":"wf","Wang":"wh","Weng":"wg","Yu":"yu","Yue":"yt","Yuan":"yr","Yun":"yp","Yong":"ys","Ba":"ba","Bai":"bl","Ban":"bj","Bang":"bh","Bao":"bk","Bei":"bz","Ben":"bf","Beng":"bg","Bi":"bi","Bian":"bm","Biang":"bd","Biao":"bc","Bie":"bx","Bin":"bn","Bing":"by","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"cl","Can":"cj","Cang":"ch","Cao":"ck","Ce":"ce","Cen":"cf","Ceng":"cg","Cha":"ia","Chai":"il","Chan":"ij","Chang":"ih","Chao":"ik","Che":"ie","Chen":"if","Cheng":"ig","Chi":"ii","Chong":"is","Chou":"ib","Chu":"iu","Chua":"iw","Chuai":"iy","Chuan":"ir","Chuang":"id","Chui":"iv","Chun":"ip","Chuo":"io","Ci":"ci","Cong":"cs","Cou":"cb","Cu":"cu","Cuan":"cr","Cui":"cv","Cun":"cp","Cuo":"co","Da":"da","Dai":"dl","Dan":"dj","Dang":"dh","Dao":"dk","De":"de","Dei":"dz","Den":"df","Deng":"dg","Di":"di","Dia":"dw","Dian":"dm","Diao":"dc","Die":"dx","Ding":"dy","Diu":"dq","Dong":"ds","Dou":"db","Du":"du","Duan":"dr","Dui":"dv","Dun":"dp","Duo":"do","Fa":"fa","Fan":"fj","Fang":"fh","Fei":"fz","Fen":"ff","Feng":"fg","Fiao":"fc","Fo":"fo","Fou":"fb","Fu":"fu","Ga":"ga","Gai":"gl","Gan":"gj","Gang":"gh","Gao":"gk","Ge":"ge","Gei":"gz","Gen":"gf","Geng":"gg","Gong":"gs","Gou":"gb","Gu":"gu","Gua":"gw","Guai":"gy","Guan":"gr","Guang":"gd","Gui":"gv","Gun":"gp","Guo":"go","Ha":"ha","Hai":"hl","Han":"hj","Hang":"hh","Hao":"hk","He":"he","Hei":"hz","Hen":"hf","Heng":"hg","Hong":"hs","Hou":"hb","Hu":"hu","Hua":"hw","Huai":"hy","Huan":"hr","Huang":"hd","Hui":"hv","Hun":"hp","Huo":"ho","Ji":"ji","Jia":"jw","Jian":"jm","Jiang":"jd","Jiao":"jc","Jie":"jx","Jin":"jn","Jing":"jy","Jiong":"js","Jiu":"jq","Ju":"ju","Juan":"jr","Jue":"jt","Jun":"jp","Ka":"ka","Kai":"kl","Kan":"kj","Kang":"kh","Kao":"kk","Ke":"ke","Ken":"kf","Keng":"kg","Kong":"ks","Kou":"kb","Ku":"ku","Kua":"kw","Kuai":"ky","Kuan":"kr","Kuang":"kd","Kui":"kv","Kun":"kp","Kuo":"ko","La":"la","Lai":"ll","Lan":"lj","Lang":"lh","Lao":"lk","Le":"le","Lei":"lz","Leng":"lg","Li":"li","Lia":"lw","Lian":"lm","Liang":"ld","Liao":"lc","Lie":"lx","Lin":"ln","Ling":"ly","Liu":"lq","Lo":"lo","Long":"ls","Lou":"lb","Lu":"lu","Luan":"lr","Lun":"lp","Luo":"lo","Ma":"ma","Mai":"ml","Man":"mj","Mang":"mh","Mao":"mk","Me":"me","Mei":"mz","Men":"mf","Meng":"mg","Mi":"mi","Mian":"mm","Miao":"mc","Mie":"mx","Min":"mn","Ming":"my","Miu":"mq","Mo":"mo","Mou":"mb","Mu":"mu","Na":"na","Nai":"nl","Nan":"nj","Nang":"nh","Nao":"nk","Ne":"ne","Nei":"nz","Nen":"nf","Neng":"ng","Ni":"ni","Nian":"nm","Niang":"nd","Niao":"nc","Nie":"nx","Nin":"nn","Ning":"ny","Niu":"nq","Nong":"ns","Nou":"nb","Nu":"nu","Nuan":"nr","Nun":"np","Nuo":"no","Pa":"pa","Pai":"pl","Pan":"pj","Pang":"ph","Pao":"pk","Pei":"pz","Pen":"pf","Peng":"pg","Pi":"pi","Pian":"pm","Piao":"pc","Pie":"px","Pin":"pn","Ping":"py","Po":"po","Pou":"pb","Pu":"pu","Qi":"qi","Qia":"qw","Qian":"qm","Qiang":"qd","Qiao":"qc","Qie":"qx","Qin":"qn","Qing":"qy","Qiong":"qs","Qiu":"qq","Qu":"qu","Quan":"qr","Que":"qt","Qun":"qp","Ran":"rj","Rang":"rh","Rao":"rk","Re":"re","Ren":"rf","Reng":"rg","Ri":"ri","Rong":"rs","Rou":"rb","Ru":"ru","Rua":"rw","Ruan":"rr","Rui":"rv","Run":"rp","Ruo":"ro","Sa":"sa","Sai":"sl","San":"sj","Sang":"sh","Sao":"sk","Se":"se","Sen":"sf","Seng":"sg","Sha":"ua","Shai":"ul","Shan":"uj","Shang":"uh","Shao":"uk","She":"ue","Shei":"uz","Shen":"uf","Sheng":"ug","Shi":"ui","Shou":"ub","Shu":"uu","Shua":"uw","Shuai":"uy","Shuan":"ur","Shuang":"ud","Shui":"uv","Shun":"up","Shuo":"uo","Si":"si","Song":"ss","Sou":"sb","Su":"su","Suan":"sr","Sui":"sv","Sun":"sp","Suo":"so","Ta":"ta","Tai":"tl","Tan":"tj","Tang":"th","Tao":"tk","Te":"te","Tei":"tz","Teng":"tg","Ti":"ti","Tian":"tm","Tiao":"tc","Tie":"tx","Ting":"ty","Tong":"ts","Tou":"tb","Tu":"tu","Tuan":"tr","Tui":"tv","Tun":"tp","Tuo":"to","Xi":"xi","Xia":"xw","Xian":"xm","Xiang":"xd","Xiao":"xc","Xie":"xx","Xin":"xn","Xing":"xy","Xiong":"xs","Xiu":"xq","Xu":"xu","Xuan":"xr","Xue":"xt","Xun":"xp","Za":"za","Zai":"zl","Zan":"zj","Zang":"zh","Zao":"zk","Ze":"ze","Zei":"zz","Zen":"zf","Zeng":"zg","Zha":"va","Zhai":"vl","Zhan":"vj","Zhang":"vh","Zhao":"vk","Zhe":"ve","Zhen":"vf","Zheng":"vg","Zhi":"vi","Zhong":"vs","Zhou":"vb","Zhu":"vu","Zhua":"vw","Zhuai":"vy","Zhuan":"vr","Zhuang":"vd","Zhui":"vv","Zhun":"vp","Zhuo":"vo","Zi":"zi","Zong":"zs","Zou":"zb","Zu":"zu","Zuan":"zr","Zui":"zv","Zun":"zp","Zuo":"zo"},"WeiRuan":{"Lv":"ly","Lve":"lt","Lue":"lt","Nv":"ny","Nve":"nt","Nue":"nt","A":"oa","O":"oo","E":"oe","Ai":"ol","Ei":"oz","Ao":"ok","Ou":"ob","An":"oj","En":"of","Ang":"oh","Eng":"og","Er":"or","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"yk","You":"yb","Yan":"yj","Yin":"yn","Yang":"yh","Ying":"y;","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"wl","Wei":"wz","Wan":"wj","Wen":"wf","Wang":"wh","Weng":"wg","Yu":"yu","Yue":"yt","Yuan":"yr","Yun":"yp","Yong":"ys","Ba":"ba","Bai":"bl","Ban":"bj","Bang":"bh","Bao":"bk","Bei":"bz","Ben":"bf","Beng":"bg","Bi":"bi","Bian":"bm","Biang":"bd","Biao":"bc","Bie":"bx","Bin":"bn","Bing":"b;","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"cl","Can":"cj","Cang":"ch","Cao":"ck","Ce":"ce","Cen":"cf","Ceng":"cg","Cha":"ia","Chai":"il","Chan":"ij","Chang":"ih","Chao":"ik","Che":"ie","Chen":"if","Cheng":"ig","Chi":"ii","Chong":"is","Chou":"ib","Chu":"iu","Chua":"iw","Chuai":"iy","Chuan":"ir","Chuang":"id","Chui":"iv","Chun":"ip","Chuo":"io","Ci":"ci","Cong":"cs","Cou":"cb","Cu":"cu","Cuan":"cr","Cui":"cv","Cun":"cp","Cuo":"co","Da":"da","Dai":"dl","Dan":"dj","Dang":"dh","Dao":"dk","De":"de","Dei":"dz","Den":"df","Deng":"dg","Di":"di","Dia":"dw","Dian":"dm","Diao":"dc","Die":"dx","Ding":"d;","Diu":"dq","Dong":"ds","Dou":"db","Du":"du","Duan":"dr","Dui":"dv","Dun":"dp","Duo":"do","Fa":"fa","Fan":"fj","Fang":"fh","Fei":"fz","Fen":"ff","Feng":"fg","Fiao":"fc","Fo":"fo","Fou":"fb","Fu":"fu","Ga":"ga","Gai":"gl","Gan":"gj","Gang":"gh","Gao":"gk","Ge":"ge","Gei":"gz","Gen":"gf","Geng":"gg","Gong":"gs","Gou":"gb","Gu":"gu","Gua":"gw","Guai":"gy","Guan":"gr","Guang":"gd","Gui":"gv","Gun":"gp","Guo":"go","Ha":"ha","Hai":"hl","Han":"hj","Hang":"hh","Hao":"hk","He":"he","Hei":"hz","Hen":"hf","Heng":"hg","Hong":"hs","Hou":"hb","Hu":"hu","Hua":"hw","Huai":"hy","Huan":"hr","Huang":"hd","Hui":"hv","Hun":"hp","Huo":"ho","Ji":"ji","Jia":"jw","Jian":"jm","Jiang":"jd","Jiao":"jc","Jie":"jx","Jin":"jn","Jing":"j;","Jiong":"js","Jiu":"jq","Ju":"ju","Juan":"jr","Jue":"jt","Jun":"jp","Ka":"ka","Kai":"kl","Kan":"kj","Kang":"kh","Kao":"kk","Ke":"ke","Ken":"kf","Keng":"kg","Kong":"ks","Kou":"kb","Ku":"ku","Kua":"kw","Kuai":"ky","Kuan":"kr","Kuang":"kd","Kui":"kv","Kun":"kp","Kuo":"ko","La":"la","Lai":"ll","Lan":"lj","Lang":"lh","Lao":"lk","Le":"le","Lei":"lz","Leng":"lg","Li":"li","Lia":"lw","Lian":"lm","Liang":"ld","Liao":"lc","Lie":"lx","Lin":"ln","Ling":"l;","Liu":"lq","Lo":"lo","Long":"ls","Lou":"lb","Lu":"lu","Luan":"lr","Lun":"lp","Luo":"lo","Ma":"ma","Mai":"ml","Man":"mj","Mang":"mh","Mao":"mk","Me":"me","Mei":"mz","Men":"mf","Meng":"mg","Mi":"mi","Mian":"mm","Miao":"mc","Mie":"mx","Min":"mn","Ming":"m;","Miu":"mq","Mo":"mo","Mou":"mb","Mu":"mu","Na":"na","Nai":"nl","Nan":"nj","Nang":"nh","Nao":"nk","Ne":"ne","Nei":"nz","Nen":"nf","Neng":"ng","Ni":"ni","Nian":"nm","Niang":"nd","Niao":"nc","Nie":"nx","Nin":"nn","Ning":"n;","Niu":"nq","Nong":"ns","Nou":"nb","Nu":"nu","Nuan":"nr","Nun":"np","Nuo":"no","Pa":"pa","Pai":"pl","Pan":"pj","Pang":"ph","Pao":"pk","Pei":"pz","Pen":"pf","Peng":"pg","Pi":"pi","Pian":"pm","Piao":"pc","Pie":"px","Pin":"pn","Ping":"p;","Po":"po","Pou":"pb","Pu":"pu","Qi":"qi","Qia":"qw","Qian":"qm","Qiang":"qd","Qiao":"qc","Qie":"qx","Qin":"qn","Qing":"q;","Qiong":"qs","Qiu":"qq","Qu":"qu","Quan":"qr","Que":"qt","Qun":"qp","Ran":"rj","Rang":"rh","Rao":"rk","Re":"re","Ren":"rf","Reng":"rg","Ri":"ri","Rong":"rs","Rou":"rb","Ru":"ru","Rua":"rw","Ruan":"rr","Rui":"rv","Run":"rp","Ruo":"ro","Sa":"sa","Sai":"sl","San":"sj","Sang":"sh","Sao":"sk","Se":"se","Sen":"sf","Seng":"sg","Sha":"ua","Shai":"ul","Shan":"uj","Shang":"uh","Shao":"uk","She":"ue","Shei":"uz","Shen":"uf","Sheng":"ug","Shi":"ui","Shou":"ub","Shu":"uu","Shua":"uw","Shuai":"uy","Shuan":"ur","Shuang":"ud","Shui":"uv","Shun":"up","Shuo":"uo","Si":"si","Song":"ss","Sou":"sb","Su":"su","Suan":"sr","Sui":"sv","Sun":"sp","Suo":"so","Ta":"ta","Tai":"tl","Tan":"tj","Tang":"th","Tao":"tk","Te":"te","Tei":"tz","Teng":"tg","Ti":"ti","Tian":"tm","Tiao":"tc","Tie":"tx","Ting":"t;","Tong":"ts","Tou":"tb","Tu":"tu","Tuan":"tr","Tui":"tv","Tun":"tp","Tuo":"to","Xi":"xi","Xia":"xw","Xian":"xm","Xiang":"xd","Xiao":"xc","Xie":"xx","Xin":"xn","Xing":"x;","Xiong":"xs","Xiu":"xq","Xu":"xu","Xuan":"xr","Xue":"xt","Xun":"xp","Za":"za","Zai":"zl","Zan":"zj","Zang":"zh","Zao":"zk","Ze":"ze","Zei":"zz","Zen":"zf","Zeng":"zg","Zha":"va","Zhai":"vl","Zhan":"vj","Zhang":"vh","Zhao":"vk","Zhe":"ve","Zhen":"vf","Zheng":"vg","Zhi":"vi","Zhong":"vs","Zhou":"vb","Zhu":"vu","Zhua":"vw","Zhuai":"vy","Zhuan":"vr","Zhuang":"vd","Zhui":"vv","Zhun":"vp","Zhuo":"vo","Zi":"zi","Zong":"zs","Zou":"zb","Zu":"zu","Zuan":"zr","Zui":"zv","Zun":"zp","Zuo":"zo"},"ZhiNengABC":{"Lv":"lv","Lve":"lm","Lue":"lm","Nv":"nv","Nve":"nm","Nue":"nm","A":"oa","O":"oo","E":"oe","Ai":"ol","Ei":"oq","Ao":"ok","Ou":"ob","An":"oj","En":"of","Ang":"oh","Eng":"og","Er":"or","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"yk","You":"yb","Yan":"yj","Yin":"yc","Yang":"yh","Ying":"yy","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"wl","Wei":"wq","Wan":"wj","Wen":"wf","Wang":"wh","Weng":"wg","Yu":"yu","Yue":"ym","Yuan":"yp","Yun":"yn","Yong":"ys","Ba":"ba","Bai":"bl","Ban":"bj","Bang":"bh","Bao":"bk","Bei":"bq","Ben":"bf","Beng":"bg","Bi":"bi","Bian":"bw","Biang":"bt","Biao":"bz","Bie":"bx","Bin":"bc","Bing":"by","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"cl","Can":"cj","Cang":"ch","Cao":"ck","Ce":"ce","Cen":"cf","Ceng":"cg","Cha":"ea","Chai":"el","Chan":"ej","Chang":"eh","Chao":"ek","Che":"ee","Chen":"ef","Cheng":"eg","Chi":"ei","Chong":"es","Chou":"eb","Chu":"eu","Chua":"ed","Chuai":"ec","Chuan":"ep","Chuang":"et","Chui":"em","Chun":"en","Chuo":"eo","Ci":"ci","Cong":"cs","Cou":"cb","Cu":"cu","Cuan":"cp","Cui":"cm","Cun":"cn","Cuo":"co","Da":"da","Dai":"dl","Dan":"dj","Dang":"dh","Dao":"dk","De":"de","Dei":"dq","Den":"df","Deng":"dg","Di":"di","Dia":"dd","Dian":"dw","Diao":"dz","Die":"dx","Ding":"dy","Diu":"dr","Dong":"ds","Dou":"db","Du":"du","Duan":"dp","Dui":"dm","Dun":"dn","Duo":"do","Fa":"fa","Fan":"fj","Fang":"fh","Fei":"fq","Fen":"ff","Feng":"fg","Fiao":"fz","Fo":"fo","Fou":"fb","Fu":"fu","Ga":"ga","Gai":"gl","Gan":"gj","Gang":"gh","Gao":"gk","Ge":"ge","Gei":"gq","Gen":"gf","Geng":"gg","Gong":"gs","Gou":"gb","Gu":"gu","Gua":"gd","Guai":"gc","Guan":"gp","Guang":"gt","Gui":"gm","Gun":"gn","Guo":"go","Ha":"ha","Hai":"hl","Han":"hj","Hang":"hh","Hao":"hk","He":"he","Hei":"hq","Hen":"hf","Heng":"hg","Hong":"hs","Hou":"hb","Hu":"hu","Hua":"hd","Huai":"hc","Huan":"hp","Huang":"ht","Hui":"hm","Hun":"hn","Huo":"ho","Ji":"ji","Jia":"jd","Jian":"jw","Jiang":"jt","Jiao":"jz","Jie":"jx","Jin":"jc","Jing":"jy","Jiong":"js","Jiu":"jr","Ju":"ju","Juan":"jp","Jue":"jm","Jun":"jn","Ka":"ka","Kai":"kl","Kan":"kj","Kang":"kh","Kao":"kk","Ke":"ke","Ken":"kf","Keng":"kg","Kong":"ks","Kou":"kb","Ku":"ku","Kua":"kd","Kuai":"kc","Kuan":"kp","Kuang":"kt","Kui":"km","Kun":"kn","Kuo":"ko","La":"la","Lai":"ll","Lan":"lj","Lang":"lh","Lao":"lk","Le":"le","Lei":"lq","Leng":"lg","Li":"li","Lia":"ld","Lian":"lw","Liang":"lt","Liao":"lz","Lie":"lx","Lin":"lc","Ling":"ly","Liu":"lr","Lo":"lo","Long":"ls","Lou":"lb","Lu":"lu","Luan":"lp","Lun":"ln","Luo":"lo","Ma":"ma","Mai":"ml","Man":"mj","Mang":"mh","Mao":"mk","Me":"me","Mei":"mq","Men":"mf","Meng":"mg","Mi":"mi","Mian":"mw","Miao":"mz","Mie":"mx","Min":"mc","Ming":"my","Miu":"mr","Mo":"mo","Mou":"mb","Mu":"mu","Na":"na","Nai":"nl","Nan":"nj","Nang":"nh","Nao":"nk","Ne":"ne","Nei":"nq","Nen":"nf","Neng":"ng","Ni":"ni","Nian":"nw","Niang":"nt","Niao":"nz","Nie":"nx","Nin":"nc","Ning":"ny","Niu":"nr","Nong":"ns","Nou":"nb","Nu":"nu","Nuan":"np","Nun":"nn","Nuo":"no","Pa":"pa","Pai":"pl","Pan":"pj","Pang":"ph","Pao":"pk","Pei":"pq","Pen":"pf","Peng":"pg","Pi":"pi","Pian":"pw","Piao":"pz","Pie":"px","Pin":"pc","Ping":"py","Po":"po","Pou":"pb","Pu":"pu","Qi":"qi","Qia":"qd","Qian":"qw","Qiang":"qt","Qiao":"qz","Qie":"qx","Qin":"qc","Qing":"qy","Qiong":"qs","Qiu":"qr","Qu":"qu","Quan":"qp","Que":"qm","Qun":"qn","Ran":"rj","Rang":"rh","Rao":"rk","Re":"re","Ren":"rf","Reng":"rg","Ri":"ri","Rong":"rs","Rou":"rb","Ru":"ru","Rua":"rd","Ruan":"rp","Rui":"rm","Run":"rn","Ruo":"ro","Sa":"sa","Sai":"sl","San":"sj","Sang":"sh","Sao":"sk","Se":"se","Sen":"sf","Seng":"sg","Sha":"va","Shai":"vl","Shan":"vj","Shang":"vh","Shao":"vk","She":"ve","Shei":"vq","Shen":"vf","Sheng":"vg","Shi":"vi","Shou":"vb","Shu":"vu","Shua":"vd","Shuai":"vc","Shuan":"vp","Shuang":"vt","Shui":"vm","Shun":"vn","Shuo":"vo","Si":"si","Song":"ss","Sou":"sb","Su":"su","Suan":"sp","Sui":"sm","Sun":"sn","Suo":"so","Ta":"ta","Tai":"tl","Tan":"tj","Tang":"th","Tao":"tk","Te":"te","Tei":"tq","Teng":"tg","Ti":"ti","Tian":"tw","Tiao":"tz","Tie":"tx","Ting":"ty","Tong":"ts","Tou":"tb","Tu":"tu","Tuan":"tp","Tui":"tm","Tun":"tn","Tuo":"to","Xi":"xi","Xia":"xd","Xian":"xw","Xiang":"xt","Xiao":"xz","Xie":"xx","Xin":"xc","Xing":"xy","Xiong":"xs","Xiu":"xr","Xu":"xu","Xuan":"xp","Xue":"xm","Xun":"xn","Za":"za","Zai":"zl","Zan":"zj","Zang":"zh","Zao":"zk","Ze":"ze","Zei":"zq","Zen":"zf","Zeng":"zg","Zha":"aa","Zhai":"al","Zhan":"aj","Zhang":"ah","Zhao":"ak","Zhe":"ae","Zhen":"af","Zheng":"ag","Zhi":"ai","Zhong":"as","Zhou":"ab","Zhu":"au","Zhua":"ad","Zhuai":"ac","Zhuan":"ap","Zhuang":"at","Zhui":"am","Zhun":"an","Zhuo":"ao","Zi":"zi","Zong":"zs","Zou":"zb","Zu":"zu","Zuan":"zp","Zui":"zm","Zun":"zn","Zuo":"zo"},"ZiGuangPinYin":{"Lv":"lv","Lve":"ln","Lue":"ln","Nv":"nv","Nve":"nn","Nue":"nn","A":"oa","O":"oo","E":"oe","Ai":"op","Ei":"ok","Ao":"oq","Ou":"oz","An":"or","En":"ow","Ang":"os","Eng":"ot","Er":"oj","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"yq","You":"yz","Yan":"yr","Yin":"yy","Yang":"ys","Ying":"yc","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"wp","Wei":"wk","Wan":"wr","Wen":"ww","Wang":"ws","Weng":"wt","Yu":"yu","Yue":"yn","Yuan":"yl","Yun":"ym","Yong":"yh","Ba":"ba","Bai":"bp","Ban":"br","Bang":"bs","Bao":"bq","Bei":"bk","Ben":"bw","Beng":"bt","Bi":"bi","Bian":"bf","Biang":"bg","Biao":"bb","Bie":"bd","Bin":"by","Bing":"bc","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"cp","Can":"cr","Cang":"cs","Cao":"cq","Ce":"ce","Cen":"cw","Ceng":"ct","Cha":"aa","Chai":"ap","Chan":"ar","Chang":"as","Chao":"aq","Che":"ae","Chen":"aw","Cheng":"at","Chi":"ai","Chong":"ah","Chou":"az","Chu":"au","Chua":"ax","Chuai":"ay","Chuan":"al","Chuang":"ag","Chui":"an","Chun":"am","Chuo":"ao","Ci":"ci","Cong":"ch","Cou":"cz","Cu":"cu","Cuan":"cl","Cui":"cn","Cun":"cm","Cuo":"co","Da":"da","Dai":"dp","Dan":"dr","Dang":"ds","Dao":"dq","De":"de","Dei":"dk","Den":"dw","Deng":"dt","Di":"di","Dia":"dx","Dian":"df","Diao":"db","Die":"dd","Ding":"dc","Diu":"dj","Dong":"dh","Dou":"dz","Du":"du","Duan":"dl","Dui":"dn","Dun":"dm","Duo":"do","Fa":"fa","Fan":"fr","Fang":"fs","Fei":"fk","Fen":"fw","Feng":"ft","Fiao":"fb","Fo":"fo","Fou":"fz","Fu":"fu","Ga":"ga","Gai":"gp","Gan":"gr","Gang":"gs","Gao":"gq","Ge":"ge","Gei":"gk","Gen":"gw","Geng":"gt","Gong":"gh","Gou":"gz","Gu":"gu","Gua":"gx","Guai":"gy","Guan":"gl","Guang":"gg","Gui":"gn","Gun":"gm","Guo":"go","Ha":"ha","Hai":"hp","Han":"hr","Hang":"hs","Hao":"hq","He":"he","Hei":"hk","Hen":"hw","Heng":"ht","Hong":"hh","Hou":"hz","Hu":"hu","Hua":"hx","Huai":"hy","Huan":"hl","Huang":"hg","Hui":"hn","Hun":"hm","Huo":"ho","Ji":"ji","Jia":"jx","Jian":"jf","Jiang":"jg","Jiao":"jb","Jie":"jd","Jin":"jy","Jing":"jc","Jiong":"jh","Jiu":"jj","Ju":"ju","Juan":"jl","Jue":"jn","Jun":"jm","Ka":"ka","Kai":"kp","Kan":"kr","Kang":"ks","Kao":"kq","Ke":"ke","Ken":"kw","Keng":"kt","Kong":"kh","Kou":"kz","Ku":"ku","Kua":"kx","Kuai":"ky","Kuan":"kl","Kuang":"kg","Kui":"kn","Kun":"km","Kuo":"ko","La":"la","Lai":"lp","Lan":"lr","Lang":"ls","Lao":"lq","Le":"le","Lei":"lk","Leng":"lt","Li":"li","Lia":"lx","Lian":"lf","Liang":"lg","Liao":"lb","Lie":"ld","Lin":"ly","Ling":"lc","Liu":"lj","Lo":"lo","Long":"lh","Lou":"lz","Lu":"lu","Luan":"ll","Lun":"lm","Luo":"lo","Ma":"ma","Mai":"mp","Man":"mr","Mang":"ms","Mao":"mq","Me":"me","Mei":"mk","Men":"mw","Meng":"mt","Mi":"mi","Mian":"mf","Miao":"mb","Mie":"md","Min":"my","Ming":"mc","Miu":"mj","Mo":"mo","Mou":"mz","Mu":"mu","Na":"na","Nai":"np","Nan":"nr","Nang":"ns","Nao":"nq","Ne":"ne","Nei":"nk","Nen":"nw","Neng":"nt","Ni":"ni","Nian":"nf","Niang":"ng","Niao":"nb","Nie":"nd","Nin":"ny","Ning":"nc","Niu":"nj","Nong":"nh","Nou":"nz","Nu":"nu","Nuan":"nl","Nun":"nm","Nuo":"no","Pa":"pa","Pai":"pp","Pan":"pr","Pang":"ps","Pao":"pq","Pei":"pk","Pen":"pw","Peng":"pt","Pi":"pi","Pian":"pf","Piao":"pb","Pie":"pd","Pin":"py","Ping":"pc","Po":"po","Pou":"pz","Pu":"pu","Qi":"qi","Qia":"qx","Qian":"qf","Qiang":"qg","Qiao":"qb","Qie":"qd","Qin":"qy","Qing":"qc","Qiong":"qh","Qiu":"qj","Qu":"qu","Quan":"ql","Que":"qn","Qun":"qm","Ran":"rr","Rang":"rs","Rao":"rq","Re":"re","Ren":"rw","Reng":"rt","Ri":"ri","Rong":"rh","Rou":"rz","Ru":"ru","Rua":"rx","Ruan":"rl","Rui":"rn","Run":"rm","Ruo":"ro","Sa":"sa","Sai":"sp","San":"sr","Sang":"ss","Sao":"sq","Se":"se","Sen":"sw","Seng":"st","Sha":"ia","Shai":"ip","Shan":"ir","Shang":"is","Shao":"iq","She":"ie","Shei":"ik","Shen":"iw","Sheng":"it","Shi":"ii","Shou":"iz","Shu":"iu","Shua":"ix","Shuai":"iy","Shuan":"il","Shuang":"ig","Shui":"in","Shun":"im","Shuo":"io","Si":"si","Song":"sh","Sou":"sz","Su":"su","Suan":"sl","Sui":"sn","Sun":"sm","Suo":"so","Ta":"ta","Tai":"tp","Tan":"tr","Tang":"ts","Tao":"tq","Te":"te","Tei":"tk","Teng":"tt","Ti":"ti","Tian":"tf","Tiao":"tb","Tie":"td","Ting":"tc","Tong":"th","Tou":"tz","Tu":"tu","Tuan":"tl","Tui":"tn","Tun":"tm","Tuo":"to","Xi":"xi","Xia":"xx","Xian":"xf","Xiang":"xg","Xiao":"xb","Xie":"xd","Xin":"xy","Xing":"xc","Xiong":"xh","Xiu":"xj","Xu":"xu","Xuan":"xl","Xue":"xn","Xun":"xm","Za":"za","Zai":"zp","Zan":"zr","Zang":"zs","Zao":"zq","Ze":"ze","Zei":"zk","Zen":"zw","Zeng":"zt","Zha":"ua","Zhai":"up","Zhan":"ur","Zhang":"us","Zhao":"uq","Zhe":"ue","Zhen":"uw","Zheng":"ut","Zhi":"ui","Zhong":"uh","Zhou":"uz","Zhu":"uu","Zhua":"ux","Zhuai":"uy","Zhuan":"ul","Zhuang":"ug","Zhui":"un","Zhun":"um","Zhuo":"uo","Zi":"zi","Zong":"zh","Zou":"zz","Zu":"zu","Zuan":"zl","Zui":"zn","Zun":"zm","Zuo":"zo"},"PinYinJiaJia":{"Lv":"lv","Lve":"lx","Lue":"lx","Nv":"nv","Nve":"nx","Nue":"nx","A":"aa","O":"oo","E":"ee","Ai":"as","Ei":"ew","Ao":"ad","Ou":"op","An":"af","En":"er","Ang":"ag","Eng":"et","Er":"eq","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"yd","You":"yp","Yan":"yf","Yin":"yl","Yang":"yg","Ying":"yq","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"ws","Wei":"ww","Wan":"wf","Wen":"wr","Wang":"wg","Weng":"wt","Yu":"yu","Yue":"yx","Yuan":"yc","Yun":"yz","Yong":"yy","Ba":"ba","Bai":"bs","Ban":"bf","Bang":"bg","Bao":"bd","Bei":"bw","Ben":"br","Beng":"bt","Bi":"bi","Bian":"bj","Biang":"bh","Biao":"bk","Bie":"bm","Bin":"bl","Bing":"bq","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"cs","Can":"cf","Cang":"cg","Cao":"cd","Ce":"ce","Cen":"cr","Ceng":"ct","Cha":"ua","Chai":"us","Chan":"uf","Chang":"ug","Chao":"ud","Che":"ue","Chen":"ur","Cheng":"ut","Chi":"ui","Chong":"uy","Chou":"up","Chu":"uu","Chua":"ub","Chuai":"ux","Chuan":"uc","Chuang":"uh","Chui":"uv","Chun":"uz","Chuo":"uo","Ci":"ci","Cong":"cy","Cou":"cp","Cu":"cu","Cuan":"cc","Cui":"cv","Cun":"cz","Cuo":"co","Da":"da","Dai":"ds","Dan":"df","Dang":"dg","Dao":"dd","De":"de","Dei":"dw","Den":"dr","Deng":"dt","Di":"di","Dia":"db","Dian":"dj","Diao":"dk","Die":"dm","Ding":"dq","Diu":"dn","Dong":"dy","Dou":"dp","Du":"du","Duan":"dc","Dui":"dv","Dun":"dz","Duo":"do","Fa":"fa","Fan":"ff","Fang":"fg","Fei":"fw","Fen":"fr","Feng":"ft","Fiao":"fk","Fo":"fo","Fou":"fp","Fu":"fu","Ga":"ga","Gai":"gs","Gan":"gf","Gang":"gg","Gao":"gd","Ge":"ge","Gei":"gw","Gen":"gr","Geng":"gt","Gong":"gy","Gou":"gp","Gu":"gu","Gua":"gb","Guai":"gx","Guan":"gc","Guang":"gh","Gui":"gv","Gun":"gz","Guo":"go","Ha":"ha","Hai":"hs","Han":"hf","Hang":"hg","Hao":"hd","He":"he","Hei":"hw","Hen":"hr","Heng":"ht","Hong":"hy","Hou":"hp","Hu":"hu","Hua":"hb","Huai":"hx","Huan":"hc","Huang":"hh","Hui":"hv","Hun":"hz","Huo":"ho","Ji":"ji","Jia":"jb","Jian":"jj","Jiang":"jh","Jiao":"jk","Jie":"jm","Jin":"jl","Jing":"jq","Jiong":"jy","Jiu":"jn","Ju":"ju","Juan":"jc","Jue":"jx","Jun":"jz","Ka":"ka","Kai":"ks","Kan":"kf","Kang":"kg","Kao":"kd","Ke":"ke","Ken":"kr","Keng":"kt","Kong":"ky","Kou":"kp","Ku":"ku","Kua":"kb","Kuai":"kx","Kuan":"kc","Kuang":"kh","Kui":"kv","Kun":"kz","Kuo":"ko","La":"la","Lai":"ls","Lan":"lf","Lang":"lg","Lao":"ld","Le":"le","Lei":"lw","Leng":"lt","Li":"li","Lia":"lb","Lian":"lj","Liang":"lh","Liao":"lk","Lie":"lm","Lin":"ll","Ling":"lq","Liu":"ln","Lo":"lo","Long":"ly","Lou":"lp","Lu":"lu","Luan":"lc","Lun":"lz","Luo":"lo","Ma":"ma","Mai":"ms","Man":"mf","Mang":"mg","Mao":"md","Me":"me","Mei":"mw","Men":"mr","Meng":"mt","Mi":"mi","Mian":"mj","Miao":"mk","Mie":"mm","Min":"ml","Ming":"mq","Miu":"mn","Mo":"mo","Mou":"mp","Mu":"mu","Na":"na","Nai":"ns","Nan":"nf","Nang":"ng","Nao":"nd","Ne":"ne","Nei":"nw","Nen":"nr","Neng":"nt","Ni":"ni","Nian":"nj","Niang":"nh","Niao":"nk","Nie":"nm","Nin":"nl","Ning":"nq","Niu":"nn","Nong":"ny","Nou":"np","Nu":"nu","Nuan":"nc","Nun":"nz","Nuo":"no","Pa":"pa","Pai":"ps","Pan":"pf","Pang":"pg","Pao":"pd","Pei":"pw","Pen":"pr","Peng":"pt","Pi":"pi","Pian":"pj","Piao":"pk","Pie":"pm","Pin":"pl","Ping":"pq","Po":"po","Pou":"pp","Pu":"pu","Qi":"qi","Qia":"qb","Qian":"qj","Qiang":"qh","Qiao":"qk","Qie":"qm","Qin":"ql","Qing":"qq","Qiong":"qy","Qiu":"qn","Qu":"qu","Quan":"qc","Que":"qx","Qun":"qz","Ran":"rf","Rang":"rg","Rao":"rd","Re":"re","Ren":"rr","Reng":"rt","Ri":"ri","Rong":"ry","Rou":"rp","Ru":"ru","Rua":"rb","Ruan":"rc","Rui":"rv","Run":"rz","Ruo":"ro","Sa":"sa","Sai":"ss","San":"sf","Sang":"sg","Sao":"sd","Se":"se","Sen":"sr","Seng":"st","Sha":"ia","Shai":"is","Shan":"if","Shang":"ig","Shao":"id","She":"ie","Shei":"iw","Shen":"ir","Sheng":"it","Shi":"ii","Shou":"ip","Shu":"iu","Shua":"ib","Shuai":"ix","Shuan":"ic","Shuang":"ih","Shui":"iv","Shun":"iz","Shuo":"io","Si":"si","Song":"sy","Sou":"sp","Su":"su","Suan":"sc","Sui":"sv","Sun":"sz","Suo":"so","Ta":"ta","Tai":"ts","Tan":"tf","Tang":"tg","Tao":"td","Te":"te","Tei":"tw","Teng":"tt","Ti":"ti","Tian":"tj","Tiao":"tk","Tie":"tm","Ting":"tq","Tong":"ty","Tou":"tp","Tu":"tu","Tuan":"tc","Tui":"tv","Tun":"tz","Tuo":"to","Xi":"xi","Xia":"xb","Xian":"xj","Xiang":"xh","Xiao":"xk","Xie":"xm","Xin":"xl","Xing":"xq","Xiong":"xy","Xiu":"xn","Xu":"xu","Xuan":"xc","Xue":"xx","Xun":"xz","Za":"za","Zai":"zs","Zan":"zf","Zang":"zg","Zao":"zd","Ze":"ze","Zei":"zw","Zen":"zr","Zeng":"zt","Zha":"va","Zhai":"vs","Zhan":"vf","Zhang":"vg","Zhao":"vd","Zhe":"ve","Zhen":"vr","Zheng":"vt","Zhi":"vi","Zhong":"vy","Zhou":"vp","Zhu":"vu","Zhua":"vb","Zhuai":"vx","Zhuan":"vc","Zhuang":"vh","Zhui":"vv","Zhun":"vz","Zhuo":"vo","Zi":"zi","Zong":"zy","Zou":"zp","Zu":"zu","Zuan":"zc","Zui":"zv","Zun":"zz","Zuo":"zo"},"XingKongJianDao":{"Lv":"lv","Lve":"ly","Lue":"ly","Nv":"nv","Nve":"ny","Nue":"ny","A":"xa","O":"xo","E":"xe","Ai":"xj","Ei":"xw","Ao":"xs","Ou":"xt","An":"xd","En":"xk","Ang":"xf","Eng":"xh","Er":"xu","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"ys","You":"yt","Yan":"yd","Yin":"yb","Yang":"yf","Ying":"yg","Wu":"wj","Wa":"ws","Wo":"wo","Wai":"wh","Wei":"ww","Wan":"wf","Wen":"wn","Wang":"wp","Weng":"wr","Yu":"yv","Yue":"yy","Yuan":"yr","Yun":"yw","Yong":"yl","Ba":"ba","Bai":"bj","Ban":"bd","Bang":"bf","Bao":"bs","Bei":"bw","Ben":"bk","Beng":"bh","Bi":"bi","Bian":"bm","Biang":"bx","Biao":"bp","Bie":"bc","Bin":"bb","Bing":"bg","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"cj","Can":"cd","Cang":"cf","Cao":"cs","Ce":"ce","Cen":"ck","Ceng":"ch","Cha":"ja","Chai":"jj","Chan":"jd","Chang":"jf","Chao":"js","Che":"je","Chen":"jk","Cheng":"jh","Chi":"wi","Chong":"wl","Chou":"jt","Chu":"ju","Chua":"wx","Chuai":"wg","Chuan":"wr","Chuang":"wn","Chui":"wy","Chun":"jz","Chuo":"jo","Ci":"ci","Cong":"cl","Cou":"ct","Cu":"cu","Cuan":"cr","Cui":"cy","Cun":"cz","Cuo":"co","Da":"da","Dai":"dj","Dan":"dd","Dang":"df","Dao":"ds","De":"de","Dei":"dw","Den":"dk","Deng":"dh","Di":"di","Dia":"dx","Dian":"dm","Diao":"dp","Die":"dc","Ding":"dg","Diu":"dq","Dong":"dl","Dou":"dt","Du":"du","Duan":"dr","Dui":"dy","Dun":"dz","Duo":"do","Fa":"fs","Fan":"ff","Fang":"fp","Fei":"fw","Fen":"fn","Feng":"fr","Fiao":"fp","Fo":"fl","Fou":"fd","Fu":"fl","Ga":"ga","Gai":"gj","Gan":"gd","Gang":"gf","Gao":"gs","Ge":"ge","Gei":"gw","Gen":"gk","Geng":"gh","Gong":"gl","Gou":"gt","Gu":"gu","Gua":"gx","Guai":"gg","Guan":"gr","Guang":"gn","Gui":"gy","Gun":"gz","Guo":"go","Ha":"ha","Hai":"hj","Han":"hd","Hang":"hf","Hao":"hs","He":"he","Hei":"hw","Hen":"hk","Heng":"hh","Hong":"hl","Hou":"ht","Hu":"hu","Hua":"hx","Huai":"hg","Huan":"hr","Huang":"hn","Hui":"hy","Hun":"hz","Huo":"ho","Ji":"jk","Jia":"js","Jian":"jm","Jiang":"jn","Jiao":"jp","Jie":"jc","Jin":"jb","Jing":"jg","Jiong":"jy","Jiu":"jq","Ju":"jv","Juan":"jt","Jue":"jh","Jun":"jw","Ka":"ka","Kai":"kj","Kan":"kd","Kang":"kf","Kao":"ks","Ke":"ke","Ken":"kk","Keng":"kh","Kong":"kl","Kou":"kt","Ku":"ku","Kua":"kx","Kuai":"kg","Kuan":"kr","Kuang":"kn","Kui":"ky","Kun":"kz","Kuo":"ko","La":"la","Lai":"lj","Lan":"ld","Lang":"lf","Lao":"ls","Le":"le","Lei":"lw","Leng":"lh","Li":"li","Lia":"lx","Lian":"lm","Liang":"ln","Liao":"lp","Lie":"lc","Lin":"lb","Ling":"lg","Liu":"lq","Lo":"ll","Long":"ll","Lou":"lt","Lu":"lu","Luan":"lr","Lun":"lz","Luo":"lo","Ma":"ma","Mai":"mj","Man":"md","Mang":"mf","Mao":"ms","Me":"me","Mei":"mw","Men":"mk","Meng":"mh","Mi":"mi","Mian":"mm","Miao":"mp","Mie":"mc","Min":"mb","Ming":"mg","Miu":"mq","Mo":"mo","Mou":"mt","Mu":"mu","Na":"na","Nai":"nj","Nan":"nd","Nang":"nf","Nao":"ns","Ne":"ne","Nei":"nw","Nen":"nk","Neng":"nh","Ni":"ni","Nian":"nm","Niang":"nn","Niao":"np","Nie":"nc","Nin":"nb","Ning":"ng","Niu":"nq","Nong":"nl","Nou":"nt","Nu":"nu","Nuan":"nr","Nun":"nz","Nuo":"no","Pa":"pa","Pai":"pj","Pan":"pd","Pang":"pf","Pao":"ps","Pei":"pw","Pen":"pk","Peng":"ph","Pi":"pi","Pian":"pm","Piao":"pp","Pie":"pc","Pin":"pb","Ping":"pg","Po":"po","Pou":"pt","Pu":"pu","Qi":"qk","Qia":"qs","Qian":"qm","Qiang":"qx","Qiao":"qp","Qie":"qc","Qin":"qb","Qing":"qg","Qiong":"qy","Qiu":"qq","Qu":"qv","Quan":"qt","Que":"qh","Qun":"qw","Ran":"rd","Rang":"rf","Rao":"rs","Re":"re","Ren":"rk","Reng":"rh","Ri":"ri","Rong":"rl","Rou":"rt","Ru":"ru","Rua":"rx","Ruan":"rr","Rui":"ry","Run":"rz","Ruo":"ro","Sa":"sa","Sai":"sj","San":"sd","Sang":"sf","Sao":"ss","Se":"se","Sen":"sk","Seng":"sh","Sha":"ea","Shai":"ej","Shan":"ed","Shang":"ef","Shao":"es","She":"ee","Shei":"ew","Shen":"ek","Sheng":"eh","Shi":"ei","Shou":"et","Shu":"eu","Shua":"ex","Shuai":"eg","Shuan":"er","Shuang":"en","Shui":"ey","Shun":"ez","Shuo":"eo","Si":"si","Song":"sl","Sou":"st","Su":"su","Suan":"sr","Sui":"sy","Sun":"sz","Suo":"so","Ta":"ta","Tai":"tj","Tan":"td","Tang":"tf","Tao":"ts","Te":"te","Tei":"tw","Teng":"th","Ti":"ti","Tian":"tm","Tiao":"tp","Tie":"tc","Ting":"tg","Tong":"tl","Tou":"tt","Tu":"tu","Tuan":"tr","Tui":"ty","Tun":"tz","Tuo":"to","Xi":"xi","Xia":"xx","Xian":"xm","Xiang":"xn","Xiao":"xp","Xie":"xc","Xin":"xb","Xing":"xg","Xiong":"xl","Xiu":"xq","Xu":"xv","Xuan":"xr","Xue":"xy","Xun":"xw","Za":"za","Zai":"zj","Zan":"zd","Zang":"zf","Zao":"zs","Ze":"ze","Zei":"zw","Zen":"zk","Zeng":"zh","Zha":"qa","Zhai":"fj","Zhan":"qd","Zhang":"qf","Zhao":"fs","Zhe":"fe","Zhen":"qk","Zheng":"qh","Zhi":"fi","Zhong":"fy","Zhou":"qt","Zhu":"qu","Zhua":"fx","Zhuai":"fg","Zhuan":"fr","Zhuang":"fn","Zhui":"fy","Zhun":"fz","Zhuo":"qo","Zi":"zi","Zong":"zl","Zou":"zt","Zu":"zu","Zuan":"zr","Zui":"zy","Zun":"zz","Zuo":"zo"},"DaNiu":{"Lv":"lv","Lve":"lx","Lue":"lx","Nv":"nv","Nve":"nx","Nue":"nx","A":"ea","O":"eo","E":"ee","Ai":"eh","Ei":"ew","Ao":"es","Ou":"er","An":"ed","En":"ek","Ang":"ef","Eng":"ej","Er":"eu","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"ys","You":"yr","Yan":"yd","Yin":"yb","Yang":"yf","Ying":"yg","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"wh","Wei":"ww","Wan":"wd","Wen":"wk","Wang":"wf","Weng":"wj","Yu":"yu","Yue":"yh","Yuan":"yj","Yun":"yw","Yong":"yl","Ba":"ba","Bai":"bh","Ban":"bd","Bang":"bf","Bao":"bs","Bei":"bw","Ben":"bk","Beng":"bj","Bi":"bi","Bian":"bc","Biang":"bn","Biao":"bm","Bie":"bp","Bin":"bb","Bing":"bg","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"ch","Can":"cd","Cang":"cf","Cao":"cs","Ce":"ce","Cen":"ck","Ceng":"cj","Cha":"ia","Chai":"ih","Chan":"id","Chang":"if","Chao":"is","Che":"ie","Chen":"ik","Cheng":"ij","Chi":"ii","Chong":"il","Chou":"ir","Chu":"iu","Chua":"iq","Chuai":"ig","Chuan":"iz","Chuang":"ix","Chui":"in","Chun":"iy","Chuo":"io","Ci":"ci","Cong":"cl","Cou":"cr","Cu":"cu","Cuan":"cz","Cui":"cn","Cun":"cy","Cuo":"co","Da":"da","Dai":"dh","Dan":"dd","Dang":"df","Dao":"ds","De":"de","Dei":"dw","Den":"dk","Deng":"dj","Di":"di","Dia":"dk","Dian":"dc","Diao":"dm","Die":"dp","Ding":"dg","Diu":"dt","Dong":"dl","Dou":"dr","Du":"du","Duan":"dz","Dui":"dn","Dun":"dy","Duo":"do","Fa":"fa","Fan":"fd","Fang":"ff","Fei":"fw","Fen":"fk","Feng":"fj","Fiao":"fm","Fo":"fo","Fou":"fr","Fu":"fu","Ga":"ga","Gai":"gh","Gan":"gd","Gang":"gf","Gao":"gs","Ge":"ge","Gei":"gw","Gen":"gk","Geng":"gj","Gong":"gl","Gou":"gr","Gu":"gu","Gua":"gq","Guai":"gg","Guan":"gz","Guang":"gx","Gui":"gn","Gun":"gy","Guo":"go","Ha":"ha","Hai":"hh","Han":"hd","Hang":"hf","Hao":"hs","He":"he","Hei":"hw","Hen":"hk","Heng":"hj","Hong":"hl","Hou":"hr","Hu":"hu","Hua":"hq","Huai":"hg","Huan":"hz","Huang":"hx","Hui":"hn","Hun":"hy","Huo":"ho","Ji":"ji","Jia":"jk","Jian":"jc","Jiang":"jn","Jiao":"jm","Jie":"jp","Jin":"jb","Jing":"jg","Jiong":"jl","Jiu":"jt","Ju":"ju","Juan":"jj","Jue":"jh","Jun":"jw","Ka":"ka","Kai":"kh","Kan":"kd","Kang":"kf","Kao":"ks","Ke":"ke","Ken":"kk","Keng":"kj","Kong":"kl","Kou":"kr","Ku":"ku","Kua":"kq","Kuai":"kg","Kuan":"kz","Kuang":"kx","Kui":"kn","Kun":"ky","Kuo":"ko","La":"la","Lai":"lh","Lan":"ld","Lang":"lf","Lao":"ls","Le":"le","Lei":"lw","Leng":"lj","Li":"li","Lia":"lk","Lian":"lc","Liang":"ln","Liao":"lm","Lie":"lp","Lin":"lb","Ling":"lg","Liu":"lt","Lo":"lo","Long":"ll","Lou":"lr","Lu":"lu","Luan":"lz","Lun":"ly","Luo":"lo","Ma":"ma","Mai":"mh","Man":"md","Mang":"mf","Mao":"ms","Me":"me","Mei":"mw","Men":"mk","Meng":"mj","Mi":"mi","Mian":"mc","Miao":"mm","Mie":"mp","Min":"mb","Ming":"mg","Miu":"mt","Mo":"mo","Mou":"mr","Mu":"mu","Na":"na","Nai":"nh","Nan":"nd","Nang":"nf","Nao":"ns","Ne":"ne","Nei":"nw","Nen":"nk","Neng":"nj","Ni":"ni","Nian":"nc","Niang":"nn","Niao":"nm","Nie":"np","Nin":"nb","Ning":"ng","Niu":"nt","Nong":"nl","Nou":"nr","Nu":"nu","Nuan":"nz","Nun":"ny","Nuo":"no","Pa":"pa","Pai":"ph","Pan":"pd","Pang":"pf","Pao":"ps","Pei":"pw","Pen":"pk","Peng":"pj","Pi":"pi","Pian":"pc","Piao":"pm","Pie":"pp","Pin":"pb","Ping":"pg","Po":"po","Pou":"pr","Pu":"pu","Qi":"qi","Qia":"qk","Qian":"qc","Qiang":"qn","Qiao":"qm","Qie":"qp","Qin":"qb","Qing":"qg","Qiong":"ql","Qiu":"qt","Qu":"qu","Quan":"qj","Que":"qh","Qun":"qw","Ran":"rd","Rang":"rf","Rao":"rs","Re":"re","Ren":"rk","Reng":"rj","Ri":"ri","Rong":"rl","Rou":"rr","Ru":"ru","Rua":"rq","Ruan":"rz","Rui":"rn","Run":"ry","Ruo":"ro","Sa":"sa","Sai":"sh","San":"sd","Sang":"sf","Sao":"ss","Se":"se","Sen":"sk","Seng":"sj","Sha":"ua","Shai":"uh","Shan":"ud","Shang":"uf","Shao":"us","She":"ue","Shei":"uw","Shen":"uk","Sheng":"uj","Shi":"ui","Shou":"ur","Shu":"uu","Shua":"uq","Shuai":"ug","Shuan":"uz","Shuang":"ux","Shui":"un","Shun":"uy","Shuo":"uo","Si":"si","Song":"sl","Sou":"sr","Su":"su","Suan":"sz","Sui":"sn","Sun":"sy","Suo":"so","Ta":"ta","Tai":"th","Tan":"td","Tang":"tf","Tao":"ts","Te":"te","Tei":"tw","Teng":"tj","Ti":"ti","Tian":"tc","Tiao":"tm","Tie":"tp","Ting":"tg","Tong":"tl","Tou":"tr","Tu":"tu","Tuan":"tz","Tui":"tn","Tun":"ty","Tuo":"to","Xi":"xi","Xia":"xk","Xian":"xc","Xiang":"xn","Xiao":"xm","Xie":"xp","Xin":"xb","Xing":"xg","Xiong":"xl","Xiu":"xt","Xu":"xu","Xuan":"xj","Xue":"xh","Xun":"xw","Za":"za","Zai":"zh","Zan":"zd","Zang":"zf","Zao":"zs","Ze":"ze","Zei":"zw","Zen":"zk","Zeng":"zj","Zha":"aa","Zhai":"ah","Zhan":"ad","Zhang":"af","Zhao":"as","Zhe":"ae","Zhen":"ak","Zheng":"aj","Zhi":"ai","Zhong":"al","Zhou":"ar","Zhu":"au","Zhua":"aq","Zhuai":"ag","Zhuan":"az","Zhuang":"ax","Zhui":"an","Zhun":"ay","Zhuo":"ao","Zi":"zi","Zong":"zl","Zou":"zr","Zu":"zu","Zuan":"zz","Zui":"zn","Zun":"zy","Zuo":"zo"},"XiaoLang":{"Lv":"lx","Lve":"lb","Lue":"lb","Nv":"nx","Nve":"nb","Nue":"nb","A":"aa","O":"oo","E":"uu","Ai":"ai","Ei":"ui","Ao":"ao","Ou":"ou","An":"an","En":"un","Ang":"ah","Eng":"un","Er":"ur","Yi":"yi","Ya":"ya","Yo":"yo","Ye":"ye","Yao":"ys","You":"yr","Yan":"yj","Yin":"yd","Yang":"yh","Ying":"yv","Wu":"wu","Wa":"wa","Wo":"wo","Wai":"wk","Wei":"ww","Wan":"wj","Wen":"wm","Wang":"wh","Weng":"wn","Yu":"yu","Yue":"yb","Yuan":"yg","Yun":"yy","Yong":"yl","Ba":"ba","Bai":"bk","Ban":"bj","Bang":"bh","Bao":"bs","Bei":"bw","Ben":"bm","Beng":"bn","Bi":"bi","Bian":"bf","Biang":"bm","Biao":"bc","Bie":"bp","Bin":"bd","Bing":"bv","Bo":"bo","Bu":"bu","Ca":"ca","Cai":"ck","Can":"cj","Cang":"ch","Cao":"cs","Ce":"ce","Cen":"cm","Ceng":"cn","Cha":"ia","Chai":"ik","Chan":"ij","Chang":"ih","Chao":"is","Che":"ie","Chen":"im","Cheng":"in","Chi":"ii","Chong":"il","Chou":"ir","Chu":"iu","Chua":"if","Chuai":"iv","Chuan":"ig","Chuang":"iz","Chui":"id","Chun":"iy","Chuo":"io","Ci":"ci","Cong":"cl","Cou":"cr","Cu":"cu","Cuan":"cg","Cui":"cd","Cun":"cy","Cuo":"co","Da":"da","Dai":"dk","Dan":"dj","Dang":"dh","Dao":"ds","De":"de","Dei":"dw","Den":"dm","Deng":"dn","Di":"di","Dia":"dk","Dian":"df","Diao":"dc","Die":"dp","Ding":"dv","Diu":"dt","Dong":"dl","Dou":"dr","Du":"du","Duan":"dg","Dui":"dd","Dun":"dy","Duo":"do","Fa":"fa","Fan":"fj","Fang":"fh","Fei":"fw","Fen":"fm","Feng":"fn","Fiao":"fc","Fo":"fo","Fou":"fr","Fu":"fu","Ga":"ga","Gai":"gk","Gan":"gj","Gang":"gh","Gao":"gs","Ge":"ge","Gei":"gw","Gen":"gm","Geng":"gn","Gong":"gl","Gou":"gr","Gu":"gu","Gua":"gf","Guai":"gv","Guan":"gg","Guang":"gz","Gui":"gd","Gun":"gy","Guo":"go","Ha":"ha","Hai":"hk","Han":"hj","Hang":"hh","Hao":"hs","He":"he","Hei":"hw","Hen":"hm","Heng":"hn","Hong":"hl","Hou":"hr","Hu":"hu","Hua":"hf","Huai":"hv","Huan":"hg","Huang":"hz","Hui":"hd","Hun":"hy","Huo":"ho","Ji":"ji","Jia":"jk","Jian":"jf","Jiang":"jm","Jiao":"jc","Jie":"jp","Jin":"jd","Jing":"jv","Jiong":"jj","Jiu":"jt","Ju":"ju","Juan":"jg","Jue":"jb","Jun":"jy","Ka":"ka","Kai":"kk","Kan":"kj","Kang":"kh","Kao":"ks","Ke":"ke","Ken":"km","Keng":"kn","Kong":"kl","Kou":"kr","Ku":"ku","Kua":"kf","Kuai":"kv","Kuan":"kg","Kuang":"kz","Kui":"kd","Kun":"ky","Kuo":"ko","La":"la","Lai":"lk","Lan":"lj","Lang":"lh","Lao":"ls","Le":"le","Lei":"lw","Leng":"ln","Li":"li","Lia":"lk","Lian":"lf","Liang":"lm","Liao":"lc","Lie":"lp","Lin":"ld","Ling":"lv","Liu":"lt","Lo":"lo","Long":"ll","Lou":"lr","Lu":"lu","Luan":"lg","Lun":"ly","Luo":"lo","Ma":"ma","Mai":"mk","Man":"mj","Mang":"mh","Mao":"ms","Me":"me","Mei":"mw","Men":"mm","Meng":"mn","Mi":"mi","Mian":"mf","Miao":"mc","Mie":"mp","Min":"md","Ming":"mv","Miu":"mt","Mo":"mo","Mou":"mr","Mu":"mu","Na":"na","Nai":"nk","Nan":"nj","Nang":"nh","Nao":"ns","Ne":"ne","Nei":"nw","Nen":"nm","Neng":"nn","Ni":"ni","Nian":"nf","Niang":"nm","Niao":"nc","Nie":"np","Nin":"nd","Ning":"nv","Niu":"nt","Nong":"nl","Nou":"nr","Nu":"nu","Nuan":"ng","Nun":"ny","Nuo":"no","Pa":"pa","Pai":"pk","Pan":"pj","Pang":"ph","Pao":"ps","Pei":"pw","Pen":"pm","Peng":"pn","Pi":"pi","Pian":"pf","Piao":"pc","Pie":"pp","Pin":"pd","Ping":"pv","Po":"po","Pou":"pr","Pu":"pu","Qi":"qi","Qia":"qk","Qian":"qf","Qiang":"qm","Qiao":"qc","Qie":"qp","Qin":"qd","Qing":"qv","Qiong":"qj","Qiu":"qt","Qu":"qu","Quan":"qg","Que":"qb","Qun":"qy","Ran":"rj","Rang":"rh","Rao":"rs","Re":"re","Ren":"rm","Reng":"rn","Ri":"ri","Rong":"rl","Rou":"rr","Ru":"ru","Rua":"rf","Ruan":"rg","Rui":"rd","Run":"ry","Ruo":"ro","Sa":"sa","Sai":"sk","San":"sj","Sang":"sh","Sao":"ss","Se":"se","Sen":"sm","Seng":"sn","Sha":"va","Shai":"vk","Shan":"vj","Shang":"vh","Shao":"vs","She":"ve","Shei":"vw","Shen":"vm","Sheng":"vn","Shi":"vi","Shou":"vr","Shu":"vu","Shua":"vf","Shuai":"vv","Shuan":"vg","Shuang":"vz","Shui":"vd","Shun":"vy","Shuo":"vo","Si":"si","Song":"sl","Sou":"sr","Su":"su","Suan":"sg","Sui":"sd","Sun":"sy","Suo":"so","Ta":"ta","Tai":"tk","Tan":"tj","Tang":"th","Tao":"ts","Te":"te","Tei":"tw","Teng":"tn","Ti":"ti","Tian":"tf","Tiao":"tc","Tie":"tp","Ting":"tv","Tong":"tl","Tou":"tr","Tu":"tu","Tuan":"tg","Tui":"td","Tun":"ty","Tuo":"to","Xi":"xi","Xia":"xk","Xian":"xf","Xiang":"xm","Xiao":"xc","Xie":"xp","Xin":"xd","Xing":"xv","Xiong":"xj","Xiu":"xt","Xu":"xu","Xuan":"xg","Xue":"xb","Xun":"xy","Za":"za","Zai":"zk","Zan":"zj","Zang":"zh","Zao":"zs","Ze":"ze","Zei":"zw","Zen":"zm","Zeng":"zn","Zha":"ea","Zhai":"ek","Zhan":"ej","Zhang":"eh","Zhao":"es","Zhe":"ee","Zhen":"em","Zheng":"en","Zhi":"ei","Zhong":"el","Zhou":"er","Zhu":"eu","Zhua":"ef","Zhuai":"ev","Zhuan":"eg","Zhuang":"ez","Zhui":"ed","Zhun":"ey","Zhuo":"eo","Zi":"zi","Zong":"zl","Zou":"zr","Zu":"zu","Zuan":"zg","Zui":"zd","Zun":"zy","Zuo":"zo"}}
\ No newline at end of file
diff --git a/Flow.Launcher/ResultListBox.xaml b/Flow.Launcher/ResultListBox.xaml
index 8cb15400f..e469bb63b 100644
--- a/Flow.Launcher/ResultListBox.xaml
+++ b/Flow.Launcher/ResultListBox.xaml
@@ -36,6 +36,7 @@
+
@@ -66,7 +67,7 @@
Grid.Column="2"
Margin="0 0 10 0"
VerticalAlignment="Center"
- Visibility="{Binding ShowOpenResultHotkey}">
+ Visibility="{Binding Settings.ShowOpenResultHotkey, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}">
@@ -79,7 +80,7 @@
Style="{DynamicResource ItemHotkeyStyle}">
-
+
diff --git a/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs b/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs
index acdc305f4..f5f1e1297 100644
--- a/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs
+++ b/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs
@@ -36,6 +36,7 @@ public partial class SettingsPaneGeneralViewModel : BaseModel
public class SearchWindowAlignData : DropdownDataGeneric { }
public class SearchPrecisionData : DropdownDataGeneric { }
public class LastQueryModeData : DropdownDataGeneric { }
+ public class DoublePinyinSchemaData : DropdownDataGeneric { }
public bool StartFlowLauncherOnSystemStartup
{
@@ -240,6 +241,7 @@ public partial class SettingsPaneGeneralViewModel : BaseModel
DropdownDataGeneric.UpdateLabels(SearchWindowAligns);
DropdownDataGeneric.UpdateLabels(SearchPrecisionScores);
DropdownDataGeneric.UpdateLabels(LastQueryModes);
+ DropdownDataGeneric.UpdateLabels(DoublePinyinSchemas);
// Since we are using Binding instead of DynamicResource, we need to manually trigger the update
OnPropertyChanged(nameof(AlwaysPreviewToolTip));
}
@@ -325,9 +327,25 @@ public partial class SettingsPaneGeneralViewModel : BaseModel
public bool ShouldUsePinyin
{
get => Settings.ShouldUsePinyin;
- set => Settings.ShouldUsePinyin = value;
+ set
+ {
+ if (value == false && UseDoublePinyin == true)
+ {
+ UseDoublePinyin = false;
+ }
+ Settings.ShouldUsePinyin = value;
+ }
}
+ public bool UseDoublePinyin
+ {
+ set => Settings.UseDoublePinyin = value;
+ get => Settings.UseDoublePinyin;
+ }
+
+ public List DoublePinyinSchemas { get; } =
+ DropdownDataGeneric.GetValues("DoublePinyinSchemas");
+
public List Languages => _translater.LoadAvailableLanguages();
public string AlwaysPreviewToolTip => string.Format(
diff --git a/Flow.Launcher/SettingPages/ViewModels/SettingsPaneHotkeyViewModel.cs b/Flow.Launcher/SettingPages/ViewModels/SettingsPaneHotkeyViewModel.cs
index 7a7c19dd3..fdc9ef530 100644
--- a/Flow.Launcher/SettingPages/ViewModels/SettingsPaneHotkeyViewModel.cs
+++ b/Flow.Launcher/SettingPages/ViewModels/SettingsPaneHotkeyViewModel.cs
@@ -69,15 +69,33 @@ public partial class SettingsPaneHotkeyViewModel : BaseModel
return;
}
- var window = new CustomQueryHotkeySetting(Settings);
- window.UpdateItem(item);
- window.ShowDialog();
+ var settingItem = Settings.CustomPluginHotkeys.FirstOrDefault(o =>
+ o.ActionKeyword == item.ActionKeyword && o.Hotkey == item.Hotkey);
+ if (settingItem == null)
+ {
+ App.API.ShowMsgBox(App.API.GetTranslation("invalidPluginHotkey"));
+ return;
+ }
+
+ var window = new CustomQueryHotkeySetting(settingItem);
+ if (window.ShowDialog() is not true) return;
+
+ var index = Settings.CustomPluginHotkeys.IndexOf(settingItem);
+ Settings.CustomPluginHotkeys[index] = new CustomPluginHotkey(window.Hotkey, window.ActionKeyword);
+ HotKeyMapper.RemoveHotkey(settingItem.Hotkey); // remove origin hotkey
+ HotKeyMapper.SetCustomQueryHotkey(Settings.CustomPluginHotkeys[index]); // set new hotkey
}
[RelayCommand]
private void CustomHotkeyAdd()
{
- new CustomQueryHotkeySetting(Settings).ShowDialog();
+ var window = new CustomQueryHotkeySetting();
+ if (window.ShowDialog() is true)
+ {
+ var customHotkey = new CustomPluginHotkey(window.Hotkey, window.ActionKeyword);
+ Settings.CustomPluginHotkeys.Add(customHotkey);
+ HotKeyMapper.SetCustomQueryHotkey(customHotkey); // set new hotkey
+ }
}
[RelayCommand]
@@ -114,10 +132,18 @@ public partial class SettingsPaneHotkeyViewModel : BaseModel
return;
}
- var window = new CustomShortcutSetting(item.Key, item.Value, this);
+ var settingItem = Settings.CustomShortcuts.FirstOrDefault(o =>
+ o.Key == item.Key && o.Value == item.Value);
+ if (settingItem == null)
+ {
+ App.API.ShowMsgBox(App.API.GetTranslation("invalidShortcut"));
+ return;
+ }
+
+ var window = new CustomShortcutSetting(settingItem.Key, settingItem.Value, this);
if (window.ShowDialog() is not true) return;
- var index = Settings.CustomShortcuts.IndexOf(item);
+ var index = Settings.CustomShortcuts.IndexOf(settingItem);
Settings.CustomShortcuts[index] = new CustomShortcutModel(window.Key, window.Value);
}
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
index bbdcc7574..f11abac71 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
@@ -379,16 +379,44 @@
OnContent="{DynamicResource enable}" />
-
-
-
+
+
+
+
+
+
+
+
+
+
+
- Settings.ShowOpenResultHotkey ? Visibility.Visible : Visibility.Collapsed;
-
public Visibility ShowDefaultPreview => Result.PreviewPanel == null ? Visibility.Visible : Visibility.Collapsed;
public Visibility ShowCustomizedPreview => Result.PreviewPanel == null ? Visibility.Collapsed : Visibility.Visible;
@@ -152,8 +149,6 @@ namespace Flow.Launcher.ViewModel
private bool PreviewImageAvailable => !string.IsNullOrEmpty(Result.Preview.PreviewImagePath) || Result.Preview.PreviewDelegate != null;
- public string OpenResultModifiers => Settings.OpenResultModifiers;
-
public string ShowTitleToolTip => string.IsNullOrEmpty(Result.TitleToolTip)
? Result.Title
: Result.TitleToolTip;
diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/uk-UA.xaml
index b8fd4fb83..07ccc2ea4 100644
--- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/uk-UA.xaml
@@ -25,6 +25,6 @@
Браузерний рушійЯкщо ви не використовуєте Chrome, Firefox або Edge, або використовуєте їхні портативні версії, вам потрібно додати каталог даних закладок і вибрати правильний рушій браузера, щоб цей плагін працював.Наприклад: Рушій Brave - Chromium, і за замовчуванням розташування даних закладок: "%LOCALAPPDATA%\BraveSoftware\Brave-Browser\UserData". Для браузера Firefox директорія закладок - це папка userdata, що містить файл places.sqlite.
- Load favicons (can be time consuming during startup)
+ Завантажити піктограми (може зайняти багато часу під час запуску)
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml
index 435ba6b92..38829112c 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml
@@ -3,8 +3,8 @@
Будь ласка, спочатку зробіть вибір
- Please select a folder path.
- Please choose a different name or folder path.
+ Виберіть шлях до теки.
+ Виберіть інше ім'я або шлях до теки.Будь ласка, оберіть посилання на текуВи впевнені, що хочете видалити {0}?Ви впевнені, що хочете назавжди видалити цей файл?
@@ -27,14 +27,14 @@
ДодатиЗагальні налаштуванняНалаштувати ключові слова дії
- Customise Quick Access
+ Налаштування швидкого доступуПосилання швидкого доступуНалаштування EverythingПанель попереглядуРозмірДата створенняДата останньої зміни
- File Age
+ Дата створенняПоказати інформацію про файлФормат дати й часуВаріант сортування:
@@ -44,7 +44,7 @@
Шлях до оболонки ShellВиключені шляхи індексного пошукуВикористовувати розташування результату пошуку як робочу директорію виконуваного файлу
- Display more information like size and age in tooltips
+ Показувати більше інформації, наприклад розмір і дату створення, у підказкахНатисніть Enter, щоб відкрити папку у файловому менеджері за замовчуваннямВикористовуйте індексний пошук для пошуку шляхуПараметри індексації
@@ -81,15 +81,15 @@
Ctrl + Enter, щоб відкрити каталогCtrl + Enter, щоб відкрити відповідну папку
- {0}{4}Size: {1}{4}Date created: {2}{4}Date modified: {3}
+ {0}{4}Розмір: {1}{4}Дата створення: {2}{4}Дата змінення: {3}Невідомо
- {0}{3}Space free: {1}{3}Total size: {2}
+ {0}{3}Вільного місця: {1}{3}Загальний розмір: {2}Копіювати шляхКопіювати шлях до поточного елемента в буфер обміну
- Copy name
- Copy name of current item to clipboard
+ Копіювати назву
+ Скопіювати назву поточного елемента в буфер обмінуКопіюватиКопіювання поточного файлу в буфер обмінуКопіювати поточну папку в буфер обміну
@@ -97,7 +97,7 @@
Безповоротно видалити поточний файлНазавжди видалити поточну папкуНазва
- Type
+ ТипШляхФайлТека
@@ -159,7 +159,7 @@
Попередження: Це не швидке сортування, пошук може бути повільнимШукати повний шлях
- Enable File/Folder Run Count
+ Увімкнути підрахунок запусків файлів / текНатисніть, щоб запустити або встановити EverythingВстановлення програми Everything
@@ -171,20 +171,20 @@
Бажаєте увімкнути пошук контенту для Everything?Без індексу (який підтримується лише у версії Everything v1.5+) воно може працювати дуже повільно
- Unable to find Everything.exe
- Failed to install Everything, please install it manually
+ Не вдалося знайти Everything.exe
+ Не вдалося встановити Everything, встановіть його вручнуРідне контекстне менюВідображати рідне контекстне меню (експериментально)Нижче ви можете вказати елементи, які хочете включити до контекстного меню, вони можуть бути частковими (наприклад, «шир пера») або повними («Відкрити за допомогою»).
- Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').
+ Нижче ви можете вказати елементи, які ви хочете виключити з контекстного меню. Вони можуть бути частковими (наприклад, «pen wit») або повними («Відкрити за допомогою»).
- Today
- {0} days ago
- 1 month ago
- {0} months ago
- 1 year ago
- {0} years ago
+ Сьогодні
+ {0} дн. тому
+ Місяць тому
+ {0} міс. тому
+ Рік тому
+ {0} р. тому
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs
index 0d1d99f8a..f1aea98b4 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs
@@ -97,7 +97,7 @@ namespace Flow.Launcher.Plugin.Explorer
return Context.API.GetTranslation("plugin_explorer_plugin_description");
}
- private void FillQuickAccessLinkNames()
+ private static void FillQuickAccessLinkNames()
{
// Legacy version does not have names for quick access links, so we fill them with the path name.
foreach (var link in Settings.QuickAccessLinks)
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Views/QuickAccessLinkSettings.xaml.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Views/QuickAccessLinkSettings.xaml.cs
index eb66e1efc..e6294b98b 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Views/QuickAccessLinkSettings.xaml.cs
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Views/QuickAccessLinkSettings.xaml.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
+using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
@@ -14,6 +15,8 @@ namespace Flow.Launcher.Plugin.Explorer.Views;
[INotifyPropertyChanged]
public partial class QuickAccessLinkSettings
{
+ private static readonly string ClassName = nameof(QuickAccessLinkSettings);
+
private string _selectedPath;
public string SelectedPath
{
@@ -27,6 +30,9 @@ public partial class QuickAccessLinkSettings
if (string.IsNullOrEmpty(_selectedName))
{
SelectedName = _selectedPath.GetPathName();
+ }
+ if (!string.IsNullOrEmpty(_selectedPath))
+ {
_accessLinkType = GetResultType(_selectedPath);
}
}
@@ -187,13 +193,13 @@ public partial class QuickAccessLinkSettings
private static ResultType GetResultType(string path)
{
// Check if the path is a file or folder
- if (System.IO.File.Exists(path))
+ if (File.Exists(path))
{
return ResultType.File;
}
- else if (System.IO.Directory.Exists(path))
+ else if (Directory.Exists(path))
{
- if (string.Equals(System.IO.Path.GetPathRoot(path), path, StringComparison.OrdinalIgnoreCase))
+ if (string.Equals(Path.GetPathRoot(path), path, StringComparison.OrdinalIgnoreCase))
{
return ResultType.Volume;
}
@@ -205,6 +211,7 @@ public partial class QuickAccessLinkSettings
else
{
// This should not happen, but just in case, we assume it's a folder
+ Main.Context.API.LogError(ClassName, $"The path '{path}' does not exist or is invalid. Defaulting to Folder type.");
return ResultType.Folder;
}
}
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ar.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ar.xaml
index 6fb809d90..8a75cde72 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ar.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ar.xaml
@@ -43,10 +43,15 @@
تم تحديث الإضافة {0} بنجاح. يرجى إعادة تشغيل Flow.تم تحديث {0} إضافات بنجاح. يرجى إعادة تشغيل Flow.تم تعديل الإضافة {0} بالفعل. يرجى إعادة تشغيل Flow قبل إجراء أي تغييرات أخرى.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}مدير الإضافات
- إدارة تثبيت وإلغاء تثبيت أو تحديث إضافات Flow Launcher
+ Install, uninstall or update Flow Launcher plugins via the search windowمؤلف غير معروف
@@ -61,5 +66,5 @@
تحذير التثبيت من مصدر غير معروف
- إعادة تشغيل Flow Launcher تلقائيًا بعد تثبيت/إلغاء تثبيت/تحديث الإضافات
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/cs.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/cs.xaml
index d47e1814b..5ca1700d4 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/cs.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/cs.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Správce pluginů
- Správa instalace, odinstalace nebo aktualizace pluginů Flow Launcheru
+ Install, uninstall or update Flow Launcher plugins via the search windowNeznámý autor
@@ -61,5 +66,5 @@
Upozornění na instalaci z neznámého zdroje
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/da.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/da.xaml
index 616ce779b..a5d0231ce 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/da.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/da.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search windowUnknown Author
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/de.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/de.xaml
index 47ea31cce..c7ef77801 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/de.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/de.xaml
@@ -43,10 +43,15 @@
Plug-in {0} erfolgreich aktualisiert. Bitte starten Sie Flow neu.{0} Plug-ins erfolgreich aktualisiert. Bitte starten Sie Flow neu.Plug-in {0} ist bereits modifiziert worden. Bitte starten Sie Flow neu, bevor Sie irgendwelche weitere Änderungen vornehmen.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plug-ins-Manager
- Verwaltung der Installation, Deinstallation oder Aktualisierung der Plug-ins von Flow Launcher
+ Install, uninstall or update Flow Launcher plugins via the search windowUnbekannter Autor
@@ -61,5 +66,5 @@
Warnung vor Installation aus unbekannter Quelle
- Automatischer Neustart von Flow Launcher nach Installation/Deinstallation/Aktualisierung von Plug-ins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es-419.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es-419.xaml
index 616ce779b..a5d0231ce 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es-419.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es-419.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search windowUnknown Author
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es.xaml
index b0f25f3ea..b6a3a6cbc 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/es.xaml
@@ -43,10 +43,15 @@
Complemento {0} actualizado correctamente. Por favor, reinicie Flow.{0} complementos se han actualizado correctamente. Por favor, reinicie Flow.El complemento {0} ya ha sido modificado. Por favor, reinicie Flow antes de realizar más cambios.
+ {0} ya está modificado
+ Reiniciar Flow antes de realizar más cambios
+
+ Archivo de instalación zip no válido
+ Por favor, compruebe si hay un plugin.json en {0}Administrador de complementos
- Administración de instalación, desinstalación o actualización de los complementos de Flow Launcher
+ Instalar, desinstalar o actualizar complementos de Flow Launcher desde la ventana de búsquedaAutor desconocido
@@ -61,5 +66,5 @@
Aviso de instalación desde fuentes desconocidas
- Reiniciar automáticamente Flow Launcher después de instalar/desinstalar/actualizar complementos
+ Reiniciar Flow Launcher automáticamente después de instalar/desinstalar/actualizar el complemento a través del Administrador de complementos
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/fr.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/fr.xaml
index 3142ef86d..c95c97231 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/fr.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/fr.xaml
@@ -43,10 +43,15 @@
Plugin {0} mis à jour avec succès. Veuillez redémarrer Flow.{0} plugins mis à jour avec succès. Veuillez redémarrer Flow.Le plugin {0} a déjà été modifié. Veuillez redémarrer Flow avant de faire d'autres modifications.
+ {0} est déjà modifié
+ Veuillez redémarrer Flow avant d'apporter d'autres modifications
+
+ Fichier d'installation zip invalide
+ Veuillez vérifier s'il y a un plugin.json dans {0}Gestionnaire de plugins
- Gestion de l'installation, de la désinstallation ou de la mise à jour des plugins Flow Launcher
+ Installer, désinstaller ou mettre à jour les plugins Flow Launcher via la fenêtre de rechercheAuteur inconnu
@@ -61,5 +66,5 @@
Avertissement d'installation à partir d'une source inconnue
- Redémarrer automatiquement Flow Launcher après l'installation/désinstallation/mise à jour des plugins
+ Redémarrer Flow Launcher automatiquement après l'installation/désinstallation/mise à jour du plugin via le gestionnaire de plugins
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/he.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/he.xaml
index 8c7f0cf02..3fe7fd968 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/he.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/he.xaml
@@ -43,10 +43,15 @@
התוסף {0} עודכן בהצלחה. נא הפעל מחדש את Flow.{0} תוספים עודכנו בהצלחה. נא הפעל מחדש את Flow.התוסף {0} כבר השתנה. נא הפעל מחדש את Flow לפני ביצוע שינויים נוספים.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}מנהל תוספים
- ניהול התקנה, הסרה או עדכון של תוספים עבור Flow Launcher
+ Install, uninstall or update Flow Launcher plugins via the search windowמחבר לא ידוע
@@ -61,5 +66,5 @@
אזהרה בעת התקנה ממקור לא ידוע
- הפעל מחדש את Flow Launcher באופן אוטומטי לאחר התקנה/הסרה/עדכון של תוספים
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/it.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/it.xaml
index d154e59dc..3ccefa2db 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/it.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/it.xaml
@@ -43,10 +43,15 @@
Il plugin {0} aggiornato con successo. Riavviare Flow.{0} plugin aggiornato con successo. Riavviare Flow.Il plugin {0} è già stato modificato. Riavviare Flow prima di fare altre modifiche.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Gestore dei plugin
- Gestione dell'installazione, disinstallazione o aggiornamento dei plugin di Flow Launcher
+ Install, uninstall or update Flow Launcher plugins via the search windowAutore Sconosciuto
@@ -61,5 +66,5 @@
Avviso di installazione da sorgenti sconosciute
- Riavvia automaticamente Flow Launcher dopo l'installazione/disinstallazione/aggiornamento dei plugin
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ja.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ja.xaml
index c5edca2dc..d62f0f61b 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ja.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ja.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Flow Launcher のプラグインのインストール、アンインストールや更新の管理
+ Install, uninstall or update Flow Launcher plugins via the search windowUnknown Author
@@ -61,5 +66,5 @@
不明な提供元からインストールするとき警告する
- プラグインのインストール/アンインストール/更新後、Flow Launcher を自動的に再起動する
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ko.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ko.xaml
index f6f46448d..8c15f27ad 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ko.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ko.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}플러그인 관리자
- 플러그인의 설치/삭제/업데이트를 관리하는 플러그인
+ Install, uninstall or update Flow Launcher plugins via the search window알수없는 제작자
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nb.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nb.xaml
index b0fd2d10a..bccd55459 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nb.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nb.xaml
@@ -43,10 +43,15 @@
Programtillegg {0} oppdatert. Vennligst restart Flow.{0} programtillegg oppdatert. Start Flow på nytt.Programtillegg {0} er allerede endret. Start Flow på nytt før nye endringer foretas.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Programtilleggsbehandling
- Administrasjon av installasjon, avinstallere eller oppdatere Flow Launcher programtillegg
+ Install, uninstall or update Flow Launcher plugins via the search windowUkjent utvikler
@@ -61,5 +66,5 @@
Advarsel om installering fra ukjent kilde
- Start Flow Launcher automatisk på nytt etter installasjon/avinstallering/oppdatering av programtillegg
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nl.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nl.xaml
index 616ce779b..a5d0231ce 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nl.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/nl.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search windowUnknown Author
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pl.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pl.xaml
index 187900931..3124cc634 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pl.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pl.xaml
@@ -43,10 +43,15 @@
Wtyczka {0} została pomyślnie zaktualizowana. Proszę ponownie uruchomić Flow.{0} wtyczek zaktualizowano pomyślnie. Proszę ponownie uruchomić Flow.Wtyczka {0} została już zmodyfikowana. Proszę ponownie uruchomić Flow przed wprowadzeniem dalszych zmian.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Menadżer wtyczek
- Zarządzanie instalowaniem, odinstalowywaniem i aktualizowaniem wtyczek Flow Launcher
+ Install, uninstall or update Flow Launcher plugins via the search windowNieznany autor
@@ -61,5 +66,5 @@
Ostrzeżenie o instalacji z nieznanego źródła
- Automatycznie uruchom ponownie Flow Launcher po zainstalowaniu/odinstalowaniu/zaktualizowaniu wtyczek
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-br.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-br.xaml
index 179bcab97..2407d5b6e 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-br.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-br.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search windowUnknown Author
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-pt.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-pt.xaml
index 01535c689..40cfc8253 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-pt.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/pt-pt.xaml
@@ -43,10 +43,15 @@
Plugin {0} atualizado com sucesso. Por favor, reinicie o Flow Launcher.{0} plugins atualizados com sucesso. Deve reiniciar Flow Launcher.O plugin {0} foi modificado. Por favor, reinicie o Flow Launcher antes de fazer mais alterações.
+ {0} já modificado
+ Reinicie Flow Launcher antes de fazer mais alterações
+
+ Ficheiro Zip inválido
+ Verifique se existe o ficheiro "plugin.json" em {0}Gestor de plugins
- Módulo para instalar, desinstalar e atualizar os plugins do Flow Launcher
+ Instalar, desinstalar ou atualizar plugins do Flow Launcher através da janela de pesquisaAutor desconhecido
@@ -61,5 +66,5 @@
Aviso ao instalar de fontes desconhecidas
- Reiniciar automaticamente após instalar/desinstalar/atualizar plugins
+ Reiniciar Flow Launcher após instalar/desinstalar/atualizar um plugin via Gestor de plugins
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ru.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ru.xaml
index 5b0a379b5..18913c7c6 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ru.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/ru.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search windowАвтор неизвестен
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sk.xaml
index 5529b2fc1..f788c9ce3 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sk.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sk.xaml
@@ -43,10 +43,15 @@
Plugin {0} bol úspešne aktualizovaný. Prosím, reštartuje Flow.Pluginy úspešne aktualizované ({0}). Reštartuje Flow.Plugin {0} už bol upravený. Prosím, reštartuje Flow pred ďalšími zmenami.
+ Plugin {0} už bol upravený
+ Pred vykonaním ďalších zmien reštartujte Flow Launcher
+
+ Neplatný inštalačný súbor zip
+ Skontrolujte, či sa v {0} nachádza plugin.jsonSprávca pluginov
- Správa inštalácie, odinštalácie alebo aktualizácie pluginov programu Flow Launcher
+ Inštalovať, odinštalovať alebo aktualizovať pluginy Flow Launchera cez vyhľadávacie oknoNeznámy autor
@@ -61,5 +66,5 @@
Upozornenie na inštaláciu z neznámeho zdroja
- Automaticky reštartovať Flow Launcher po inštalácií/odinštalácii/aktualizáciu pluginov
+ Automaticky reštartovať Flow Launcher po inštalácii/odinštalácii/aktualizáciu pluginu cez Správcu pluginov
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sr.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sr.xaml
index 616ce779b..a5d0231ce 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sr.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/sr.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search windowUnknown Author
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/tr.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/tr.xaml
index 14f2e1309..ed9aaf4b3 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/tr.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/tr.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Plugins Manager
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search windowBilinmeyen Yazar
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/uk-UA.xaml
index 3d2b50a78..e07f417c7 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/uk-UA.xaml
@@ -13,8 +13,8 @@
Встановлення плагінаЗавантажити та встановити {0}Видалення плагіна
- Keep plugin settings
- Do you want to keep the settings of the plugin for the next usage?
+ Зберегти налаштування плагіну
+ Хочете зберегти налаштування плагіну для наступного використання?Plugin successfully installed. Restarting Flow, please wait...Не вдалося знайти файл метаданих plugin.json у розпакованому zip-архіві.Помилка: Плагін, який має ідентичну або новішу версію з {0}, вже існує.
@@ -43,10 +43,15 @@
Плагін {0} успішно оновлено. Будь ласка, перезапустіть Flow.{0} плагіни успішно оновлено. Будь ласка, перезапустіть Flow.Плагін {0} вже було змінено. Будь ласка, перезапустіть Flow, перш ніж вносити будь-які подальші зміни.
+ {0} вже змінено
+ Перезапустіть Flow перед тим, як вносити будь-які подальші зміни.
+
+ Неправильний встановлюваний zip-файл
+ Перевірте, чи є файл plugin.json у {0}.Менеджер плагінів
- Керування встановленням, видаленням або оновленням плагінів Flow Launcher
+ Встановити, видалити або оновити плагіни Flow Launcher через вікно пошуку.Невідомий автор
@@ -61,5 +66,5 @@
Попередження про встановлення з невідомого джерела
- Автоматичний перезапуск Flow Launcher після встановлення/видалення/оновлення плагінів
+ Автоматично перезапускати Flow Launcher після встановлення / видалення / оновлення плагіну за допомогою Менеджера плагінів
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/vi.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/vi.xaml
index 3f9315d60..1a2a5c93a 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/vi.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/vi.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}Trình quản lý plugin
- Quản lý cài đặt, gỡ cài đặt hoặc cập nhật plugin Flow Launcher
+ Install, uninstall or update Flow Launcher plugins via the search windowKhông rõ tác giả
@@ -61,5 +66,5 @@
Cảnh báo cài đặt từ nguồn không xác định
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-cn.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-cn.xaml
index 1a4199965..446609850 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-cn.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-cn.xaml
@@ -43,10 +43,15 @@
成功更新插件{0}。请重新启动 Flow Launcher。插件 {0} 更新成功。请重新启动 Flow Launcher。插件 {0} 已被修改。请在进行任何进一步更改之前重新启动Flow。
+ {0} 已被修改
+ 请在进行任何进一步更改之前重新启动 Flow
+
+ 无效的 zip 安装程序文件
+ 请检查 {0} 中是否有plugin.json插件管理
- 安装,卸载或更新 Flow Launcher 插件
+ 通过搜索窗口安装、卸载或更新 Flow Launcher 插件未知作者
@@ -61,5 +66,5 @@
未知源安装警告
- 安装/卸载/更新插件后自动重启 Flow Launcher
+ 通过插件管理器安装/卸载/更新插件后自动重启 Flow Launcher
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-tw.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-tw.xaml
index f16feb050..ddd24d0ed 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-tw.xaml
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/zh-tw.xaml
@@ -43,10 +43,15 @@
Plugin {0} successfully updated. Please restart Flow.{0} plugins successfully updated. Please restart Flow.Plugin {0} has already been modified. Please restart Flow before making any further changes.
+ {0} modified already
+ Please restart Flow before making any further changes
+
+ Invalid zip installer file
+ Please check if there is a plugin.json in {0}擴充功能管理
- Management of installing, uninstalling or updating Flow Launcher plugins
+ Install, uninstall or update Flow Launcher plugins via the search window未知的作者
@@ -61,5 +66,5 @@
Install from unknown source warning
- Automatically restart Flow Launcher after installing/uninstalling/updating plugins
+ Restart Flow Launcher automatically after installing/uninstalling/updating plugin via Plugins Manager
diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/uk-UA.xaml
index 56004028b..6d2086abc 100644
--- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/uk-UA.xaml
@@ -8,7 +8,7 @@
вбити {0} процесіввбити всі екземпляри
- Show title for processes with visible windows
- Put processes with visible windows on the top
+ Показувати назву процесів із видимими вікнами
+ Помістити процеси з видимими вікнами у верхній частині
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.Program/Languages/uk-UA.xaml
index 290954d5f..29158b2ce 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Program/Languages/uk-UA.xaml
@@ -34,8 +34,8 @@
Приховує програми з поширеними назвами деінсталяторів, наприклад, unins000.exeПошук в описі програмиFlow буде шукати опис програми
- Hide duplicated apps
- Hide duplicated Win32 programs that are already in the UWP list
+ Приховати дублікати застосунків
+ Приховати дублікати програми Win32, які вже є в списку UWPСуфіксиМаксимальна глибина
@@ -46,8 +46,8 @@
Будь ласка, виберіть джерело програмиВи впевнені, що хочете видалити вибрані джерела програм?
- Please select program sources that are not added by you
- Please select program sources that are added by you
+ Виберіть джерела програм, які не були додані вами.
+ Виберіть джерела програм, які були додані вами.Інше програмне джерело з тим самим розташуванням вже існує.Вихідний код програми
@@ -76,7 +76,7 @@
Запустити від імені іншого користувачаЗапустити від імені адміністратораВідкрити папку
- Hide
+ ПриховатиВідкрити цільову папкуПрограма
@@ -86,7 +86,7 @@
Кастомізований провідникАргументи
- You can customize the explorer used for opening the container folder by inputing the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is available.
+ Ви можете налаштувати провідник, який використовується для відкриття теки контейнера, ввівши змінну середовища провідника, який ви хочете використовувати. Буде корисно використовувати CMD, аби перевірити, чи доступна змінна середовища.Введіть спеціальні аргументи, які ви хочете додати до вашого провідника. %s для батьківського каталогу, %f для повного шляху (працює лише для win32). Докладнішу інформацію можна знайти на веб-сайті провідника.
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs
index dbb672beb..d02983778 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs
+++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs
@@ -289,12 +289,13 @@ namespace Flow.Launcher.Plugin.Program.Programs
}
private static readonly Channel PackageChangeChannel = Channel.CreateBounded(1);
+ private static PackageCatalog? catalog;
public static async Task WatchPackageChangeAsync()
{
if (Environment.OSVersion.Version.Major >= 10)
{
- var catalog = PackageCatalog.OpenForCurrentUser();
+ catalog ??= PackageCatalog.OpenForCurrentUser();
catalog.PackageInstalling += (_, args) =>
{
if (args.IsComplete)
diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.Shell/Languages/uk-UA.xaml
index d209cb739..d47474784 100644
--- a/Plugins/Flow.Launcher.Plugin.Shell/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Shell/Languages/uk-UA.xaml
@@ -6,7 +6,7 @@
Натисніть будь-яку клавішу, щоб закрити це вікно...Не закривати командний рядок після виконання командиЗавжди запускати від імені адміністратора
- Use Windows Terminal
+ Використовувати Термінал WindowsЗапустити від імені іншого користувачаShellДозволяє виконувати системні команди з Flow Launcher
diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.Sys/Languages/uk-UA.xaml
index 19d69511b..c82be249a 100644
--- a/Plugins/Flow.Launcher.Plugin.Sys/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Sys/Languages/uk-UA.xaml
@@ -26,7 +26,7 @@
Поради щодо Flow LauncherТека UserData Flow LauncherПеремкнути режим гри
- Set the Flow Launcher Theme
+ Встановити тему Flow LauncherРедагувати
@@ -51,7 +51,7 @@
Перегляньте документацію Flow Launcher для отримання додаткової допомоги та підказок щодо використання порадВідкрити каталог, де зберігаються налаштування Flow LauncherПеремкнути режим гри
- Quickly change the Flow Launcher theme
+ Швидко змінити тему Flow LauncherУспішно
@@ -62,14 +62,14 @@
Ви впевнені, що хочете перезавантажити комп'ютер за допомогою додаткових параметрів завантаження?Ви впевнені, що хочете вийти з системи?
- Command Keyword Setting
- Custom Command Keyword
- Enter a keyword to search for command: {0}. This keyword is used to match your query.
- Command Keyword
+ Налаштування ключового слова команди
+ Власне ключове слово команди
+ Введіть ключове слово для пошуку команди: {0}. Це ключове слово використовується для відповідності вашому запиту.
+ Ключове слово командиСкинутиПідтвердитиСкасувати
- Please enter a non-empty command keyword
+ Введіть непорожнє ключове слово командиСистемні командиНадає команди, пов'язані з системою, наприклад, вимкнення, блокування, налаштування тощо.
diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/uk-UA.xaml
index 5536a7e68..51e1efc6e 100644
--- a/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/uk-UA.xaml
+++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/uk-UA.xaml
@@ -17,7 +17,7 @@
Ключове слово діїURLПошук
- Use Search Query Autocomplete
+ Використовувати автозаповнення пошукового запитуАвтозаповнення даних з:Будь ласка, виберіть пошуковий запит в ІнтернетіВи впевнені, що хочете видалити {0}?
@@ -29,8 +29,8 @@
Таким чином, загальна формула для пошуку на Netflix має вигляд https://www.netflix.com/search?q={q}
- Copy URL
- Copy search URL to clipboard
+ Копіювати URL
+ Скопіювати URL-адресу пошуку в буфер обмінуНазва
diff --git a/appveyor.yml b/appveyor.yml
index 646594f4a..39e2a114c 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,4 @@
-version: '1.20.1.{build}'
+version: '1.20.2.{build}'
# Do not build on tags because we create a release on merge to master. Otherwise will upload artifacts twice changing the hash, as well as triggering duplicate GitHub release action & NuGet deployments.
skip_tags: true