mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Merge branch 'dev' into topmost
This commit is contained in:
commit
2c40d2fe43
155 changed files with 1998 additions and 532 deletions
215
.github/update_release_pr.py
vendored
Normal file
215
.github/update_release_pr.py
vendored
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
from os import getenv
|
||||
|
||||
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.
|
||||
|
||||
Args:
|
||||
token (str): GitHub token.
|
||||
owner (str): The owner of the repository.
|
||||
repo (str): The name of the repository.
|
||||
label (str): The label name.
|
||||
state (str): State of PR, e.g. open, closed, all
|
||||
|
||||
Returns:
|
||||
list: A list of dictionaries, where each dictionary represents a pull request.
|
||||
Returns an empty list if no PRs are found or an error occurs.
|
||||
"""
|
||||
headers = {
|
||||
"Authorization": f"token {token}",
|
||||
"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.
|
||||
prs_url = f"https://api.github.com/repos/{owner}/{repo}/issues"
|
||||
params = {
|
||||
"state": state,
|
||||
"milestone": milestone_id,
|
||||
"labels": label,
|
||||
"per_page": 100,
|
||||
}
|
||||
|
||||
all_prs = []
|
||||
page = 1
|
||||
while True:
|
||||
try:
|
||||
params["page"] = page
|
||||
response = requests.get(prs_url, headers=headers, params=params)
|
||||
response.raise_for_status() # Raise an exception for HTTP errors
|
||||
prs = response.json()
|
||||
|
||||
if not prs:
|
||||
break # No more PRs to fetch
|
||||
|
||||
# Check for pr key since we are using issues endpoint instead.
|
||||
all_prs.extend([item for item in prs if "pull_request" in item])
|
||||
page += 1
|
||||
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Error fetching pull requests: {e}")
|
||||
exit(1)
|
||||
|
||||
return all_prs
|
||||
|
||||
|
||||
def get_prs(pull_request_items: list[dict], label: str = "", state: str = "all") -> list[dict]:
|
||||
"""
|
||||
Returns a list of pull requests after applying the label and state filters.
|
||||
|
||||
Args:
|
||||
pull_request_items (list[dict]): List of PR items.
|
||||
label (str): The label name.
|
||||
state (str): State of PR, e.g. open, closed, all
|
||||
|
||||
Returns:
|
||||
list: A list of dictionaries, where each dictionary represents a pull request.
|
||||
Returns an empty list if no PRs are found.
|
||||
"""
|
||||
pr_list = []
|
||||
count = 0
|
||||
for pr in pull_request_items:
|
||||
if pr["state"] == state and [item for item in pr["labels"] if item["name"] == label]:
|
||||
pr_list.append(pr)
|
||||
count += 1
|
||||
|
||||
print(f"Found {count} PRs with {label if label else 'no'} label and state as {state}")
|
||||
|
||||
return pr_list
|
||||
|
||||
|
||||
def get_pr_descriptions(pull_request_items: list[dict]) -> str:
|
||||
"""
|
||||
Returns the concatenated string of pr title and number in the format of
|
||||
'- PR title 1 #3651
|
||||
- PR title 2 #3652
|
||||
- PR title 3 #3653
|
||||
'
|
||||
|
||||
Args:
|
||||
pull_request_items (list[dict]): List of PR items.
|
||||
|
||||
Returns:
|
||||
str: a string of PR titles and numbers
|
||||
"""
|
||||
description_content = ""
|
||||
for pr in pull_request_items:
|
||||
description_content += f"- {pr['title']} #{pr['number']}\n"
|
||||
|
||||
return description_content
|
||||
|
||||
|
||||
def update_pull_request_description(token: str, owner: str, repo: str, pr_number: int, new_description: str) -> None:
|
||||
"""
|
||||
Updates the description (body) of a GitHub Pull Request.
|
||||
|
||||
Args:
|
||||
token (str): Token.
|
||||
owner (str): The owner of the repository.
|
||||
repo (str): The name of the repository.
|
||||
pr_number (int): The number of the pull request to update.
|
||||
new_description (str): The new content for the PR's description.
|
||||
|
||||
Returns:
|
||||
dict or None: The updated PR object (as a dictionary) if successful,
|
||||
None otherwise.
|
||||
"""
|
||||
headers = {
|
||||
"Authorization": f"token {token}",
|
||||
"Accept": "application/vnd.github.v3+json",
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
url = f"https://api.github.com/repos/{owner}/{repo}/pulls/{pr_number}"
|
||||
|
||||
payload = {"body": new_description}
|
||||
|
||||
print(f"Attempting to update PR #{pr_number} in {owner}/{repo}...")
|
||||
print(f"URL: {url}")
|
||||
|
||||
try:
|
||||
response = None
|
||||
response = requests.patch(url, headers=headers, json=payload)
|
||||
response.raise_for_status()
|
||||
|
||||
print(f"Successfully updated PR #{pr_number}.")
|
||||
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Error updating pull request #{pr_number}: {e}")
|
||||
if response is not None:
|
||||
print(f"Response status code: {response.status_code}")
|
||||
print(f"Response text: {response.text}")
|
||||
exit(1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
github_token = getenv("GITHUB_TOKEN")
|
||||
|
||||
if not github_token:
|
||||
print("Error: GITHUB_TOKEN environment variable not set.")
|
||||
exit(1)
|
||||
|
||||
repository_owner = "flow-launcher"
|
||||
repository_name = "flow.launcher"
|
||||
state = "all"
|
||||
|
||||
print(f"Fetching {state} PRs for {repository_owner}/{repository_name} ...")
|
||||
|
||||
pull_requests = get_github_prs(github_token, repository_owner, repository_name)
|
||||
|
||||
if not pull_requests:
|
||||
print("No matching pull requests found")
|
||||
exit(1)
|
||||
|
||||
print(f"\nFound total of {len(pull_requests)} pull requests")
|
||||
|
||||
release_pr = get_prs(pull_requests, "release", "open")
|
||||
|
||||
if len(release_pr) != 1:
|
||||
print(f"Unable to find the exact release PR. Returned result: {release_pr}")
|
||||
exit(1)
|
||||
|
||||
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")
|
||||
|
||||
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 ""
|
||||
|
||||
update_pull_request_description(
|
||||
github_token, repository_owner, repository_name, release_pr[0]["number"], description_content
|
||||
)
|
||||
|
||||
print(f"PR content updated to:\n{description_content}")
|
||||
34
.github/workflows/release_deploy.yml
vendored
Normal file
34
.github/workflows/release_deploy.yml
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
|
||||
name: New Release Deployments
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
deploy-website:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Trigger dispatch event for deploying website
|
||||
run: |
|
||||
http_status=$(curl -L -f -s -o /dev/null -w "%{http_code}" \
|
||||
-X POST \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.DEPLOY_FLOW_WEBSITE }}" \
|
||||
https://api.github.com/repos/Flow-Launcher/flow-launcher.github.io/dispatches \
|
||||
-d '{"event_type":"deploy"}')
|
||||
if [ "$http_status" -ne 204 ]; then echo "Error: Deploy website failed, HTTP status code is $http_status"; exit 1; fi
|
||||
|
||||
publish-chocolatey:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Trigger dispatch event for publishing to Chocolatey
|
||||
run: |
|
||||
http_status=$(curl -L -f -s -o /dev/null -w "%{http_code}" \
|
||||
-X POST \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.Publish_Chocolatey }}" \
|
||||
https://api.github.com/repos/Flow-Launcher/chocolatey-package/dispatches \
|
||||
-d '{"event_type":"publish"}')
|
||||
if [ "$http_status" -ne 204 ]; then echo "Error: Publish Chocolatey package failed, HTTP status code is $http_status"; exit 1; fi
|
||||
25
.github/workflows/release_pr.yml
vendored
Normal file
25
.github/workflows/release_pr.yml
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
name: Update release PR
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, reopened, synchronize]
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update-pr:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.x"
|
||||
|
||||
- name: Run release PR update
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PR_TOKEN }}
|
||||
run: |
|
||||
pip install requests -q
|
||||
python3 ./.github/update_release_pr.py
|
||||
21
.github/workflows/website_deploy.yml
vendored
21
.github/workflows/website_deploy.yml
vendored
|
|
@ -1,21 +0,0 @@
|
|||
---
|
||||
|
||||
name: Deploy Website On Release
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
dispatch:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Dispatch event
|
||||
run: |
|
||||
http_status=$(curl -L -f -s -o /dev/null -w "%{http_code}" \
|
||||
-X POST \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.DEPLOY_FLOW_WEBSITE }}" \
|
||||
https://api.github.com/repos/Flow-Launcher/flow-launcher.github.io/dispatches \
|
||||
-d '{"event_type":"deploy"}')
|
||||
if [ "$http_status" -ne 204 ]; then echo "Error: Deploy trigger failed, HTTP status code is $http_status"; exit 1; fi
|
||||
|
|
@ -187,11 +187,21 @@ namespace Flow.Launcher.Core.Plugin
|
|||
{
|
||||
if (AllowedLanguage.IsDotNet(metadata.Language))
|
||||
{
|
||||
if (string.IsNullOrEmpty(metadata.AssemblyName))
|
||||
{
|
||||
API.LogWarn(ClassName, $"AssemblyName is empty for plugin with metadata: {metadata.Name}");
|
||||
continue; // Skip if AssemblyName is not set, which can happen for erroneous plugins
|
||||
}
|
||||
metadata.PluginSettingsDirectoryPath = Path.Combine(DataLocation.PluginSettingsDirectory, metadata.AssemblyName);
|
||||
metadata.PluginCacheDirectoryPath = Path.Combine(DataLocation.PluginCacheDirectory, metadata.AssemblyName);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(metadata.Name))
|
||||
{
|
||||
API.LogWarn(ClassName, $"Name is empty for plugin with metadata: {metadata.Name}");
|
||||
continue; // Skip if Name is not set, which can happen for erroneous plugins
|
||||
}
|
||||
metadata.PluginSettingsDirectoryPath = Path.Combine(DataLocation.PluginSettingsDirectory, metadata.Name);
|
||||
metadata.PluginCacheDirectoryPath = Path.Combine(DataLocation.PluginCacheDirectory, metadata.Name);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ namespace Flow.Launcher.Core.Plugin
|
|||
Search = string.Empty,
|
||||
RawQuery = string.Empty,
|
||||
SearchTerms = Array.Empty<string>(),
|
||||
ActionKeyword = string.Empty
|
||||
ActionKeyword = string.Empty,
|
||||
IsHomeQuery = true
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -53,7 +54,8 @@ namespace Flow.Launcher.Core.Plugin
|
|||
Search = search,
|
||||
RawQuery = rawQuery,
|
||||
SearchTerms = searchTerms,
|
||||
ActionKeyword = actionKeyword
|
||||
ActionKeyword = actionKeyword,
|
||||
IsHomeQuery = false
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -182,7 +182,6 @@ namespace Flow.Launcher.Infrastructure.Http
|
|||
public static Task<Stream> GetStreamAsync([NotNull] string url,
|
||||
CancellationToken token = default) => GetStreamAsync(new Uri(url), token);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation.
|
||||
/// </summary>
|
||||
|
|
@ -212,7 +211,14 @@ namespace Flow.Launcher.Infrastructure.Http
|
|||
/// </summary>
|
||||
public static async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead, CancellationToken token = default)
|
||||
{
|
||||
return await client.SendAsync(request, completionOption, token);
|
||||
try
|
||||
{
|
||||
return await client.SendAsync(request, completionOption, token);
|
||||
}
|
||||
catch (System.Exception)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.InternalServerError);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ SystemParametersInfo
|
|||
|
||||
SetForegroundWindow
|
||||
|
||||
GetWindowLong
|
||||
WINDOW_LONG_PTR_INDEX
|
||||
GetForegroundWindow
|
||||
GetDesktopWindow
|
||||
GetShellWindow
|
||||
|
|
@ -57,3 +57,7 @@ LOCALE_TRANSIENT_KEYBOARD1
|
|||
LOCALE_TRANSIENT_KEYBOARD2
|
||||
LOCALE_TRANSIENT_KEYBOARD3
|
||||
LOCALE_TRANSIENT_KEYBOARD4
|
||||
|
||||
SHParseDisplayName
|
||||
SHOpenFolderAndSelectItems
|
||||
CoTaskMemFree
|
||||
|
|
|
|||
|
|
@ -4,14 +4,16 @@ using Windows.Win32.UI.WindowsAndMessaging;
|
|||
|
||||
namespace Windows.Win32;
|
||||
|
||||
// Edited from: https://github.com/files-community/Files
|
||||
internal static partial class PInvoke
|
||||
{
|
||||
// SetWindowLong
|
||||
// Edited from: https://github.com/files-community/Files
|
||||
|
||||
[DllImport("User32", EntryPoint = "SetWindowLongW", ExactSpelling = true)]
|
||||
static extern int _SetWindowLong(HWND hWnd, int nIndex, int dwNewLong);
|
||||
private static extern int _SetWindowLong(HWND hWnd, int nIndex, int dwNewLong);
|
||||
|
||||
[DllImport("User32", EntryPoint = "SetWindowLongPtrW", ExactSpelling = true)]
|
||||
static extern nint _SetWindowLongPtr(HWND hWnd, int nIndex, nint dwNewLong);
|
||||
private static extern nint _SetWindowLongPtr(HWND hWnd, int nIndex, nint dwNewLong);
|
||||
|
||||
// NOTE:
|
||||
// CsWin32 doesn't generate SetWindowLong on other than x86 and vice versa.
|
||||
|
|
@ -22,4 +24,22 @@ internal static partial class PInvoke
|
|||
? _SetWindowLong(hWnd, (int)nIndex, (int)dwNewLong)
|
||||
: _SetWindowLongPtr(hWnd, (int)nIndex, dwNewLong);
|
||||
}
|
||||
|
||||
// GetWindowLong
|
||||
|
||||
[DllImport("User32", EntryPoint = "GetWindowLongW", ExactSpelling = true)]
|
||||
private static extern int _GetWindowLong(HWND hWnd, int nIndex);
|
||||
|
||||
[DllImport("User32", EntryPoint = "GetWindowLongPtrW", ExactSpelling = true)]
|
||||
private static extern nint _GetWindowLongPtr(HWND hWnd, int nIndex);
|
||||
|
||||
// NOTE:
|
||||
// CsWin32 doesn't generate GetWindowLong on other than x86 and vice versa.
|
||||
// For more info, visit https://github.com/microsoft/CsWin32/issues/882
|
||||
public static unsafe nint GetWindowLongPtr(HWND hWnd, WINDOW_LONG_PTR_INDEX nIndex)
|
||||
{
|
||||
return sizeof(nint) is 4
|
||||
? _GetWindowLong(hWnd, (int)nIndex)
|
||||
: _GetWindowLongPtr(hWnd, (int)nIndex);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
|
|||
public string SelectPrevPageHotkey { get; set; } = $"PageDown";
|
||||
public string OpenContextMenuHotkey { get; set; } = $"Ctrl+O";
|
||||
public string SettingWindowHotkey { get; set; } = $"Ctrl+I";
|
||||
public string OpenHistoryHotkey { get; set; } = $"Ctrl+H";
|
||||
public string CycleHistoryUpHotkey { get; set; } = $"{KeyConstant.Alt} + Up";
|
||||
public string CycleHistoryDownHotkey { get; set; } = $"{KeyConstant.Alt} + Down";
|
||||
|
||||
|
|
@ -176,7 +177,20 @@ namespace Flow.Launcher.Infrastructure.UserSettings
|
|||
}
|
||||
}
|
||||
|
||||
public bool ShowHistoryResultsForHomePage { get; set; } = false;
|
||||
private bool _showHistoryResultsForHomePage = false;
|
||||
public bool ShowHistoryResultsForHomePage
|
||||
{
|
||||
get => _showHistoryResultsForHomePage;
|
||||
set
|
||||
{
|
||||
if (_showHistoryResultsForHomePage != value)
|
||||
{
|
||||
_showHistoryResultsForHomePage = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int MaxHistoryResultsToShowForHomePage { get; set; } = 5;
|
||||
|
||||
public int CustomExplorerIndex { get; set; } = 0;
|
||||
|
|
@ -216,8 +230,8 @@ namespace Flow.Launcher.Infrastructure.UserSettings
|
|||
new()
|
||||
{
|
||||
Name = "Files",
|
||||
Path = "Files",
|
||||
DirectoryArgument = "-select \"%d\"",
|
||||
Path = "Files-Stable",
|
||||
DirectoryArgument = "\"%d\"",
|
||||
FileArgument = "-select \"%f\""
|
||||
}
|
||||
};
|
||||
|
|
@ -418,29 +432,31 @@ namespace Flow.Launcher.Infrastructure.UserSettings
|
|||
var list = FixedHotkeys();
|
||||
|
||||
// Customizeable hotkeys
|
||||
if(!string.IsNullOrEmpty(Hotkey))
|
||||
if (!string.IsNullOrEmpty(Hotkey))
|
||||
list.Add(new(Hotkey, "flowlauncherHotkey", () => Hotkey = ""));
|
||||
if(!string.IsNullOrEmpty(PreviewHotkey))
|
||||
if (!string.IsNullOrEmpty(PreviewHotkey))
|
||||
list.Add(new(PreviewHotkey, "previewHotkey", () => PreviewHotkey = ""));
|
||||
if(!string.IsNullOrEmpty(AutoCompleteHotkey))
|
||||
if (!string.IsNullOrEmpty(AutoCompleteHotkey))
|
||||
list.Add(new(AutoCompleteHotkey, "autoCompleteHotkey", () => AutoCompleteHotkey = ""));
|
||||
if(!string.IsNullOrEmpty(AutoCompleteHotkey2))
|
||||
if (!string.IsNullOrEmpty(AutoCompleteHotkey2))
|
||||
list.Add(new(AutoCompleteHotkey2, "autoCompleteHotkey", () => AutoCompleteHotkey2 = ""));
|
||||
if(!string.IsNullOrEmpty(SelectNextItemHotkey))
|
||||
if (!string.IsNullOrEmpty(SelectNextItemHotkey))
|
||||
list.Add(new(SelectNextItemHotkey, "SelectNextItemHotkey", () => SelectNextItemHotkey = ""));
|
||||
if(!string.IsNullOrEmpty(SelectNextItemHotkey2))
|
||||
if (!string.IsNullOrEmpty(SelectNextItemHotkey2))
|
||||
list.Add(new(SelectNextItemHotkey2, "SelectNextItemHotkey", () => SelectNextItemHotkey2 = ""));
|
||||
if(!string.IsNullOrEmpty(SelectPrevItemHotkey))
|
||||
if (!string.IsNullOrEmpty(SelectPrevItemHotkey))
|
||||
list.Add(new(SelectPrevItemHotkey, "SelectPrevItemHotkey", () => SelectPrevItemHotkey = ""));
|
||||
if(!string.IsNullOrEmpty(SelectPrevItemHotkey2))
|
||||
if (!string.IsNullOrEmpty(SelectPrevItemHotkey2))
|
||||
list.Add(new(SelectPrevItemHotkey2, "SelectPrevItemHotkey", () => SelectPrevItemHotkey2 = ""));
|
||||
if(!string.IsNullOrEmpty(SettingWindowHotkey))
|
||||
if (!string.IsNullOrEmpty(SettingWindowHotkey))
|
||||
list.Add(new(SettingWindowHotkey, "SettingWindowHotkey", () => SettingWindowHotkey = ""));
|
||||
if(!string.IsNullOrEmpty(OpenContextMenuHotkey))
|
||||
if (!string.IsNullOrEmpty(OpenHistoryHotkey))
|
||||
list.Add(new(OpenHistoryHotkey, "OpenHistoryHotkey", () => OpenHistoryHotkey = ""));
|
||||
if (!string.IsNullOrEmpty(OpenContextMenuHotkey))
|
||||
list.Add(new(OpenContextMenuHotkey, "OpenContextMenuHotkey", () => OpenContextMenuHotkey = ""));
|
||||
if(!string.IsNullOrEmpty(SelectNextPageHotkey))
|
||||
if (!string.IsNullOrEmpty(SelectNextPageHotkey))
|
||||
list.Add(new(SelectNextPageHotkey, "SelectNextPageHotkey", () => SelectNextPageHotkey = ""));
|
||||
if(!string.IsNullOrEmpty(SelectPrevPageHotkey))
|
||||
if (!string.IsNullOrEmpty(SelectPrevPageHotkey))
|
||||
list.Add(new(SelectPrevPageHotkey, "SelectPrevPageHotkey", () => SelectPrevPageHotkey = ""));
|
||||
if (!string.IsNullOrEmpty(CycleHistoryUpHotkey))
|
||||
list.Add(new(CycleHistoryUpHotkey, "CycleHistoryUpHotkey", () => CycleHistoryUpHotkey = ""));
|
||||
|
|
@ -471,7 +487,6 @@ namespace Flow.Launcher.Infrastructure.UserSettings
|
|||
new("Alt+Home", "HotkeySelectFirstResult"),
|
||||
new("Alt+End", "HotkeySelectLastResult"),
|
||||
new("Ctrl+R", "HotkeyRequery"),
|
||||
new("Ctrl+H", "ToggleHistoryHotkey"),
|
||||
new("Ctrl+OemCloseBrackets", "QuickWidthHotkey"),
|
||||
new("Ctrl+OemOpenBrackets", "QuickWidthHotkey"),
|
||||
new("Ctrl+OemPlus", "QuickHeightHotkey"),
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
|
|
@ -17,6 +18,7 @@ using Windows.Win32;
|
|||
using Windows.Win32.Foundation;
|
||||
using Windows.Win32.Graphics.Dwm;
|
||||
using Windows.Win32.UI.Input.KeyboardAndMouse;
|
||||
using Windows.Win32.UI.Shell.Common;
|
||||
using Windows.Win32.UI.WindowsAndMessaging;
|
||||
using Point = System.Windows.Point;
|
||||
using SystemFonts = System.Windows.SystemFonts;
|
||||
|
|
@ -192,9 +194,9 @@ namespace Flow.Launcher.Infrastructure
|
|||
SetWindowStyle(hwnd, WINDOW_LONG_PTR_INDEX.GWL_STYLE, style);
|
||||
}
|
||||
|
||||
private static int GetWindowStyle(HWND hWnd, WINDOW_LONG_PTR_INDEX nIndex)
|
||||
private static nint GetWindowStyle(HWND hWnd, WINDOW_LONG_PTR_INDEX nIndex)
|
||||
{
|
||||
var style = PInvoke.GetWindowLong(hWnd, nIndex);
|
||||
var style = PInvoke.GetWindowLongPtr(hWnd, nIndex);
|
||||
if (style == 0 && Marshal.GetLastPInvokeError() != 0)
|
||||
{
|
||||
throw new Win32Exception(Marshal.GetLastPInvokeError());
|
||||
|
|
@ -202,7 +204,7 @@ namespace Flow.Launcher.Infrastructure
|
|||
return style;
|
||||
}
|
||||
|
||||
private static nint SetWindowStyle(HWND hWnd, WINDOW_LONG_PTR_INDEX nIndex, int dwNewLong)
|
||||
private static nint SetWindowStyle(HWND hWnd, WINDOW_LONG_PTR_INDEX nIndex, nint dwNewLong)
|
||||
{
|
||||
PInvoke.SetLastError(WIN32_ERROR.NO_ERROR); // Clear any existing error
|
||||
|
||||
|
|
@ -753,5 +755,36 @@ namespace Flow.Launcher.Infrastructure
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Explorer
|
||||
|
||||
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shopenfolderandselectitems
|
||||
|
||||
public static unsafe void OpenFolderAndSelectFile(string filePath)
|
||||
{
|
||||
ITEMIDLIST* pidlFolder = null;
|
||||
ITEMIDLIST* pidlFile = null;
|
||||
|
||||
var folderPath = Path.GetDirectoryName(filePath);
|
||||
|
||||
try
|
||||
{
|
||||
var hrFolder = PInvoke.SHParseDisplayName(folderPath, null, out pidlFolder, 0, null);
|
||||
if (hrFolder.Failed) throw new COMException("Failed to parse folder path", hrFolder);
|
||||
|
||||
var hrFile = PInvoke.SHParseDisplayName(filePath, null, out pidlFile, 0, null);
|
||||
if (hrFile.Failed) throw new COMException("Failed to parse file path", hrFile);
|
||||
|
||||
var hrSelect = PInvoke.SHOpenFolderAndSelectItems(pidlFolder, 1, &pidlFile, 0);
|
||||
if (hrSelect.Failed) throw new COMException("Failed to open folder and select item", hrSelect);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (pidlFile != null) PInvoke.CoTaskMemFree(pidlFile);
|
||||
if (pidlFolder != null) PInvoke.CoTaskMemFree(pidlFolder);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,6 +88,11 @@ namespace Flow.Launcher.Plugin
|
|||
/// Show the MainWindow when hiding
|
||||
/// </summary>
|
||||
void ShowMainWindow();
|
||||
|
||||
/// <summary>
|
||||
/// Focus the query text box in the main window
|
||||
/// </summary>
|
||||
void FocusQueryTextBox();
|
||||
|
||||
/// <summary>
|
||||
/// Hide MainWindow
|
||||
|
|
|
|||
|
|
@ -21,6 +21,11 @@ namespace Flow.Launcher.Plugin
|
|||
/// </summary>
|
||||
public bool IsReQuery { get; internal set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the query is a home query.
|
||||
/// </summary>
|
||||
public bool IsHomeQuery { get; internal init; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Search part of a query.
|
||||
/// This will not include action keyword if exclusive plugin gets it, otherwise it should be same as RawQuery.
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ namespace Flow.Launcher
|
|||
#region Public Properties
|
||||
|
||||
public static IPublicAPI API { get; private set; }
|
||||
public static bool Exiting => _mainWindow.CanClose;
|
||||
public static bool LoadingOrExiting => _mainWindow == null || _mainWindow.CanClose;
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
@ -98,6 +98,10 @@ namespace Flow.Launcher
|
|||
.AddTransient<SettingsPanePluginStoreViewModel>()
|
||||
.AddTransient<SettingsPaneProxyViewModel>()
|
||||
.AddTransient<SettingsPaneThemeViewModel>()
|
||||
// Use transient instance for dialog view models because
|
||||
// settings will change and we need to recreate them
|
||||
.AddTransient<SelectBrowserViewModel>()
|
||||
.AddTransient<SelectFileManagerViewModel>()
|
||||
).Build();
|
||||
Ioc.Default.ConfigureServices(host.Services);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ namespace Flow.Launcher
|
|||
PreviewHotkey,
|
||||
OpenContextMenuHotkey,
|
||||
SettingWindowHotkey,
|
||||
OpenHistoryHotkey,
|
||||
CycleHistoryUpHotkey,
|
||||
CycleHistoryDownHotkey,
|
||||
SelectPrevPageHotkey,
|
||||
|
|
@ -130,6 +131,7 @@ namespace Flow.Launcher
|
|||
HotkeyType.PreviewHotkey => _settings.PreviewHotkey,
|
||||
HotkeyType.OpenContextMenuHotkey => _settings.OpenContextMenuHotkey,
|
||||
HotkeyType.SettingWindowHotkey => _settings.SettingWindowHotkey,
|
||||
HotkeyType.OpenHistoryHotkey => _settings.OpenHistoryHotkey,
|
||||
HotkeyType.CycleHistoryUpHotkey => _settings.CycleHistoryUpHotkey,
|
||||
HotkeyType.CycleHistoryDownHotkey => _settings.CycleHistoryDownHotkey,
|
||||
HotkeyType.SelectPrevPageHotkey => _settings.SelectPrevPageHotkey,
|
||||
|
|
@ -166,6 +168,9 @@ namespace Flow.Launcher
|
|||
case HotkeyType.SettingWindowHotkey:
|
||||
_settings.SettingWindowHotkey = value;
|
||||
break;
|
||||
case HotkeyType.OpenHistoryHotkey:
|
||||
_settings.OpenHistoryHotkey = value;
|
||||
break;
|
||||
case HotkeyType.CycleHistoryUpHotkey:
|
||||
_settings.CycleHistoryUpHotkey = value;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">موقع بيانات المستخدم</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">يتم حفظ إعدادات المستخدم والإضافات المثبتة في مجلد بيانات المستخدم. قد يختلف هذا الموقع اعتمادًا على ما إذا كان في وضع النقل أم لا.</system:String>
|
||||
<system:String x:Key="userdatapathButton">فتح المجلد</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">اختر مدير الملفات</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">يرجى تحديد موقع ملف مدير الملفات الذي تستخدمه وإضافة الحجج حسب الحاجة. يمثل "%d" مسار الدليل المفتوح، ويستخدمه الحقل "الحجة للمجلد" للأوامر التي تفتح أدلة محددة. يمثل "%f" مسار الملف المفتوح، ويستخدمه الحقل "الحجة للملف" للأوامر التي تفتح ملفات محددة.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">على سبيل المثال، إذا كان مدير الملفات يستخدم أمرًا مثل "totalcmd.exe /A c:\windows" لفتح دليل c:\windows، فإن مسار مدير الملفات سيكون totalcmd.exe، وحجة المجلد ستكون /A "%d". قد تحتاج بعض مديري الملفات مثل QTTabBar فقط إلى توفير مسار، في هذه الحالة استخدم "%d" كمسار مدير الملفات واترك باقي الحقول فارغة.</system:String>
|
||||
<system:String x:Key="fileManager_name">مدير الملفات</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">مسار مدير الملفات</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">حجة للمجلد</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">حجة للملف</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">متصفح الويب الافتراضي</system:String>
|
||||
|
|
@ -469,6 +473,14 @@
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">خطأ</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">يرجى الانتظار...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Vybrat správce souborů</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Správce souborů</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Cesta k správci souborů</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Argumenty pro složku</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Argumenty pro Soubor</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Výchozí prohlížeč</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ Pokud před zkratku při zadávání přidáte znak "@", bude odpovíd
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Chyba</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Počkejte prosím...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Select File Manager</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Filhåndtering</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Sti til filhåndtering</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg for mappe</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg for fil</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Default Web Browser</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Please wait...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@
|
|||
<system:String x:Key="GameMode">Spielmodus</system:String>
|
||||
<system:String x:Key="GameModeToolTip">Aussetzen der Verwendung von Hotkeys.</system:String>
|
||||
<system:String x:Key="PositionReset">Position zurücksetzen</system:String>
|
||||
<system:String x:Key="PositionResetToolTip">Reset search window position</system:String>
|
||||
<system:String x:Key="queryTextBoxPlaceholder">Type here to search</system:String>
|
||||
<system:String x:Key="PositionResetToolTip">Position des Suchfensters zurücksetzen</system:String>
|
||||
<system:String x:Key="queryTextBoxPlaceholder">Zum Suchen hier tippen</system:String>
|
||||
|
||||
<!-- Setting General -->
|
||||
<system:String x:Key="flowlauncher_settings">Einstellungen</system:String>
|
||||
|
|
@ -126,12 +126,12 @@
|
|||
|
||||
|
||||
</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLink">Open Language and Region System Settings</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLink">Sprach- und Regionen-Systemeinstellungen öffnen</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLinkToolTip">Opens the Korean IME setting location. Go to Korean > Language Options > Keyboard - Microsoft IME > Compatibility</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLinkButton">Öffnen</system:String>
|
||||
<system:String x:Key="KoreanImeRegistry">Use Previous Korean IME</system:String>
|
||||
<system:String x:Key="KoreanImeRegistry">Vorherige koreanische IME verwenden</system:String>
|
||||
<system:String x:Key="KoreanImeRegistryTooltip">You can change the Previous Korean IME settings directly from here</system:String>
|
||||
<system:String x:Key="homePage">Home Page</system:String>
|
||||
<system:String x:Key="homePage">Homepage</system:String>
|
||||
<system:String x:Key="homePageToolTip">Show home page results when query text is empty.</system:String>
|
||||
<system:String x:Key="historyResultsForHomePage">Show History Results in Home Page</system:String>
|
||||
<system:String x:Key="historyResultsCountForHomePage">Maximum History Results Shown in Home Page</system:String>
|
||||
|
|
@ -154,11 +154,11 @@
|
|||
<system:String x:Key="actionKeywordsTooltip">Aktions-Schlüsselwörter ändern</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTime">Plugin search delay time</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTimeTooltip">Change Plugin Search Delay Time</system:String>
|
||||
<system:String x:Key="FilterComboboxLabel">Advanced Settings:</system:String>
|
||||
<system:String x:Key="FilterComboboxLabel">Erweiterte Einstellungen</system:String>
|
||||
<system:String x:Key="DisplayModeOnOff">Aktiviert</system:String>
|
||||
<system:String x:Key="DisplayModePriority">Priorität</system:String>
|
||||
<system:String x:Key="DisplayModeSearchDelay">Search Delay</system:String>
|
||||
<system:String x:Key="DisplayModeHomeOnOff">Home Page</system:String>
|
||||
<system:String x:Key="DisplayModeHomeOnOff">Homepage</system:String>
|
||||
<system:String x:Key="currentPriority">Aktuelle Priorität</system:String>
|
||||
<system:String x:Key="newPriority">Neue Priorität</system:String>
|
||||
<system:String x:Key="priority">Priorität</system:String>
|
||||
|
|
@ -246,13 +246,13 @@
|
|||
<system:String x:Key="BackdropTypesAcrylic">Acrylic</system:String>
|
||||
<system:String x:Key="BackdropTypesMica">Mica</system:String>
|
||||
<system:String x:Key="BackdropTypesMicaAlt">Mica Alt</system:String>
|
||||
<system:String x:Key="TypeIsDarkToolTip">This theme supports two (light/dark) modes.</system:String>
|
||||
<system:String x:Key="TypeIsDarkToolTip">Dieses Theme unterstützt zwei Modi (hell/dunkel).</system:String>
|
||||
<system:String x:Key="TypeHasBlurToolTip">Dieses Theme unterstützt Unschärfe und transparenten Hintergrund.</system:String>
|
||||
<system:String x:Key="ShowPlaceholder">Show placeholder</system:String>
|
||||
<system:String x:Key="ShowPlaceholder">Platzhalter zeigen</system:String>
|
||||
<system:String x:Key="ShowPlaceholderTip">Display placeholder when query is empty</system:String>
|
||||
<system:String x:Key="PlaceholderText">Placeholder text</system:String>
|
||||
<system:String x:Key="PlaceholderText">Platzhaltertext</system:String>
|
||||
<system:String x:Key="PlaceholderTextTip">Change placeholder text. Input empty will use: {0}</system:String>
|
||||
<system:String x:Key="KeepMaxResults">Fixed Window Size</system:String>
|
||||
<system:String x:Key="KeepMaxResults">Festgelegte Fenstergröße</system:String>
|
||||
<system:String x:Key="KeepMaxResultsToolTip">The window size is not adjustable by dragging.</system:String>
|
||||
|
||||
<!-- Setting Hotkey -->
|
||||
|
|
@ -313,7 +313,7 @@
|
|||
<system:String x:Key="useGlyphUI">Segoe Fluent-Icons verwenden</system:String>
|
||||
<system:String x:Key="useGlyphUIEffect">Segoe Fluent-Icons für Abfrageergebnisse verwenden, wo unterstützt</system:String>
|
||||
<system:String x:Key="flowlauncherPressHotkey">Taste drücken</system:String>
|
||||
<system:String x:Key="showBadges">Show Result Badges</system:String>
|
||||
<system:String x:Key="showBadges">Ergebnis-Badges zeigen</system:String>
|
||||
<system:String x:Key="showBadgesToolTip">For supported plugins, badges are displayed to help distinguish them more easily.</system:String>
|
||||
<system:String x:Key="showBadgesGlobalOnly">Show Result Badges for Global Query Only</system:String>
|
||||
|
||||
|
|
@ -356,14 +356,15 @@
|
|||
<system:String x:Key="logfolder">Ordner »Logs«</system:String>
|
||||
<system:String x:Key="clearlogfolder">Logs löschen</system:String>
|
||||
<system:String x:Key="clearlogfolderMessage">Sind Sie sicher, dass Sie alle Logs löschen wollen?</system:String>
|
||||
<system:String x:Key="cachefolder">Cache Folder</system:String>
|
||||
<system:String x:Key="clearcachefolder">Clear Caches</system:String>
|
||||
<system:String x:Key="cachefolder">Cache-Ordner</system:String>
|
||||
<system:String x:Key="clearcachefolder">Cache leeren</system:String>
|
||||
<system:String x:Key="clearcachefolderMessage">Are you sure you want to delete all caches?</system:String>
|
||||
<system:String x:Key="clearfolderfailMessage">Failed to clear part of folders and files. Please see log file for more information</system:String>
|
||||
<system:String x:Key="welcomewindow">Assistent</system:String>
|
||||
<system:String x:Key="userdatapath">Speicherort für Benutzerdaten</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Benutzereinstellungen und installierte Plug-ins werden im Ordner für Benutzerdaten gespeichert. Dieser Speicherort kann variieren, je nachdem, ob sich das Programm im portablen Modus befindet oder nicht.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Ordner öffnen</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log-Ebene</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Dateimanager auswählen</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Mehr erfahren</system:String>
|
||||
<system:String x:Key="fileManager_tips">Bitte 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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Dateimanager</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Dateimanager-Pfad</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg For Folder</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg For File</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Webbrowser per Default</system:String>
|
||||
|
|
@ -413,7 +417,7 @@
|
|||
<system:String x:Key="searchDelayTimeTips">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.</system:String>
|
||||
|
||||
<!-- Search Delay Settings Dialog -->
|
||||
<system:String x:Key="homeTitle">Home Page</system:String>
|
||||
<system:String x:Key="homeTitle">Homepage</system:String>
|
||||
<system:String x:Key="homeTips">Enable the plugin home page state if you like to show the plugin results when query is empty.</system:String>
|
||||
|
||||
<!-- Custom Query Hotkey Dialog -->
|
||||
|
|
@ -469,6 +473,14 @@ Wenn Sie bei der Eingabe eines Shortcuts ein '@'-Präfix hinzufügen, stimmt die
|
|||
<system:String x:Key="reportWindow_upload_log">1. Logdatei hochladen: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Kopieren Sie die Ausnahmemeldung unterhalb</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Fehler</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Bitte warten Sie ...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -361,6 +361,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -368,6 +369,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Select File Manager</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">File Manager</system:String>
|
||||
|
|
@ -375,6 +377,8 @@
|
|||
<system:String x:Key="fileManager_path">File Manager Path</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg For Folder</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg For File</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Default Web Browser</system:String>
|
||||
|
|
@ -464,6 +468,14 @@
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Please wait...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Seleccionar Gestor de Archivos</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Gestor de Archivos</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Ruta del Gestor de Archivos</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg para Carpeta</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg para Archivo</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Navegador Web Predeterminado</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Por favor espere...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">Ubicación de datos del usuario</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">La configuración del usuario y los complementos instalados se guardan en la carpeta de datos del usuario. Esta ubicación puede variar dependiendo de si está en modo portable o no.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Abrir carpeta</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Nivel de registro</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Depurar</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Información</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Seleccionar administrador de archivos</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Más información</system:String>
|
||||
<system:String x:Key="fileManager_tips">Especifique la ubicación del archivo del administrador de archivos que está utilizando y añada los argumentos necesarios. El argumento "%d" representa la ruta del directorio a abrir, utilizada por el campo Argumentos de la carpeta y por comandos que abren directorios específicos. El "%f" representa la ruta del archivo a abrir, utilizada por el campo Argumentos del archivo y por comandos que abren archivos específicos.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">Por ejemplo, si el administrador de archivos utiliza un comando como "totalcmd.exe /A c:\windows" para abrir el directorio c:\windows, la ruta del administrador de archivos será totalcmd.exe, y los Argumentos de la carpeta serán /A "%d". Ciertos administradores de archivos como QTTabBar pueden requerir solo la ruta, en este caso utilice "%d" como la ruta del administrador de archivos y deje el resto de los campos en blanco.</system:String>
|
||||
<system:String x:Key="fileManager_name">Administrador de archivos</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Ruta del administrador de archivos</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Argumentos de la carpeta</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Argumentos del archivo</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">El administrador de archivos '{0}' no pudo ser localizado en '{1}'. ¿Desea continuar?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">Error de ruta del administrador de archivos</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Navegador web predeterminado</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ Si añade un prefijo "@" al introducir un acceso directo, éste coinci
|
|||
<system:String x:Key="reportWindow_upload_log">1. Subir archivo de registro: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copiar el siguiente mensaje de excepción</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">Error del administrador de archivos</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
No se ha encontrado el administrador de archivos especificado. Compruebe la configuración del Administrador de archivos personalizado en Configuración > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">Se ha producido un error al abrir la carpeta. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Por favor espere...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -363,6 +363,7 @@
|
|||
<system:String x:Key="userdatapath">Emplacement des données utilisateur</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Les paramètres utilisateur et les plugins installés sont enregistrés dans le dossier des données utilisateur. Cet emplacement peut varier selon que vous soyez en mode portable ou non.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Ouvrir le dossier</system:String>
|
||||
<system:String x:Key="advanced">Avancé</system:String>
|
||||
<system:String x:Key="logLevel">Niveau de journalisation</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Débogage</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -370,6 +371,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Sélectionner le gestionnaire de fichiers</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">En savoir plus</system:String>
|
||||
<system:String x:Key="fileManager_tips">Veuillez 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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Gestionnaire de fichiers</system:String>
|
||||
|
|
@ -377,6 +379,8 @@
|
|||
<system:String x:Key="fileManager_path">Chemin du gestionnaire de fichiers</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arguments pour le répertoire</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arguments pour le fichier</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">Le gestionnaire de fichiers '{0}' n'a pas pu être situé à '{1}'. Souhaitez-vous continuer ?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">Erreur de chemin du gestionnaire de fichiers</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Navigateur web par défaut</system:String>
|
||||
|
|
@ -468,6 +472,14 @@ Si vous ajoutez un préfixe "@" lors de la saisie d'un raccourci, celu
|
|||
<system:String x:Key="reportWindow_upload_log">1. Télécharger le fichier journal : {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copiez le message d’exception ci-dessous</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">Erreur du gestionnaire de fichiers</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
Le gestionnaire de fichiers spécifié n'a pas été trouvé. Veuillez vérifier le paramètre Gestionnaire de fichiers personnalisé dans Paramètres > Général.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Erreur</system:String>
|
||||
<system:String x:Key="folderOpenError">Une erreur s'est produite lors de l'ouverture du dossier. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Veuillez patienter...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@
|
|||
<system:String x:Key="SearchWindowAlignCenterTop">מרכז עליון</system:String>
|
||||
<system:String x:Key="SearchWindowAlignLeftTop">שמאל עליון</system:String>
|
||||
<system:String x:Key="SearchWindowAlignRightTop">ימין עליון</system:String>
|
||||
<system:String x:Key="SearchWindowAlignCustom">Custom Position</system:String>
|
||||
<system:String x:Key="SearchWindowAlignCustom">מיקום מותאם אישית</system:String>
|
||||
<system:String x:Key="language">שפה</system:String>
|
||||
<system:String x:Key="lastQueryMode">סגנון שאילתה אחרונה</system:String>
|
||||
<system:String x:Key="lastQueryModeToolTip">הצג/הסתר תוצאות קודמות כאשר Flow Launcher מופעל מחדש.</system:String>
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
<system:String x:Key="SearchPrecisionLow">נמוך</system:String>
|
||||
<system:String x:Key="SearchPrecisionRegular">Regular</system:String>
|
||||
<system:String x:Key="ShouldUsePinyin">חפש באמצעות Pinyin</system:String>
|
||||
<system:String x:Key="ShouldUsePinyinToolTip">Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese.</system:String>
|
||||
<system:String x:Key="ShouldUsePinyinToolTip">מאפשר חיפוש באמצעות Pinyin, מערכת הכתיבה הסטנדרטית לתרגום סינית.</system:String>
|
||||
<system:String x:Key="AlwaysPreview">הצג תמיד תצוגה מקדימה</system:String>
|
||||
<system:String x:Key="AlwaysPreviewToolTip">פתח תמיד את לוח התצוגה המקדימה כאשר Flow מופעל. הקש על {0} כדי להחליף את התצוגה המקדימה.</system:String>
|
||||
<system:String x:Key="shadowEffectNotAllowed">לא ניתן להחיל אפקט צל כאשר העיצוב הנוכחי מוגדר לאפקט טשטוש</system:String>
|
||||
|
|
@ -134,7 +134,7 @@
|
|||
<system:String x:Key="homePageToolTip">Show home page results when query text is empty.</system:String>
|
||||
<system:String x:Key="historyResultsForHomePage">Show History Results in Home Page</system:String>
|
||||
<system:String x:Key="historyResultsCountForHomePage">Maximum History Results Shown in Home Page</system:String>
|
||||
<system:String x:Key="homeToggleBoxToolTip">This can only be edited if plugin supports Home feature and Home Page is enabled.</system:String>
|
||||
<system:String x:Key="homeToggleBoxToolTip">ניתן לערוך זאת רק אם התוסף תומך בתכונת הבית ודף הבית מופעל.</system:String>
|
||||
|
||||
<!-- Setting Plugin -->
|
||||
<system:String x:Key="searchplugin">חפש תוסף</system:String>
|
||||
|
|
@ -151,7 +151,7 @@
|
|||
<system:String x:Key="currentActionKeywords">מילת מפתח נוכחית לפעולה</system:String>
|
||||
<system:String x:Key="newActionKeyword">מילת מפתח חדשה לפעולה</system:String>
|
||||
<system:String x:Key="actionKeywordsTooltip">שנה מילות מפתח לפעולה</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTime">Plugin search delay time</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTime">זמן השהייה של חיפוש תוסף</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTimeTooltip">שנה את זמן השהיית חיפוש של תוסף</system:String>
|
||||
<system:String x:Key="FilterComboboxLabel">הגדרות מתקדמות:</system:String>
|
||||
<system:String x:Key="DisplayModeOnOff">מופעל</system:String>
|
||||
|
|
@ -313,7 +313,7 @@
|
|||
<system:String x:Key="useGlyphUIEffect">השתמש ב-Segoe Fluent Icons לתוצאות חיפוש כאשר נתמך</system:String>
|
||||
<system:String x:Key="flowlauncherPressHotkey">הקש על מקש</system:String>
|
||||
<system:String x:Key="showBadges">הצג תגי תוצאות</system:String>
|
||||
<system:String x:Key="showBadgesToolTip">For supported plugins, badges are displayed to help distinguish them more easily.</system:String>
|
||||
<system:String x:Key="showBadgesToolTip">עבור תוספים נתמכים, מוצגים תגים כדי לעזור להבחין ביניהם ביתר קלות.</system:String>
|
||||
<system:String x:Key="showBadgesGlobalOnly">Show Result Badges for Global Query Only</system:String>
|
||||
|
||||
<!-- Setting Proxy -->
|
||||
|
|
@ -363,6 +363,7 @@
|
|||
<system:String x:Key="userdatapath">מיקום נתוני משתמש</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">הגדרות המשתמש והתוספים המותקנים נשמרים בתיקיית נתוני המשתמש. מיקום זה עשוי להשתנות אם התוכנה במצב נייד.</system:String>
|
||||
<system:String x:Key="userdatapathButton">פתח תיקיה</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">רמת יומן</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">ניפוי שגיאות</system:String>
|
||||
<system:String x:Key="LogLevelINFO">מידע</system:String>
|
||||
|
|
@ -370,6 +371,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">בחר מנהל קבצים</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">למד עוד</system:String>
|
||||
<system:String x:Key="fileManager_tips">אנא ציין את מיקום הקובץ של מנהל הקבצים שבו אתה משתמש והוסף ארגומנטים כנדרש. "%d" מייצג את נתיב התיקייה שיש לפתוח, ומשמש בשדה ארגומנט לתיקייה ובפקודות לפתיחת תיקיות מסוימות. "%f" מייצג את נתיב הקובץ שיש לפתוח, ומשמש בשדה ארגומנט לקובץ ובפקודות לפתיחת קבצים מסוימים.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">לדוגמה, אם מנהל הקבצים משתמש בפקודה כגון "totalcmd.exe /A c:\windows" כדי לפתוח את התיקייה c:\windows, נתיב מנהל הקבצים יהיה totalcmd.exe, והארגומנט לתיקייה יהיה /A "%d". מנהלי קבצים מסוימים, כגון QTTabBar, עשויים לדרוש רק ציון נתיב, במקרה כזה השתמש ב-"%d" כנתיב מנהל הקבצים והשאר את שאר השדות ריקים.</system:String>
|
||||
<system:String x:Key="fileManager_name">מנהל קבצים</system:String>
|
||||
|
|
@ -377,6 +379,8 @@
|
|||
<system:String x:Key="fileManager_path">נתיב מנהל קבצים</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">ארגומנט לתיקייה</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">ארגומנט לקובץ</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">לא ניתן היה לאתר את מנהל הקבצים '{0}' ב-'{1}'. האם ברצונך להמשיך?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">שגיאת נתיב למנהל הקבצים</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">דפדפן ברירת מחדל</system:String>
|
||||
|
|
@ -413,7 +417,7 @@
|
|||
|
||||
<!-- Search Delay Settings Dialog -->
|
||||
<system:String x:Key="homeTitle">דף הבית</system:String>
|
||||
<system:String x:Key="homeTips">Enable the plugin home page state if you like to show the plugin results when query is empty.</system:String>
|
||||
<system:String x:Key="homeTips">הפעל את מצב דף הבית של התוסף אם ברצונך להציג את תוצאות התוסף כאשר השאילתה ריקה.</system:String>
|
||||
|
||||
<!-- Custom Query Hotkey Dialog -->
|
||||
<system:String x:Key="customeQueryHotkeyTitle">מקש קיצור לשאילתה מותאמת אישית</system:String>
|
||||
|
|
@ -468,6 +472,14 @@
|
|||
<system:String x:Key="reportWindow_upload_log">1. העלה קובץ יומן: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. העתק את הודעת החריגה למטה</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">שגיאת מנהל הקבצים</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
לא ניתן היה למצוא את מנהל הקבצים שצוין. אנא בדוק את ההגדרה של מנהל קבצים מותאם אישית תחת הגדרות > כללי.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">שגיאה</system:String>
|
||||
<system:String x:Key="folderOpenError">אירעה שגיאה בעת פתיחת התיקייה. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">אנא המתן...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">Posizione Dati Utente</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Le impostazioni dell'utente e i plugin installati sono salvati nella cartella dati utente. Questa posizione può variare se è in modalità portable o no.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Apri Cartella</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Seleziona Gestore File</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Gestore File</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Percorso Gestore File</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg Per Cartella</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg Per Cartella</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Browser predefinito</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ Se si aggiunge un prefisso '@' mentre si inserisce una scorciatoia, corrisponde
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Attendere prego...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">デフォルトのファイルマネージャー</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">File Manager</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">File Manager Path</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg For Folder</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg For File</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">デフォルトのウェブブラウザー</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Please wait...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -122,10 +122,10 @@
|
|||
<system:String x:Key="KoreanImeOpenLinkButton">열기</system:String>
|
||||
<system:String x:Key="KoreanImeRegistry">이전 버전의 Microsoft IME 사용</system:String>
|
||||
<system:String x:Key="KoreanImeRegistryTooltip">이전 버전의 IME를 사용하도록 시스템 설정을 변경합니다</system:String>
|
||||
<system:String x:Key="homePage">Home Page</system:String>
|
||||
<system:String x:Key="homePageToolTip">Show home page results when query text is empty.</system:String>
|
||||
<system:String x:Key="historyResultsForHomePage">Show History Results in Home Page</system:String>
|
||||
<system:String x:Key="historyResultsCountForHomePage">Maximum History Results Shown in Home Page</system:String>
|
||||
<system:String x:Key="homePage">홈페이지</system:String>
|
||||
<system:String x:Key="homePageToolTip">쿼리 입력창이 비어있을때, 홈페이지의 결과를 표시합니다.</system:String>
|
||||
<system:String x:Key="historyResultsForHomePage">히스토리를 홈페이지에 표시</system:String>
|
||||
<system:String x:Key="historyResultsCountForHomePage">홈페이지에 표시할 최대 히스토리 수</system:String>
|
||||
<system:String x:Key="homeToggleBoxToolTip">This can only be edited if plugin supports Home feature and Home Page is enabled.</system:String>
|
||||
|
||||
<!-- Setting Plugin -->
|
||||
|
|
@ -149,7 +149,7 @@
|
|||
<system:String x:Key="DisplayModeOnOff">켬</system:String>
|
||||
<system:String x:Key="DisplayModePriority">중요</system:String>
|
||||
<system:String x:Key="DisplayModeSearchDelay">검색 지연</system:String>
|
||||
<system:String x:Key="DisplayModeHomeOnOff">Home Page</system:String>
|
||||
<system:String x:Key="DisplayModeHomeOnOff">홈페이지</system:String>
|
||||
<system:String x:Key="currentPriority">현재 중요도:</system:String>
|
||||
<system:String x:Key="newPriority">새 중요도:</system:String>
|
||||
<system:String x:Key="priority">중요도</system:String>
|
||||
|
|
@ -347,7 +347,7 @@
|
|||
<system:String x:Key="logfolder">로그 폴더</system:String>
|
||||
<system:String x:Key="clearlogfolder">로그 삭제</system:String>
|
||||
<system:String x:Key="clearlogfolderMessage">정말 모든 로그를 삭제하시겠습니까?</system:String>
|
||||
<system:String x:Key="cachefolder">Cache Folder</system:String>
|
||||
<system:String x:Key="cachefolder">캐시 폴더</system:String>
|
||||
<system:String x:Key="clearcachefolder">캐시 지우기</system:String>
|
||||
<system:String x:Key="clearcachefolderMessage">모든 캐시를 삭제하시겠습니까?</system:String>
|
||||
<system:String x:Key="clearfolderfailMessage">Failed to clear part of folders and files. Please see log file for more information</system:String>
|
||||
|
|
@ -355,13 +355,15 @@
|
|||
<system:String x:Key="userdatapath">사용자 데이터 위치</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">사용자 설정과 설치된 플러그인은 사용자 데이터 폴더에 저장됩니다. 이 위치는 휴대용 모드 활성화 여부에 따라 달라질 수 있습니다.</system:String>
|
||||
<system:String x:Key="userdatapathButton">폴더 열기</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">로그 레벨</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
<system:String x:Key="settingWindowFontTitle">Setting Window Font</system:String>
|
||||
<system:String x:Key="settingWindowFontTitle">설정창 글꼴</system:String>
|
||||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">파일관리자 선택</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">더 알아보기</system:String>
|
||||
<system:String x:Key="fileManager_tips">사용 중인 파일 관리자의 파일 위치를 지정하고, 필요한 경우 인수를 추가하세요. "%d"는 열고자 하는 디렉터리 경로를 나타내며, 폴더용 인수 필드 및 특정 디렉터리를 여는 명령어에서 사용됩니다. "%f"는 열고자 하는 파일 경로를 나타내며, 파일용 인수 필드 및 특정 파일을 여는 명령어에서 사용됩니다.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">예를 들어, 파일 관리자가 totalcmd.exe /A c:\windows와 같은 명령어로 c:\windows 디렉터리를 연다면, 파일 관리자 경로는 totalcmd.exe가 되고, 폴더용 인수는 /A "%d"가 됩니다. QTTabBar와 같은 일부 파일 관리자는 경로만 전달하면 되는 경우가 있으므로, 이 경우에는 파일 관리자 경로에 "%d"를 입력하고 나머지 필드는 비워두세요.</system:String>
|
||||
<system:String x:Key="fileManager_name">파일관리자</system:String>
|
||||
|
|
@ -369,6 +371,8 @@
|
|||
<system:String x:Key="fileManager_path">파일관리자 경로</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">폴더경로 인수</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">파일경로 인수</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">기본 웹 브라우저</system:String>
|
||||
|
|
@ -404,7 +408,7 @@
|
|||
<system:String x:Key="searchDelayTimeTips">플러그인에서 사용할 검색 지연 시간(ms)을 입력하세요. 지정하지 않으려면 비워두세요. 기본 검색 지연 시간이 사용됩니다.</system:String>
|
||||
|
||||
<!-- Search Delay Settings Dialog -->
|
||||
<system:String x:Key="homeTitle">Home Page</system:String>
|
||||
<system:String x:Key="homeTitle">홈페이지</system:String>
|
||||
<system:String x:Key="homeTips">Enable the plugin home page state if you like to show the plugin results when query is empty.</system:String>
|
||||
|
||||
<!-- Custom Query Hotkey Dialog -->
|
||||
|
|
@ -460,6 +464,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">잠시 기다려주세요...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">Plassering av brukerdata</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Brukerinnstillinger og installerte programtillegg lagres i brukerens datamappe. Denne plasseringen kan variere avhengig av om den er i portabel modus eller ikke.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Åpne mappe</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Velg filbehandler</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">Vennligst 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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Filbehandler</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Filbehandler sti</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg for mappe</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg for fil</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Standard nettleser</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ Hvis du legger til et @-prefiks mens du legger inn en snarvei, samsvarer det med
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Feil</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Vennligst vent...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">Gegevenslocatie van gebruiker</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Gebruikersinstellingen en geïnstalleerde plug-ins worden opgeslagen in de gebruikersgegevensmap. Deze locatie kan variëren afhankelijk van of het in draagbare modus is of niet.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Map openen</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Bestandsbeheerder selecteren</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Bestandsbeheerder</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Bestandsbeheerder pad</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg voor map</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg voor bestand</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Standaard webbrowser</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ Als u een '@' voorvoegsel toevoegt tijdens het invoeren van een snelkoppeling, m
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Please wait...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
|
|||
<system:String x:Key="userdatapath">Lokalizacja danych użytkownika</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Ustawienia użytkownika i zainstalowane wtyczki są zapisywane w folderze danych użytkownika. Ta lokalizacja może się różnić w zależności od tego, czy aplikacja jest w trybie przenośnym, czy nie.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Otwórz folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Poziom logowania</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Wybierz menedżer plików</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">Proszę 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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Menadżer plików</system:String>
|
||||
|
|
@ -378,6 +380,8 @@ Kliknij "nie", jeśli jest już zainstalowany. Zostaniesz wtedy popros
|
|||
<system:String x:Key="fileManager_path">Ścieżka menedżera plików</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg dla folderu</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg dla pliku</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Domyślna przeglądarka</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ Jeśli dodasz prefiks '@' podczas wprowadzania skrótu, będzie on pasował do d
|
|||
<system:String x:Key="reportWindow_upload_log">1. Prześlij plik dziennika: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Skopiuj poniższą wiadomość wyjątku</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Błąd</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Proszę czekać...</system:String>
|
||||
|
||||
|
|
@ -488,7 +500,7 @@ Jeśli dodasz prefiks '@' podczas wprowadzania skrótu, będzie on pasował do d
|
|||
<system:String x:Key="update_flowlauncher_update_cancel">Anuluj</system:String>
|
||||
<system:String x:Key="update_flowlauncher_fail">Aktualizacja nie powiodła się</system:String>
|
||||
<system:String x:Key="update_flowlauncher_check_connection">Sprawdź połączenie i spróbuj zaktualizować ustawienia proxy do github-cloud.s3.amazonaws.com.</system:String>
|
||||
<system:String x:Key="update_flowlauncher_update_restart_flowlauncher_tip">Aby dokończyć proces aktualizacji Flow Launcher musi zostać zresetowany</system:String>
|
||||
<system:String x:Key="update_flowlauncher_update_restart_flowlauncher_tip">Aby dokończyć proces aktualizacji Flow Launcher musi zostać zrestartowany</system:String>
|
||||
<system:String x:Key="update_flowlauncher_update_update_files">Następujące pliki zostaną zaktualizowane</system:String>
|
||||
<system:String x:Key="update_flowlauncher_update_files">Aktualizuj pliki</system:String>
|
||||
<system:String x:Key="update_flowlauncher_update_update_description">Opis aktualizacji</system:String>
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Selecione o Gerenciador de Arquivos</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Gerenciador de Arquivos</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Caminho do Gerenciador de Arquivos</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg para Pasta</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg para Arquivo</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Navegador da Web Padrão</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Por favor, aguarde...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -362,6 +362,7 @@
|
|||
<system:String x:Key="userdatapath">Localização dos dados do utilizador</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">As definições e os plugins instalados são guardados na pasta de dados do utilizador. A localização pode variar, tendo em conta se a aplicação está instalada ou no modo portátil</system:String>
|
||||
<system:String x:Key="userdatapathButton">Abrir pasta</system:String>
|
||||
<system:String x:Key="advanced">Avançado</system:String>
|
||||
<system:String x:Key="logLevel">Nível de registo</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Depuração</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Informação</system:String>
|
||||
|
|
@ -369,6 +370,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Selecione o gestor de ficheiros</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Saber mais</system:String>
|
||||
<system:String x:Key="fileManager_tips">Por 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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Gestor de ficheiros</system:String>
|
||||
|
|
@ -376,6 +378,8 @@
|
|||
<system:String x:Key="fileManager_path">Caminho do gestor de ficheiros</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Argumento para pasta</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Argumento para ficheiro</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">Não foi possível encontrar o gestor de ficheiros '{0}' em '{1}'. Deseja continuar?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">Erro no caminho do gestor de ficheiros</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Navegador web padrão</system:String>
|
||||
|
|
@ -467,6 +471,14 @@ Se adicionar o prefixo '@' durante a introdução do atalho, será utilizada qua
|
|||
<system:String x:Key="reportWindow_upload_log">1. Carregue o ficheiro de registos: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copie a mensagem abaixo</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">Erro do gestor de ficheiros</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
Não foi possível encontrar o gestor de ficheiros. Verifique a definição 'Gestor de ficheiros personalizado' em Definições -> Geral.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Erro</system:String>
|
||||
<system:String x:Key="folderOpenError">Ocorreu um erro ao abrir a pasta: {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Por favor aguarde...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Выбор менеджера файлов</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Файловый менеджер</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Путь к файловому менеджеру</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Аргумент для папки</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Аргумент для файла</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Браузер по умолчанию</system:String>
|
||||
|
|
@ -469,6 +473,14 @@
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Ошибка</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Пожалуйста, подождите...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">Cesta k používateľskému priečinku</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Nastavenia používateľa a nainštalované pluginy sa ukladajú do používateľského priečinka. Toto umiestnenie sa môže líšiť v závislosti od toho, či je v prenosnom režime alebo nie.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Otvoriť priečinok</system:String>
|
||||
<system:String x:Key="advanced">Rozšírené</system:String>
|
||||
<system:String x:Key="logLevel">Úroveň logovania</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Vyberte správcu súborov</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Viac informácií</system:String>
|
||||
<system:String x:Key="fileManager_tips">Zadajte umiestnenie súboru správcu súborov, ktorý používate, a podľa potreby pridajte argumenty. "%d" predstavuje cestu k priečinku, ktorý sa má otvoriť, používa sa v poli Arg pre priečinok a pri príkazoch na otvorenie konkrétnych priečinkov. "%f" predstavuje cestu k súboru, ktorá sa má otvoriť a používa sa v poli Arg pre súbor a pri príkazoch na otvorenie konkrétnych súborov.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">Napríklad, ak správca súborov používa príkaz ako "totalcmd.exe /A c:\windows" na otvorenie priečinka c:\windows, cesta správcu súborov bude totalcmd.exe a Arg pre priečinok bude /A "%d". Niektorí správcovia súborov, ako napríklad QTTabBar, môžu vyžadovať len zadanie cesty, v tomto prípade použite "%d" ako cestu správcu súborov a zvyšok súborov nechajte prázdny.</system:String>
|
||||
<system:String x:Key="fileManager_name">Správca súborov</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Cesta k správcovi súborov</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg. pre priečinok</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg. pre súbor</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">Správca súborov '{0}' sa nenachádza na '{1}'. Chcete pokračovať?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">Chyba v ceste k správcovi súborov</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Predvolený webový prehliadač</system:String>
|
||||
|
|
@ -445,7 +449,7 @@ Ak pri zadávaní skratky pred ňu pridáte "@", bude sa zhodovať s
|
|||
<system:String x:Key="commonCancel">Zrušiť</system:String>
|
||||
<system:String x:Key="commonReset">Resetovať</system:String>
|
||||
<system:String x:Key="commonDelete">Odstrániť</system:String>
|
||||
<system:String x:Key="commonOK">Aktualizovať</system:String>
|
||||
<system:String x:Key="commonOK">OK</system:String>
|
||||
<system:String x:Key="commonYes">Áno</system:String>
|
||||
<system:String x:Key="commonNo">Nie</system:String>
|
||||
<system:String x:Key="commonBackground">Pozadie</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ Ak pri zadávaní skratky pred ňu pridáte "@", bude sa zhodovať s
|
|||
<system:String x:Key="reportWindow_upload_log">1. Nahrajte súbor logu: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Skopírujte nižšie uvedenú správu o výnimke</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">Chyba správcu súborov</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
Zadaný správca súborov sa nenašiel. Skontrolujte nastavenie vlastného správcu súborov v Nastavenia > Všeobecné.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Chyba</system:String>
|
||||
<system:String x:Key="folderOpenError">Počas otvárania priečinka sa vyskytla chyba. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Čakajte, prosím...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Select File Manager</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">File Manager</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">File Manager Path</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Arg For Folder</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Arg For File</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Default Web Browser</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Please wait...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">Kullanıcı Verisi Dizini</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Kullanıcı ayarları ve yüklü eklentiler bu klasörde saklanır. Klasörün konumu taşınabilir moda bağlı olarak değişebilir.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Klasörü Aç</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Dosya Yöneticisi Seçenekleri</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Dosya Yöneticisi</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Dosya Yöneticisi Yolu</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Klasör Açarken</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Dosya Açarken</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">İnternet Tarayıcı Seçenekleri</system:String>
|
||||
|
|
@ -467,6 +471,14 @@
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Lütfen bekleyin...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">Розташування даних користувача</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Налаштування користувача та встановлені плагіни зберігаються у теці даних користувача. Це місце може змінюватися залежно від того, чи перебуває програма в портативному режимі, чи ні.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Відкрити теку</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Виберіть файловий менеджер</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Файловий менеджер</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">Шлях до файлового менеджера</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Аргумент для папки</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Аргумент для файлу</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Веб-браузер за замовчуванням</system:String>
|
||||
|
|
@ -469,6 +473,14 @@
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Помилка</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Будь ласка, зачекайте...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -366,6 +366,7 @@
|
|||
<system:String x:Key="userdatapath">Vị trí dữ liệu người dùng</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">Thiết đặt người dùng và plugin đã cài đặt sẽ được lưu trong thư mục dữ liệu người dùng. Vị trí này có thể thay đổi tùy thuộc vào việc nó có ở chế độ di động hay không.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Mở thư mục</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -373,6 +374,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">Chọn trình quản lý tệp</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">Trình quản lý ngày tháng</system:String>
|
||||
|
|
@ -380,6 +382,8 @@
|
|||
<system:String x:Key="fileManager_path">Đường dẫn quản lý tệp</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">Đối số cho thư mục</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">Đối số cho tệp</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Trình duyệt web tiêu chuẩn</system:String>
|
||||
|
|
@ -473,6 +477,14 @@
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Lỗi</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">Cảnh báo nhỏ...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
</system:String>
|
||||
<system:String x:Key="runtimePluginChooseRuntimeExecutable">请选择 {0} 可执行文件</system:String>
|
||||
<system:String x:Key="runtimeExecutableInvalidChooseDownload">
|
||||
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},请点击“否”
|
||||
</system:String>
|
||||
<system:String x:Key="runtimePluginUnableToSetExecutablePath">无法设置 {0} 可执行路径,请尝试从 Flow 的设置中设置(向下滚动到底部)。</system:String>
|
||||
<system:String x:Key="failedToInitializePluginsTitle">无法初始化插件</system:String>
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
<!-- MainWindow -->
|
||||
<system:String x:Key="registerHotkeyFailed">无法注册热键“{0}”。该热键可能正在被其他程序使用。更改为不同的热键,或退出其他程序。</system:String>
|
||||
<system:String x:Key="unregisterHotkeyFailed">Failed to unregister hotkey "{0}". Please try again or see log for details</system:String>
|
||||
<system:String x:Key="unregisterHotkeyFailed">未能取消注册快捷键"{0}"。请重试或查看日志以获取详细信息</system:String>
|
||||
<system:String x:Key="MessageBoxTitle">Flow Launcher</system:String>
|
||||
<system:String x:Key="couldnotStartCmd">启动命令 {0} 失败</system:String>
|
||||
<system:String x:Key="invalidFlowLauncherPluginFileFormat">无效的 Flow Launcher 插件文件格式</system:String>
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
<system:String x:Key="GameMode">游戏模式</system:String>
|
||||
<system:String x:Key="GameModeToolTip">暂停使用热键。</system:String>
|
||||
<system:String x:Key="PositionReset">重置位置</system:String>
|
||||
<system:String x:Key="PositionResetToolTip">Reset search window position</system:String>
|
||||
<system:String x:Key="queryTextBoxPlaceholder">Type here to search</system:String>
|
||||
<system:String x:Key="PositionResetToolTip">重置搜索窗口位置</system:String>
|
||||
<system:String x:Key="queryTextBoxPlaceholder">在此处输入以搜索</system:String>
|
||||
|
||||
<!-- Setting General -->
|
||||
<system:String x:Key="flowlauncher_settings">设置</system:String>
|
||||
|
|
@ -51,12 +51,12 @@
|
|||
<system:String x:Key="portableMode">便携模式</system:String>
|
||||
<system:String x:Key="portableModeToolTIp">将所有设置和用户数据存储在一个文件夹中 (可用于可移除驱动器或云服务)。</system:String>
|
||||
<system:String x:Key="startFlowLauncherOnSystemStartup">开机自启</system:String>
|
||||
<system:String x:Key="useLogonTaskForStartup">Use logon task instead of startup entry for faster startup experience</system:String>
|
||||
<system:String x:Key="useLogonTaskForStartupTooltip">After uninstallation, you need to manually remove this task (Flow.Launcher Startup) via Task Scheduler</system:String>
|
||||
<system:String x:Key="useLogonTaskForStartup">使用登录任务代替启动条目来更快地启动体验</system:String>
|
||||
<system:String x:Key="useLogonTaskForStartupTooltip">卸载后,您需要通过任务计划程序手动移除此任务 (Flow.Launcher Startup)</system:String>
|
||||
<system:String x:Key="setAutoStartFailed">设置开机自启时出错</system:String>
|
||||
<system:String x:Key="hideFlowLauncherWhenLoseFocus">失去焦点时自动隐藏 Flow Launcher</system:String>
|
||||
<system:String x:Key="dontPromptUpdateMsg">不显示新版本提示</system:String>
|
||||
<system:String x:Key="SearchWindowPosition">Search Window Location</system:String>
|
||||
<system:String x:Key="SearchWindowPosition">搜索窗口位置</system:String>
|
||||
<system:String x:Key="SearchWindowScreenRememberLastLaunchLocation">记住上次的位置</system:String>
|
||||
<system:String x:Key="SearchWindowScreenCursor">鼠标光标所在显示器</system:String>
|
||||
<system:String x:Key="SearchWindowScreenFocus">聚焦窗口所在显示器</system:String>
|
||||
|
|
@ -74,8 +74,8 @@
|
|||
<system:String x:Key="LastQueryPreserved">保留上次搜索关键字</system:String>
|
||||
<system:String x:Key="LastQuerySelected">选择上次搜索关键字</system:String>
|
||||
<system:String x:Key="LastQueryEmpty">清空上次搜索关键字</system:String>
|
||||
<system:String x:Key="LastQueryActionKeywordPreserved">Preserve Last Action Keyword</system:String>
|
||||
<system:String x:Key="LastQueryActionKeywordSelected">Select Last Action Keyword</system:String>
|
||||
<system:String x:Key="LastQueryActionKeywordPreserved">保留最后操作关键词</system:String>
|
||||
<system:String x:Key="LastQueryActionKeywordSelected">选择最后一个操作关键词</system:String>
|
||||
<system:String x:Key="maxShowResults">最大结果显示个数</system:String>
|
||||
<system:String x:Key="maxShowResultsToolTip">您也可以通过使用 CTRL+ "+" 和 CTRL+ "-" 来快速调整它。</system:String>
|
||||
<system:String x:Key="ignoreHotkeysOnFullscreen">全屏模式下忽略热键</system:String>
|
||||
|
|
@ -106,36 +106,36 @@
|
|||
<system:String x:Key="AlwaysPreview">始终打开预览</system:String>
|
||||
<system:String x:Key="AlwaysPreviewToolTip">Flow 启动时总是打开预览面板。按 {0} 以切换预览。</system:String>
|
||||
<system:String x:Key="shadowEffectNotAllowed">当前主题已启用模糊效果,不允许启用阴影效果</system:String>
|
||||
<system:String x:Key="searchDelay">Search Delay</system:String>
|
||||
<system:String x:Key="searchDelayToolTip">Adds a short delay while typing to reduce UI flicker and result load. Recommended if your typing speed is average.</system:String>
|
||||
<system:String x:Key="searchDelayNumberBoxToolTip">Enter the wait time (in ms) until input is considered complete. This can only be edited if Search Delay is enabled.</system:String>
|
||||
<system:String x:Key="searchDelayTime">Default Search Delay Time</system:String>
|
||||
<system:String x:Key="searchDelayTimeToolTip">Wait time before showing results after typing stops. Higher values wait longer. (ms)</system:String>
|
||||
<system:String x:Key="KoreanImeTitle">Information for Korean IME user</system:String>
|
||||
<system:String x:Key="searchDelay">延迟搜索</system:String>
|
||||
<system:String x:Key="searchDelayToolTip">在输入时添加一个短时间延迟以减少UI闪烁和加载结果的负载。建议您的输入速度是平均的。</system:String>
|
||||
<system:String x:Key="searchDelayNumberBoxToolTip">输入等待时间(毫秒),直到输入被认为完成。这只能在启用搜索延迟时进行编辑。</system:String>
|
||||
<system:String x:Key="searchDelayTime">默认搜索延迟时间</system:String>
|
||||
<system:String x:Key="searchDelayTimeToolTip">在输入停止后显示结果之前等待时间。更高的数值等待更长时间(毫秒)</system:String>
|
||||
<system:String x:Key="KoreanImeTitle">韩文输入法用户信息</system:String>
|
||||
<system:String x:Key="KoreanImeGuide">
|
||||
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,
|
||||
时间和语言> 语言和区域 > 韩国语言选项 > 键盘-微软IME > 兼容性
|
||||
|
||||
and enable "Use previous version of Microsoft IME".
|
||||
并启用"使用之前版本的 Microsoft IME"。
|
||||
|
||||
|
||||
</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLink">Open Language and Region System Settings</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLinkToolTip">Opens the Korean IME setting location. Go to Korean > Language Options > Keyboard - Microsoft IME > Compatibility</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLink">打开语言和区域系统设置</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLinkToolTip">打开韩语输入法设置位置。转到韩语> 语言选项 > 键盘-微软输入法 > 兼容性</system:String>
|
||||
<system:String x:Key="KoreanImeOpenLinkButton">打开</system:String>
|
||||
<system:String x:Key="KoreanImeRegistry">Use Previous Korean IME</system:String>
|
||||
<system:String x:Key="KoreanImeRegistryTooltip">You can change the Previous Korean IME settings directly from here</system:String>
|
||||
<system:String x:Key="homePage">Home Page</system:String>
|
||||
<system:String x:Key="homePageToolTip">Show home page results when query text is empty.</system:String>
|
||||
<system:String x:Key="historyResultsForHomePage">Show History Results in Home Page</system:String>
|
||||
<system:String x:Key="historyResultsCountForHomePage">Maximum History Results Shown in Home Page</system:String>
|
||||
<system:String x:Key="homeToggleBoxToolTip">This can only be edited if plugin supports Home feature and Home Page is enabled.</system:String>
|
||||
<system:String x:Key="KoreanImeRegistry">使用以前的韩语输入法</system:String>
|
||||
<system:String x:Key="KoreanImeRegistryTooltip">您可以直接从这里更改前韩语输入法设置</system:String>
|
||||
<system:String x:Key="homePage">首页</system:String>
|
||||
<system:String x:Key="homePageToolTip">当查询文本为空时显示主页结果。</system:String>
|
||||
<system:String x:Key="historyResultsForHomePage">在主页中显示历史记录</system:String>
|
||||
<system:String x:Key="historyResultsCountForHomePage">在主页显示的最大历史结果数</system:String>
|
||||
<system:String x:Key="homeToggleBoxToolTip">这只能在插件支持主页功能和主页启用时进行编辑。</system:String>
|
||||
|
||||
<!-- Setting Plugin -->
|
||||
<system:String x:Key="searchplugin">搜索插件</system:String>
|
||||
|
|
@ -152,13 +152,13 @@
|
|||
<system:String x:Key="currentActionKeywords">当前触发关键字</system:String>
|
||||
<system:String x:Key="newActionKeyword">新触发关键字</system:String>
|
||||
<system:String x:Key="actionKeywordsTooltip">更改触发关键字</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTime">Plugin search delay time</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTimeTooltip">Change Plugin Search Delay Time</system:String>
|
||||
<system:String x:Key="FilterComboboxLabel">Advanced Settings:</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTime">插件搜索延迟时间</system:String>
|
||||
<system:String x:Key="pluginSearchDelayTimeTooltip">更改插件搜索延迟时间</system:String>
|
||||
<system:String x:Key="FilterComboboxLabel">高级设置:</system:String>
|
||||
<system:String x:Key="DisplayModeOnOff">启用</system:String>
|
||||
<system:String x:Key="DisplayModePriority">优先级</system:String>
|
||||
<system:String x:Key="DisplayModeSearchDelay">Search Delay</system:String>
|
||||
<system:String x:Key="DisplayModeHomeOnOff">Home Page</system:String>
|
||||
<system:String x:Key="DisplayModeSearchDelay">延迟搜索</system:String>
|
||||
<system:String x:Key="DisplayModeHomeOnOff">首页</system:String>
|
||||
<system:String x:Key="currentPriority">当前优先级</system:String>
|
||||
<system:String x:Key="newPriority">新优先级</system:String>
|
||||
<system:String x:Key="priority">优先级</system:String>
|
||||
|
|
@ -170,10 +170,10 @@
|
|||
<system:String x:Key="plugin_query_version">版本</system:String>
|
||||
<system:String x:Key="plugin_query_web">官方网站</system:String>
|
||||
<system:String x:Key="plugin_uninstall">卸载</system:String>
|
||||
<system:String x:Key="failedToRemovePluginSettingsTitle">Fail to remove plugin settings</system:String>
|
||||
<system:String x:Key="failedToRemovePluginSettingsMessage">Plugins: {0} - Fail to remove plugin settings files, please remove them manually</system:String>
|
||||
<system:String x:Key="failedToRemovePluginCacheTitle">Fail to remove plugin cache</system:String>
|
||||
<system:String x:Key="failedToRemovePluginCacheMessage">Plugins: {0} - Fail to remove plugin cache files, please remove them manually</system:String>
|
||||
<system:String x:Key="failedToRemovePluginSettingsTitle">移除插件设置失败</system:String>
|
||||
<system:String x:Key="failedToRemovePluginSettingsMessage">插件:{0} - 移除插件设置文件失败,请手动删除</system:String>
|
||||
<system:String x:Key="failedToRemovePluginCacheTitle">移除插件缓存失败</system:String>
|
||||
<system:String x:Key="failedToRemovePluginCacheMessage">插件:{0} - 移除插件设置文件失败,请手动删除</system:String>
|
||||
|
||||
<!-- Setting Plugin Store -->
|
||||
<system:String x:Key="pluginStore">插件商店</system:String>
|
||||
|
|
@ -210,9 +210,9 @@
|
|||
<system:String x:Key="resultItemFont">结果标题字体</system:String>
|
||||
<system:String x:Key="resultSubItemFont">结果字幕字体</system:String>
|
||||
<system:String x:Key="resetCustomize">重置</system:String>
|
||||
<system:String x:Key="resetCustomizeToolTip">Reset to the recommended font and size settings.</system:String>
|
||||
<system:String x:Key="ImportThemeSize">Import Theme Size</system:String>
|
||||
<system:String x:Key="ImportThemeSizeToolTip">If a size value intended by the theme designer is available, it will be retrieved and applied.</system:String>
|
||||
<system:String x:Key="resetCustomizeToolTip">重置为推荐字体和大小设置。</system:String>
|
||||
<system:String x:Key="ImportThemeSize">导入主题尺寸</system:String>
|
||||
<system:String x:Key="ImportThemeSizeToolTip">如果主题设计器想要的大小值可用,它将被检索和应用。</system:String>
|
||||
<system:String x:Key="CustomizeToolTip">自定义</system:String>
|
||||
<system:String x:Key="windowMode">窗口模式</system:String>
|
||||
<system:String x:Key="opacity">透明度</system:String>
|
||||
|
|
@ -239,21 +239,21 @@
|
|||
<system:String x:Key="AnimationSpeedCustom">自定义</system:String>
|
||||
<system:String x:Key="Clock">时钟</system:String>
|
||||
<system:String x:Key="Date">日期</system:String>
|
||||
<system:String x:Key="BackdropType">Backdrop Type</system:String>
|
||||
<system:String x:Key="BackdropInfo">The backdrop effect is not applied in the preview.</system:String>
|
||||
<system:String x:Key="BackdropTypeDisabledToolTip">Backdrop supported starting from Windows 11 build 22000 and above</system:String>
|
||||
<system:String x:Key="BackdropType">返回类型</system:String>
|
||||
<system:String x:Key="BackdropInfo">预览中没有应用背景效果。</system:String>
|
||||
<system:String x:Key="BackdropTypeDisabledToolTip">自 Windows 11 Build 22000 起支持背景效果</system:String>
|
||||
<system:String x:Key="BackdropTypesNone">无</system:String>
|
||||
<system:String x:Key="BackdropTypesAcrylic">Acrylic</system:String>
|
||||
<system:String x:Key="BackdropTypesMica">Mica</system:String>
|
||||
<system:String x:Key="BackdropTypesMicaAlt">Mica Alt</system:String>
|
||||
<system:String x:Key="TypeIsDarkToolTip">This theme supports two (light/dark) modes.</system:String>
|
||||
<system:String x:Key="BackdropTypesAcrylic">亚克力</system:String>
|
||||
<system:String x:Key="BackdropTypesMica">云母</system:String>
|
||||
<system:String x:Key="BackdropTypesMicaAlt">云母平替</system:String>
|
||||
<system:String x:Key="TypeIsDarkToolTip">该主题支持两种(浅色/深色)模式。</system:String>
|
||||
<system:String x:Key="TypeHasBlurToolTip">该主题支持模糊透明背景。</system:String>
|
||||
<system:String x:Key="ShowPlaceholder">Show placeholder</system:String>
|
||||
<system:String x:Key="ShowPlaceholderTip">Display placeholder when query is empty</system:String>
|
||||
<system:String x:Key="PlaceholderText">Placeholder text</system:String>
|
||||
<system:String x:Key="PlaceholderTextTip">Change placeholder text. Input empty will use: {0}</system:String>
|
||||
<system:String x:Key="KeepMaxResults">Fixed Window Size</system:String>
|
||||
<system:String x:Key="KeepMaxResultsToolTip">The window size is not adjustable by dragging.</system:String>
|
||||
<system:String x:Key="ShowPlaceholder">显示占位符</system:String>
|
||||
<system:String x:Key="ShowPlaceholderTip">当查询为空时显示占位符</system:String>
|
||||
<system:String x:Key="PlaceholderText">占位符文本</system:String>
|
||||
<system:String x:Key="PlaceholderTextTip">更改占位符文本。输入空将使用:{0}</system:String>
|
||||
<system:String x:Key="KeepMaxResults">固定窗口大小</system:String>
|
||||
<system:String x:Key="KeepMaxResultsToolTip">窗口高度不能通过拖动来调整。</system:String>
|
||||
|
||||
<!-- Setting Hotkey -->
|
||||
<system:String x:Key="hotkey">热键</system:String>
|
||||
|
|
@ -313,9 +313,9 @@
|
|||
<system:String x:Key="useGlyphUI">使用 Segoe Fluent 图标</system:String>
|
||||
<system:String x:Key="useGlyphUIEffect">在支持时在选项中显示 Segoe Fluent 图标</system:String>
|
||||
<system:String x:Key="flowlauncherPressHotkey">按下按键</system:String>
|
||||
<system:String x:Key="showBadges">Show Result Badges</system:String>
|
||||
<system:String x:Key="showBadgesToolTip">For supported plugins, badges are displayed to help distinguish them more easily.</system:String>
|
||||
<system:String x:Key="showBadgesGlobalOnly">Show Result Badges for Global Query Only</system:String>
|
||||
<system:String x:Key="showBadges">显示结果徽章</system:String>
|
||||
<system:String x:Key="showBadgesToolTip">对于支持的插件,将显示徽章以帮助更容易区分它们。</system:String>
|
||||
<system:String x:Key="showBadgesGlobalOnly">仅在全局查询下显示结果徽章</system:String>
|
||||
|
||||
<!-- Setting Proxy -->
|
||||
<system:String x:Key="proxy">HTTP 代理</system:String>
|
||||
|
|
@ -356,21 +356,23 @@
|
|||
<system:String x:Key="logfolder">日志目录</system:String>
|
||||
<system:String x:Key="clearlogfolder">清除日志</system:String>
|
||||
<system:String x:Key="clearlogfolderMessage">你确定要删除所有的日志吗?</system:String>
|
||||
<system:String x:Key="cachefolder">Cache Folder</system:String>
|
||||
<system:String x:Key="clearcachefolder">Clear Caches</system:String>
|
||||
<system:String x:Key="clearcachefolderMessage">Are you sure you want to delete all caches?</system:String>
|
||||
<system:String x:Key="clearfolderfailMessage">Failed to clear part of folders and files. Please see log file for more information</system:String>
|
||||
<system:String x:Key="cachefolder">缓存文件夹</system:String>
|
||||
<system:String x:Key="clearcachefolder">清除缓存</system:String>
|
||||
<system:String x:Key="clearcachefolderMessage">您确定要删除所有缓存吗?</system:String>
|
||||
<system:String x:Key="clearfolderfailMessage">无法清除部分文件夹和文件。请查看日志文件以获取更多信息</system:String>
|
||||
<system:String x:Key="welcomewindow">向导</system:String>
|
||||
<system:String x:Key="userdatapath">用户数据位置</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">用户设置和已安装的插件保存在用户数据文件夹中。此位置可能因是否处于便携模式而异。</system:String>
|
||||
<system:String x:Key="userdatapathButton">打开文件夹</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
<system:String x:Key="settingWindowFontTitle">Setting Window Font</system:String>
|
||||
<system:String x:Key="advanced">高级</system:String>
|
||||
<system:String x:Key="logLevel">日志等级</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">调试</system:String>
|
||||
<system:String x:Key="LogLevelINFO">信息</system:String>
|
||||
<system:String x:Key="settingWindowFontTitle">设置窗口字体</system:String>
|
||||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">默认文件管理器</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">了解更多</system:String>
|
||||
<system:String x:Key="fileManager_tips">请指定您使用的文件管理器的文件位置并根据需要添加参数。“%d”表示要打开的目录路径,由文件夹字段的参数和打开特定目录的命令使用。“%f”表示要打开的文件路径,由文件字段的参数和打开特定文件的命令使用。</system:String>
|
||||
<system:String x:Key="fileManager_tips2">例如,如果文件管理器使用诸如“totalcmd.exe /A c:\windows”之类的命令来打开 c:\windows 目录,则文件管理器路径将为 totalcmd.exe,文件夹参数将为 /A "%d"。某些文件管理器(如 QTTabBar)可能只需要提供路径,在本例中,使用“%d”作为文件管理器路径,其余字段留空。</system:String>
|
||||
<system:String x:Key="fileManager_name">文件管理器</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">文件管理器路径</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">文件夹路径参数</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">选中文件路径参数</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">文件管理器 '{0}' 不能在 '{1}'中定位。您想要继续吗?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">文件管理器路径错误</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">默认浏览器</system:String>
|
||||
|
|
@ -385,7 +389,7 @@
|
|||
<system:String x:Key="defaultBrowser_name">浏览器</system:String>
|
||||
<system:String x:Key="defaultBrowser_profile_name">浏览器名称</system:String>
|
||||
<system:String x:Key="defaultBrowser_path">浏览器路径</system:String>
|
||||
<system:String x:Key="defaultBrowser_newWindow">新窗户</system:String>
|
||||
<system:String x:Key="defaultBrowser_newWindow">新窗口</system:String>
|
||||
<system:String x:Key="defaultBrowser_newTab">新标签</system:String>
|
||||
<system:String x:Key="defaultBrowser_parameter">隐身模式</system:String>
|
||||
|
||||
|
|
@ -402,19 +406,19 @@
|
|||
<system:String x:Key="cannotFindSpecifiedPlugin">找不到指定的插件</system:String>
|
||||
<system:String x:Key="newActionKeywordsCannotBeEmpty">新触发关键字不能为空</system:String>
|
||||
<system:String x:Key="newActionKeywordsHasBeenAssigned">此触发关键字已经被指派给其他插件了,请换一个关键字</system:String>
|
||||
<system:String x:Key="newActionKeywordsSameAsOld">This new Action Keyword is the same as old, please choose a different one</system:String>
|
||||
<system:String x:Key="newActionKeywordsSameAsOld">此触发关键字已经被指派给其他插件了,请换一个关键字</system:String>
|
||||
<system:String x:Key="success">成功</system:String>
|
||||
<system:String x:Key="completedSuccessfully">成功完成</system:String>
|
||||
<system:String x:Key="failedToCopy">Failed to copy</system:String>
|
||||
<system:String x:Key="actionkeyword_tips">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.</system:String>
|
||||
<system:String x:Key="failedToCopy">复制失败</system:String>
|
||||
<system:String x:Key="actionkeyword_tips">请输入您希望用来启动插件的动作关键字,并使用空格进行分隔。若不想指定任何关键字,可直接输入*,此时插件将在未输入动作关键字的情况下被触发</system:String>
|
||||
|
||||
<!-- Search Delay Settings Dialog -->
|
||||
<system:String x:Key="searchDelayTimeTitle">Search Delay Time Setting</system:String>
|
||||
<system:String x:Key="searchDelayTimeTips">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.</system:String>
|
||||
<system:String x:Key="searchDelayTimeTitle">搜索延迟时间设置</system:String>
|
||||
<system:String x:Key="searchDelayTimeTips">请输入您希望插件使用的搜索延迟时间(单位:毫秒)。若不想指定,可留空,此时插件将采用默认的搜索延迟时间。</system:String>
|
||||
|
||||
<!-- Search Delay Settings Dialog -->
|
||||
<system:String x:Key="homeTitle">Home Page</system:String>
|
||||
<system:String x:Key="homeTips">Enable the plugin home page state if you like to show the plugin results when query is empty.</system:String>
|
||||
<system:String x:Key="homeTitle">首页</system:String>
|
||||
<system:String x:Key="homeTips">如果您想在查询为空时显示插件的结果,请启用插件主页状态。</system:String>
|
||||
|
||||
<!-- Custom Query Hotkey Dialog -->
|
||||
<system:String x:Key="customeQueryHotkeyTitle">自定义查询热键</system:String>
|
||||
|
|
@ -465,9 +469,17 @@
|
|||
<system:String x:Key="reportWindow_report_succeed">发送成功</system:String>
|
||||
<system:String x:Key="reportWindow_report_failed">发送失败</system:String>
|
||||
<system:String x:Key="reportWindow_flowlauncher_got_an_error">Flow Launcher 出错啦</system:String>
|
||||
<system:String x:Key="reportWindow_please_open_issue">Please open new issue in</system:String>
|
||||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
<system:String x:Key="reportWindow_please_open_issue">请打开新的问题在</system:String>
|
||||
<system:String x:Key="reportWindow_upload_log">1. 上传日志文件:{0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. 复制下面的异常消息</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">文件管理器错误</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
找不到指定的文件管理器。请在“设置 > 通用”下检查自定义文件管理器设置。
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">错误</system:String>
|
||||
<system:String x:Key="folderOpenError">打开文件夹时发生错误。{0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">请稍等...</system:String>
|
||||
|
|
|
|||
|
|
@ -364,6 +364,7 @@
|
|||
<system:String x:Key="userdatapath">User Data Location</system:String>
|
||||
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
|
||||
<system:String x:Key="userdatapathButton">Open Folder</system:String>
|
||||
<system:String x:Key="advanced">Advanced</system:String>
|
||||
<system:String x:Key="logLevel">Log Level</system:String>
|
||||
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
|
||||
<system:String x:Key="LogLevelINFO">Info</system:String>
|
||||
|
|
@ -371,6 +372,7 @@
|
|||
|
||||
<!-- FileManager Setting Dialog -->
|
||||
<system:String x:Key="fileManagerWindow">選擇檔案管理器</system:String>
|
||||
<system:String x:Key="fileManager_learnMore">Learn more</system:String>
|
||||
<system:String x:Key="fileManager_tips">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.</system:String>
|
||||
<system:String x:Key="fileManager_tips2">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.</system:String>
|
||||
<system:String x:Key="fileManager_name">檔案管理器</system:String>
|
||||
|
|
@ -378,6 +380,8 @@
|
|||
<system:String x:Key="fileManager_path">檔案管理器路徑</system:String>
|
||||
<system:String x:Key="fileManager_directory_arg">資料夾參數</system:String>
|
||||
<system:String x:Key="fileManager_file_arg">檔案參數</system:String>
|
||||
<system:String x:Key="fileManagerPathNotFound">The file manager '{0}' could not be located at '{1}'. Would you like to continue?</system:String>
|
||||
<system:String x:Key="fileManagerPathError">File Manager Path Error</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">預設瀏覽器</system:String>
|
||||
|
|
@ -469,6 +473,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
|
|||
<system:String x:Key="reportWindow_upload_log">1. Upload log file: {0}</system:String>
|
||||
<system:String x:Key="reportWindow_copy_below">2. Copy below exception message</system:String>
|
||||
|
||||
<!-- File Open Error -->
|
||||
<system:String x:Key="fileManagerNotFoundTitle">File Manager Error</system:String>
|
||||
<system:String x:Key="fileManagerNotFound">
|
||||
The specified file manager could not be found. Please check the Custom File Manager setting under Settings > General.
|
||||
</system:String>
|
||||
<system:String x:Key="errorTitle">Error</system:String>
|
||||
<system:String x:Key="folderOpenError">An error occurred while opening the folder. {0}</system:String>
|
||||
|
||||
<!-- General Notice -->
|
||||
<system:String x:Key="pleaseWait">請稍後...</system:String>
|
||||
|
||||
|
|
|
|||
|
|
@ -64,10 +64,6 @@
|
|||
Key="R"
|
||||
Command="{Binding ReQueryCommand}"
|
||||
Modifiers="Ctrl" />
|
||||
<KeyBinding
|
||||
Key="H"
|
||||
Command="{Binding LoadHistoryCommand}"
|
||||
Modifiers="Ctrl" />
|
||||
<KeyBinding
|
||||
Key="OemCloseBrackets"
|
||||
Command="{Binding IncreaseWidthCommand}"
|
||||
|
|
@ -191,6 +187,10 @@
|
|||
Key="{Binding SettingWindowHotkey, Converter={StaticResource StringToKeyBindingConverter}, ConverterParameter='key'}"
|
||||
Command="{Binding OpenSettingCommand}"
|
||||
Modifiers="{Binding SettingWindowHotkey, Converter={StaticResource StringToKeyBindingConverter}, ConverterParameter='modifiers'}" />
|
||||
<KeyBinding
|
||||
Key="{Binding OpenHistoryHotkey, Converter={StaticResource StringToKeyBindingConverter}, ConverterParameter='key'}"
|
||||
Command="{Binding LoadHistoryCommand}"
|
||||
Modifiers="{Binding OpenHistoryHotkey, Converter={StaticResource StringToKeyBindingConverter}, ConverterParameter='modifiers'}" />
|
||||
<KeyBinding
|
||||
Key="{Binding OpenContextMenuHotkey, Converter={StaticResource StringToKeyBindingConverter}, ConverterParameter='key'}"
|
||||
Command="{Binding LoadContextMenuCommand}"
|
||||
|
|
@ -359,7 +359,7 @@
|
|||
<MultiDataTrigger>
|
||||
<MultiDataTrigger.Conditions>
|
||||
<Condition Binding="{Binding ElementName=ResultListBox, Path=Items.Count}" Value="0" />
|
||||
<Condition Binding="{Binding ElementName=ContextMenu, Path=Visibility}" Value="Collapsed" />
|
||||
<Condition Binding="{Binding ElementName=ResultContextMenu, Path=Visibility}" Value="Collapsed" />
|
||||
<Condition Binding="{Binding ElementName=History, Path=Visibility}" Value="Collapsed" />
|
||||
</MultiDataTrigger.Conditions>
|
||||
<MultiDataTrigger.Setters>
|
||||
|
|
@ -373,7 +373,7 @@
|
|||
<DataTrigger Binding="{Binding ElementName=ResultListBox, Path=Visibility}" Value="Visible">
|
||||
<Setter Property="Visibility" Value="Visible" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding ElementName=ContextMenu, Path=Visibility}" Value="Visible">
|
||||
<DataTrigger Binding="{Binding ElementName=ResultContextMenu, Path=Visibility}" Value="Visible">
|
||||
<Setter Property="Visibility" Value="Visible" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding ElementName=History, Path=Visibility}" Value="Visible">
|
||||
|
|
@ -419,7 +419,7 @@
|
|||
</ContentControl>
|
||||
<ContentControl>
|
||||
<flowlauncher:ResultListBox
|
||||
x:Name="ContextMenu"
|
||||
x:Name="ResultContextMenu"
|
||||
DataContext="{Binding ContextMenu}"
|
||||
LeftClickResultCommand="{Binding LeftClickResultCommand}"
|
||||
RightClickResultCommand="{Binding RightClickResultCommand}" />
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ namespace Flow.Launcher
|
|||
|
||||
private void ThemeManager_ActualApplicationThemeChanged(ModernWpf.ThemeManager sender, object args)
|
||||
{
|
||||
_theme.RefreshFrameAsync();
|
||||
_ = _theme.RefreshFrameAsync();
|
||||
}
|
||||
|
||||
private void OnSourceInitialized(object sender, EventArgs e)
|
||||
|
|
@ -115,7 +115,7 @@ namespace Flow.Launcher
|
|||
Win32Helper.DisableControlBox(this);
|
||||
}
|
||||
|
||||
private async void OnLoaded(object sender, RoutedEventArgs _)
|
||||
private void OnLoaded(object sender, RoutedEventArgs _)
|
||||
{
|
||||
// Check first launch
|
||||
if (_settings.FirstLaunch)
|
||||
|
|
@ -285,6 +285,7 @@ namespace Flow.Launcher
|
|||
InitializeContextMenu();
|
||||
break;
|
||||
case nameof(Settings.ShowHomePage):
|
||||
case nameof(Settings.ShowHistoryResultsForHomePage):
|
||||
if (_viewModel.QueryResultsSelected() && string.IsNullOrEmpty(_viewModel.QueryText))
|
||||
{
|
||||
_viewModel.QueryResults();
|
||||
|
|
@ -299,14 +300,14 @@ namespace Flow.Launcher
|
|||
// QueryTextBox.Text change detection (modified to only work when character count is 1 or higher)
|
||||
QueryTextBox.TextChanged += (s, e) => UpdateClockPanelVisibility();
|
||||
|
||||
// Detecting ContextMenu.Visibility changes
|
||||
// Detecting ResultContextMenu.Visibility changes
|
||||
DependencyPropertyDescriptor
|
||||
.FromProperty(VisibilityProperty, typeof(ContextMenu))
|
||||
.AddValueChanged(ContextMenu, (s, e) => UpdateClockPanelVisibility());
|
||||
.FromProperty(VisibilityProperty, typeof(ResultListBox))
|
||||
.AddValueChanged(ResultContextMenu, (s, e) => UpdateClockPanelVisibility());
|
||||
|
||||
// Detect History.Visibility changes
|
||||
DependencyPropertyDescriptor
|
||||
.FromProperty(VisibilityProperty, typeof(StackPanel))
|
||||
.FromProperty(VisibilityProperty, typeof(ResultListBox))
|
||||
.AddValueChanged(History, (s, e) => UpdateClockPanelVisibility());
|
||||
|
||||
// Initialize query state
|
||||
|
|
@ -1020,7 +1021,7 @@ namespace Flow.Launcher
|
|||
|
||||
private void UpdateClockPanelVisibility()
|
||||
{
|
||||
if (QueryTextBox == null || ContextMenu == null || History == null || ClockPanel == null)
|
||||
if (QueryTextBox == null || ResultContextMenu == null || History == null || ClockPanel == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -1035,20 +1036,20 @@ namespace Flow.Launcher
|
|||
};
|
||||
var animationDuration = TimeSpan.FromMilliseconds(animationLength * 2 / 3);
|
||||
|
||||
// ✅ Conditions for showing ClockPanel (No query input & ContextMenu, History are closed)
|
||||
// ✅ Conditions for showing ClockPanel (No query input / ResultContextMenu & History are closed)
|
||||
var shouldShowClock = QueryTextBox.Text.Length == 0 &&
|
||||
ContextMenu.Visibility != Visibility.Visible &&
|
||||
ResultContextMenu.Visibility != Visibility.Visible &&
|
||||
History.Visibility != Visibility.Visible;
|
||||
|
||||
// ✅ 1. When ContextMenu opens, immediately set Visibility.Hidden (force hide without animation)
|
||||
if (ContextMenu.Visibility == Visibility.Visible)
|
||||
// ✅ 1. When ResultContextMenu opens, immediately set Visibility.Hidden (force hide without animation)
|
||||
if (ResultContextMenu.Visibility == Visibility.Visible)
|
||||
{
|
||||
_viewModel.ClockPanelVisibility = Visibility.Hidden;
|
||||
_viewModel.ClockPanelOpacity = 0.0; // Set to 0 in case Opacity animation affects it
|
||||
return;
|
||||
}
|
||||
|
||||
// ✅ 2. When ContextMenu is closed, keep it Hidden if there's text in the query (remember previous state)
|
||||
// ✅ 2. When ResultContextMenu is closed, keep it Hidden if there's text in the query (remember previous state)
|
||||
else if (QueryTextBox.Text.Length > 0)
|
||||
{
|
||||
_viewModel.ClockPanelVisibility = Visibility.Hidden;
|
||||
|
|
|
|||
|
|
@ -22,9 +22,6 @@ namespace Flow.Launcher
|
|||
InitializeComponent();
|
||||
}
|
||||
|
||||
public static MessageBoxResult Show(string messageBoxText)
|
||||
=> Show(messageBoxText, string.Empty, MessageBoxButton.OK, MessageBoxImage.None, MessageBoxResult.OK);
|
||||
|
||||
public static MessageBoxResult Show(
|
||||
string messageBoxText,
|
||||
string caption = "",
|
||||
|
|
@ -163,6 +160,7 @@ namespace Flow.Launcher
|
|||
private void KeyEsc_OnPress(object sender, ExecutedRoutedEventArgs e)
|
||||
{
|
||||
if (_button == MessageBoxButton.YesNo)
|
||||
// Follow System.Windows.MessageBox behavior
|
||||
return;
|
||||
else if (_button == MessageBoxButton.OK)
|
||||
_result = MessageBoxResult.OK;
|
||||
|
|
@ -191,6 +189,7 @@ namespace Flow.Launcher
|
|||
private void Button_Cancel(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (_button == MessageBoxButton.YesNo)
|
||||
// Follow System.Windows.MessageBox behavior
|
||||
return;
|
||||
else if (_button == MessageBoxButton.OK)
|
||||
_result = MessageBoxResult.OK;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
|
@ -37,6 +38,8 @@ namespace Flow.Launcher
|
|||
{
|
||||
public class PublicAPIInstance : IPublicAPI, IRemovable
|
||||
{
|
||||
private static readonly string ClassName = nameof(PublicAPIInstance);
|
||||
|
||||
private readonly Settings _settings;
|
||||
private readonly MainViewModel _mainVM;
|
||||
|
||||
|
|
@ -90,6 +93,8 @@ namespace Flow.Launcher
|
|||
|
||||
public void ShowMainWindow() => _mainVM.Show();
|
||||
|
||||
public void FocusQueryTextBox() => _mainVM.FocusQueryTextBox();
|
||||
|
||||
public void HideMainWindow() => _mainVM.Hide();
|
||||
|
||||
public bool IsMainWindowVisible() => _mainVM.MainWindowVisibilityStatus;
|
||||
|
|
@ -313,27 +318,79 @@ namespace Flow.Launcher
|
|||
|
||||
((PluginJsonStorage<T>)_pluginJsonStorages[type]).Save();
|
||||
}
|
||||
|
||||
public void OpenDirectory(string DirectoryPath, string FileNameOrFilePath = null)
|
||||
|
||||
public void OpenDirectory(string directoryPath, string fileNameOrFilePath = null)
|
||||
{
|
||||
using var explorer = new Process();
|
||||
var explorerInfo = _settings.CustomExplorer;
|
||||
|
||||
explorer.StartInfo = new ProcessStartInfo
|
||||
try
|
||||
{
|
||||
FileName = explorerInfo.Path.Replace("%d", DirectoryPath),
|
||||
UseShellExecute = true,
|
||||
Arguments = FileNameOrFilePath is null
|
||||
? explorerInfo.DirectoryArgument.Replace("%d", DirectoryPath)
|
||||
: explorerInfo.FileArgument
|
||||
.Replace("%d", DirectoryPath)
|
||||
.Replace("%f",
|
||||
Path.IsPathRooted(FileNameOrFilePath) ? FileNameOrFilePath : Path.Combine(DirectoryPath, FileNameOrFilePath)
|
||||
)
|
||||
};
|
||||
explorer.Start();
|
||||
var explorerInfo = _settings.CustomExplorer;
|
||||
var explorerPath = explorerInfo.Path.Trim().ToLowerInvariant();
|
||||
var targetPath = fileNameOrFilePath is null
|
||||
? directoryPath
|
||||
: Path.IsPathRooted(fileNameOrFilePath)
|
||||
? fileNameOrFilePath
|
||||
: Path.Combine(directoryPath, fileNameOrFilePath);
|
||||
|
||||
if (Path.GetFileNameWithoutExtension(explorerPath) == "explorer")
|
||||
{
|
||||
// Windows File Manager
|
||||
if (fileNameOrFilePath is null)
|
||||
{
|
||||
// Only Open the directory
|
||||
using var explorer = new Process();
|
||||
explorer.StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = directoryPath,
|
||||
UseShellExecute = true
|
||||
};
|
||||
explorer.Start();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Open the directory and select the file
|
||||
Win32Helper.OpenFolderAndSelectFile(targetPath);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Custom File Manager
|
||||
using var explorer = new Process();
|
||||
explorer.StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = explorerInfo.Path.Replace("%d", directoryPath),
|
||||
UseShellExecute = true,
|
||||
Arguments = fileNameOrFilePath is null
|
||||
? explorerInfo.DirectoryArgument.Replace("%d", directoryPath)
|
||||
: explorerInfo.FileArgument
|
||||
.Replace("%d", directoryPath)
|
||||
.Replace("%f", targetPath)
|
||||
};
|
||||
explorer.Start();
|
||||
}
|
||||
}
|
||||
catch (Win32Exception ex) when (ex.NativeErrorCode == 2)
|
||||
{
|
||||
LogError(ClassName, "File Manager not found");
|
||||
ShowMsgBox(
|
||||
string.Format(GetTranslation("fileManagerNotFound"), ex.Message),
|
||||
GetTranslation("fileManagerNotFoundTitle"),
|
||||
MessageBoxButton.OK,
|
||||
MessageBoxImage.Error
|
||||
);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogException(ClassName, "Failed to open folder", ex);
|
||||
ShowMsgBox(
|
||||
string.Format(GetTranslation("folderOpenError"), ex.Message),
|
||||
GetTranslation("errorTitle"),
|
||||
MessageBoxButton.OK,
|
||||
MessageBoxImage.Error
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void OpenUri(Uri uri, bool? inPrivate = null)
|
||||
{
|
||||
if (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps)
|
||||
|
|
|
|||
|
|
@ -9,20 +9,19 @@ namespace Flow.Launcher.Resources.Pages
|
|||
{
|
||||
public partial class WelcomePage1
|
||||
{
|
||||
public Settings Settings { get; private set; }
|
||||
private WelcomeViewModel _viewModel;
|
||||
public Settings Settings { get; } = Ioc.Default.GetRequiredService<Settings>();
|
||||
private readonly WelcomeViewModel _viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
{
|
||||
Settings = Ioc.Default.GetRequiredService<Settings>();
|
||||
_viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
InitializeComponent();
|
||||
}
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page number
|
||||
_viewModel.PageNum = 1;
|
||||
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,20 +11,19 @@ namespace Flow.Launcher.Resources.Pages
|
|||
{
|
||||
public partial class WelcomePage2
|
||||
{
|
||||
public Settings Settings { get; private set; }
|
||||
private WelcomeViewModel _viewModel;
|
||||
public Settings Settings { get; } = Ioc.Default.GetRequiredService<Settings>();
|
||||
private readonly WelcomeViewModel _viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
{
|
||||
Settings = Ioc.Default.GetRequiredService<Settings>();
|
||||
_viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
InitializeComponent();
|
||||
}
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page number
|
||||
_viewModel.PageNum = 2;
|
||||
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,20 +7,19 @@ namespace Flow.Launcher.Resources.Pages
|
|||
{
|
||||
public partial class WelcomePage3
|
||||
{
|
||||
public Settings Settings { get; private set; }
|
||||
private WelcomeViewModel _viewModel;
|
||||
public Settings Settings { get; } = Ioc.Default.GetRequiredService<Settings>();
|
||||
private readonly WelcomeViewModel _viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
{
|
||||
Settings = Ioc.Default.GetRequiredService<Settings>();
|
||||
_viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
InitializeComponent();
|
||||
}
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page number
|
||||
_viewModel.PageNum = 3;
|
||||
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,19 @@ namespace Flow.Launcher.Resources.Pages
|
|||
{
|
||||
public partial class WelcomePage4
|
||||
{
|
||||
public Settings Settings { get; private set; }
|
||||
private WelcomeViewModel _viewModel;
|
||||
public Settings Settings { get; } = Ioc.Default.GetRequiredService<Settings>();
|
||||
private readonly WelcomeViewModel _viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
{
|
||||
Settings = Ioc.Default.GetRequiredService<Settings>();
|
||||
_viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
InitializeComponent();
|
||||
}
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page number
|
||||
_viewModel.PageNum = 4;
|
||||
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,20 +10,19 @@ namespace Flow.Launcher.Resources.Pages
|
|||
{
|
||||
public partial class WelcomePage5
|
||||
{
|
||||
public Settings Settings { get; private set; }
|
||||
private WelcomeViewModel _viewModel;
|
||||
public Settings Settings { get; } = Ioc.Default.GetRequiredService<Settings>();
|
||||
private readonly WelcomeViewModel _viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
{
|
||||
Settings = Ioc.Default.GetRequiredService<Settings>();
|
||||
_viewModel = Ioc.Default.GetRequiredService<WelcomeViewModel>();
|
||||
InitializeComponent();
|
||||
}
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page number
|
||||
_viewModel.PageNum = 5;
|
||||
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,10 +6,11 @@
|
|||
xmlns:local="clr-namespace:Flow.Launcher"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ui="http://schemas.modernwpf.com/2019"
|
||||
xmlns:vm="clr-namespace:Flow.Launcher.ViewModel"
|
||||
Title="{DynamicResource defaultBrowserTitle}"
|
||||
Width="550"
|
||||
d:DataContext="{d:DesignInstance vm:SelectBrowserViewModel}"
|
||||
Background="{DynamicResource PopuBGColor}"
|
||||
DataContext="{Binding RelativeSource={RelativeSource Self}}"
|
||||
Foreground="{DynamicResource PopupTextColor}"
|
||||
ResizeMode="NoResize"
|
||||
SizeToContent="Height"
|
||||
|
|
@ -97,11 +98,11 @@
|
|||
</ComboBox>
|
||||
<Button
|
||||
Margin="10 0 0 0"
|
||||
Click="btnAdd_Click"
|
||||
Command="{Binding AddCommand}"
|
||||
Content="{DynamicResource add}" />
|
||||
<Button
|
||||
Margin="10 0 0 0"
|
||||
Click="btnDelete_Click"
|
||||
Command="{Binding DeleteCommand}"
|
||||
Content="{DynamicResource delete}"
|
||||
IsEnabled="{Binding CustomBrowser.Editable}" />
|
||||
|
||||
|
|
|
|||
|
|
@ -1,36 +1,18 @@
|
|||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Flow.Launcher.Infrastructure.UserSettings;
|
||||
using CommunityToolkit.Mvvm.DependencyInjection;
|
||||
using Flow.Launcher.ViewModel;
|
||||
|
||||
namespace Flow.Launcher
|
||||
{
|
||||
[INotifyPropertyChanged]
|
||||
public partial class SelectBrowserWindow : Window
|
||||
{
|
||||
private readonly Settings _settings;
|
||||
private readonly SelectBrowserViewModel _viewModel;
|
||||
|
||||
private int selectedCustomBrowserIndex;
|
||||
|
||||
public int SelectedCustomBrowserIndex
|
||||
public SelectBrowserWindow()
|
||||
{
|
||||
get => selectedCustomBrowserIndex;
|
||||
set
|
||||
{
|
||||
selectedCustomBrowserIndex = value;
|
||||
OnPropertyChanged(nameof(CustomBrowser));
|
||||
}
|
||||
}
|
||||
public ObservableCollection<CustomBrowserViewModel> CustomBrowsers { get; set; }
|
||||
|
||||
public CustomBrowserViewModel CustomBrowser => CustomBrowsers[SelectedCustomBrowserIndex];
|
||||
public SelectBrowserWindow(Settings settings)
|
||||
{
|
||||
_settings = settings;
|
||||
CustomBrowsers = new ObservableCollection<CustomBrowserViewModel>(_settings.CustomBrowserList.Select(x => x.Copy()));
|
||||
SelectedCustomBrowserIndex = _settings.CustomBrowserIndex;
|
||||
_viewModel = Ioc.Default.GetRequiredService<SelectBrowserViewModel>();
|
||||
DataContext = _viewModel;
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
|
@ -41,33 +23,20 @@ namespace Flow.Launcher
|
|||
|
||||
private void btnDone_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_settings.CustomBrowserList = CustomBrowsers.ToList();
|
||||
_settings.CustomBrowserIndex = SelectedCustomBrowserIndex;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void btnAdd_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CustomBrowsers.Add(new()
|
||||
if (_viewModel.SaveSettings())
|
||||
{
|
||||
Name = "New Profile"
|
||||
});
|
||||
SelectedCustomBrowserIndex = CustomBrowsers.Count - 1;
|
||||
}
|
||||
|
||||
private void btnDelete_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CustomBrowsers.RemoveAt(SelectedCustomBrowserIndex--);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void btnBrowseFile_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
|
||||
var result = dlg.ShowDialog();
|
||||
if (result == true)
|
||||
var selectedFilePath = _viewModel.SelectFile();
|
||||
|
||||
if (!string.IsNullOrEmpty(selectedFilePath))
|
||||
{
|
||||
TextBox path = (TextBox)(((FrameworkElement)sender).Parent as FrameworkElement).FindName("PathTextBox");
|
||||
path.Text = dlg.FileName;
|
||||
var path = (TextBox)(((FrameworkElement)sender).Parent as FrameworkElement).FindName("PathTextBox");
|
||||
path.Text = selectedFilePath;
|
||||
path.Focus();
|
||||
((Button)sender).Focus();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,11 @@
|
|||
xmlns:local="clr-namespace:Flow.Launcher"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ui="http://schemas.modernwpf.com/2019"
|
||||
xmlns:vm="clr-namespace:Flow.Launcher.ViewModel"
|
||||
Title="{DynamicResource fileManagerWindow}"
|
||||
Width="600"
|
||||
d:DataContext="{d:DesignInstance vm:SelectFileManagerViewModel}"
|
||||
Background="{DynamicResource PopuBGColor}"
|
||||
DataContext="{Binding RelativeSource={RelativeSource Self}}"
|
||||
Foreground="{DynamicResource PopupTextColor}"
|
||||
ResizeMode="NoResize"
|
||||
SizeToContent="Height"
|
||||
|
|
@ -73,9 +74,17 @@
|
|||
<TextBlock Margin="0 14 0 0" FontSize="14">
|
||||
<TextBlock Text="{DynamicResource fileManager_tips2}" TextWrapping="WrapWithOverflow" />
|
||||
</TextBlock>
|
||||
<TextBlock Margin="0 14 0 0" VerticalAlignment="Center">
|
||||
<Hyperlink NavigateUri="https://www.flowlauncher.com/docs/#/filemanager" RequestNavigate="Hyperlink_RequestNavigate">
|
||||
<TextBlock FontSize="14" Text="{DynamicResource fileManager_learnMore}" />
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Margin="14 28 0 0" Orientation="Horizontal">
|
||||
<Rectangle
|
||||
Height="1"
|
||||
Margin="0 20 0 20"
|
||||
Fill="{StaticResource SeparatorForeground}" />
|
||||
<StackPanel Margin="14 0 0 0" Orientation="Horizontal">
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Left"
|
||||
|
|
@ -99,11 +108,11 @@
|
|||
</ComboBox>
|
||||
<Button
|
||||
Margin="10 0 0 0"
|
||||
Click="btnAdd_Click"
|
||||
Command="{Binding AddCommand}"
|
||||
Content="{DynamicResource add}" />
|
||||
<Button
|
||||
Margin="10 0 0 0"
|
||||
Click="btnDelete_Click"
|
||||
Command="{Binding DeleteCommand}"
|
||||
Content="{DynamicResource delete}"
|
||||
IsEnabled="{Binding CustomExplorer.Editable}" />
|
||||
|
||||
|
|
@ -111,7 +120,7 @@
|
|||
<Rectangle
|
||||
Height="1"
|
||||
Margin="0 20 0 12"
|
||||
Fill="{StaticResource Color03B}" />
|
||||
Fill="{StaticResource SeparatorForeground}" />
|
||||
<StackPanel
|
||||
Margin="0 0 0 0"
|
||||
HorizontalAlignment="Stretch"
|
||||
|
|
|
|||
|
|
@ -1,38 +1,19 @@
|
|||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Flow.Launcher.Infrastructure.UserSettings;
|
||||
using System.Windows.Navigation;
|
||||
using CommunityToolkit.Mvvm.DependencyInjection;
|
||||
using Flow.Launcher.ViewModel;
|
||||
|
||||
namespace Flow.Launcher
|
||||
{
|
||||
[INotifyPropertyChanged]
|
||||
public partial class SelectFileManagerWindow : Window
|
||||
{
|
||||
private readonly Settings _settings;
|
||||
private readonly SelectFileManagerViewModel _viewModel;
|
||||
|
||||
private int selectedCustomExplorerIndex;
|
||||
|
||||
public int SelectedCustomExplorerIndex
|
||||
public SelectFileManagerWindow()
|
||||
{
|
||||
get => selectedCustomExplorerIndex;
|
||||
set
|
||||
{
|
||||
selectedCustomExplorerIndex = value;
|
||||
OnPropertyChanged(nameof(CustomExplorer));
|
||||
}
|
||||
}
|
||||
public ObservableCollection<CustomExplorerViewModel> CustomExplorers { get; set; }
|
||||
|
||||
public CustomExplorerViewModel CustomExplorer => CustomExplorers[SelectedCustomExplorerIndex];
|
||||
public SelectFileManagerWindow(Settings settings)
|
||||
{
|
||||
_settings = settings;
|
||||
CustomExplorers = new ObservableCollection<CustomExplorerViewModel>(_settings.CustomExplorerList.Select(x => x.Copy()));
|
||||
SelectedCustomExplorerIndex = _settings.CustomExplorerIndex;
|
||||
_viewModel = Ioc.Default.GetRequiredService<SelectFileManagerViewModel>();
|
||||
DataContext = _viewModel;
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
|
@ -43,33 +24,26 @@ namespace Flow.Launcher
|
|||
|
||||
private void btnDone_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_settings.CustomExplorerList = CustomExplorers.ToList();
|
||||
_settings.CustomExplorerIndex = SelectedCustomExplorerIndex;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void btnAdd_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CustomExplorers.Add(new()
|
||||
if (_viewModel.SaveSettings())
|
||||
{
|
||||
Name = "New Profile"
|
||||
});
|
||||
SelectedCustomExplorerIndex = CustomExplorers.Count - 1;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void btnDelete_Click(object sender, RoutedEventArgs e)
|
||||
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
CustomExplorers.RemoveAt(SelectedCustomExplorerIndex--);
|
||||
_viewModel.OpenUrl(e.Uri.AbsoluteUri);
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void btnBrowseFile_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
|
||||
var result = dlg.ShowDialog();
|
||||
if (result == true)
|
||||
var selectedFilePath = _viewModel.SelectFile();
|
||||
|
||||
if (!string.IsNullOrEmpty(selectedFilePath))
|
||||
{
|
||||
TextBox path = (TextBox)(((FrameworkElement)sender).Parent as FrameworkElement).FindName("PathTextBox");
|
||||
path.Text = dlg.FileName;
|
||||
var path = (TextBox)(((FrameworkElement)sender).Parent as FrameworkElement).FindName("PathTextBox");
|
||||
path.Text = selectedFilePath;
|
||||
path.Focus();
|
||||
((Button)sender).Focus();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -335,14 +335,14 @@ public partial class SettingsPaneGeneralViewModel : BaseModel
|
|||
[RelayCommand]
|
||||
private void SelectFileManager()
|
||||
{
|
||||
var fileManagerChangeWindow = new SelectFileManagerWindow(Settings);
|
||||
var fileManagerChangeWindow = new SelectFileManagerWindow();
|
||||
fileManagerChangeWindow.ShowDialog();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void SelectBrowser()
|
||||
{
|
||||
var browserWindow = new SelectBrowserWindow(Settings);
|
||||
var browserWindow = new SelectBrowserWindow();
|
||||
browserWindow.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@
|
|||
</cc:Card>
|
||||
|
||||
<cc:ExCard
|
||||
Title="Advanced"
|
||||
Title="{DynamicResource advanced}"
|
||||
Margin="0 14 0 0"
|
||||
Icon="">
|
||||
<StackPanel>
|
||||
|
|
@ -156,7 +156,7 @@
|
|||
Icon=""
|
||||
Type="Inside">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button Command="{Binding ResetSettingWindowFontCommand}" Content="Reset" />
|
||||
<Button Command="{Binding ResetSettingWindowFontCommand}" Content="{DynamicResource commonReset}" />
|
||||
<ComboBox
|
||||
Margin="12 8 0 8"
|
||||
HorizontalAlignment="Stretch"
|
||||
|
|
|
|||
|
|
@ -1,19 +1,29 @@
|
|||
using System.Windows.Navigation;
|
||||
using CommunityToolkit.Mvvm.DependencyInjection;
|
||||
using Flow.Launcher.SettingPages.ViewModels;
|
||||
using Flow.Launcher.ViewModel;
|
||||
|
||||
namespace Flow.Launcher.SettingPages.Views;
|
||||
|
||||
public partial class SettingsPaneAbout
|
||||
{
|
||||
private SettingsPaneAboutViewModel _viewModel = null!;
|
||||
private readonly SettingWindowViewModel _settingViewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page type
|
||||
_settingViewModel.PageType = typeof(SettingsPaneAbout);
|
||||
|
||||
// If the navigation is not triggered by button click, view model will be null again
|
||||
if (_viewModel == null)
|
||||
{
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingsPaneAboutViewModel>();
|
||||
DataContext = _viewModel;
|
||||
}
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@
|
|||
Title="{DynamicResource AlwaysPreview}"
|
||||
Margin="0 14 0 0"
|
||||
Icon=""
|
||||
Sub="{Binding AlwaysPreviewToolTip}">
|
||||
Sub="{DynamicResource AlwaysPreviewToolTip}">
|
||||
<ui:ToggleSwitch
|
||||
IsOn="{Binding Settings.AlwaysPreview}"
|
||||
OffContent="{DynamicResource disable}"
|
||||
|
|
|
|||
|
|
@ -1,19 +1,29 @@
|
|||
using System.Windows.Navigation;
|
||||
using CommunityToolkit.Mvvm.DependencyInjection;
|
||||
using Flow.Launcher.SettingPages.ViewModels;
|
||||
using Flow.Launcher.ViewModel;
|
||||
|
||||
namespace Flow.Launcher.SettingPages.Views;
|
||||
|
||||
public partial class SettingsPaneGeneral
|
||||
{
|
||||
private SettingsPaneGeneralViewModel _viewModel = null!;
|
||||
private readonly SettingWindowViewModel _settingViewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page type
|
||||
_settingViewModel.PageType = typeof(SettingsPaneGeneral);
|
||||
|
||||
// If the navigation is not triggered by button click, view model will be null again
|
||||
if (_viewModel == null)
|
||||
{
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingsPaneGeneralViewModel>();
|
||||
DataContext = _viewModel;
|
||||
}
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
|
|
|
|||
|
|
@ -89,7 +89,10 @@
|
|||
Title="{DynamicResource ToggleHistoryHotkey}"
|
||||
Icon=""
|
||||
Type="Inside">
|
||||
<cc:HotkeyDisplay Keys="Ctrl+H" />
|
||||
<flowlauncher:HotkeyControl
|
||||
DefaultHotkey="Ctrl+H"
|
||||
Type="OpenHistoryHotkey"
|
||||
ValidateKeyGesture="False" />
|
||||
</cc:Card>
|
||||
<cc:Card
|
||||
Title="{DynamicResource CopyFilePathHotkey}"
|
||||
|
|
|
|||
|
|
@ -1,19 +1,29 @@
|
|||
using System.Windows.Navigation;
|
||||
using CommunityToolkit.Mvvm.DependencyInjection;
|
||||
using Flow.Launcher.SettingPages.ViewModels;
|
||||
using Flow.Launcher.ViewModel;
|
||||
|
||||
namespace Flow.Launcher.SettingPages.Views;
|
||||
|
||||
public partial class SettingsPaneHotkey
|
||||
{
|
||||
private SettingsPaneHotkeyViewModel _viewModel = null!;
|
||||
private readonly SettingWindowViewModel _settingViewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page type
|
||||
_settingViewModel.PageType = typeof(SettingsPaneHotkey);
|
||||
|
||||
// If the navigation is not triggered by button click, view model will be null again
|
||||
if (_viewModel == null)
|
||||
{
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingsPaneHotkeyViewModel>();
|
||||
DataContext = _viewModel;
|
||||
}
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
|
|
|
|||
|
|
@ -11,13 +11,22 @@ namespace Flow.Launcher.SettingPages.Views;
|
|||
public partial class SettingsPanePluginStore
|
||||
{
|
||||
private SettingsPanePluginStoreViewModel _viewModel = null!;
|
||||
private readonly SettingWindowViewModel _settingViewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page type
|
||||
_settingViewModel.PageType = typeof(SettingsPanePluginStore);
|
||||
|
||||
// If the navigation is not triggered by button click, view model will be null again
|
||||
if (_viewModel == null)
|
||||
{
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingsPanePluginStoreViewModel>();
|
||||
DataContext = _viewModel;
|
||||
}
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
_viewModel.PropertyChanged += ViewModel_PropertyChanged;
|
||||
|
|
|
|||
|
|
@ -11,13 +11,22 @@ namespace Flow.Launcher.SettingPages.Views;
|
|||
public partial class SettingsPanePlugins
|
||||
{
|
||||
private SettingsPanePluginsViewModel _viewModel = null!;
|
||||
private readonly SettingWindowViewModel _settingViewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page type
|
||||
_settingViewModel.PageType = typeof(SettingsPanePlugins);
|
||||
|
||||
// If the navigation is not triggered by button click, view model will be null again
|
||||
if (_viewModel == null)
|
||||
{
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingsPanePluginsViewModel>();
|
||||
DataContext = _viewModel;
|
||||
}
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
_viewModel.PropertyChanged += ViewModel_PropertyChanged;
|
||||
|
|
|
|||
|
|
@ -1,19 +1,29 @@
|
|||
using System.Windows.Navigation;
|
||||
using CommunityToolkit.Mvvm.DependencyInjection;
|
||||
using Flow.Launcher.SettingPages.ViewModels;
|
||||
using Flow.Launcher.ViewModel;
|
||||
|
||||
namespace Flow.Launcher.SettingPages.Views;
|
||||
|
||||
public partial class SettingsPaneProxy
|
||||
{
|
||||
private SettingsPaneProxyViewModel _viewModel = null!;
|
||||
private readonly SettingWindowViewModel _settingViewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page type
|
||||
_settingViewModel.PageType = typeof(SettingsPaneProxy);
|
||||
|
||||
// If the navigation is not triggered by button click, view model will be null again
|
||||
if (_viewModel == null)
|
||||
{
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingsPaneProxyViewModel>();
|
||||
DataContext = _viewModel;
|
||||
}
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@
|
|||
IsHitTestVisible="False"
|
||||
Visibility="Visible" />
|
||||
</ContentControl>
|
||||
<Border x:Name="ContextMenu" Visibility="Collapsed" />
|
||||
<Border x:Name="ResultContextMenu" Visibility="Collapsed" />
|
||||
<Border x:Name="History" Visibility="Collapsed" />
|
||||
</Grid>
|
||||
</Border>
|
||||
|
|
|
|||
|
|
@ -1,19 +1,29 @@
|
|||
using System.Windows.Navigation;
|
||||
using CommunityToolkit.Mvvm.DependencyInjection;
|
||||
using Flow.Launcher.SettingPages.ViewModels;
|
||||
using Flow.Launcher.ViewModel;
|
||||
|
||||
namespace Flow.Launcher.SettingPages.Views;
|
||||
|
||||
public partial class SettingsPaneTheme
|
||||
{
|
||||
private SettingsPaneThemeViewModel _viewModel = null!;
|
||||
private readonly SettingWindowViewModel _settingViewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
if (!IsInitialized)
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to reset the page type
|
||||
_settingViewModel.PageType = typeof(SettingsPaneTheme);
|
||||
|
||||
// If the navigation is not triggered by button click, view model will be null again
|
||||
if (_viewModel == null)
|
||||
{
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingsPaneThemeViewModel>();
|
||||
DataContext = _viewModel;
|
||||
}
|
||||
if (!IsInitialized)
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
base.OnNavigatedTo(e);
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
MinHeight="600"
|
||||
d:DataContext="{d:DesignInstance vm:SettingWindowViewModel}"
|
||||
Closed="OnClosed"
|
||||
FontFamily="{DynamicResource SettingWindowFont}"
|
||||
Icon="Images\app.ico"
|
||||
Left="{Binding SettingWindowLeft, Mode=TwoWay}"
|
||||
Loaded="OnLoaded"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
|
|
@ -18,6 +19,7 @@ public partial class SettingWindow
|
|||
#region Private Fields
|
||||
|
||||
private readonly Settings _settings;
|
||||
private readonly SettingWindowViewModel _viewModel;
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
@ -26,11 +28,11 @@ public partial class SettingWindow
|
|||
public SettingWindow()
|
||||
{
|
||||
_settings = Ioc.Default.GetRequiredService<Settings>();
|
||||
var viewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
DataContext = viewModel;
|
||||
InitializeComponent();
|
||||
|
||||
_viewModel = Ioc.Default.GetRequiredService<SettingWindowViewModel>();
|
||||
DataContext = _viewModel;
|
||||
// Since WindowStartupLocation is set to Manual, initialize the window position before calling InitializeComponent
|
||||
UpdatePositionAndState();
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
@ -48,12 +50,39 @@ public partial class SettingWindow
|
|||
hwndTarget.RenderMode = RenderMode.SoftwareOnly; // Must use software only render mode here
|
||||
|
||||
UpdatePositionAndState();
|
||||
|
||||
_viewModel.PropertyChanged += ViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
// Sometimes the navigation is not triggered by button click,
|
||||
// so we need to update the selected item here
|
||||
private void ViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
case nameof(SettingWindowViewModel.PageType):
|
||||
var selectedIndex = _viewModel.PageType.Name switch
|
||||
{
|
||||
nameof(SettingsPaneGeneral) => 0,
|
||||
nameof(SettingsPanePlugins) => 1,
|
||||
nameof(SettingsPanePluginStore) => 2,
|
||||
nameof(SettingsPaneTheme) => 3,
|
||||
nameof(SettingsPaneHotkey) => 4,
|
||||
nameof(SettingsPaneProxy) => 5,
|
||||
nameof(SettingsPaneAbout) => 6,
|
||||
_ => 0
|
||||
};
|
||||
NavView.SelectedItem = NavView.MenuItems[selectedIndex];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnClosed(object sender, EventArgs e)
|
||||
{
|
||||
_viewModel.PropertyChanged -= ViewModel_PropertyChanged;
|
||||
|
||||
// If app is exiting, settings save is not needed because main window closing event will handle this
|
||||
if (App.Exiting) return;
|
||||
if (App.LoadingOrExiting) return;
|
||||
// Save settings when window is closed
|
||||
_settings.Save();
|
||||
App.API.SavePluginSettings();
|
||||
|
|
@ -212,6 +241,7 @@ public partial class SettingWindow
|
|||
{
|
||||
if (args.IsSettingsSelected)
|
||||
{
|
||||
_viewModel.SetPageType(typeof(SettingsPaneGeneral));
|
||||
ContentFrame.Navigate(typeof(SettingsPaneGeneral));
|
||||
}
|
||||
else
|
||||
|
|
@ -234,7 +264,11 @@ public partial class SettingWindow
|
|||
nameof(About) => typeof(SettingsPaneAbout),
|
||||
_ => typeof(SettingsPaneGeneral)
|
||||
};
|
||||
ContentFrame.Navigate(pageType);
|
||||
// Only navigate if the page type changes to fix navigation forward/back issue
|
||||
if (_viewModel.SetPageType(pageType))
|
||||
{
|
||||
ContentFrame.Navigate(pageType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -252,7 +286,8 @@ public partial class SettingWindow
|
|||
|
||||
private void ContentFrame_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
NavView.SelectedItem ??= NavView.MenuItems[0]; /* Set First Page */
|
||||
_viewModel.SetPageType(null); // Set page type to null so that NavigationView_SelectionChanged can navigate the frame
|
||||
NavView.SelectedItem = NavView.MenuItems[0]; /* Set First Page */
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -479,7 +479,7 @@
|
|||
<MultiDataTrigger.Conditions>
|
||||
<!--
|
||||
<Condition Binding="{Binding ElementName=ResultListBox, Path=Visibility}" Value="Collapsed" />
|
||||
<Condition Binding="{Binding ElementName=ContextMenu, Path=Visibility}" Value="Collapsed" />-->
|
||||
<Condition Binding="{Binding ElementName=ResultContextMenu, Path=Visibility}" Value="Collapsed" />-->
|
||||
<Condition Binding="{Binding ElementName=History, Path=Visibility}" Value="Collapsed" />
|
||||
<Condition Binding="{Binding ElementName=ResultListBox, Path=Items.Count}" Value="0" />
|
||||
</MultiDataTrigger.Conditions>
|
||||
|
|
|
|||
|
|
@ -137,6 +137,9 @@ namespace Flow.Launcher.ViewModel
|
|||
case nameof(Settings.SettingWindowHotkey):
|
||||
OnPropertyChanged(nameof(SettingWindowHotkey));
|
||||
break;
|
||||
case nameof(Settings.OpenHistoryHotkey):
|
||||
OnPropertyChanged(nameof(OpenHistoryHotkey));
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -213,7 +216,26 @@ namespace Flow.Launcher.ViewModel
|
|||
while (channelReader.TryRead(out var item))
|
||||
{
|
||||
if (!item.Token.IsCancellationRequested)
|
||||
{
|
||||
// Indicate if to clear existing results so to show only ones from plugins with action keywords
|
||||
var query = item.Query;
|
||||
var currentIsHomeQuery = query.IsHomeQuery;
|
||||
var shouldClearExistingResults = ShouldClearExistingResultsForQuery(query, currentIsHomeQuery);
|
||||
_lastQuery = item.Query;
|
||||
_previousIsHomeQuery = currentIsHomeQuery;
|
||||
|
||||
// If the queue already has the item, we need to pass the shouldClearExistingResults flag
|
||||
if (queue.TryGetValue(item.ID, out var existingItem))
|
||||
{
|
||||
item.ShouldClearExistingResults = shouldClearExistingResults || existingItem.ShouldClearExistingResults;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.ShouldClearExistingResults = shouldClearExistingResults;
|
||||
}
|
||||
|
||||
queue[item.ID] = item;
|
||||
}
|
||||
}
|
||||
|
||||
UpdateResultView(queue.Values);
|
||||
|
|
@ -265,7 +287,9 @@ namespace Flow.Launcher.ViewModel
|
|||
|
||||
if (token.IsCancellationRequested) return;
|
||||
|
||||
if (!_resultsUpdateChannelWriter.TryWrite(new ResultsForUpdate(resultsCopy, pair.Metadata, e.Query,
|
||||
App.API.LogDebug(ClassName, $"Update results for plugin <{pair.Metadata.Name}>");
|
||||
|
||||
if (!_resultsUpdateChannelWriter.TryWrite(new ResultsForUpdate(resultsCopy, pair.Metadata, e.Query,
|
||||
token)))
|
||||
{
|
||||
App.API.LogError(ClassName, "Unable to add item to Result Update Queue");
|
||||
|
|
@ -791,7 +815,7 @@ namespace Flow.Launcher.ViewModel
|
|||
|
||||
public Visibility ProgressBarVisibility { get; set; }
|
||||
public Visibility MainWindowVisibility { get; set; }
|
||||
|
||||
|
||||
// This is to be used for determining the visibility status of the main window instead of MainWindowVisibility
|
||||
// because it is more accurate and reliable representation than using Visibility as a condition check
|
||||
public bool MainWindowVisibilityStatus { get; set; } = true;
|
||||
|
|
@ -886,6 +910,7 @@ namespace Flow.Launcher.ViewModel
|
|||
public string SelectPrevPageHotkey => VerifyOrSetDefaultHotkey(Settings.SelectPrevPageHotkey, "");
|
||||
public string OpenContextMenuHotkey => VerifyOrSetDefaultHotkey(Settings.OpenContextMenuHotkey, "Ctrl+O");
|
||||
public string SettingWindowHotkey => VerifyOrSetDefaultHotkey(Settings.SettingWindowHotkey, "Ctrl+I");
|
||||
public string OpenHistoryHotkey => VerifyOrSetDefaultHotkey(Settings.OpenHistoryHotkey, "Ctrl+H");
|
||||
public string CycleHistoryUpHotkey => VerifyOrSetDefaultHotkey(Settings.CycleHistoryUpHotkey, "Alt+Up");
|
||||
public string CycleHistoryDownHotkey => VerifyOrSetDefaultHotkey(Settings.CycleHistoryDownHotkey, "Alt+Down");
|
||||
|
||||
|
|
@ -1068,7 +1093,7 @@ namespace Flow.Launcher.ViewModel
|
|||
path = QueryResultsPreviewed() ? Results.SelectedItem?.Result?.Preview.FilePath : string.Empty;
|
||||
return !string.IsNullOrEmpty(path);
|
||||
}
|
||||
|
||||
|
||||
private bool QueryResultsPreviewed()
|
||||
{
|
||||
var previewed = PreviewSelectedItem == Results.SelectedItem;
|
||||
|
|
@ -1258,7 +1283,7 @@ namespace Flow.Launcher.ViewModel
|
|||
|
||||
App.API.LogDebug(ClassName, $"Start query with ActionKeyword <{query.ActionKeyword}> and RawQuery <{query.RawQuery}>");
|
||||
|
||||
var currentIsHomeQuery = query.RawQuery == string.Empty;
|
||||
var currentIsHomeQuery = query.IsHomeQuery;
|
||||
|
||||
_updateSource?.Dispose();
|
||||
|
||||
|
|
@ -1278,8 +1303,6 @@ namespace Flow.Launcher.ViewModel
|
|||
// Update the query's IsReQuery property to true if this is a re-query
|
||||
query.IsReQuery = isReQuery;
|
||||
|
||||
|
||||
|
||||
ICollection<PluginPair> plugins = Array.Empty<PluginPair>();
|
||||
if (currentIsHomeQuery)
|
||||
{
|
||||
|
|
@ -1310,8 +1333,7 @@ namespace Flow.Launcher.ViewModel
|
|||
}
|
||||
}
|
||||
|
||||
var validPluginNames = plugins.Select(x => $"<{x.Metadata.Name}>");
|
||||
App.API.LogDebug(ClassName, $"Valid <{plugins.Count}> plugins: {string.Join(" ", validPluginNames)}");
|
||||
App.API.LogDebug(ClassName, $"Valid <{plugins.Count}> plugins: {string.Join(" ", plugins.Select(x => $"<{x.Metadata.Name}>"))}");
|
||||
|
||||
// Do not wait for performance improvement
|
||||
/*if (string.IsNullOrEmpty(query.ActionKeyword))
|
||||
|
|
@ -1339,6 +1361,12 @@ namespace Flow.Launcher.ViewModel
|
|||
Task[] tasks;
|
||||
if (currentIsHomeQuery)
|
||||
{
|
||||
if (ShouldClearExistingResultsForNonQuery(plugins))
|
||||
{
|
||||
Results.Clear();
|
||||
App.API.LogDebug(ClassName, $"Existing results are cleared for non-query");
|
||||
}
|
||||
|
||||
tasks = plugins.Select(plugin => plugin.Metadata.HomeDisabled switch
|
||||
{
|
||||
false => QueryTaskAsync(plugin, currentCancellationToken),
|
||||
|
|
@ -1429,13 +1457,8 @@ namespace Flow.Launcher.ViewModel
|
|||
|
||||
App.API.LogDebug(ClassName, $"Update results for plugin <{plugin.Metadata.Name}>");
|
||||
|
||||
// Indicate if to clear existing results so to show only ones from plugins with action keywords
|
||||
var shouldClearExistingResults = ShouldClearExistingResults(query, currentIsHomeQuery);
|
||||
_lastQuery = query;
|
||||
_previousIsHomeQuery = currentIsHomeQuery;
|
||||
|
||||
if (!_resultsUpdateChannelWriter.TryWrite(new ResultsForUpdate(resultsCopy, plugin.Metadata, query,
|
||||
token, reSelect, shouldClearExistingResults)))
|
||||
token, reSelect)))
|
||||
{
|
||||
App.API.LogError(ClassName, "Unable to add item to Result Update Queue");
|
||||
}
|
||||
|
|
@ -1453,7 +1476,7 @@ namespace Flow.Launcher.ViewModel
|
|||
App.API.LogDebug(ClassName, $"Update results for history");
|
||||
|
||||
if (!_resultsUpdateChannelWriter.TryWrite(new ResultsForUpdate(results, _historyMetadata, query,
|
||||
token)))
|
||||
token, reSelect)))
|
||||
{
|
||||
App.API.LogError(ClassName, "Unable to add item to Result Update Queue");
|
||||
}
|
||||
|
|
@ -1539,7 +1562,9 @@ namespace Flow.Launcher.ViewModel
|
|||
|
||||
/// <summary>
|
||||
/// Determines whether the existing search results should be cleared based on the current query and the previous query type.
|
||||
/// This is needed because of the design that treats plugins with action keywords and global action keywords separately. Results are gathered
|
||||
/// This is used to indicate to QueryTaskAsync or QueryHistoryTask whether to clear results. If both QueryTaskAsync and QueryHistoryTask
|
||||
/// are not called then use ShouldClearExistingResultsForNonQuery instead.
|
||||
/// This method needed because of the design that treats plugins with action keywords and global action keywords separately. Results are gathered
|
||||
/// either from plugins with matching action keywords or global action keyword, but not both. So when the current results are from plugins
|
||||
/// with a matching action keyword and a new result set comes from a new query with the global action keyword, the existing results need to be cleared,
|
||||
/// and vice versa. The same applies to home page query results.
|
||||
|
|
@ -1550,19 +1575,39 @@ namespace Flow.Launcher.ViewModel
|
|||
/// <param name="query">The current query.</param>
|
||||
/// <param name="currentIsHomeQuery">A flag indicating if the current query is a home query.</param>
|
||||
/// <returns>True if the existing results should be cleared, false otherwise.</returns>
|
||||
private bool ShouldClearExistingResults(Query query, bool currentIsHomeQuery)
|
||||
private bool ShouldClearExistingResultsForQuery(Query query, bool currentIsHomeQuery)
|
||||
{
|
||||
// If previous or current results are from home query, we need to clear them
|
||||
if (_previousIsHomeQuery || currentIsHomeQuery)
|
||||
{
|
||||
App.API.LogDebug(ClassName, $"Cleared old results");
|
||||
App.API.LogDebug(ClassName, $"Existing results should be cleared for query");
|
||||
return true;
|
||||
}
|
||||
|
||||
// If the last and current query are not home query type, we need to check the action keyword
|
||||
if (_lastQuery?.ActionKeyword != query?.ActionKeyword)
|
||||
{
|
||||
App.API.LogDebug(ClassName, $"Cleared old results");
|
||||
App.API.LogDebug(ClassName, $"Existing results should be cleared for query");
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether existing results should be cleared for non-query calls.
|
||||
/// A non-query call is where QueryTaskAsync and QueryHistoryTask methods are both not called.
|
||||
/// QueryTaskAsync and QueryHistoryTask both handle result updating (clearing if required) so directly calling
|
||||
/// Results.Clear() is not required. However when both are not called, we need to directly clear results and this
|
||||
/// method determines on the condition when clear results should happen.
|
||||
/// </summary>
|
||||
/// <param name="plugins">The collection of plugins to check.</param>
|
||||
/// <returns>True if existing results should be cleared, false otherwise.</returns>
|
||||
private bool ShouldClearExistingResultsForNonQuery(ICollection<PluginPair> plugins)
|
||||
{
|
||||
if (!Settings.ShowHistoryResultsForHomePage && (plugins.Count == 0 || plugins.All(x => x.Metadata.HomeDisabled == true)))
|
||||
{
|
||||
App.API.LogDebug(ClassName, $"Existing results should be cleared for non-query");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -1699,7 +1744,7 @@ namespace Flow.Launcher.ViewModel
|
|||
public void Show()
|
||||
{
|
||||
// When application is exiting, we should not show the main window
|
||||
if (App.Exiting) return;
|
||||
if (App.LoadingOrExiting) return;
|
||||
|
||||
// When application is exiting, the Application.Current will be null
|
||||
Application.Current?.Dispatcher.Invoke(() =>
|
||||
|
|
@ -1831,6 +1876,7 @@ namespace Flow.Launcher.ViewModel
|
|||
{
|
||||
if (!resultsForUpdates.Any())
|
||||
return;
|
||||
|
||||
CancellationToken token;
|
||||
|
||||
try
|
||||
|
|
@ -1896,6 +1942,21 @@ namespace Flow.Launcher.ViewModel
|
|||
Results.AddResults(resultsForUpdates, token, reSelect);
|
||||
}
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1822:Mark members as static", Justification = "<Pending>")]
|
||||
public void FocusQueryTextBox()
|
||||
{
|
||||
// When application is exiting, the Application.Current will be null
|
||||
Application.Current?.Dispatcher.Invoke(() =>
|
||||
{
|
||||
// When application is exiting, the Application.Current will be null
|
||||
if (Application.Current?.MainWindow is MainWindow window)
|
||||
{
|
||||
window.QueryTextBox.Focus();
|
||||
Keyboard.Focus(window.QueryTextBox);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IDisposable
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Flow.Launcher.ViewModel
|
|||
Query Query,
|
||||
CancellationToken Token,
|
||||
bool ReSelectFirstResult = true,
|
||||
bool shouldClearExistingResults = false)
|
||||
bool ShouldClearExistingResults = false)
|
||||
{
|
||||
public string ID { get; } = Metadata.ID;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ namespace Flow.Launcher.ViewModel
|
|||
{
|
||||
#region Private Fields
|
||||
|
||||
private readonly string ClassName = nameof(ResultsViewModel);
|
||||
|
||||
public ResultCollection Results { get; }
|
||||
|
||||
private readonly object _collectionLock = new();
|
||||
|
|
@ -187,11 +189,9 @@ namespace Flow.Launcher.ViewModel
|
|||
/// </summary>
|
||||
public void AddResults(ICollection<ResultsForUpdate> resultsForUpdates, CancellationToken token, bool reselect = true)
|
||||
{
|
||||
// Since NewResults may need to clear existing results, do not check token cancellation after this point
|
||||
var newResults = NewResults(resultsForUpdates);
|
||||
|
||||
if (token.IsCancellationRequested)
|
||||
return;
|
||||
|
||||
UpdateResults(newResults, reselect, token);
|
||||
}
|
||||
|
||||
|
|
@ -240,13 +240,20 @@ namespace Flow.Launcher.ViewModel
|
|||
private List<ResultViewModel> NewResults(ICollection<ResultsForUpdate> resultsForUpdates)
|
||||
{
|
||||
if (!resultsForUpdates.Any())
|
||||
{
|
||||
App.API.LogDebug(ClassName, "No results for updates, returning existing results");
|
||||
return Results;
|
||||
}
|
||||
|
||||
var newResults = resultsForUpdates.SelectMany(u => u.Results, (u, r) => new ResultViewModel(r, _settings));
|
||||
|
||||
if (resultsForUpdates.Any(x => x.shouldClearExistingResults))
|
||||
if (resultsForUpdates.Any(x => x.ShouldClearExistingResults))
|
||||
{
|
||||
App.API.LogDebug(ClassName, $"Existing results are cleared for query");
|
||||
return newResults.OrderByDescending(rv => rv.Result.Score).ToList();
|
||||
}
|
||||
|
||||
App.API.LogDebug(ClassName, $"Keeping existing results for {resultsForUpdates.Count} queries");
|
||||
return Results.Where(r => r?.Result != null && resultsForUpdates.All(u => u.ID != r.Result.PluginID))
|
||||
.Concat(newResults)
|
||||
.OrderByDescending(rv => rv.Result.Score)
|
||||
|
|
@ -290,8 +297,6 @@ namespace Flow.Launcher.ViewModel
|
|||
{
|
||||
private long editTime = 0;
|
||||
|
||||
private CancellationToken _token;
|
||||
|
||||
public event NotifyCollectionChangedEventHandler CollectionChanged;
|
||||
|
||||
protected void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
|
||||
|
|
@ -299,12 +304,12 @@ namespace Flow.Launcher.ViewModel
|
|||
CollectionChanged?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public void BulkAddAll(List<ResultViewModel> resultViews)
|
||||
private void BulkAddAll(List<ResultViewModel> resultViews, CancellationToken token = default)
|
||||
{
|
||||
AddRange(resultViews);
|
||||
|
||||
// can return because the list will be cleared next time updated, which include a reset event
|
||||
if (_token.IsCancellationRequested)
|
||||
if (token.IsCancellationRequested)
|
||||
return;
|
||||
|
||||
// manually update event
|
||||
|
|
@ -312,12 +317,12 @@ namespace Flow.Launcher.ViewModel
|
|||
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
|
||||
}
|
||||
|
||||
private void AddAll(List<ResultViewModel> Items)
|
||||
private void AddAll(List<ResultViewModel> Items, CancellationToken token = default)
|
||||
{
|
||||
for (int i = 0; i < Items.Count; i++)
|
||||
{
|
||||
var item = Items[i];
|
||||
if (_token.IsCancellationRequested)
|
||||
if (token.IsCancellationRequested)
|
||||
return;
|
||||
Add(item);
|
||||
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, item, i));
|
||||
|
|
@ -339,21 +344,30 @@ namespace Flow.Launcher.ViewModel
|
|||
/// <param name="newItems"></param>
|
||||
public void Update(List<ResultViewModel> newItems, CancellationToken token = default)
|
||||
{
|
||||
_token = token;
|
||||
if (Count == 0 && newItems.Count == 0 || _token.IsCancellationRequested)
|
||||
// Since NewResults may need to clear existing results, so we cannot check token cancellation here
|
||||
if (Count == 0 && newItems.Count == 0)
|
||||
return;
|
||||
|
||||
if (editTime < 10 || newItems.Count < 30)
|
||||
{
|
||||
if (Count != 0) RemoveAll(newItems.Count);
|
||||
AddAll(newItems);
|
||||
|
||||
// After results are removed, we need to check the token cancellation
|
||||
// so that we will not add new items from the cancelled queries
|
||||
if (token.IsCancellationRequested) return;
|
||||
|
||||
AddAll(newItems, token);
|
||||
editTime++;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Clear();
|
||||
BulkAddAll(newItems);
|
||||
|
||||
// After results are removed, we need to check the token cancellation
|
||||
// so that we will not add new items from the cancelled queries
|
||||
if (token.IsCancellationRequested) return;
|
||||
|
||||
BulkAddAll(newItems, token);
|
||||
if (Capacity > 8000 && newItems.Count < 3000)
|
||||
{
|
||||
Capacity = newItems.Count;
|
||||
|
|
|
|||
74
Flow.Launcher/ViewModel/SelectBrowserViewModel.cs
Normal file
74
Flow.Launcher/ViewModel/SelectBrowserViewModel.cs
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Flow.Launcher.Infrastructure.UserSettings;
|
||||
using Flow.Launcher.Plugin;
|
||||
|
||||
namespace Flow.Launcher.ViewModel;
|
||||
|
||||
public partial class SelectBrowserViewModel : BaseModel
|
||||
{
|
||||
private readonly Settings _settings;
|
||||
|
||||
private int selectedCustomBrowserIndex;
|
||||
|
||||
public int SelectedCustomBrowserIndex
|
||||
{
|
||||
get => selectedCustomBrowserIndex;
|
||||
set
|
||||
{
|
||||
selectedCustomBrowserIndex = value;
|
||||
OnPropertyChanged(nameof(CustomBrowser));
|
||||
}
|
||||
}
|
||||
|
||||
public ObservableCollection<CustomBrowserViewModel> CustomBrowsers { get; }
|
||||
|
||||
public CustomBrowserViewModel CustomBrowser => CustomBrowsers[SelectedCustomBrowserIndex];
|
||||
|
||||
public SelectBrowserViewModel(Settings settings)
|
||||
{
|
||||
_settings = settings;
|
||||
CustomBrowsers = new ObservableCollection<CustomBrowserViewModel>(_settings.CustomBrowserList.Select(x => x.Copy()));
|
||||
SelectedCustomBrowserIndex = _settings.CustomBrowserIndex;
|
||||
}
|
||||
|
||||
public bool SaveSettings()
|
||||
{
|
||||
_settings.CustomBrowserList = CustomBrowsers.ToList();
|
||||
_settings.CustomBrowserIndex = SelectedCustomBrowserIndex;
|
||||
return true;
|
||||
}
|
||||
|
||||
internal string SelectFile()
|
||||
{
|
||||
var dlg = new Microsoft.Win32.OpenFileDialog();
|
||||
var result = dlg.ShowDialog();
|
||||
if (result == true)
|
||||
return dlg.FileName;
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void Add()
|
||||
{
|
||||
CustomBrowsers.Add(new()
|
||||
{
|
||||
Name = "New Profile"
|
||||
});
|
||||
SelectedCustomBrowserIndex = CustomBrowsers.Count - 1;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void Delete()
|
||||
{
|
||||
var currentIndex = SelectedCustomBrowserIndex;
|
||||
if (currentIndex >= 0 && currentIndex < CustomBrowsers.Count)
|
||||
{
|
||||
CustomBrowsers.RemoveAt(currentIndex);
|
||||
SelectedCustomBrowserIndex = currentIndex > 0 ? currentIndex - 1 : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
136
Flow.Launcher/ViewModel/SelectFileManagerViewModel.cs
Normal file
136
Flow.Launcher/ViewModel/SelectFileManagerViewModel.cs
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Flow.Launcher.Infrastructure.UserSettings;
|
||||
using Flow.Launcher.Plugin;
|
||||
|
||||
namespace Flow.Launcher.ViewModel;
|
||||
|
||||
public partial class SelectFileManagerViewModel : BaseModel
|
||||
{
|
||||
private readonly Settings _settings;
|
||||
|
||||
private int selectedCustomExplorerIndex;
|
||||
|
||||
public int SelectedCustomExplorerIndex
|
||||
{
|
||||
get => selectedCustomExplorerIndex;
|
||||
set
|
||||
{
|
||||
if (selectedCustomExplorerIndex != value)
|
||||
{
|
||||
selectedCustomExplorerIndex = value;
|
||||
OnPropertyChanged(nameof(CustomExplorer));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ObservableCollection<CustomExplorerViewModel> CustomExplorers { get; }
|
||||
|
||||
public CustomExplorerViewModel CustomExplorer => CustomExplorers[SelectedCustomExplorerIndex];
|
||||
|
||||
public SelectFileManagerViewModel(Settings settings)
|
||||
{
|
||||
_settings = settings;
|
||||
CustomExplorers = new ObservableCollection<CustomExplorerViewModel>(_settings.CustomExplorerList.Select(x => x.Copy()));
|
||||
SelectedCustomExplorerIndex = _settings.CustomExplorerIndex;
|
||||
}
|
||||
|
||||
public bool SaveSettings()
|
||||
{
|
||||
// Check if the selected file manager path is valid
|
||||
if (!IsFileManagerValid(CustomExplorer.Path))
|
||||
{
|
||||
var result = App.API.ShowMsgBox(
|
||||
string.Format(App.API.GetTranslation("fileManagerPathNotFound"),
|
||||
CustomExplorer.Name, CustomExplorer.Path),
|
||||
App.API.GetTranslation("fileManagerPathError"),
|
||||
MessageBoxButton.YesNo,
|
||||
MessageBoxImage.Warning);
|
||||
|
||||
if (result == MessageBoxResult.No)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
_settings.CustomExplorerList = CustomExplorers.ToList();
|
||||
_settings.CustomExplorerIndex = SelectedCustomExplorerIndex;
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool IsFileManagerValid(string path)
|
||||
{
|
||||
if (string.Equals(path, "explorer", StringComparison.OrdinalIgnoreCase))
|
||||
return true;
|
||||
|
||||
if (Path.IsPathRooted(path))
|
||||
{
|
||||
return File.Exists(path);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var process = new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = "where",
|
||||
Arguments = path,
|
||||
RedirectStandardOutput = true,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true
|
||||
}
|
||||
};
|
||||
process.Start();
|
||||
string output = process.StandardOutput.ReadToEnd();
|
||||
process.WaitForExit();
|
||||
|
||||
return !string.IsNullOrEmpty(output);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
internal void OpenUrl(string absoluteUri)
|
||||
{
|
||||
App.API.OpenUrl(absoluteUri);
|
||||
}
|
||||
|
||||
internal string SelectFile()
|
||||
{
|
||||
var dlg = new Microsoft.Win32.OpenFileDialog();
|
||||
var result = dlg.ShowDialog();
|
||||
if (result == true)
|
||||
return dlg.FileName;
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void Add()
|
||||
{
|
||||
CustomExplorers.Add(new()
|
||||
{
|
||||
Name = "New Profile"
|
||||
});
|
||||
SelectedCustomExplorerIndex = CustomExplorers.Count - 1;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void Delete()
|
||||
{
|
||||
var currentIndex = SelectedCustomExplorerIndex;
|
||||
if (currentIndex >= 0 && currentIndex < CustomExplorers.Count)
|
||||
{
|
||||
CustomExplorers.RemoveAt(currentIndex);
|
||||
SelectedCustomExplorerIndex = currentIndex > 0 ? currentIndex - 1 : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using Flow.Launcher.Infrastructure.UserSettings;
|
||||
using System;
|
||||
using Flow.Launcher.Infrastructure.UserSettings;
|
||||
using Flow.Launcher.Plugin;
|
||||
|
||||
namespace Flow.Launcher.ViewModel;
|
||||
|
|
@ -12,6 +13,28 @@ public partial class SettingWindowViewModel : BaseModel
|
|||
_settings = settings;
|
||||
}
|
||||
|
||||
public bool SetPageType(Type pageType)
|
||||
{
|
||||
if (_pageType == pageType) return false;
|
||||
|
||||
_pageType = pageType;
|
||||
return true;
|
||||
}
|
||||
|
||||
private Type _pageType = null;
|
||||
public Type PageType
|
||||
{
|
||||
get => _pageType;
|
||||
set
|
||||
{
|
||||
if (_pageType != value)
|
||||
{
|
||||
_pageType = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double SettingWindowWidth
|
||||
{
|
||||
get => _settings.SettingWindowWidth;
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ namespace Flow.Launcher
|
|||
private void Window_Closed(object sender, EventArgs e)
|
||||
{
|
||||
// If app is exiting, settings save is not needed because main window closing event will handle this
|
||||
if (App.Exiting) return;
|
||||
if (App.LoadingOrExiting) return;
|
||||
// Save settings when window is closed
|
||||
_settings.Save();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"Name": "Browser Bookmarks",
|
||||
"Description": "Search your browser bookmarks",
|
||||
"Author": "qianlifeng, Ioannis G.",
|
||||
"Version": "3.3.4",
|
||||
"Version": "1.0.0",
|
||||
"Language": "csharp",
|
||||
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
|
||||
"ExecuteFileName": "Flow.Launcher.Plugin.BrowserBookmark.dll",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"Name": "Calculator",
|
||||
"Description": "Provide mathematical calculations.(Try 5*3-2 in Flow Launcher)",
|
||||
"Author": "cxfksword",
|
||||
"Version": "3.1.5",
|
||||
"Version": "1.0.0",
|
||||
"Language": "csharp",
|
||||
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
|
||||
"ExecuteFileName": "Flow.Launcher.Plugin.Calculator.dll",
|
||||
|
|
|
|||
|
|
@ -199,10 +199,10 @@ namespace Flow.Launcher.Plugin.Explorer
|
|||
{
|
||||
if (Context.API.ShowMsgBox(
|
||||
string.Format(Context.API.GetTranslation("plugin_explorer_delete_folder_link"), record.FullPath),
|
||||
string.Empty,
|
||||
MessageBoxButton.YesNo,
|
||||
Context.API.GetTranslation("plugin_explorer_deletefilefolder"),
|
||||
MessageBoxButton.OKCancel,
|
||||
MessageBoxImage.Warning)
|
||||
== MessageBoxResult.No)
|
||||
== MessageBoxResult.Cancel)
|
||||
return false;
|
||||
|
||||
if (isFile)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">الحجم</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">تاريخ الإنشاء</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">تاريخ التعديل</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">عرض معلومات الملف</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">تنسيق التاريخ والوقت</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">خيارات الترتيب:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">نسخ المسار</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">نسخ مسار العنصر الحالي إلى الحافظة</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">نسخ</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">نسخ الملف الحالي إلى الحافظة</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">نسخ المجلد الحالي إلى الحافظة</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">عرض قائمة السياق الأصلية (تجريبي)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">أدناه يمكنك تحديد العناصر التي تريد تضمينها في قائمة السياق، يمكن أن تكون جزئية (على سبيل المثال 'pen wit') أو كاملة ('فتح بواسطة').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">يمكنك أدناه تحديد العناصر التي تريد استبعادها من قائمة الضغط الأيمن، يمكن أن تكون جزئية (على سبيل المثال، 'pen wit') أو كاملة ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Velikost</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Datum vytvoření</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Datum změny</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Display File Info</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Date and time format</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Možnosti řazení:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Kopírovat cestu</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Zkopírovat cestu k aktuální položce do schránky</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Kopírovat</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Kopírovat aktuální soubor do schránky</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Kopírovat aktuální složku do schránky</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Size</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Date Created</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Date Modified</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Display File Info</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Date and time format</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copy path</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copy path of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copy</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copy current file to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copy current folder to clipboard</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Größe</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Erstellungsdatum</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Änderungsdatum</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Datei-Info anzeigen</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Datums- und Zeitformat</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sortieroption:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Pfad kopieren</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Pfad des aktuellen Elements in Zwischenablage kopieren</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Kopieren</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Aktuelle Datei in Zwischenablage kopieren</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Aktuellen Ordner in Zwischenablage kopieren</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Natives Kontextmenü anzeigen (experimentell)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Unten können Sie die Elemente angeben, die Sie in das Kontextmenü aufnehmen möchten. Diese können partiell (z. B. „Stift mit“) oder vollständig („Öffnen mit“) sein.</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Unten können Sie die Elemente angeben, die Sie aus dem Kontextmenü ausschließen möchten. Diese können partiell (z. B. „Stift mit“) oder vollständig („Öffnen mit“) sein.</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Size</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Date Created</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Date Modified</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Display File Info</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Date and time format</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -166,4 +167,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Size</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Fecha de creación</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Fecha de modificación</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Display File Info</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Date and time format</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copy path</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copy path of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copy</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copy current file to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copy current folder to clipboard</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Tamaño</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Fecha de creación</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Fecha de modificación</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">Edad del archivo</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Mostrar información del archivo</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Formato de fecha y hora</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Ordenar por:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copiar ruta</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copia la ruta del elemento actual al portapapeles</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copiar nombre</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copiar nombre del elemento actual al portapapeles</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copiar</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copia el archivo actual al portapapeles</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copia la carpeta actual al portapapeles</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Mostrar menú contextual nativo (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">En el siguiente cuadro puede especificar los elementos que desea incluir en el menú contextual, puede describirlos de forma parcial (p. ej., 'brir co') o completa ('Abrir con').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">En el siguiente cuadro puede especificar los elementos que desea excluir en el menú contextual, puede describirlos de forma parcial (p. ej., 'brir co') o completa ('Abrir con').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Hoy</system:String>
|
||||
<system:String x:Key="DaysAgo">Hace {0} días</system:String>
|
||||
<system:String x:Key="OneMonthAgo">Hace 1 mes</system:String>
|
||||
<system:String x:Key="MonthsAgo">Hace {0} meses</system:String>
|
||||
<system:String x:Key="OneYearAgo">Hace 1 año</system:String>
|
||||
<system:String x:Key="YearsAgo">Hace {0} años</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Taille</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Date de création</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Date de modification</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">Âge du fichier</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Afficher les informations du fichier</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Format de la date et de l'heure</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Option de tri :</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copier le chemin</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copier le chemin de l'élément actuel dans le presse-papiers</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copier le nom</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copier le nom de l'élément actuel dans le presse-papiers</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copier</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copier le fichier actuel dans le presse-papiers</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copier le dossier actuel dans le presse-papiers</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Afficher le menu contextuel natif (expérimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Ci-dessous, vous pouvez spécifier les éléments que vous souhaitez inclure dans le menu contextuel. Ils peuvent être partiels ('pen wit') ou complets ('Ouvrir avec').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Vous pouvez spécifier ci-dessous les éléments que vous souhaitez exclure du menu contextuel. Ces éléments peuvent être partiels (par exemple, "pen wit") ou complets ("Ouvrir avec").</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Aujourd’hui</system:String>
|
||||
<system:String x:Key="DaysAgo">Il y a {0} jours</system:String>
|
||||
<system:String x:Key="OneMonthAgo">il y a 1 mois</system:String>
|
||||
<system:String x:Key="MonthsAgo">Il y a {0} mois</system:String>
|
||||
<system:String x:Key="OneYearAgo">il y a 1 an</system:String>
|
||||
<system:String x:Key="YearsAgo">Il y a {0} ans</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">גודל</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">תאריך יצירה</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">תאריך שינוי</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">גיל הקובץ</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">הצגת מידע על קובץ</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">תבנית תאריך ושעה</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">אפשרות מיון:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">העתק נתיב</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">העתק את הנתיב של הפריט הנוכחי ללוח</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">העתק שם</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">העתק את שם הפריט הנוכחי ללוח</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">העתק</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">העתק את הקובץ הנוכחי ללוח</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">העתק את התיקייה הנוכחית ללוח</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">הצג תפריט הקשר מקורי (ניסיוני)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">כאן תוכל להגדיר פריטים שברצונך לכלול בתפריט ההקשר, הם יכולים להיות חלקיים (למשל 'pen wit') או שלמים ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">כאן תוכל להגדיר פריטים שברצונך להחריג מתפריט ההקשר, הם יכולים להיות חלקיים (למשל 'pen wit') או שלמים ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">היום</system:String>
|
||||
<system:String x:Key="DaysAgo">לפני {0} ימים</system:String>
|
||||
<system:String x:Key="OneMonthAgo">לפני חודש אחד</system:String>
|
||||
<system:String x:Key="MonthsAgo">לפני {0} חודשים</system:String>
|
||||
<system:String x:Key="OneYearAgo">לפני שנה אחת</system:String>
|
||||
<system:String x:Key="YearsAgo">לפני {0} שנים</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Dimensioni</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Data di creazione</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Data della modifica</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Visualizza Informazioni File</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Formato data e ora</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Opzioni di ordinamento:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copia percorso</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copia negli appunti il percorso dell'elemento corrente</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copia</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copia file corrente negli appunti</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copia cartella corrente negli appunti</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Visualizza il menu contestuale nativo (sperimentale)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Sotto si può specificare elementi che si vuole includere nel menu contestuale, che possono essere parziali (es 'pri co') o completi ('Apri con').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">サイズ</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">作成日時</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">更新日時</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">ファイル情報の表示</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">日付と時刻の形式</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">パスをコピー</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">現在の項目のパスをコピー</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">コピー</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">現在のファイルをコピー</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">現在のフォルダーをコピー</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">크기</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">만든 날짜</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">수정한 날짜</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">파일 정보 표시</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">시간과 날짜 형식</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">정렬 옵션:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">경로 복사</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">이 항목의 경로를 클립보드에 복사</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">이름 복사</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">이 항목의 이름을 클립보드에 복사</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">복사하기</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">이 파일을 클립보드에 복사</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">이 파일을 클립보드에 복사</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Størrelse</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Dato opprettet</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Dato endret</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Vis filinfo</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Dato- og klokkeslettformat</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Alternativ for sortering:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Kopier sti</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Kopier sti til gjeldende element til utklippstavlen</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Kopier</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Kopier gjeldende fil til utklippstavlen</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Kopier gjeldende mappe til utklippstavlen</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Vis opprinnelig hurtigmeny (eksperimentell)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Nedenfor kan du spesifisere elementer du vil inkludere i hurtigtmenyen, de kan være delvise (f.eks. 'pne me') eller komplette ('Åpne med').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Nedenfor kan du spesifisere elementer du vil ekskludere fra hurtigtmenyen, de kan være delvise (f.eks. 'pne me') eller komplette ('Åpne med').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Grootte</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Datum aangemaakt</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Datum gewijzigd</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Bestandsinformatie weergeven</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Formaat voor datum en tijd</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copy path</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copy path of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copy</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copy current file to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copy current folder to clipboard</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Rozmiar</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Data utworzenia</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Data modyfikacji</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Wyświetl informacje o pliku</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Format daty i czasu</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Opcje sortowania:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Skopiuj Ścieżkę</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Kopiuj ścieżkę bieżącego elementu do schowka</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Kopiuj</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Kopiuj bieżący plik do schowka</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Kopiuj bieżący folder do schowka</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Wyświetl natywne menu kontekstowe (eksperymentalne)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Poniżej możesz określić elementy, które chcesz uwzględnić w menu kontekstowym. Mogą być one częściowe (np. "otw w") lub pełne ("Otwórz za pomocą").</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Poniżej możesz określić elementy, które chcesz wykluczyć z menu kontekstowego. Mogą być one częściowe (np. "otw w") lub pełne ("Otwórz za pomocą").</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Tamanho</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Date Created</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Date Modified</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Display File Info</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Date and time format</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copy path</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copy path of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copiar</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copy current file to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copy current folder to clipboard</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Tamanho</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Data de criação</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Data de modificação</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">Antiguidade</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Mostrar informações do ficheiro</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Formato de data e de hora</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Ordenação:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copiar caminho</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copiar caminho do item atual para área de transferência</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copiar nome</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copiar nome do item para a área de transferência</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copiar</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copiar ficheiro atual para a área de transferência</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copiar pasta atual para a área de transferência</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Mostrar menu de contexto nativo (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Aqui pode especificar os itens a incluir no menu de contexto. Podem ser parciais (ex.: 'brir co') ou completos ('Abrir com').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Aqui pode especificar os itens a excluir do menu de contexto. Podem ser parciais (ex.: 'brir co') ou completos ('Abrir com').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Hoje</system:String>
|
||||
<system:String x:Key="DaysAgo">Há {0} dias</system:String>
|
||||
<system:String x:Key="OneMonthAgo">Há 1 mês</system:String>
|
||||
<system:String x:Key="MonthsAgo">Há {0} meses</system:String>
|
||||
<system:String x:Key="OneYearAgo">Há 1 ano</system:String>
|
||||
<system:String x:Key="YearsAgo">Há {0} anos</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Размер</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Date Created</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Date Modified</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Display File Info</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Date and time format</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Скопировать путь</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copy path of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Скопировать</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copy current file to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copy current folder to clipboard</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Veľkosť</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Dátum vytvorenia</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Dátum úpravy</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">Čas od vytvorenia</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Zobraziť informácie o súbore</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Formát dátumu a času</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Zoradenie:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Kopírovať cestu</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Skopírovať cestu k aktuálnej položke do schránky</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Kopírovať názov</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Skopírovať názov aktuálnej položky do schránky</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Kopírovať</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Skopírovať aktuálny súbor do schránky</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Skopírovať aktuálny priečinok do schránky</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Zobraziť natívnu kontextovú ponuku (experimentálne)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Nižšie môžete určiť položky, ktoré chcete zahrnúť do kontextovej ponuky, môžu byť čiastočné (napr. "tvoriť v program") alebo úplné ("Otvoriť v programe").</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Nižšie môžete určiť položky, ktoré chcete vylúčiť z kontextovej ponuky, môžu byť čiastočné (napr. "tvoriť v program") alebo úplné ("Otvoriť v programe").</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Dnes</system:String>
|
||||
<system:String x:Key="DaysAgo">pred {0} dňami</system:String>
|
||||
<system:String x:Key="OneMonthAgo">pred mesiacom</system:String>
|
||||
<system:String x:Key="MonthsAgo">pred {0} mesiacmi</system:String>
|
||||
<system:String x:Key="OneYearAgo">pred rokom</system:String>
|
||||
<system:String x:Key="YearsAgo">pred {0} rokmi</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Size</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Date Created</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Date Modified</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Display File Info</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Date and time format</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sort Option:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Copy path</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Copy path of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Copy</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Copy current file to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Copy current folder to clipboard</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Boyut</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Oluşturma Tarihi</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Değiştirme Tarihi</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Dosya Özelliklerini Göster</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Tarih ve saat biçimi</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Sıralama Seçeneği:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Yolu kopyala</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Mevcut dosya konumunu panoya kopyala</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Kopyala</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Mevcut dosyayı panoya kopyala</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Mevcut klasörü panoya kopyala</system:String>
|
||||
|
|
@ -162,4 +165,12 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Display native context menu (experimental)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Below you can specify items you want to include in the context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<system:String x:Key="plugin_explorer_previewpanel_display_file_size_checkbox">Розмір</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_creation_checkbox">Дата створення</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_modification_checkbox">Дата останньої зміни</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_display_file_age_checkbox">File Age</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_file_info_label">Показати інформацію про файл</system:String>
|
||||
<system:String x:Key="plugin_explorer_previewpanel_date_and_time_format_label">Формат дати й часу</system:String>
|
||||
<system:String x:Key="plugin_explorer_everything_sort_option">Варіант сортування:</system:String>
|
||||
|
|
@ -80,6 +81,8 @@
|
|||
<!-- Context menu items -->
|
||||
<system:String x:Key="plugin_explorer_copypath">Копіювати шлях</system:String>
|
||||
<system:String x:Key="plugin_explorer_copypath_subtitle">Копіювати шлях до поточного елемента в буфер обміну</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname">Copy name</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyname_subtitle">Copy name of current item to clipboard</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfilefolder">Копіювати</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfile_subtitle">Копіювання поточного файлу в буфер обміну</system:String>
|
||||
<system:String x:Key="plugin_explorer_copyfolder_subtitle">Копіювати поточну папку в буфер обміну</system:String>
|
||||
|
|
@ -161,6 +164,13 @@
|
|||
<system:String x:Key="plugin_explorer_native_context_menu_header">Рідне контекстне меню</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_display_context_menu">Відображати рідне контекстне меню (експериментально)</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_include_patterns_guide">Нижче ви можете вказати елементи, які хочете включити до контекстного меню, вони можуть бути частковими (наприклад, «шир пера») або повними («Відкрити за допомогою»).</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Нижче ви можете вказати елементи, які хочете виключити з контекстного меню, вони можуть бути частковими (наприклад, «шир пера») або повними («Відкрити за допомогою»).</system:String>
|
||||
<system:String x:Key="plugin_explorer_native_context_menu_exclude_patterns_guide">Below you can specify items you want to exclude from context menu, they can be partial (e.g. 'pen wit') or complete ('Open with').</system:String>
|
||||
|
||||
<!-- Preview Info -->
|
||||
<system:String x:Key="Today">Today</system:String>
|
||||
<system:String x:Key="DaysAgo">{0} days ago</system:String>
|
||||
<system:String x:Key="OneMonthAgo">1 month ago</system:String>
|
||||
<system:String x:Key="MonthsAgo">{0} months ago</system:String>
|
||||
<system:String x:Key="OneYearAgo">1 year ago</system:String>
|
||||
<system:String x:Key="YearsAgo">{0} years ago</system:String>
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue