diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..11a0bcdf6 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,146 @@ +# To learn more about .editorconfig see https://aka.ms/editorconfigdocs +############################### +# Core EditorConfig Options # +############################### +# All files +[*] +indent_style = space + +# XML project files +[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] +indent_size = 2 + +# XML config files +[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] +indent_size = 2 + +# Code files +[*.{cs,csx,vb,vbx}] +indent_size = 4 +insert_final_newline = true +charset = utf-8-bom +############################### +# .NET Coding Conventions # +############################### +[*.{cs,vb}] +# Organize usings +dotnet_sort_system_directives_first = true +# this. preferences +dotnet_style_qualification_for_field = false:silent +dotnet_style_qualification_for_property = false:silent +dotnet_style_qualification_for_method = false:silent +dotnet_style_qualification_for_event = false:silent +# Language keywords vs BCL types preferences +dotnet_style_predefined_type_for_locals_parameters_members = true:silent +dotnet_style_predefined_type_for_member_access = true:silent +# Parentheses preferences +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent +# Modifier preferences +dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent +dotnet_style_readonly_field = true:suggestion +# Expression-level preferences +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion +dotnet_style_prefer_auto_properties = true:silent +dotnet_style_prefer_conditional_expression_over_assignment = true:silent +dotnet_style_prefer_conditional_expression_over_return = true:silent +############################### +# Naming Conventions # +############################### +# Style Definitions +dotnet_naming_style.pascal_case_style.capitalization = pascal_case +# Use PascalCase for constant fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style +dotnet_naming_symbols.constant_fields.applicable_kinds = field +dotnet_naming_symbols.constant_fields.applicable_accessibilities = * +dotnet_naming_symbols.constant_fields.required_modifiers = const +dotnet_style_operator_placement_when_wrapping = beginning_of_line +tab_width = 2 +end_of_line = crlf +dotnet_style_prefer_simplified_boolean_expressions = true:suggestion +dotnet_style_prefer_compound_assignment = true:suggestion +dotnet_diagnostic.CA1416.severity = silent +############################### +# C# Coding Conventions # +############################### +[*.cs] +dotnet_diagnostics.VSTHRD200.severity = none # VSTHRD200: Use "Async" suffix for async methods +dotnet_analyzer_diagnostic.VSTHRD200.severity = none # VSTHRD200: Use "Async" suffix for async methods +# var preferences +csharp_style_var_for_built_in_types = true:silent +csharp_style_var_when_type_is_apparent = true:silent +csharp_style_var_elsewhere = true:silent +# Expression-bodied members +csharp_style_expression_bodied_methods = false:silent +csharp_style_expression_bodied_constructors = false:silent +csharp_style_expression_bodied_operators = false:silent +csharp_style_expression_bodied_properties = true:silent +csharp_style_expression_bodied_indexers = true:silent +csharp_style_expression_bodied_accessors = true:silent +# Pattern matching preferences +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +# Null-checking preferences +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = true:suggestion +# Modifier preferences +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion +# Expression-level preferences +csharp_prefer_braces = true:silent +csharp_style_deconstructed_variable_declaration = true:suggestion +csharp_prefer_simple_default_expression = true:suggestion +csharp_style_pattern_local_over_anonymous_function = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion +############################### +# C# Formatting Rules # +############################### +# New line preferences +csharp_new_line_before_open_brace = all +csharp_new_line_before_else = true +csharp_new_line_before_catch = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_between_query_expression_clauses = true +# Indentation preferences +csharp_indent_case_contents = true +csharp_indent_switch_labels = true +csharp_indent_labels = flush_left +# Space preferences +csharp_space_after_cast = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_around_binary_operators = before_and_after +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +# Wrapping preferences +csharp_preserve_single_line_statements = true +csharp_preserve_single_line_blocks = true +csharp_using_directive_placement = outside_namespace:silent +csharp_prefer_simple_using_statement = true:suggestion +csharp_style_namespace_declarations = block_scoped:silent +csharp_style_prefer_method_group_conversion = true:silent +csharp_style_expression_bodied_lambdas = true:silent +csharp_style_expression_bodied_local_functions = false:silent +############################### +# VB Coding Conventions # +############################### +[*.vb] +# Modifier preferences +visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md deleted file mode 100644 index 23ced593e..000000000 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: "\U0001F41E Bug report" -about: Create a bug report to help us improve Flow Launcher -title: "[Describe Your Bug]" -labels: 'bug' -assignees: '' - ---- - -**Describe the bug/issue** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. ... -2. ... -3. ... - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Your System** -``` -Windows build number: (run "ver" at a command prompt) -Flow Launcher version: (Settings => About) -``` -**Flow Launcher Error Log** - diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml new file mode 100644 index 000000000..87bb5045a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -0,0 +1,78 @@ +name: "\U0001F41E Bug Report" +description: Create a bug report to help us improve Flow Launcher +title: "BUG: " +labels: ["bug"] + +body: + - type: markdown + attributes: + value: Thanks for taking the time to fill out this bug report! + + - type: checkboxes + attributes: + label: Checks + options: + - label: > + I have checked that this issue has not already been reported. + + - type: textarea + attributes: + label: Problem Description + description: A clear and concise description of what the problem is. + validations: + required: true + + - type: textarea + attributes: + label: To Reproduce + description: Steps to reproduce the behavior. + value: > + 1. ... + + 2. ... + + 3. ... + + - type: textarea + attributes: + label: Screenshots + description: If applicable, add screenshots to help explain your problem. + + - type: input + attributes: + label: Flow Launcher Version + description: Go to "Settings" => "About". + value: v1.8.3 + + - type: input + attributes: + label: Windows Build Number + description: Run "ver" at CMD (command prompt). + value: 10.0.19043.1288 + + - type: textarea + id: logs + attributes: + label: Error Log + description: > + Log file place: + + - The latest version place: `%AppData%\FlowLauncher\Logs\\.txt` + + - For portable mode: `%LocalAppData%\FlowLauncher\\UserData\Logs\\.txt` + value: > +
+ + + ```shell + + + Replace this line with the important log contents. + + + ``` + +
+ + + diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..454c4e976 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,17 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "nuget" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + ignore: + - dependency-name: "squirrel-windows" + reviewers: + - "jjw24" + - "taooceros" + - "JohnTheGr8" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 6abd850ed..052e1d225 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -15,9 +15,12 @@ jobs: steps: - uses: actions/stale@v4 with: - stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' - days-before-stale: 30 - days-before-close: 5 + stale-issue-message: 'This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 5 days.' + days-before-stale: 45 + days-before-close: 7 days-before-pr-close: -1 exempt-all-milestones: true - close-issue-message: 'This issue was closed because it has been stale for 5 days with no activity. If you feel this issue still needs attention please feel free to reopen.' \ No newline at end of file + close-issue-message: 'This issue was closed because it has been stale for 7 days with no activity. If you feel this issue still needs attention please feel free to reopen.' + stale-pr-label: 'no-pr-activity' + exempt-issue-labels: 'keep-fresh' + exempt-pr-labels: 'keep-fresh,awaiting-approval,work-in-progress' diff --git a/Flow.Launcher.Core/Configuration/Portable.cs b/Flow.Launcher.Core/Configuration/Portable.cs index 5bca087b8..bd77ea7cf 100644 --- a/Flow.Launcher.Core/Configuration/Portable.cs +++ b/Flow.Launcher.Core/Configuration/Portable.cs @@ -1,4 +1,4 @@ -using Microsoft.Win32; +using Microsoft.Win32; using Squirrel; using System; using System.IO; @@ -127,7 +127,7 @@ namespace Flow.Launcher.Core.Configuration using (var portabilityUpdater = NewUpdateManager()) { - portabilityUpdater.CreateUninstallerRegistryEntry(); + _ = portabilityUpdater.CreateUninstallerRegistryEntry(); } } diff --git a/Flow.Launcher.Core/ExternalPlugins/FlowPluginException.cs b/Flow.Launcher.Core/ExternalPlugins/FlowPluginException.cs new file mode 100644 index 000000000..47bc285c9 --- /dev/null +++ b/Flow.Launcher.Core/ExternalPlugins/FlowPluginException.cs @@ -0,0 +1,24 @@ +using Flow.Launcher.Plugin; +using System; + +namespace Flow.Launcher.Core.ExternalPlugins +{ + public class FlowPluginException : Exception + { + public PluginMetadata Metadata { get; set; } + + public FlowPluginException(PluginMetadata metadata, Exception e) : base(e.Message, e) + { + Metadata = metadata; + } + + public override string ToString() + { + return $@"{Metadata.Name} Exception: +Websites: {Metadata.Website} +Author: {Metadata.Author} +Version: {Metadata.Version} +{base.ToString()}"; + } + } +} \ No newline at end of file diff --git a/Flow.Launcher.Core/ExternalPlugins/UserPlugin.cs b/Flow.Launcher.Core/ExternalPlugins/UserPlugin.cs index f98815c1a..bb1279b2c 100644 --- a/Flow.Launcher.Core/ExternalPlugins/UserPlugin.cs +++ b/Flow.Launcher.Core/ExternalPlugins/UserPlugin.cs @@ -1,4 +1,6 @@ -namespace Flow.Launcher.Core.ExternalPlugins +using System; + +namespace Flow.Launcher.Core.ExternalPlugins { public record UserPlugin { @@ -12,5 +14,8 @@ public string UrlDownload { get; set; } public string UrlSourceCode { get; set; } public string IcoPath { get; set; } + public DateTime LatestReleaseDate { get; set; } + public DateTime DateAdded { get; set; } + } } diff --git a/Flow.Launcher.Core/Flow.Launcher.Core.csproj b/Flow.Launcher.Core/Flow.Launcher.Core.csproj index be7b88a27..7d18c467b 100644 --- a/Flow.Launcher.Core/Flow.Launcher.Core.csproj +++ b/Flow.Launcher.Core/Flow.Launcher.Core.csproj @@ -1,7 +1,7 @@  - net5.0-windows + net6.0-windows true true Library @@ -54,9 +54,9 @@ - + - + diff --git a/Flow.Launcher.Core/Plugin/JsonPRCModel.cs b/Flow.Launcher.Core/Plugin/JsonPRCModel.cs index cf75e4aa3..e937779a1 100644 --- a/Flow.Launcher.Core/Plugin/JsonPRCModel.cs +++ b/Flow.Launcher.Core/Plugin/JsonPRCModel.cs @@ -93,4 +93,4 @@ namespace Flow.Launcher.Core.Plugin public Dictionary SettingsChange { get; set; } } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Core/Plugin/JsonRPCPlugin.cs b/Flow.Launcher.Core/Plugin/JsonRPCPlugin.cs index 4cfa83382..e3efcd296 100644 --- a/Flow.Launcher.Core/Plugin/JsonRPCPlugin.cs +++ b/Flow.Launcher.Core/Plugin/JsonRPCPlugin.cs @@ -1,33 +1,27 @@ -using Accessibility; -using Flow.Launcher.Core.Resource; +using Flow.Launcher.Core.Resource; using Flow.Launcher.Infrastructure; using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; -using System.Reflection; +using System.Text; using System.Text.Json; using System.Threading; using System.Threading.Tasks; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin; -using ICSharpCode.SharpZipLib.Zip; -using JetBrains.Annotations; using Microsoft.IO; -using System.Text.Json.Serialization; using System.Windows; using System.Windows.Controls; using YamlDotNet.Serialization; using YamlDotNet.Serialization.NamingConventions; using CheckBox = System.Windows.Controls.CheckBox; using Control = System.Windows.Controls.Control; -using Label = System.Windows.Controls.Label; using Orientation = System.Windows.Controls.Orientation; using TextBox = System.Windows.Controls.TextBox; using UserControl = System.Windows.Controls.UserControl; -using System.Windows.Data; namespace Flow.Launcher.Core.Plugin { @@ -69,7 +63,13 @@ namespace Flow.Launcher.Core.Plugin private static readonly JsonSerializerOptions options = new() { PropertyNameCaseInsensitive = true, +#pragma warning disable SYSLIB0020 + // IgnoreNullValues is obsolete, but the replacement JsonIgnoreCondition.WhenWritingNull still + // deserializes null, instead of ignoring it and leaving the default (empty list). We can change the behaviour + // to accept null and fallback to a default etc, or just keep IgnoreNullValues for now + // see: https://github.com/dotnet/runtime/issues/39152 IgnoreNullValues = true, +#pragma warning restore SYSLIB0020 // Type or member is obsolete Converters = { new JsonObjectConverter() @@ -82,16 +82,19 @@ namespace Flow.Launcher.Core.Plugin }; private Dictionary Settings { get; set; } - private Dictionary _settingControls = new(); + private readonly Dictionary _settingControls = new(); private async Task> DeserializedResultAsync(Stream output) { - if (output == Stream.Null) return null; + await using (output) + { + if (output == Stream.Null) return null; - var queryResponseModel = - await JsonSerializer.DeserializeAsync(output, options); + var queryResponseModel = + await JsonSerializer.DeserializeAsync(output, options); - return ParseResults(queryResponseModel); + return ParseResults(queryResponseModel); + } } private List DeserializedResult(string output) @@ -115,7 +118,7 @@ namespace Flow.Launcher.Core.Plugin foreach (var result in queryResponseModel.Result) { - result.Action = c => + result.AsyncAction = async c => { UpdateSettings(result.SettingsChange); @@ -133,15 +136,15 @@ namespace Flow.Launcher.Core.Plugin } else { - var actionResponse = Request(result.JsonRPCAction); + await using var actionResponse = await RequestAsync(result.JsonRPCAction); - if (string.IsNullOrEmpty(actionResponse)) + if (actionResponse.Length == 0) { return !result.JsonRPCAction.DontHideAfterAction; } - var jsonRpcRequestModel = - JsonSerializer.Deserialize(actionResponse, options); + var jsonRpcRequestModel = await + JsonSerializer.DeserializeAsync(actionResponse, options); if (jsonRpcRequestModel?.Method?.StartsWith("Flow.Launcher.") ?? false) { @@ -166,19 +169,20 @@ namespace Flow.Launcher.Core.Plugin private void ExecuteFlowLauncherAPI(string method, object[] parameters) { var parametersTypeArray = parameters.Select(param => param.GetType()).ToArray(); - MethodInfo methodInfo = PluginManager.API.GetType().GetMethod(method, parametersTypeArray); - if (methodInfo != null) + var methodInfo = typeof(IPublicAPI).GetMethod(method, parametersTypeArray); + if (methodInfo == null) + { + return; + } + try + { + methodInfo.Invoke(PluginManager.API, parameters); + } + catch (Exception) { - try - { - methodInfo.Invoke(PluginManager.API, parameters); - } - catch (Exception) - { #if (DEBUG) - throw; + throw; #endif - } } } @@ -240,73 +244,55 @@ namespace Flow.Launcher.Core.Plugin protected async Task ExecuteAsync(ProcessStartInfo startInfo, CancellationToken token = default) { - Process process = null; - bool disposed = false; + using var process = Process.Start(startInfo); + if (process == null) + { + Log.Error("|JsonRPCPlugin.ExecuteAsync|Can't start new process"); + return Stream.Null; + } + + var sourceBuffer = BufferManager.GetStream(); + using var errorBuffer = BufferManager.GetStream(); + + var sourceCopyTask = process.StandardOutput.BaseStream.CopyToAsync(sourceBuffer, token); + var errorCopyTask = process.StandardError.BaseStream.CopyToAsync(errorBuffer, token); + + await using var registeredEvent = token.Register(() => + { + if (!process.HasExited) + process.Kill(); + sourceBuffer.Dispose(); + }); + try { - process = Process.Start(startInfo); - if (process == null) - { - Log.Error("|JsonRPCPlugin.ExecuteAsync|Can't start new process"); - return Stream.Null; - } - - await using var source = process.StandardOutput.BaseStream; - - var buffer = BufferManager.GetStream(); - - token.Register(() => - { - // ReSharper disable once AccessToModifiedClosure - // Manually Check whether disposed - if (!disposed && !process.HasExited) - process.Kill(); - }); - - try - { - // token expire won't instantly trigger the exception, - // manually kill process at before - await source.CopyToAsync(buffer, token); - } - catch (OperationCanceledException) - { - await buffer.DisposeAsync(); - return Stream.Null; - } - - buffer.Seek(0, SeekOrigin.Begin); - - token.ThrowIfCancellationRequested(); - - if (buffer.Length == 0) - { - var errorMessage = process.StandardError.EndOfStream ? - "Empty JSONRPC Response" : - await process.StandardError.ReadToEndAsync(); - throw new InvalidDataException($"{context.CurrentPluginMetadata.Name}|{errorMessage}"); - } - - if (!process.StandardError.EndOfStream) - { - using var standardError = process.StandardError; - var error = await standardError.ReadToEndAsync(); - - if (!string.IsNullOrEmpty(error)) - { - Log.Error($"|{context.CurrentPluginMetadata.Name}.{nameof(ExecuteAsync)}|{error}"); - } - } - - return buffer; + // token expire won't instantly trigger the exception, + // manually kill process at before + await process.WaitForExitAsync(token); + await Task.WhenAll(sourceCopyTask, errorCopyTask); } - finally + catch (OperationCanceledException) { - process?.Dispose(); - disposed = true; + await sourceBuffer.DisposeAsync(); + return Stream.Null; } + + switch (sourceBuffer.Length, errorBuffer.Length) + { + case (0, 0): + const string errorMessage = "Empty JSON-RPC Response."; + Log.Warn($"|{nameof(JsonRPCPlugin)}.{nameof(ExecuteAsync)}|{errorMessage}"); + break; + case (_, not 0): + throw new InvalidDataException(Encoding.UTF8.GetString(errorBuffer.ToArray())); // The process has exited with an error message + } + + sourceBuffer.Seek(0, SeekOrigin.Begin); + + return sourceBuffer; } + public async Task> QueryAsync(Query query, CancellationToken token) { var request = new JsonRPCRequestModel @@ -358,6 +344,7 @@ namespace Flow.Launcher.Core.Plugin private static readonly Thickness settingPanelMargin = new(15, 20, 15, 20); private static readonly Thickness settingTextBlockMargin = new(10, 4, 10, 4); private JsonRpcConfigurationModel _settingsTemplate; + public Control CreateSettingPanel() { if (Settings == null) @@ -365,8 +352,7 @@ namespace Flow.Launcher.Core.Plugin var settingWindow = new UserControl(); var mainPanel = new StackPanel { - Margin = settingPanelMargin, - Orientation = Orientation.Vertical + Margin = settingPanelMargin, Orientation = Orientation.Vertical }; settingWindow.Content = mainPanel; @@ -374,8 +360,7 @@ namespace Flow.Launcher.Core.Plugin { var panel = new StackPanel { - Orientation = Orientation.Horizontal, - Margin = settingControlMargin + Orientation = Orientation.Horizontal, Margin = settingControlMargin }; var name = new TextBlock() { @@ -391,84 +376,84 @@ namespace Flow.Launcher.Core.Plugin switch (type) { case "textBlock": + { + contentControl = new TextBlock { - contentControl = new TextBlock - { - Text = attribute.Description.Replace("\\r\\n", "\r\n"), - Margin = settingTextBlockMargin, - MaxWidth = 500, - TextWrapping = TextWrapping.WrapWithOverflow - }; - break; - } + Text = attribute.Description.Replace("\\r\\n", "\r\n"), + Margin = settingTextBlockMargin, + MaxWidth = 500, + TextWrapping = TextWrapping.WrapWithOverflow + }; + break; + } case "input": + { + var textBox = new TextBox() { - var textBox = new TextBox() - { - Width = 300, - Text = Settings[attribute.Name] as string ?? string.Empty, - Margin = settingControlMargin, - ToolTip = attribute.Description - }; - textBox.TextChanged += (_, _) => - { - Settings[attribute.Name] = textBox.Text; - }; - contentControl = textBox; - break; - } + Width = 300, + Text = Settings[attribute.Name] as string ?? string.Empty, + Margin = settingControlMargin, + ToolTip = attribute.Description + }; + textBox.TextChanged += (_, _) => + { + Settings[attribute.Name] = textBox.Text; + }; + contentControl = textBox; + break; + } case "textarea": + { + var textBox = new TextBox() { - var textBox = new TextBox() - { - Width = 300, - Height = 120, - Margin = settingControlMargin, - TextWrapping = TextWrapping.WrapWithOverflow, - AcceptsReturn = true, - Text = Settings[attribute.Name] as string ?? string.Empty, - ToolTip = attribute.Description - }; - textBox.TextChanged += (sender, _) => - { - Settings[attribute.Name] = ((TextBox)sender).Text; - }; - contentControl = textBox; - break; - } + Width = 300, + Height = 120, + Margin = settingControlMargin, + TextWrapping = TextWrapping.WrapWithOverflow, + AcceptsReturn = true, + Text = Settings[attribute.Name] as string ?? string.Empty, + ToolTip = attribute.Description + }; + textBox.TextChanged += (sender, _) => + { + Settings[attribute.Name] = ((TextBox)sender).Text; + }; + contentControl = textBox; + break; + } case "passwordBox": + { + var passwordBox = new PasswordBox() { - var passwordBox = new PasswordBox() - { - Width = 300, - Margin = settingControlMargin, - Password = Settings[attribute.Name] as string ?? string.Empty, - PasswordChar = attribute.passwordChar == default ? '*' : attribute.passwordChar, - ToolTip = attribute.Description - }; - passwordBox.PasswordChanged += (sender, _) => - { - Settings[attribute.Name] = ((PasswordBox)sender).Password; - }; - contentControl = passwordBox; - break; - } + Width = 300, + Margin = settingControlMargin, + Password = Settings[attribute.Name] as string ?? string.Empty, + PasswordChar = attribute.passwordChar == default ? '*' : attribute.passwordChar, + ToolTip = attribute.Description + }; + passwordBox.PasswordChanged += (sender, _) => + { + Settings[attribute.Name] = ((PasswordBox)sender).Password; + }; + contentControl = passwordBox; + break; + } case "dropdown": + { + var comboBox = new ComboBox() { - var comboBox = new ComboBox() - { - ItemsSource = attribute.Options, - SelectedItem = Settings[attribute.Name], - Margin = settingControlMargin, - ToolTip = attribute.Description - }; - comboBox.SelectionChanged += (sender, _) => - { - Settings[attribute.Name] = (string)((ComboBox)sender).SelectedItem; - }; - contentControl = comboBox; - break; - } + ItemsSource = attribute.Options, + SelectedItem = Settings[attribute.Name], + Margin = settingControlMargin, + ToolTip = attribute.Description + }; + comboBox.SelectionChanged += (sender, _) => + { + Settings[attribute.Name] = (string)((ComboBox)sender).SelectedItem; + }; + contentControl = comboBox; + break; + } case "checkbox": var checkBox = new CheckBox { @@ -493,6 +478,7 @@ namespace Flow.Launcher.Core.Plugin } return settingWindow; } + public void Save() { if (Settings != null) @@ -535,4 +521,5 @@ namespace Flow.Launcher.Core.Plugin } } } -} \ No newline at end of file + +} diff --git a/Flow.Launcher.Core/Plugin/PluginManager.cs b/Flow.Launcher.Core/Plugin/PluginManager.cs index 134c3c002..3b4a6e445 100644 --- a/Flow.Launcher.Core/Plugin/PluginManager.cs +++ b/Flow.Launcher.Core/Plugin/PluginManager.cs @@ -1,4 +1,5 @@ -using System; +using Flow.Launcher.Core.ExternalPlugins; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; @@ -74,7 +75,7 @@ namespace Flow.Launcher.Core.Plugin } } - public static async Task ReloadData() + public static async Task ReloadDataAsync() { await Task.WhenAll(AllPlugins.Select(plugin => plugin.Plugin switch { @@ -109,7 +110,7 @@ namespace Flow.Launcher.Core.Plugin /// Call initialize for all plugins /// /// return the list of failed to init plugins or null for none - public static async Task InitializePlugins(IPublicAPI api) + public static async Task InitializePluginsAsync(IPublicAPI api) { API = api; var failedPlugins = new ConcurrentQueue(); @@ -165,30 +166,28 @@ namespace Flow.Launcher.Core.Plugin public static ICollection ValidPluginsForQuery(Query query) { - if (NonGlobalPlugins.ContainsKey(query.ActionKeyword)) - { - var plugin = NonGlobalPlugins[query.ActionKeyword]; - return new List - { - plugin - }; - } - else - { + if (query is null) + return Array.Empty(); + + if (!NonGlobalPlugins.ContainsKey(query.ActionKeyword)) return GlobalPlugins; - } + + + var plugin = NonGlobalPlugins[query.ActionKeyword]; + return new List + { + plugin + }; } public static async Task> QueryForPluginAsync(PluginPair pair, Query query, CancellationToken token) { var results = new List(); + var metadata = pair.Metadata; + try { - var metadata = pair.Metadata; - - long milliseconds = -1L; - - milliseconds = await Stopwatch.DebugAsync($"|PluginManager.QueryForPlugin|Cost for {metadata.Name}", + var milliseconds = await Stopwatch.DebugAsync($"|PluginManager.QueryForPlugin|Cost for {metadata.Name}", async () => results = await pair.Plugin.QueryAsync(query, token).ConfigureAwait(false)); token.ThrowIfCancellationRequested(); @@ -206,7 +205,10 @@ namespace Flow.Launcher.Core.Plugin // null will be fine since the results will only be added into queue if the token hasn't been cancelled return null; } - + catch (Exception e) + { + throw new FlowPluginException(metadata, e); + } return results; } @@ -327,4 +329,4 @@ namespace Flow.Launcher.Core.Plugin } } } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Core/Plugin/PluginsLoader.cs b/Flow.Launcher.Core/Plugin/PluginsLoader.cs index b3d56221a..752174263 100644 --- a/Flow.Launcher.Core/Plugin/PluginsLoader.cs +++ b/Flow.Launcher.Core/Plugin/PluginsLoader.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -11,7 +11,6 @@ using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin; using Flow.Launcher.Plugin.SharedCommands; -using System.Diagnostics; using Stopwatch = Flow.Launcher.Infrastructure.Stopwatch; namespace Flow.Launcher.Core.Plugin @@ -41,14 +40,6 @@ namespace Flow.Launcher.Core.Plugin var milliseconds = Stopwatch.Debug( $"|PluginsLoader.DotNetPlugins|Constructor init cost for {metadata.Name}", () => { -#if DEBUG - var assemblyLoader = new PluginAssemblyLoader(metadata.ExecuteFilePath); - var assembly = assemblyLoader.LoadAssemblyAndDependencies(); - var type = assemblyLoader.FromAssemblyGetTypeOfInterface(assembly, - typeof(IAsyncPlugin)); - - var plugin = Activator.CreateInstance(type) as IAsyncPlugin; -#else Assembly assembly = null; IAsyncPlugin plugin = null; @@ -62,6 +53,12 @@ namespace Flow.Launcher.Core.Plugin plugin = Activator.CreateInstance(type) as IAsyncPlugin; } +#if DEBUG + catch (Exception e) + { + throw; + } +#else catch (Exception e) when (assembly == null) { Log.Exception($"|PluginsLoader.DotNetPlugins|Couldn't load assembly for the plugin: {metadata.Name}", e); @@ -79,6 +76,7 @@ namespace Flow.Launcher.Core.Plugin Log.Exception($"|PluginsLoader.DotNetPlugins|The following plugin has errored and can not be loaded: <{metadata.Name}>", e); } #endif + if (plugin == null) { erroredPlugins.Add(metadata.Name); @@ -98,7 +96,7 @@ namespace Flow.Launcher.Core.Plugin + (erroredPlugins.Count > 1 ? "plugins have " : "plugin has ") + "errored and cannot be loaded:"; - Task.Run(() => + _ = Task.Run(() => { MessageBox.Show($"{errorMessage}{Environment.NewLine}{Environment.NewLine}" + $"{errorPluginString}{Environment.NewLine}{Environment.NewLine}" + diff --git a/Flow.Launcher.Core/Plugin/QueryBuilder.cs b/Flow.Launcher.Core/Plugin/QueryBuilder.cs index ef387b693..a819f94b7 100644 --- a/Flow.Launcher.Core/Plugin/QueryBuilder.cs +++ b/Flow.Launcher.Core/Plugin/QueryBuilder.cs @@ -16,7 +16,7 @@ namespace Flow.Launcher.Core.Plugin return null; } - var rawQuery = string.Join(Query.TermSeparator, terms); + var rawQuery = text; string actionKeyword, search; string possibleActionKeyword = terms[0]; string[] searchTerms; @@ -24,13 +24,13 @@ namespace Flow.Launcher.Core.Plugin if (nonGlobalPlugins.TryGetValue(possibleActionKeyword, out var pluginPair) && !pluginPair.Metadata.Disabled) { // use non global plugin for query actionKeyword = possibleActionKeyword; - search = terms.Length > 1 ? rawQuery[(actionKeyword.Length + 1)..] : string.Empty; + search = terms.Length > 1 ? rawQuery[(actionKeyword.Length + 1)..].TrimStart() : string.Empty; searchTerms = terms[1..]; } else { // non action keyword actionKeyword = string.Empty; - search = rawQuery; + search = rawQuery.TrimStart(); searchTerms = terms; } diff --git a/Flow.Launcher.Core/Properties/AssemblyInfo.cs b/Flow.Launcher.Core/Properties/AssemblyInfo.cs index 40017c46c..ad60e2c9f 100644 --- a/Flow.Launcher.Core/Properties/AssemblyInfo.cs +++ b/Flow.Launcher.Core/Properties/AssemblyInfo.cs @@ -1,3 +1,3 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Flow.Launcher.Test")] \ No newline at end of file +[assembly: InternalsVisibleTo("Flow.Launcher.Test")] diff --git a/Flow.Launcher.Core/Resource/Internationalization.cs b/Flow.Launcher.Core/Resource/Internationalization.cs index 374f7c71f..5c99bc239 100644 --- a/Flow.Launcher.Core/Resource/Internationalization.cs +++ b/Flow.Launcher.Core/Resource/Internationalization.cs @@ -99,7 +99,7 @@ namespace Flow.Launcher.Core.Resource Settings.Language = language.LanguageCode; CultureInfo.CurrentCulture = new CultureInfo(language.LanguageCode); CultureInfo.CurrentUICulture = CultureInfo.CurrentCulture; - Task.Run(() => + _ = Task.Run(() => { UpdatePluginMetadataTranslations(); }); @@ -182,6 +182,7 @@ namespace Flow.Launcher.Core.Resource { p.Metadata.Name = pluginI18N.GetTranslatedPluginTitle(); p.Metadata.Description = pluginI18N.GetTranslatedPluginDescription(); + pluginI18N.OnCultureInfoChanged(CultureInfo.CurrentCulture); } catch (Exception e) { diff --git a/Flow.Launcher.Core/Resource/Theme.cs b/Flow.Launcher.Core/Resource/Theme.cs index 6561419a1..872c4543e 100644 --- a/Flow.Launcher.Core/Resource/Theme.cs +++ b/Flow.Launcher.Core/Resource/Theme.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -17,7 +17,7 @@ namespace Flow.Launcher.Core.Resource { public class Theme { - private const int ShadowExtraMargin = 12; + private const int ShadowExtraMargin = 32; private readonly List _themeDirectories = new List(); private ResourceDictionary _oldResource; @@ -85,10 +85,13 @@ namespace Flow.Launcher.Core.Resource Settings.Theme = theme; + // reload all resources even if the theme itself hasn't changed in order to pickup changes + // to things like fonts + UpdateResourceDictionary(GetResourceDictionary()); + //always allow re-loading default theme, in case of failure of switching to a new theme from default theme if (_oldTheme != theme || theme == defaultTheme) { - UpdateResourceDictionary(GetResourceDictionary()); _oldTheme = Path.GetFileNameWithoutExtension(_oldResource.Source.AbsolutePath); } @@ -99,7 +102,7 @@ namespace Flow.Launcher.Core.Resource SetBlurForWindow(); } - catch (DirectoryNotFoundException e) + catch (DirectoryNotFoundException) { Log.Error($"|Theme.ChangeTheme|Theme <{theme}> path can't be found"); if (theme != defaultTheme) @@ -109,7 +112,7 @@ namespace Flow.Launcher.Core.Resource } return false; } - catch (XamlParseException e) + catch (XamlParseException) { Log.Error($"|Theme.ChangeTheme|Theme <{theme}> fail to parse"); if (theme != defaultTheme) @@ -235,9 +238,10 @@ namespace Flow.Launcher.Core.Resource Property = Border.EffectProperty, Value = new DropShadowEffect { - Opacity = 0.4, - ShadowDepth = 2, - BlurRadius = 15 + Opacity = 0.3, + ShadowDepth = 12, + Direction = 270, + BlurRadius = 30 } }; @@ -247,7 +251,7 @@ namespace Flow.Launcher.Core.Resource marginSetter = new Setter() { Property = Border.MarginProperty, - Value = new Thickness(ShadowExtraMargin), + Value = new Thickness(ShadowExtraMargin, 12, ShadowExtraMargin, ShadowExtraMargin), }; windowBorderStyle.Setters.Add(marginSetter); } diff --git a/Flow.Launcher.Core/Updater.cs b/Flow.Launcher.Core/Updater.cs index 69b537b39..bad0344eb 100644 --- a/Flow.Launcher.Core/Updater.cs +++ b/Flow.Launcher.Core/Updater.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Net; using System.Net.Http; @@ -40,7 +40,7 @@ namespace Flow.Launcher.Core api.ShowMsg(api.GetTranslation("pleaseWait"), api.GetTranslation("update_flowlauncher_update_check")); - using var updateManager = await GitHubUpdateManager(GitHubRepository).ConfigureAwait(false); + using var updateManager = await GitHubUpdateManagerAsync(GitHubRepository).ConfigureAwait(false); // UpdateApp CheckForUpdate will return value only if the app is squirrel installed var newUpdateInfo = await updateManager.CheckForUpdate().NonNull().ConfigureAwait(false); @@ -115,7 +115,7 @@ namespace Flow.Launcher.Core } /// https://github.com/Squirrel/Squirrel.Windows/blob/master/src/Squirrel/UpdateManager.Factory.cs - private async Task GitHubUpdateManager(string repository) + private async Task GitHubUpdateManagerAsync(string repository) { var uri = new Uri(repository); var api = $"https://api.github.com/repos{uri.AbsolutePath}/releases"; @@ -141,8 +141,9 @@ namespace Flow.Launcher.Core { var translater = InternationalizationManager.Instance; var tips = string.Format(translater.GetTranslation("newVersionTips"), version); + return tips; } } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs b/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs index 3849f6e30..40ac6b121 100644 --- a/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs +++ b/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs @@ -78,7 +78,7 @@ namespace Flow.Launcher.Infrastructure.Exception sb.AppendLine(); sb.AppendLine("## Assemblies - " + AppDomain.CurrentDomain.FriendlyName); sb.AppendLine(); - foreach (var ass in AppDomain.CurrentDomain.GetAssemblies().OrderBy(o => o.GlobalAssemblyCache ? 50 : 0)) + foreach (var ass in AppDomain.CurrentDomain.GetAssemblies()) { sb.Append("* "); sb.Append(ass.FullName); @@ -166,7 +166,7 @@ namespace Flow.Launcher.Infrastructure.Exception } return result; } - catch (System.Exception e) + catch { return new List(); } diff --git a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj index 40c2cb956..4a7bc20e3 100644 --- a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj +++ b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj @@ -1,7 +1,7 @@  - net5.0-windows + net6.0-windows {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3} Library true @@ -53,7 +53,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Flow.Launcher.Infrastructure/Image/ImageHashGenerator.cs b/Flow.Launcher.Infrastructure/Image/ImageHashGenerator.cs index 736133052..2611e99e8 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageHashGenerator.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageHashGenerator.cs @@ -14,30 +14,23 @@ namespace Flow.Launcher.Infrastructure.Image { public string GetHashFromImage(ImageSource imageSource) { - if (!(imageSource is BitmapSource image)) + if (imageSource is not BitmapSource image) { return null; } try { - using (var outStream = new MemoryStream()) - { - // PngBitmapEncoder enc2 = new PngBitmapEncoder(); - // enc2.Frames.Add(BitmapFrame.Create(tt)); - - var enc = new JpegBitmapEncoder(); - var bitmapFrame = BitmapFrame.Create(image); - bitmapFrame.Freeze(); - enc.Frames.Add(bitmapFrame); - enc.Save(outStream); - var byteArray = outStream.GetBuffer(); - using (var sha1 = new SHA1CryptoServiceProvider()) - { - var hash = Convert.ToBase64String(sha1.ComputeHash(byteArray)); - return hash; - } - } + using var outStream = new MemoryStream(); + var enc = new JpegBitmapEncoder(); + var bitmapFrame = BitmapFrame.Create(image); + bitmapFrame.Freeze(); + enc.Frames.Add(bitmapFrame); + enc.Save(outStream); + var byteArray = outStream.GetBuffer(); + using var sha1 = SHA1.Create(); + var hash = Convert.ToBase64String(sha1.ComputeHash(byteArray)); + return hash; } catch { @@ -46,4 +39,4 @@ namespace Flow.Launcher.Infrastructure.Image } } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index ac333d567..11f66c8af 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; @@ -13,11 +13,11 @@ namespace Flow.Launcher.Infrastructure.Image { public static class ImageLoader { - private static readonly ImageCache ImageCache = new ImageCache(); + private static readonly ImageCache ImageCache = new(); private static BinaryStorage> _storage; - private static readonly ConcurrentDictionary GuidToKey = new ConcurrentDictionary(); + private static readonly ConcurrentDictionary GuidToKey = new(); private static IImageHashGenerator _hashGenerator; - private static bool EnableImageHash = true; + private static readonly bool EnableImageHash = true; public static ImageSource DefaultImage { get; } = new BitmapImage(new Uri(Constant.MissingImgIcon)); @@ -46,7 +46,7 @@ namespace Flow.Launcher.Infrastructure.Image ImageCache[icon] = img; } - Task.Run(() => + _ = Task.Run(() => { Stopwatch.Normal("|ImageLoader.Initialize|Preload images cost", () => { @@ -243,7 +243,6 @@ namespace Flow.Launcher.Infrastructure.Image ImageCache[path] = img; } - return img; } @@ -253,6 +252,7 @@ namespace Flow.Launcher.Infrastructure.Image image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = new Uri(path); + image.CreateOptions = BitmapCreateOptions.IgnoreColorProfile; image.EndInit(); return image; } diff --git a/Flow.Launcher.Infrastructure/Properties/AssemblyInfo.cs b/Flow.Launcher.Infrastructure/Properties/AssemblyInfo.cs index 4cdadffc9..3c29d0dcb 100644 --- a/Flow.Launcher.Infrastructure/Properties/AssemblyInfo.cs +++ b/Flow.Launcher.Infrastructure/Properties/AssemblyInfo.cs @@ -2,4 +2,5 @@ [assembly: InternalsVisibleTo("Flow.Launcher")] [assembly: InternalsVisibleTo("Flow.Launcher.Core")] -[assembly: InternalsVisibleTo("Flow.Launcher.Test")] \ No newline at end of file +[assembly: InternalsVisibleTo("Flow.Launcher.Test")] +[assembly: System.Runtime.Versioning.SupportedOSPlatform("Windows10.0.19041.0")] diff --git a/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs b/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs index 5205543b1..ea2d42773 100644 --- a/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs +++ b/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs @@ -9,6 +9,7 @@ using Flow.Launcher.Infrastructure.UserSettings; namespace Flow.Launcher.Infrastructure.Storage { +#pragma warning disable SYSLIB0011 // BinaryFormatter is obsolete. /// /// Stroage object using binary data /// Normally, it has better performance, but not readable @@ -113,4 +114,5 @@ namespace Flow.Launcher.Infrastructure.Storage } } } +#pragma warning restore SYSLIB0011 } diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs index 2dd7a4fe9..85a975275 100644 --- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs +++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Drawing; @@ -42,8 +42,17 @@ namespace Flow.Launcher.Infrastructure.UserSettings public bool UseGlyphIcons { get; set; } = true; public bool UseAnimation { get; set; } = true; public bool UseSound { get; set; } = true; + public bool UseClock { get; set; } = true; + public bool UseDate { get; set; } = false; + public string TimeFormat { get; set; } = "hh:mm tt"; + public string DateFormat { get; set; } = "MM'/'dd ddd"; public bool FirstLaunch { get; set; } = true; + public double SettingWindowWidth { get; set; } = 1000; + public double SettingWindowHeight { get; set; } = 700; + public double SettingWindowTop { get; set; } + public double SettingWindowLeft { get; set; } + public int CustomExplorerIndex { get; set; } = 0; [JsonIgnore] @@ -201,7 +210,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings } public bool LeaveCmdOpen { get; set; } public bool HideWhenDeactive { get; set; } = true; - public bool RememberLastLaunchLocation { get; set; } + public SearchWindowPositions SearchWindowPosition { get; set; } = SearchWindowPositions.MouseScreenCenter; public bool IgnoreHotkeysOnFullscreen { get; set; } public HttpProxy Proxy { get; set; } = new HttpProxy(); @@ -227,4 +236,12 @@ namespace Flow.Launcher.Infrastructure.UserSettings Light, Dark } + public enum SearchWindowPositions + { + RememberLastLaunchLocation, + MouseScreenCenter, + MouseScreenCenterTop, + MouseScreenLeftTop, + MouseScreenRightTop + } } diff --git a/Flow.Launcher.Plugin/AllowedLanguage.cs b/Flow.Launcher.Plugin/AllowedLanguage.cs index 827958a7b..94c645d27 100644 --- a/Flow.Launcher.Plugin/AllowedLanguage.cs +++ b/Flow.Launcher.Plugin/AllowedLanguage.cs @@ -1,33 +1,58 @@ namespace Flow.Launcher.Plugin { + /// + /// Allowed plugin languages + /// public static class AllowedLanguage { + /// + /// Python + /// public static string Python { get { return "PYTHON"; } } + /// + /// C# + /// public static string CSharp { get { return "CSHARP"; } } + /// + /// F# + /// public static string FSharp { get { return "FSHARP"; } } + /// + /// Standard .exe + /// public static string Executable { get { return "EXECUTABLE"; } } + /// + /// Determines if this language is a .NET language + /// + /// + /// public static bool IsDotNet(string language) { return language.ToUpper() == CSharp || language.ToUpper() == FSharp; } + /// + /// Determines if this language is supported + /// + /// + /// public static bool IsAllowed(string language) { return IsDotNet(language) @@ -35,4 +60,4 @@ || language.ToUpper() == Executable.ToUpper(); } } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Plugin/BaseModel.cs b/Flow.Launcher.Plugin/BaseModel.cs index 5bb558702..a4d666ced 100644 --- a/Flow.Launcher.Plugin/BaseModel.cs +++ b/Flow.Launcher.Plugin/BaseModel.cs @@ -4,14 +4,24 @@ using JetBrains.Annotations; namespace Flow.Launcher.Plugin { + /// + /// Base model for plugin classes + /// public class BaseModel : INotifyPropertyChanged { + /// + /// Property changed event handler + /// public event PropertyChangedEventHandler PropertyChanged; + /// + /// Invoked when a property changes + /// + /// [NotifyPropertyChangedInvocator] protected void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Plugin/EventHandler.cs b/Flow.Launcher.Plugin/EventHandler.cs index 476668584..009e1721c 100644 --- a/Flow.Launcher.Plugin/EventHandler.cs +++ b/Flow.Launcher.Plugin/EventHandler.cs @@ -3,9 +3,24 @@ using System.Windows.Input; namespace Flow.Launcher.Plugin { + /// + /// Delegate for key down event + /// + /// public delegate void FlowLauncherKeyDownEventHandler(FlowLauncherKeyDownEventArgs e); + + /// + /// Delegate for query event + /// + /// public delegate void AfterFlowLauncherQueryEventHandler(FlowLauncherQueryEventArgs e); + /// + /// Delegate for drop events [unused?] + /// + /// + /// + /// public delegate void ResultItemDropEventHandler(Result result, IDataObject dropObject, DragEventArgs e); /// @@ -17,14 +32,30 @@ namespace Flow.Launcher.Plugin /// return true to continue handling, return false to intercept system handling public delegate bool FlowLauncherGlobalKeyboardEventHandler(int keyevent, int vkcode, SpecialKeyState state); + /// + /// Arguments container for the Key Down event + /// public class FlowLauncherKeyDownEventArgs { + /// + /// The actual query + /// public string Query { get; set; } + + /// + /// Relevant key events for this event + /// public KeyEventArgs keyEventArgs { get; set; } } + /// + /// Arguments container for the Query event + /// public class FlowLauncherQueryEventArgs { + /// + /// The actual query + /// public Query Query { get; set; } } } diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index 6bab0583d..41072993c 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -1,7 +1,7 @@ - net5.0-windows + net6.0-windows {8451ECDD-2EA4-4966-BB0A-7BBC40138E80} true Library @@ -14,10 +14,10 @@ - 2.1.1 - 2.1.1 - 2.1.1 - 2.1.1 + 3.0.0 + 3.0.0 + 3.0.0 + 3.0.0 Flow.Launcher.Plugin Flow-Launcher MIT diff --git a/Flow.Launcher.Plugin/Interfaces/IAsyncReloadable.cs b/Flow.Launcher.Plugin/Interfaces/IAsyncReloadable.cs index bd4500a7e..3d5f44a0d 100644 --- a/Flow.Launcher.Plugin/Interfaces/IAsyncReloadable.cs +++ b/Flow.Launcher.Plugin/Interfaces/IAsyncReloadable.cs @@ -15,6 +15,10 @@ namespace Flow.Launcher.Plugin /// public interface IAsyncReloadable : IFeatures { + /// + /// Reload plugin data + /// + /// Task ReloadDataAsync(); } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs b/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs index 69057820e..41d062570 100644 --- a/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs +++ b/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs @@ -1,7 +1,8 @@ -using Flow.Launcher.Plugin.SharedModels; +using Flow.Launcher.Plugin.SharedModels; using JetBrains.Annotations; using System; using System.Collections.Generic; +using System.ComponentModel; using System.IO; using System.Runtime.CompilerServices; using System.Threading; @@ -41,7 +42,7 @@ namespace Flow.Launcher.Plugin /// /// Copy Text to clipboard /// - /// Text to save on clipboard + /// Text to save on clipboard public void CopyToClipboard(string text); /// @@ -163,6 +164,7 @@ namespace Flow.Launcher.Plugin /// Download the specific url to a cretain file path /// /// URL to download file + /// path to save downloaded file /// place to store file /// Task showing the progress Task HttpDownloadAsync([NotNull] string url, [NotNull] string filePath, CancellationToken token = default); @@ -178,7 +180,7 @@ namespace Flow.Launcher.Plugin /// Remove ActionKeyword for specific plugin /// /// ID for plugin that needs to remove action keyword - /// The actionkeyword that is supposed to be removed + /// The actionkeyword that is supposed to be removed void RemoveActionKeyword(string pluginId, string oldActionKeyword); /// diff --git a/Flow.Launcher.Plugin/Interfaces/IReloadable.cs b/Flow.Launcher.Plugin/Interfaces/IReloadable.cs index bd1ad406e..707f8d92c 100644 --- a/Flow.Launcher.Plugin/Interfaces/IReloadable.cs +++ b/Flow.Launcher.Plugin/Interfaces/IReloadable.cs @@ -17,6 +17,9 @@ /// public interface IReloadable : IFeatures { + /// + /// Synchronously reload plugin data + /// void ReloadData(); } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Plugin/Properties/AssemblyInfo.cs b/Flow.Launcher.Plugin/Properties/AssemblyInfo.cs index 4cdadffc9..0a602a472 100644 --- a/Flow.Launcher.Plugin/Properties/AssemblyInfo.cs +++ b/Flow.Launcher.Plugin/Properties/AssemblyInfo.cs @@ -2,4 +2,4 @@ [assembly: InternalsVisibleTo("Flow.Launcher")] [assembly: InternalsVisibleTo("Flow.Launcher.Core")] -[assembly: InternalsVisibleTo("Flow.Launcher.Test")] \ No newline at end of file +[assembly: InternalsVisibleTo("Flow.Launcher.Test")] diff --git a/Flow.Launcher.Plugin/Query.cs b/Flow.Launcher.Plugin/Query.cs index 3fcf3c1d7..95547d273 100644 --- a/Flow.Launcher.Plugin/Query.cs +++ b/Flow.Launcher.Plugin/Query.cs @@ -16,7 +16,9 @@ namespace Flow.Launcher.Plugin { Search = search; RawQuery = rawQuery; +#pragma warning disable CS0618 Terms = terms; +#pragma warning restore CS0618 SearchTerms = searchTerms; ActionKeyword = actionKeyword; } @@ -98,4 +100,4 @@ namespace Flow.Launcher.Plugin public override string ToString() => RawQuery; } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Plugin/Result.cs b/Flow.Launcher.Plugin/Result.cs index 4a5eb39af..7633e34a7 100644 --- a/Flow.Launcher.Plugin/Result.cs +++ b/Flow.Launcher.Plugin/Result.cs @@ -1,11 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.IO; +using System.Threading.Tasks; using System.Windows.Media; namespace Flow.Launcher.Plugin { - + /// + /// Describes the result of a plugin + /// public class Result { @@ -63,7 +66,15 @@ namespace Flow.Launcher.Plugin } } } + /// + /// Determines if Icon has a border radius + /// + public bool RoundedIcon { get; set; } = false; + /// + /// Delegate function, see + /// + /// public delegate ImageSource IconDelegate(); /// @@ -85,6 +96,14 @@ namespace Flow.Launcher.Plugin /// public Func Action { get; set; } + /// + /// Delegate. An Async action to take in the form of a function call when the result has been selected + /// + /// true to hide flowlauncher after select result + /// + /// + public Func> AsyncAction { get; set; } + /// /// Priority of the current result /// default: 0 @@ -96,6 +115,9 @@ namespace Flow.Launcher.Plugin /// public IList TitleHighlightData { get; set; } + /// + /// Deprecated as of Flow Launcher v1.9.1. Subtitle highlighting is no longer offered + /// [Obsolete("Deprecated as of Flow Launcher v1.9.1. Subtitle highlighting is no longer offered")] public IList SubTitleHighlightData { get; set; } @@ -169,5 +191,26 @@ namespace Flow.Launcher.Plugin /// Show message as ToolTip on result SubTitle hover over /// public string SubTitleToolTip { get; set; } + + /// + /// Run this result, asynchronously + /// + /// + /// + public ValueTask ExecuteAsync(ActionContext context) + { + return AsyncAction?.Invoke(context) ?? ValueTask.FromResult(Action?.Invoke(context) ?? false); + } + + /// + /// Progress bar display. Providing an int value between 0-100 will trigger the progress bar to be displayed on the result + /// + public int? ProgressBar { get; set; } + + /// + /// Optionally set the color of the progress bar + /// + /// #26a0da (blue) + public string ProgressBarColor { get; set; } = "#26a0da"; } -} \ No newline at end of file +} diff --git a/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs b/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs index be33bd86c..5cb3a171a 100644 --- a/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs +++ b/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs @@ -5,6 +5,9 @@ using System.Windows; namespace Flow.Launcher.Plugin.SharedCommands { + /// + /// Commands that are useful to run on files... and folders! + /// public static class FilesFolders { private const string FileExplorerProgramName = "explorer"; @@ -53,10 +56,10 @@ namespace Flow.Launcher.Plugin.SharedCommands CopyAll(subdir.FullName, temppath); } } - catch (Exception e) + catch (Exception) { #if DEBUG - throw e; + throw; #else MessageBox.Show(string.Format("Copying path {0} has failed, it will now be deleted for consistency", targetPath)); RemoveFolderIfExists(targetPath); @@ -65,6 +68,13 @@ namespace Flow.Launcher.Plugin.SharedCommands } + /// + /// Check if the files and directories are identical between + /// and + /// + /// + /// + /// public static bool VerifyBothFolderFilesEqual(this string fromPath, string toPath) { try @@ -80,10 +90,10 @@ namespace Flow.Launcher.Plugin.SharedCommands return true; } - catch (Exception e) + catch (Exception) { #if DEBUG - throw e; + throw; #else MessageBox.Show(string.Format("Unable to verify folders and files between {0} and {1}", fromPath, toPath)); return false; @@ -92,6 +102,10 @@ namespace Flow.Launcher.Plugin.SharedCommands } + /// + /// Deletes a folder if it exists + /// + /// public static void RemoveFolderIfExists(this string path) { try @@ -99,26 +113,40 @@ namespace Flow.Launcher.Plugin.SharedCommands if (Directory.Exists(path)) Directory.Delete(path, true); } - catch (Exception e) + catch (Exception) { #if DEBUG - throw e; + throw; #else MessageBox.Show(string.Format("Not able to delete folder {0}, please go to the location and manually delete it", path)); #endif } } + /// + /// Checks if a directory exists + /// + /// + /// public static bool LocationExists(this string path) { return Directory.Exists(path); } + /// + /// Checks if a file exists + /// + /// + /// public static bool FileExists(this string filePath) { return File.Exists(filePath); } + /// + /// Open a directory window (using the OS's default handler, usually explorer) + /// + /// public static void OpenPath(string fileOrFolderPath) { var psi = new ProcessStartInfo { FileName = FileExplorerProgramName, UseShellExecute = true, Arguments = '"' + fileOrFolderPath + '"' }; @@ -127,16 +155,20 @@ namespace Flow.Launcher.Plugin.SharedCommands if (LocationExists(fileOrFolderPath) || FileExists(fileOrFolderPath)) Process.Start(psi); } - catch (Exception e) + catch (Exception) { #if DEBUG - throw e; + throw; #else MessageBox.Show(string.Format("Unable to open the path {0}, please check if it exists", fileOrFolderPath)); #endif } } + /// + /// Open the folder that contains + /// + /// public static void OpenContainingFolder(string path) { Process.Start(FileExplorerProgramEXE, $" /select,\"{path}\""); diff --git a/Flow.Launcher.Plugin/SharedCommands/ShellCommand.cs b/Flow.Launcher.Plugin/SharedCommands/ShellCommand.cs index a2eea19a7..c18f8b90c 100644 --- a/Flow.Launcher.Plugin/SharedCommands/ShellCommand.cs +++ b/Flow.Launcher.Plugin/SharedCommands/ShellCommand.cs @@ -1,6 +1,8 @@ -using System; +using System; using System.Collections.Generic; +using System.ComponentModel; using System.Diagnostics; +using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; @@ -87,7 +89,8 @@ namespace Flow.Launcher.Plugin.SharedCommands /// /// Runs a windows command using the provided ProcessStartInfo using a custom execute command function /// - /// allows you to pass in a custom command execution function + /// allows you to pass in a custom command execution function + /// allows you to pass in the info that will be passed to startProcess /// Thrown when unable to find the file specified in the command /// Thrown when error occurs during the execution of the command public static void Execute(Func startProcess, ProcessStartInfo info) diff --git a/Flow.Launcher.Test/Flow.Launcher.Test.csproj b/Flow.Launcher.Test/Flow.Launcher.Test.csproj index 8de0681c8..c4341288f 100644 --- a/Flow.Launcher.Test/Flow.Launcher.Test.csproj +++ b/Flow.Launcher.Test/Flow.Launcher.Test.csproj @@ -1,7 +1,7 @@  - net5.0-windows10.0.19041.0 + net6.0-windows10.0.19041.0 {FF742965-9A80-41A5-B042-D6C7D3A21708} Library Properties @@ -50,7 +50,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Flow.Launcher.Test/Plugins/ExplorerTest.cs b/Flow.Launcher.Test/Plugins/ExplorerTest.cs index 9d7fccad9..78be463e4 100644 --- a/Flow.Launcher.Test/Plugins/ExplorerTest.cs +++ b/Flow.Launcher.Test/Plugins/ExplorerTest.cs @@ -1,4 +1,4 @@ -using Flow.Launcher.Plugin; +using Flow.Launcher.Plugin; using Flow.Launcher.Plugin.Explorer; using Flow.Launcher.Plugin.Explorer.Search; using Flow.Launcher.Plugin.Explorer.Search.DirectoryInfo; @@ -19,10 +19,12 @@ namespace Flow.Launcher.Test.Plugins [TestFixture] public class ExplorerTest { +#pragma warning disable CS1998 // async method with no await (more readable to leave it async to match the tested signature) private async Task> MethodWindowsIndexSearchReturnsZeroResultsAsync(Query dummyQuery, string dummyString, CancellationToken dummyToken) { return new List(); } +#pragma warning restore CS1998 private List MethodDirectoryInfoClassSearchReturnsTwoResults(Query dummyQuery, string dummyString, CancellationToken token) { @@ -151,7 +153,7 @@ namespace Flow.Launcher.Test.Plugins } [TestCase] - public async Task GivenTopLevelDirectorySearch_WhenIndexSearchNotRequired_ThenSearchMethodShouldContinueDirectoryInfoClassSearch() + public async Task GivenTopLevelDirectorySearch_WhenIndexSearchNotRequired_ThenSearchMethodShouldContinueDirectoryInfoClassSearchAsync() { // Given var searchManager = new SearchManager(new Settings(), new PluginInitContext()); @@ -172,7 +174,7 @@ namespace Flow.Launcher.Test.Plugins } [TestCase] - public async Task GivenTopLevelDirectorySearch_WhenIndexSearchNotRequired_ThenSearchMethodShouldNotContinueDirectoryInfoClassSearch() + public async Task GivenTopLevelDirectorySearch_WhenIndexSearchNotRequired_ThenSearchMethodShouldNotContinueDirectoryInfoClassSearchAsync() { // Given var searchManager = new SearchManager(new Settings(), new PluginInitContext()); diff --git a/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs b/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs index 383650619..fb91c6388 100644 --- a/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs +++ b/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs @@ -48,7 +48,7 @@ namespace Flow.Launcher.Test.Plugins foreach (var result in results) { Assert.IsNotNull(result); - Assert.IsNotNull(result.Action); + Assert.IsNotNull(result.AsyncAction); Assert.IsNotNull(result.Title); } @@ -76,7 +76,7 @@ namespace Flow.Launcher.Test.Plugins [TestCaseSource(typeof(JsonRPCPluginTest), nameof(ResponseModelsSource))] public async Task GivenModel_WhenSerializeWithDifferentNamingPolicy_ThenExpectSameResult_Async(JsonRPCQueryResponseModel reference) { - var camelText = JsonSerializer.Serialize(reference, new() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); + var camelText = JsonSerializer.Serialize(reference, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); var pascalText = JsonSerializer.Serialize(reference); @@ -92,7 +92,7 @@ namespace Flow.Launcher.Test.Plugins Assert.AreEqual(result1, referenceResult); Assert.IsNotNull(result1); - Assert.IsNotNull(result1.Action); + Assert.IsNotNull(result1.AsyncAction); } } diff --git a/Flow.Launcher.Test/QueryBuilderTest.cs b/Flow.Launcher.Test/QueryBuilderTest.cs index 6090ecc65..45ff8fc9e 100644 --- a/Flow.Launcher.Test/QueryBuilderTest.cs +++ b/Flow.Launcher.Test/QueryBuilderTest.cs @@ -17,7 +17,7 @@ namespace Flow.Launcher.Test Query q = QueryBuilder.Build("> file.txt file2 file3", nonGlobalPlugins); - Assert.AreEqual("file.txt file2 file3", q.Search); + Assert.AreEqual("file.txt file2 file3", q.Search); Assert.AreEqual(">", q.ActionKeyword); } @@ -31,7 +31,7 @@ namespace Flow.Launcher.Test Query q = QueryBuilder.Build("> file.txt file2 file3", nonGlobalPlugins); - Assert.AreEqual("> file.txt file2 file3", q.Search); + Assert.AreEqual("> file.txt file2 file3", q.Search); } [Test] diff --git a/Flow.Launcher.sln b/Flow.Launcher.sln index b8deae553..f59d3d26f 100644 --- a/Flow.Launcher.sln +++ b/Flow.Launcher.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29806.167 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32901.215 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Test", "Flow.Launcher.Test\Flow.Launcher.Test.csproj", "{FF742965-9A80-41A5-B042-D6C7D3A21708}" ProjectSection(ProjectDependencies) = postProject @@ -43,6 +43,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.Url", EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FFD651C7-0546-441F-BC8C-D4EE8FD01EA7}" ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig .gitattributes = .gitattributes .gitignore = .gitignore appveyor.yml = appveyor.yml diff --git a/Flow.Launcher/ActionKeywords.xaml b/Flow.Launcher/ActionKeywords.xaml index e94aac9f6..740b0d402 100644 --- a/Flow.Launcher/ActionKeywords.xaml +++ b/Flow.Launcher/ActionKeywords.xaml @@ -58,7 +58,6 @@ throw new System.InvalidOperationException(); + } +} diff --git a/Flow.Launcher/Converters/OpenResultHotkeyVisibilityConverter.cs b/Flow.Launcher/Converters/OpenResultHotkeyVisibilityConverter.cs index e82fa959c..7586d1fcf 100644 --- a/Flow.Launcher/Converters/OpenResultHotkeyVisibilityConverter.cs +++ b/Flow.Launcher/Converters/OpenResultHotkeyVisibilityConverter.cs @@ -11,17 +11,17 @@ namespace Flow.Launcher.Converters [ValueConversion(typeof(bool), typeof(Visibility))] public class OpenResultHotkeyVisibilityConverter : IValueConverter { - private const int MaxVisibleHotkeys = 9; + private const int MaxVisibleHotkeys = 10; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - var hotkeyNumber = int.MaxValue; + var number = int.MaxValue; if (value is ListBoxItem listBoxItem && ItemsControl.ItemsControlFromItemContainer(listBoxItem) is ListBox listBox) - hotkeyNumber = listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem) + 1; + number = listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem) + 1; - return hotkeyNumber <= MaxVisibleHotkeys ? Visibility.Visible : Visibility.Collapsed; + return number <= MaxVisibleHotkeys ? Visibility.Visible : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new System.InvalidOperationException(); diff --git a/Flow.Launcher/Converters/OrdinalConverter.cs b/Flow.Launcher/Converters/OrdinalConverter.cs index f9fa220e3..0c716ac7e 100644 --- a/Flow.Launcher/Converters/OrdinalConverter.cs +++ b/Flow.Launcher/Converters/OrdinalConverter.cs @@ -10,7 +10,10 @@ namespace Flow.Launcher.Converters { if (value is ListBoxItem listBoxItem && ItemsControl.ItemsControlFromItemContainer(listBoxItem) is ListBox listBox) - return listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem) + 1; + { + var res = listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem) + 1; + return res == 10 ? 0 : res; // 10th item => HOTKEY+0 + } return 0; } diff --git a/Flow.Launcher/Converters/TextConverter.cs b/Flow.Launcher/Converters/TextConverter.cs new file mode 100644 index 000000000..90d445776 --- /dev/null +++ b/Flow.Launcher/Converters/TextConverter.cs @@ -0,0 +1,32 @@ +using System; +using System.Globalization; +using System.Windows.Data; +using Flow.Launcher.Core.Resource; +using Flow.Launcher.ViewModel; + +namespace Flow.Launcher.Converters +{ + public class TextConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var ID = value.ToString(); + switch(ID) + { + case PluginStoreItemViewModel.NewRelease: + return InternationalizationManager.Instance.GetTranslation("pluginStore_NewRelease"); + case PluginStoreItemViewModel.RecentlyUpdated: + return InternationalizationManager.Instance.GetTranslation("pluginStore_RecentlyUpdated"); + case PluginStoreItemViewModel.None: + return InternationalizationManager.Instance.GetTranslation("pluginStore_None"); + case PluginStoreItemViewModel.Installed: + return InternationalizationManager.Instance.GetTranslation("pluginStore_Installed"); + default: + return ID; + } + + } + + public object ConvertBack(object value, System.Type targetType, object parameter, CultureInfo culture) => throw new System.InvalidOperationException(); + } +} diff --git a/Flow.Launcher/CustomQueryHotkeySetting.xaml b/Flow.Launcher/CustomQueryHotkeySetting.xaml index 187f99d18..ddf0d0e45 100644 --- a/Flow.Launcher/CustomQueryHotkeySetting.xaml +++ b/Flow.Launcher/CustomQueryHotkeySetting.xaml @@ -64,7 +64,6 @@ WinExe - net5.0-windows10.0.19041.0 + net6.0-windows10.0.19041.0 true true Flow.Launcher.App @@ -83,6 +83,7 @@ + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -91,7 +92,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -114,4 +115,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Flow.Launcher/Helper/AutoStartup.cs b/Flow.Launcher/Helper/AutoStartup.cs new file mode 100644 index 000000000..956324020 --- /dev/null +++ b/Flow.Launcher/Helper/AutoStartup.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Flow.Launcher.Infrastructure; +using Flow.Launcher.Infrastructure.Logger; +using Microsoft.Win32; + +namespace Flow.Launcher.Helper +{ + public class AutoStartup + { + private const string StartupPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; + + public static bool IsEnabled + { + get + { + try + { + using var key = Registry.CurrentUser.OpenSubKey(StartupPath, true); + var path = key?.GetValue(Constant.FlowLauncher) as string; + return path == Constant.ExecutablePath; + } + catch (Exception e) + { + Log.Error("AutoStartup", $"Ignoring non-critical registry error (querying if enabled): {e}"); + } + + return false; + } + } + + public static void Disable() + { + try + { + using var key = Registry.CurrentUser.OpenSubKey(StartupPath, true); + key?.DeleteValue(Constant.FlowLauncher, false); + } + catch (Exception e) + { + Log.Error("AutoStartup", $"Failed to disable auto-startup: {e}"); + throw; + } + } + + internal static void Enable() + { + try + { + using var key = Registry.CurrentUser.OpenSubKey(StartupPath, true); + key?.SetValue(Constant.FlowLauncher, Constant.ExecutablePath); + } + catch (Exception e) + { + Log.Error("AutoStartup", $"Failed to enable auto-startup: {e}"); + throw; + } + } + } +} diff --git a/Flow.Launcher/Helper/HotKeyMapper.cs b/Flow.Launcher/Helper/HotKeyMapper.cs index a3ad20f77..b9ac6afb3 100644 --- a/Flow.Launcher/Helper/HotKeyMapper.cs +++ b/Flow.Launcher/Helper/HotKeyMapper.cs @@ -17,7 +17,7 @@ namespace Flow.Launcher.Helper internal static void Initialize(MainViewModel mainVM) { mainViewModel = mainVM; - settings = mainViewModel._settings; + settings = mainViewModel.Settings; SetHotkey(settings.Hotkey, OnToggleHotkey); LoadCustomPluginHotkey(); diff --git a/Flow.Launcher/Helper/SingleInstance.cs b/Flow.Launcher/Helper/SingleInstance.cs index 1a1e6ec3c..d684596be 100644 --- a/Flow.Launcher/Helper/SingleInstance.cs +++ b/Flow.Launcher/Helper/SingleInstance.cs @@ -385,27 +385,5 @@ namespace Flow.Launcher.Helper } #endregion - - #region Private Classes - - /// - /// Remoting service class which is exposed by the server i.e the first instance and called by the second instance - /// to pass on the command line arguments to the first instance and cause it to activate itself. - /// - private class IPCRemoteService : MarshalByRefObject - { - - /// - /// Remoting Object's ease expires after every 5 minutes by default. We need to override the InitializeLifetimeService class - /// to ensure that lease never expires. - /// - /// Always null. - public override object InitializeLifetimeService() - { - return null; - } - } - - #endregion } } diff --git a/Flow.Launcher/Helper/WindowsInteropHelper.cs b/Flow.Launcher/Helper/WindowsInteropHelper.cs index f1e8b2099..4811eb224 100644 --- a/Flow.Launcher/Helper/WindowsInteropHelper.cs +++ b/Flow.Launcher/Helper/WindowsInteropHelper.cs @@ -69,7 +69,7 @@ namespace Flow.Launcher.Helper //get current active window IntPtr hWnd = GetForegroundWindow(); - if (hWnd != null && !hWnd.Equals(IntPtr.Zero)) + if (!hWnd.Equals(IntPtr.Zero)) { //if current active window is NOT desktop or shell if (!(hWnd.Equals(HWND_DESKTOP) || hWnd.Equals(HWND_SHELL))) @@ -98,7 +98,7 @@ namespace Flow.Launcher.Helper { IntPtr hWndDesktop = FindWindowEx(hWnd, IntPtr.Zero, "SHELLDLL_DefView", null); hWndDesktop = FindWindowEx(hWndDesktop, IntPtr.Zero, "SysListView32", "FolderView"); - if (hWndDesktop != null && !hWndDesktop.Equals(IntPtr.Zero)) + if (!hWndDesktop.Equals(IntPtr.Zero)) { return false; } @@ -160,4 +160,4 @@ namespace Flow.Launcher.Helper public int Bottom; } } -} \ No newline at end of file +} diff --git a/Flow.Launcher/HotkeyControl.xaml.cs b/Flow.Launcher/HotkeyControl.xaml.cs index bc437d862..7e07695d8 100644 --- a/Flow.Launcher/HotkeyControl.xaml.cs +++ b/Flow.Launcher/HotkeyControl.xaml.cs @@ -65,11 +65,11 @@ namespace Flow.Launcher { await Task.Delay(500, token); if (!token.IsCancellationRequested) - await SetHotkey(hotkeyModel); + await SetHotkeyAsync(hotkeyModel); }); } - public async Task SetHotkey(HotkeyModel keyModel, bool triggerValidate = true) + public async Task SetHotkeyAsync(HotkeyModel keyModel, bool triggerValidate = true) { CurrentHotkey = keyModel; @@ -101,9 +101,9 @@ namespace Flow.Launcher } } - public void SetHotkey(string keyStr, bool triggerValidate = true) + public Task SetHotkeyAsync(string keyStr, bool triggerValidate = true) { - SetHotkey(new HotkeyModel(keyStr), triggerValidate); + return SetHotkeyAsync(new HotkeyModel(keyStr), triggerValidate); } private bool CheckHotkeyAvailability() => HotKeyMapper.CheckAvailability(CurrentHotkey); @@ -116,4 +116,4 @@ namespace Flow.Launcher tbMsg.Foreground = tbMsgForegroundColorOriginal; } } -} \ No newline at end of file +} diff --git a/Flow.Launcher/Images/app_missing_img.png b/Flow.Launcher/Images/app_missing_img.png index b86c29ac9..27e366bbc 100644 Binary files a/Flow.Launcher/Images/app_missing_img.png and b/Flow.Launcher/Images/app_missing_img.png differ diff --git a/Flow.Launcher/Languages/da.xaml b/Flow.Launcher/Languages/da.xaml index 9a6e6ebf4..25bd195dd 100644 --- a/Flow.Launcher/Languages/da.xaml +++ b/Flow.Launcher/Languages/da.xaml @@ -1,133 +1,295 @@ - - - Kunne ikke registrere genvejstast: {0} - Kunne ikke starte {0} - Ugyldigt Flow Launcher plugin filformat - Sæt øverst i denne søgning - Annuller øverst i denne søgning - Udfør søgning: {0} - Seneste afviklingstid: {0} - Åben - Indstillinger - Om - Afslut - - - Flow Launcher indstillinger - Generelt - Start Flow Launcher ved system start - Skjul Flow Launcher ved mistet fokus - Vis ikke notifikationer om nye versioner - Husk seneste position - Sprog - Maksimum antal resultater vist - Ignorer genvejstaster i fuldskærmsmode - Python bibliotek - Autoopdatering - Vælg - Skjul Flow Launcher ved opstart - - - Plugin - Find flere plugins - Deaktiver - Nøgleord - Plugin bibliotek - Forfatter - Initaliseringstid: - Søgetid: - - - Tema - Søg efter flere temaer - Søgefelt skrifttype - Resultat skrifttype - Vindue mode - Gennemsigtighed - - - Genvejstast - Flow Launcher genvejstast - Åbn resultatmodifikatorer - Tilpasset søgegenvejstast - Vis hotkey - Slet - Rediger - Tilføj - Vælg venligst - Er du sikker på du vil slette {0} plugin genvejstast? - - - HTTP Proxy - Aktiver HTTP Proxy - HTTP Server - Port - Brugernavn - Adgangskode - Test Proxy - Gem - Server felt må ikke være tomt - Port felt må ikke være tomt - Ugyldigt port format - Proxy konfiguration gemt - Proxy konfiguret korrekt - Proxy forbindelse fejlet - - - Om - Website - Version - Du har aktiveret Flow Launcher {0} gange - Tjek for opdateringer - Ny version {0} er tilgængelig, genstart venligst Flow Launcher - Release Notes: - - - Gammelt nøgleord - Nyt nøgleord - Annuller - Færdig - Kan ikke finde det valgte plugin - Nyt nøgleord må ikke være tomt - Nyt nøgleord er tilknyttet et andet plugin, tilknyt venligst et andet nyt nøgeleord - Fortsæt - Brug * hvis du ikke vil angive et nøgleord - - - Vis - Genvejstast er utilgængelig, vælg venligst en ny genvejstast - Ugyldig plugin genvejstast - Opdater - - - Genvejstast utilgængelig - - - Version - Tid - Beskriv venligst hvordan Flow Launcher crashede, så vi kan rette det. - Send rapport - Annuller - Generelt - Exceptions - Exception Type - Kilde - Stack Trace - Sender - Rapport sendt korrekt - Kunne ikke sende rapport - Flow Launcher fik en fejl - - - Ny Flow Launcher udgivelse {0} er nu tilgængelig - Der skete en fejl ifm. opdatering af Flow Launcher - Opdater - Annuler - Denne opdatering vil genstarte Flow Launcher - Følgende filer bliver opdateret - Opdatereringsfiler - Opdateringsbeskrivelse - - + + + + Kunne ikke registrere genvejstast: {0} + Kunne ikke starte {0} + Ugyldigt Flow Launcher plugin filformat + Sæt øverst i denne søgning + Annuller øverst i denne søgning + Udfør søgning: {0} + Seneste afviklingstid: {0} + Åben + Indstillinger + Om + Afslut + Close + Copy + Cut + Paste + File + Folder + Text + Game Mode + Suspend the use of Hotkeys. + + + Flow Launcher indstillinger + Generelt + Portable Mode + Store all settings and user data in one folder (Useful when used with removable drives or cloud services). + Start Flow Launcher ved system start + Error setting launch on startup + Skjul Flow Launcher ved mistet fokus + Vis ikke notifikationer om nye versioner + Husk seneste position + Sprog + Last Query Style + Show/Hide previous results when Flow Launcher is reactivated. + Preserve Last Query + Select last Query + Empty last Query + Maksimum antal resultater vist + Ignorer genvejstaster i fuldskærmsmode + Disable Flow Launcher activation when a full screen application is active (Recommended for games). + Default File Manager + Select the file manager to use when opening the folder. + Default Web Browser + Setting for New Tab, New Window, Private Mode. + Python bibliotek + Autoopdatering + Vælg + Skjul Flow Launcher ved opstart + Hide tray icon + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Should Use Pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + Find flere plugins + On + Deaktiver + Action keyword Setting + Nøgleord + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + Priority + Change Plugin Results Priority + Plugin bibliotek + af + Initaliseringstid: + Søgetid: + | Version + Website + Uninstall + + + + Plugin Store + Refresh + Install + + + Tema + Søg efter flere temaer + How to create a theme + Hi There + Søgefelt skrifttype + Resultat skrifttype + Vindue mode + Gennemsigtighed + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + Genvejstast + Flow Launcher genvejstast + Enter shortcut to show/hide Flow Launcher. + Åbn resultatmodifikatorer + Select a modifier key to open selected result via keyboard. + Vis hotkey + Show result selection hotkey with results. + Tilpasset søgegenvejstast + Query + Slet + Rediger + Tilføj + Vælg venligst + Er du sikker på du vil slette {0} plugin genvejstast? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP Proxy + Aktiver HTTP Proxy + HTTP Server + Port + Brugernavn + Adgangskode + Test Proxy + Gem + Server felt må ikke være tomt + Port felt må ikke være tomt + Ugyldigt port format + Proxy konfiguration gemt + Proxy konfiguret korrekt + Proxy forbindelse fejlet + + + Om + Website + Github + Docs + Version + Du har aktiveret Flow Launcher {0} gange + Tjek for opdateringer + Ny version {0} er tilgængelig, genstart venligst Flow Launcher + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually. + + Release Notes + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Gammelt nøgleord + Nyt nøgleord + Annuller + Færdig + Kan ikke finde det valgte plugin + Nyt nøgleord må ikke være tomt + Nyt nøgleord er tilknyttet et andet plugin, tilknyt venligst et andet nyt nøgeleord + Fortsæt + Completed successfully + Brug * hvis du ikke vil angive et nøgleord + + + Tilpasset søgegenvejstast + Press the custom hotkey to automatically insert the specified query. + Vis + Genvejstast er utilgængelig, vælg venligst en ny genvejstast + Ugyldig plugin genvejstast + Opdater + + + Genvejstast utilgængelig + + + Version + Tid + Beskriv venligst hvordan Flow Launcher crashede, så vi kan rette det. + Send rapport + Annuller + Generelt + Exceptions + Exception Type + Kilde + Stack Trace + Sender + Rapport sendt korrekt + Kunne ikke sende rapport + Flow Launcher fik en fejl + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Ny Flow Launcher udgivelse {0} er nu tilgængelig + Der skete en fejl ifm. opdatering af Flow Launcher + Opdater + Annuller + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Denne opdatering vil genstarte Flow Launcher + Følgende filer bliver opdateret + Opdatereringsfiler + Opdateringsbeskrivelse + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/de.xaml b/Flow.Launcher/Languages/de.xaml index 9572db8cb..ebd549adf 100644 --- a/Flow.Launcher/Languages/de.xaml +++ b/Flow.Launcher/Languages/de.xaml @@ -1,133 +1,295 @@ - - - Tastenkombinationregistrierung: {0} fehlgeschlagen - Kann {0} nicht starten - Fehlerhaftes Flow Launcher-Plugin Dateiformat - In dieser Abfrage als oberstes setzen - In dieser Abfrage oberstes abbrechen - Abfrage ausführen:{0} - Letzte Ausführungszeit:{0} - Öffnen - Einstellungen - Über - Schließen - - - Flow Launcher Einstellungen - Allgemein - Starte Flow Launcher bei Systemstart - Verstecke Flow Launcher wenn der Fokus verloren geht - Zeige keine Nachricht wenn eine neue Version vorhanden ist - Merke letzte Ausführungsposition - Sprache - Maximale Anzahl Ergebnissen - Ignoriere Tastenkombination wenn Fenster im Vollbildmodus ist - Python-Verzeichnis - Automatische Aktualisierung - Auswählen - Verstecke Flow Launcher bei Systemstart - - - Plugin - Suche nach weiteren Plugins - Deaktivieren - Aktionsschlüsselwörter - Pluginordner - Autor - Initialisierungszeit: - Abfragezeit: - - - Theme - Suche nach weiteren Themes - Abfragebox Schriftart - Ergebnis Schriftart - Fenstermodus - Transparenz - - - Tastenkombination - Flow Launcher Tastenkombination - Öffnen Sie die Ergebnismodifikatoren - Benutzerdefinierte Abfrage Tastenkombination - Hotkey anzeigen - Löschen - Bearbeiten - Hinzufügen - Bitte einen Eintrag auswählen - Wollen Sie die {0} Plugin Tastenkombination wirklich löschen? - - - HTTP Proxy - Aktiviere HTTP Proxy - HTTP Server - Port - Benutzername - Passwort - Teste Proxy - Speichern - Server darf nicht leer sein - Server Port darf nicht leer sein - Falsches Port Format - Proxy wurde erfolgreich gespeichert - Proxy ist korrekt - Verbindung zum Proxy fehlgeschlagen - - - Über - Webseite - Version - Sie haben Flow Launcher {0} mal aktiviert - Nach Aktuallisierungen Suchen - Eine neue Version ({0}) ist vorhanden. Bitte starten Sie Flow Launcher neu. - Versionshinweise: - - - Altes Aktionsschlüsselwort - Neues Aktionsschlüsselwort - Abbrechen - Fertig - Kann das angegebene Plugin nicht finden - Neues Aktionsschlüsselwort darf nicht leer sein - Aktionsschlüsselwort ist schon bei einem anderen Plugin in verwendung. Bitte stellen Sie ein anderes Aktionsschlüsselwort ein. - Erfolgreich - Benutzen Sie * wenn Sie ein Aktionsschlüsselwort definieren wollen. - - - Vorschau - Tastenkombination ist nicht verfügbar, bitte wähle eine andere Tastenkombination - Ungültige Plugin Tastenkombination - Aktualisieren - - - Tastenkombination nicht verfügbar - - - Version - Zeit - Bitte teilen Sie uns mit, wie die Anwendung abgestürzt ist, damit wir den Fehler beheben können. - Sende Report - Abbrechen - Allgemein - Fehler - Fehlertypen - Quelle - Stack Trace - Sende - Report erfolgreich - Report fehlgeschlagen - Flow Launcher hat einen Fehler - - - V{0} von Flow Launcher ist verfügbar - Es ist ein Fehler während der Installation der Aktualisierung aufgetreten. - Aktualisieren - Abbrechen - Diese Aktualisierung wird Flow Launcher neu starten - Folgende Dateien werden aktualisiert - Aktualisiere Dateien - Aktualisierungbeschreibung - - \ No newline at end of file + + + + Tastenkombinationregistrierung: {0} fehlgeschlagen + Kann {0} nicht starten + Fehlerhaftes Flow Launcher-Plugin Dateiformat + In dieser Abfrage als oberstes setzen + In dieser Abfrage oberstes abbrechen + Abfrage ausführen:{0} + Letzte Ausführungszeit:{0} + Öffnen + Einstellungen + Über + Schließen + Schließen + Kopieren + Ausschneiden + Einfügen + Datei + Ordner + Text + Spielmodus + Hotkeys deaktivieren. + + + Flow Launcher Einstellungen + Allgemein + Portabler Modus + Speichern Sie alle Einstellungen und Benutzerdaten in einem Ordner (nützlich bei Verwendung mit Wechseldatenträgern oder Clouddiensten). + Starte Flow Launcher bei Systemstart + Error setting launch on startup + Verstecke Flow Launcher wenn der Fokus verloren geht + Zeige keine Nachricht wenn eine neue Version vorhanden ist + Merke letzte Ausführungsposition + Sprache + Abfragestil auswählen + Vorherige Ergebnisse ein-/ausblenden, wenn Flow Launcher wieder aktiviert wird. + Letzte Abfrage beibehalten + Letzte Abfrage auswählen + Letzte Abfrage leeren + Maximale Anzahl Ergebnissen + Ignoriere Tastenkombination wenn Fenster im Vollbildmodus ist + Deaktiviere Flow Launcher, wenn eine Vollbildanwendung aktiv ist (Empfohlen für Spiele). + Standard-Dateimanager + Wählen Sie den Dateimanager, der beim Öffnen des Ordners verwendet werden soll. + Standardbrowser + Einstellung für neuen Tab, neues Fenster und dem Privatmodus. + Python-Verzeichnis + Automatische Aktualisierung + Auswählen + Verstecke Flow Launcher bei Systemstart + Statusleistensymbol ausblenden + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Suchgenauigkeit abfragen + Erforderliche Suchergebnisse. + Pinyin aktivieren + Ermöglicht die Verwendung von Pinyin für die Suche. Pinyin ist das Standardsystem der romanisierten Schreibweise für die Übersetzung von chinesischen Texten + Der Schatteneffekt ist nicht zulässig, wenn das aktuelle Thema den Weichzeichneffekt aktiviert hat + + + Erweiterung + Suche nach weiteren Plugins + Aktivieren + Deaktivieren + Aktionswort Einstellung + Aktionsschlüsselwörter + Aktuelles Aktionswort + Neues Aktionswort + Aktionswörter ändern + Aktuelle Priorität + Neue Priorität + Priorität + Change Plugin Results Priority + Pluginordner + von + Initialisierungszeit: + Abfragezeit: + Version + Webseite + Deinstallieren + + + + Erweiterungen laden + Aktualisieren + Installieren + + + Design + Suche nach weiteren Themes + Wie man ein Design erstellt + Hallo! + Abfragebox Schriftart + Ergebnis Schriftart + Fenstermodus + Transparenz + Das Design {0} existiert nicht, deshalb wird das Standard-Template aktiviert + Laden des Designs {0} fehlgeschlagen, das Standard-Template wird aktiviert + Themenordner öffnen + Themenordner öffnen + Farbschema + Systemvorgabe + Hell + Dunkel + Soundeffekt + Ton abspielen, wenn das Suchfenster geöffnet wird + Animation + Animationen in der Oberfläche verwenden + + + Tastenkombination + Flow Launcher Tastenkombination + Verknüpfung eingeben, um Flow Launcher anzuzeigen/auszublenden. + Öffnen Sie die Ergebnismodifikatoren + Select a modifier key to open selected result via keyboard. + Hotkey anzeigen + Show result selection hotkey with results. + Benutzerdefinierte Abfrage Tastenkombination + Query + Löschen + Bearbeiten + Hinzufügen + Bitte einen Eintrag auswählen + Wollen Sie die {0} Plugin Tastenkombination wirklich löschen? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP Proxy + Aktiviere HTTP Proxy + HTTP Server + Port + Benutzername + Passwort + Teste Proxy + Speichern + Server darf nicht leer sein + Server Port darf nicht leer sein + Falsches Port Format + Proxy wurde erfolgreich gespeichert + Proxy ist korrekt + Verbindung zum Proxy fehlgeschlagen + + + Über + Website + Github + Docs + Version + Sie haben Flow Launcher {0} mal aktiviert + Nach Aktuallisierungen Suchen + Eine neue Version ({0}) ist vorhanden. Bitte starten Sie Flow Launcher neu. + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually. + + Versionshinweise + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser-Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Altes Aktionsschlüsselwort + Neues Aktionsschlüsselwort + Abbrechen + Fertig + Kann das angegebene Plugin nicht finden + Neues Aktionsschlüsselwort darf nicht leer sein + Aktionsschlüsselwort ist schon bei einem anderen Plugin in verwendung. Bitte stellen Sie ein anderes Aktionsschlüsselwort ein. + Erfolgreich + Completed successfully + Benutzen Sie * wenn Sie ein Aktionsschlüsselwort definieren wollen. + + + Benutzerdefinierte Abfrage Tastenkombination + Press the custom hotkey to automatically insert the specified query. + Vorschau + Tastenkombination ist nicht verfügbar, bitte wähle eine andere Tastenkombination + Ungültige Plugin Tastenkombination + Aktualisieren + + + Tastenkombination nicht verfügbar + + + Version + Zeit + Bitte teilen Sie uns mit, wie die Anwendung abgestürzt ist, damit wir den Fehler beheben können. + Sende Report + Abbrechen + Allgemein + Fehler + Fehlertypen + Quelle + Stapelüberwachung + Sende + Report erfolgreich + Report fehlgeschlagen + Flow Launcher hat einen Fehler + + + Bitte warten... + + + Nach Updates suchen! + Sie haben bereits die neuste Version + Update gefunden + Wird aktualisiert ... + + Flow Launcher konnte deine Profildaten nicht in die neue Updateversion verschieben. + Bitte verschieben Sie Ihren Profildatenordner manuell von {0} nach {1} + + Neues Update + V{0} von Flow Launcher ist verfügbar + Es ist ein Fehler während der Installation der Aktualisierung aufgetreten. + Aktualisieren + Abbrechen + Aktualisierung fehlgeschlagen + Überprüfen Sie Ihre Internetverbindung und aktualisieren Sie die Proxy-Einstellungen um auf github-cloud.s3.amazonaws.com zugreifen zu können. + Diese Aktualisierung wird Flow Launcher neu starten + Folgende Dateien werden aktualisiert + Aktualisiere Dateien + Aktualisierungbeschreibung + + + Überspringen + Willkommen im Flow Launcher + Hallo, dies ist das erste Mal, dass Sie den Flow Launcher verwenden! + Vor dem Start hilft dieser Assistent beim Einrichten des Flow Launchers. Sie können dies überspringen, wenn Sie möchten. Bitte wählen Sie eine Sprache aus + Suchen und starten Sie alle Dateien sowie Anwendungen auf Ihrem PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/en.xaml b/Flow.Launcher/Languages/en.xaml index b420e2f59..94a301ace 100644 --- a/Flow.Launcher/Languages/en.xaml +++ b/Flow.Launcher/Languages/en.xaml @@ -23,6 +23,8 @@ Text Game Mode Suspend the use of Hotkeys. + Position Reset + Reset search window position Flow Launcher Settings @@ -30,9 +32,16 @@ Portable Mode Store all settings and user data in one folder (Useful when used with removable drives or cloud services). Start Flow Launcher on system startup + Error setting launch on startup Hide Flow Launcher when focus is lost Do not show new version notifications + Search Window Position Remember last launch location + Remember Last Location + Mouse Focused Screen - Center + Mouse Focused Screen - Center Top + Mouse Focused Screen - Left Top + Mouse Focused Screen - Right Top Language Last Query Style Show/Hide previous results when Flow Launcher is reactivated. @@ -40,6 +49,7 @@ Select last Query Empty last Query Maximum results shown + You can also quickly adjust this by using CTRL+Plus and CTRL+Minus. Ignore hotkeys in fullscreen mode Disable Flow Launcher activation when a full screen application is active (Recommended for games). Default File Manager @@ -51,6 +61,7 @@ Select Hide Flow Launcher on startup Hide tray icon + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. Query Search Precision Changes minimum match score required for results. Should Use Pinyin @@ -58,6 +69,10 @@ Shadow effect is not allowed while current theme has blur effect enabled + Search Plugin + Ctrl+F to search plugins + No results found + Please try a different search. Plugin Find more plugins On @@ -70,6 +85,7 @@ Current Priority New Priority Priority + Change Plugin Results Priority Plugin Directory by Init time: @@ -80,8 +96,20 @@ Plugin Store + New Release + Recently Updated + Plugins + Installed Refresh - Install + Install + Uninstall + Update + Plug-in already installed + New Version + This plug-in has been updated within the last 7 days + New Update is Available + + Theme @@ -104,6 +132,8 @@ Play a small sound when the search window opens Animation Use Animation in UI + Clock + Date Hotkey @@ -127,6 +157,7 @@ Query window shadow effect Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. Window Width Size + You can also quickly adjust this by using Ctrl+[ and Ctrl+]. Use Segoe Fluent Icons Use Segoe Fluent Icons for query results where supported @@ -165,6 +196,8 @@ DevTools Setting Folder Log Folder + Clear Logs + Are you sure you want to delete all logs? Wizard diff --git a/Flow.Launcher/Languages/es-419.xaml b/Flow.Launcher/Languages/es-419.xaml new file mode 100644 index 000000000..a410f4b32 --- /dev/null +++ b/Flow.Launcher/Languages/es-419.xaml @@ -0,0 +1,295 @@ + + + + Error al registrar la tecla de acceso directo: {0} + No se pudo iniciar {0} + Formato de archivo de plugin Flow Launcher inválido + Establecer como superior en esta consulta + Quitar como superior en esta consulta + Ejecutar consulta: {0} + Fecha de última ejecución: {0} + Abrir + Ajustes + Acerca de + Salir + Cerrar + Copiar + Cortar + Pegar + Archivo + Carpeta + Texto + Modo de juego + Suspender el uso de las teclas de acceso directo. + + + Ajustes de Flow Launcher + General + Modo portable + Almacena todos los ajustes y datos de usuario en una sola carpeta (útil cuando se utiliza con unidades extraíbles o servicios en la nube). + Iniciar Flow Launcher al arrancar el sistema + Error setting launch on startup + Ocultar Flow Launcher cuando se pierde el enfoque + No mostrar notificaciones de nuevas versiones + Recordar última ubicación de inicio + Idioma + Estilo de la última consulta + Mostrar/Ocultar resultados anteriores cuando Flow Launcher es reactivado. + Conservar última consulta + Seleccionar última consulta + Borrar última consulta + Máximo de resultados mostrados + Ignorar atajos de teclado en modo pantalla completa + Deshabilitar Flow Launcher cuando una aplicación de pantalla completa está activa (Recomendado para juegos). + Gestor de archivos predeterminado + Seleccione el gestor de archivos a utilizar al abrir la carpeta. + Navegador web predeterminado + Configuración para Nueva Pestaña, Nueva Ventana, Modo Privado. + Directorio de Python + Actualización automática + Seleccionar + Ocultar Flow Launcher al arrancar el sistema + Ocultar icono de la bandeja + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Precisión de la búsqueda + Cambia la puntuación mínima de similitud requerida para resultados. + Debe usar Pinyin + Permite el uso de Pinyin para la búsqueda. Pinyin es el sistema estándar de ortografía romanizada para traducir chino + El efecto de sombra no está permitido mientras el tema actual tenga el efecto de desenfoque habilitado + + + Plugin + Encontrar más plugins + Activado + Desactivado + Ajuste de palabra clave + Palabra clave + Palabra clave actual + Nueva palabra clave + Cambiar palabras clave + Prioridad Actual + Nueva Prioridad + Prioridad + Cambiar la prioridad del resultado del plugin + Directorio de Plugins + por + Tiempo de inicio: + Tiempo de consulta: + | Versión + Sitio web + Uninstall + + + + Tienda de Plugins + Recargar + Instalar + + + Tema + Galería de Temas + Cómo crear un tema + Hola + Fuente del cuadro de consulta + Fuente de los resultados + Modo Ventana + Opacidad + Tema {0} no existe, se usará al tema predeterminado + Error al cargar el tema {0}, se usará al tema predeterminado + Carpeta de Temas + Abrir Carpeta de Temas + Esquemas de Colores + Determinado por el Sistema + Claro + Oscuro + Efectos de Sonido + Reproducir un sonido al abrir la ventana de búsqueda + Animación + Usar Animación en la Interfaz + + + Tecla Rápida + Tecla de acceso a Flow Launcher + Introduzca el acceso directo para mostrar/ocultar Flow Launcher. + Abrir Tecla de Modificación de Resultado + Seleccione una tecla de modificación para abrir el resultado seleccionado vía teclado. + Mostrar tecla de acceso directo + Mostrar tecla rápida de selección con resultados. + Tecla Rápida de Consulta Personalizada + Consulta + Eliminar + Editar + Añadir + Por favor, seleccione un elemento + ¿Está seguro que desea eliminar la tecla de acceso directo del plugin {0}? + Efecto de sombra de ventana de búsqueda + El efecto sombra tiene un uso sustancial de GPU. No se recomienda si el rendimiento de su computadora es limitado. + Tamaño de Ancho de Ventana + Usar Iconos de Segoe Fluent + Usar iconos de Segoe Fluent para resultados de consultas que sean soportados + + + Proxy HTTP + Habilitar Proxy HTTP + Servidor HTTP + Puerto + Nombre de Usuario + Contraseña + Probar Proxy + Guardar + El campo del servidor no puede estar vacío + El campo de puerto no puede estar vacío + Formato de puerto inválido + Configuración de proxy guardada correctamente + Proxy configurado correctamente + Conexión con proxy fallida + + + Acerca de + Sitio web + GitHub + Documentación + Versión + Has activado Flow Launcher {0} veces + Buscar actualizaciones + La nueva versión {0} está disponible, ¿desea reiniciar Flow Launcher para usar la actualización? + Falló la comprobación de actualizaciones, compruebe su conexión y configuración de proxy a api.github.com. + + Falló la descarga de actualizaciones, por favor compruebe su conexión y configuración de proxy agithub-cloud.s3.amazonaws.com, + o vaya a https://github.com/Flow-Launcher/Flow.Launcher/releases para descargar actualizaciones manualmente. + + Notas de la versión + Consejos de Uso + Herramientas de desarrollo + Carpeta de Configuración + Carpeta de registros + Clear Logs + Are you sure you want to delete all logs? + Asistente + + + Seleccionar Gestor de Archivos + Por favor, especifique la ubicación del gestor de archivos que utiliza y añada argumentos si es necesario. Los argumentos por defecto son "%d", y se introduce una ruta en esa ubicación. Por ejemplo, si se requiere un comando como "totalcmd.exe /A c:\windows", el argumento es /A "%d". + "%f" es un argumento que representa la ruta del archivo. Se utiliza para enfatizar el nombre de archivo/carpeta al abrir una ubicación específica de archivo en un gestor de archivos de terceros. Este argumento sólo está disponible en el elemento "Arg para Archivo". Si el gestor de archivos no tiene esa función, puede utilizar "%d". + Gestor de Archivos + Nombre de Perfil + Ruta del Gestor de Archivos + Arg para Carpeta + Arg para Archivo + + + Navegador Web Predeterminado + La configuración predeterminada sigue la configuración por defecto del navegador del sistema operativo. Si se especifica por separado, Flow utiliza ese navegador. + Navegador + Nombre del Navegador + Ruta del Navegador + Nueva Ventana + Nueva Pestaña + Modo Privado + + + Cambiar Prioridad + Mayor el número, mayor la clasificación del resultado. Intente establecerlo como 5. Si desea que los resultados sean inferiores a cualquier otro plugin, proporcione un número negativo + ¡Por favor, proporcione un entero válido para la prioridad! + + + Palabra Clave Antigua + Nueva Palabra Clave + Cancelar + Hecho + No se puede encontrar el plugin especificado + La nueva palabra clave no puede estar vacía + Esta palabra clave ya está asignada a otro plugin, por favor elija una diferente + Éxito + Completado con éxito + Introduzca la palabra clave que desea utilizar para iniciar el plugin. Utilice * si no desea especificar ninguno, y el plugin se activará sin ninguna palabra clave. + + + Tecla de Acceso Personalizada + Presione la tecla de acceso personalizada para insertar automáticamente la consulta especificada. + Vista previa + Tecla no disponible, por favor seleccione una nueva tecla de acceso directo + Tecla de acceso directo al plugin inválida + Actualizar + + + Tecla No Disponible + + + Versión + Hora + Por favor, díganos cómo falló la aplicación para que podamos arreglarla + Enviar Reporte + Cancelar + General + Excepciones + Tipo de Excepción + Fuente + Traza de Pila + Enviando + Informe enviado correctamente + Error al enviar el informe + Flow Launcher ha tenido un error + + + Por favor espere... + + + Buscando nueva actualización + Ya esta instalada la última versión de Flow Launcher + Actualización encontrada + Actualizando... + + Flow Launcher no pudo mover los datos de su perfil de usuario a la nueva versión de actualización. + Por favor, mueva manualmente la carpeta de datos de su perfil de {0} a {1} + + Nueva Actualización + La nueva versión {0} de Flow Launcher ya está disponible + Ocurrió un error mientras se instalaban actualizaciones de software + Actualizar + Cancelar + Error al actualizar + Compruebe su conexión e intente actualizar la configuración del proxy a github-cloud.s3.amazonaws.com. + Esta actualización reiniciará Flow Launcher + Los siguientes archivos serán actualizados + Actualizar archivos + Actualizar descripción + + + Omitir + Bienvenido a Flow Launcher + ¡Hola, esta es la primera vez que ejecutas Flow Launcher! + Antes de comenzar, este asistente ayudará a configurar Flow Launcher. Puedes saltarlo si quieres. Por favor, elige un idioma + Busca y ejecuta todos los archivos y aplicaciones en tu PC + Busca todo desde aplicaciones, archivos, marcadores, YouTube, Twitter y mucho más. Todo desde la comodidad de tu teclado sin tocar nunca el ratón. + Flow Launcher comienza con la tecla de acceso directo de abajo, pruébala ahora. Para cambiarla, haga clic en la entrada y presione la tecla de acceso directo deseada. + Teclas De Acceso Directo + Palabra Clave y Comandos + Busca en la web, inicia aplicaciones o haz uso de varias funciones a través de plugins en Flow Launcher. Algunas funciones necesitan una palabra clave, y si es necesario, pueden ser usadas sin palabras clave. Pruebe consultar lo siguiente en Flow Launcher. + Comencemos Flow Launcher + Finalizado. Disfruta de Flow Launcher. No olvides la tecla de acceso directo para empezar :) + + + + Atrás / Menú Contextual + Navegación de Elemento + Abrir Menú Contextual + Abrir Carpeta Contenedora + Ejecutar como administrador + Historial de Consultas + Volver al Resultado en el Menú Contextual + Autocompletar + Abrir / Ejecutar Elemento Seleccionado + Abrir Ventana de Ajustes + Recargar Datos del Plugin + + Clima + Clima en los Resultados de Google + > ping 8.8.8.8 + Comando de Shell + Bluetooth + Bluetooth en configuración de Windows + sn + Notas adhesivas + + diff --git a/Flow.Launcher/Languages/es.xaml b/Flow.Launcher/Languages/es.xaml new file mode 100644 index 000000000..0950595fa --- /dev/null +++ b/Flow.Launcher/Languages/es.xaml @@ -0,0 +1,295 @@ + + + + No se ha podido registrar el atajo de teclado: {0} + No se ha podido iniciar {0} + Formato de archivo del plugin Flow Launcher no válido + Establecer como primer resultado en esta consulta + Cancelar como primer resultado en esta consulta + Ejecutar consulta: {0} + Hora de la última ejecución: {0} + Abrir + Configuración + Acerca de + Salir + Cerrar + Copiar + Cortar + Pegar + Archivo + Carpeta + Texto + Modo Juego + Suspende el uso de atajos de teclado. + + + Configuración de Flow Launcher + General + Modo Portable + Guarda toda la configuración y datos de usuario en una carpeta (Útil cuando se utiliza con unidades extraíbles o servicios en la nube). + Cargar Flow Launcher al iniciar el sistema + Error de configuración de arranque al iniciar + Ocultar Flow Launcher cuando se pierde el foco + No mostrar notificaciones de nuevas versiones + Recordar última posición de Flow Launcher + Idioma + Estilo de la última consulta + Muestra/Oculta resultados anteriores cuando Flow Launcher es reactivado. + Mantener la última consulta + Seleccionar la última consulta + Limpiar la última consulta + Número máximo de resultados mostrados + Ignorar atajos de teclado en modo pantalla completa + Desactiva Flow Launcher cuando una aplicación de pantalla completa está activa (Recomendado para juegos). + Administrador de archivos predeterminado + Selecciona el administrador de archivos que se desea utilizar para abrir la carpeta. + Navegador web predeterminado + Configuración para Nueva Pestaña, Nueva Ventana, Modo Privado. + Carpeta de Python + Actualización automática + Seleccionar + Ocultar Flow Launcher al inicio + Ocultar icono de la bandeja del sistema + Cuando el icono está oculto en la bandeja del sistema, se puede abrir el menú de configuración haciendo clic con el botón derecho en la ventana de búsqueda. + Precisión en la búsqueda de consultas + Cambia la puntuación mínima requerida para la coincidencia de los resultados. + Utilizar Pinyin + Permite utilizar Pinyin para la búsqueda. Pinyin es el sistema estándar de ortografía romanizado para traducir chino + El efecto de sombra no está permitido mientras el tema actual tenga el efecto de desenfoque activado + + + Complementos + Buscar más complementos + Activado + Desactivado + Configuración de la palabra clave de acción + Palabra clave de acción + Palabra clave de acción actual + Nueva palabra clave de acción + Cambia las palabras clave de acción + Prioridad actual + Nueva prioridad + Prioridad + Cambiar la prioridad de los resultados del complemento + Carpeta de complementos + por + Tiempo de inicio: + Tiempo de consulta: + | Versión + Sitio web + Desinstalar + + + + Tienda de complementos + Refrescar + Instalar + + + Tema + Galería de temas + Cómo crear un tema + Hola + Fuente del texto del cuadro de consulta + Fuente del texto de los resultados + Modo Ventana + Opacidad + El tema {0} no existe, activando el tema por defecto + Fallo al cargar el tema {0}, activando el tema predeterminado + Carpeta de temas + Abrir carpeta de temas + Esquema de colores + Predeterminado del sistema + Claro + Oscuro + Efecto de sonido + Reproduce un pequeño sonido cuando se abre el cuadro de búsqueda + Animación + Usar animación en la Interfaz de Usuario + + + Atajo de teclado + Atajo de teclado de Flow Launcher + Introduzca el atajo de teclado para mostrar/ocultar Flow Launcher. + Tecla modificadora para abrir resultado + Seleccione una tecla modificadora para abrir el resultado seleccionado con el teclado. + Mostrar atajo de teclado + Muestra atajo de teclado de selección junto a los resultados. + Atajo de teclado de consulta personalizada + Consulta + Eliminar + Editar + Añadir + Por favor, seleccione un elemento + ¿Está seguro que desea eliminar el atajo de teclado del complemento {0}? + Efecto de sombra de la ventana de consultas + El efecto de sombra hace un uso sustancial de la GPU. No se recomienda para ordenadores de rendimiento limitado. + Tamaño del ancho de la ventana + Usar iconos Segoe Fluent + Usa iconos Segoe Fluent para los resultados de la consulta cuando sean compatibles + + + Proxy HTTP + Habilitar proxy HTTP + Servidor HTTP + Puerto + Nombre de usuario + Contraseña + Probar proxy + Guardar + El campo del servidor no puede estar vacío + El campo puerto no puede estar vacío + Formato de puerto no válido + Configuración del proxy guardada correctamente + Proxy configurado correctamente + La conexión con el proxy ha fallado + + + Acerca de + Sitio web + GitHub + Documentación + Versión + Ha activado Flow Launcher {0} veces + Buscar actualizaciones + La nueva versión {0} está disponible, ¿desea reiniciar Flow Launcher para actualizar? + La comprobación de las actualizaciones ha fallado, por favor, compruebe la configuración de su proxy y conexión a api.github.com. + + La descarga de las actualizaciones ha fallado, por favor, compruebe la configuración de su proxy y conexión a github-cloud.s3.amazonaws.com, + o diríjase a https://github.com/Flow-Launcher/Flow.Launcher/releases para descargar actualizaciones manualmente. + + Notas de la versión + Consejos de uso + Herramientas de desarrollador + Carpeta de configuración + Carpeta de registros + Eliminar registros + ¿Está seguro que desea eliminar todos los registros? + Asistente + + + Seleccionar administrador de archivos + Por favor, especifique la ubicación del administrador de archivos que desea utilizar y añada argumentos si es necesario. El argumento por defecto es "%d", introduciendo una ruta en esa ubicación. Por ejemplo, si se requiere un comando como "totalcmd.exe /A c:\windows", el argumento es /A "%d". + "%f" es un argumento que representa la ruta del archivo. Se utiliza para especificar el nombre de archivo/carpeta al abrir una ubicación específica con administradores de archivos de terceros. Este argumento sólo está disponible en el elemento "Argumentos del archivo". Si el administrador de archivos no tiene esa función, puede utilizar "%d". + Administrador de archivos + Nombre del perfil + Ruta del administrador de archivos + Argumentos de la carpeta + Argumentos del archivo + + + Navegador web predeterminado + La configuración por defecto utiliza el navegador predeterminado del sistema operativo. Si se indica uno específicamente, Flow Launcher utilizará este otro navegador. + Navegador + Nombre del navegador + Ruta del navegador + Nueva ventana + Nueva pestaña + Modo privado + + + Cambiar la prioridad + A mayor número, más alto aparecerá el resultado. Inténtelo con 5. Si quiere que los resultados aparezcan más abajo que los de cualquier otro complemento, utilice un número negativo + ¡Por favor, proporcione un número entero válido para la prioridad! + + + Antigua palabra clave de acción + Nueva palabra clave de acción + Cancelar + Aceptar + No se puede encontrar el complemento especificado + La nueva palabra clave de acción no puede estar vacía + Esta nueva palabra clave de acción ya está asignada a otro complemento, por favor elija una diferente + Correcto + Finalizado correctamente + Introduzca la palabra clave que desea utilizar para iniciar el complemento. Utilice * si no desea especificar ninguna, y el complemento se activará sin ninguna palabra clave. + + + Atajo de teclado de consulta personalizada + Pulse el atajo de teclado personalizado para insertar automáticamente la consulta especificada. + Vista previa + El atajo de teclado no está disponible, por favor seleccione uno nuevo + Atajo de teclado de complemento no válido + Actualizar + + + Atajo de teclado no disponible + + + Versión + Hora + Por favor, informe del fallo de la aplicación para poder solucionarlo + Enviar informe + Cancelar + General + Excepciones + Tipo de excepción + Origen + Rastreo de Pila + Enviando + Informe enviado correctamente + No se ha podido enviar el informe + Flow Launcher ha tenido un error + + + Por favor espere... + + + Comprobando actualizaciones + Ya tiene la última versión de Flow Launcher + Actualización encontrada + Actualizando... + + Flow Launcher no pudo mover sus datos de perfil de usuario a la nueva versión de actualización. + Por favor, mueva manualmente la carpeta de datos de su perfil de {0} a {1} + + Nueva actualización + La nueva versión {0} de Flow Launcher está disponible + Se ha producido un error al intentar instalar actualizaciones de software + Actualizar + Cancelar + La actualización ha fallado + Compruebe su conexión e intente actualizar la configuración del proxy a github-cloud.s3.amazonaws.com. + Esta actualización reiniciará Flow Launcher + Se actualizarán los siguientes archivos + Actualizar archivos + Actualizar descripción + + + Omitir + Bienvenido a Flow Launcher + Hola, ¡Esta es la primera vez que ejecuta Flow Launcher! + Antes de empezar, este asistente le ayudará a configurar Flow Launcher. Puede omitirlo si lo desea. Por favor, elija un idioma + Busque y ejecute todos los archivos y aplicaciones del equipo + Busque todo, desde aplicaciones, archivos, marcadores, YouTube, Twitter y más. Todo desde la comodidad del teclado y sin tener que tocar el ratón. + Flow Launcher se inicia con el atajo de teclado que se muestra a continuación, anímese y pruébelo ahora. Para cambiarlo, haga clic en la caja de texto y presione la nueva combinación de teclas. + Atajos de teclado + Palabra clave de acción y comandos + Busque en la web, inicie aplicaciones o ejecute diversas funciones mediante los complementos de Flow Launcher. Algunas funciones comienzan con una palabra clave de acción y, si es necesario, pueden utilizarse sin ellas. Pruebe las siguientes consultas en Flow Launcher. + Iniciemos Flow Launcher + Terminado. Disfruta de Flow Launcher. No olvides el atajo de teclado para empezar :) + + + + Atrás / Menú contextual + Navegación entre elementos + Abrir menú contextual + Abrir carpeta contenedora + Ejecutar como administrador + Historial de consultas + Volver al resultado en menú contextual + Autocompletar + Abrir / Ejecutar elemento seleccionado + Abrir ventana de configuración + Recargar datos del complemento + + El tiempo + El tiempo en los resultados de Google + > ping 8.8.8.8 + Comando de terminal + Bluetooth + Bluetooth en la configuración de Windows + sn + Notas adhesivas + + diff --git a/Flow.Launcher/Languages/fr.xaml b/Flow.Launcher/Languages/fr.xaml index d9c46e6b9..edc5e4f07 100644 --- a/Flow.Launcher/Languages/fr.xaml +++ b/Flow.Launcher/Languages/fr.xaml @@ -1,139 +1,294 @@ - - - Échec lors de l'enregistrement du raccourci : {0} - Impossible de lancer {0} - Le format de fichier n'est pas un plugin Flow Launcher valide - Définir en tant que favori pour cette requête - Annuler le favori - Lancer la requête : {0} - Dernière exécution : {0} - Ouvrir - Paramètres - À propos - Quitter - - - Paramètres - Flow Launcher - Général - Lancer Flow Launcher au démarrage du système - Cacher Flow Launcher lors de la perte de focus - Ne pas afficher le message de mise à jour pour les nouvelles versions - Se souvenir du dernier emplacement de la fenêtre - Langue - Affichage de la dernière recherche - Conserver la dernière recherche - Sélectionner la dernière recherche - Ne pas afficher la dernière recherche - Résultats maximums à afficher - Ignore les raccourcis lorsqu'une application est en plein écran - Répertoire de Python - Mettre à jour automatiquement - Sélectionner - Cacher Flow Launcher au démarrage - - - Modules - Trouver plus de modules - Désactivé - Mot-clé d'action : - Répertoire - Auteur - Chargement : - Utilisation : - - - Thèmes - Trouver plus de thèmes - Police (barre de recherche) - Police (liste des résultats) - Mode fenêtré - Opacité - - - Raccourcis - Ouvrir Flow Launcher - Modificateurs de résultats ouverts - Requêtes personnalisées - Afficher le raccourci clavier - Supprimer - Modifier - Ajouter - Veuillez sélectionner un élément - Voulez-vous vraiment supprimer {0} raccourci(s) ? - - - Proxy HTTP - Activer le HTTP proxy - Serveur HTTP - Port - Utilisateur - Mot de passe - Tester - Sauvegarder - Un serveur doit être indiqué - Un port doit être indiqué - Format du port invalide - Proxy sauvegardé avec succès - Le proxy est valide - Connexion au proxy échouée - - - À propos - Site web - Version - Vous avez utilisé Flow Launcher {0} fois - Vérifier les mises à jour - Nouvelle version {0} disponible, veuillez redémarrer Flow Launcher - Échec de la vérification de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à api.github.com. - Échec du téléchargement de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à github-cloud.s3.amazonaws.com, ou téléchargez manuelement la mise à jour sur https://github.com/Flow-Launcher/Flow.Launcher/releases. - Notes de changement : - - - Ancien mot-clé d'action - Nouveau mot-clé d'action - Annuler - Terminé - Impossible de trouver le module spécifié - Le nouveau mot-clé d'action doit être spécifié - Le nouveau mot-clé d'action a été assigné à un autre module, veuillez en choisir un autre - Ajouté - Saisissez * si vous ne souhaitez pas utiliser de mot-clé spécifique - - - Prévisualiser - Raccourci indisponible. Veuillez en choisir un autre. - Raccourci invalide - Actualiser - - - Raccourci indisponible - - - Version - Heure - Veuillez nous indiquer comment l'application a planté afin que nous puissions le corriger - Envoyer le rapport - Annuler - Général - Exceptions - Type d'exception - Source - Trace d'appel - Envoi en cours - Signalement envoyé - Échec de l'envoi du signalement - Flow Launcher a rencontré une erreur - - - Version v{0} de Flow Launcher disponible - Une erreur s'est produite lors de l'installation de la mise à jour - Mettre à jour - Annuler - Flow Launcher doit redémarrer pour installer cette mise à jour - Les fichiers suivants seront mis à jour - Fichiers mis à jour - Description de la mise à jour - - + + + + Impossible d'enregistrer le raccourci clavier : {0} + Impossible de lancer {0} + Le fichier n'a pas le format d'un plugin de Flow Launcher + Définir comme prioritaire dans cette requête + Annuler la priorité dans cette requête + Lancer la requête : {0} + Dernière exécution : {0} + Ouvrir + Paramètres + À propos + Quitter + Fermer + Copier + Couper + Coller + Fichier + Dossier + Texte + Mode Jeu + Suspend l'utilisation des raccourcis claviers. + + + Paramètres de Flow Launcher + Général + Mode Portable + Stocker tous les paramètres et données utilisateur dans un seul dossier (Pratique en cas d'utilisation de disques amovibles ou de services cloud). + Lancer Flow Launcher au démarrage du système + Error setting launch on startup + Cacher Flow Launcher lors de la perte de focus + Ne pas afficher les notifications lors d'une nouvelle version + Se souvenir du dernier emplacement de la fenêtre + Langue + Style de la dernière requête + Afficher/Masquer les résultats précédents lorsque Flow Launcher est réactivé. + Conserver la dernière recherche + Sélectionner la dernière recherche + Ne pas afficher la dernière recherche + Résultats maximums à afficher + Ignore les raccourcis lorsqu'une application est en plein écran + Désactiver l'activation de Flow Launcher lorsqu'une application en plein écran est active (Recommandé pour les jeux). + Gestionnaire de fichiers par défaut + Select the file manager to use when opening the folder. + Navigateur web par défaut + Setting for New Tab, New Window, Private Mode. + Répertoire de Python + Mettre à jour automatiquement + Sélectionner + Cacher Flow Launcher au démarrage + Masquer icône du plateau + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Devrait utiliser le pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + Trouver plus de modules + On + Désactivé + Action keyword Setting + Mot-clé d'action : + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + Priority + Change Plugin Results Priority + Répertoire + by + Chargement : + Utilisation : + | Version + Website + Désinstaller + + + + Plugin Store + Refresh + Install + + + Thèmes + Trouver plus de thèmes + How to create a theme + Hi There + Police (barre de recherche) + Police (liste des résultats) + Mode fenêtré + Opacité + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + Raccourcis + Ouvrir Flow Launcher + Enter shortcut to show/hide Flow Launcher. + Modificateurs de résultats ouverts + Select a modifier key to open selected result via keyboard. + Afficher le raccourci clavier + Show result selection hotkey with results. + Requêtes personnalisées + Query + Supprimer + Modifier + Ajouter + Veuillez sélectionner un élément + Voulez-vous vraiment supprimer {0} raccourci(s) ? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + Proxy HTTP + Activer le HTTP proxy + Serveur HTTP + Port + Utilisateur + Mot de passe + Tester + Sauvegarder + Un serveur doit être indiqué + Un port doit être indiqué + Format du port invalide + Proxy sauvegardé avec succès + Le proxy est valide + Connexion au proxy échouée + + + À propos + Website + Github + Docs + Version + Vous avez utilisé Flow Launcher {0} fois + Vérifier les mises à jour + Nouvelle version {0} disponible, veuillez redémarrer Flow Launcher + Échec de la vérification de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à api.github.com. + + Échec du téléchargement de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à github-cloud.s3.amazonaws.com, ou téléchargez manuelement la mise à jour sur https://github.com/Flow-Launcher/Flow.Launcher/releases. + + Notes de changement + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Navigateur + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Ancien mot-clé d'action + Nouveau mot-clé d'action + Annuler + Terminé + Impossible de trouver le module spécifié + Le nouveau mot-clé d'action doit être spécifié + Le nouveau mot-clé d'action a été assigné à un autre module, veuillez en choisir un autre + Ajouté + Completed successfully + Saisissez * si vous ne souhaitez pas utiliser de mot-clé spécifique + + + Requêtes personnalisées + Press the custom hotkey to automatically insert the specified query. + Prévisualiser + Raccourci indisponible. Veuillez en choisir un autre. + Raccourci invalide + Actualiser + + + Raccourci indisponible + + + Version + Heure + Veuillez nous indiquer comment l'application a planté afin que nous puissions le corriger + Envoyer le rapport + Annuler + Général + Exceptions + Type d'exception + Source + Trace d'appel + Envoi en cours + Signalement envoyé + Échec de l'envoi du signalement + Flow Launcher a rencontré une erreur + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Version v{0} de Flow Launcher disponible + Une erreur s'est produite lors de l'installation de la mise à jour + Actualiser + Annuler + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Flow Launcher doit redémarrer pour installer cette mise à jour + Les fichiers suivants seront mis à jour + Fichiers mis à jour + Description de la mise à jour + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Commande Shell + Bluetooth + Bluetooth dans les Paramètres de Windows + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/it.xaml b/Flow.Launcher/Languages/it.xaml index 0302a1531..30a401875 100644 --- a/Flow.Launcher/Languages/it.xaml +++ b/Flow.Launcher/Languages/it.xaml @@ -1,142 +1,295 @@ - - - Impossibile salvare il tasto di scelta rapida: {0} - Avvio fallito {0} - Formato file plugin non valido - Risultato prioritario con questa query - Rimuovi risultato prioritario con questa query - Query d'esecuzione: {0} - Ultima esecuzione: {0} - Apri - Impostazioni - About - Esci - - - Impostaizoni Flow Launcher - Generale - Avvia Wow all'avvio di Windows - Nascondi Flow Launcher quando perde il focus - Non mostrare le notifiche per una nuova versione - Ricorda l'ultima posizione di avvio del launcher - Lingua - Comportamento ultima ricerca - Conserva ultima ricerca - Seleziona ultima ricerca - Cancella ultima ricerca - Numero massimo di risultati mostrati - Ignora i tasti di scelta rapida in applicazione a schermo pieno - Cartella Python - Aggiornamento automatico - Seleziona - Nascondi Flow Launcher all'avvio - - - Plugin - Cerca altri plugins - Disabilita - Parole chiave - Cartella Plugin - Autore - Tempo di avvio: - Tempo ricerca: - - - Tema - Sfoglia per altri temi - Font campo di ricerca - Font campo risultati - Modalità finestra - Opacità - - - Tasti scelta rapida - Tasto scelta rapida Flow Launcher - Apri modificatori di risultato - Tasti scelta rapida per ricerche personalizzate - Mostra tasto di scelta rapida - Cancella - Modifica - Aggiungi - Selezionare un oggetto - Volete cancellare il tasto di scelta rapida per il plugin {0}? - - - Proxy HTTP - Abilita Proxy HTTP - Server HTTP - Porta - User Name - Password - Proxy Test - Salva - Il campo Server non può essere vuoto - Il campo Porta non può essere vuoto - Formato Porta non valido - Configurazione Proxy salvata correttamente - Proxy Configurato correttamente - Connessione Proxy fallita - - - About - Sito web - Versione - Hai usato Flow Launcher {0} volte - Cerca aggiornamenti - Una nuova versione {0} è disponibile, riavvia Flow Launcher per favore. - Ricerca aggiornamenti fallita, per favore controlla la tua connessione e le eventuali impostazioni proxy per api.github.com. - - Download degli aggiornamenti fallito, per favore controlla la tua connessione ed eventuali impostazioni proxy per github-cloud.s3.amazonaws.com, - oppure vai su https://github.com/Flow-Launcher/Flow.Launcher/releases per scaricare gli aggiornamenti manualmente. - - Note di rilascio: - - - Vecchia parola chiave d'azione - Nuova parola chiave d'azione - Annulla - Conferma - Impossibile trovare il plugin specificato - La nuova parola chiave d'azione non può essere vuota - La nuova parola chiave d'azione è stata assegnata ad un altro plugin, per favore sceglierne una differente - Successo - Usa * se non vuoi specificare una parola chiave d'azione - - - Anteprima - Tasto di scelta rapida non disponibile, per favore scegli un nuovo tasto di scelta rapida - Tasto di scelta rapida plugin non valido - Aggiorna - - - Tasto di scelta rapida non disponibile - - - Versione - Tempo - Per favore raccontaci come l'applicazione si è chiusa inaspettatamente così che possimo risolvere il problema - Invia rapporto - Annulla - Generale - Eccezioni - Tipo di eccezione - Risorsa - Traccia dello stack - Invio in corso - Rapporto inviato correttamente - Invio rapporto fallito - Flow Launcher ha riportato un errore - - - E' disponibile la nuova release {0} di Flow Launcher - Errore durante l'installazione degli aggiornamenti software - Aggiorna - Annulla - Questo aggiornamento riavvierà Flow Launcher - I seguenti file saranno aggiornati - File aggiornati - Descrizione aggiornamento - - \ No newline at end of file + + + + Impossibile salvare il tasto di scelta rapida: {0} + Avvio fallito {0} + Formato file plugin non valido + Risultato prioritario con questa query + Rimuovi risultato prioritario con questa query + Query d'esecuzione: {0} + Ultima esecuzione: {0} + Apri + Impostazioni + Informazioni + Esci + Chiudi + Copia + Taglia + Incolla + File + Cartella + Testo + Modalità gioco + Sospendere l'uso dei tasti di scelta rapida. + + + Impostaizoni Flow Launcher + Generale + Modalità portatile + Memorizzare tutte le impostazioni e i dati dell'utente in un'unica cartella (utile se utilizzato con unità rimovibili o servizi cloud). + Avvia Wow all'avvio di Windows + Error setting launch on startup + Nascondi Flow Launcher quando perde il focus + Non mostrare le notifiche per una nuova versione + Ricorda l'ultima posizione di avvio del launcher + Lingua + Comportamento ultima ricerca + Mostra/nasconde i risultati precedenti quando Flow Launcher viene riattivato. + Conserva ultima ricerca + Seleziona ultima ricerca + Cancella ultima ricerca + Numero massimo di risultati mostrati + Ignora i tasti di scelta rapida in applicazione a schermo pieno + Disattivare l'attivazione di Flow Launcher quando è attiva un'applicazione a schermo intero (consigliato per i giochi). + Gestore File predefinito + Selezionare il Gestore file da usare all'apertura della cartella. + Browser predefinito + Impostazione per Nuova scheda, Nuova finestra, Modalità privata. + Cartella Python + Aggiornamento automatico + Seleziona + Nascondi Flow Launcher all'avvio + Nascondi Icona nell'Area di Notifica + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Precisione di ricerca delle query + Modifica il punteggio minimo richiesto per i risultati. + Dovrebbe usare il Pinyin + Consente di utilizzare il Pinyin per la ricerca. Il Pinyin è il sistema standard di ortografia romanizzata per la traduzione del cinese + L'effetto ombra non è consentito mentre il tema corrente ha un effetto di sfocatura abilitato + + + Plugin + Cerca altri plugins + Attivo + Disabilita + Impostazioni parola chiave Azione + Parole chiave + Parola chiave di azione corrente + Nuova parola chiave d'azione + Cambia Keywords Azione + Priorità Attuale + Nuova Priorità + Priorità + Change Plugin Results Priority + Cartella Plugin + da + Tempo di avvio: + Tempo ricerca: + | Versione + Sito Web + Disinstalla + + + + Negozio dei Plugin + Aggiorna + Installa + + + Tema + Sfoglia per altri temi + Come creare un tema + Ciao + Font campo di ricerca + Font campo risultati + Modalità finestra + Opacità + Il tema {0} non esiste, si ritorna al tema predefinito + Impossibile caricare il tema {0}, si torna al tema predefinito + Cartella temi + Apri cartella del tema + Schema di colore + Sistema predefinito + Chiaro + Scuro + Effetto sonoro + Riproduce un piccolo suono all'apertura della finestra di ricerca + Animazione + Usa l'animazione nell'interfaccia utente + + + Tasti scelta rapida + Tasto scelta rapida Flow Launcher + Immettere la scorciatoia per mostrare/nascondere Flow Launcher. + Apri modificatori di risultato + Select a modifier key to open selected result via keyboard. + Mostra tasto di scelta rapida + Show result selection hotkey with results. + Tasti scelta rapida per ricerche personalizzate + Query + Cancella + Modifica + Aggiungi + Selezionare un oggetto + Volete cancellare il tasto di scelta rapida per il plugin {0}? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + Proxy HTTP + Abilita Proxy HTTP + Server HTTP + Porta + Nome utente + Password + Proxy Test + Salva + Il campo Server non può essere vuoto + Il campo Porta non può essere vuoto + Formato Porta non valido + Configurazione Proxy salvata correttamente + Proxy Configurato correttamente + Connessione Proxy fallita + + + Informazioni + Sito web + Github + Documentazione + Versione + Hai usato Flow Launcher {0} volte + Cerca aggiornamenti + Una nuova versione {0} è disponibile, riavvia Flow Launcher per favore. + Ricerca aggiornamenti fallita, per favore controlla la tua connessione e le eventuali impostazioni proxy per api.github.com. + + Download degli aggiornamenti fallito, per favore controlla la tua connessione ed eventuali impostazioni proxy per github-cloud.s3.amazonaws.com, + oppure vai su https://github.com/Flow-Launcher/Flow.Launcher/releases per scaricare gli aggiornamenti manualmente. + + Note di rilascio + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Browser predefinito + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Nome del browser + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Vecchia parola chiave d'azione + Nuova parola chiave d'azione + Annulla + Conferma + Impossibile trovare il plugin specificato + La nuova parola chiave d'azione non può essere vuota + La nuova parola chiave d'azione è stata assegnata ad un altro plugin, per favore sceglierne una differente + Successo + Completed successfully + Usa * se non vuoi specificare una parola chiave d'azione + + + Tasti scelta rapida per ricerche personalizzate + Press the custom hotkey to automatically insert the specified query. + Anteprima + Tasto di scelta rapida non disponibile, per favore scegli un nuovo tasto di scelta rapida + Tasto di scelta rapida plugin non valido + Aggiorna + + + Tasto di scelta rapida non disponibile + + + Versione + Tempo + Per favore raccontaci come l'applicazione si è chiusa inaspettatamente così che possimo risolvere il problema + Invia rapporto + Annulla + Generale + Eccezioni + Tipo di eccezione + Risorsa + Traccia dello stack + Invio in corso + Rapporto inviato correttamente + Invio rapporto fallito + Flow Launcher ha riportato un errore + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + E' disponibile la nuova release {0} di Flow Launcher + Errore durante l'installazione degli aggiornamenti software + Aggiorna + Annulla + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Questo aggiornamento riavvierà Flow Launcher + I seguenti file saranno aggiornati + File aggiornati + Descrizione aggiornamento + + + Salta + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Cerca ed esegue tutti i file e le applicazioni presenti sul PC + Cerca tutto da applicazioni, file, segnalibri, YouTube, Twitter e altro ancora. Tutto dalla comodità della tastiera senza mai toccare il mouse. + Flow Launcher si avvia con il tasto di scelta rapida qui sotto, provatelo subito. Per cambiarlo, fate clic sull'input e premete il tasto di scelta rapida desiderato sulla tastiera. + Scorciatoie + Scorciatoie e comandi + Cercate sul web, avviate applicazioni o eseguite varie funzioni tramite i plugin di Flow Launcher. Alcune funzioni iniziano con una parola chiave di azione e, se necessario, possono essere utilizzate senza parole chiave di azione. Provate le query seguenti in Flow Launcher. + Avviamo Flow Launcher + Finito. Goditi Flow Launcher. Non dimenticare il tasto di scelta rapida per iniziare :) + + + + Indietro / Menu contestuale + Navigazione tra le voci + Apri il menu di scelta rapida + Apri la cartella Contaning + Esegui come amministratore + Cronologia Query + Torna al risultato nel menu contestuale + Autocompleta + Apri / Esegui Elemento Selezionato + Aprire la finestra delle impostazioni + Ricarica i dati del plugin + + Meteo + Meteo nel risultato di Google + > ping 8.8.8.8 + Comando Della shell + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/ja.xaml b/Flow.Launcher/Languages/ja.xaml index 3fc6296c1..a2dcfb6a0 100644 --- a/Flow.Launcher/Languages/ja.xaml +++ b/Flow.Launcher/Languages/ja.xaml @@ -1,145 +1,295 @@ - - - ホットキー「{0}」の登録に失敗しました - {0}の起動に失敗しました - Flow Launcherプラグインの形式が正しくありません - このクエリを最上位にセットする - このクエリを最上位にセットをキャンセル - 次のコマンドを実行します:{0} - 最終実行時間:{0} - 開く - 設定 - Flow Launcherについて - 終了 - - - Flow Launcher設定 - 一般 - スタートアップ時にFlow Launcherを起動する - フォーカスを失った時にFlow Launcherを隠す - 最新版が入手可能であっても、アップグレードメッセージを表示しない - 前回のランチャーの位置を記憶 - 言語 - 前回のクエリの扱い - 前回のクエリを保存 - 前回のクエリを選択 - 前回のクエリを消去 - 結果の最大表示件数 - ウィンドウがフルスクリーン時にホットキーを無効にする - Pythonのディレクトリ - 自動更新 - 選択 - 起動時にFlow Launcherを隠す - トレイアイコンを隠す - - - プラグイン - プラグインを探す - 無効 - キーワード - プラグイン・ディレクトリ - 作者 - 初期化時間: - クエリ時間: - - - テーマ - テーマを探す - 検索ボックスのフォント - 検索結果一覧のフォント - ウィンドウモード - 透過度 - テーマ {0} が存在しません、デフォルトのテーマに戻します。 - テーマ {0} を読み込めません、デフォルトのテーマに戻します。 - - - ホットキー - Flow Launcher ホットキー - 結果修飾子を開く - カスタムクエリ ホットキー - ホットキーを表示 - 削除 - 編集 - 追加 - 項目選択してください - {0} プラグインのホットキーを本当に削除しますか? - - - HTTP プロキシ - HTTP プロキシを有効化 - HTTP サーバ - ポート - ユーザ名 - パスワード - プロキシをテストする - 保存 - サーバーは空白にできません - ポートは空白にできません - ポートの形式が正しくありません - プロキシの保存に成功しました - プロキシは正しいです - プロキシ接続に失敗しました - - - Flow Launcherについて - ウェブサイト - バージョン - あなたはFlow Launcherを {0} 回利用しました - アップデートを確認する - 新しいバージョン {0} が利用可能です。Flow Launcherを再起動してください。 - アップデートの確認に失敗しました、api.github.com への接続とプロキシ設定を確認してください。 - - 更新のダウンロードに失敗しました、github-cloud.s3.amazonaws.com への接続とプロキシ設定を確認するか、 - https://github.com/Flow-Launcher/Flow.Launcher/releases から手動でアップデートをダウンロードしてください。 - - リリースノート: - - - 古いアクションキーボード - 新しいアクションキーボード - キャンセル - 完了 - プラグインが見つかりません - 新しいアクションキーボードを空にすることはできません - 新しいアクションキーボードは他のプラグインに割り当てられています。他のアクションキーボードを指定してください - 成功しました - アクションキーボードを指定しない場合、* を使用してください - - - プレビュー - ホットキーは使用できません。新しいホットキーを選択してください - プラグインホットキーは無効です - 更新 - - - ホットキーは使用できません - - - バージョン - 時間 - アプリケーションが突然終了した手順を私たちに教えてくださると、バグ修正ができます - クラッシュレポートを送信 - キャンセル - 一般 - 例外 - 例外の種類 - ソース - スタックトレース - 送信中 - クラッシュレポートの送信に成功しました - クラッシュレポートの送信に失敗しました - Flow Launcherにエラーが発生しました - - - Flow Launcher の最新バージョン V{0} が入手可能です - Flow Launcherのアップデート中にエラーが発生しました - アップデート - キャンセル - このアップデートでは、Flow Launcherの再起動が必要です - 次のファイルがアップデートされます - 更新ファイル一覧 - アップデートの詳細 - - \ No newline at end of file + + + + ホットキー「{0}」の登録に失敗しました + {0}の起動に失敗しました + Flow Launcherプラグインの形式が正しくありません + このクエリを最上位にセットする + このクエリを最上位にセットをキャンセル + 次のコマンドを実行します:{0} + 最終実行時間:{0} + 開く + 設定 + Flow Launcherについて + 終了 + Close + Copy + 切り取り + 貼り付け + File + Folder + Text + ゲームモード + Suspend the use of Hotkeys. + + + Flow Launcher設定 + 一般 + Portable Mode + Store all settings and user data in one folder (Useful when used with removable drives or cloud services). + スタートアップ時にFlow Launcherを起動する + Error setting launch on startup + フォーカスを失った時にFlow Launcherを隠す + 最新版が入手可能であっても、アップグレードメッセージを表示しない + 前回のランチャーの位置を記憶 + 言語 + 前回のクエリの扱い + Show/Hide previous results when Flow Launcher is reactivated. + 前回のクエリを保存 + 前回のクエリを選択 + 前回のクエリを消去 + 結果の最大表示件数 + ウィンドウがフルスクリーン時にホットキーを無効にする + Disable Flow Launcher activation when a full screen application is active (Recommended for games). + Default File Manager + Select the file manager to use when opening the folder. + Default Web Browser + Setting for New Tab, New Window, Private Mode. + Pythonのディレクトリ + 自動更新 + 選択 + 起動時にFlow Launcherを隠す + トレイアイコンを隠す + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Should Use Pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + プラグインを探す + 有効 + 無効 + Action keyword Setting + キーワード + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + 重要度 + Change Plugin Results Priority + プラグイン・ディレクトリ + by + 初期化時間: + クエリ時間: + | バージョン + ウェブサイト + アンインストール + + + + プラグインストア + Refresh + Install + + + テーマ + テーマを探す + How to create a theme + Hi There + 検索ボックスのフォント + 検索結果一覧のフォント + ウィンドウモード + 透過度 + テーマ {0} が存在しません、デフォルトのテーマに戻します。 + テーマ {0} を読み込めません、デフォルトのテーマに戻します。 + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + ホットキー + Flow Launcher ホットキー + Enter shortcut to show/hide Flow Launcher. + 結果修飾子を開く + Select a modifier key to open selected result via keyboard. + ホットキーを表示 + Show result selection hotkey with results. + カスタムクエリ ホットキー + Query + 削除 + 編集 + 追加 + 項目選択してください + {0} プラグインのホットキーを本当に削除しますか? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP プロキシ + HTTP プロキシを有効化 + HTTP サーバ + ポート + ユーザ名 + パスワード + プロキシをテストする + 保存 + サーバーは空白にできません + ポートは空白にできません + ポートの形式が正しくありません + プロキシの保存に成功しました + プロキシは正しいです + プロキシ接続に失敗しました + + + Flow Launcherについて + ウェブサイト + Github + Docs + バージョン + あなたはFlow Launcherを {0} 回利用しました + アップデートを確認する + 新しいバージョン {0} が利用可能です。Flow Launcherを再起動してください。 + アップデートの確認に失敗しました、api.github.com への接続とプロキシ設定を確認してください。 + + 更新のダウンロードに失敗しました、github-cloud.s3.amazonaws.com への接続とプロキシ設定を確認するか、 + https://github.com/Flow-Launcher/Flow.Launcher/releases から手動でアップデートをダウンロードしてください。 + + リリースノート + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + 古いアクションキーボード + 新しいアクションキーボード + キャンセル + 完了 + プラグインが見つかりません + 新しいアクションキーボードを空にすることはできません + 新しいアクションキーボードは他のプラグインに割り当てられています。他のアクションキーボードを指定してください + 成功しました + Completed successfully + アクションキーボードを指定しない場合、* を使用してください + + + + Press the custom hotkey to automatically insert the specified query. + プレビュー + ホットキーは使用できません。新しいホットキーを選択してください + プラグインホットキーは無効です + 更新 + + + ホットキーは使用できません + + + バージョン + 時間 + アプリケーションが突然終了した手順を私たちに教えてくださると、バグ修正ができます + クラッシュレポートを送信 + キャンセル + 一般 + 例外 + 例外の種類 + ソース + スタックトレース + 送信中 + クラッシュレポートの送信に成功しました + クラッシュレポートの送信に失敗しました + Flow Launcherにエラーが発生しました + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Flow Launcher の最新バージョン V{0} が入手可能です + Flow Launcherのアップデート中にエラーが発生しました + 更新 + キャンセル + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + このアップデートでは、Flow Launcherの再起動が必要です + 次のファイルがアップデートされます + 更新ファイル一覧 + アップデートの詳細 + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + プラグインデータのリロード + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/ko.xaml b/Flow.Launcher/Languages/ko.xaml index 7184bef34..acb68cb4f 100644 --- a/Flow.Launcher/Languages/ko.xaml +++ b/Flow.Launcher/Languages/ko.xaml @@ -1,285 +1,295 @@ - - - 단축키 등록 실패: {0} - {0}을 실행할 수 없습니다. - Flow Launcher 플러그인 파일 형식이 유효하지 않습니다. - 이 쿼리의 최상위로 설정 - 이 쿼리의 최상위 설정 취소 - 쿼리 실행: {0} - 마지막 실행 시간: {0} - 열기 - 설정 - 정보 - 종료 - 닫기 - 복사 - 잘라내기 - 붙여넣기 - 게임 모드 - 단축키 사용을 일시중단합니다. - - - Flow Launcher 설정 - 일반 - 포터블 모드 - 모든 설정이 폴더안에 들어갑니다. USB 드라이브나 클라우드로 사용 가능합니다. - 시스템 시작 시 Flow Launcher 실행 - 포커스 잃으면 Flow Launcher 숨김 - 새 버전 알림 끄기 - 마지막 실행 위치 기억 - 언어 - 마지막 쿼리 스타일 - 쿼리박스를 열었을 때 쿼리 처리 방식 - 직전 쿼리에 계속 입력 - 직전 쿼리 내용 선택 - 직전 쿼리 지우기 - 표시할 결과 수 - 전체화면 모드에서는 단축키 무시 - 게이머라면 켜는 것을 추천합니다. - 기본 파일관리자 - 폴더를 열 때 사용할 파일관리자를 선택하세요. - 기본 웹 브라우저 - 새 탭, 새 창, 프라이빗 모드 설정 - Python 디렉토리 - 자동 업데이트 - 선택 - 시작 시 Flow Launcher 숨김 - 트레이 아이콘 숨기기 - 쿼리 검색 정밀도 - 검색 결과에 필요한 최소 매치 점수를 변경합니다. - 항상 Pinyin 사용 - Pinyin을 사용하여 검색할 수 있습니다. Pinyin(병음)은 로마자 중국어 입력 방식입니다. - 반투명 흐림 효과를 사용하는 경우, 그림자 효과를 쓸 수 없습니다. - - - 플러그인 - 플러그인 더 찾아보기 - - - 액션 키워드 - 현재 액션 키워드 - 새 액션 키워드 - 현재 중요도: - 새 중요도: - 중요도 - 플러그인 폴더 - 제작자 - 초기화 시간: - 쿼리 시간: - | 버전 - 웹사이트 - - - - 플러그인 스토어 - 새로고침 - 설치 - - - - 테마 - 테마 갤러리 - 테마 제작 안내 - Hi There - 쿼리 상자 글꼴 - 결과 항목 글꼴 - 윈도우 모드 - 투명도 - {0} 테마가 존재하지 않습니다. 기본 테마로 변경합니다. - {0} 테마 로드에 실패했습니다. 기본 테마로 변경합니다. - 테마 폴더 - 테마 폴더 열기 - 앱 색상 - 시스템 기본 - 밝게 - 어둡게 - 소리 효과 - 검색창을 열 때 작은 소리를 재생합니다. - 애니메이션 - 일부 UI에 애니메이션을 사용합니다. - - - 단축키 - Flow Launcher 단축키 - Flow Launcher를 열 때 사용할 단축키를 입력합니다. - 결과 선택 단축키 - 결과 목록을 선택하는 단축키입니다. - 단축키 표시 - 결과창에서 결과 선택 단축키를 표시합니다. - 사용자지정 쿼리 단축키 - 쿼리 - 삭제 - 편집 - 추가 - 항목을 선택하세요. - {0} 플러그인 단축키를 삭제하시겠습니까? - 그림자 효과 - 그림자 효과는 GPU를 사용합니다. 컴퓨터 퍼포먼스가 제한적인 경우 사용을 추천하지 않습니다. - 창 넓이 - 플루언트 아이콘 사용 - 결과 및 일부 메뉴에서 플루언트 아이콘을 사용합니다. - - - HTTP 프록시 - HTTP 프록시 켜기 - HTTP 서버 - 포트 - 사용자명 - 패스워드 - 프록시 테스트 - 저장 - 서버를 입력하세요. - 포트를 입력하세요. - 유효하지 않은 포트 형식 - 프록시 설정이 저장되었습니다. - 프록시 설정 정상 - 프록시 연결 실패 - - - 정보 - 웹사이트 - Github - 문서 - 버전 - Flow Launcher를 {0}번 실행했습니다. - 업데이트 확인 - 새 버전({0})이 있습니다. Flow Launcher를 재시작하세요. - 업데이트 확인을 실패했습니다. api.github.com로의 연결 또는 프록시 설정을 확인해주세요. - - 업데이트 다운로드에 실패했습니다. github-cloud.s3.amazonaws.com의 연결 또는 프록시 설정을 확인해주세요. - 수동 다운로드를 하려면 https://github.com/Flow-Launcher/Flow.Launcher/releases 으로 방문하세요. - - 릴리즈 노트 - 사용 팁 - 개발자도구 - 설정 폴더 - 로그 폴더 - 마법사 - - - 파일관리자 선택 - 사용하려는 파일관리자를 선택하고 필요한 경우 인수를 추가하세요. 기본 인수는 "%d" 이며 해당 위치에 경로가 입력됩니다. 예를들어 "totalcmd.exe /A c:\windows"와 같은 명령이 필요한 경우, 인수는 /A "%d" 입니다. - "%f"는 특정 파일의 경로를 나타냅니다. 파일관리자에서 선택한 파일/폴더의 위치를 강조하는 기능에서 사용됩니다. 이 인수는 "파일경로 인수" 항목에서만 사용할 수 있습니다. 파일관리자에 해당 기능이 없거나 잘 모를 경우 "%d" 인수를 사용할 수 있습니다. - 파일관리자 - 프로필 이름 - 파일관리자 경로 - 폴더경로 인수 - 파일경로 인수 - - - 기본 웹 브라우저r - 기본 설정은 OS의 브라우저 설정을 따릅니다. 별도 설정시 Flow Launcher가 해당 브라우저를 사용합니다. - 브라우저 - 브라우저 이름 - 브라우저 경로 - 새 창 - 새 탭 - 프라이빗 모드 - - - 중요도 변경 - 높은 수를 넣을수록 상위 결과에 표시됩니다. 5를 시도해보세요. 다른 플러그인 보다 결과를 낮춰 표시하고 싶다면, 그보다 낮은 수를 입력하세요. - 중요도에 올바른 정수를 입력하세요. - - 예전 액션 키워드 - 새 액션 키워드 - 취소 - 완료 - 플러그인을 찾을 수 없습니다. - 새 액션 키워드를 입력하세요. - 새 액션 키워드가 할당된 플러그인이 이미 있습니다. 다른 액션 키워드를 입력하세요. - 성공 - 성공적으로 완료했습니다. - 플러그인을 시작하는데 필요한 액션 키워드를 입력하세요. 액션 키워드를 지정하지 않으려면 *를 사용하세요. 이 경우 키워드를 입력하지 않아도 동작합니다. - - - 커스텀 플러그인 단축키 - 단축키를 지정하여 특정 쿼리를 자동으로 입력할 수 있습니다. 사용하고 싶은 단축키를 눌러 지정한 후, 사용할 쿼리를 입력하세요. - 미리보기 - 단축키를 사용할 수 없습니다. 다른 단축키를 입력하세요. - 플러그인 단축키가 유효하지 않습니다. - 업데이트 - - - 단축키를 사용할 수 없습니다. - - - 버전 - 시간 - 수정을 위해 애플리케이션이 어떻게 충돌했는지 알려주세요. - 보고서 보내기 - 취소 - 일반 - 예외 - 예외 유형 - 소스 - 스택 추적 - 보내는 중 - 보고서를 정상적으로 보냈습니다. - 보고서를 보내지 못했습니다. - Flow Launcher에 문제가 발생했습니다. - - - 잠시 기다려주세요... - - 새 업데이트 확인 중 - 새 Flow Launcher 버전({0})을 사용할 수 있습니다. - 이미 가장 최신 버전의 Flow Launcher를 사용중입니다. - 업데이트 발견 - 업데이트 중... - - Flow Launcher가 유저 정보 데이터를 새버전으로 옮길 수 없습니다. - 프로필 데이터 폴더를 수동으로 {0} 에서 {1}로 옮겨주세요. - - 새 업데이트 - 소프트웨어 업데이트를 설치하는 중에 오류가 발생했습니다. - 업데이트 - 취소 - 업데이트 실패 - Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. - 업데이트를 위해 Flow Launcher를 재시작합니다. - 아래 파일들이 업데이트됩니다. - 업데이트 파일 - 업데이트 설명 - - - - 건너뛰기 - Flow Launcher에 오신 것을 환영합니다 - 안녕하세요, Flow Launcher를 처음 실행하시네요! - 시작하기전에 이 마법사가 간단한 설정을 도와드릴겁니다. 물론 건너 뛰셔도 됩니다. 사용하시는 언어를 선택해주세요. - PC에서 모든 파일과 프로그램을 검색하고 실행합니다 - 프로그램, 파일, 즐겨찾기, YouTube, Twitter 등 모든 것을 검색하세요. 마우스에 손대지 않고 키보드만으로 모든 것을 얻을 수 있습니다. - Flow는 아래의 단축키로 실행합니다. 변경하려면 입력창을 선택하고 키보드에서 원하는 단축키를 누릅니다. - 단축키 - 액션 키워드와 명령어 - Flow Launcher는 플러그인을 통해 웹 검색, 프로그램 실행, 다양한 기능을 실행합니다. 특정 기능은 액션 키워드로 시작하며, 필요한 경우 액션 키워드 없이 사용할 수 있습니다. Flow Launcher에서 아래 쿼리를 사용해 보세요. - Flow Launcher를 시작합시다 - 끝났습니다. Flow Launcher를 즐겨주세요. 시작하는 단축키를 잊지마세요 :) - - - - 뒤로/ 콘텍스트 메뉴 - 아이템 이동 - 콘텍스트 메뉴 열기 - 포함된 폴더 열기 - 관리자 권한으로 실행 - 검색 기록 - 콘텍스트 메뉴에서 뒤로 가기 - 선택한 아이템 열기 - 설정창 열기 - 플러그인 데이터 새로고침 - - 날씨 - 구글 날씨 검색 - > ping 8.8.8.8 - 쉘 명령어 - 블루투스 - 윈도우 블루투스 설정 - 스메 - 스티커 메모 - - \ No newline at end of file + + + + 단축키 등록 실패: {0} + {0}을 실행할 수 없습니다. + Flow Launcher 플러그인 파일 형식이 유효하지 않습니다. + 이 쿼리의 최상위로 설정 + 이 쿼리의 최상위 설정 취소 + 쿼리 실행: {0} + 마지막 실행 시간: {0} + 열기 + 설정 + 정보 + 종료 + 닫기 + 복사하기 + 잘라내기 + 붙여넣기 + 파일 + 폴더 + 텍스트 + 게임 모드 + 단축키 사용을 일시중단합니다. + + + Flow Launcher 설정 + 일반 + 포터블 모드 + 모든 설정이 폴더안에 들어갑니다. USB 드라이브나 클라우드로 사용 가능합니다. + 시스템 시작 시 Flow Launcher 실행 + Error setting launch on startup + 포커스 잃으면 Flow Launcher 숨김 + 새 버전 알림 끄기 + 마지막 실행 위치 기억 + 언어 + 마지막 쿼리 스타일 + 쿼리박스를 열었을 때 쿼리 처리 방식 + 직전 쿼리에 계속 입력 + 직전 쿼리 내용 선택 + 직전 쿼리 지우기 + 표시할 결과 수 + 전체화면 모드에서는 단축키 무시 + 게이머라면 켜는 것을 추천합니다. + 기본 파일관리자 + 폴더를 열 때 사용할 파일관리자를 선택하세요. + 기본 웹 브라우저 + 새 탭, 새 창, 사생활 보호 모드 + Python 디렉토리 + 자동 업데이트 + 선택 + 시작 시 Flow Launcher 숨김 + 트레이 아이콘 숨기기 + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + 쿼리 검색 정밀도 + 검색 결과에 필요한 최소 매치 점수를 변경합니다. + 항상 Pinyin 사용 + Pinyin을 사용하여 검색할 수 있습니다. Pinyin(병음)은 로마자 중국어 입력 방식입니다. + 반투명 흐림 효과를 사용하는 경우, 그림자 효과를 쓸 수 없습니다. + + + 플러그인 + 플러그인 더 찾아보기 + + + 액션 키워드 설정 + 액션 키워드 + 현재 액션 키워드 + 새 액션 키워드 + 액션 키워드 변경 + 현재 중요도: + 새 중요도: + 중요도 + 플러그인 결과 우선 순위 변경 + 플러그인 폴더 + 제작자 + 초기화 시간: + 쿼리 시간: + | 버전 + 웹사이트 + 제거 + + + + 플러그인 스토어 + 새로고침 + 설치 + + + 테마 + 테마 갤러리 + 테마 제작 안내 + 안녕하세요! + 쿼리 상자 글꼴 + 결과 항목 글꼴 + 윈도우 모드 + 투명도 + {0} 테마가 존재하지 않습니다. 기본 테마로 변경합니다. + {0} 테마 로드에 실패했습니다. 기본 테마로 변경합니다. + 테마 폴더 + 테마 폴더 열기 + 앱 색상 + 시스템 기본 + 밝게 + 어둡게 + 소리 효과 + 검색창을 열 때 작은 소리를 재생합니다. + 애니메이션 + 일부 UI에 애니메이션을 사용합니다. + + + 단축키 + Flow Launcher 단축키 + Flow Launcher를 열 때 사용할 단축키를 입력합니다. + 결과 선택 단축키 + 결과 목록을 선택하는 단축키입니다. + 단축키 표시 + 결과창에서 결과 선택 단축키를 표시합니다. + 사용자지정 쿼리 단축키 + 쿼리 + 삭제 + 편집 + 추가 + 항목을 선택하세요. + {0} 플러그인 단축키를 삭제하시겠습니까? + 그림자 효과 + 그림자 효과는 GPU를 사용합니다. 컴퓨터 퍼포먼스가 제한적인 경우 사용을 추천하지 않습니다. + 창 넓이 + 플루언트 아이콘 사용 + 결과 및 일부 메뉴에서 플루언트 아이콘을 사용합니다. + + + HTTP 프록시 + HTTP 프록시 켜기 + HTTP 서버 + 포트 + 사용자명 + 패스워드 + 프록시 테스트 + 저장 + 서버를 입력하세요. + 포트를 입력하세요. + 유효하지 않은 포트 형식 + 프록시 설정이 저장되었습니다. + 프록시 설정 정상 + 프록시 연결 실패 + + + 정보 + 웹사이트 + Github + 문서 + 버전 + Flow Launcher를 {0}번 실행했습니다. + 업데이트 확인 + 새 버전({0})이 있습니다. Flow Launcher를 재시작하세요. + 업데이트 확인을 실패했습니다. api.github.com로의 연결 또는 프록시 설정을 확인해주세요. + + 업데이트 다운로드에 실패했습니다. github-cloud.s3.amazonaws.com의 연결 또는 프록시 설정을 확인해주세요. + 수동 다운로드를 하려면 https://github.com/Flow-Launcher/Flow.Launcher/releases 으로 방문하세요. + + 릴리즈 노트 + 사용 팁 + 개발자도구 + 설정 폴더 + 로그 폴더 + Clear Logs + Are you sure you want to delete all logs? + 마법사 + + + 파일관리자 선택 + 사용하려는 파일관리자를 선택하고 필요한 경우 인수를 추가하세요. 기본 인수는 "%d" 이며 해당 위치에 경로가 입력됩니다. 예를들어 "totalcmd.exe /A c:\windows"와 같은 명령이 필요한 경우, 인수는 /A "%d" 입니다. + "%f"는 특정 파일의 경로를 나타냅니다. 파일관리자에서 선택한 파일/폴더의 위치를 강조하는 기능에서 사용됩니다. 이 인수는 "파일경로 인수" 항목에서만 사용할 수 있습니다. 파일관리자에 해당 기능이 없거나 잘 모를 경우 "%d" 인수를 사용할 수 있습니다. + 파일관리자 + 프로필 이름 + 파일관리자 경로 + 폴더경로 인수 + 파일경로 인수 + + + 기본 웹 브라우저r + 기본 설정은 OS의 기본 브라우저 설정을 따릅니다. 특정 브라우저를 지정할 경우, Flow는 해당 브라우저를 사용합니다. + 브라우저 + 브라우저 이름 + 브라우저 경로 + 새 창 + 새 탭 + 사생활 보호 모드 + + + 중요도 변경 + 높은 수를 넣을수록 상위 결과에 표시됩니다. 5를 시도해보세요. 다른 플러그인 보다 결과를 낮춰 표시하고 싶다면, 그보다 낮은 수를 입력하세요. + 중요도에 올바른 정수를 입력하세요. + + + 예전 액션 키워드 + 새 액션 키워드 + 취소 + 완료 + 플러그인을 찾을 수 없습니다. + 새 액션 키워드를 입력하세요. + 새 액션 키워드가 할당된 플러그인이 이미 있습니다. 다른 액션 키워드를 입력하세요. + 성공 + 성공적으로 완료했습니다. + 플러그인을 시작하는데 필요한 액션 키워드를 입력하세요. 액션 키워드를 지정하지 않으려면 *를 사용하세요. 이 경우 키워드를 입력하지 않아도 동작합니다. + + + 사용자지정 쿼리 단축키 + 단축키를 지정하여 특정 쿼리를 자동으로 입력할 수 있습니다. 사용하고 싶은 단축키를 눌러 지정한 후, 사용할 쿼리를 입력하세요. + 미리보기 + 단축키를 사용할 수 없습니다. 다른 단축키를 입력하세요. + 플러그인 단축키가 유효하지 않습니다. + 업데이트 + + + 단축키를 사용할 수 없습니다. + + + 버전 + 시간 + 수정을 위해 애플리케이션이 어떻게 충돌했는지 알려주세요. + 보고서 보내기 + 취소 + 일반 + 예외 + 예외 유형 + 소스 + 스택 추적 + 보내는 중 + 보고서를 정상적으로 보냈습니다. + 보고서를 보내지 못했습니다. + Flow Launcher에 문제가 발생했습니다. + + + 잠시 기다려주세요... + + + 새 업데이트 확인 중 + 이미 가장 최신 버전의 Flow Launcher를 사용중입니다. + 업데이트 발견 + 업데이트 중... + + Flow Launcher가 유저 정보 데이터를 새버전으로 옮길 수 없습니다. + 프로필 데이터 폴더를 수동으로 {0} 에서 {1}로 옮겨주세요. + + 새 업데이트 + 새 Flow Launcher 버전({0})을 사용할 수 있습니다. + 소프트웨어 업데이트를 설치하는 중에 오류가 발생했습니다. + 업데이트 + 취소 + 업데이트 실패 + 연결을 확인하고 프록시 설정을 github-cloud.s3.amazonaws.com으로 업데이트해 보십시오. + 업데이트를 위해 Flow Launcher를 재시작합니다. + 아래 파일들이 업데이트됩니다. + 업데이트 파일 + 업데이트 설명 + + + 건너뛰기 + Flow Launcher에 오신 것을 환영합니다 + 안녕하세요, Flow Launcher를 처음 실행하시네요! + 시작하기전에 이 마법사가 간단한 설정을 도와드릴겁니다. 물론 건너 뛰셔도 됩니다. 사용하시는 언어를 선택해주세요. + PC에서 모든 파일과 프로그램을 검색하고 실행합니다 + 프로그램, 파일, 즐겨찾기, YouTube, Twitter 등 모든 것을 검색하세요. 마우스에 손대지 않고 키보드만으로 모든 것을 얻을 수 있습니다. + Flow는 아래의 단축키로 실행합니다. 변경하려면 입력창을 선택하고 키보드에서 원하는 단축키를 누릅니다. + 단축키 + 액션 키워드와 명령어 + Flow Launcher는 플러그인을 통해 웹 검색, 프로그램 실행, 다양한 기능을 실행합니다. 특정 기능은 액션 키워드로 시작하며, 필요한 경우 액션 키워드 없이 사용할 수 있습니다. Flow Launcher에서 아래 쿼리를 사용해 보세요. + Flow Launcher를 시작합시다 + 끝났습니다. Flow Launcher를 즐겨주세요. 시작하는 단축키를 잊지마세요 :) + + + + 뒤로/ 콘텍스트 메뉴 + 아이템 이동 + 콘텍스트 메뉴 열기 + 포함된 폴더 열기 + 관리자 권한으로 실행 + 검색 기록 + 콘텍스트 메뉴에서 뒤로 가기 + 자동완성 + 선택한 아이템 열기 + 설정창 열기 + 플러그인 데이터 새로고침 + + 날씨 + 구글 날씨 검색 + > ping 8.8.8.8 + 쉘 명령어 + 블루투스 + 윈도우 블루투스 설정 + 스메 + 스티커 메모 + + diff --git a/Flow.Launcher/Languages/nb.xaml b/Flow.Launcher/Languages/nb.xaml new file mode 100644 index 000000000..0848e9d64 --- /dev/null +++ b/Flow.Launcher/Languages/nb.xaml @@ -0,0 +1,295 @@ + + + + Failed to register hotkey: {0} + Could not start {0} + Invalid Flow Launcher plugin file format + Set as topmost in this query + Cancel topmost in this query + Execute query: {0} + Last execution time: {0} + Open + Settings + About + Exit + Close + Copy + Cut + Paste + File + Folder + Text + Game Mode + Suspend the use of Hotkeys. + + + Flow Launcher Settings + General + Portable Mode + Store all settings and user data in one folder (Useful when used with removable drives or cloud services). + Start Flow Launcher on system startup + Error setting launch on startup + Hide Flow Launcher when focus is lost + Do not show new version notifications + Remember last launch location + Language + Last Query Style + Show/Hide previous results when Flow Launcher is reactivated. + Preserve Last Query + Select last Query + Empty last Query + Maximum results shown + Ignore hotkeys in fullscreen mode + Disable Flow Launcher activation when a full screen application is active (Recommended for games). + Default File Manager + Select the file manager to use when opening the folder. + Default Web Browser + Setting for New Tab, New Window, Private Mode. + Python Directory + Auto Update + Select + Hide Flow Launcher on startup + Hide tray icon + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Should Use Pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + Find more plugins + On + Off + Action keyword Setting + Action keyword + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + Priority + Change Plugin Results Priority + Plugin Directory + by + Init time: + Query time: + | Version + Website + Uninstall + + + + Plugin Store + Refresh + Install + + + Theme + Theme Gallery + How to create a theme + Hi There + Query Box Font + Result Item Font + Window Mode + Opacity + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + Hotkey + Flow Launcher Hotkey + Enter shortcut to show/hide Flow Launcher. + Open Result Modifier Key + Select a modifier key to open selected result via keyboard. + Show Hotkey + Show result selection hotkey with results. + Custom Query Hotkey + Query + Delete + Edit + Add + Please select an item + Are you sure you want to delete {0} plugin hotkey? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP Proxy + Enable HTTP Proxy + HTTP Server + Port + User Name + Password + Test Proxy + Save + Server field can't be empty + Port field can't be empty + Invalid port format + Proxy configuration saved successfully + Proxy configured correctly + Proxy connection failed + + + About + Website + Github + Docs + Version + You have activated Flow Launcher {0} times + Check for Updates + New version {0} is available, would you like to restart Flow Launcher to use the update? + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually. + + Release Notes + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Old Action Keyword + New Action Keyword + Cancel + Done + Can't find specified plugin + New Action Keyword can't be empty + This new Action Keyword is already assigned to another plugin, please choose a different one + Success + Completed successfully + Enter the action keyword you like to use to start the plugin. Use * if you don't want to specify any, and the plugin will be triggered without any action keywords. + + + Custom Query Hotkey + Press the custom hotkey to automatically insert the specified query. + Preview + Hotkey is unavailable, please select a new hotkey + Invalid plugin hotkey + Update + + + Hotkey Unavailable + + + Version + Time + Please tell us how application crashed so we can fix it + Send Report + Cancel + General + Exceptions + Exception Type + Source + Stack Trace + Sending + Report sent successfully + Failed to send report + Flow Launcher got an error + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + New Flow Launcher release {0} is now available + An error occurred while trying to install software updates + Update + Cancel + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + This upgrade will restart Flow Launcher + Following files will be updated + Update files + Update description + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/nl.xaml b/Flow.Launcher/Languages/nl.xaml index 822af21bf..e398afa51 100644 --- a/Flow.Launcher/Languages/nl.xaml +++ b/Flow.Launcher/Languages/nl.xaml @@ -1,133 +1,295 @@ - - - Sneltoets registratie: {0} mislukt - Kan {0} niet starten - Ongeldige Flow Launcher plugin bestandsextensie - Stel in als hoogste in deze query - Annuleer hoogste in deze query - Executeer query: {0} - Laatste executie tijd: {0} - Open - Instellingen - About - Afsluiten - - - Flow Launcher Instellingen - Algemeen - Start Flow Launcher als systeem opstart - Verberg Flow Launcher als focus verloren is - Laat geen nieuwe versie notificaties zien - Herinner laatste opstart locatie - Taal - Laat maximale resultaten zien - Negeer sneltoetsen in fullscreen mode - Python map - Automatische Update - Selecteer - Verberg Flow Launcher als systeem opstart - - - Plugin - Zoek meer plugins - Disable - Action terfwoorden - Plugin map - Auteur - Init tijd: - Query tijd: - - - Thema - Zoek meer thema´s - Query Box lettertype - Resultaat Item lettertype - Window Mode - Ondoorzichtigheid - - - Sneltoets - Flow Launcher Sneltoets - Open resultaatmodificatoren - Custom Query Sneltoets - Sneltoets weergeven - Verwijder - Bewerken - Toevoegen - Selecteer een item - Weet u zeker dat je {0} plugin sneltoets wilt verwijderen? - - - HTTP Proxy - Enable HTTP Proxy - HTTP Server - Poort - Gebruikersnaam - Wachtwoord - Test Proxy - Opslaan - Server moet ingevuld worden - Poort moet ingevuld worden - Ongeldige poort formaat - Proxy succesvol opgeslagen - Proxy correct geconfigureerd - Proxy connectie mislukt - - - Over - Website - Versie - U heeft Flow Launcher {0} keer opgestart - Zoek naar Updates - Nieuwe versie {0} beschikbaar, start Flow Launcher opnieuw op - Release Notes: - - - Oude actie sneltoets - Nieuwe actie sneltoets - Annuleer - Klaar - Kan plugin niet vinden - Nieuwe actie sneltoets moet ingevuld worden - Nieuwe actie sneltoets is toegewezen aan een andere plugin, wijs een nieuwe actie sneltoets aan - Succesvol - Gebruik * wanneer je geen nieuwe actie sneltoets wilt specificeren - - - Voorbeeld - Sneltoets is niet beschikbaar, selecteer een nieuwe sneltoets - Ongeldige plugin sneltoets - Update - - - Sneltoets niet beschikbaar - - - Versie - Tijd - Vertel ons hoe de applicatie is gecrashed, zodat wij de applicatie kunnen verbeteren - Verstuur Rapport - Annuleer - Algemeen - Uitzonderingen - Uitzondering Type - Bron - Stack Opzoeken - Versturen - Rapport succesvol - Rapport mislukt - Flow Launcher heeft een error - - - Nieuwe Flow Launcher release {0} nu beschikbaar - Een error is voorgekomen tijdens het installeren van de update - Update - Annuleer - Deze upgrade zal Flow Launcher opnieuw opstarten - Volgende bestanden zullen worden geüpdatet - Update bestanden - Update beschrijving - - + + + + Sneltoets registratie: {0} mislukt + Kan {0} niet starten + Ongeldige Flow Launcher plugin bestandsextensie + Stel in als hoogste in deze query + Annuleer hoogste in deze query + Executeer query: {0} + Laatste executie tijd: {0} + Openen + Instellingen + Over + Afsluiten + Sluiten + Kopiëren + Knippen + Plakken + Bestand + Map + Tekst + Spelmodus + Stop het gebruik van Sneltoetsen. + + + Flow Launcher Instellingen + Algemeen + Draagbare Modus + Alle instellingen en gebruikersgegevens opslaan in één map (Nuttig bij het gebruik van verwijderbare schijven of cloud services). + Start Flow Launcher als systeem opstart + Error setting launch on startup + Verberg Flow Launcher als focus verloren is + Laat geen nieuwe versie notificaties zien + Herinner laatste opstart locatie + Taal + Laatste Query Style + Toon/Verberg vorige resultaten wanneer Flow Launcher wordt gereactiveerd. + Behoud laatste zoekopdracht + Selecteer laatste zoekopdracht + Laatste zoekopdracht verwijderen + Laat maximale resultaten zien + Negeer sneltoetsen in fullscreen mode + De activatie van Flow Launcher uitschakelen als er een applicatie actief is die zich in een volledig scherm bevind (Aanbevolen voor spellen). + Standaard Bestandsbeheerder + Selecteer de bestandsbeheerder voor het openen van de map. + Standaard webbrowser + Instelling voor Nieuw tabblad, Nieuw Venster, Privémodus. + Python map + Automatische Update + Selecteer + Verberg Flow Launcher als systeem opstart + Systeemvakpictogram verbergen + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Zoekopdracht nauwkeurigheid + Wijzigt de minimale overeenkomst-score die vereist is voor resultaten. + Zou Pinyin moeten gebruiken + Zorgt ervoor dat Pinyin gebruikt kan worden om te zoeken. Pinyin is het standaard systeem van geromaniseerde spelling voor het vertalen van Chinees + Schaduw effect is niet toegestaan omdat het huidige thema een vervagingseffect heeft + + + Plugin + Zoek meer plugins + Aan + Disable + Actie sneltoets instelling + Action terfwoorden + Huidige actie sneltoets + Nieuw actie sneltoets + Wijzig actie-sneltoets + Huidige Prioriteit + Nieuwe Prioriteit + Prioriteit + Change Plugin Results Priority + Plugin map + door + Init tijd: + Query tijd: + | Versie + Website + Uninstall + + + + Plugin Winkel + Vernieuwen + Installeren + + + Thema + Zoek meer thema´s + Hoe maak je een thema + Hallo daar + Query Box lettertype + Resultaat Item lettertype + Venster Modus + Ondoorzichtigheid + Thema {0} bestaat niet, terugvallen op het standaardthema + Laden van thema {0} is mislukt, terugvallen op het standaard thema + Thema Map + Open Thema Map + Kleurenschema + Systeemstandaard + Licht + Donker + Geluidseffect + Een klein geluid afspelen wanneer het zoekvenster wordt geopend + Animatie + Animatie gebruiken in UI + + + Sneltoets + Flow Launcher Sneltoets + Voer snelkoppeling in om Flow Launcher te tonen/verbergen. + Open resultaatmodificatoren + Kies een aanpassingstoets om het geselecteerde resultaat te openen via het toetsenbord. + Sneltoets weergeven + Show result selection hotkey with results. + Custom Query Sneltoets + Query + Verwijder + Bewerken + Toevoegen + Selecteer een item + Weet u zeker dat je {0} plugin sneltoets wilt verwijderen? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP Proxy + Enable HTTP Proxy + HTTP Server + Poort + Gebruikersnaam + Wachtwoord + Test Proxy + Opslaan + Server moet ingevuld worden + Poort moet ingevuld worden + Ongeldige poort formaat + Proxy succesvol opgeslagen + Proxy correct geconfigureerd + Proxy connectie mislukt + + + About + Website + Github + Docs + Versie + U heeft Flow Launcher {0} keer opgestart + Zoek naar Updates + Nieuwe versie {0} beschikbaar, start Flow Launcher opnieuw op + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually. + + Release Notes + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Oude actie sneltoets + Nieuwe actie sneltoets + Annuleer + Klaar + Kan plugin niet vinden + Nieuwe actie sneltoets moet ingevuld worden + Nieuwe actie sneltoets is toegewezen aan een andere plugin, wijs een nieuwe actie sneltoets aan + Succesvol + Completed successfully + Gebruik * wanneer je geen nieuwe actie sneltoets wilt specificeren + + + Custom Query Sneltoets + Press the custom hotkey to automatically insert the specified query. + Voorbeeld + Sneltoets is niet beschikbaar, selecteer een nieuwe sneltoets + Ongeldige plugin sneltoets + Update + + + Sneltoets niet beschikbaar + + + Versie + Tijd + Vertel ons hoe de applicatie is gecrashed, zodat wij de applicatie kunnen verbeteren + Verstuur Rapport + Annuleer + Algemeen + Uitzonderingen + Uitzondering Type + Bron + Stack Opzoeken + Versturen + Rapport succesvol verzonden + Verzenden van rapport mislukt + Flow Launcher heeft een error + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Nieuwe Flow Launcher release {0} nu beschikbaar + Een error is voorgekomen tijdens het installeren van de update + Update + Annuleer + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Deze upgrade zal Flow Launcher opnieuw opstarten + Volgende bestanden zullen worden geüpdatet + Update bestanden + Update beschrijving + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/pl.xaml b/Flow.Launcher/Languages/pl.xaml index a8c423de1..fc5badd69 100644 --- a/Flow.Launcher/Languages/pl.xaml +++ b/Flow.Launcher/Languages/pl.xaml @@ -1,133 +1,295 @@ - - - Nie udało się ustawić skrótu klawiszowego: {0} - Nie udało się uruchomić: {0} - Niepoprawny format pliku wtyczki - Ustaw jako najwyższy wynik dla tego zapytania - Usuń ten najwyższy wynik dla tego zapytania - Wyszukaj: {0} - Ostatni czas wykonywania: {0} - Otwórz - Ustawienia - O programie - Wyjdź - - - Ustawienia Flow Launcher - Ogólne - Uruchamiaj Flow Launcher przy starcie systemu - Ukryj okno Flow Launcher kiedy przestanie ono być aktywne - Nie pokazuj powiadomienia o nowej wersji - Zapamiętaj ostatnią pozycję okna - Język - Maksymalna liczba wyników - Ignoruj skróty klawiszowe w trybie pełnego ekranu - Folder biblioteki Python - Automatyczne aktualizacje - Wybierz - Uruchamiaj Flow Launcher zminimalizowany - - - Wtyczki - Znajdź więcej wtyczek - Wyłącz - Wyzwalacze - Folder wtyczki - Autor - Czas ładowania: - Czas zapytania: - - - Skórka - Znajdź więcej skórek - Czcionka okna zapytania - Czcionka okna wyników - Tryb w oknie - Przeźroczystość - - - Skrót klawiszowy - Skrót klawiszowy Flow Launcher - Modyfikatory klawiszów otwierających wyniki - Skrót klawiszowy niestandardowych zapytań - Pokaż skrót klawiszowy - Usuń - Edytuj - Dodaj - Musisz coś wybrać - Czy jesteś pewien że chcesz usunąć skrót klawiszowy {0} wtyczki? - - - Serwer proxy HTTP - Używaj HTTP proxy - HTTP Serwer - Port - Nazwa użytkownika - Hasło - Sprawdź proxy - Zapisz - Nazwa serwera nie może być pusta - Numer portu nie może być pusty - Nieprawidłowy format numeru portu - Ustawienia proxy zostały zapisane - Proxy zostało skonfigurowane poprawnie - Nie udało się połączyć z serwerem proxy - - - O programie - Strona internetowa - Wersja - Uaktywniłeś Flow Launcher {0} razy - Szukaj aktualizacji - Nowa wersja {0} jest dostępna, uruchom ponownie Flow Launcher - Zmiany: - - - Stary wyzwalacz - Nowy wyzwalacz - Anuluj - Zapisz - Nie można odnaleźć podanej wtyczki - Nowy wyzwalacz nie może być pusty - Ten wyzwalacz został już przypisany do innej wtyczki, musisz podać inny wyzwalacz. - Sukces - Użyj * jeżeli nie chcesz podawać wyzwalacza - - - Podgląd - Skrót klawiszowy jest niedostępny, musisz podać inny skrót klawiszowy - Niepoprawny skrót klawiszowy - Aktualizuj - - - Niepoprawny skrót klawiszowy - - - Wersja - Czas - Proszę powiedz nam co się stało zanim wystąpił błąd dzięki czemu będziemy mogli go naprawić (tylko po angielsku) - Wyślij raport błędu - Anuluj - Ogólne - Wyjątki - Typ wyjątku - Źródło - Stos wywołań - Wysyłam raport... - Raport wysłany pomyślnie - Nie udało się wysłać raportu - W programie Flow Launcher wystąpił błąd - - - Nowa wersja Flow Launcher {0} jest dostępna - Wystąpił błąd podczas instalowania aktualizacji programu - Aktualizuj - Anuluj - Aby dokończyć proces aktualizacji Flow Launcher musi zostać zresetowany - Następujące pliki zostaną zaktualizowane - Aktualizuj pliki - Opis aktualizacji - - \ No newline at end of file + + + + Nie udało się ustawić skrótu klawiszowego: {0} + Nie udało się uruchomić: {0} + Niepoprawny format pliku wtyczki + Ustaw jako najwyższy wynik dla tego zapytania + Usuń ten najwyższy wynik dla tego zapytania + Wyszukaj: {0} + Ostatni czas wykonywania: {0} + Otwórz + Ustawienia + O programie + Wyjdź + Zamknij + Copy + Wytnij + Wklej + File + Folder + Text + Tryb grania + Wstrzymaj używanie skrótów. + + + Ustawienia Flow Launcher + Ogólne + Tryb przenośny + Przechowuj wszystkie ustawienia i dane użytkownika w jednym folderze (Przydatne, gdy używane na dyskach wymiennych lub usługach chmurowych). + Uruchamiaj Flow Launcher przy starcie systemu + Error setting launch on startup + Ukryj okno Flow Launcher kiedy przestanie ono być aktywne + Nie pokazuj powiadomienia o nowej wersji + Zapamiętaj ostatnią pozycję okna + Język + Last Query Style + Show/Hide previous results when Flow Launcher is reactivated. + Preserve Last Query + Select last Query + Empty last Query + Maksymalna liczba wyników + Ignoruj skróty klawiszowe w trybie pełnego ekranu + Wyłącz aktywowanie Flow Launcher, gdy uruchomiona jest aplikacja pełnoekranowa (Zalecane dla gier). + Domyślny menedżer plików + Wybierz menedżer plików używany do otwierania folderów. + Domyślna przeglądarka + Ustawienie dla nowej karty, nowego okna i trybu prywatnego. + Folder biblioteki Python + Automatyczne aktualizacje + Wybierz + Uruchamiaj Flow Launcher zminimalizowany + Ukryj ikonę zasobnika + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Should Use Pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + Znajdź więcej wtyczek + On + Wyłącz + Action keyword Setting + Wyzwalacze + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + Priority + Change Plugin Results Priority + Folder wtyczki + by + Czas ładowania: + Czas zapytania: + | Version + Website + Odinstalowywanie + + + + Plugin Store + Refresh + Install + + + Skórka + Znajdź więcej skórek + How to create a theme + Hi There + Czcionka okna zapytania + Czcionka okna wyników + Tryb w oknie + Przeźroczystość + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + Skrót klawiszowy + Skrót klawiszowy Flow Launcher + Enter shortcut to show/hide Flow Launcher. + Modyfikatory klawiszów otwierających wyniki + Select a modifier key to open selected result via keyboard. + Pokaż skrót klawiszowy + Show result selection hotkey with results. + Skrót klawiszowy niestandardowych zapytań + Query + Usuń + Edytuj + Dodaj + Musisz coś wybrać + Czy jesteś pewien że chcesz usunąć skrót klawiszowy {0} wtyczki? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + Serwer proxy HTTP + Używaj HTTP proxy + HTTP Serwer + Port + Nazwa użytkownika + Hasło + Sprawdź proxy + Zapisz + Nazwa serwera nie może być pusta + Numer portu nie może być pusty + Nieprawidłowy format numeru portu + Ustawienia proxy zostały zapisane + Proxy zostało skonfigurowane poprawnie + Nie udało się połączyć z serwerem proxy + + + O programie + Website + Github + Docs + Wersja + Uaktywniłeś Flow Launcher {0} razy + Szukaj aktualizacji + Nowa wersja {0} jest dostępna, uruchom ponownie Flow Launcher + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually. + + Zmiany + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Domyślna przeglądarka + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Stary wyzwalacz + Nowy wyzwalacz + Anuluj + Zapisz + Nie można odnaleźć podanej wtyczki + Nowy wyzwalacz nie może być pusty + Ten wyzwalacz został już przypisany do innej wtyczki, musisz podać inny wyzwalacz. + Sukces + Completed successfully + Użyj * jeżeli nie chcesz podawać wyzwalacza + + + Skrót klawiszowy niestandardowych zapyta + Press the custom hotkey to automatically insert the specified query. + Podgląd + Skrót klawiszowy jest niedostępny, musisz podać inny skrót klawiszowy + Niepoprawny skrót klawiszowy + Aktualizuj + + + Niepoprawny skrót klawiszowy + + + Wersja + Czas + Proszę powiedz nam co się stało zanim wystąpił błąd dzięki czemu będziemy mogli go naprawić (tylko po angielsku) + Wyślij raport błędu + Anuluj + Ogólne + Wyjątki + Typ wyjątku + Źródło + Stos wywołań + Wysyłam raport... + Raport wysłany pomyślnie + Nie udało się wysłać raportu + W programie Flow Launcher wystąpił błąd + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Nowa wersja Flow Launcher {0} jest dostępna + Wystąpił błąd podczas instalowania aktualizacji programu + Aktualizuj + Anuluj + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Aby dokończyć proces aktualizacji Flow Launcher musi zostać zresetowany + Następujące pliki zostaną zaktualizowane + Aktualizuj pliki + Opis aktualizacji + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/pt-br.xaml b/Flow.Launcher/Languages/pt-br.xaml index a4dfe446c..f6fc062c6 100644 --- a/Flow.Launcher/Languages/pt-br.xaml +++ b/Flow.Launcher/Languages/pt-br.xaml @@ -1,142 +1,295 @@ - - - Falha ao registrar atalho: {0} - Não foi possível iniciar {0} - Formato de plugin Flow Launcher inválido - Tornar a principal nessa consulta - Cancelar a principal nessa consulta - Executar consulta: {0} - Última execução: {0} - Abrir - Configurações - Sobre - Sair - - - Configurações do Flow Launcher - Geral - Iniciar Flow Launcher com inicialização do sistema - Esconder Flow Launcher quando foco for perdido - Não mostrar notificações de novas versões - Lembrar última localização de lançamento - Idioma - Estilo da Última Consulta - Preservar Última Consulta - Selecionar última consulta - Limpar última consulta - Máximo de resultados mostrados - Ignorar atalhos em tela cheia - Diretório Python - Atualizar Automaticamente - Selecionar - Esconder Flow Launcher na inicialização - - - Plugin - Encontrar mais plugins - Desabilitar - Palavras-chave de ação - Diretório de Plugins - Autor - Tempo de inicialização: - Tempo de consulta: - - - Tema - Ver mais temas - Fonte da caixa de Consulta - Fonte do Resultado - Modo Janela - Opacidade - - - Atalho - Atalho do Flow Launcher - Modificadores de resultado aberto - Atalho de Consulta Personalizada - Mostrar tecla de atalho - Apagar - Editar - Adicionar - Por favor selecione um item - Tem cereza de que deseja deletar o atalho {0} do plugin? - - - Proxy HTTP - Habilitar Proxy HTTP - Servidor HTTP - Porta - Usuário - Senha - Testar Proxy - Salvar - O campo de servidor não pode ser vazio - O campo de porta não pode ser vazio - Formato de porta inválido - Configuração de proxy salva com sucesso - Proxy configurado corretamente - Conexão por proxy falhou - - - Sobre - Website - Versão - Você ativou o Flow Launcher {0} vezes - Procurar atualizações - A nova versão {0} está disponível, por favor reinicie o Flow Launcher. - Falha ao procurar atualizações, confira sua conexão e configuração de proxy para api.github.com. - - Falha ao baixar atualizações, confira sua conexão e configuração de proxy para github-cloud.s3.amazonaws.com, - ou acesse https://github.com/Flow-Launcher/Flow.Launcher/releases para baixar manualmente. - - Notas de Versão: - - - Antiga palavra-chave da ação - Nova palavra-chave da ação - Cancelar - Finalizado - Não foi possível encontrar o plugin especificado - A nova palavra-chave da ação não pode ser vazia - A nova palavra-chave da ação já foi atribuída a outro plugin, por favor tente outra - Sucesso - Use * se não quiser especificar uma palavra-chave de ação - - - Prévia - Atalho indisponível, escolha outro - Atalho de plugin inválido - Atualizar - - - Atalho indisponível - - - Versão - Horário - Por favor, conte como a aplicação parou de funcionar para que possamos consertar - Enviar Relatório - Cancelar - Geral - Exceções - Tipo de Exceção - Fonte - Rastreamento de pilha - Enviando - Relatório enviado com sucesso - Falha ao enviar relatório - Flow Launcher apresentou um erro - - - A nova versão {0} do Flow Launcher agora está disponível - Ocorreu um erro ao tentar instalar atualizações do progama - Atualizar - Cancelar - Essa atualização reiniciará o Flow Launcher - Os seguintes arquivos serão atualizados - Atualizar arquivos - Atualizar descrição - - \ No newline at end of file + + + + Falha ao registrar atalho: {0} + Não foi possível iniciar {0} + Formato de plugin Flow Launcher inválido + Tornar a principal nessa consulta + Cancelar a principal nessa consulta + Executar consulta: {0} + Última execução: {0} + Abrir + Configurações + Sobre + Sair + Close + Copy + Cut + Paste + File + Folder + Text + Game Mode + Suspend the use of Hotkeys. + + + Configurações do Flow Launcher + Geral + Portable Mode + Store all settings and user data in one folder (Useful when used with removable drives or cloud services). + Iniciar Flow Launcher com inicialização do sistema + Error setting launch on startup + Esconder Flow Launcher quando foco for perdido + Não mostrar notificações de novas versões + Lembrar última localização de lançamento + Idioma + Estilo da Última Consulta + Show/Hide previous results when Flow Launcher is reactivated. + Preservar Última Consulta + Selecionar última consulta + Limpar última consulta + Máximo de resultados mostrados + Ignorar atalhos em tela cheia + Disable Flow Launcher activation when a full screen application is active (Recommended for games). + Default File Manager + Select the file manager to use when opening the folder. + Default Web Browser + Setting for New Tab, New Window, Private Mode. + Diretório Python + Atualizar Automaticamente + Selecionar + Esconder Flow Launcher na inicialização + Hide tray icon + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Should Use Pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + Encontrar mais plugins + On + Desabilitar + Action keyword Setting + Palavras-chave de ação + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + Priority + Change Plugin Results Priority + Diretório de Plugins + by + Tempo de inicialização: + Tempo de consulta: + | Version + Website + Desinstalar + + + + Plugin Store + Refresh + Install + + + Tema + Ver mais temas + How to create a theme + Hi There + Fonte da caixa de Consulta + Fonte do Resultado + Modo Janela + Opacidade + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + Atalho + Atalho do Flow Launcher + Enter shortcut to show/hide Flow Launcher. + Modificadores de resultado aberto + Select a modifier key to open selected result via keyboard. + Mostrar tecla de atalho + Show result selection hotkey with results. + Atalho de Consulta Personalizada + Query + Apagar + Editar + Adicionar + Por favor selecione um item + Tem cereza de que deseja deletar o atalho {0} do plugin? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + Proxy HTTP + Habilitar Proxy HTTP + Servidor HTTP + Porta + Usuário + Senha + Testar Proxy + Salvar + O campo de servidor não pode ser vazio + O campo de porta não pode ser vazio + Formato de porta inválido + Configuração de proxy salva com sucesso + Proxy configurado corretamente + Conexão por proxy falhou + + + Sobre + Website + Github + Docs + Versão + Você ativou o Flow Launcher {0} vezes + Procurar atualizações + A nova versão {0} está disponível, por favor reinicie o Flow Launcher. + Falha ao procurar atualizações, confira sua conexão e configuração de proxy para api.github.com. + + Falha ao baixar atualizações, confira sua conexão e configuração de proxy para github-cloud.s3.amazonaws.com, + ou acesse https://github.com/Flow-Launcher/Flow.Launcher/releases para baixar manualmente. + + Notas de Versão: + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Antiga palavra-chave da ação + Nova palavra-chave da ação + Cancelar + Finalizado + Não foi possível encontrar o plugin especificado + A nova palavra-chave da ação não pode ser vazia + A nova palavra-chave da ação já foi atribuída a outro plugin, por favor tente outra + Sucesso + Completed successfully + Use * se não quiser especificar uma palavra-chave de ação + + + Atalho de Consulta Personalizada + Press the custom hotkey to automatically insert the specified query. + Prévia + Atalho indisponível, escolha outro + Atalho de plugin inválido + Atualizar + + + Atalho indisponível + + + Versão + Horário + Por favor, conte como a aplicação parou de funcionar para que possamos consertar + Enviar Relatório + Cancelar + Geral + Exceções + Tipo de Exceção + Fonte + Rastreamento de pilha + Enviando + Relatório enviado com sucesso + Falha ao enviar relatório + Flow Launcher apresentou um erro + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + A nova versão {0} do Flow Launcher agora está disponível + Ocorreu um erro ao tentar instalar atualizações do progama + Atualizar + Cancelar + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Essa atualização reiniciará o Flow Launcher + Os seguintes arquivos serão atualizados + Atualizar arquivos + Atualizar descrição + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/pt-pt.xaml b/Flow.Launcher/Languages/pt-pt.xaml index 764ba542b..b19fc9924 100644 --- a/Flow.Launcher/Languages/pt-pt.xaml +++ b/Flow.Launcher/Languages/pt-pt.xaml @@ -1,8 +1,5 @@ - - + + Falha ao registar tecla de atalho: {0} Não foi possível iniciar {0} @@ -19,8 +16,11 @@ Copiar Cortar Colar + Ficheiro + Pasta + Texto Modo de jogo - Suspender utilização de teclas de atalho + Suspender utilização das teclas de atalho Definições Flow Launcher @@ -28,6 +28,7 @@ Modo portátil Guardar todas as definições e dados do utilizador numa pasta (indicado se utilizar discos amovíveis ou serviços cloud) Iniciar Flow Launcher ao arrancar o sistema + Erro ao definir para iniciar ao arrancar Ocultar Flow Launcher ao perder o foco Não notificar acerca de novas versões Memorizar localização anterior @@ -49,17 +50,18 @@ Selecionar Ocultar Flow Launcher ao arrancar Ocultar ícone na bandeja - Precisão da pesquisa + Se o ícone da bandeja estiver oculto, pode abrir as Definições com um clique com o botão direito do rato na caixa de pesquisa. + Precisão da consulta Altera a precisão mínima necessário para obter resultados Utilizar Pinyin Permitir Pinyin para a pesquisa. Pinyin é o sistema padrão da ortografia romanizada para tradução de mandarim O efeito sombra não é permitido com este tema porque o efeito desfocar está ativo - Plugins + Plugin Mais plugins - Ativar - Desativar + Ativo + Inativo Definição de palavra-chave Palavra-chave da ação Palavra-chave atual @@ -68,25 +70,27 @@ Prioridade atual Nova prioridade Prioridade + Alterar prioridade dos resultados do plugin Diretório de plugins de Tempo de arranque: Tempo de consulta: | Versão Site + Desinstalar Loja de plugins Recarregar - Instalar + Instalar Tema Galeria de temas Como criar um tema Olá - Tipo de letra da caixa de pesquisa + Tipo de letra da consulta Tipo de letra dos resultados Modo da janela Opacidade @@ -108,9 +112,9 @@ Tecla de atalho Flow Launcher Introduza o atalho para mostrar/ocultar Flow Launcher Tecla modificadora para os resultados - Selecione a tecla modificadora para abrir o resultado através do teclado + Selecione a tecla modificadora para abrir o resultado com o teclado Mostrar tecla de atalho - Mostrar tecla de atalho em conjunto com os resultados. + Mostrar tecla de atalho perto dos resultados Tecla de atalho personalizada Consulta Eliminar @@ -144,7 +148,7 @@ Acerca Site GitHub - Documentos + Documentação Versão Ativou o Flow Launcher {0} vezes Procurar atualizações @@ -158,12 +162,14 @@ DevTools Pasta de definições Pasta de registos + Clear Logs + Are you sure you want to delete all logs? Assistente Selecione o gestor de ficheiros Especifique a localização do executável do gestor de ficheiros e, eventualmente, alguns argumentos. Os argumentos padrão são "%d" e o caminho é introduzido nesse local. Por exemplo, se necessitar de um comando como "totalcmd.exe /A c:\windows", o argumento é /A "%d". - "%f" é o argumento que representa o caminho do ficheiro. É utilizado para dar ênfase ao nome do ficheiro ou da pasta se utilizar um gestor de ficheiros não nativo. Este argumento apenas está disponível para o item "Arg para ficheiro". Se o seu gestor de ficheiros não possuir esta funcionalidade, pode utilizar "%d". + "%f" é o argumento que representa o caminho do ficheiro. É utilizado para dar ênfase ao nome do ficheiro ou da pasta se utilizar um gestor de ficheiros não nativo. Este argumento apenas está disponível para o item "Argumento para ficheiro". Se o seu gestor de ficheiros não possuir esta funcionalidade, pode utilizar "%d". Gestor de ficheiros Nome do perfil Caminho do gestor de ficheiros @@ -211,7 +217,7 @@ Versão Hora - Indique-nos, por favor, como é que o erro ocorreu para que o possamos corrigir + Indique-nos como é que o erro ocorreu para que o possamos corrigir Enviar relatório Cancelar Geral @@ -234,7 +240,7 @@ A atualizar... Flow Launcher não conseguiu mover o seu perfil de dados para a nova versão. - Queira por favor mover a pasta do seu perfil de {0} para {1} +Queira por favor mover a pasta do seu perfil de {0} para {1} Nova atualização Está disponível a versão {0} do Flow Launcher @@ -253,14 +259,12 @@ Obrigado por utilizar Flow Launcher Esta é a primeira vez que está a utilizar Flow Launcher! Antes de utilizar a aplicação, este assistente ajuda a configurar Flow Launcher. Caso pretenda, pode ignorar este passo. Por favor escolha um idioma. - Pesquise ficheiros/pastas e execute aplicações no seu computador - - Pode pesquisar aplicações, ficheiros, marcadores, YouTube, Twitter e muito mais. Tudo isto é efetuado através do teclado, dispensando a utilização do rato - - Flow Launcher é iniciado com a tecla de atalho abaixo. Experimente. Para alterar esta tecla de atalho, clique no valor e escolha a combinação de teclas a utilizar. + Pesquise ficheiros/pastas e execute aplicações no seu computador + Pode pesquisar aplicações, ficheiros, marcadores, YouTube, Twitter e muito mais. Tudo isto é efetuado através do teclado, dispensando a utilização do rato + Flow Launcher é iniciado com a tecla de atalho abaixo. Experimente. Para alterar esta tecla de atalho, clique no valor e escolha a combinação de teclas a utilizar Teclas de atalho Palavras-chave e comandos - Pesquise na Web, inicie aplicações e execute funções através dos nossos plugins. Algumas ações são invocadas com palavras-chave mas, se quiser, podem ser invocadas sem essas palavras-chave. Teste as consultas abaixo para experimentar. + Pesquise na Web, inicie aplicações e execute funções com os nossos plugins. Algumas ações são invocadas com palavras-chave mas, se quiser, podem ser invocadas sem essas palavras-chave. Teste as consultas abaixo para experimentar. Vamos iniciar Flow Launcher Terminado. Desfrute de Flow Launcher. Não se esqueça da tecla de atalho :-) diff --git a/Flow.Launcher/Languages/ru.xaml b/Flow.Launcher/Languages/ru.xaml index 63c8d46ee..87b3dd4ef 100644 --- a/Flow.Launcher/Languages/ru.xaml +++ b/Flow.Launcher/Languages/ru.xaml @@ -1,133 +1,295 @@ - - - Регистрация хоткея {0} не удалась - Не удалось запустить {0} - Неверный формат файла flowlauncher плагина - Отображать это окно выше всех при этом запросе - Не отображать это окно выше всех при этом запросе - Выполнить запрос:{0} - Последний раз выполнен в:{0} - Открыть - Настройки - О Flow Launcher - Закрыть - - - Настройки Flow Launcher - Общие - Запускать Flow Launcher при запуске системы - Скрывать Flow Launcher если потерян фокус - Не отображать сообщение об обновлении когда доступна новая версия - Запомнить последнее место запуска - Язык - Максимальное количество результатов - Игнорировать горячие клавиши, если окно в полноэкранном режиме - Python Directory - Auto Update - Select - Hide Flow Launcher on startup - - - Плагины - Найти больше плагинов - Отключить - Ключевое слово - Папка - Автор - Инициализация: - Запрос: - - - Темы - Найти больше тем - Шрифт запросов - Шрифт результатов - Оконный режим - Прозрачность - - - Горячие клавиши - Горячая клавиша Flow Launcher - Модификаторы открытого результата - Задаваемые горячие клавиши для запросов - Показать Hotkey - Удалить - Изменить - Добавить - Сначала выберите элемент - Вы уверены что хотите удалить горячую клавишу для плагина {0}? - - - HTTP Прокси - Включить HTTP прокси - HTTP Сервер - Порт - Логин - Пароль - Проверить - Сохранить - Необходимо задать сервер - Необходимо задать порт - Неверный формат порта - Прокси успешно сохранён - Прокси сервер задан правильно - Подключение к прокси серверу не удалось - - - О Flow Launcher - Сайт - Версия - Вы воспользовались Flow Launcher уже {0} раз - Check for Updates - New version {0} avaiable, please restart flowlauncher - Release Notes: - - - Текущая горячая клавиша - Новая горячая клавиша - Отменить - Подтвердить - Не удалось найти заданный плагин - Новая горячая клавиша не может быть пустой - Новая горячая клавиша уже используется другим плагином. Пожалуйста, задайте новую - Сохранено - Используйте * в случае, если вы не хотите задавать конкретную горячую клавишу - - - Проверить - Горячая клавиша недоступна. Пожалуйста, задайте новую - Недействительная горячая клавиша плагина - Изменить - - - Горячая клавиша недоступна - - - Версия - Время - Пожалуйста, сообщите что произошло когда произошёл сбой в приложении, чтобы мы могли его исправить - Отправить отчёт - Отмена - Общие - Исключения - Тип исключения - Источник - Трессировка стека - Отправляем - Отчёт успешно отправлен - Не удалось отправить отчёт - Произошёл сбой в Flow Launcher - - - Доступна новая версия Flow Launcher V{0} - Произошла ошибка при попытке установить обновление - Обновить - Отмена - Это обновление перезапустит Flow Launcher - Следующие файлы будут обновлены - Обновить файлы - Описание обновления - - \ No newline at end of file + + + + Регистрация хоткея {0} не удалась + Не удалось запустить {0} + Недопустимый формат файла плагина Flow Launcher + Отображать это окно выше всех при этом запросе + Не отображать это окно выше всех при этом запросе + Выполнить запрос: {0} + Последний раз выполнен: {0} + Открыть + Настройки + О Flow Launcher + Выйти + Close + Copy + Cut + Paste + File + Folder + Text + Game Mode + Suspend the use of Hotkeys. + + + Настройки Flow Launcher + Общие + Portable Mode + Store all settings and user data in one folder (Useful when used with removable drives or cloud services). + Запускать Flow Launcher при запуске системы + Error setting launch on startup + Скрывать Flow Launcher, если потерян фокуc + Не отображать сообщение об обновлении, когда доступна новая версия + Запомнить последнее место запуска + Язык + Last Query Style + Show/Hide previous results when Flow Launcher is reactivated. + Preserve Last Query + Select last Query + Empty last Query + Максимальное количество результатов + Игнорировать горячие клавиши в полноэкранном режиме + Disable Flow Launcher activation when a full screen application is active (Recommended for games). + Default File Manager + Select the file manager to use when opening the folder. + Default Web Browser + Setting for New Tab, New Window, Private Mode. + Python Directory + Auto Update + Select + Hide Flow Launcher on startup + Hide tray icon + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Should Use Pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + Найти больше плагинов + On + Отключить + Action keyword Setting + Горячая клавиша + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + Priority + Change Plugin Results Priority + Директория плагинов + by + Инициализация: + Запрос: + | Version + Website + Удалить + + + + Plugin Store + Refresh + Install + + + Тема + Найти больше тем + How to create a theme + Hi There + Шрифт запросов + Шрифт результатов + Оконный режим + Прозрачность + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + Горячая клавиша + Горячая клавиша Flow Launcher + Enter shortcut to show/hide Flow Launcher. + Открыть ключ модификации результата + Select a modifier key to open selected result via keyboard. + Показать горячую клавишу + Show result selection hotkey with results. + Задаваемые горячие клавиши для запросов + Query + Удалить + Редактировать + Добавить + Сначала выберите элемент + Вы уверены что хотите удалить горячую клавишу для плагина {0}? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP Прокси + Включить HTTP прокси + HTTP-сервер + Порт + Имя пользователя + Пароль + Тест прокси + Сохранить + Поле сервера не может быть пустым + Поле порта должно быть заполнено + Неверный формат порта + Прокси успешно сохранён + Прокси сервер задан правильно + Подключение к прокси серверу не удалось + + + О Flow Launcher + Website + Github + Docs + Версия + Вы воспользовались Flow Launcher уже {0} раз + Check for Updates + Доступна новая версия {0}. Вы хотите перезапустить Flow Launcher, чтобы использовать обновление? + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually. + + Список изменений + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Текущая горячая клавиша + Новая горячая клавиша + Отменить + Подтвердить + Не удалось найти заданный плагин + Новая горячая клавиша не может быть пустой + Новая горячая клавиша уже используется другим плагином. Пожалуйста, задайте новую + Успешно + Completed successfully + Введите горячую клавишу, которое вы хотите использовать для запуска плагина. Используйте *, если вы не хотите ничего указывать, и плагин будет запускаться без каких-либо горячих клавиш. + + + Задаваемые горячие клавиши для запросов + Press the custom hotkey to automatically insert the specified query. + Предпросмотр + Горячая клавиша недоступна. Пожалуйста, задайте новую + Недействительная горячая клавиша плагина + Обновить + + + Горячая клавиша недоступна + + + Версия + Время + Пожалуйста, сообщите, что произошло, чтобы мы могли это исправить + Отправить отчёт + Отменить + Общие + Исключения + Тип исключения + Источник + Трассировка стека + Отправляем + Отчёт успешно отправлен + Не удалось отправить отчёт + Произошёл сбой в Flow Launcher + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Доступна новая версия Flow Launcher {0} + Произошла ошибка при попытке установить обновление + Обновить + Отменить + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Это обновление перезапустит Flow Launcher + Следующие файлы будут обновлены + Обновить файлы + Обновить описание + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/sk.xaml b/Flow.Launcher/Languages/sk.xaml index dac746d0f..ee703bcf8 100644 --- a/Flow.Launcher/Languages/sk.xaml +++ b/Flow.Launcher/Languages/sk.xaml @@ -16,6 +16,9 @@ Kopírovať Vystrihnúť Prilepiť + Súbor + Priečinok + Text Herný režim Pozastaviť používanie klávesových skratiek. @@ -25,6 +28,7 @@ Prenosný režim Uloží všetky nastavenia a používateľské údaje do jedného priečinka (Užitočné pri vymeniteľných diskoch a cloudových službách). Spustiť Flow Launcher pri spustení systému + Chybné nastavenie spustenia pri spustení Schovať Flow Launcher po strate fokusu Nezobrazovať upozornenia na novú verziu Zapamätať si posledné umiestnenie @@ -46,6 +50,7 @@ Vybrať Schovať Flow Launcher po spustení Schovať ikonu z oblasti oznámení + Keď je ikona skrytá z oblasti oznámení, nastavenia možno otvoriť kliknutím pravým tlačidlom myši na okno vyhľadávania. Presnosť vyhľadávania Mení minimálne skóre zhody potrebné na zobrazenie výsledkov. Použiť Pinyin @@ -55,8 +60,8 @@ Pluginy Nájsť ďalšie pluginy - Zap. - Vyp. + Zapnuté + Vypnuté Nastavenie akčného príkazu Aktivačný príkaz Aktuálny aktivačný príkaz @@ -65,18 +70,20 @@ Aktuálna priorita Nová priorita Priorita + Zmena priority výsledkov pluginu Priečinok s pluginmi od Inicializácia: Trvanie dopytu: | Verzia Webstránka + Odinštalovať Repozitár pluginov Obnoviť - Inštalovať + Inštalovať Motív @@ -156,6 +163,8 @@ Nástroje pre vývojárov Priečinok s nastaveniami Priečinok s logmi + Vymazať logy + Naozaj chcete odstrániť všetky logy? Sprievodca diff --git a/Flow.Launcher/Languages/sr.xaml b/Flow.Launcher/Languages/sr.xaml index 3efe27a47..e805860dc 100644 --- a/Flow.Launcher/Languages/sr.xaml +++ b/Flow.Launcher/Languages/sr.xaml @@ -1,142 +1,295 @@ - - - Neuspešno registrovana prečica: {0} - Neuspešno pokretanje {0} - Nepravilni Flow Launcher plugin format datoteke - Postavi kao najviši u ovom upitu - Poništi najviši u ovom upitu - Izvrši upit: {0} - Vreme poslednjeg izvršenja: {0} - Otvori - Podešavanja - O Flow Launcher-u - Izlaz - - - Flow Launcher Podešavanja - Opšte - Pokreni Flow Launcher pri podizanju sistema - Sakri Flow Launcher kada se izgubi fokus - Ne prikazuj obaveštenje o novoj verziji - Zapamti lokaciju poslednjeg pokretanja - Jezik - Stil Poslednjeg upita - Sačuvaj poslednji Upit - Selektuj poslednji Upit - Isprazni poslednji Upit - Maksimum prikazanih rezultata - Ignoriši prečice u fullscreen režimu - Python direktorijum - Auto ažuriranje - Izaberi - Sakrij Flow Launcher pri podizanju sistema - - - Plugin - Nađi još plugin-a - Onemogući - Ključne reči - Plugin direktorijum - Autor - Vreme inicijalizacije: - Vreme upita: - - - Tema - Pretražite još tema - Font upita - Font rezultata - Režim prozora - Neprozirnost - - - Prečica - Flow Launcher prečica - Отворите модификаторе резултата - покажи хоткеи - prečica za ručno dodat upit - Obriši - Izmeni - Dodaj - Molim Vas izaberite stavku - Da li ste sigurni da želite da obrišete prečicu za {0} plugin? - - - HTTP proksi - Uključi HTTP proksi - HTTP Server - Port - Korisničko ime - Šifra - Test proksi - Sačuvaj - Polje za server ne može da bude prazno - Polje za port ne može da bude prazno - Nepravilan format porta - Podešavanja proksija uspešno sačuvana - Proksi uspešno podešen - Veza sa proksijem neuspešna - - - O Flow Launcher-u - Veb sajt - Verzija - Aktivirali ste Flow Launcher {0} puta - Proveri ažuriranja - Nove verzija {0} je dostupna, molim Vas ponovo pokrenite Flow Launcher. - Neuspešna provera ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema api.github.com. - - Neuspešno preuzimanje ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema github-cloud.s3.amazonaws.com, - ili posetite https://github.com/Flow-Launcher/Flow.Launcher/releases da preuzmete ažuriranja ručno. - - U novoj verziji: - - - Prečica za staru radnju - Prečica za novu radnju - Otkaži - Gotovo - Navedeni plugin nije moguće pronaći - Prečica za novu radnju ne može da bude prazna - Prečica za novu radnju je dodeljena drugom plugin-u, molim Vas dodelite drugu prečicu - Uspešno - Koristite * ako ne želite da navedete prečicu za radnju - - - Pregled - Prečica je nedustupna, molim Vas izaberite drugu prečicu - Nepravlna prečica za plugin - Ažuriraj - - - Prečica nedostupna - - - Verzija - Vreme - Molimo Vas recite nam kako je aplikacija prestala sa radom, da bi smo je ispravili - Pošalji izveštaj - Otkaži - Opšte - Izuzetak - Tipovi Izuzetaka - Izvor - Stack Trace - Slanje - Izveštaj uspešno poslat - Izveštaj neuspešno poslat - Flow Launcher je dobio grešku - - - Nova verzija Flow Launcher-a {0} je dostupna - Došlo je do greške prilokom instalacije ažuriranja - Ažuriraj - Otkaži - Ova nadogradnja će ponovo pokrenuti Flow Launcher - Sledeće datoteke će biti ažurirane - Ažuriraj datoteke - Opis ažuriranja - - \ No newline at end of file + + + + Neuspešno registrovana prečica: {0} + Neuspešno pokretanje {0} + Nepravilni Flow Launcher plugin format datoteke + Postavi kao najviši u ovom upitu + Poništi najviši u ovom upitu + Izvrši upit: {0} + Vreme poslednjeg izvršenja: {0} + Otvori + Podešavanja + O Flow Launcher-u + Izlaz + Close + Copy + Cut + Paste + File + Folder + Text + Game Mode + Suspend the use of Hotkeys. + + + Flow Launcher Podešavanja + Opšte + Portable Mode + Store all settings and user data in one folder (Useful when used with removable drives or cloud services). + Pokreni Flow Launcher pri podizanju sistema + Error setting launch on startup + Sakri Flow Launcher kada se izgubi fokus + Ne prikazuj obaveštenje o novoj verziji + Zapamti lokaciju poslednjeg pokretanja + Jezik + Stil Poslednjeg upita + Show/Hide previous results when Flow Launcher is reactivated. + Sačuvaj poslednji Upit + Selektuj poslednji Upit + Isprazni poslednji Upit + Maksimum prikazanih rezultata + Ignoriši prečice u fullscreen režimu + Disable Flow Launcher activation when a full screen application is active (Recommended for games). + Default File Manager + Select the file manager to use when opening the folder. + Default Web Browser + Setting for New Tab, New Window, Private Mode. + Python direktorijum + Auto ažuriranje + Izaberi + Sakrij Flow Launcher pri podizanju sistema + Hide tray icon + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Query Search Precision + Changes minimum match score required for results. + Should Use Pinyin + Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese + Shadow effect is not allowed while current theme has blur effect enabled + + + Plugin + Nađi još plugin-a + On + Onemogući + Action keyword Setting + Ključne reči + Current action keyword + New action keyword + Change Action Keywords + Current Priority + New Priority + Priority + Change Plugin Results Priority + Plugin direktorijum + by + Vreme inicijalizacije: + Vreme upita: + | Version + Website + Uninstall + + + + Plugin Store + Refresh + Install + + + Tema + Pretražite još tema + How to create a theme + Hi There + Font upita + Font rezultata + Režim prozora + Neprozirnost + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + Theme Folder + Open Theme Folder + Color Scheme + System Default + Light + Dark + Sound Effect + Play a small sound when the search window opens + Animation + Use Animation in UI + + + Prečica + Flow Launcher prečica + Enter shortcut to show/hide Flow Launcher. + Отворите модификаторе резултата + Select a modifier key to open selected result via keyboard. + покажи хоткеи + Show result selection hotkey with results. + prečica za ručno dodat upit + Query + Obriši + Izmeni + Dodaj + Molim Vas izaberite stavku + Da li ste sigurni da želite da obrišete prečicu za {0} plugin? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP proksi + Uključi HTTP proksi + HTTP Server + Port + Korisničko ime + Šifra + Test proksi + Sačuvaj + Polje za server ne može da bude prazno + Polje za port ne može da bude prazno + Nepravilan format porta + Podešavanja proksija uspešno sačuvana + Proksi uspešno podešen + Veza sa proksijem neuspešna + + + O Flow Launcher-u + Website + Github + Docs + Verzija + Aktivirali ste Flow Launcher {0} puta + Proveri ažuriranja + Nove verzija {0} je dostupna, molim Vas ponovo pokrenite Flow Launcher. + Neuspešna provera ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema api.github.com. + + Neuspešno preuzimanje ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema github-cloud.s3.amazonaws.com, + ili posetite https://github.com/Flow-Launcher/Flow.Launcher/releases da preuzmete ažuriranja ručno. + + U novoj verziji + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Prečica za staru radnju + Prečica za novu radnju + Otkaži + Gotovo + Navedeni plugin nije moguće pronaći + Prečica za novu radnju ne može da bude prazna + Prečica za novu radnju je dodeljena drugom plugin-u, molim Vas dodelite drugu prečicu + Uspešno + Completed successfully + Koristite * ako ne želite da navedete prečicu za radnju + + + prečica za ručno dodat upit + Press the custom hotkey to automatically insert the specified query. + Pregled + Prečica je nedustupna, molim Vas izaberite drugu prečicu + Nepravlna prečica za plugin + Ažuriraj + + + Prečica nedostupna + + + Verzija + Vreme + Molimo Vas recite nam kako je aplikacija prestala sa radom, da bi smo je ispravili + Pošalji izveštaj + Otkaži + Opšte + Izuzetak + Tipovi Izuzetaka + Izvor + Stack Trace + Slanje + Izveštaj uspešno poslat + Izveštaj neuspešno poslat + Flow Launcher je dobio grešku + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Nova verzija Flow Launcher-a {0} je dostupna + Došlo je do greške prilokom instalacije ažuriranja + Ažuriraj + Otkaži + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Ova nadogradnja će ponovo pokrenuti Flow Launcher + Sledeće datoteke će biti ažurirane + Ažuriraj datoteke + Opis ažuriranja + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/tr.xaml b/Flow.Launcher/Languages/tr.xaml index a39b55b23..4a016ced8 100644 --- a/Flow.Launcher/Languages/tr.xaml +++ b/Flow.Launcher/Languages/tr.xaml @@ -1,146 +1,295 @@ - - - Kısayol tuşu ataması başarısız oldu: {0} - {0} başlatılamıyor - Geçersiz Flow Launcher eklenti dosyası formatı - Bu sorgu için başa sabitle - Sabitlemeyi kaldır - Sorguyu çalıştır: {0} - Son çalıştırma zamanı: {0} - - Ayarlar - Hakkında - Çıkış - - - Flow Launcher Ayarları - Genel - Flow Launcher'u başlangıçta başlat - Odak pencereden ayrıldığında Flow Launcher'u gizle - Güncelleme bildirimlerini gösterme - Pencere konumunu hatırla - Dil - Pencere açıldığında - Son sorguyu sakla - Son sorguyu sakla ve tümünü seç - Sorgu kutusunu temizle - Maksimum sonuç sayısı - Tam ekran modunda kısayol tuşunu gözardı et - Python Konumu - Otomatik Güncelle - Seç - Başlangıçta Flow Launcher'u gizle - Sistem çekmecesi simgesini gizle - Sorgu Arama Hassasiyeti - - - Eklentiler - Daha fazla eklenti bul - Devre Dışı - Anahtar Kelimeler - Eklenti Klasörü - Yapımcı - Açılış Süresi: - Sorgu Süresi: - - - Temalar - Daha fazla tema bul - Pencere Yazı Tipi - Sonuç Yazı Tipi - Pencere Modu - Saydamlık - {0} isimli tema bulunamadı, varsayılan temaya dönülüyor. - {0} isimli tema yüklenirken hata oluştu, varsayılan temaya dönülüyor. - - - Kısayol Tuşu - Flow Launcher Kısayolu - Açık Sonuç Değiştiricileri - Özel Sorgu Kısayolları - Kısayol Tuşunu Göster - Sil - Düzenle - Ekle - Lütfen bir öğe seçin - {0} eklentisi için olan kısayolu silmek istediğinize emin misiniz? - - - Vekil Sunucu - HTTP vekil sunucuyu etkinleştir. - Sunucu Adresi - Port - Kullanıcı Adı - Parola - Ayarları Sına - Kaydet - Sunucu adresi boş olamaz - Port boş olamaz - Port biçimi geçersiz - Vekil sunucu ayarları başarıyla kaydedildi - Vekil sunucu doğru olarak ayarlandı - Vekil sunucuya bağlanılırken hata oluştu - - - Hakkında - Web Sitesi - Sürüm - Şu ana kadar Flow Launcher'u {0} kez aktifleştirdiniz. - Güncellemeleri Kontrol Et - Uygulamanın yeni sürümü ({0}) mevcut, Lütfen Flow Launcher'u yeniden başlatın. - Güncelleme kontrolü başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın api.github.com adresine ulaşabilir olduğunu kontrol edin. - - Güncellemenin yüklenmesi başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın github-cloud.s3.amazonaws.com - adresine ulaşabilir olduğunu kontrol edin ya da https://github.com/Flow-Launcher/Flow.Launcher/releases adresinden güncellemeyi elle indirin. - - Sürüm Notları: - - - Eski Anahtar Kelime - Yeni Anahtar Kelime - İptal - Tamam - Belirtilen eklenti bulunamadı - Yeni anahtar kelime boş olamaz - Yeni anahtar kelime başka bir eklentiye atanmış durumda. Lütfen başka bir anahtar kelime seçin - Başarılı - Anahtar kelime belirlemek istemiyorsanız * kullanın - - - Önizleme - Kısayol tuşu kullanılabilir değil, lütfen başka bir kısayol tuşu seçin - Geçersiz eklenti kısayol tuşu - Güncelle - - - Kısayol tuşu kullanılabilir değil - - - Sürüm - Tarih - Sorunu çözebilmemiz için lütfen uygulamanın ne yaparken çöktüğünü belirtin. - Raporu Gönder - İptal - Genel - Özel Durumlar - Özel Durum Tipi - Kaynak - Yığın İzleme - Gönderiliyor - Hata raporu başarıyla gönderildi - Hata raporu gönderimi başarısız oldu - Flow Launcher'ta bir hata oluştu - - - Flow Launcher'un yeni bir sürümü ({0}) mevcut - Güncellemelerin kurulması sırasında bir hata oluştu - Güncelle - İptal - Bu güncelleme Flow Launcher'u yeniden başlatacaktır - Aşağıdaki dosyalar güncelleştirilecektir - Güncellenecek dosyalar - Güncelleme açıklaması - - \ No newline at end of file + + + + Kısayol tuşu ataması başarısız oldu: {0} + {0} başlatılamıyor + Geçersiz Flow Launcher eklenti dosyası formatı + Bu sorgu için başa sabitle + Sabitlemeyi kaldır + Sorguyu çalıştır: {0} + Son çalıştırma zamanı: {0} + + Ayarlar + Hakkında + Çıkış + Kapat + Kopyala + Kes + Yapıştır + Dosya + Klasör + Yazı + Oyun Modu + Kısayol Tuşlarının kullanımını durdurun. + + + Flow Launcher Ayarları + Genel + Taşınabilir Mod + Tüm ayarları ve kullanıcı verilerini tek bir klasörde saklayın (Çıkarılabilir sürücüler veya bulut hizmetleri ile kullanıldığında kullanışlıdır). + Flow Launcher'u başlangıçta başlat + Error setting launch on startup + Odak pencereden ayrıldığında Flow Launcher'u gizle + Güncelleme bildirimlerini gösterme + Pencere konumunu hatırla + Dil + Pencere açıldığında + Flow Launcher yeniden etkinleştirildiğinde önceki sonuçları göster/gizle. + Son sorguyu sakla + Son sorguyu sakla ve tümünü seç + Sorgu kutusunu temizle + Maksimum sonuç sayısı + Tam ekran modunda kısayol tuşunu gözardı et + Tam ekran bir uygulama etkinken Flow Launcher etkinleştirmesini devre dışı bırakın (Oyunlar için önerilir). + Varsayılan Dosya Yöneticisi + Klasör açarken kullanılacak dosya yöneticisini seçin. + Varsayılan Tarayıcısı + Yeni Sekme, Yeni Pencere, Gizli Mod için Ayar. + Python Konumu + Otomatik Güncelle + Seç + Başlangıçta Flow Launcher'u gizle + Sistem çekmecesi simgesini gizle + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Sorgu Arama Hassasiyeti + Sonuçlar için gereken minimum maç puanını değiştirir. + Pinyin kullanılmalı + Arama yapmak için Pinyin'in kullanılmasına izin verir. Pinyin, Çince'yi çevirmek için standart romanlaştırılmış yazım sistemidir + Mevcut temada bulanıklık efekti etkinken gölge efektine izin verilmez + + + Eklenti + Daha fazla eklenti bul + Açık + Devre Dışı + Anahtar sözcüğü Ayar eylemi + Anahtar Kelimeler + Varsayılan anahtar kelime eylemi + Yeni anahtar kelime eylemi + Anahtar kelime eylemini değiştir + Mevcut öncelik + Yeni Öncelik + Öncelik + Change Plugin Results Priority + Eklenti Klasörü + Yapımcı: + Açılış Süresi: + Sorgu Süresi: + Sürüm + İnternet Sitesi + Kaldır + + + + Eklenti Mağazası + Yenile + İndir + + + Temalar + Daha fazla tema bul + Nasıl bir tema yaratılır + Merhaba + Pencere Yazı Tipi + Sonuç Yazı Tipi + Pencere Modu + Saydamlık + {0} isimli tema bulunamadı, varsayılan temaya dönülüyor. + {0} isimli tema yüklenirken hata oluştu, varsayılan temaya dönülüyor. + Tema klasörü + Tema Klasörünü Aç + Renk düzeni + Sistem Varsayılanı + Aydınlık + Koyu + Ses Efekti + Arama penceresi açıldığında küçük bir ses oynat + Animasyon + Arayüzde Animasyon Kullan + + + Kısayol Tuşu + Flow Launcher Kısayolu + Enter shortcut to show/hide Flow Launcher. + Açık Sonuç Değiştiricileri + Select a modifier key to open selected result via keyboard. + Kısayol Tuşunu Göster + Show result selection hotkey with results. + Özel Sorgu Kısayolları + Query + Sil + Düzenle + Ekle + Lütfen bir öğe seçin + {0} eklentisi için olan kısayolu silmek istediğinize emin misiniz? + Query window shadow effect + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + Vekil Sunucu + HTTP vekil sunucuyu etkinleştir. + Sunucu Adresi + Port + Kullanıcı Adı + Parola + Ayarları Sına + Kaydet + Sunucu adresi boş olamaz + Port boş olamaz + Port biçimi geçersiz + Vekil sunucu ayarları başarıyla kaydedildi + Vekil sunucu doğru olarak ayarlandı + Vekil sunucuya bağlanılırken hata oluştu + + + Hakkında + Website + Github + Docs + Sürüm + Şu ana kadar Flow Launcher'u {0} kez aktifleştirdiniz. + Güncellemeleri Kontrol Et + Uygulamanın yeni sürümü ({0}) mevcut, Lütfen Flow Launcher'u yeniden başlatın. + Güncelleme kontrolü başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın api.github.com adresine ulaşabilir olduğunu kontrol edin. + + Güncellemenin yüklenmesi başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın github-cloud.s3.amazonaws.com + adresine ulaşabilir olduğunu kontrol edin ya da https://github.com/Flow-Launcher/Flow.Launcher/releases adresinden güncellemeyi elle indirin. + + Sürüm Notları + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Eski Anahtar Kelime + Yeni Anahtar Kelime + İptal + Tamam + Belirtilen eklenti bulunamadı + Yeni anahtar kelime boş olamaz + Yeni anahtar kelime başka bir eklentiye atanmış durumda. Lütfen başka bir anahtar kelime seçin + Başarılı + Completed successfully + Anahtar kelime belirlemek istemiyorsanız * kullanın + + + Özel Sorgu Kısayolları + Press the custom hotkey to automatically insert the specified query. + Önizleme + Kısayol tuşu kullanılabilir değil, lütfen başka bir kısayol tuşu seçin + Geçersiz eklenti kısayol tuşu + Güncelle + + + Kısayol tuşu kullanılabilir değil + + + Sürüm + Tarih + Sorunu çözebilmemiz için lütfen uygulamanın ne yaparken çöktüğünü belirtin. + Raporu Gönder + İptal + Genel + Özel Durumlar + Özel Durum Tipi + Kaynak + Yığın İzleme + Gönderiliyor + Hata raporu başarıyla gönderildi + Hata raporu gönderimi başarısız oldu + Flow Launcher'ta bir hata oluştu + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Flow Launcher'un yeni bir sürümü ({0}) mevcut + Güncellemelerin kurulması sırasında bir hata oluştu + Güncelle + İptal + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Bu güncelleme Flow Launcher'u yeniden başlatacaktır + Aşağıdaki dosyalar güncelleştirilecektir + Güncellenecek dosyalar + Güncelleme açıklaması + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/uk-UA.xaml b/Flow.Launcher/Languages/uk-UA.xaml index 790314d0f..a34ed4e8b 100644 --- a/Flow.Launcher/Languages/uk-UA.xaml +++ b/Flow.Launcher/Languages/uk-UA.xaml @@ -1,133 +1,295 @@ - - - Реєстрація хоткея {0} не вдалася - Не вдалося запустити {0} - Невірний формат файлу плагіна Flow Launcher - Відображати першим при такому ж запиті - Відмінити відображення першим при такому ж запиті - Виконати запит: {0} - Час останнього використання: {0} - Відкрити - Налаштування - Про Flow Launcher - Закрити - - - Налаштування Flow Launcher - Основні - Запускати Flow Launcher при запуску системи - Сховати Flow Launcher якщо втрачено фокус - Не повідомляти про доступні нові версії - Запам'ятати останнє місце запуску - Мова - Максимальна кількість результатів - Ігнорувати гарячі клавіші в повноекранному режимі - Директорія Python - Автоматичне оновлення - Вибрати - Сховати Flow Launcher при запуску системи - - - Плагіни - Знайти більше плагінів - Відключити - Ключове слово - Директорія плагіну - Автор - Ініціалізація: - Запит: - - - Теми - Знайти більше тем - Шрифт запитів - Шрифт результатів - Віконний режим - Прозорість - - - Гарячі клавіші - Гаряча клавіша Flow Launcher - Відкриті модифікатори результатів - Задані гарячі клавіші для запитів - Показати клавішу швидкого доступу - Видалити - Змінити - Додати - Спочатку виберіть елемент - Ви впевнені, що хочете видалити гарячу клавішу ({0}) плагіну? - - - HTTP Proxy - Включити HTTP Proxy - HTTP Сервер - Порт - Логін - Пароль - Перевірити Proxy - Зберегти - Необхідно вказати "HTTP Сервер" - Необхідно вказати "Порт" - Невірний формат порту - Налаштування Proxy успішно збережено - Proxy успішно налаштований - Невдале підключення Proxy - - - Про Flow Launcher - Сайт - Версия - Ви скористалися Flow Launcher вже {0} разів - Перевірити наявність оновлень - Доступна нова версія {0}, будь ласка, перезавантажте Flow Launcher - Примітки до поточного релізу: - - - Поточна гаряча клавіша - Нова гаряча клавіша - Скасувати - Готово - Не вдалося знайти вказаний плагін - Нова гаряча клавіша не може бути порожньою - Нова гаряча клавіша вже використовується іншим плагіном. Будь ласка, вкажіть нову - Збережено - Використовуйте * у разі, якщо ви не хочете ставити конкретну гарячу клавішу - - - Перевірити - Гаряча клавіша недоступна. Будь ласка, вкажіть нову - Недійсна гаряча клавіша плагіна - Оновити - - - Гаряча клавіша недоступна - - - Версія - Час - Будь ласка, розкажіть нам, як додаток вийшов із ладу, щоб ми могли це виправити - Надіслати звіт - Скасувати - Основне - Винятки - Тип винятку - Джерело - Траса стеку - Відправити - Звіт успішно відправлено - Не вдалося відправити звіт - Стався збій в додатоку Flow Launcher - - - Доступна нова версія Flow Launcher V{0} - Сталася помилка під час спроби встановити оновлення - Оновити - Скасувати - Це оновлення перезавантажить Flow Launcher - Ці файли будуть оновлені - Оновити файли - Опис оновлення - - \ No newline at end of file + + + + Реєстрація хоткея {0} не вдалася + Не вдалося запустити {0} + Невірний формат файлу плагіна Flow Launcher + Відображати першим при такому ж запиті + Відмінити відображення першим при такому ж запиті + Виконати запит: {0} + Час останнього використання: {0} + Відкрити + Налаштування + Про Flow Launcher + Вийти + Закрити + Копіювати + Вирізати + Вставити + Файл + Тека + Текст + Режим гри + Призупинити використання гарячих клавіш. + + + Налаштування Flow Launcher + Основні + Портативний режим + Зберігати всі налаштування і дані користувача в одній теці (буде корисно при видаленні дисків або хмарних сервісах). + Запускати Flow Launcher при запуску системи + Error setting launch on startup + Сховати Flow Launcher, якщо втрачено фокус + Не повідомляти про доступні нові версії + Запам'ятати останнє місце запуску + Мова + Останній стиль запиту + Показати/приховати попередні результати коли реактивований Flow Launcher знову. + Зберегти останній запит + Вибрати останній запит + Очистити останній запит + Максимальна кількість результатів + Ігнорувати гарячі клавіші в повноекранному режимі + Вимкнути активацію Flow Launcher коли активовано повноекранний додаток (Рекомендується для ігор). + Стандартний Файловий Менеджер + Виберіть файловий менеджер для використання під час відкриття теки. + Браузер за замовчуванням + Налаштування нової вкладки, нового вікна, приватного режиму. + Директорія Python + Автоматичне оновлення + Вибрати + Сховати Flow Launcher при запуску системи + Приховати значок в системному лотку + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + Точність пошуку запитів + Змінює мінімальний бал збігів, необхідних для результатів. + Використовувати піньїнь + Дозволяє використовувати пінїнь для пошуку. Піньїнь - це стандартна система написання для перекладу китайської + Ефект тіні не дозволено, коли поточна тема має ефект розмиття + + + Plugin + Знайти більше плагінів + Увімкнено + Відключити + Встановлення гарячих клавіш + Ключове слово + Поточна гаряча клавіша + Нова гаряча клавіша + Змінити гарячі клавіши + Поточний пріоритет + Новий пріоритет + Пріоритет + Change Plugin Results Priority + Директорія плагінів + за + Ініціалізація: + Запит: + | Версія + Сайт + Uninstall + + + + Магазин плагінів + Оновити + Встановити + + + Тема + Знайти більше тем + Як створити тему + Привіт усім + Шрифт запитів + Шрифт результатів + Віконний режим + Прозорість + Тема {0} не існує, повернення до теми за замовчуванням + Не вдалось завантажити тему {0}, повернення до теми за замовчуванням + Тека з темою + Відкрити теку з темою + Схема кольорів + За замовчуванням + Світла + Темна + Звуковий ефект + Відтворювати невеликий звук при відкритті вікна пошуку + Анімація + Використовувати анімацію в інтерфейсі + + + Гаряча клавіша + Гаряча клавіша Flow Launcher + Введіть ярлик для відображення/приховання потокового запуску. + Відкрити ключ зміни результатів + Виберіть ключ модифікатора для відкриття вибраних результатів за допомогою клавіатури. + Показати гарячу клавішу + Show result selection hotkey with results. + Задані гарячі клавіші для запитів + Query + Видалити + Редагувати + Додати + Спочатку виберіть елемент + Ви впевнені, що хочете видалити гарячу клавішу ({0}) плагіну? + Ефект тіні вікна запиту + Shadow effect has a substantial usage of GPU. Not recommended if your computer performance is limited. + Window Width Size + Use Segoe Fluent Icons + Use Segoe Fluent Icons for query results where supported + + + HTTP Proxy + Включити HTTP Proxy + Сервер HTTP + Порт + Ім'я користувача + Пароль + Тест Proxy + Зберегти + Необхідно вказати "HTTP Сервер" + Необхідно вказати "Порт" + Невірний формат порту + Налаштування Proxy успішно збережено + Proxy успішно налаштований + Невдале підключення Proxy + + + Про Flow Launcher + Website + Github + Docs + Версія + Ви скористалися Flow Launcher вже {0} разів + Перевірити наявність оновлень + Доступна нова версія {0}, будь ласка, перезавантажте Flow Launcher + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually. + + Примітки до поточного релізу: + Usage Tips + DevTools + Setting Folder + Log Folder + Clear Logs + Are you sure you want to delete all logs? + Wizard + + + Select File Manager + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + File Manager + Profile Name + File Manager Path + Arg For Folder + Arg For File + + + Default Web Browser + The default setting follows the OS default browser setting. If specified separately, flow uses that browser. + Browser + Browser Name + Browser Path + New Window + New Tab + Private Mode + + + Change Priority + Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number + Please provide an valid integer for Priority! + + + Поточна гаряча клавіша + Нова гаряча клавіша + Скасувати + Готово + Не вдалося знайти вказаний плагін + Нова гаряча клавіша не може бути порожньою + Нова гаряча клавіша вже використовується іншим плагіном. Будь ласка, вкажіть нову + Успішно + Completed successfully + Введіть гарячу клавішу, яку ви хочете використовувати для запуску плагіна. Використовуйте * у разі, якщо ви не хочете ставити конкретну гарячу клавішу. + + + Задані гарячі клавіші для запитів + Press the custom hotkey to automatically insert the specified query. + Переглянути + Гаряча клавіша недоступна. Будь ласка, вкажіть нову + Недійсна гаряча клавіша плагіна + Оновити + + + Гаряча клавіша недоступна + + + Версія + Час + Будь ласка, розкажіть нам, як додаток вийшов із ладу, щоб ми могли це виправити + Надіслати звіт + Скасувати + Основні + Винятки + Тип винятку + Джерело + Трасування стеку + Відправляється + Звіт успішно відправлено + Не вдалося відправити звіт + Стався збій в додатку Flow Launcher + + + Please wait... + + + Checking for new update + You already have the latest Flow Launcher version + Update found + Updating... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + New Update + Доступна нова версія Flow Launcher {0} + Сталася помилка під час спроби встановити оновлення + Оновити + Скасувати + Update Failed + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + Це оновлення перезавантажить Flow Launcher + Ці файли будуть оновлені + Оновити файли + Опис оновлення + + + Skip + Welcome to Flow Launcher + Hello, this is the first time you are running Flow Launcher! + Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language + Search and run all files and applications on your PC + Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. + Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard. + Hotkeys + Action Keyword and Commands + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + Let's Start Flow Launcher + Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :) + + + + Back / Context Menu + Item Navigation + Open Context Menu + Open Contaning Folder + Run as Admin + Query History + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + Open Setting Window + Reload Plugin Data + + Weather + Weather in Google Result + > ping 8.8.8.8 + Shell Command + Bluetooth + Bluetooth in Windows Settings + sn + Sticky Notes + + diff --git a/Flow.Launcher/Languages/zh-cn.xaml b/Flow.Launcher/Languages/zh-cn.xaml index e404c4deb..b62736d16 100644 --- a/Flow.Launcher/Languages/zh-cn.xaml +++ b/Flow.Launcher/Languages/zh-cn.xaml @@ -13,34 +13,44 @@ 关于 退出 关闭 + 复制 + 剪切 + 粘贴 + 文件 + 目录 + 文本 游戏模式 暂停使用快捷键。 - Flow Launcher设置 + Flow Launcher 设置 通用 便携模式 将所有设置和用户数据存储在一个文件夹中 (可用于可移除驱动器或云服务)。 开机自启 - 失去焦点时自动隐藏Flow Launcher + 设置开机自启时出错 + 失去焦点时自动隐藏 Flow Launcher 不显示新版本提示 记住上次启动位置 语言 再次激活时 - 重启Flow Launcher时显示/隐藏以前的结果。 + 重启 Flow Launcher 时显示/隐藏以前的结果。 保留上次搜索关键字 选择上次搜索关键字 清空上次搜索关键字 最大结果显示个数 全屏模式下忽略热键 - 当全屏应用程序激活时禁用快捷键。 + 当全屏应用程序激活时禁用快捷键 (建议游戏时打开) 。 默认文件管理器 选择打开文件夹时要使用的文件管理器。 + 默认浏览器 + 新标签/窗口及隐身模式设置。 Python 路径 自动更新 选择 系统启动时不显示主窗口 隐藏任务栏图标 + 任务栏图标被隐藏时,右键点击搜索窗口即可打开设置菜单。 查询搜索精度 更改匹配成功所需的最低分数。 启动拼音搜索 @@ -56,21 +66,24 @@ 触发关键字 当前触发关键字 新触发关键字 + 更改触发关键字 当前优先级 新优先级 优先级 + 更改插件结果优先级 插件目录 出自 加载耗时: 查询耗时: | 版本 官方网站 + 卸载 插件商店 刷新 - 安装 + 安装 主题 @@ -96,12 +109,12 @@ 热键 - Flow Launcher激活热键 - 输入显示/隐藏Flow Launcher的快捷键。 - 开放结果修饰符 - 指定修饰符用于打开指定的选项。 + Flow Launcher 激活热键 + 输入显示/隐藏 Flow Launcher 的快捷键。 + 打开结果快捷键修饰符 + 选择一个用以打开搜索结果的按键修饰符。 显示热键 - 显示热键用于快速选择选项。 + 显示用于打开结果的快捷键。 自定义查询热键 查询 删除 @@ -112,7 +125,7 @@ 查询窗口阴影效果 阴影效果将占用大量的GPU资源。 如果您的计算机性能有限,则不建议使用。 窗口宽度 - 使用Segoe Fluent图标 + 使用 Segoe Fluent 图标 在支持时在选项中显示 Segoe Fluent 图标 @@ -133,23 +146,25 @@ 关于 - 网站 + 官方网站 Github 文档 版本 - 你已经激活了Flow Launcher {0} 次 + 你已经激活了 Flow Launcher {0} 次 检查更新 - 发现新版本 {0} , 请重启 Flow Launcher + 发现新版本 {0}, 请重启 Flow Launcher 下载更新失败,请检查您与 api.github.com 的连接状态或检查代理设置 下载更新失败,请检查您与 github-cloud.s3.amazonaws.com 的连接状态或检查代理设置, 或访问 https://github.com/Flow-Launcher/Flow.Launcher/releases 手动下载更新 - 更新说明: - 使用技巧: + 更新说明 + 使用技巧 开发工具 设置目录 日志目录 + 清除日志 + 你确定要删除所有的日志吗? 向导 @@ -162,6 +177,16 @@ 文件夹路径参数 选中文件路径参数 + + 默认浏览器 + 默认设置遵循操作系统默认浏览器设置。如果单独指定,Flow 会使用该浏览器。 + 浏览器 + 浏览器名称 + 浏览器路径 + 新窗户 + 新标签 + 隐身模式 + 更改优先级 数字越大,结果排名越高。如果你想要结果比任何其他插件的低,请使用负数 @@ -180,7 +205,7 @@ 如果你不想设置触发关键字,可以使用*代替 - 自定义插件热键 + 自定义查询热键 按下自定义快捷键激活Flow Launcher并插入指定的查询前缀。 预览 热键不可用,请选择一个新的热键 @@ -196,7 +221,7 @@ 请告诉我们如何重现此问题,以便我们进行修复 发送报告 取消 - 基本信息 + 通用 异常信息 异常类型 异常源 @@ -204,55 +229,56 @@ 发送中 发送成功 发送失败 - Flow Launcher出错啦 + Flow Launcher 出错啦 请稍等... 检查新的更新 - 您已经拥有最新的Flow Launcher版本 + 您已经拥有最新的 Flow Launcher 版本 检查到更新 更新中... - Flow Launcher无法将您的用户配置文件数据移动到新的更新版本中。 - 请手动将您的用户配置文件数据文件夹从 {0} 到 {1} + Flow Launcher 无法将您的用户配置文件数据移动到新的更新版本中。 + 请手动将您的用户配置文件数据文件夹从 {0} 移动到 {1} 新的更新 - 发现Flow Launcher新版本 V{0} + 发现 Flow Launcher 新版本 V{0} 尝试安装软件更新时发生错误 更新 取消 更新失败 检查网络是否可以连接至github-cloud.s3.amazonaws.com. - 此次更新需要重启Flow Launcher + 此次更新需要重启 Flow Launcher 下列文件会被更新 更新文件 更新日志 跳过 - 欢迎使用Flow Launcher - 你好,这是你第一次运行Flow Launcher! - 在启动前,这个向导将有助于设置Flow Launcher。如果您愿意,您可以跳过。请选择一种语言 + 欢迎使用 Flow Launcher + 你好,这是你第一次运行 Flow Launcher! + 在启动前,这个向导将有助于设置 Flow Launcher。如果您愿意,您可以跳过。请选择一种语言 搜索并运行您PC上的文件和应用程序 - 搜索所有应用程序、 文件、 书签、 YouTube、 Twitter等。所有都只需要键盘而不需要触摸鼠标。 - Flow Launcher默认使用下面的快捷键激活。 要更改它,请点击输入并按键盘上所需的热键。 + 搜索所有应用程序、 文件、 书签、 YouTube、 Twitter等。所有都只需要键盘而不需要鼠标。 + Flow Launcher 默认使用下面的快捷键激活。 要更改它,请点击输入并按键盘上所需的热键。 快捷键 动作关键词和命令 - 通过Flow Launcher 插件搜索网站、启动应用程序或运行各种功能。 某些函数起始于一个动作关键词,如有必要,它们可以在没有动作关键词的情况下使用。欢迎尝试一下的查询语句。 - 开始使用Flow Launcher - 完成了!享受Flow Launcher。不要忘记激活快捷键 :) + 通过 Flow Launcher 插件搜索网站、启动应用程序或运行各种功能。某些功能使用一个动作关键词激活,如有必要,它们也可以在没有动作关键词的情况下使用。欢迎尝试以下的查询语句。 + 开始使用 Flow Launcher + 完成了!享受 Flow Launcher。不要忘记激活快捷键 :) 返回/上下文菜单 选项导航 - 打开菜单目录 + 打开上下文菜单 打开所在目录 以管理员身份运行 查询历史 返回查询界面 + 自动补全 打开/运行选中项目 打开设置窗口 重新加载插件数据 @@ -264,6 +290,6 @@ Bluetooth Windows 设置中的蓝牙 sn - Sticky Notes + 便笺 diff --git a/Flow.Launcher/Languages/zh-tw.xaml b/Flow.Launcher/Languages/zh-tw.xaml index cba62ead4..69abbe401 100644 --- a/Flow.Launcher/Languages/zh-tw.xaml +++ b/Flow.Launcher/Languages/zh-tw.xaml @@ -1,133 +1,295 @@ - - - 登錄快速鍵:{0} 失敗 - 啟動命令 {0} 失敗 - 無效的 Flow Launcher 外掛格式 - 在目前查詢中置頂 - 取消置頂 - 執行查詢:{0} - 上次執行時間:{0} - 開啟 - 設定 - 關於 - 結束 - - - Flow Launcher 設定 - 一般 - 開機時啟動 - 失去焦點時自動隱藏 Flow Launcher - 不顯示新版本提示 - 記住上次啟動位置 - 語言 - 最大結果顯示個數 - 全螢幕模式下忽略熱鍵 - Python 路徑 - 自動更新 - 選擇 - 啟動時不顯示主視窗 - - - 外掛 - 瀏覽更多外掛 - 停用 - 觸發關鍵字 - 外掛資料夾 - 作者 - 載入耗時: - 查詢耗時: - - - 主題 - 瀏覽更多主題 - 查詢框字體 - 結果項字體 - 視窗模式 - 透明度 - - - 熱鍵 - Flow Launcher 執行熱鍵 - 開放結果修飾符 - 自定義熱鍵查詢 - 顯示熱鍵 - 刪除 - 編輯 - 新增 - 請選擇一項 - 確定要刪除外掛 {0} 的熱鍵嗎? - - - HTTP 代理 - 啟用 HTTP 代理 - HTTP 伺服器 - Port - 使用者 - 密碼 - 測試代理 - 儲存 - 伺服器不能為空 - Port 不能為空 - 不正確的 Port 格式 - 儲存代理設定成功 - 代理設定完成 - 代理連線失敗 - - - 關於 - 網站 - 版本 - 您已經啟動了 Flow Launcher {0} 次 - 檢查更新 - 發現有新版本 {0}, 請重新啟動 Flow Launcher。 - 更新說明: - - - 舊觸發關鍵字 - 新觸發關鍵字 - 取消 - 確定 - 找不到指定的外掛 - 新觸發關鍵字不能為空白 - 新觸發關鍵字已經被指派給另一外掛,請設定其他關鍵字。 - 成功 - 如果不想設定觸發關鍵字,可以使用*代替 - - - 預覽 - 熱鍵不存在,請設定一個新的熱鍵 - 外掛熱鍵無法使用 - 更新 - - - 熱鍵無法使用 - - - 版本 - 時間 - 請告訴我們如何重現此問題,以便我們進行修復 - 發送報告 - 取消 - 基本訊息 - 例外訊息 - 例外類型 - 例外來源 - 堆疊資訊 - 傳送中 - 傳送成功 - 傳送失敗 - Flow Launcher 出錯啦 - - - 發現 Flow Launcher 新版本 V{0} - 更新 Flow Launcher 出錯 - 更新 - 取消 - 此更新需要重新啟動 Flow Launcher - 下列檔案會被更新 - 更新檔案 - 更新日誌 - - + + + + 登錄快捷鍵:{0} 失敗 + 啟動命令 {0} 失敗 + 無效的 Flow Launcher 外掛格式 + 在目前查詢中置頂 + 取消置頂 + 執行查詢:{0} + 上次執行時間:{0} + 開啟 + 設定 + 關於 + 結束 + 關閉 + 複製 + 剪下 + 貼上 + 檔案 + 資料夾 + 文字 + 遊戲模式 + 暫停使用快捷鍵。 + + + Flow Launcher 設定 + 一般 + Portable Mode + Store all settings and user data in one folder (Useful when used with removable drives or cloud services). + 開機時啟動 + Error setting launch on startup + 失去焦點時自動隱藏 Flow Launcher + 不顯示新版本提示 + 記住上次啟動位置 + 語言 + Last Query Style + Show/Hide previous results when Flow Launcher is reactivated. + Preserve Last Query + Select last Query + Empty last Query + 最大結果顯示個數 + 全螢幕模式下忽略快捷鍵 + 全螢幕模式下停用快捷鍵(推薦用於遊戲時)。 + 預設檔案管理器 + 選擇開啟資料夾時要使用的檔案管理器。 + 預設瀏覽器 + 設定新增分頁、視窗和無痕模式。 + Python 路徑 + 自動更新 + 選擇 + 啟動時不顯示主視窗 + 隱藏任務欄圖標 + When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window. + 查詢搜索精確度 + Changes minimum match score required for results. + 拼音搜索 + 允許使用拼音來搜索 + Shadow effect is not allowed while current theme has blur effect enabled + + + 插件 + 瀏覽更多外掛 + 啟用 + 停用 + 觸發關鍵字設定 + 觸發關鍵字 + 目前觸發關鍵字 + 新觸發關鍵字 + 更改觸發關鍵字 + 目前優先 + 新增優先 + 優先 + 更改插件結果優先順序 + 外掛資料夾 + 作者 + 載入耗時: + 查詢耗時: + | 版本 + 官方網站 + 解除安裝 + + + + 外掛商店 + 重新整理 + 安裝 + + + 主題 + 瀏覽更多主題 + 如何創建一個主題 + 你好呀 + 查詢框字體 + 結果項字體 + 視窗模式 + 透明度 + 找不到主題 {0} ,將回到預設主題 + 無法載入主題 {0} ,將回到預設主題 + 主題資料夾 + 打開主題資料夾 + 顏色主題 + 系統預設 + 亮色系 + 暗色系 + 音效 + 搜索窗口打開時播放音效 + 動畫 + 使用介面動畫 + + + 快捷鍵 + Flow Launcher 快捷鍵 + 執行快捷鍵以顯示 / 隱藏 Flow Launcher。 + 開放結果修飾符 + Select a modifier key to open selected result via keyboard. + 顯示快捷鍵 + Show result selection hotkey with results. + 自定義查詢快捷鍵 + 查詢 + 刪除 + 編輯 + 新增 + 請選擇一項 + 確定要刪除外掛 {0} 的快捷鍵嗎? + 查詢窗口陰影效果 + 陰影效果將佔用大量的 GPU 資源。如果你的電腦效能有限,不建議使用。 + 窗口寬度 + 使用 Segoe Fluent 圖標 + 在支援的情況下,在查詢結果使用 Segoe Fluent 圖標 + + + HTTP 代理 + 啟用 HTTP 代理 + HTTP 伺服器 + + 使用者 + 密碼 + 測試代理 + 儲存 + 伺服器不能為空 + Port 不能為空 + 不正確的 Port 格式 + 儲存代理設定成功 + 代理設定完成 + 代理連線失敗 + + + 關於 + 官方網站 + Github + 文檔 + 版本 + 您已經啟動了 Flow Launcher {0} 次 + 檢查更新 + 發現有新版本 {0}, 請重新啟動 Flow Launcher。 + 檢查更新失敗,請檢查你對 api.github.com 的連線和代理設定。 + + 下載更新失敗,請檢查您對 github-cloud.s3.amazonaws.com 的連線和代理設定, + 或是到 https://github.com/Flow-Launcher/Flow.Launcher/releases 手動下載更新。 + + 更新說明 + 使用技巧 + 開發工具 + 設定資料夾 + 日誌資料夾 + Clear Logs + Are you sure you want to delete all logs? + 嚮導 + + + 選擇檔案管理器 + Please specify the file location of the file manager you using and add arguments if necessary. The default arguments are "%d", and a path is entered at that location. For example, If a command is required such as "totalcmd.exe /A c:\windows", argument is /A "%d". + "%f" is an argument that represent the file path. It is used to emphasize the file/folder name when opening a specific file location in 3rd party file manager. This argument is only available in the "Arg for File" item. If the file manager does not have that function, you can use "%d". + 檔案管理器 + 檔案名稱 + 檔案管理器路徑 + 資料夾參數 + 檔案參數 + + + 預設瀏覽器 + 默認設定是依照作業系統的預設瀏覽器設定。如果要指定,Flow 將使用指定的瀏覽器。 + 瀏覽器 + 瀏覽器名稱 + 瀏覽器路徑 + 新增視窗 + 新增分頁 + 無痕模式 + + + 更改優先度 + 數字越大,查詢結果會排在越前面。嘗試將其設定為 5。如果你希望查詢結果低於任何其他外掛,請提供負數 + 請為優先度提供一個有效的整數! + + + 舊觸發關鍵字 + 新觸發關鍵字 + 取消 + 確定 + 找不到指定的外掛 + 新觸發關鍵字不能為空白 + 新觸發關鍵字已經被指派給另一外掛,請設定其他關鍵字。 + 成功 + 成功完成 + 如果不想設定觸發關鍵字,可以使用*代替 + + + 自定義快捷鍵查詢 + Press the custom hotkey to automatically insert the specified query. + 預覽 + 快捷鍵不存在,請設定一個新的快捷鍵 + 外掛熱鍵無法使用 + 更新 + + + 快捷鍵無法使用 + + + 版本 + 時間 + 請告訴我們如何重現此問題,以便我們進行修復 + 發送報告 + 取消 + 一般 + 例外訊息 + 例外類型 + 例外來源 + 堆疊資訊 + 傳送中 + 傳送成功 + 傳送失敗 + Flow Launcher 出錯啦 + + + 請稍後... + + + 正在檢查更新 + 您已經擁有最新的 Flow Launcher 版本 + 找到更新 + 更新中... + + Flow Launcher was not able to move your user profile data to the new update version. + Please manually move your profile data folder from {0} to {1} + + 新的更新 + 發現 Flow Launcher 新版本 V{0} + 更新 Flow Launcher 時發生錯誤 + 更新 + 取消 + 更新失敗 + Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com. + 此更新需要重新啟動 Flow Launcher + 下列檔案會被更新 + 更新檔案 + 更新日誌 + + + 跳過 + 歡迎使用 Flow Launcher + 你好,這是你第一次運行 Flow Launcher! + 在開始之前,此嚮導將幫助設定 Flow Launcher。如果你想,你可以跳過這個。請選擇一種語言 + 在PC上搜尋並執行所有文件和應用程式 + 只需使用鍵盤搜尋應用程式、文件、書籤、Youtube、Twitter等 + Flow Launcher 需要搭配快捷鍵使用,請馬上試試吧! 如果想更改它,請點擊"輸入"並輸入你想要的快捷鍵。 + 快捷鍵 + 關鍵字與指令 + Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher. + 開始使用 Flow Launcher吧! + 大功告成! 別忘了使用快捷鍵以開始 :) + + + + 返回 / 快捷選單 + Item Navigation + 打開選單 + 開啟檔案位置 + 以管理員身分執行 + 查詢歷史 + Back to Result in Context Menu + Autocomplete + Open / Run Selected Item + 開啟視窗設定 + 重新載入外掛資料 + + 天氣 + Google 搜索的天氣結果 + > ping 8.8.8.8 + Shell 指令 + 藍牙 + Windows 設定中的藍牙 + sn + 便利貼 + + diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml index 714fcc53f..6f3915076 100644 --- a/Flow.Launcher/MainWindow.xaml +++ b/Flow.Launcher/MainWindow.xaml @@ -1,5 +1,4 @@ - + - - - - - + + + + - - - - - - - - - - - + + + + + + + + + - - - + - - - - - - - - - - + - + - - - - + + + - - + - - - - + + + - - + + + + + + + + - - - - - - - + + + - @@ -270,14 +306,16 @@ - - - + + + - @@ -285,14 +323,16 @@ - - - + + + - @@ -300,4 +340,4 @@ - + \ No newline at end of file diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index 366407182..630daf42e 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.ComponentModel; using System.Threading.Tasks; using System.Windows; @@ -20,6 +20,8 @@ using Flow.Launcher.Infrastructure; using System.Windows.Media; using Flow.Launcher.Infrastructure.Hotkey; using Flow.Launcher.Plugin.SharedCommands; +using System.Windows.Threading; +using System.Windows.Data; namespace Flow.Launcher { @@ -43,6 +45,7 @@ namespace Flow.Launcher DataContext = mainVM; _viewModel = mainVM; _settings = settings; + InitializeComponent(); InitializePosition(); animationSound.Open(new Uri(AppDomain.CurrentDomain.BaseDirectory + "Resources\\open.wav")); @@ -52,6 +55,7 @@ namespace Flow.Launcher { InitializeComponent(); } + private void OnCopy(object sender, ExecutedRoutedEventArgs e) { if (QueryTextBox.SelectionLength == 0) @@ -89,6 +93,7 @@ namespace Flow.Launcher InitializeColorScheme(); WindowsInteropHelper.DisableControlBox(this); InitProgressbarAnimation(); + InitializePosition(); // since the default main window visibility is visible // so we need set focus during startup QueryTextBox.Focus(); @@ -106,7 +111,6 @@ namespace Flow.Launcher animationSound.Position = TimeSpan.Zero; animationSound.Play(); } - UpdatePosition(); Activate(); QueryTextBox.Focus(); @@ -136,22 +140,20 @@ namespace Flow.Launcher } case nameof(MainViewModel.ProgressBarVisibility): { - Dispatcher.Invoke(async () => + Dispatcher.Invoke(() => { if (_viewModel.ProgressBarVisibility == Visibility.Hidden && !isProgressBarStoryboardPaused) { - await Task.Delay(50); _progressBarStoryboard.Stop(ProgressBar); isProgressBarStoryboardPaused = true; } else if (_viewModel.MainWindowVisibilityStatus && - isProgressBarStoryboardPaused) + isProgressBarStoryboardPaused) { _progressBarStoryboard.Begin(ProgressBar, true); isProgressBarStoryboardPaused = false; } - }, System.Windows.Threading.DispatcherPriority.Render); - + }); break; } case nameof(MainViewModel.QueryTextCursorMovedToEnd): @@ -161,6 +163,7 @@ namespace Flow.Launcher _viewModel.QueryTextCursorMovedToEnd = false; } break; + } }; _settings.PropertyChanged += (o, e) => @@ -176,21 +179,40 @@ namespace Flow.Launcher case nameof(Settings.Hotkey): UpdateNotifyIconText(); break; + case nameof(Settings.WindowLeft): + Left = _settings.WindowLeft; + break; + case nameof(Settings.WindowTop): + Top = _settings.WindowTop; + break; } }; } private void InitializePosition() { - if (_settings.RememberLastLaunchLocation) + switch (_settings.SearchWindowPosition) { - Top = _settings.WindowTop; - Left = _settings.WindowLeft; - } - else - { - Left = WindowLeft(); - Top = WindowTop(); + case SearchWindowPositions.RememberLastLaunchLocation: + Top = _settings.WindowTop; + Left = _settings.WindowLeft; + break; + case SearchWindowPositions.MouseScreenCenter: + Left = HorizonCenter(); + Top = VerticalCenter(); + break; + case SearchWindowPositions.MouseScreenCenterTop: + Left = HorizonCenter(); + Top = 10; + break; + case SearchWindowPositions.MouseScreenLeftTop: + Left = 10; + Top = 10; + break; + case SearchWindowPositions.MouseScreenRightTop: + Left = HorizonRight(); + Top = 10; + break; } } @@ -199,8 +221,9 @@ namespace Flow.Launcher var menu = contextMenu; ((MenuItem)menu.Items[1]).Header = InternationalizationManager.Instance.GetTranslation("iconTrayOpen") + " (" + _settings.Hotkey + ")"; ((MenuItem)menu.Items[2]).Header = InternationalizationManager.Instance.GetTranslation("GameMode"); - ((MenuItem)menu.Items[3]).Header = InternationalizationManager.Instance.GetTranslation("iconTraySettings"); - ((MenuItem)menu.Items[4]).Header = InternationalizationManager.Instance.GetTranslation("iconTrayExit"); + ((MenuItem)menu.Items[3]).Header = InternationalizationManager.Instance.GetTranslation("PositionReset"); + ((MenuItem)menu.Items[4]).Header = InternationalizationManager.Instance.GetTranslation("iconTraySettings"); + ((MenuItem)menu.Items[5]).Header = InternationalizationManager.Instance.GetTranslation("iconTrayExit"); } private void InitializeNotifyIcon() @@ -226,6 +249,10 @@ namespace Flow.Launcher { Header = InternationalizationManager.Instance.GetTranslation("GameMode") }; + var positionreset = new MenuItem + { + Header = InternationalizationManager.Instance.GetTranslation("PositionReset") + }; var settings = new MenuItem { Header = InternationalizationManager.Instance.GetTranslation("iconTraySettings") @@ -237,12 +264,15 @@ namespace Flow.Launcher open.Click += (o, e) => _viewModel.ToggleFlowLauncher(); gamemode.Click += (o, e) => ToggleGameMode(); + positionreset.Click += (o, e) => PositionReset(); settings.Click += (o, e) => App.API.OpenSettingDialog(); exit.Click += (o, e) => Close(); contextMenu.Items.Add(header); contextMenu.Items.Add(open); gamemode.ToolTip = InternationalizationManager.Instance.GetTranslation("GameModeToolTip"); + positionreset.ToolTip = InternationalizationManager.Instance.GetTranslation("PositionResetToolTip"); contextMenu.Items.Add(gamemode); + contextMenu.Items.Add(positionreset); contextMenu.Items.Add(settings); contextMenu.Items.Add(exit); @@ -289,10 +319,17 @@ namespace Flow.Launcher _viewModel.GameModeStatus = true; } } + private async void PositionReset() + { + _viewModel.Show(); + await Task.Delay(300); // If don't give a time, Positioning will be weird. + Left = HorizonCenter(); + Top = VerticalCenter(); + } private void InitProgressbarAnimation() { var da = new DoubleAnimation(ProgressBar.X2, ActualWidth + 150, - new Duration(new TimeSpan(0, 0, 0, 0, 1600))); + new Duration(new TimeSpan(0, 0, 0, 0, 1600))); var da1 = new DoubleAnimation(ProgressBar.X1, ActualWidth + 50, new Duration(new TimeSpan(0, 0, 0, 0, 1600))); Storyboard.SetTargetProperty(da, new PropertyPath("(Line.X2)")); Storyboard.SetTargetProperty(da1, new PropertyPath("(Line.X1)")); @@ -396,6 +433,8 @@ namespace Flow.Launcher private async void OnDeactivated(object sender, EventArgs e) { + _settings.WindowLeft = Left; + _settings.WindowTop = Top; //This condition stops extra hide call when animator is on, // which causes the toggling to occasional hide instead of show. if (_viewModel.MainWindowVisibilityStatus) @@ -417,24 +456,14 @@ namespace Flow.Launcher { if (_animating) return; - - if (_settings.RememberLastLaunchLocation) - { - Left = _settings.WindowLeft; - Top = _settings.WindowTop; - } - else - { - Left = WindowLeft(); - Top = WindowTop(); - } + InitializePosition(); } private void OnLocationChanged(object sender, EventArgs e) { if (_animating) return; - if (_settings.RememberLastLaunchLocation) + if (_settings.SearchWindowPosition == SearchWindowPositions.RememberLastLaunchLocation) { _settings.WindowLeft = Left; _settings.WindowTop = Top; @@ -453,8 +482,8 @@ namespace Flow.Launcher _viewModel.Show(); } } - - public double WindowLeft() + + public double HorizonCenter() { var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position); var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.X, 0); @@ -463,7 +492,7 @@ namespace Flow.Launcher return left; } - public double WindowTop() + public double VerticalCenter() { var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position); var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, 0, screen.WorkingArea.Y); @@ -472,12 +501,22 @@ namespace Flow.Launcher return top; } + public double HorizonRight() + { + var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position); + var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.X, 0); + var dip2 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.Width, 0); + var left = (dip2.X - ActualWidth) - 10; + return left; + } + /// /// Register up and down key /// todo: any way to put this in xaml ? /// private void OnKeyDown(object sender, KeyEventArgs e) { + var specialKeyState = GlobalHotkey.CheckModifiers(); switch (e.Key) { case Key.Down: @@ -512,11 +551,17 @@ namespace Flow.Launcher e.Handled = true; } break; + case Key.F12: + if (specialKeyState.CtrlPressed) + { + ToggleGameMode(); + } + break; case Key.Back: - var specialKeyState = GlobalHotkey.CheckModifiers(); if (specialKeyState.CtrlPressed) { if (_viewModel.SelectedIsFromQueryResults() + && QueryTextBox.Text.Length > 0 && QueryTextBox.CaretIndex == QueryTextBox.Text.Length) { var queryWithoutActionKeyword = @@ -538,7 +583,9 @@ namespace Flow.Launcher private void MoveQueryTextToEnd() { - Dispatcher.Invoke(() => QueryTextBox.CaretIndex = QueryTextBox.Text.Length); + // QueryTextBox seems to be update with a DispatcherPriority as low as ContextIdle. + // To ensure QueryTextBox is up to date with QueryText from the View, we need to Dispatch with such a priority + Dispatcher.Invoke(() => QueryTextBox.CaretIndex = QueryTextBox.Text.Length, System.Windows.Threading.DispatcherPriority.ContextIdle); } public void InitializeColorScheme() @@ -552,5 +599,14 @@ namespace Flow.Launcher ModernWpf.ThemeManager.Current.ApplicationTheme = ModernWpf.ApplicationTheme.Dark; } } + + private void QueryTextBox_KeyUp(object sender, KeyEventArgs e) + { + if(_viewModel.QueryText != QueryTextBox.Text) + { + BindingExpression be = QueryTextBox.GetBindingExpression(System.Windows.Controls.TextBox.TextProperty); + be.UpdateSource(); + } + } } -} \ No newline at end of file +} diff --git a/Flow.Launcher/Notification.cs b/Flow.Launcher/Notification.cs index 3f5565eeb..57c1e88f2 100644 --- a/Flow.Launcher/Notification.cs +++ b/Flow.Launcher/Notification.cs @@ -18,7 +18,7 @@ namespace Flow.Launcher } [System.Diagnostics.CodeAnalysis.SuppressMessage("Interoperability", "CA1416:Validate platform compatibility", Justification = "")] - public static void Show(string title, string subTitle, string iconPath) + public static void Show(string title, string subTitle, string iconPath = null) { // Handle notification for win7/8/early win10 if (legacy) @@ -45,4 +45,4 @@ namespace Flow.Launcher msg.Show(title, subTitle, iconPath); } } -} \ No newline at end of file +} diff --git a/Flow.Launcher/PriorityChangeWindow.xaml b/Flow.Launcher/PriorityChangeWindow.xaml index d50bf82db..d6aadead9 100644 --- a/Flow.Launcher/PriorityChangeWindow.xaml +++ b/Flow.Launcher/PriorityChangeWindow.xaml @@ -63,7 +63,6 @@ + FileSystem Release Any CPU - net5.0-windows10.0.19041.0 + net6.0-windows10.0.19041.0 ..\Output\Release\ win-x64 true @@ -15,4 +15,4 @@ https://go.microsoft.com/fwlink/?LinkID=208121. False False - \ No newline at end of file + diff --git a/Flow.Launcher/Properties/PublishProfiles/NetCore3.1-SelfContained.pubxml.user b/Flow.Launcher/Properties/PublishProfiles/NetCore3.1-SelfContained.pubxml.user deleted file mode 100644 index 312c6e3b8..000000000 --- a/Flow.Launcher/Properties/PublishProfiles/NetCore3.1-SelfContained.pubxml.user +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.da-DK.resx b/Flow.Launcher/Properties/Resources.da-DK.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.da-DK.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.de-DE.resx b/Flow.Launcher/Properties/Resources.de-DE.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.de-DE.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.es-419.resx b/Flow.Launcher/Properties/Resources.es-419.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.es-419.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.es-EM.resx b/Flow.Launcher/Properties/Resources.es-EM.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.es-EM.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.fr-FR.resx b/Flow.Launcher/Properties/Resources.fr-FR.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.fr-FR.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.it-IT.resx b/Flow.Launcher/Properties/Resources.it-IT.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.it-IT.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.ja-JP.resx b/Flow.Launcher/Properties/Resources.ja-JP.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.ja-JP.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.ko-KR.resx b/Flow.Launcher/Properties/Resources.ko-KR.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.ko-KR.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.nb-NO.resx b/Flow.Launcher/Properties/Resources.nb-NO.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.nb-NO.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.nl-NL.resx b/Flow.Launcher/Properties/Resources.nl-NL.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.nl-NL.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.pl-PL.resx b/Flow.Launcher/Properties/Resources.pl-PL.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.pl-PL.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.pt-BR.resx b/Flow.Launcher/Properties/Resources.pt-BR.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.pt-BR.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.pt-PT.resx b/Flow.Launcher/Properties/Resources.pt-PT.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.pt-PT.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.ru-RU.resx b/Flow.Launcher/Properties/Resources.ru-RU.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.ru-RU.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.sk-SK.resx b/Flow.Launcher/Properties/Resources.sk-SK.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.sk-SK.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.sr-CS.resx b/Flow.Launcher/Properties/Resources.sr-CS.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.sr-CS.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.tr-TR.resx b/Flow.Launcher/Properties/Resources.tr-TR.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.tr-TR.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.uk-UA.resx b/Flow.Launcher/Properties/Resources.uk-UA.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.uk-UA.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.zh-TW.resx b/Flow.Launcher/Properties/Resources.zh-TW.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.zh-TW.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/Properties/Resources.zh-cn.resx b/Flow.Launcher/Properties/Resources.zh-cn.resx new file mode 100644 index 000000000..b5e00e8a2 --- /dev/null +++ b/Flow.Launcher/Properties/Resources.zh-cn.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\gamemode.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs index 81f7a2389..5fef5499b 100644 --- a/Flow.Launcher/PublicAPIInstance.cs +++ b/Flow.Launcher/PublicAPIInstance.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -23,7 +23,6 @@ using System.Runtime.CompilerServices; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.Storage; using System.Collections.Concurrent; -using Flow.Launcher.Plugin.SharedCommands; using System.Diagnostics; namespace Flow.Launcher @@ -83,7 +82,7 @@ namespace Flow.Launcher ImageLoader.Save(); } - public Task ReloadAllPluginData() => PluginManager.ReloadData(); + public Task ReloadAllPluginData() => PluginManager.ReloadDataAsync(); public void ShowMsgError(string title, string subTitle = "") => ShowMsg(title, subTitle, Constant.ErrorIcon, true); @@ -286,4 +285,4 @@ namespace Flow.Launcher #endregion } -} \ No newline at end of file +} diff --git a/Flow.Launcher/ReportWindow.xaml.cs b/Flow.Launcher/ReportWindow.xaml.cs index 6a9fd60e0..4899edc14 100644 --- a/Flow.Launcher/ReportWindow.xaml.cs +++ b/Flow.Launcher/ReportWindow.xaml.cs @@ -1,4 +1,5 @@ -using System; +using Flow.Launcher.Core.ExternalPlugins; +using System; using System.Diagnostics; using System.Globalization; using System.IO; @@ -22,13 +23,34 @@ namespace Flow.Launcher SetException(exception); } + private static string GetIssueUrl(string website) + { + if (!website.StartsWith("https://github.com")) + { + return website; + } + if(website.Contains("Flow-Launcher/Flow.Launcher")) + { + return Constant.Issue; + } + var treeIndex = website.IndexOf("tree", StringComparison.Ordinal); + return treeIndex == -1 ? $"{website}/issues/new" : $"{website[..treeIndex]}/issues/new"; + } + private void SetException(Exception exception) { string path = Log.CurrentLogDirectory; var directory = new DirectoryInfo(path); var log = directory.GetFiles().OrderByDescending(f => f.LastWriteTime).First(); - var paragraph = Hyperlink("Please open new issue in: ", Constant.Issue); + var websiteUrl = exception switch + { + FlowPluginException pluginException =>GetIssueUrl(pluginException.Metadata.Website), + _ => Constant.Issue + }; + + + var paragraph = Hyperlink("Please open new issue in: ", websiteUrl); paragraph.Inlines.Add($"1. upload log file: {log.FullName}\n"); paragraph.Inlines.Add($"2. copy below exception message"); ErrorTextbox.Document.Blocks.Add(paragraph); @@ -49,10 +71,12 @@ namespace Flow.Launcher var paragraph = new Paragraph(); paragraph.Margin = new Thickness(0); - var link = new Hyperlink { IsEnabled = true }; + var link = new Hyperlink + { + IsEnabled = true + }; link.Inlines.Add(url); link.NavigateUri = new Uri(url); - link.RequestNavigate += (s, e) => SearchWeb.OpenInBrowserTab(e.Uri.ToString()); link.Click += (s, e) => SearchWeb.OpenInBrowserTab(url); paragraph.Inlines.Add(textBeforeUrl); @@ -62,4 +86,4 @@ namespace Flow.Launcher return paragraph; } } -} +} \ No newline at end of file diff --git a/Flow.Launcher/Resources/CustomControlTemplate.xaml b/Flow.Launcher/Resources/CustomControlTemplate.xaml index b4d7e78a7..6ab7ab5ad 100644 --- a/Flow.Launcher/Resources/CustomControlTemplate.xaml +++ b/Flow.Launcher/Resources/CustomControlTemplate.xaml @@ -29,7 +29,6 @@ @@ -2724,7 +2723,8 @@ Background="{DynamicResource CustomContextBackground}" BorderBrush="{DynamicResource CustomContextBorder}" BorderThickness="1" - CornerRadius="8"> + CornerRadius="8" + UseLayoutRounding="True"> -