[Localization] Move PowerToys Run string resources from xaml files to resx (#6165)

* Removed xaml files, added resx file and removed references for PowerLauncher project

* Added resx file for wox.plugin

* Moved Calculator resources to resx

* Migrated resources for Folder and Indexer plugins

* Migrated resources for Program and Shell plugin

* Migrated resources for URI and Window Walker

* Removed GetTranslation, tests need to be refactored

* Removed internationalization classes

* Removed Wox.Core.Resource references

* Fixed Programs plugin tests

* Fixed tests

* Removed language xaml files from installer

* Added locProject.json files

* Fixed resource not found error

* Reverted addition of resx file for Wox.Plugin
This commit is contained in:
Arjun Balgovind 2020-09-02 15:24:59 -07:00 committed by GitHub
parent c9f536c635
commit 1b598ad87e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
130 changed files with 3978 additions and 5390 deletions

View file

@ -874,20 +874,6 @@
<Component Id="calculatorImagesComponent" Directory="CalculatorImagesFolder" Guid="07EC9232-CF9A-4CDB-8D8E-E79DC75096C0">
<File Id="calculatorPluginImg_calculator_light" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Calculator\Images\calculator.light.png" />
<File Id="calculatorPluginImg_calculator_dark" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Calculator\Images\calculator.dark.png" />
</Component>
<Component Id="calculatorLanguagesComponent" Directory="CalculatorLanguagesFolder" Guid="2D8019E7-664F-4529-9FAA-83C8DACF0732">
<?foreach LanguageFile in de.xaml;en.xaml;pl.xaml;tr.xaml;zh-cn.xaml;zh-tw.xaml?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.LanguageFile) = zh-cn.xaml?>
<?define IdSafeLanguage = zh_cn.xaml?>
<?elseif $(var.LanguageFile) = zh-tw.xaml?>
<?define IdSafeLanguage = zh_tw.xaml?>
<?else?>
<?define IdSafeLanguage = $(var.LanguageFile)?>
<?endif?>
<File Id="File_calc_Plugin_$(var.IdSafeLanguage)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Calculator\Languages\$(var.LanguageFile)" />
<?undef IdSafeLanguage?>
<?endforeach?>
</Component>
<Component Id="calculatorpinyindbComponent" Directory="CalculatorpinyindbFolder" Guid="D5527670-BE9A-4AA9-9D36-1249F2184B5B">
<?foreach File in pinyin_gwoyeu_mapping.xml;pinyin_mapping.xml;unicode_to_hanyu_pinyin.txt?>
@ -906,20 +892,6 @@
<File Id="FolderPlugin_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Folder\Images\$(var.File)" />
<?endforeach?>
</Component>
<Component Id="FolderPluginLanguagesComponent" Directory="FolderPluginLanguagesFolder" Guid="6316D847-5FD2-488B-A60E-5517BF95A25C">
<?foreach LanguageFile in de.xaml;en.xaml;pl.xaml;tr.xaml;zh-cn.xaml;zh-tw.xaml?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.LanguageFile) = zh-cn.xaml?>
<?define IdSafeLanguage = zh_cn.xaml?>
<?elseif $(var.LanguageFile) = zh-tw.xaml?>
<?define IdSafeLanguage = zh_tw.xaml?>
<?else?>
<?define IdSafeLanguage = $(var.LanguageFile)?>
<?endif?>
<File Id="File_Folder_Plugin_$(var.IdSafeLanguage)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Folder\Languages\$(var.LanguageFile)" />
<?undef IdSafeLanguage?>
<?endforeach?>
</Component>
<Component Id="FolderPluginpinyindbComponent" Directory="FolderPluginpinyindbFolder" Guid="233BE087-B9DC-408A-8809-593C42DE8B1B">
<?foreach File in pinyin_gwoyeu_mapping.xml;pinyin_mapping.xml;unicode_to_hanyu_pinyin.txt?>
<File Id="FolderPlugin_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Folder\pinyindb\$(var.File)" />
@ -936,20 +908,6 @@
<?foreach File in app.dark.png;app.light.png;disable.light.png;disable.dark.png;folder.light.png;folder.dark.png;shell.light.png;shell.dark.png;user.light.png;user.dark.png?>
<File Id="Program_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Program\Images\$(var.File)" />
<?endforeach?>
</Component>
<Component Id="ProgramLanguagesComponent" Directory="ProgramLanguagesFolder" Guid="EBFF53B6-3602-4F55-8784-FC7DB29D3D62">
<?foreach LanguageFile in de.xaml;en.xaml;pl.xaml;tr.xaml;zh-cn.xaml;zh-tw.xaml?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.LanguageFile) = zh-cn.xaml?>
<?define IdSafeLanguage = zh_cn.xaml?>
<?elseif $(var.LanguageFile) = zh-tw.xaml?>
<?define IdSafeLanguage = zh_tw.xaml?>
<?else?>
<?define IdSafeLanguage = $(var.LanguageFile)?>
<?endif?>
<File Id="File_Program_Plugin_$(var.IdSafeLanguage)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Program\Languages\$(var.LanguageFile)" />
<?undef IdSafeLanguage?>
<?endforeach?>
</Component>
<Component Id="ProgrampinyindbComponent" Directory="ProgrampinyindbFolder" Guid="65A488C3-C67D-45F7-9654-6DF529AEEB3F">
<?foreach File in pinyin_gwoyeu_mapping.xml;pinyin_mapping.xml;unicode_to_hanyu_pinyin.txt?>
@ -967,20 +925,6 @@
<?foreach File in shell.light.png;shell.dark.png;user.light.png;user.dark.png?>
<File Id="Shell_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Shell\Images\$(var.File)" />
<?endforeach?>
</Component>
<Component Id="ShellLanguagesComponent" Directory="ShellLanguagesFolder" Guid="4190F789-8A66-46AA-B920-C76CB29277D7">
<?foreach LanguageFile in de.xaml;en.xaml;pl.xaml;tr.xaml;zh-cn.xaml;zh-tw.xaml?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.LanguageFile) = zh-cn.xaml?>
<?define IdSafeLanguage = zh_cn.xaml?>
<?elseif $(var.LanguageFile) = zh-tw.xaml?>
<?define IdSafeLanguage = zh_tw.xaml?>
<?else?>
<?define IdSafeLanguage = $(var.LanguageFile)?>
<?endif?>
<File Id="File_Shell_Plugin_$(var.IdSafeLanguage)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Shell\Languages\$(var.LanguageFile)" />
<?undef IdSafeLanguage?>
<?endforeach?>
</Component>
<Component Id="ShellpinyindbComponent" Directory="ShellpinyindbFolder" Guid="A60742F3-2187-47F2-A5B5-300E44837DD7">
<?foreach File in pinyin_gwoyeu_mapping.xml;pinyin_mapping.xml;unicode_to_hanyu_pinyin.txt?>
@ -999,20 +943,6 @@
<File Id="Indexer_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Indexer\Images\$(var.File)" />
<?endforeach?>
</Component>
<Component Id="IndexerLanguagesComponent" Directory="IndexerLanguagesFolder" Guid="4B5ED306-7DD5-4EA6-9DBB-CF054929182C">
<?foreach LanguageFile in de.xaml;en.xaml;ja.xaml;pl.xaml;tr.xaml;zh-cn.xaml;zh-tw.xaml?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.LanguageFile) = zh-cn.xaml?>
<?define IdSafeLanguage = zh_cn.xaml?>
<?elseif $(var.LanguageFile) = zh-tw.xaml?>
<?define IdSafeLanguage = zh_tw.xaml?>
<?else?>
<?define IdSafeLanguage = $(var.LanguageFile)?>
<?endif?>
<File Id="Indexer_Plugin_$(var.IdSafeLanguage)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Indexer\Languages\$(var.LanguageFile)" />
<?undef IdSafeLanguage?>
<?endforeach?>
</Component>
<Component Id="IndexerpinyindbComponent" Directory="IndexerpinyindbFolder" Guid="48DE333A-80F8-400A-87F4-244DF0A2DB05">
<?foreach File in pinyin_gwoyeu_mapping.xml;pinyin_mapping.xml;unicode_to_hanyu_pinyin.txt?>
<File Id="IndexerPlugin_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Indexer\pinyindb\$(var.File)" />
@ -1029,20 +959,6 @@
<File Id="UriDarkIcon" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Uri\Images\Uri.dark.png" />
<File Id="UriLightIcon" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Uri\Images\Uri.light.png" />
</Component>
<Component Id="UriLanguagesComponent" Directory="UriLanguagesFolder" Guid="4CA9CECE-BB93-4686-A58F-35835F5C3F7D">
<?foreach LanguageFile in de.xaml;en.xaml;pl.xaml;tr.xaml;zh-cn.xaml;zh-tw.xaml?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.LanguageFile) = zh-cn.xaml?>
<?define IdSafeLanguage = zh_cn.xaml?>
<?elseif $(var.LanguageFile) = zh-tw.xaml?>
<?define IdSafeLanguage = zh_tw.xaml?>
<?else?>
<?define IdSafeLanguage = $(var.LanguageFile)?>
<?endif?>
<File Id="File_Uri_Plugin_$(var.IdSafeLanguage)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Uri\Languages\$(var.LanguageFile)" />
<?undef IdSafeLanguage?>
<?endforeach?>
</Component>
<Component Id="UripinyindbComponent" Directory="UripinyindbFolder" Guid="A52A7281-CD7C-4E7D-A5A6-EA8CFCF462A2">
<?foreach File in pinyin_gwoyeu_mapping.xml;pinyin_mapping.xml;unicode_to_hanyu_pinyin.txt?>
<File Id="UriPlugin_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.Uri\pinyindb\$(var.File)" />
@ -1059,9 +975,6 @@
<File Id="WindowWalkerDarkIcon" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Images\windowwalker.dark.png" />
<File Id="WindowWalkerLightIcon" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Images\windowwalker.light.png" />
</Component>
<Component Id="WindowWalkerLanguagesComponent" Directory="WindowWalkerLanguagesFolder" Guid="7D9471D9-5C0A-4BD1-9A01-BAB65DD58834">
<File Id="WindowWalkerLanguage" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Languages\en.xaml" />
</Component>
<Component Id="WindowWalkerpinyindbComponent" Directory="WindowWalkerpinyindbFolder" Guid="02C7A758-CDD4-4E27-9EC7-2ED68DC444B0">
<?foreach File in pinyin_gwoyeu_mapping.xml;pinyin_mapping.xml;unicode_to_hanyu_pinyin.txt?>
<File Id="WindowWalkerPlugin_$(var.File)" Source="$(var.BinX64Dir)modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\pinyindb\$(var.File)" />

View file

@ -1,10 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_calculator_plugin_name">Rechner</system:String>
<system:String x:Key="wox_plugin_calculator_plugin_description">Stellt mathematische Berechnungen bereit.(Versuche 5*3-2 in Wox)</system:String>
<system:String x:Key="wox_plugin_calculator_not_a_number">Keine Zahl (NaN)</system:String>
<system:String x:Key="wox_plugin_calculator_expression_not_complete">Ausdruck falsch oder nicht vollständig (Klammern vergessen?)</system:String>
<system:String x:Key="wox_plugin_calculator_copy_number_to_clipboard">Diese Zahl in die Zwischenablage kopieren</system:String>
</ResourceDictionary>

View file

@ -1,10 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_calculator_plugin_name">Calculator</system:String>
<system:String x:Key="wox_plugin_calculator_plugin_description">Allows to do mathematical calculations.(Try 5*3-2 in Wox)</system:String>
<system:String x:Key="wox_plugin_calculator_not_a_number">Not a number (NaN)</system:String>
<system:String x:Key="wox_plugin_calculator_expression_not_complete">Expression wrong or incomplete (Did you forget some parentheses?)</system:String>
<system:String x:Key="wox_plugin_calculator_copy_number_to_clipboard">Copy this number to the clipboard</system:String>
</ResourceDictionary>

View file

@ -1,8 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_calculator_plugin_name">Kalkulator</system:String>
<system:String x:Key="wox_plugin_calculator_plugin_description">Szybkie wykonywanie obliczeń matematycznych. (Spróbuj wpisać 5*3-2 w oknie Woxa)</system:String>
</ResourceDictionary>

View file

@ -1,10 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_calculator_plugin_name">Hesap Makinesi</system:String>
<system:String x:Key="wox_plugin_calculator_plugin_description">Matematiksel hesaplamalar yapmaya yarar. (5*3-2 yazmayı deneyin)</system:String>
<system:String x:Key="wox_plugin_calculator_not_a_number">Sayı değil (NaN)</system:String>
<system:String x:Key="wox_plugin_calculator_expression_not_complete">İfade hatalı ya da eksik. (Parantez koymayı mı unuttunuz?)</system:String>
<system:String x:Key="wox_plugin_calculator_copy_number_to_clipboard">Bu sayıyı panoya kopyala</system:String>
</ResourceDictionary>

View file

@ -1,8 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_calculator_plugin_name">计算器</system:String>
<system:String x:Key="wox_plugin_calculator_plugin_description">为Wox提供数学计算能力。(试着在Wox输入 5*3-2)</system:String>
</ResourceDictionary>

View file

@ -1,8 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_calculator_plugin_name">計算機</system:String>
<system:String x:Key="wox_plugin_calculator_plugin_description">為 Wox 提供數學計算功能。(試著在 Wox 輸入 5*3-2)</system:String>
</ResourceDictionary>

View file

@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguageSet": "Azure_Languages",
"LocItems": [
{
"SourceFile": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Calculator\\Properties\\Resources.resx",
"CopyOption": "LangIDOnName",
"OutputPath": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Calculator\\Properties"
}
]
}
]
}

View file

@ -62,12 +62,12 @@ namespace Microsoft.Plugin.Calculator
if (result.ToString() == "NaN")
{
result = Context.API.GetTranslation("wox_plugin_calculator_not_a_number");
result = Properties.Resources.wox_plugin_calculator_not_a_number;
}
if (result is Function)
{
result = Context.API.GetTranslation("wox_plugin_calculator_expression_not_complete");
result = Properties.Resources.wox_plugin_calculator_expression_not_complete;
}
if (!string.IsNullOrEmpty(result?.ToString()))
@ -81,7 +81,7 @@ namespace Microsoft.Plugin.Calculator
Title = roundedResult.ToString(CultureInfo.CurrentCulture),
IcoPath = IconPath,
Score = 300,
SubTitle = Context.API.GetTranslation("wox_plugin_calculator_copy_number_to_clipboard"),
SubTitle = Properties.Resources.wox_plugin_calculator_copy_number_to_clipboard,
Action = c =>
{
var ret = false;
@ -94,7 +94,7 @@ namespace Microsoft.Plugin.Calculator
}
catch (ExternalException)
{
MessageBox.Show("Copy failed, please try later");
MessageBox.Show(Properties.Resources.wox_plugin_calculator_copy_failed);
}
});
thread.SetApartmentState(ApartmentState.STA);
@ -167,12 +167,12 @@ namespace Microsoft.Plugin.Calculator
public string GetTranslatedPluginTitle()
{
return Context.API.GetTranslation("wox_plugin_calculator_plugin_name");
return Properties.Resources.wox_plugin_calculator_plugin_name;
}
public string GetTranslatedPluginDescription()
{
return Context.API.GetTranslation("wox_plugin_calculator_plugin_description");
return Properties.Resources.wox_plugin_calculator_plugin_description;
}
public void Dispose()

View file

@ -12,6 +12,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Platforms>x64</Platforms>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -39,6 +40,13 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Languages\**" />
<EmbeddedResource Remove="Languages\**" />
<None Remove="Languages\**" />
<Page Remove="Languages\**" />
</ItemGroup>
<ItemGroup>
<None Include="plugin.json">
@ -50,53 +58,6 @@
<ProjectReference Include="..\..\Wox.Infrastructure\Wox.Infrastructure.csproj" />
<ProjectReference Include="..\..\Wox.Plugin\Wox.Plugin.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="Languages\en.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\zh-cn.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\zh-tw.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\de.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\pl.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\tr.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" Version="2020.1.0" />
@ -133,4 +94,17 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View file

@ -0,0 +1,117 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Plugin.Calculator.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Plugin.Calculator.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Copy failed, please try later.
/// </summary>
public static string wox_plugin_calculator_copy_failed {
get {
return ResourceManager.GetString("wox_plugin_calculator_copy_failed", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Copy this number to the clipboard.
/// </summary>
public static string wox_plugin_calculator_copy_number_to_clipboard {
get {
return ResourceManager.GetString("wox_plugin_calculator_copy_number_to_clipboard", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Expression wrong or incomplete (Did you forget some parentheses?).
/// </summary>
public static string wox_plugin_calculator_expression_not_complete {
get {
return ResourceManager.GetString("wox_plugin_calculator_expression_not_complete", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Not a number (NaN).
/// </summary>
public static string wox_plugin_calculator_not_a_number {
get {
return ResourceManager.GetString("wox_plugin_calculator_not_a_number", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Allows you to do mathematical calculations. (Try 5*3-2 in PowerToys Run).
/// </summary>
public static string wox_plugin_calculator_plugin_description {
get {
return ResourceManager.GetString("wox_plugin_calculator_plugin_description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Calculator.
/// </summary>
public static string wox_plugin_calculator_plugin_name {
get {
return ResourceManager.GetString("wox_plugin_calculator_plugin_name", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="wox_plugin_calculator_plugin_name" xml:space="preserve">
<value>Calculator</value>
</data>
<data name="wox_plugin_calculator_plugin_description" xml:space="preserve">
<value>Allows you to do mathematical calculations. (Try 5*3-2 in PowerToys Run)</value>
</data>
<data name="wox_plugin_calculator_not_a_number" xml:space="preserve">
<value>Not a number (NaN)</value>
</data>
<data name="wox_plugin_calculator_expression_not_complete" xml:space="preserve">
<value>Expression wrong or incomplete (Did you forget some parentheses?)</value>
</data>
<data name="wox_plugin_calculator_copy_number_to_clipboard" xml:space="preserve">
<value>Copy this number to the clipboard</value>
</data>
<data name="wox_plugin_calculator_copy_failed" xml:space="preserve">
<value>Copy failed, please try later</value>
</data>
</root>

View file

@ -39,7 +39,7 @@ namespace Microsoft.Plugin.Folder
contextMenus.Add(new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("Microsoft_plugin_folder_copy_path"),
Title = Properties.Resources.Microsoft_plugin_folder_copy_path,
Glyph = "\xE8C8",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.C,
@ -53,7 +53,7 @@ namespace Microsoft.Plugin.Folder
}
catch (Exception e)
{
var message = "Fail to set text in clipboard";
var message = Properties.Resources.Microsoft_plugin_folder_clipboard_failed;
LogException(message, e);
_context.API.ShowMsg(message);
return false;
@ -64,7 +64,7 @@ namespace Microsoft.Plugin.Folder
contextMenus.Add(new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("Microsoft_plugin_folder_open_in_console"),
Title = Properties.Resources.Microsoft_plugin_folder_open_in_console,
Glyph = "\xE756",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.C,
@ -103,7 +103,7 @@ namespace Microsoft.Plugin.Folder
return new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("Microsoft_plugin_folder_open_containing_folder"),
Title = Properties.Resources.Microsoft_plugin_folder_open_containing_folder,
Glyph = "\xE838",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.E,

View file

@ -1,34 +0,0 @@
<UserControl x:Class="Microsoft.Plugin.Folder.FileSystemSettings"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="500">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<ListView x:Name="lbxFolders" Grid.Row="0" AllowDrop="True"
Drop="LbxFolders_Drop"
DragEnter="LbxFolders_DragEnter">
<ListView.View>
<GridView>
<GridViewColumn Header="{DynamicResource wox_plugin_folder_folder_path}" Width="180">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<StackPanel Grid.Row="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button x:Name="btnDelete" Click="BtnDelete_Click" Width="100" Margin="10" Content="{DynamicResource wox_plugin_folder_delete}"/>
<Button x:Name="btnEdit" Click="BtnEdit_Click" Width="100" Margin="10" Content="{DynamicResource wox_plugin_folder_edit}"/>
<Button x:Name="btnAdd" Click="BtnAdd_Click" Width="100" Margin="10" Content="{DynamicResource wox_plugin_folder_add}"/>
</StackPanel>
</Grid>
</UserControl>

View file

@ -1,127 +0,0 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using Wox.Plugin;
using DataFormats = System.Windows.DataFormats;
using DragDropEffects = System.Windows.DragDropEffects;
using DragEventArgs = System.Windows.DragEventArgs;
using MessageBox = System.Windows.MessageBox;
namespace Microsoft.Plugin.Folder
{
public partial class FileSystemSettings
{
private IPublicAPI _woxAPI;
private FolderSettings _settings;
public FileSystemSettings(IPublicAPI woxAPI, FolderSettings settings)
{
_woxAPI = woxAPI;
InitializeComponent();
_settings = settings ?? throw new ArgumentNullException(paramName: nameof(settings));
lbxFolders.ItemsSource = _settings.FolderLinks;
}
private void BtnDelete_Click(object sender, RoutedEventArgs e)
{
if (lbxFolders.SelectedItem is FolderLink selectedFolder)
{
string msg = string.Format(CultureInfo.InvariantCulture, _woxAPI.GetTranslation("wox_plugin_folder_delete_folder_link"), selectedFolder.Path);
if (MessageBox.Show(msg, string.Empty, MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
_settings.FolderLinks.Remove(selectedFolder);
lbxFolders.Items.Refresh();
}
}
else
{
string warning = _woxAPI.GetTranslation("wox_plugin_folder_select_folder_link_warning");
MessageBox.Show(warning);
}
}
private void BtnEdit_Click(object sender, RoutedEventArgs e)
{
if (lbxFolders.SelectedItem is FolderLink selectedFolder)
{
using (var folderBrowserDialog = new FolderBrowserDialog())
{
folderBrowserDialog.SelectedPath = selectedFolder.Path;
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
var link = _settings.FolderLinks.First(x => x.Path == selectedFolder.Path);
link.Path = folderBrowserDialog.SelectedPath;
}
lbxFolders.Items.Refresh();
}
}
else
{
string warning = _woxAPI.GetTranslation("wox_plugin_folder_select_folder_link_warning");
MessageBox.Show(warning);
}
}
private void BtnAdd_Click(object sender, RoutedEventArgs e)
{
using (var folderBrowserDialog = new FolderBrowserDialog())
{
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
var newFolder = new FolderLink
{
Path = folderBrowserDialog.SelectedPath,
};
_settings.FolderLinks.Add(newFolder);
}
lbxFolders.Items.Refresh();
}
}
private void LbxFolders_Drop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
if (files != null && files.Any())
{
foreach (string s in files)
{
if (Directory.Exists(s))
{
var newFolder = new FolderLink
{
Path = s,
};
_settings.FolderLinks.Add(newFolder);
}
lbxFolders.Items.Refresh();
}
}
}
private void LbxFolders_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effects = DragDropEffects.Link;
}
else
{
e.Effects = DragDropEffects.None;
}
}
}
}

View file

@ -1,20 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_folder_delete">Löschen</system:String>
<system:String x:Key="wox_plugin_folder_edit">Bearbeiten</system:String>
<system:String x:Key="wox_plugin_folder_add">Hinzufügen</system:String>
<system:String x:Key="wox_plugin_folder_folder_path">Ordnerpfad</system:String>
<system:String x:Key="wox_plugin_folder_select_folder_link_warning">Bitte wähle eine Ordnerverknüpfung</system:String>
<system:String x:Key="wox_plugin_folder_delete_folder_link">Bist du sicher {0} zu löschen?</system:String>
<system:String x:Key="wox_plugin_folder_plugin_name">Ordner</system:String>
<system:String x:Key="wox_plugin_folder_plugin_description">Öffne deine Lieblingsordner direkt von Wox aus</system:String>
<system:String x:Key="Microsoft_plugin_folder_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_title">Warning: Folder Plugin Results truncated.</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_subtitle">Showing {0} of {1} results</system:String>
</ResourceDictionary>

View file

@ -1,20 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_folder_delete">Delete</system:String>
<system:String x:Key="wox_plugin_folder_edit">Edit</system:String>
<system:String x:Key="wox_plugin_folder_add">Add</system:String>
<system:String x:Key="wox_plugin_folder_folder_path">Folder Path</system:String>
<system:String x:Key="wox_plugin_folder_select_folder_link_warning">Please select a folder link</system:String>
<system:String x:Key="wox_plugin_folder_delete_folder_link">Are you sure you want to delete {0}?</system:String>
<system:String x:Key="wox_plugin_folder_plugin_name">Folder</system:String>
<system:String x:Key="wox_plugin_folder_plugin_description">Open favorite folder from Wox directly</system:String>
<system:String x:Key="Microsoft_plugin_folder_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_title">Warning: Folder Plugin Results truncated.</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_subtitle">Showing {0} of {1} results</system:String>
</ResourceDictionary>

View file

@ -1,20 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_folder_delete">Usuń</system:String>
<system:String x:Key="wox_plugin_folder_edit">Edytuj</system:String>
<system:String x:Key="wox_plugin_folder_add">Dodaj</system:String>
<system:String x:Key="wox_plugin_folder_folder_path">Ścieżka folderu</system:String>
<system:String x:Key="wox_plugin_folder_select_folder_link_warning">Musisz wybrać któryś folder z listy</system:String>
<system:String x:Key="wox_plugin_folder_delete_folder_link">Czy jesteś pewien że chcesz usunąć {0}?</system:String>
<system:String x:Key="wox_plugin_folder_plugin_name">Foldery</system:String>
<system:String x:Key="wox_plugin_folder_plugin_description">Otwórz ulubione foldery bezpośrednio z poziomu Woxa</system:String>
<system:String x:Key="Microsoft_plugin_folder_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_title">Warning: Folder Plugin Results truncated.</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_subtitle">Showing {0} of {1} results</system:String>
</ResourceDictionary>

View file

@ -1,20 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_folder_delete">Sil</system:String>
<system:String x:Key="wox_plugin_folder_edit">Düzenle</system:String>
<system:String x:Key="wox_plugin_folder_add">Ekle</system:String>
<system:String x:Key="wox_plugin_folder_folder_path">Klasör Konumu</system:String>
<system:String x:Key="wox_plugin_folder_select_folder_link_warning">Lütfen bir klasör bağlantısı seçin</system:String>
<system:String x:Key="wox_plugin_folder_delete_folder_link">{0} bağlantısını silmek istediğinize emin misiniz?</system:String>
<system:String x:Key="wox_plugin_folder_plugin_name">Klasör</system:String>
<system:String x:Key="wox_plugin_folder_plugin_description">Favori klasörünüzü doğrudan Wox'tan açın</system:String>
<system:String x:Key="Microsoft_plugin_folder_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_title">Warning: Folder Plugin Results truncated.</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_subtitle">Showing {0} of {1} results</system:String>
</ResourceDictionary>

View file

@ -1,20 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_folder_delete">删除</system:String>
<system:String x:Key="wox_plugin_folder_edit">编辑</system:String>
<system:String x:Key="wox_plugin_folder_add">添加</system:String>
<system:String x:Key="wox_plugin_folder_folder_path">文件夹路径</system:String>
<system:String x:Key="wox_plugin_folder_select_folder_link_warning">请选择一个文件夹</system:String>
<system:String x:Key="wox_plugin_folder_delete_folder_link">你确定要删除{0}吗?</system:String>
<system:String x:Key="wox_plugin_folder_plugin_name">文件夹</system:String>
<system:String x:Key="wox_plugin_folder_plugin_description">在Wox中直接打开收藏的文件夹</system:String>
<system:String x:Key="Microsoft_plugin_folder_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_title">Warning: Folder Plugin Results truncated.</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_subtitle">Showing {0} of {1} results</system:String>
</ResourceDictionary>

View file

@ -1,20 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_folder_delete">刪除</system:String>
<system:String x:Key="wox_plugin_folder_edit">編輯</system:String>
<system:String x:Key="wox_plugin_folder_add">新增</system:String>
<system:String x:Key="wox_plugin_folder_folder_path">資料夾路徑</system:String>
<system:String x:Key="wox_plugin_folder_select_folder_link_warning">請選擇一個資料夾</system:String>
<system:String x:Key="wox_plugin_folder_delete_folder_link">你確認要刪除{0}嗎?</system:String>
<system:String x:Key="wox_plugin_folder_plugin_name">資料夾</system:String>
<system:String x:Key="wox_plugin_folder_plugin_description">在 Wox 中直接開啟收藏的資料夾</system:String>
<system:String x:Key="Microsoft_plugin_folder_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_folder_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_title">Warning: Folder Plugin Results truncated.</system:String>
<system:String x:Key="Microsoft_plugin_folder_truncation_warning_subtitle">Showing {0} of {1} results</system:String>
</ResourceDictionary>

View file

@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguageSet": "Azure_Languages",
"LocItems": [
{
"SourceFile": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Folder\\Properties\\Resources.resx",
"CopyOption": "LangIDOnName",
"OutputPath": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Folder\\Properties"
}
]
}
]
}

View file

@ -41,7 +41,7 @@ namespace Microsoft.Plugin.Folder
public Control CreateSettingPanel()
{
return new FileSystemSettings(_context.API, _settings);
throw new NotImplementedException();
}
public void Init(PluginInitContext context)
@ -290,9 +290,9 @@ namespace Microsoft.Plugin.Folder
{
return new Result
{
Title = _context.API.GetTranslation("Microsoft_plugin_folder_truncation_warning_title"),
Title = Properties.Resources.Microsoft_plugin_folder_truncation_warning_title,
QueryTextDisplay = search,
SubTitle = string.Format(CultureInfo.InvariantCulture, _context.API.GetTranslation("Microsoft_plugin_folder_truncation_warning_subtitle"), postTruncationCount, preTruncationCount),
SubTitle = string.Format(CultureInfo.InvariantCulture, Properties.Resources.Microsoft_plugin_folder_truncation_warning_subtitle, postTruncationCount, preTruncationCount),
IcoPath = warningIconPath,
};
}
@ -354,12 +354,12 @@ namespace Microsoft.Plugin.Folder
public string GetTranslatedPluginTitle()
{
return _context.API.GetTranslation("wox_plugin_folder_plugin_name");
return Properties.Resources.wox_plugin_folder_plugin_name;
}
public string GetTranslatedPluginDescription()
{
return _context.API.GetTranslation("wox_plugin_folder_plugin_description");
return Properties.Resources.wox_plugin_folder_plugin_description;
}
public List<ContextMenuResult> LoadContextMenus(Result selectedResult)

View file

@ -12,6 +12,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Platforms>x64</Platforms>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -39,6 +40,12 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Languages\**" />
<EmbeddedResource Remove="Languages\**" />
<None Remove="Languages\**" />
</ItemGroup>
<ItemGroup>
<None Include="plugin.json">
@ -51,43 +58,6 @@
<_Parameter1>Wox.Test</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
<ItemGroup>
<Page Include="FolderPluginSettings.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Content Include="Languages\en.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\zh-cn.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\zh-tw.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\de.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\pl.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\tr.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\core\Microsoft.PowerToys.Settings.UI.Lib\Microsoft.PowerToys.Settings.UI.Lib.csproj" />
@ -158,4 +128,17 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View file

@ -0,0 +1,189 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Plugin.Folder.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Plugin.Folder.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Fail to set text in clipboard.
/// </summary>
public static string Microsoft_plugin_folder_clipboard_failed {
get {
return ResourceManager.GetString("Microsoft_plugin_folder_clipboard_failed", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Copy path (Ctrl+C).
/// </summary>
public static string Microsoft_plugin_folder_copy_path {
get {
return ResourceManager.GetString("Microsoft_plugin_folder_copy_path", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open containing folder (Ctrl+Shift+E).
/// </summary>
public static string Microsoft_plugin_folder_open_containing_folder {
get {
return ResourceManager.GetString("Microsoft_plugin_folder_open_containing_folder", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open path in console (Ctrl+Shift+C).
/// </summary>
public static string Microsoft_plugin_folder_open_in_console {
get {
return ResourceManager.GetString("Microsoft_plugin_folder_open_in_console", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Showing {0} of {1} results.
/// </summary>
public static string Microsoft_plugin_folder_truncation_warning_subtitle {
get {
return ResourceManager.GetString("Microsoft_plugin_folder_truncation_warning_subtitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Warning: Folder Plugin Results truncated..
/// </summary>
public static string Microsoft_plugin_folder_truncation_warning_title {
get {
return ResourceManager.GetString("Microsoft_plugin_folder_truncation_warning_title", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Add.
/// </summary>
public static string wox_plugin_folder_add {
get {
return ResourceManager.GetString("wox_plugin_folder_add", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Delete.
/// </summary>
public static string wox_plugin_folder_delete {
get {
return ResourceManager.GetString("wox_plugin_folder_delete", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Are you sure you want to delete {0}?.
/// </summary>
public static string wox_plugin_folder_delete_folder_link {
get {
return ResourceManager.GetString("wox_plugin_folder_delete_folder_link", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Edit.
/// </summary>
public static string wox_plugin_folder_edit {
get {
return ResourceManager.GetString("wox_plugin_folder_edit", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Folder Path.
/// </summary>
public static string wox_plugin_folder_folder_path {
get {
return ResourceManager.GetString("wox_plugin_folder_folder_path", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open favorite folder from PowerToys Run directly.
/// </summary>
public static string wox_plugin_folder_plugin_description {
get {
return ResourceManager.GetString("wox_plugin_folder_plugin_description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Folder.
/// </summary>
public static string wox_plugin_folder_plugin_name {
get {
return ResourceManager.GetString("wox_plugin_folder_plugin_name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Please select a folder link.
/// </summary>
public static string wox_plugin_folder_select_folder_link_warning {
get {
return ResourceManager.GetString("wox_plugin_folder_select_folder_link_warning", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,162 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="wox_plugin_folder_delete" xml:space="preserve">
<value>Delete</value>
</data>
<data name="wox_plugin_folder_edit" xml:space="preserve">
<value>Edit</value>
</data>
<data name="wox_plugin_folder_add" xml:space="preserve">
<value>Add</value>
</data>
<data name="wox_plugin_folder_folder_path" xml:space="preserve">
<value>Folder Path</value>
</data>
<data name="wox_plugin_folder_select_folder_link_warning" xml:space="preserve">
<value>Please select a folder link</value>
</data>
<data name="wox_plugin_folder_delete_folder_link" xml:space="preserve">
<value>Are you sure you want to delete {0}?</value>
</data>
<data name="wox_plugin_folder_plugin_name" xml:space="preserve">
<value>Folder</value>
</data>
<data name="wox_plugin_folder_plugin_description" xml:space="preserve">
<value>Open favorite folder from PowerToys Run directly</value>
</data>
<data name="Microsoft_plugin_folder_copy_path" xml:space="preserve">
<value>Copy path (Ctrl+C)</value>
</data>
<data name="Microsoft_plugin_folder_open_in_console" xml:space="preserve">
<value>Open path in console (Ctrl+Shift+C)</value>
</data>
<data name="Microsoft_plugin_folder_open_containing_folder" xml:space="preserve">
<value>Open containing folder (Ctrl+Shift+E)</value>
</data>
<data name="Microsoft_plugin_folder_truncation_warning_title" xml:space="preserve">
<value>Warning: Folder Plugin Results truncated.</value>
</data>
<data name="Microsoft_plugin_folder_truncation_warning_subtitle" xml:space="preserve">
<value>Showing {0} of {1} results</value>
</data>
<data name="Microsoft_plugin_folder_clipboard_failed" xml:space="preserve">
<value>Fail to set text in clipboard</value>
</data>
</root>

View file

@ -57,7 +57,7 @@ namespace Microsoft.Plugin.Indexer
contextMenus.Add(new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("Microsoft_plugin_indexer_copy_path"),
Title = Properties.Resources.Microsoft_plugin_indexer_copy_path,
Glyph = "\xE8C8",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.C,
@ -82,7 +82,7 @@ namespace Microsoft.Plugin.Indexer
contextMenus.Add(new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("Microsoft_plugin_indexer_open_in_console"),
Title = Properties.Resources.Microsoft_plugin_indexer_open_in_console,
Glyph = "\xE756",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.C,
@ -117,12 +117,12 @@ namespace Microsoft.Plugin.Indexer
// Function to add the context menu item to run as admin
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "We want to keep the process alive, and instead log the exeption message")]
private ContextMenuResult CreateRunAsAdminContextMenu(SearchResult record)
private static ContextMenuResult CreateRunAsAdminContextMenu(SearchResult record)
{
return new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("Microsoft_plugin_indexer_run_as_administrator"),
Title = Properties.Resources.Microsoft_plugin_indexer_run_as_administrator,
Glyph = "\xE7EF",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.Enter,
@ -164,7 +164,7 @@ namespace Microsoft.Plugin.Indexer
return new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("Microsoft_plugin_indexer_open_containing_folder"),
Title = Properties.Resources.Microsoft_plugin_indexer_open_containing_folder,
Glyph = "\xE838",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.E,

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_indexer_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_name">Name</system:String>
<system:String x:Key="Microsoft_plugin_indexer_path">Path</system:String>
<system:String x:Key="Microsoft_plugin_indexer_drivedetectionwarning">Warning: Not all drives are indexed.</system:String>
<system:String x:Key="Microsoft_plugin_indexer_disable_warning_in_settings">Click to go to Windows Search settings to fix.</system:String>
</ResourceDictionary>

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_indexer_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_name">Name</system:String>
<system:String x:Key="Microsoft_plugin_indexer_path">Path</system:String>
<system:String x:Key="Microsoft_plugin_indexer_drivedetectionwarning">Warning: Not all drives are indexed.</system:String>
<system:String x:Key="Microsoft_plugin_indexer_disable_warning_in_settings">Click to go to Windows Search settings to fix.</system:String>
</ResourceDictionary>

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_indexer_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_name">Name</system:String>
<system:String x:Key="Microsoft_plugin_indexer_path">Path</system:String>
<system:String x:Key="Microsoft_plugin_indexer_drivedetectionwarning">Warning: Not all drives are indexed.</system:String>
<system:String x:Key="Microsoft_plugin_indexer_disable_warning_in_settings">Click to go to Windows Search settings to fix.</system:String>
</ResourceDictionary>

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_indexer_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_name">Name</system:String>
<system:String x:Key="Microsoft_plugin_indexer_path">Path</system:String>
<system:String x:Key="Microsoft_plugin_indexer_drivedetectionwarning">Warning: Not all drives are indexed.</system:String>
<system:String x:Key="Microsoft_plugin_indexer_disable_warning_in_settings">Click to go to Windows Search settings to fix.</system:String>
</ResourceDictionary>

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_indexer_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_name">Name</system:String>
<system:String x:Key="Microsoft_plugin_indexer_path">Path</system:String>
<system:String x:Key="Microsoft_plugin_indexer_drivedetectionwarning">Warning: Not all drives are indexed.</system:String>
<system:String x:Key="Microsoft_plugin_indexer_disable_warning_in_settings">GClick to go to Windows Search settings to fix.</system:String>
</ResourceDictionary>

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_indexer_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_name">Name</system:String>
<system:String x:Key="Microsoft_plugin_indexer_path">Path</system:String>
<system:String x:Key="Microsoft_plugin_indexer_drivedetectionwarning">Warning: Not all drives are indexed.</system:String>
<system:String x:Key="Microsoft_plugin_indexer_disable_warning_in_settings">Click to go to Windows Search settings to fix.</system:String>
</ResourceDictionary>

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_indexer_copy_path">Copy path (Ctrl+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="Microsoft_plugin_indexer_name">Name</system:String>
<system:String x:Key="Microsoft_plugin_indexer_path">Path</system:String>
<system:String x:Key="Microsoft_plugin_indexer_drivedetectionwarning">Warning: Not all drives are indexed.</system:String>
<system:String x:Key="Microsoft_plugin_indexer_disable_warning_in_settings">Click to go to Windows Search settings to fix.</system:String>
</ResourceDictionary>

View file

@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguageSet": "Azure_Languages",
"LocItems": [
{
"SourceFile": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Indexer\\Properties\\Resources.resx",
"CopyOption": "LangIDOnName",
"OutputPath": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Indexer\\Properties"
}
]
}
]
}

View file

@ -77,8 +77,8 @@ namespace Microsoft.Plugin.Indexer
{
results.Add(new Result
{
Title = _context.API.GetTranslation("Microsoft_plugin_indexer_drivedetectionwarning"),
SubTitle = _context.API.GetTranslation("Microsoft_plugin_indexer_disable_warning_in_settings"),
Title = Properties.Resources.Microsoft_plugin_indexer_drivedetectionwarning,
SubTitle = Properties.Resources.Microsoft_plugin_indexer_disable_warning_in_settings,
IcoPath = WarningIconPath,
Action = e =>
{
@ -109,8 +109,8 @@ namespace Microsoft.Plugin.Indexer
foreach (var searchResult in searchResultsList)
{
var path = searchResult.Path;
var toolTipTitle = string.Format(CultureInfo.CurrentCulture, "{0} : {1}", _context.API.GetTranslation("Microsoft_plugin_indexer_name"), searchResult.Title);
var toolTipText = string.Format(CultureInfo.CurrentCulture, "{0} : {1}", _context.API.GetTranslation("Microsoft_plugin_indexer_path"), path);
var toolTipTitle = string.Format(CultureInfo.CurrentCulture, "{0} : {1}", Properties.Resources.Microsoft_plugin_indexer_name, searchResult.Title);
var toolTipText = string.Format(CultureInfo.CurrentCulture, "{0} : {1}", Properties.Resources.Microsoft_plugin_indexer_path, path);
string workingDir = null;
if (_settings.UseLocationAsWorkingDir)
{

View file

@ -12,6 +12,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Platforms>x64</Platforms>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -73,44 +74,6 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\de.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\en.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\ja.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\pl.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\tr.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\zh-cn.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\zh-tw.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
@ -132,4 +95,17 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View file

@ -0,0 +1,135 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Plugin.Indexer.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Plugin.Indexer.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Copy path (Ctrl+C).
/// </summary>
public static string Microsoft_plugin_indexer_copy_path {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_copy_path", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Click to go to Windows Search settings to fix..
/// </summary>
public static string Microsoft_plugin_indexer_disable_warning_in_settings {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_disable_warning_in_settings", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Warning: Not all drives are indexed..
/// </summary>
public static string Microsoft_plugin_indexer_drivedetectionwarning {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_drivedetectionwarning", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Name.
/// </summary>
public static string Microsoft_plugin_indexer_name {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open containing folder (Ctrl+Shift+E).
/// </summary>
public static string Microsoft_plugin_indexer_open_containing_folder {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_open_containing_folder", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open path in console (Ctrl+Shift+C).
/// </summary>
public static string Microsoft_plugin_indexer_open_in_console {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_open_in_console", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Path.
/// </summary>
public static string Microsoft_plugin_indexer_path {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_path", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run as administrator (Ctrl+Shift+Enter).
/// </summary>
public static string Microsoft_plugin_indexer_run_as_administrator {
get {
return ResourceManager.GetString("Microsoft_plugin_indexer_run_as_administrator", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Microsoft_plugin_indexer_copy_path" xml:space="preserve">
<value>Copy path (Ctrl+C)</value>
</data>
<data name="Microsoft_plugin_indexer_open_containing_folder" xml:space="preserve">
<value>Open containing folder (Ctrl+Shift+E)</value>
</data>
<data name="Microsoft_plugin_indexer_run_as_administrator" xml:space="preserve">
<value>Run as administrator (Ctrl+Shift+Enter)</value>
</data>
<data name="Microsoft_plugin_indexer_open_in_console" xml:space="preserve">
<value>Open path in console (Ctrl+Shift+C)</value>
</data>
<data name="Microsoft_plugin_indexer_name" xml:space="preserve">
<value>Name</value>
</data>
<data name="Microsoft_plugin_indexer_path" xml:space="preserve">
<value>Path</value>
</data>
<data name="Microsoft_plugin_indexer_drivedetectionwarning" xml:space="preserve">
<value>Warning: Not all drives are indexed.</value>
</data>
<data name="Microsoft_plugin_indexer_disable_warning_in_settings" xml:space="preserve">
<value>Click to go to Windows Search settings to fix.</value>
</data>
</root>

View file

@ -369,16 +369,15 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
{
// Arrange
var mock = new Mock<IPublicAPI>();
mock.Setup(x => x.GetTranslation(It.IsAny<string>())).Returns(It.IsAny<string>());
// Act
List<ContextMenuResult> contextMenuResults = _pinnedWebpage.ContextMenus(mock.Object);
// Assert
Assert.AreEqual(contextMenuResults.Count, 3);
mock.Verify(x => x.GetTranslation("wox_plugin_program_run_as_administrator"), Times.Once());
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_containing_folder"), Times.Once());
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_in_console"), Times.Once());
Assert.AreEqual(contextMenuResults[0].Title, Properties.Resources.wox_plugin_program_run_as_administrator);
Assert.AreEqual(contextMenuResults[1].Title, Properties.Resources.wox_plugin_program_open_containing_folder);
Assert.AreEqual(contextMenuResults[2].Title, Properties.Resources.wox_plugin_program_open_in_console);
}
[Test]
@ -386,15 +385,14 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
{
// Arrange
var mock = new Mock<IPublicAPI>();
mock.Setup(x => x.GetTranslation(It.IsAny<string>())).Returns(It.IsAny<string>());
// Act
List<ContextMenuResult> contextMenuResults = _dummyInternetShortcutApp.ContextMenus(mock.Object);
// Assert
Assert.AreEqual(contextMenuResults.Count, 2);
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_containing_folder"), Times.Once());
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_in_console"), Times.Once());
Assert.AreEqual(contextMenuResults[0].Title, Properties.Resources.wox_plugin_program_open_containing_folder);
Assert.AreEqual(contextMenuResults[1].Title, Properties.Resources.wox_plugin_program_open_in_console);
}
[Test]
@ -402,16 +400,15 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
{
// Arrange
var mock = new Mock<IPublicAPI>();
mock.Setup(x => x.GetTranslation(It.IsAny<string>())).Returns(It.IsAny<string>());
// Act
List<ContextMenuResult> contextMenuResults = _chrome.ContextMenus(mock.Object);
// Assert
Assert.AreEqual(contextMenuResults.Count, 3);
mock.Verify(x => x.GetTranslation("wox_plugin_program_run_as_administrator"), Times.Once());
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_containing_folder"), Times.Once());
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_in_console"), Times.Once());
Assert.AreEqual(contextMenuResults[0].Title, Properties.Resources.wox_plugin_program_run_as_administrator);
Assert.AreEqual(contextMenuResults[1].Title, Properties.Resources.wox_plugin_program_open_containing_folder);
Assert.AreEqual(contextMenuResults[2].Title, Properties.Resources.wox_plugin_program_open_in_console);
}
[Test]
@ -419,23 +416,21 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
{
// Arrange
var mock = new Mock<IPublicAPI>();
mock.Setup(x => x.GetTranslation(It.IsAny<string>())).Returns(It.IsAny<string>());
// Act
List<ContextMenuResult> contextMenuResults = _cmdRunCommand.ContextMenus(mock.Object);
// Assert
Assert.AreEqual(contextMenuResults.Count, 3);
mock.Verify(x => x.GetTranslation("wox_plugin_program_run_as_administrator"), Times.Once());
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_containing_folder"), Times.Once());
mock.Verify(x => x.GetTranslation("wox_plugin_program_open_in_console"), Times.Once());
Assert.AreEqual(contextMenuResults[0].Title, Properties.Resources.wox_plugin_program_run_as_administrator);
Assert.AreEqual(contextMenuResults[1].Title, Properties.Resources.wox_plugin_program_open_containing_folder);
Assert.AreEqual(contextMenuResults[2].Title, Properties.Resources.wox_plugin_program_open_in_console);
}
[Test]
public void Win32AppsShouldSetNameAsTitleWhileCreatingResult()
{
var mock = new Mock<IPublicAPI>();
mock.Setup(x => x.GetTranslation(It.IsAny<string>())).Returns(It.IsAny<string>());
StringMatcher.Instance = new StringMatcher();
// Act

View file

@ -1,22 +0,0 @@
<Window x:Class="Microsoft.Plugin.Program.AddProgramSource"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
Width="400"
Height="120"
WindowStartupLocation="CenterScreen">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource wox_plugin_program_directory}"/>
<TextBox Name="Directory" VerticalAlignment="Center" Width="300" Margin="0,7" />
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<Button Click="BrowseButton_Click" Content="{DynamicResource wox_plugin_program_browse}"
HorizontalAlignment="Right" Margin="10" Height="20" Width="70" />
<Button Click="ButtonAdd_OnClick" Content="{DynamicResource wox_plugin_program_update}"
HorizontalAlignment="Right" Margin="10" Height="20" Width="70" />
</StackPanel>
</StackPanel>
</Window>

View file

@ -1,84 +0,0 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using Microsoft.Plugin.Program.Views;
using Wox.Plugin;
namespace Microsoft.Plugin.Program
{
/// <summary>
/// Interaction logic for AddProgramSource.xaml
/// </summary>
public partial class AddProgramSource
{
private PluginInitContext _context;
private ProgramSource _editing;
private ProgramPluginSettings _settings;
public AddProgramSource(PluginInitContext context, ProgramPluginSettings settings)
{
InitializeComponent();
_context = context;
_settings = settings;
Directory.Focus();
}
public AddProgramSource(ProgramSource edit, ProgramPluginSettings settings)
{
_editing = edit ?? throw new ArgumentNullException(nameof(edit));
_settings = settings;
InitializeComponent();
Directory.Text = _editing.Location;
}
private void BrowseButton_Click(object sender, RoutedEventArgs e)
{
using (var dialog = new FolderBrowserDialog())
{
DialogResult result = dialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.OK)
{
Directory.Text = dialog.SelectedPath;
}
}
}
private void ButtonAdd_OnClick(object sender, RoutedEventArgs e)
{
string s = Directory.Text;
if (!System.IO.Directory.Exists(s))
{
System.Windows.MessageBox.Show(_context.API.GetTranslation("wox_plugin_program_invalid_path"));
return;
}
if (_editing == null)
{
if (!ProgramSetting.ProgramSettingDisplayList.Any(x => x.UniqueIdentifier == Directory.Text))
{
var source = new ProgramSource
{
Location = Directory.Text,
UniqueIdentifier = Directory.Text,
};
_settings.ProgramSources.Insert(0, source);
ProgramSetting.ProgramSettingDisplayList.Add(source);
}
}
else
{
_editing.Location = Directory.Text;
}
DialogResult = true;
Close();
}
}
}

View file

@ -1,47 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--Program setting-->
<system:String x:Key="wox_plugin_program_delete">Löschen</system:String>
<system:String x:Key="wox_plugin_program_edit">Bearbeiten</system:String>
<system:String x:Key="wox_plugin_program_add">Hinzufügen</system:String>
<system:String x:Key="wox_plugin_program_location">Speicherort</system:String>
<system:String x:Key="wox_plugin_program_suffixes">Indexiere Dateiendungen</system:String>
<system:String x:Key="wox_plugin_program_reindex">erneut Indexieren</system:String>
<system:String x:Key="wox_plugin_program_indexing">Indexieren</system:String>
<system:String x:Key="wox_plugin_program_index_start">Indexierungs Startmenü</system:String>
<system:String x:Key="wox_plugin_program_index_registry">Indexierungsspeicher</system:String>
<system:String x:Key="wox_plugin_program_suffixes_header">Endungen</system:String>
<system:String x:Key="wox_plugin_program_max_depth_header">Maximale Tiefe</system:String>
<system:String x:Key="wox_plugin_program_directory">Verzeichnis:</system:String>
<system:String x:Key="wox_plugin_program_browse">Durchsuchen</system:String>
<system:String x:Key="wox_plugin_program_file_suffixes">Dateiendungen:</system:String>
<system:String x:Key="wox_plugin_program_max_search_depth">Maximale Suchtiefe (-1 ist unlimitiert):</system:String>
<system:String x:Key="wox_plugin_program_pls_select_program_source">Bitte wähle eine Programmquelle</system:String>
<system:String x:Key="wox_plugin_program_update">Aktualisieren</system:String>
<system:String x:Key="wox_plugin_program_only_index_tip">Wox indexiert nur Datien mit folgenden Endungen:</system:String>
<system:String x:Key="wox_plugin_program_split_by_tip">(Jede Endung muss durch ein ; getrennt werden)</system:String>
<system:String x:Key="wox_plugin_program_update_file_suffixes">Dateiendungen wurden erfolgreich aktualisiert</system:String>
<system:String x:Key="wox_plugin_program_suffixes_cannot_empty">Dateiendungen dürfen nicht leer sein</system:String>
<system:String x:Key="wox_plugin_program_run_as_administrator">Als Administrator ausführen (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="wox_plugin_program_open_containing_folder">Enthaltenden Ordner öffnen (Ctrl+Shift+E)</system:String>
<system:String x:Key="wox_plugin_program_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="wox_plugin_program_plugin_name">Programm</system:String>
<system:String x:Key="wox_plugin_program_plugin_description">Suche Programme mit Wox</system:String>
<!--Application subtitle-->
<system:String x:Key="powertoys_run_plugin_program_win32_application">Anwendung</system:String>
<system:String x:Key="powertoys_run_plugin_program_internet_shortcut_application">Weblink-Anwendung</system:String>
<system:String x:Key="powertoys_run_plugin_program_web_application">Web-Anwendung</system:String>
<system:String x:Key="powertoys_run_plugin_program_run_command">Run command</system:String>
<system:String x:Key="powertoys_run_plugin_program_packaged_application">Packaged application</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_name">Name</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_path">Path</system:String>
</ResourceDictionary>

View file

@ -1,59 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--Program setting-->
<system:String x:Key="wox_plugin_program_delete">Delete</system:String>
<system:String x:Key="wox_plugin_program_edit">Edit</system:String>
<system:String x:Key="wox_plugin_program_add">Add</system:String>
<system:String x:Key="wox_plugin_program_disable">Disable</system:String>
<system:String x:Key="wox_plugin_program_location">Location</system:String>
<system:String x:Key="wox_plugin_program_all_programs">All programs</system:String>
<system:String x:Key="wox_plugin_program_suffixes">File suffixes</system:String>
<system:String x:Key="wox_plugin_program_reindex">Reindex</system:String>
<system:String x:Key="wox_plugin_program_indexing">Indexing</system:String>
<system:String x:Key="wox_plugin_program_index_start">Index start menu</system:String>
<system:String x:Key="wox_plugin_program_index_registry">Index registry</system:String>
<system:String x:Key="wox_plugin_program_suffixes_header">Suffixes</system:String>
<system:String x:Key="wox_plugin_program_max_depth_header">Max depth</system:String>
<system:String x:Key="wox_plugin_program_directory">Directory:</system:String>
<system:String x:Key="wox_plugin_program_browse">Browse</system:String>
<system:String x:Key="wox_plugin_program_file_suffixes">File suffixes:</system:String>
<system:String x:Key="wox_plugin_program_max_search_depth">Maximum search depth (-1 is unlimited):</system:String>
<system:String x:Key="wox_plugin_program_pls_select_program_source">Please select a program source</system:String>
<system:String x:Key="wox_plugin_program_delete_program_source">Are you sure you want to delete the selected program sources?</system:String>
<system:String x:Key="wox_plugin_program_update">Update</system:String>
<system:String x:Key="wox_plugin_program_only_index_tip">Wox will only index files that end with the following suffixes:</system:String>
<system:String x:Key="wox_plugin_program_split_by_tip">(Each suffix should split by ';' )</system:String>
<system:String x:Key="wox_plugin_program_update_file_suffixes">Successfully updated file suffixes</system:String>
<system:String x:Key="wox_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
<system:String x:Key="wox_plugin_program_run_as_different_user">Run as different user</system:String>
<system:String x:Key="wox_plugin_program_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="wox_plugin_program_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="wox_plugin_program_disable_program">Disable this program from displaying</system:String>
<system:String x:Key="wox_plugin_program_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="wox_plugin_program_plugin_name">Program</system:String>
<system:String x:Key="wox_plugin_program_plugin_description">Search programs in Wox</system:String>
<system:String x:Key="wox_plugin_program_invalid_path">Invalid Path</system:String>
<!--Dialogs-->
<system:String x:Key="wox_plugin_program_disable_dlgtitle_success">Success</system:String>
<system:String x:Key="wox_plugin_program_disable_dlgtitle_success_message">Successfully disabled this program from displaying in your query</system:String>
<!--Application subtitle-->
<system:String x:Key="powertoys_run_plugin_program_win32_application">Application</system:String>
<system:String x:Key="powertoys_run_plugin_program_internet_shortcut_application">Internet shortcut application</system:String>
<system:String x:Key="powertoys_run_plugin_program_web_application">Web application</system:String>
<system:String x:Key="powertoys_run_plugin_program_run_command">Run command</system:String>
<system:String x:Key="powertoys_run_plugin_program_packaged_application">Packaged application</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_name">Name</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_path">Path</system:String>
</ResourceDictionary>

View file

@ -1,49 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--Program setting-->
<system:String x:Key="wox_plugin_program_delete">Delete</system:String>
<system:String x:Key="wox_plugin_program_edit">Edit</system:String>
<system:String x:Key="wox_plugin_program_add">Add</system:String>
<system:String x:Key="wox_plugin_program_location">Location</system:String>
<system:String x:Key="wox_plugin_program_suffixes">Index file suffixes</system:String>
<system:String x:Key="wox_plugin_program_reindex">Reindex</system:String>
<system:String x:Key="wox_plugin_program_indexing">Indexing</system:String>
<system:String x:Key="wox_plugin_program_index_start">Index start menu</system:String>
<system:String x:Key="wox_plugin_program_index_registry">Index registry</system:String>
<system:String x:Key="wox_plugin_program_suffixes_header">Suffixes</system:String>
<system:String x:Key="wox_plugin_program_max_depth_header">Max depth</system:String>
<system:String x:Key="wox_plugin_program_directory">Directory:</system:String>
<system:String x:Key="wox_plugin_program_browse">Browse</system:String>
<system:String x:Key="wox_plugin_program_file_suffixes">File suffixes:</system:String>
<system:String x:Key="wox_plugin_program_max_search_depth">Maximum search depth (-1 is unlimited):</system:String>
<system:String x:Key="wox_plugin_program_pls_select_program_source">Please select a program source</system:String>
<system:String x:Key="wox_plugin_program_delete_program_source">Are your sure to delete {0}?</system:String>
<system:String x:Key="wox_plugin_program_update">Update</system:String>
<system:String x:Key="wox_plugin_program_only_index_tip">Wox will only index files that end with following suffixes:</system:String>
<system:String x:Key="wox_plugin_program_split_by_tip">(Each suffix should split by ;)</system:String>
<system:String x:Key="wox_plugin_program_update_file_suffixes">Sucessfully update file suffixes</system:String>
<system:String x:Key="wox_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
<system:String x:Key="wox_plugin_program_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="wox_plugin_program_open_containing_folder">Open containing folder (Ctrl+Shift+E)</system:String>
<system:String x:Key="wox_plugin_program_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="wox_plugin_program_plugin_name">Program</system:String>
<system:String x:Key="wox_plugin_program_plugin_description">Search programs in Wox</system:String>
<!--Application subtitle-->
<system:String x:Key="powertoys_run_plugin_program_win32_application">Application</system:String>
<system:String x:Key="powertoys_run_plugin_program_internet_shortcut_application">Internet shortcut application</system:String>
<system:String x:Key="powertoys_run_plugin_program_web_application">Web application</system:String>
<system:String x:Key="powertoys_run_plugin_program_run_command">Run command</system:String>
<system:String x:Key="powertoys_run_plugin_program_packaged_application">Packaged application</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_name">Name</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_path">Path</system:String>
</ResourceDictionary>

View file

@ -1,48 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--Program setting-->
<system:String x:Key="wox_plugin_program_delete">Usuń</system:String>
<system:String x:Key="wox_plugin_program_edit">Edytuj</system:String>
<system:String x:Key="wox_plugin_program_add">Dodaj</system:String>
<system:String x:Key="wox_plugin_program_location">Lokalizacja</system:String>
<system:String x:Key="wox_plugin_program_suffixes">Rozszerzenia indeksowanych plików</system:String>
<system:String x:Key="wox_plugin_program_reindex">Re-indeksuj</system:String>
<system:String x:Key="wox_plugin_program_indexing">Indeksowanie</system:String>
<system:String x:Key="wox_plugin_program_index_start">Indeksuj Menu Start</system:String>
<system:String x:Key="wox_plugin_program_index_registry">Indeksuj rejestr</system:String>
<system:String x:Key="wox_plugin_program_suffixes_header">Rozszerzenia</system:String>
<system:String x:Key="wox_plugin_program_max_depth_header">Maksymalna głębokość</system:String>
<system:String x:Key="wox_plugin_program_directory">Katalog:</system:String>
<system:String x:Key="wox_plugin_program_browse">Przeglądaj</system:String>
<system:String x:Key="wox_plugin_program_file_suffixes">Rozszerzenia plików:</system:String>
<system:String x:Key="wox_plugin_program_max_search_depth">Maksymalna głębokość wyszukiwania (-1 to nieograniczona):</system:String>
<system:String x:Key="wox_plugin_program_pls_select_program_source">Musisz wybrać katalog programu</system:String>
<system:String x:Key="wox_plugin_program_update">Aktualizuj</system:String>
<system:String x:Key="wox_plugin_program_only_index_tip">Wox będzie indeksował tylko te pliki z podanymi rozszerzeniami:</system:String>
<system:String x:Key="wox_plugin_program_split_by_tip">(Każde rozszerzenie musi być oddzielone ;)</system:String>
<system:String x:Key="wox_plugin_program_update_file_suffixes">Pomyślnie zaktualizowano rozszerzenia plików</system:String>
<system:String x:Key="wox_plugin_program_suffixes_cannot_empty">Musisz podać rozszerzenia plików</system:String>
<system:String x:Key="wox_plugin_program_run_as_administrator">Uruchom jako administrator (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="wox_plugin_program_open_containing_folder">Otwórz folder zawierający (Ctrl+Shift+E)</system:String>
<system:String x:Key="wox_plugin_program_plugin_name">Programy</system:String>
<system:String x:Key="wox_plugin_program_plugin_description">Szukaj i uruchamiaj programy z poziomu Woxa</system:String>
<system:String x:Key="wox_plugin_program_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<!--Application subtitle-->
<system:String x:Key="powertoys_run_plugin_program_win32_application">Application</system:String>
<system:String x:Key="powertoys_run_plugin_program_internet_shortcut_application">Internet shortcut application</system:String>
<system:String x:Key="powertoys_run_plugin_program_web_application">Web application</system:String>
<system:String x:Key="powertoys_run_plugin_program_run_command">Run command</system:String>
<system:String x:Key="powertoys_run_plugin_program_packaged_application">Packaged application</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_name">Name</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_path">Path</system:String>
</ResourceDictionary>

View file

@ -1,50 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--Program setting-->
<system:String x:Key="wox_plugin_program_delete">Sil</system:String>
<system:String x:Key="wox_plugin_program_edit">Düzenle</system:String>
<system:String x:Key="wox_plugin_program_add">Ekle</system:String>
<system:String x:Key="wox_plugin_program_location">Konum</system:String>
<system:String x:Key="wox_plugin_program_suffixes">İndekslenecek Uzantılar</system:String>
<system:String x:Key="wox_plugin_program_reindex">Yeniden İndeksle</system:String>
<system:String x:Key="wox_plugin_program_indexing">İndeksleniyor</system:String>
<system:String x:Key="wox_plugin_program_index_start">Başlat Menüsünü İndeksle</system:String>
<system:String x:Key="wox_plugin_program_index_registry">Registry'i İndeksle</system:String>
<system:String x:Key="wox_plugin_program_suffixes_header">Uzantılar</system:String>
<system:String x:Key="wox_plugin_program_max_depth_header">Derinlik</system:String>
<system:String x:Key="wox_plugin_program_directory">Dizin:</system:String>
<system:String x:Key="wox_plugin_program_browse">Gözat</system:String>
<system:String x:Key="wox_plugin_program_file_suffixes">Dosya Uzantıları:</system:String>
<system:String x:Key="wox_plugin_program_max_search_depth">Maksimum Arama Derinliği (Limitsiz için -1):</system:String>
<system:String x:Key="wox_plugin_program_pls_select_program_source">İşlem yapmak istediğiniz klasörü seçin.</system:String>
<system:String x:Key="wox_plugin_program_update">Güncelle</system:String>
<system:String x:Key="wox_plugin_program_only_index_tip">Wox yalnızca aşağıdaki uzantılara sahip dosyaları indeksleyecektir:</system:String>
<system:String x:Key="wox_plugin_program_split_by_tip">(Her uzantıyı ; işareti ile ayırın)</system:String>
<system:String x:Key="wox_plugin_program_update_file_suffixes">Dosya uzantıları başarıyla güncellendi</system:String>
<system:String x:Key="wox_plugin_program_suffixes_cannot_empty">Dosya uzantıları boş olamaz</system:String>
<system:String x:Key="wox_plugin_program_run_as_administrator">Yönetici Olarak Çalıştır (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="wox_plugin_program_open_containing_folder">İçeren Klasörü Aç (Ctrl+Shift+E)</system:String>
<system:String x:Key="wox_plugin_program_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="wox_plugin_program_plugin_name">Program</system:String>
<system:String x:Key="wox_plugin_program_plugin_description">Programları Wox'tan arayın</system:String>
<system:String x:Key="wox_plugin_program_invalid_path">Geçersiz Konum</system:String>
<!--Application subtitle-->
<system:String x:Key="powertoys_run_plugin_program_win32_application">Application</system:String>
<system:String x:Key="powertoys_run_plugin_program_internet_shortcut_application">Internet shortcut application</system:String>
<system:String x:Key="powertoys_run_plugin_program_web_application">Web application</system:String>
<system:String x:Key="powertoys_run_plugin_program_run_command">Run command</system:String>
<system:String x:Key="powertoys_run_plugin_program_packaged_application">Packaged application</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_name">Name</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_path">Path</system:String>
</ResourceDictionary>

View file

@ -1,50 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--Program setting-->
<system:String x:Key="wox_plugin_program_delete">删除</system:String>
<system:String x:Key="wox_plugin_program_edit">编辑</system:String>
<system:String x:Key="wox_plugin_program_add">增加</system:String>
<system:String x:Key="wox_plugin_program_location">位置</system:String>
<system:String x:Key="wox_plugin_program_suffixes">索引文件后缀</system:String>
<system:String x:Key="wox_plugin_program_reindex">重新索引</system:String>
<system:String x:Key="wox_plugin_program_indexing">索引中</system:String>
<system:String x:Key="wox_plugin_program_index_start">索引开始菜单</system:String>
<system:String x:Key="wox_plugin_program_index_registry">索引注册表</system:String>
<system:String x:Key="wox_plugin_program_suffixes_header">后缀</system:String>
<system:String x:Key="wox_plugin_program_max_depth_header">最大深度</system:String>
<system:String x:Key="wox_plugin_program_directory">目录</system:String>
<system:String x:Key="wox_plugin_program_browse">浏览</system:String>
<system:String x:Key="wox_plugin_program_file_suffixes">文件后缀</system:String>
<system:String x:Key="wox_plugin_program_max_search_depth">最大搜索深度(-1是无限的</system:String>
<system:String x:Key="wox_plugin_program_pls_select_program_source">请先选择一项</system:String>
<system:String x:Key="wox_plugin_program_update">更新</system:String>
<system:String x:Key="wox_plugin_program_only_index_tip">Wox仅索引下列后缀的文件</system:String>
<system:String x:Key="wox_plugin_program_split_by_tip">(每个后缀以英文状态下的分号分隔)</system:String>
<system:String x:Key="wox_plugin_program_update_file_suffixes">成功更新索引文件后缀</system:String>
<system:String x:Key="wox_plugin_program_suffixes_cannot_empty">文件后缀不能为空</system:String>
<system:String x:Key="wox_plugin_program_run_as_administrator">以管理员身份运行 (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="wox_plugin_program_open_containing_folder">打开所属文件夹 (Ctrl+Shift+E)</system:String>
<system:String x:Key="wox_plugin_program_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="wox_plugin_program_plugin_name">程序</system:String>
<system:String x:Key="wox_plugin_program_plugin_description">在Wox中搜索程序</system:String>
<system:String x:Key="wox_plugin_program_invalid_path">无效路径</system:String>
<!--Application subtitle-->
<system:String x:Key="powertoys_run_plugin_program_win32_application">Application</system:String>
<system:String x:Key="powertoys_run_plugin_program_internet_shortcut_application">Internet shortcut application</system:String>
<system:String x:Key="powertoys_run_plugin_program_web_application">Web application</system:String>
<system:String x:Key="powertoys_run_plugin_program_run_command">Run command</system:String>
<system:String x:Key="powertoys_run_plugin_program_packaged_application">Packaged application</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_name">Name</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_path">Path</system:String>
</ResourceDictionary>

View file

@ -1,48 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--Program setting-->
<system:String x:Key="wox_plugin_program_delete">刪除</system:String>
<system:String x:Key="wox_plugin_program_edit">編輯</system:String>
<system:String x:Key="wox_plugin_program_add">新增</system:String>
<system:String x:Key="wox_plugin_program_location">路徑</system:String>
<system:String x:Key="wox_plugin_program_suffixes">索引副檔名清單</system:String>
<system:String x:Key="wox_plugin_program_reindex">重新建立索引</system:String>
<system:String x:Key="wox_plugin_program_indexing">正在建立索引</system:String>
<system:String x:Key="wox_plugin_program_index_start">替開始選單建立索引</system:String>
<system:String x:Key="wox_plugin_program_index_registry">替登錄檔建立索引</system:String>
<system:String x:Key="wox_plugin_program_suffixes_header">副檔名</system:String>
<system:String x:Key="wox_plugin_program_max_depth_header">最大深度</system:String>
<system:String x:Key="wox_plugin_program_directory">目錄</system:String>
<system:String x:Key="wox_plugin_program_browse">瀏覽</system:String>
<system:String x:Key="wox_plugin_program_file_suffixes">副檔名</system:String>
<system:String x:Key="wox_plugin_program_max_search_depth">最大搜尋深度(-1是無限的</system:String>
<system:String x:Key="wox_plugin_program_pls_select_program_source">請先選擇一項</system:String>
<system:String x:Key="wox_plugin_program_update">更新</system:String>
<system:String x:Key="wox_plugin_program_only_index_tip">Wox 僅索引下列副檔名的檔案:</system:String>
<system:String x:Key="wox_plugin_program_split_by_tip">(每個副檔名以英文的分號分隔)</system:String>
<system:String x:Key="wox_plugin_program_update_file_suffixes">成功更新索引副檔名清單</system:String>
<system:String x:Key="wox_plugin_program_suffixes_cannot_empty">副檔名不能為空</system:String>
<system:String x:Key="wox_plugin_program_run_as_administrator">以系統管理員身分執行 (Ctrl+Shift+Enter)</system:String>
<system:String x:Key="wox_plugin_program_open_containing_folder">開啟檔案位置 (Ctrl+Shift+E)</system:String>
<system:String x:Key="wox_plugin_program_open_in_console">Open path in console (Ctrl+Shift+C)</system:String>
<system:String x:Key="wox_plugin_program_plugin_name">程式</system:String>
<system:String x:Key="wox_plugin_program_plugin_description">在 Wox 中搜尋程式</system:String>
<!--Application subtitle-->
<system:String x:Key="powertoys_run_plugin_program_win32_application">Application</system:String>
<system:String x:Key="powertoys_run_plugin_program_internet_shortcut_application">Internet shortcut application</system:String>
<system:String x:Key="powertoys_run_plugin_program_web_application">Web application</system:String>
<system:String x:Key="powertoys_run_plugin_program_run_command">Run command</system:String>
<system:String x:Key="powertoys_run_plugin_program_packaged_application">Packaged application</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_name">Name</system:String>
<system:String x:Key="powertoys_run_plugin_program_file_path">Path</system:String>
</ResourceDictionary>

View file

@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguageSet": "Azure_Languages",
"LocItems": [
{
"SourceFile": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Program\\Properties\\Resources.resx",
"CopyOption": "LangIDOnName",
"OutputPath": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Program\\Properties"
}
]
}
]
}

View file

@ -111,12 +111,12 @@ namespace Microsoft.Plugin.Program
public string GetTranslatedPluginTitle()
{
return _context.API.GetTranslation("wox_plugin_program_plugin_name");
return Properties.Resources.wox_plugin_program_plugin_name;
}
public string GetTranslatedPluginDescription()
{
return _context.API.GetTranslation("wox_plugin_program_plugin_description");
return Properties.Resources.wox_plugin_program_plugin_description;
}
public List<ContextMenuResult> LoadContextMenus(Result selectedResult)

View file

@ -13,6 +13,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Platforms>x64</Platforms>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -41,48 +42,19 @@
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Languages\**" />
<EmbeddedResource Remove="Languages\**" />
<None Remove="Languages\**" />
<Page Remove="Languages\**" />
</ItemGroup>
<ItemGroup>
<None Include="plugin.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\en.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\zh-cn.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\zh-tw.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\de.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\pl.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\tr.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Wox.Infrastructure\Wox.Infrastructure.csproj" />
@ -155,4 +127,17 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View file

@ -1,24 +0,0 @@
<Window x:Class="Microsoft.Plugin.Program.ProgramSuffixes"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
Width="400"
Height="180"
WindowStartupLocation="CenterScreen"
d:DesignHeight="400" d:DesignWidth="300">
<StackPanel>
<TextBlock Margin="10 10 0 0" Foreground="Gray" Text="{DynamicResource wox_plugin_program_only_index_tip}" />
<TextBlock Margin="10 10 0 0" Foreground="Gray" Text="{DynamicResource wox_plugin_program_split_by_tip}" />
<TextBox x:Name="tbSuffixes" Margin="10"/>
<Button HorizontalAlignment="Right" Height="30" Width="80" Click="ButtonBase_OnClick" Margin="10" Content="{DynamicResource wox_plugin_program_update}" />
</StackPanel>
</Window>

View file

@ -1,44 +0,0 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Windows;
using Wox.Plugin;
namespace Microsoft.Plugin.Program
{
/// <summary>
/// ProgramSuffixes.xaml 的交互逻辑
/// </summary>
public partial class ProgramSuffixes
{
private PluginInitContext context;
private ProgramPluginSettings _settings;
public ProgramSuffixes(PluginInitContext context, ProgramPluginSettings settings)
{
this.context = context ?? throw new ArgumentNullException(nameof(context));
InitializeComponent();
_settings = settings ?? throw new ArgumentNullException(nameof(settings));
tbSuffixes.Text = string.Join(ProgramPluginSettings.SuffixSeparator.ToString(), _settings.ProgramSuffixes);
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(tbSuffixes.Text))
{
string warning = context.API.GetTranslation("wox_plugin_program_suffixes_cannot_empty");
MessageBox.Show(warning);
return;
}
_settings.ProgramSuffixes.Clear();
_settings.ProgramSuffixes.AddRange(tbSuffixes.Text.Split(ProgramPluginSettings.SuffixSeparator));
string msg = context.API.GetTranslation("wox_plugin_program_update_file_suffixes");
MessageBox.Show(msg);
DialogResult = true;
}
}
}

View file

@ -74,9 +74,9 @@ namespace Microsoft.Plugin.Program.Programs
}
// Function to set the subtitle based on the Type of application
private static string SetSubtitle(IPublicAPI api)
private static string SetSubtitle()
{
return api.GetTranslation("powertoys_run_plugin_program_packaged_application");
return Properties.Resources.powertoys_run_plugin_program_packaged_application;
}
public Result Result(string query, IPublicAPI api)
@ -94,7 +94,7 @@ namespace Microsoft.Plugin.Program.Programs
var result = new Result
{
SubTitle = SetSubtitle(api),
SubTitle = SetSubtitle(),
Icon = Logo,
Score = score,
ContextData = this,
@ -109,8 +109,8 @@ namespace Microsoft.Plugin.Program.Programs
result.Title = DisplayName;
result.TitleHighlightData = StringMatcher.FuzzySearch(query, Name).MatchData;
var toolTipTitle = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", api.GetTranslation("powertoys_run_plugin_program_file_name"), result.Title);
var toolTipText = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", api.GetTranslation("powertoys_run_plugin_program_file_path"), Package.Location);
var toolTipTitle = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", Properties.Resources.powertoys_run_plugin_program_file_name, result.Title);
var toolTipText = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", Properties.Resources.powertoys_run_plugin_program_file_path, Package.Location);
result.ToolTipData = new ToolTipData(toolTipTitle, toolTipText);
return result;
@ -132,7 +132,7 @@ namespace Microsoft.Plugin.Program.Programs
new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = api.GetTranslation("wox_plugin_program_run_as_administrator"),
Title = Properties.Resources.wox_plugin_program_run_as_administrator,
Glyph = "\xE7EF",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.Enter,
@ -155,7 +155,7 @@ namespace Microsoft.Plugin.Program.Programs
new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = api.GetTranslation("wox_plugin_program_open_containing_folder"),
Title = Properties.Resources.wox_plugin_program_open_containing_folder,
Glyph = "\xE838",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.E,
@ -171,7 +171,7 @@ namespace Microsoft.Plugin.Program.Programs
contextMenus.Add(new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = api.GetTranslation("wox_plugin_program_open_in_console"),
Title = Properties.Resources.wox_plugin_program_open_in_console,
Glyph = "\xE756",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.C,

View file

@ -130,23 +130,23 @@ namespace Microsoft.Plugin.Program.Programs
}
// Function to set the subtitle based on the Type of application
private string SetSubtitle(IPublicAPI api)
private string SetSubtitle()
{
if (AppType == (uint)ApplicationTypes.WIN32_APPLICATION)
{
return api.GetTranslation("powertoys_run_plugin_program_win32_application");
return Properties.Resources.powertoys_run_plugin_program_win32_application;
}
else if (AppType == (uint)ApplicationTypes.INTERNET_SHORTCUT_APPLICATION)
{
return api.GetTranslation("powertoys_run_plugin_program_internet_shortcut_application");
return Properties.Resources.powertoys_run_plugin_program_internet_shortcut_application;
}
else if (AppType == (uint)ApplicationTypes.WEB_APPLICATION)
{
return api.GetTranslation("powertoys_run_plugin_program_web_application");
return Properties.Resources.powertoys_run_plugin_program_web_application;
}
else if (AppType == (uint)ApplicationTypes.RUN_COMMAND)
{
return api.GetTranslation("powertoys_run_plugin_program_run_command");
return Properties.Resources.powertoys_run_plugin_program_run_command;
}
else
{
@ -200,7 +200,7 @@ namespace Microsoft.Plugin.Program.Programs
var result = new Result
{
SubTitle = SetSubtitle(api),
SubTitle = SetSubtitle(),
IcoPath = IcoPath,
Score = score,
ContextData = this,
@ -223,8 +223,8 @@ namespace Microsoft.Plugin.Program.Programs
result.Title = Name;
result.TitleHighlightData = StringMatcher.FuzzySearch(query, Name).MatchData;
var toolTipTitle = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", api.GetTranslation("powertoys_run_plugin_program_file_name"), result.Title);
var toolTipText = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", api.GetTranslation("powertoys_run_plugin_program_file_path"), FullPath);
var toolTipTitle = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", Properties.Resources.powertoys_run_plugin_program_file_name, result.Title);
var toolTipText = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", Properties.Resources.powertoys_run_plugin_program_file_path, FullPath);
result.ToolTipData = new ToolTipData(toolTipTitle, toolTipText);
return result;
@ -245,7 +245,7 @@ namespace Microsoft.Plugin.Program.Programs
contextMenus.Add(new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = api.GetTranslation("wox_plugin_program_run_as_administrator"),
Title = Properties.Resources.wox_plugin_program_run_as_administrator,
Glyph = "\xE7EF",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.Enter,
@ -271,7 +271,7 @@ namespace Microsoft.Plugin.Program.Programs
new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = api.GetTranslation("wox_plugin_program_open_containing_folder"),
Title = Properties.Resources.wox_plugin_program_open_containing_folder,
Glyph = "\xE838",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.E,
@ -287,7 +287,7 @@ namespace Microsoft.Plugin.Program.Programs
new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = api.GetTranslation("wox_plugin_program_open_in_console"),
Title = Properties.Resources.wox_plugin_program_open_in_console,
Glyph = "\xE756",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.C,

View file

@ -0,0 +1,432 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Plugin.Program.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Plugin.Program.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Name.
/// </summary>
public static string powertoys_run_plugin_program_file_name {
get {
return ResourceManager.GetString("powertoys_run_plugin_program_file_name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Path.
/// </summary>
public static string powertoys_run_plugin_program_file_path {
get {
return ResourceManager.GetString("powertoys_run_plugin_program_file_path", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Internet shortcut application.
/// </summary>
public static string powertoys_run_plugin_program_internet_shortcut_application {
get {
return ResourceManager.GetString("powertoys_run_plugin_program_internet_shortcut_application", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Packaged application.
/// </summary>
public static string powertoys_run_plugin_program_packaged_application {
get {
return ResourceManager.GetString("powertoys_run_plugin_program_packaged_application", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run command.
/// </summary>
public static string powertoys_run_plugin_program_run_command {
get {
return ResourceManager.GetString("powertoys_run_plugin_program_run_command", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Web application.
/// </summary>
public static string powertoys_run_plugin_program_web_application {
get {
return ResourceManager.GetString("powertoys_run_plugin_program_web_application", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Application.
/// </summary>
public static string powertoys_run_plugin_program_win32_application {
get {
return ResourceManager.GetString("powertoys_run_plugin_program_win32_application", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Add.
/// </summary>
public static string wox_plugin_program_add {
get {
return ResourceManager.GetString("wox_plugin_program_add", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to All programs.
/// </summary>
public static string wox_plugin_program_all_programs {
get {
return ResourceManager.GetString("wox_plugin_program_all_programs", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Browse.
/// </summary>
public static string wox_plugin_program_browse {
get {
return ResourceManager.GetString("wox_plugin_program_browse", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Delete.
/// </summary>
public static string wox_plugin_program_delete {
get {
return ResourceManager.GetString("wox_plugin_program_delete", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Are you sure you want to delete the selected program sources?.
/// </summary>
public static string wox_plugin_program_delete_program_source {
get {
return ResourceManager.GetString("wox_plugin_program_delete_program_source", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Directory:.
/// </summary>
public static string wox_plugin_program_directory {
get {
return ResourceManager.GetString("wox_plugin_program_directory", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Disable.
/// </summary>
public static string wox_plugin_program_disable {
get {
return ResourceManager.GetString("wox_plugin_program_disable", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Success.
/// </summary>
public static string wox_plugin_program_disable_dlgtitle_success {
get {
return ResourceManager.GetString("wox_plugin_program_disable_dlgtitle_success", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Successfully disabled this program from displaying in your query.
/// </summary>
public static string wox_plugin_program_disable_dlgtitle_success_message {
get {
return ResourceManager.GetString("wox_plugin_program_disable_dlgtitle_success_message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Disable this program from displaying.
/// </summary>
public static string wox_plugin_program_disable_program {
get {
return ResourceManager.GetString("wox_plugin_program_disable_program", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Edit.
/// </summary>
public static string wox_plugin_program_edit {
get {
return ResourceManager.GetString("wox_plugin_program_edit", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to File suffixes:.
/// </summary>
public static string wox_plugin_program_file_suffixes {
get {
return ResourceManager.GetString("wox_plugin_program_file_suffixes", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Index registry.
/// </summary>
public static string wox_plugin_program_index_registry {
get {
return ResourceManager.GetString("wox_plugin_program_index_registry", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Index start menu.
/// </summary>
public static string wox_plugin_program_index_start {
get {
return ResourceManager.GetString("wox_plugin_program_index_start", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Indexing.
/// </summary>
public static string wox_plugin_program_indexing {
get {
return ResourceManager.GetString("wox_plugin_program_indexing", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Invalid Path.
/// </summary>
public static string wox_plugin_program_invalid_path {
get {
return ResourceManager.GetString("wox_plugin_program_invalid_path", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Location.
/// </summary>
public static string wox_plugin_program_location {
get {
return ResourceManager.GetString("wox_plugin_program_location", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Max depth.
/// </summary>
public static string wox_plugin_program_max_depth_header {
get {
return ResourceManager.GetString("wox_plugin_program_max_depth_header", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Maximum search depth (-1 is unlimited):.
/// </summary>
public static string wox_plugin_program_max_search_depth {
get {
return ResourceManager.GetString("wox_plugin_program_max_search_depth", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Wox will only index files that end with the following suffixes:.
/// </summary>
public static string wox_plugin_program_only_index_tip {
get {
return ResourceManager.GetString("wox_plugin_program_only_index_tip", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open containing folder (Ctrl+Shift+E).
/// </summary>
public static string wox_plugin_program_open_containing_folder {
get {
return ResourceManager.GetString("wox_plugin_program_open_containing_folder", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open path in console (Ctrl+Shift+C).
/// </summary>
public static string wox_plugin_program_open_in_console {
get {
return ResourceManager.GetString("wox_plugin_program_open_in_console", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Please select a program source.
/// </summary>
public static string wox_plugin_program_pls_select_program_source {
get {
return ResourceManager.GetString("wox_plugin_program_pls_select_program_source", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Search programs in Wox.
/// </summary>
public static string wox_plugin_program_plugin_description {
get {
return ResourceManager.GetString("wox_plugin_program_plugin_description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Program.
/// </summary>
public static string wox_plugin_program_plugin_name {
get {
return ResourceManager.GetString("wox_plugin_program_plugin_name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Reindex.
/// </summary>
public static string wox_plugin_program_reindex {
get {
return ResourceManager.GetString("wox_plugin_program_reindex", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run as administrator (Ctrl+Shift+Enter).
/// </summary>
public static string wox_plugin_program_run_as_administrator {
get {
return ResourceManager.GetString("wox_plugin_program_run_as_administrator", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run as different user.
/// </summary>
public static string wox_plugin_program_run_as_different_user {
get {
return ResourceManager.GetString("wox_plugin_program_run_as_different_user", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to (Each suffix should split by &apos;;&apos; ).
/// </summary>
public static string wox_plugin_program_split_by_tip {
get {
return ResourceManager.GetString("wox_plugin_program_split_by_tip", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to File suffixes.
/// </summary>
public static string wox_plugin_program_suffixes {
get {
return ResourceManager.GetString("wox_plugin_program_suffixes", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to File suffixes can&apos;t be empty.
/// </summary>
public static string wox_plugin_program_suffixes_cannot_empty {
get {
return ResourceManager.GetString("wox_plugin_program_suffixes_cannot_empty", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Suffixes.
/// </summary>
public static string wox_plugin_program_suffixes_header {
get {
return ResourceManager.GetString("wox_plugin_program_suffixes_header", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Update.
/// </summary>
public static string wox_plugin_program_update {
get {
return ResourceManager.GetString("wox_plugin_program_update", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Successfully updated file suffixes.
/// </summary>
public static string wox_plugin_program_update_file_suffixes {
get {
return ResourceManager.GetString("wox_plugin_program_update_file_suffixes", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="wox_plugin_program_delete" xml:space="preserve">
<value>Delete</value>
</data>
<data name="wox_plugin_program_edit" xml:space="preserve">
<value>Edit</value>
</data>
<data name="wox_plugin_program_add" xml:space="preserve">
<value>Add</value>
</data>
<data name="wox_plugin_program_disable" xml:space="preserve">
<value>Disable</value>
</data>
<data name="wox_plugin_program_location" xml:space="preserve">
<value>Location</value>
</data>
<data name="wox_plugin_program_all_programs" xml:space="preserve">
<value>All programs</value>
</data>
<data name="wox_plugin_program_suffixes" xml:space="preserve">
<value>File suffixes</value>
</data>
<data name="wox_plugin_program_reindex" xml:space="preserve">
<value>Reindex</value>
</data>
<data name="wox_plugin_program_indexing" xml:space="preserve">
<value>Indexing</value>
</data>
<data name="wox_plugin_program_index_start" xml:space="preserve">
<value>Index start menu</value>
</data>
<data name="wox_plugin_program_index_registry" xml:space="preserve">
<value>Index registry</value>
</data>
<data name="wox_plugin_program_suffixes_header" xml:space="preserve">
<value>Suffixes</value>
</data>
<data name="wox_plugin_program_max_depth_header" xml:space="preserve">
<value>Max depth</value>
</data>
<data name="wox_plugin_program_directory" xml:space="preserve">
<value>Directory:</value>
</data>
<data name="wox_plugin_program_browse" xml:space="preserve">
<value>Browse</value>
</data>
<data name="wox_plugin_program_file_suffixes" xml:space="preserve">
<value>File suffixes:</value>
</data>
<data name="wox_plugin_program_max_search_depth" xml:space="preserve">
<value>Maximum search depth (-1 is unlimited):</value>
</data>
<data name="wox_plugin_program_pls_select_program_source" xml:space="preserve">
<value>Please select a program source</value>
</data>
<data name="wox_plugin_program_delete_program_source" xml:space="preserve">
<value>Are you sure you want to delete the selected program sources?</value>
</data>
<data name="wox_plugin_program_update" xml:space="preserve">
<value>Update</value>
</data>
<data name="wox_plugin_program_only_index_tip" xml:space="preserve">
<value>Wox will only index files that end with the following suffixes:</value>
</data>
<data name="wox_plugin_program_split_by_tip" xml:space="preserve">
<value>(Each suffix should split by ';' )</value>
</data>
<data name="wox_plugin_program_update_file_suffixes" xml:space="preserve">
<value>Successfully updated file suffixes</value>
</data>
<data name="wox_plugin_program_suffixes_cannot_empty" xml:space="preserve">
<value>File suffixes can't be empty</value>
</data>
<data name="wox_plugin_program_run_as_different_user" xml:space="preserve">
<value>Run as different user</value>
</data>
<data name="wox_plugin_program_run_as_administrator" xml:space="preserve">
<value>Run as administrator (Ctrl+Shift+Enter)</value>
</data>
<data name="wox_plugin_program_open_containing_folder" xml:space="preserve">
<value>Open containing folder (Ctrl+Shift+E)</value>
</data>
<data name="wox_plugin_program_disable_program" xml:space="preserve">
<value>Disable this program from displaying</value>
</data>
<data name="wox_plugin_program_open_in_console" xml:space="preserve">
<value>Open path in console (Ctrl+Shift+C)</value>
</data>
<data name="wox_plugin_program_plugin_name" xml:space="preserve">
<value>Program</value>
</data>
<data name="wox_plugin_program_plugin_description" xml:space="preserve">
<value>Search programs in Wox</value>
</data>
<data name="wox_plugin_program_invalid_path" xml:space="preserve">
<value>Invalid Path</value>
</data>
<data name="wox_plugin_program_disable_dlgtitle_success" xml:space="preserve">
<value>Success</value>
</data>
<data name="wox_plugin_program_disable_dlgtitle_success_message" xml:space="preserve">
<value>Successfully disabled this program from displaying in your query</value>
</data>
<data name="powertoys_run_plugin_program_win32_application" xml:space="preserve">
<value>Application</value>
</data>
<data name="powertoys_run_plugin_program_internet_shortcut_application" xml:space="preserve">
<value>Internet shortcut application</value>
</data>
<data name="powertoys_run_plugin_program_web_application" xml:space="preserve">
<value>Web application</value>
</data>
<data name="powertoys_run_plugin_program_run_command" xml:space="preserve">
<value>Run command</value>
</data>
<data name="powertoys_run_plugin_program_packaged_application" xml:space="preserve">
<value>Packaged application</value>
</data>
<data name="powertoys_run_plugin_program_file_name" xml:space="preserve">
<value>Name</value>
</data>
<data name="powertoys_run_plugin_program_file_path" xml:space="preserve">
<value>Path</value>
</data>
</root>

View file

@ -1,130 +0,0 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using System.Linq;
namespace Microsoft.Plugin.Program.Views.Commands
{
internal static class ProgramSettingDisplay
{
internal static List<ProgramSource> LoadProgramSources(this List<ProgramSource> programSources)
{
var list = new List<ProgramSource>();
programSources.ForEach(x => list
.Add(
new ProgramSource
{
Enabled = x.Enabled,
Location = x.Location,
Name = x.Name,
UniqueIdentifier = x.UniqueIdentifier,
}));
// Even though these are disabled, we still want to display them so users can enable later on
Main.Settings
.DisabledProgramSources
.Where(t1 => !Main.Settings
.ProgramSources // program sources added above already, so exclude
.Any(x => t1.UniqueIdentifier == x.UniqueIdentifier))
.Select(x => x)
.ToList()
.ForEach(x => list
.Add(
new ProgramSource
{
Enabled = x.Enabled,
Location = x.Location,
Name = x.Name,
UniqueIdentifier = x.UniqueIdentifier,
}));
return list;
}
internal static void LoadAllApplications(this List<ProgramSource> list)
{
/*Main._win32s
.Where(t1 => !ProgramSetting.ProgramSettingDisplayList.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier))
.ToList()
.ForEach(t1 => ProgramSetting.ProgramSettingDisplayList
.Add(
new ProgramSource
{
Name = t1.Name,
Location = t1.ParentDirectory,
UniqueIdentifier = t1.UniqueIdentifier,
Enabled = t1.Enabled
}
));*/
}
internal static void SetProgramSourcesStatus(this List<ProgramSource> list, List<ProgramSource> selectedProgramSourcesToDisable, bool status)
{
ProgramSetting.ProgramSettingDisplayList
.Where(t1 => selectedProgramSourcesToDisable.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier && t1.Enabled != status))
.ToList()
.ForEach(t1 => t1.Enabled = status);
/*Main._win32s
.Where(t1 => selectedProgramSourcesToDisable.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier && t1.Enabled != status))
.ToList()
.ForEach(t1 => t1.Enabled = status);*/
}
internal static void StoreDisabledInSettings(this List<ProgramSource> list)
{
Main.Settings.ProgramSources
.Where(t1 => ProgramSetting.ProgramSettingDisplayList.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier && !x.Enabled))
.ToList()
.ForEach(t1 => t1.Enabled = false);
ProgramSetting.ProgramSettingDisplayList
.Where(t1 => !t1.Enabled
&& !Main.Settings.DisabledProgramSources.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier))
.ToList()
.ForEach(x => Main.Settings.DisabledProgramSources
.Add(
new DisabledProgramSource
{
Name = x.Name,
Location = x.Location,
UniqueIdentifier = x.UniqueIdentifier,
Enabled = false,
}));
}
internal static void RemoveDisabledFromSettings(this List<ProgramSource> list)
{
Main.Settings.ProgramSources
.Where(t1 => ProgramSetting.ProgramSettingDisplayList.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier && x.Enabled))
.ToList()
.ForEach(t1 => t1.Enabled = true);
Main.Settings.DisabledProgramSources
.Where(t1 => ProgramSetting.ProgramSettingDisplayList.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier && x.Enabled))
.ToList()
.ForEach(x => Main.Settings.DisabledProgramSources.Remove(x));
}
internal static bool IsReindexRequired(this List<ProgramSource> selectedItems)
{
if (selectedItems.Where(t1 => t1.Enabled).Any())
{
return true;
}
// ProgramSources holds list of user added directories,
// so when we enable/disable we need to reindex to show/not show the programs
// that are found in those directories.
if (selectedItems.Where(t1 => Main.Settings.ProgramSources.Any(x => t1.UniqueIdentifier == x.UniqueIdentifier)).Any())
{
return true;
}
return false;
}
}
}

View file

@ -1,136 +0,0 @@
<UserControl x:Class="Microsoft.Plugin.Program.Views.ProgramSetting"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:program="clr-namespace:Microsoft.Plugin.Program"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="600">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Stretch">
<StackPanel Orientation="Vertical" Width="205">
<CheckBox Name="StartMenuEnabled" Click="StartMenuEnabled_Click" Margin="5" Content="{DynamicResource wox_plugin_program_index_start}" />
<CheckBox Name="RegistryEnabled" Click="RegistryEnabled_Click" Margin="5" Content="{DynamicResource wox_plugin_program_index_registry}" />
</StackPanel>
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<Button Height="30" HorizontalAlignment="Right" Margin="10" Width="100" x:Name="btnLoadAllProgramSource" Click="BtnLoadAllProgramSource_OnClick" Content="{DynamicResource wox_plugin_program_all_programs}" />
<Button Height="30" HorizontalAlignment="Right" Margin="10" Width="100" x:Name="btnProgramSuffixes" Click="BtnProgramSuffixes_OnClick" Content="{DynamicResource wox_plugin_program_suffixes}" />
<Button Height="30" HorizontalAlignment="Right" Margin="10" Width="100" x:Name="btnReindex" Click="BtnReindex_Click" Content="{DynamicResource wox_plugin_program_reindex}" />
</StackPanel>
</StackPanel>
<ListView x:Name="programSourceView" Grid.Row="1" AllowDrop="True" SelectionMode="Extended" GridViewColumnHeader.Click="GridViewColumnHeaderClickedHandler"
PreviewMouseRightButtonUp="ProgramSourceView_PreviewMouseRightButtonUp"
DragEnter="ProgramSourceView_DragEnter"
Drop="ProgramSourceView_Drop" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewMouseUp" Handler="Row_OnClick"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="150">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Enabled" Width="50">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Enabled}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{DynamicResource wox_plugin_program_location}" Width="550">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Location, ConverterParameter=(null), Converter={program:LocationConverter}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<DockPanel Grid.Row="2">
<StackPanel x:Name="indexingPanel" Visibility="Hidden" HorizontalAlignment="Left" Orientation="Horizontal">
<ProgressBar x:Name="progressBarIndexing" Height="20" Width="80" Minimum="0" Maximum="100" IsIndeterminate="True" />
<TextBlock Margin="10 0 0 0" Height="20" HorizontalAlignment="Center" Text="{DynamicResource wox_plugin_program_indexing}" />
</StackPanel>
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<Button x:Name="btnProgramSourceStatus" Click="BtnProgramSourceStatus_OnClick" Width="100" Margin="10" Content="{DynamicResource wox_plugin_program_disable}" />
<Button x:Name="btnAddProgramSource" Click="BtnAddProgramSource_OnClick" Width="100" Margin="10" Content="{DynamicResource wox_plugin_program_add}"/>
<Button x:Name="btnEditProgramSource" Click="BtnEditProgramSource_OnClick" Width="100" Margin="10" Content="{DynamicResource wox_plugin_program_edit}"/>
</StackPanel>
</DockPanel>
</Grid>
</UserControl>

View file

@ -1,312 +0,0 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using Microsoft.Plugin.Program.Views.Commands;
using Wox.Plugin;
namespace Microsoft.Plugin.Program.Views
{
/// <summary>
/// Interaction logic for ProgramSetting.xaml
/// </summary>
public partial class ProgramSetting : UserControl
{
private PluginInitContext context;
private ProgramPluginSettings _settings;
private GridViewColumnHeader _lastHeaderClicked;
private ListSortDirection _lastDirection;
// We do not save all program sources to settings, so using
// this as temporary holder for displaying all loaded programs sources.
internal static List<ProgramSource> ProgramSettingDisplayList { get; set; }
public ProgramSetting(PluginInitContext context, ProgramPluginSettings settings)
{
this.context = context;
InitializeComponent();
Loaded += Setting_Loaded;
_settings = settings;
}
private void Setting_Loaded(object sender, RoutedEventArgs e)
{
ProgramSettingDisplayList = _settings.ProgramSources.LoadProgramSources();
programSourceView.ItemsSource = ProgramSettingDisplayList;
StartMenuEnabled.IsChecked = _settings.EnableStartMenuSource;
RegistryEnabled.IsChecked = _settings.EnableRegistrySource;
}
private void ReIndexing()
{
programSourceView.Items.Refresh();
Task.Run(() =>
{
Dispatcher.Invoke(() => { indexingPanel.Visibility = Visibility.Visible; });
Dispatcher.Invoke(() => { indexingPanel.Visibility = Visibility.Hidden; });
});
}
private void BtnAddProgramSource_OnClick(object sender, RoutedEventArgs e)
{
var add = new AddProgramSource(context, _settings);
if (add.ShowDialog() ?? false)
{
ReIndexing();
}
programSourceView.Items.Refresh();
}
private void DeleteProgramSources(List<ProgramSource> itemsToDelete)
{
itemsToDelete.ForEach(t1 => _settings.ProgramSources
.Remove(_settings.ProgramSources
.Where(x => x.UniqueIdentifier == t1.UniqueIdentifier)
.FirstOrDefault()));
itemsToDelete.ForEach(x => ProgramSettingDisplayList.Remove(x));
ReIndexing();
}
private void BtnEditProgramSource_OnClick(object sender, RoutedEventArgs e)
{
var selectedProgramSource = programSourceView.SelectedItem as ProgramSource;
if (selectedProgramSource != null)
{
var add = new AddProgramSource(selectedProgramSource, _settings);
if (add.ShowDialog() ?? false)
{
ReIndexing();
}
}
else
{
string msg = context.API.GetTranslation("wox_plugin_program_pls_select_program_source");
MessageBox.Show(msg);
}
}
private void BtnReindex_Click(object sender, RoutedEventArgs e)
{
ReIndexing();
}
private void BtnProgramSuffixes_OnClick(object sender, RoutedEventArgs e)
{
var p = new ProgramSuffixes(context, _settings);
if (p.ShowDialog() ?? false)
{
ReIndexing();
}
}
private void ProgramSourceView_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effects = DragDropEffects.Link;
}
else
{
e.Effects = DragDropEffects.None;
}
}
private void ProgramSourceView_Drop(object sender, DragEventArgs e)
{
var directories = (string[])e.Data.GetData(DataFormats.FileDrop);
var directoriesToAdd = new List<ProgramSource>();
if (directories != null && directories.Length > 0)
{
foreach (string directory in directories)
{
if (Directory.Exists(directory) && !ProgramSettingDisplayList.Any(x => x.UniqueIdentifier == directory))
{
var source = new ProgramSource
{
Location = directory,
UniqueIdentifier = directory,
};
directoriesToAdd.Add(source);
}
}
if (directoriesToAdd.Count > 0)
{
directoriesToAdd.ForEach(x => _settings.ProgramSources.Add(x));
directoriesToAdd.ForEach(x => ProgramSettingDisplayList.Add(x));
programSourceView.Items.Refresh();
ReIndexing();
}
}
}
private void StartMenuEnabled_Click(object sender, RoutedEventArgs e)
{
_settings.EnableStartMenuSource = StartMenuEnabled.IsChecked ?? false;
ReIndexing();
}
private void RegistryEnabled_Click(object sender, RoutedEventArgs e)
{
_settings.EnableRegistrySource = RegistryEnabled.IsChecked ?? false;
ReIndexing();
}
private void BtnLoadAllProgramSource_OnClick(object sender, RoutedEventArgs e)
{
ProgramSettingDisplayList.LoadAllApplications();
programSourceView.Items.Refresh();
}
private void BtnProgramSourceStatus_OnClick(object sender, RoutedEventArgs e)
{
var selectedItems = programSourceView
.SelectedItems.Cast<ProgramSource>()
.ToList();
if (selectedItems.Count == 0)
{
string msg = context.API.GetTranslation("wox_plugin_program_pls_select_program_source");
MessageBox.Show(msg);
return;
}
if (selectedItems
.Where(t1 => !_settings
.ProgramSources
.Any(x => t1.UniqueIdentifier == x.UniqueIdentifier))
.Any())
{
var msg = string.Format(CultureInfo.CurrentCulture, context.API.GetTranslation("wox_plugin_program_delete_program_source"));
if (MessageBox.Show(msg, string.Empty, MessageBoxButton.YesNo) == MessageBoxResult.No)
{
return;
}
DeleteProgramSources(selectedItems);
}
else if (IsSelectedRowStatusEnabledMoreOrEqualThanDisabled(selectedItems))
{
ProgramSettingDisplayList.SetProgramSourcesStatus(selectedItems, false);
ProgramSettingDisplayList.StoreDisabledInSettings();
}
else
{
ProgramSettingDisplayList.SetProgramSourcesStatus(selectedItems, true);
ProgramSettingDisplayList.RemoveDisabledFromSettings();
}
if (selectedItems.IsReindexRequired())
{
ReIndexing();
}
programSourceView.SelectedItems.Clear();
programSourceView.Items.Refresh();
}
private void ProgramSourceView_PreviewMouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
programSourceView.SelectedItems.Clear();
}
private void GridViewColumnHeaderClickedHandler(object sender, RoutedEventArgs e)
{
var headerClicked = e.OriginalSource as GridViewColumnHeader;
ListSortDirection direction;
if (headerClicked != null)
{
if (headerClicked.Role != GridViewColumnHeaderRole.Padding)
{
if (headerClicked != _lastHeaderClicked)
{
direction = ListSortDirection.Ascending;
}
else
{
if (_lastDirection == ListSortDirection.Ascending)
{
direction = ListSortDirection.Descending;
}
else
{
direction = ListSortDirection.Ascending;
}
}
var columnBinding = headerClicked.Column.DisplayMemberBinding as Binding;
var sortBy = columnBinding?.Path.Path ?? headerClicked.Column.Header as string;
Sort(sortBy, direction);
_lastHeaderClicked = headerClicked;
_lastDirection = direction;
}
}
}
private void Sort(string sortBy, ListSortDirection direction)
{
var dataView = CollectionViewSource.GetDefaultView(programSourceView.ItemsSource);
dataView.SortDescriptions.Clear();
SortDescription sd = new SortDescription(sortBy, direction);
dataView.SortDescriptions.Add(sd);
dataView.Refresh();
}
private static bool IsSelectedRowStatusEnabledMoreOrEqualThanDisabled(List<ProgramSource> selectedItems)
{
return selectedItems.Where(x => x.Enabled).Count() >= selectedItems.Where(x => !x.Enabled).Count();
}
private void Row_OnClick(object sender, RoutedEventArgs e)
{
var selectedItems = programSourceView
.SelectedItems.Cast<ProgramSource>()
.ToList();
if (selectedItems
.Where(t1 => !_settings
.ProgramSources
.Any(x => t1.UniqueIdentifier == x.UniqueIdentifier))
.Any())
{
btnProgramSourceStatus.Content = context.API.GetTranslation("wox_plugin_program_delete");
return;
}
if (IsSelectedRowStatusEnabledMoreOrEqualThanDisabled(selectedItems))
{
btnProgramSourceStatus.Content = "Disable";
}
else
{
btnProgramSourceStatus.Content = "Enable";
}
}
}
}

View file

@ -1,12 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_cmd_relace_winr">Ersetzt Win+R</system:String>
<system:String x:Key="wox_plugin_cmd_leave_cmd_open">Schließe die Kommandozeilte nicht nachdem der Befehl ausgeführt wurde</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_name">Kommandozeile</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_description">Bereitstellung der Kommandozeile in Wox. Befehle müssem mit > starten</system:String>
<system:String x:Key="wox_plugin_cmd_cmd_has_been_executed_times">Dieser Befehl wurde {0} mal ausgeführt</system:String>
<system:String x:Key="wox_plugin_cmd_execute_through_shell">Führe Befehle mittels Kommandozeile aus</system:String>
<system:String x:Key="wox_plugin_cmd_run_as_administrator">Als Administrator ausführen (Ctrl+Shift+Enter)</system:String>
</ResourceDictionary>

View file

@ -1,14 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_cmd_relace_winr">Replace Win+R</system:String>
<system:String x:Key="wox_plugin_cmd_leave_cmd_open">Do not close Command Prompt after command execution</system:String>
<system:String x:Key="wox_plugin_cmd_always_run_as_administrator">Always run as administrator</system:String>
<system:String x:Key="wox_plugin_cmd_run_as_different_user">Run as different user</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_name">Shell</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_description">Allows to execute system commands from Wox. Commands should start with ></system:String>
<system:String x:Key="wox_plugin_cmd_cmd_has_been_executed_times">this command has been executed {0} times</system:String>
<system:String x:Key="wox_plugin_cmd_execute_through_shell">execute command through command shell</system:String>
<system:String x:Key="wox_plugin_cmd_run_as_administrator">Run as administrator (Ctrl+Shift+Enter)</system:String>
</ResourceDictionary>

View file

@ -1,12 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_cmd_relace_winr">Zastąp Win+R</system:String>
<system:String x:Key="wox_plugin_cmd_leave_cmd_open">Nie zamykaj wiersza poleceń po wykonaniu polecenia</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_name">Wiersz poleceń</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_description">Pozwala wykonywać komend wiersza polecania z Woxa. Polecania zaczynają się od ></system:String>
<system:String x:Key="wox_plugin_cmd_cmd_has_been_executed_times">to polecenie zostało wykonane {0} razy</system:String>
<system:String x:Key="wox_plugin_cmd_execute_through_shell">wykonaj to polecenie w wierszu poleceń</system:String>
<system:String x:Key="wox_plugin_cmd_run_as_administrator">Uruchom jako administrator (Ctrl+Shift+Enter)</system:String>
</ResourceDictionary>

View file

@ -1,12 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_cmd_relace_winr">Win+R kısayolunu kullan</system:String>
<system:String x:Key="wox_plugin_cmd_leave_cmd_open">Çalıştırma sona erdikten sonra komut istemini kapatma</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_name">Kabuk</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_description">Wox üzerinden komut istemini kullanmanızı sağlar. Komutlar > işareti ile başlamalıdır.</system:String>
<system:String x:Key="wox_plugin_cmd_cmd_has_been_executed_times">Bu komut {0} kez çalıştırıldı</system:String>
<system:String x:Key="wox_plugin_cmd_execute_through_shell">Komut isteminde çalıştır</system:String>
<system:String x:Key="wox_plugin_cmd_run_as_administrator">Yönetici Olarak Çalıştır (Ctrl+Shift+Enter)</system:String>
</ResourceDictionary>

View file

@ -1,12 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_cmd_relace_winr">替换 Win+R</system:String>
<system:String x:Key="wox_plugin_cmd_leave_cmd_open">执行后不关闭命令窗口</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_name">命令行</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_description">提供从Wox中执行命令行的能力命令应该以>开头</system:String>
<system:String x:Key="wox_plugin_cmd_cmd_has_been_executed_times">此命令已经被执行了 {0} 次</system:String>
<system:String x:Key="wox_plugin_cmd_execute_through_shell">执行此命令</system:String>
<system:String x:Key="wox_plugin_cmd_run_as_administrator">以管理员身份运行 (Ctrl+Shift+Enter)</system:String>
</ResourceDictionary>

View file

@ -1,12 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_cmd_relace_winr">取代 Win+R</system:String>
<system:String x:Key="wox_plugin_cmd_leave_cmd_open">執行後不關閉命令提示字元視窗</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_name">命令提示字元</system:String>
<system:String x:Key="wox_plugin_cmd_plugin_description">提供從 Wox 中執行命令提示字元的功能,指令應該以>開頭</system:String>
<system:String x:Key="wox_plugin_cmd_cmd_has_been_executed_times">此指令已執行了 {0} 次</system:String>
<system:String x:Key="wox_plugin_cmd_execute_through_shell">執行指令</system:String>
<system:String x:Key="wox_plugin_cmd_run_as_administrator">以系統管理員身分執行 (Ctrl+Shift+Enter)</system:String>
</ResourceDictionary>

View file

@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguageSet": "Azure_Languages",
"LocItems": [
{
"SourceFile": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Shell\\Properties\\Resources.resx",
"CopyOption": "LangIDOnName",
"OutputPath": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Shell\\Properties"
}
]
}
]
}

View file

@ -83,14 +83,14 @@ namespace Microsoft.Plugin.Shell
{
if (m.Key == cmd)
{
result.SubTitle = "Shell: " + string.Format(CultureInfo.CurrentCulture, _context.API.GetTranslation("wox_plugin_cmd_cmd_has_been_executed_times"), m.Value);
result.SubTitle = "Shell: " + string.Format(CultureInfo.CurrentCulture, Properties.Resources.wox_plugin_cmd_cmd_has_been_executed_times, m.Value);
return null;
}
var ret = new Result
{
Title = m.Key,
SubTitle = "Shell: " + string.Format(CultureInfo.CurrentCulture, _context.API.GetTranslation("wox_plugin_cmd_cmd_has_been_executed_times"), m.Value),
SubTitle = "Shell: " + string.Format(CultureInfo.CurrentCulture, Properties.Resources.wox_plugin_cmd_cmd_has_been_executed_times, m.Value),
IcoPath = IconPath,
Action = c =>
{
@ -109,7 +109,7 @@ namespace Microsoft.Plugin.Shell
{
Title = cmd,
Score = 5000,
SubTitle = "Shell: " + _context.API.GetTranslation("wox_plugin_cmd_execute_through_shell"),
SubTitle = "Shell: " + Properties.Resources.wox_plugin_cmd_execute_through_shell,
IcoPath = IconPath,
Action = c =>
{
@ -127,7 +127,7 @@ namespace Microsoft.Plugin.Shell
.Select(m => new Result
{
Title = m.Key,
SubTitle = "Shell: " + string.Format(CultureInfo.CurrentCulture, _context.API.GetTranslation("wox_plugin_cmd_cmd_has_been_executed_times"), m.Value),
SubTitle = "Shell: " + string.Format(CultureInfo.CurrentCulture, Properties.Resources.wox_plugin_cmd_cmd_has_been_executed_times, m.Value),
IcoPath = IconPath,
Action = c =>
{
@ -284,17 +284,17 @@ namespace Microsoft.Plugin.Shell
public Control CreateSettingPanel()
{
return new CMDSetting(_settings);
throw new NotImplementedException();
}
public string GetTranslatedPluginTitle()
{
return _context.API.GetTranslation("wox_plugin_cmd_plugin_name");
return Properties.Resources.wox_plugin_cmd_plugin_name;
}
public string GetTranslatedPluginDescription()
{
return _context.API.GetTranslation("wox_plugin_cmd_plugin_description");
return Properties.Resources.wox_plugin_cmd_plugin_description;
}
public List<ContextMenuResult> LoadContextMenus(Result selectedResult)
@ -304,7 +304,7 @@ namespace Microsoft.Plugin.Shell
new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = _context.API.GetTranslation("wox_plugin_cmd_run_as_administrator"),
Title = Properties.Resources.wox_plugin_cmd_run_as_administrator,
Glyph = "\xE7EF",
FontFamily = "Segoe MDL2 Assets",
AcceleratorKey = Key.Enter,

View file

@ -12,6 +12,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Platforms>x64</Platforms>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -45,28 +46,6 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Content Include="Languages\en.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\zh-cn.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\zh-tw.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\de.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Wox.Infrastructure\Wox.Infrastructure.csproj" />
@ -82,23 +61,6 @@
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Languages\pl.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Languages\tr.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Page Include="ShellSetting.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" Version="2020.1.0" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="3.3.0">
@ -138,4 +100,17 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View file

@ -0,0 +1,144 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Plugin.Shell.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Plugin.Shell.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Always run as administrator.
/// </summary>
public static string wox_plugin_cmd_always_run_as_administrator {
get {
return ResourceManager.GetString("wox_plugin_cmd_always_run_as_administrator", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to this command has been executed {0} times.
/// </summary>
public static string wox_plugin_cmd_cmd_has_been_executed_times {
get {
return ResourceManager.GetString("wox_plugin_cmd_cmd_has_been_executed_times", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to execute command through command shell.
/// </summary>
public static string wox_plugin_cmd_execute_through_shell {
get {
return ResourceManager.GetString("wox_plugin_cmd_execute_through_shell", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Do not close Command Prompt after command execution.
/// </summary>
public static string wox_plugin_cmd_leave_cmd_open {
get {
return ResourceManager.GetString("wox_plugin_cmd_leave_cmd_open", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Allows to execute system commands from Wox. Commands should start with &gt;.
/// </summary>
public static string wox_plugin_cmd_plugin_description {
get {
return ResourceManager.GetString("wox_plugin_cmd_plugin_description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Shell.
/// </summary>
public static string wox_plugin_cmd_plugin_name {
get {
return ResourceManager.GetString("wox_plugin_cmd_plugin_name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Replace Win+R.
/// </summary>
public static string wox_plugin_cmd_relace_winr {
get {
return ResourceManager.GetString("wox_plugin_cmd_relace_winr", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run as administrator (Ctrl+Shift+Enter).
/// </summary>
public static string wox_plugin_cmd_run_as_administrator {
get {
return ResourceManager.GetString("wox_plugin_cmd_run_as_administrator", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run as different user.
/// </summary>
public static string wox_plugin_cmd_run_as_different_user {
get {
return ResourceManager.GetString("wox_plugin_cmd_run_as_different_user", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="wox_plugin_cmd_relace_winr" xml:space="preserve">
<value>Replace Win+R</value>
</data>
<data name="wox_plugin_cmd_leave_cmd_open" xml:space="preserve">
<value>Do not close Command Prompt after command execution</value>
</data>
<data name="wox_plugin_cmd_always_run_as_administrator" xml:space="preserve">
<value>Always run as administrator</value>
</data>
<data name="wox_plugin_cmd_run_as_different_user" xml:space="preserve">
<value>Run as different user</value>
</data>
<data name="wox_plugin_cmd_plugin_name" xml:space="preserve">
<value>Shell</value>
</data>
<data name="wox_plugin_cmd_plugin_description" xml:space="preserve">
<value>Allows to execute system commands from Wox. Commands should start with &gt;</value>
</data>
<data name="wox_plugin_cmd_cmd_has_been_executed_times" xml:space="preserve">
<value>this command has been executed {0} times</value>
</data>
<data name="wox_plugin_cmd_execute_through_shell" xml:space="preserve">
<value>execute command through command shell</value>
</data>
<data name="wox_plugin_cmd_run_as_administrator" xml:space="preserve">
<value>Run as administrator (Ctrl+Shift+Enter)</value>
</data>
</root>

View file

@ -1,27 +0,0 @@
<UserControl x:Class="Microsoft.Plugin.Shell.CMDSetting"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
Loaded="CMDSetting_OnLoaded"
d:DesignHeight="300" d:DesignWidth="300">
<Border BorderBrush="Gray" Margin="10" BorderThickness="1">
<Grid Margin="10" VerticalAlignment="Top" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<CheckBox Grid.Row="0" x:Name="ReplaceWinR" Content="{DynamicResource wox_plugin_cmd_relace_winr}" Margin="10" HorizontalAlignment="Left"/>
<CheckBox Grid.Row="1" x:Name="LeaveShellOpen" Content="{DynamicResource wox_plugin_cmd_leave_cmd_open}" Margin="10" HorizontalAlignment="Left"/>
<CheckBox Grid.Row="2" x:Name="AlwaysRunAsAdministrator" Content="{DynamicResource wox_plugin_cmd_always_run_as_administrator}" Margin="10" HorizontalAlignment="Left"/>
<ComboBox Grid.Row="3" x:Name="ShellComboBox" Margin="10" HorizontalAlignment="Left" >
<ComboBoxItem>CMD</ComboBoxItem>
<ComboBoxItem>PowerShell</ComboBoxItem>
<ComboBoxItem>RunCommand</ComboBoxItem>
</ComboBox>
</Grid>
</Border>
</UserControl>

View file

@ -1,64 +0,0 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Windows;
using System.Windows.Controls;
namespace Microsoft.Plugin.Shell
{
public partial class CMDSetting : UserControl
{
private readonly ShellPluginSettings _settings;
public CMDSetting(ShellPluginSettings settings)
{
InitializeComponent();
_settings = settings;
}
private void CMDSetting_OnLoaded(object sender, RoutedEventArgs re)
{
ReplaceWinR.IsChecked = _settings.ReplaceWinR;
LeaveShellOpen.IsChecked = _settings.LeaveShellOpen;
AlwaysRunAsAdministrator.IsChecked = _settings.RunAsAdministrator;
LeaveShellOpen.IsEnabled = _settings.Shell != ExecutionShell.RunCommand;
LeaveShellOpen.Checked += (o, e) =>
{
_settings.LeaveShellOpen = true;
};
LeaveShellOpen.Unchecked += (o, e) =>
{
_settings.LeaveShellOpen = false;
};
AlwaysRunAsAdministrator.Checked += (o, e) =>
{
_settings.RunAsAdministrator = true;
};
AlwaysRunAsAdministrator.Unchecked += (o, e) =>
{
_settings.RunAsAdministrator = false;
};
ReplaceWinR.Checked += (o, e) =>
{
_settings.ReplaceWinR = true;
};
ReplaceWinR.Unchecked += (o, e) =>
{
_settings.ReplaceWinR = false;
};
ShellComboBox.SelectedIndex = (int)_settings.Shell;
ShellComboBox.SelectionChanged += (o, e) =>
{
_settings.Shell = (ExecutionShell)ShellComboBox.SelectedIndex;
LeaveShellOpen.IsEnabled = _settings.Shell != ExecutionShell.RunCommand;
};
}
}
}

View file

@ -1,5 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_uri_website">Open in browser</system:String>
</ResourceDictionary>

View file

@ -1,5 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_uri_website">Open in browser</system:String>
</ResourceDictionary>

View file

@ -1,5 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_uri_website">Open in browser</system:String>
</ResourceDictionary>

View file

@ -1,5 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_uri_website">Open in browser</system:String>
</ResourceDictionary>

View file

@ -1,5 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_uri_website">Open in browser</system:String>
</ResourceDictionary>

View file

@ -1,5 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_uri_website">Open in browser</system:String>
</ResourceDictionary>

View file

@ -1,5 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="Microsoft_plugin_uri_website">Open in browser</system:String>
</ResourceDictionary>

View file

@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguageSet": "Azure_Languages",
"LocItems": [
{
"SourceFile": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Uri\\Properties\\Resources.resx",
"CopyOption": "LangIDOnName",
"OutputPath": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.Uri\\Properties"
}
]
}
]
}

View file

@ -56,7 +56,7 @@ namespace Microsoft.Plugin.Uri
results.Add(new Result
{
Title = uriResultString,
SubTitle = Context.API.GetTranslation("Microsoft_plugin_uri_website"),
SubTitle = Properties.Resources.Microsoft_plugin_uri_website,
IcoPath = _uriSettings.ShowBrowserIcon
? BrowserIconPath
: DefaultIconPath,

View file

@ -12,6 +12,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Platforms>x64</Platforms>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -41,6 +42,12 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Languages\**" />
<EmbeddedResource Remove="Languages\**" />
<None Remove="Languages\**" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\..\codeAnalysis\GlobalSuppressions.cs">
<Link>GlobalSuppressions.cs</Link>
@ -50,54 +57,6 @@
</AdditionalFiles>
</ItemGroup>
<ItemGroup>
<None Remove="Languages\de.xaml" />
<None Remove="Languages\en.xaml" />
<None Remove="Languages\ja.xaml" />
<None Remove="Languages\pl.xaml" />
<None Remove="Languages\tr.xaml" />
<None Remove="Languages\zh-cn.xaml" />
<None Remove="Languages\zh-tw.xaml" />
</ItemGroup>
<ItemGroup>
<Content Include="Languages\zh-tw.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Content>
<Content Include="Languages\zh-cn.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Content>
<Content Include="Languages\tr.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Content>
<Content Include="Languages\pl.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Content>
<Content Include="Languages\ja.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Content>
<Content Include="Languages\de.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Content>
<Content Include="Languages\en.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Wox.Infrastructure\Wox.Infrastructure.csproj" />
<ProjectReference Include="..\..\Wox.Plugin\Wox.Plugin.csproj" />
@ -123,6 +82,21 @@
<PackageReference Include="System.Runtime" Version="4.3.1" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="Images\uri.dark.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

View file

@ -0,0 +1,72 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Plugin.Uri.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Plugin.Uri.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Open in browser.
/// </summary>
public static string Microsoft_plugin_uri_website {
get {
return ResourceManager.GetString("Microsoft_plugin_uri_website", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Microsoft_plugin_uri_website" xml:space="preserve">
<value>Open in browser</value>
</data>
</root>

View file

@ -1,7 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="wox_plugin_windowwalker_plugin_name">Window Walker</system:String>
<system:String x:Key="wox_plugin_windowwalker_plugin_description">Alt-Tab alternative enabling searching through your windows.</system:String>
</ResourceDictionary>

View file

@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguageSet": "Azure_Languages",
"LocItems": [
{
"SourceFile": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.WindowWalker\\Properties\\Resources.resx",
"CopyOption": "LangIDOnName",
"OutputPath": "src\\modules\\launcher\\Plugins\\Microsoft.Plugin.WindowWalker\\Properties"
}
]
}
]
}

View file

@ -67,12 +67,12 @@ namespace Microsoft.Plugin.WindowWalker
public string GetTranslatedPluginTitle()
{
return Context.API.GetTranslation("wox_plugin_windowwalker_plugin_name");
return Properties.Resources.wox_plugin_windowwalker_plugin_name;
}
public string GetTranslatedPluginDescription()
{
return Context.API.GetTranslation("wox_plugin_windowwalker_plugin_description");
return Properties.Resources.wox_plugin_windowwalker_plugin_description;
}
private static void SearchResultUpdated(object sender, SearchController.SearchResultUpdateEventArgs e)

View file

@ -12,6 +12,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Platforms>x64</Platforms>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -45,6 +46,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Languages\**" />
<EmbeddedResource Remove="Languages\**" />
<None Remove="Languages\**" />
<Page Remove="Languages\**" />
</ItemGroup>
<ItemGroup>
<None Include="plugin.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@ -56,14 +64,6 @@
<ProjectReference Include="..\..\Wox.Plugin\Wox.Plugin.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="Languages\en.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" Version="2020.1.0" />
<PackageReference Include="System.Runtime" Version="4.3.1" />
@ -83,6 +83,19 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="Images\windowwalker.dark.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

View file

@ -0,0 +1,81 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Plugin.WindowWalker.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Plugin.WindowWalker.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Alt-Tab alternative enabling searching through your windows..
/// </summary>
public static string wox_plugin_windowwalker_plugin_description {
get {
return ResourceManager.GetString("wox_plugin_windowwalker_plugin_description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Window Walker.
/// </summary>
public static string wox_plugin_windowwalker_plugin_name {
get {
return ResourceManager.GetString("wox_plugin_windowwalker_plugin_name", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="wox_plugin_windowwalker_plugin_name" xml:space="preserve">
<value>Window Walker</value>
</data>
<data name="wox_plugin_windowwalker_plugin_description" xml:space="preserve">
<value>Alt-Tab alternative enabling searching through your windows.</value>
</data>
</root>

View file

@ -1,45 +0,0 @@
<Window x:Class="Wox.ActionKeywords"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ActionKeywords"
Icon="Images\app.png"
ResizeMode="NoResize"
Loaded="ActionKeyword_OnLoaded"
WindowStartupLocation="CenterScreen"
Height="200" Width="600">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="170" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Margin="10" FontSize="14" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center"
HorizontalAlignment="Right" Text="{DynamicResource oldActionKeyword}" />
<TextBlock x:Name="tbOldActionKeyword" Margin="10" FontSize="14" Grid.Row="0" Grid.Column="1"
VerticalAlignment="Center" HorizontalAlignment="Left">
Old ActionKeywords:
</TextBlock>
<TextBlock Margin="10" FontSize="14" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center"
HorizontalAlignment="Right" Text="{DynamicResource newActionKeyword}" />
<StackPanel Grid.Row="1" Orientation="Horizontal" Grid.Column="1">
<TextBox x:Name="tbAction" Margin="10" Width="400" VerticalAlignment="Center" HorizontalAlignment="Left" />
</StackPanel>
<TextBlock Grid.Row="2" Grid.ColumnSpan="1" Grid.Column="1" Padding="5" Foreground="Gray"
Text="{DynamicResource actionkeyword_tips}" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="3" Grid.Column="1">
<Button x:Name="btnCancel" Click="BtnCancel_OnClick" Margin="10 0 10 0" Width="80" Height="25"
Content="{DynamicResource cancel}" />
<Button x:Name="btnDone" Margin="10 0 10 0" Width="80" Height="25" Click="BtnDone_OnClick">
<TextBlock x:Name="lblAdd" Text="{DynamicResource done}" />
</Button>
</StackPanel>
</Grid>
</Window>

View file

@ -1,60 +0,0 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Windows;
using Wox.Core.Plugin;
using Wox.Core.Resource;
using Wox.Infrastructure.UserSettings;
using Wox.Plugin;
namespace Wox
{
public partial class ActionKeywords : Window
{
private readonly Internationalization _translater = InternationalizationManager.Instance;
private readonly PluginPair _plugin;
public ActionKeywords(string pluginId)
{
InitializeComponent();
_plugin = PluginManager.GetPluginForId(pluginId);
if (_plugin == null)
{
MessageBox.Show(_translater.GetTranslation("cannotFindSpecifiedPlugin"));
Close();
}
}
private void ActionKeyword_OnLoaded(object sender, RoutedEventArgs e)
{
tbOldActionKeyword.Text = string.Join(Query.ActionKeywordSeparator, _plugin.Metadata.ActionKeywords.ToArray());
tbAction.Focus();
}
private void BtnCancel_OnClick(object sender, RoutedEventArgs e)
{
Close();
}
private void BtnDone_OnClick(object sender, RoutedEventArgs e)
{
var oldActionKeyword = _plugin.Metadata.ActionKeywords[0];
var newActionKeyword = tbAction.Text.Trim();
newActionKeyword = newActionKeyword.Length > 0 ? newActionKeyword : "*";
if (!PluginManager.ActionKeywordRegistered(newActionKeyword))
{
var id = _plugin.Metadata.ID;
PluginManager.ReplaceActionKeyword(id, oldActionKeyword, newActionKeyword);
MessageBox.Show(_translater.GetTranslation("success"));
Close();
}
else
{
string msg = _translater.GetTranslation("newActionKeywordsHasBeenAssigned");
MessageBox.Show(msg);
}
}
}
}

View file

@ -7,7 +7,6 @@
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Themes/Dark.xaml" />
<ResourceDictionary Source="pack://application:,,,/Languages/en.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>

View file

@ -12,7 +12,6 @@ using PowerLauncher.Helper;
using PowerLauncher.ViewModel;
using Wox;
using Wox.Core.Plugin;
using Wox.Core.Resource;
using Wox.Infrastructure;
using Wox.Infrastructure.Http;
using Wox.Infrastructure.Image;
@ -101,11 +100,6 @@ namespace PowerLauncher
Current.MainWindow = _mainWindow;
Current.MainWindow.Title = Constant.ExeFileName;
// happlebao todo temp fix for instance code logic
// load plugin before change language, because plugin language also needs be changed
InternationalizationManager.Instance.Settings = _settings;
InternationalizationManager.Instance.ChangeLanguage(_settings.Language);
// main windows needs initialized before theme change because of blur settings
Http.Proxy = _settings.Proxy;

View file

@ -1,143 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--MainWindow-->
<system:String x:Key="startTyping">Start typing...</system:String>
<system:String x:Key="registerHotkeyFailed">Kunne ikke registrere genvejstast: {0}</system:String>
<system:String x:Key="couldnotStartCmd">Kunne ikke starte {0}</system:String>
<system:String x:Key="invalidWoxPluginFileFormat">Ugyldigt Wox plugin filformat</system:String>
<system:String x:Key="setAsTopMostInThisQuery">Sæt øverst i denne søgning</system:String>
<system:String x:Key="cancelTopMostInThisQuery">Annuller øverst i denne søgning</system:String>
<system:String x:Key="executeQuery">Udfør søgning: {0}</system:String>
<system:String x:Key="lastExecuteTime">Seneste afviklingstid: {0}</system:String>
<system:String x:Key="iconTrayOpen">Åben</system:String>
<system:String x:Key="iconTraySettings">Indstillinger</system:String>
<system:String x:Key="iconTrayAbout">Om</system:String>
<system:String x:Key="iconTrayExit">Afslut</system:String>
<!--Setting General-->
<system:String x:Key="wox_settings">Wox indstillinger</system:String>
<system:String x:Key="general">Generelt</system:String>
<system:String x:Key="startWoxOnSystemStartup">Start Wox ved system start</system:String>
<system:String x:Key="hideWoxWhenLoseFocus">Skjul Wox ved mistet fokus</system:String>
<system:String x:Key="dontPromptUpdateMsg">Vis ikke notifikationer om nye versioner</system:String>
<system:String x:Key="rememberLastLocation">Husk seneste position</system:String>
<system:String x:Key="language">Sprog</system:String>
<system:String x:Key="maxShowResults">Maksimum antal resultater vist</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreen">Ignorer genvejstaster i fuldskærmsmode</system:String>
<system:String x:Key="autoUpdates">Autoopdatering</system:String>
<system:String x:Key="hideOnStartup">Skjul Wox ved opstart</system:String>
<!--Setting Plugin-->
<system:String x:Key="plugin">Plugin</system:String>
<system:String x:Key="browserMorePlugins">Find flere plugins</system:String>
<system:String x:Key="disable">Deaktiver</system:String>
<system:String x:Key="actionKeywords">Nøgleord</system:String>
<system:String x:Key="pluginDirectory">Plugin bibliotek</system:String>
<system:String x:Key="author">Forfatter</system:String>
<system:String x:Key="plugin_init_time">Initaliseringstid: {0}ms</system:String>
<system:String x:Key="plugin_query_time">Søgetid: {0}ms</system:String>
<!--Setting Theme-->
<system:String x:Key="theme">Tema</system:String>
<system:String x:Key="browserMoreThemes">Søg efter flere temaer</system:String>
<system:String x:Key="helloWox">Hej Wox</system:String>
<system:String x:Key="queryBoxFont">Søgefelt skrifttype</system:String>
<system:String x:Key="resultItemFont">Resultat skrifttype</system:String>
<system:String x:Key="windowMode">Vindue mode</system:String>
<system:String x:Key="opacity">Gennemsigtighed</system:String>
<!--Setting Hotkey-->
<system:String x:Key="hotkey">Genvejstast</system:String>
<system:String x:Key="woxHotkey">Wox genvejstast</system:String>
<system:String x:Key="customQueryHotkey">Tilpasset søgegenvejstast</system:String>
<system:String x:Key="delete">Slet</system:String>
<system:String x:Key="edit">Rediger</system:String>
<system:String x:Key="add">Tilføj</system:String>
<system:String x:Key="pleaseSelectAnItem">Vælg venligst</system:String>
<system:String x:Key="deleteCustomHotkeyWarning">Er du sikker på du vil slette {0} plugin genvejstast?</system:String>
<!--Setting Proxy-->
<system:String x:Key="proxy">HTTP Proxy</system:String>
<system:String x:Key="enableProxy">Aktiver HTTP Proxy</system:String>
<system:String x:Key="server">HTTP Server</system:String>
<system:String x:Key="port">Port</system:String>
<system:String x:Key="userName">Brugernavn</system:String>
<system:String x:Key="password">Adgangskode</system:String>
<system:String x:Key="testProxy">Test Proxy</system:String>
<system:String x:Key="save">Gem</system:String>
<system:String x:Key="serverCantBeEmpty">Server felt må ikke være tomt</system:String>
<system:String x:Key="portCantBeEmpty">Port felt må ikke være tomt</system:String>
<system:String x:Key="invalidPortFormat">Ugyldigt port format</system:String>
<system:String x:Key="saveProxySuccessfully">Proxy konfiguration gemt</system:String>
<system:String x:Key="proxyIsCorrect">Proxy konfiguret korrekt</system:String>
<system:String x:Key="proxyConnectFailed">Proxy forbindelse fejlet</system:String>
<!--Setting About-->
<system:String x:Key="about">Om</system:String>
<system:String x:Key="website">Website</system:String>
<system:String x:Key="version">Version</system:String>
<system:String x:Key="about_activate_times">Du har aktiveret Wox {0} gange</system:String>
<system:String x:Key="checkUpdates">Tjek for opdateringer</system:String>
<system:String x:Key="newVersionTips">Ny version {0} er tilgængelig, genstart venligst Wox</system:String>
<system:String x:Key="releaseNotes">Release Notes:</system:String>
<!--Action Keyword Setting Dialog-->
<system:String x:Key="oldActionKeywords">Gammelt nøgleord</system:String>
<system:String x:Key="newActionKeywords">Nyt nøgleord</system:String>
<system:String x:Key="cancel">Annuller</system:String>
<system:String x:Key="done">Færdig</system:String>
<system:String x:Key="cannotFindSpecifiedPlugin">Kan ikke finde det valgte plugin</system:String>
<system:String x:Key="newActionKeywordsCannotBeEmpty">Nyt nøgleord må ikke være tomt</system:String>
<system:String x:Key="newActionKeywordsHasBeenAssigned">Nyt nøgleord er tilknyttet et andet plugin, tilknyt venligst et andet nyt nøgeleord</system:String>
<system:String x:Key="success">Fortsæt</system:String>
<system:String x:Key="actionkeyword_tips">Brug * hvis du ikke vil angive et nøgleord</system:String>
<!--Custom Query Hotkey Dialog-->
<system:String x:Key="preview">Vis</system:String>
<system:String x:Key="hotkeyIsNotUnavailable">Genvejstast er utilgængelig, vælg venligst en ny genvejstast</system:String>
<system:String x:Key="invalidPluginHotkey">Ugyldig plugin genvejstast</system:String>
<system:String x:Key="update">Opdater</system:String>
<!--Hotkey Control-->
<system:String x:Key="hotkeyUnavailable">Genvejstast utilgængelig</system:String>
<!--Crash Reporter-->
<system:String x:Key="reportWindow_version">Version</system:String>
<system:String x:Key="reportWindow_time">Tid</system:String>
<system:String x:Key="reportWindow_reproduce">Beskriv venligst hvordan Wox crashede, så vi kan rette det.</system:String>
<system:String x:Key="reportWindow_send_report">Send rapport</system:String>
<system:String x:Key="reportWindow_cancel">Annuller</system:String>
<system:String x:Key="reportWindow_general">Generelt</system:String>
<system:String x:Key="reportWindow_exceptions">Exceptions</system:String>
<system:String x:Key="reportWindow_exception_type">Exception Type</system:String>
<system:String x:Key="reportWindow_source">Kilde</system:String>
<system:String x:Key="reportWindow_stack_trace">Stack Trace</system:String>
<system:String x:Key="reportWindow_sending">Sender</system:String>
<system:String x:Key="reportWindow_report_succeed">Rapport sendt korrekt</system:String>
<system:String x:Key="reportWindow_report_failed">Kunne ikke sende rapport</system:String>
<system:String x:Key="reportWindow_wox_got_an_error">PT Run fik en fejl</system:String>
<!--update-->
<system:String x:Key="update_wox_update_new_version_available">Ny Wox udgivelse {0} er nu tilgængelig</system:String>
<system:String x:Key="update_wox_update_error">Der skete en fejl ifm. opdatering af Wox</system:String>
<system:String x:Key="update_wox_update">Opdater</system:String>
<system:String x:Key="update_wox_update_cancel">Annuler</system:String>
<system:String x:Key="update_wox_update_restart_wox_tip">Denne opdatering vil genstarte Wox</system:String>
<system:String x:Key="update_wox_update_upadte_files">Følgende filer bliver opdateret</system:String>
<system:String x:Key="update_wox_update_files">Opdatereringsfiler</system:String>
<system:String x:Key="update_wox_update_upadte_description">Opdateringsbeskrivelse</system:String>
<!--Automation Properties-->
<system:String x:Key="AppIcon">Application Icon</system:String>
<system:String x:Key="ContextMenuItem">Context Menu Item</system:String>
<system:String x:Key="ContextMenuItemAdditionalInformation">Context Menu Item Additional Information</system:String>
<system:String x:Key="ContextMenuIcon">Context Menu Icon</system:String>
<system:String x:Key="ContextMenuItemsCollection">Context Menu Items Collection</system:String>
<system:String x:Key="Query">Query</system:String>
<system:String x:Key="Results">Results</system:String>
<system:String x:Key="SearchIcon">Search Icon</system:String>
<system:String x:Key="Subtitle">Subtitle</system:String>
<system:String x:Key="Title">Title</system:String>
</ResourceDictionary>

View file

@ -1,157 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--MainWindow-->
<system:String x:Key="startTyping">Start typing...</system:String>
<system:String x:Key="registerHotkeyFailed">Tastenkombinationregistrierung: {0} fehlgeschlagen</system:String>
<system:String x:Key="couldnotStartCmd">Kann {0} nicht starten</system:String>
<system:String x:Key="invalidWoxPluginFileFormat">Fehlerhaftes Wox-Plugin Dateiformat</system:String>
<system:String x:Key="setAsTopMostInThisQuery">In dieser Abfrage als oberstes setzen</system:String>
<system:String x:Key="cancelTopMostInThisQuery">In dieser Abfrage oberstes abbrechen</system:String>
<system:String x:Key="executeQuery">Abfrage ausführen:{0}</system:String>
<system:String x:Key="lastExecuteTime">Letzte Ausführungszeit:{0}</system:String>
<system:String x:Key="iconTrayOpen">Öffnen</system:String>
<system:String x:Key="iconTraySettings">Einstellungen</system:String>
<system:String x:Key="iconTrayAbout">Über</system:String>
<system:String x:Key="iconTrayExit">Schließen</system:String>
<!--Setting General-->
<system:String x:Key="wox_settings">Wox Einstellungen</system:String>
<system:String x:Key="general">Allgemein</system:String>
<system:String x:Key="startWoxOnSystemStartup">Starte Wox bei Systemstart</system:String>
<system:String x:Key="hideWoxWhenLoseFocus">Verstecke Wox wenn der Fokus verloren geht</system:String>
<system:String x:Key="dontPromptUpdateMsg">Zeige keine Nachricht wenn eine neue Version vorhanden ist</system:String>
<system:String x:Key="rememberLastLocation">Merke letzte Ausführungsposition</system:String>
<system:String x:Key="language">Sprache</system:String>
<system:String x:Key="lastQueryMode">Letzter Anfragenstyle</system:String>
<system:String x:Key="LastQueryPreserved">Letzte erhaltene Anfrage</system:String>
<system:String x:Key="LastQuerySelected">Letzte Anfrage anuswählen</system:String>
<system:String x:Key="LastQueryEmpty">Leerer letzte Anfrage</system:String>
<system:String x:Key="maxShowResults">Maximale Anzahl Ergebnissen</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreen">Ignoriere Tastenkombination wenn Fenster im Vollbildmodus ist</system:String>
<system:String x:Key="autoUpdates">Automatische Aktualisierung</system:String>
<system:String x:Key="hideOnStartup">Verstecke Wox bei Systemstart</system:String>
<system:String x:Key="hideNotifyIcon">Verstecke Taskbar icon</system:String>
<system:String x:Key="querySearchPrecision">Suchanfrage verfeinern</system:String>
<system:String x:Key="ShouldUsePinyin">Sollte Pinyin benutzen</system:String>
<!--Setting Plugin-->
<system:String x:Key="plugin">Plugin</system:String>
<system:String x:Key="browserMorePlugins">Suche nach weiteren Plugins</system:String>
<system:String x:Key="disable">Deaktivieren</system:String>
<system:String x:Key="actionKeywords">Aktionsschlüsselwörter</system:String>
<system:String x:Key="pluginDirectory">Pluginordner</system:String>
<system:String x:Key="author">Autor</system:String>
<system:String x:Key="plugin_init_time">Initialisierungszeit: {0}ms</system:String>
<system:String x:Key="plugin_query_time">Abfragezeit: {0}ms</system:String>
<!--Setting Theme-->
<system:String x:Key="theme">Theme</system:String>
<system:String x:Key="browserMoreThemes">Suche nach weiteren Themes</system:String>
<system:String x:Key="helloWox">Hallo Wox</system:String>
<system:String x:Key="queryBoxFont">Abfragebox Schriftart</system:String>
<system:String x:Key="resultItemFont">Ergebnis Schriftart</system:String>
<system:String x:Key="windowMode">Fenstermodus</system:String>
<system:String x:Key="opacity">Transparenz</system:String>
<system:String x:Key="theme_load_failure_path_not_exists">Design {0} existiert nicht. Zurück zum Standarddesign</system:String>
<system:String x:Key="theme_load_failure_parse_error">Fehler beim Laden von Design {0}. Zurück zum Standarddesign</system:String>
<!--Setting Hotkey-->
<system:String x:Key="hotkey">Tastenkombination</system:String>
<system:String x:Key="woxHotkey">Wox Tastenkombination</system:String>
<system:String x:Key="customQueryHotkey">Benutzerdefinierte Abfrage Tastenkombination</system:String>
<system:String x:Key="delete">Löschen</system:String>
<system:String x:Key="edit">Bearbeiten</system:String>
<system:String x:Key="add">Hinzufügen</system:String>
<system:String x:Key="pleaseSelectAnItem">Bitte einen Eintrag auswählen</system:String>
<system:String x:Key="deleteCustomHotkeyWarning">Wollen Sie die {0} Plugin Tastenkombination wirklich löschen?</system:String>
<!--Setting Proxy-->
<system:String x:Key="proxy">HTTP Proxy</system:String>
<system:String x:Key="enableProxy">Aktiviere HTTP Proxy</system:String>
<system:String x:Key="server">HTTP Server</system:String>
<system:String x:Key="port">Port</system:String>
<system:String x:Key="userName">Benutzername</system:String>
<system:String x:Key="password">Passwort</system:String>
<system:String x:Key="testProxy">Teste Proxy</system:String>
<system:String x:Key="save">Speichern</system:String>
<system:String x:Key="serverCantBeEmpty">Server darf nicht leer sein</system:String>
<system:String x:Key="portCantBeEmpty">Server Port darf nicht leer sein</system:String>
<system:String x:Key="invalidPortFormat">Falsches Port Format</system:String>
<system:String x:Key="saveProxySuccessfully">Proxy wurde erfolgreich gespeichert</system:String>
<system:String x:Key="proxyIsCorrect">Proxy ist korrekt</system:String>
<system:String x:Key="proxyConnectFailed">Verbindung zum Proxy fehlgeschlagen</system:String>
<!--Setting About-->
<system:String x:Key="about">Über</system:String>
<system:String x:Key="website">Webseite</system:String>
<system:String x:Key="version">Version</system:String>
<system:String x:Key="about_activate_times">Sie haben Wox {0} mal aktiviert</system:String>
<system:String x:Key="checkUpdates">Nach Aktuallisierungen Suchen</system:String>
<system:String x:Key="newVersionTips">Eine neue Version ({0}) ist vorhanden. Bitte starten Sie Wox neu.</system:String>
<system:String x:Key="checkUpdatesFailed">Suche nach Updates gescheitert, bitte überprüfe deine Verbindung und Proxyeinstelllungen zu api.github.com</system:String>
<system:String x:Key="downloadUpdatesFailed">
Updates herunterladen gescheitert, bitte überprüfe deine Verbindung und Proxyeinstelllungen zu github-cloud.s3.amazonaws.com
oder gehe zu https://github.com/Wox-launcher/Wox/releases um automatisch herunterzuladen.
</system:String>
<system:String x:Key="releaseNotes">Versionshinweise:</system:String>
<!--Action Keyword Setting Dialog-->
<system:String x:Key="oldActionKeywords">Altes Aktionsschlüsselwort</system:String>
<system:String x:Key="newActionKeywords">Neues Aktionsschlüsselwort</system:String>
<system:String x:Key="cancel">Abbrechen</system:String>
<system:String x:Key="done">Fertig</system:String>
<system:String x:Key="cannotFindSpecifiedPlugin">Kann das angegebene Plugin nicht finden</system:String>
<system:String x:Key="newActionKeywordsCannotBeEmpty">Neues Aktionsschlüsselwort darf nicht leer sein</system:String>
<system:String x:Key="newActionKeywordsHasBeenAssigned">Aktionsschlüsselwort ist schon bei einem anderen Plugin in verwendung. Bitte stellen Sie ein anderes Aktionsschlüsselwort ein.</system:String>
<system:String x:Key="success">Erfolgreich</system:String>
<system:String x:Key="actionkeyword_tips">Benutzen Sie * wenn Sie ein Aktionsschlüsselwort definieren wollen.</system:String>
<!--Custom Query Hotkey Dialog-->
<system:String x:Key="preview">Vorschau</system:String>
<system:String x:Key="hotkeyIsNotUnavailable">Tastenkombination ist nicht verfügbar, bitte wähle eine andere Tastenkombination</system:String>
<system:String x:Key="invalidPluginHotkey">Ungültige Plugin Tastenkombination</system:String>
<system:String x:Key="update">Aktualisieren</system:String>
<!--Hotkey Control-->
<system:String x:Key="hotkeyUnavailable">Tastenkombination nicht verfügbar</system:String>
<!--Crash Reporter-->
<system:String x:Key="reportWindow_version">Version</system:String>
<system:String x:Key="reportWindow_time">Zeit</system:String>
<system:String x:Key="reportWindow_reproduce">Bitte teilen Sie uns mit, wie die Anwendung abgestürzt ist, damit wir den Fehler beheben können.</system:String>
<system:String x:Key="reportWindow_send_report">Sende Report</system:String>
<system:String x:Key="reportWindow_cancel">Abbrechen</system:String>
<system:String x:Key="reportWindow_general">Allgemein</system:String>
<system:String x:Key="reportWindow_exceptions">Fehler</system:String>
<system:String x:Key="reportWindow_exception_type">Fehlertypen</system:String>
<system:String x:Key="reportWindow_source">Quelle</system:String>
<system:String x:Key="reportWindow_stack_trace">Stack Trace</system:String>
<system:String x:Key="reportWindow_sending">Sende</system:String>
<system:String x:Key="reportWindow_report_succeed">Report erfolgreich</system:String>
<system:String x:Key="reportWindow_report_failed">Report fehlgeschlagen</system:String>
<system:String x:Key="reportWindow_wox_got_an_error">PT Run hat einen Fehler</system:String>
<!--update-->
<system:String x:Key="update_wox_update_new_version_available">V{0} von Wox ist verfügbar</system:String>
<system:String x:Key="update_wox_update_error">Es ist ein Fehler während der Installation der Aktualisierung aufgetreten.</system:String>
<system:String x:Key="update_wox_update">Aktualisieren</system:String>
<system:String x:Key="update_wox_update_cancel">Abbrechen</system:String>
<system:String x:Key="update_wox_update_restart_wox_tip">Diese Aktualisierung wird Wox neu starten</system:String>
<system:String x:Key="update_wox_update_upadte_files">Folgende Dateien werden aktualisiert</system:String>
<system:String x:Key="update_wox_update_files">Aktualisiere Dateien</system:String>
<system:String x:Key="update_wox_update_upadte_description">Aktualisierungbeschreibung</system:String>
<!--Automation Properties-->
<system:String x:Key="AppIcon">Application Icon</system:String>
<system:String x:Key="ContextMenuItem">Context Menu Item</system:String>
<system:String x:Key="ContextMenuItemAdditionalInformation">Context Menu Item Additional Information</system:String>
<system:String x:Key="ContextMenuIcon">Context Menu Icon</system:String>
<system:String x:Key="ContextMenuItemsCollection">Context Menu Items Collection</system:String>
<system:String x:Key="Query">Query</system:String>
<system:String x:Key="Results">Results</system:String>
<system:String x:Key="SearchIcon">Search Icon</system:String>
<system:String x:Key="Subtitle">Subtitle</system:String>
<system:String x:Key="Title">Title</system:String>
</ResourceDictionary>

View file

@ -1,157 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--MainWindow-->
<system:String x:Key="startTyping">Start typing...</system:String>
<system:String x:Key="registerHotkeyFailed">Failed to register hotkey: {0}</system:String>
<system:String x:Key="couldnotStartCmd">Could not start {0}</system:String>
<system:String x:Key="invalidWoxPluginFileFormat">Invalid Wox plugin file format</system:String>
<system:String x:Key="setAsTopMostInThisQuery">Set as topmost in this query</system:String>
<system:String x:Key="cancelTopMostInThisQuery">Cancel topmost in this query</system:String>
<system:String x:Key="executeQuery">Execute query: {0}</system:String>
<system:String x:Key="lastExecuteTime">Last execution time: {0}</system:String>
<system:String x:Key="iconTrayOpen">Open</system:String>
<system:String x:Key="iconTraySettings">Settings</system:String>
<system:String x:Key="iconTrayAbout">About</system:String>
<system:String x:Key="iconTrayExit">Exit</system:String>
<!--Setting General-->
<system:String x:Key="wox_settings">Wox Settings</system:String>
<system:String x:Key="general">General</system:String>
<system:String x:Key="startWoxOnSystemStartup">Start Wox on system startup</system:String>
<system:String x:Key="hideWoxWhenLoseFocus">Hide Wox when focus is lost</system:String>
<system:String x:Key="dontPromptUpdateMsg">Do not show new version notifications</system:String>
<system:String x:Key="rememberLastLocation">Remember last launch location</system:String>
<system:String x:Key="language">Language</system:String>
<system:String x:Key="lastQueryMode">Last Query Style</system:String>
<system:String x:Key="LastQueryPreserved">Preserve Last Query</system:String>
<system:String x:Key="LastQuerySelected">Select last Query</system:String>
<system:String x:Key="LastQueryEmpty">Empty last Query</system:String>
<system:String x:Key="maxShowResults">Maximum results shown</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreen">Ignore hotkeys in fullscreen mode</system:String>
<system:String x:Key="autoUpdates">Auto Update</system:String>
<system:String x:Key="hideOnStartup">Hide Wox on startup</system:String>
<system:String x:Key="hideNotifyIcon">Hide tray icon</system:String>
<system:String x:Key="querySearchPrecision">Query Search Precision</system:String>
<system:String x:Key="ShouldUsePinyin">Should Use Pinyin</system:String>
<!--Setting Plugin-->
<system:String x:Key="plugin">Plugin</system:String>
<system:String x:Key="browserMorePlugins">Find more plugins</system:String>
<system:String x:Key="disable">Disable</system:String>
<system:String x:Key="actionKeywords">Action keywords</system:String>
<system:String x:Key="pluginDirectory">Plugin Directory</system:String>
<system:String x:Key="author">Author</system:String>
<system:String x:Key="plugin_init_time">Init time: {0}ms</system:String>
<system:String x:Key="plugin_query_time">Query time: {0}ms</system:String>
<!--Setting Theme-->
<system:String x:Key="theme">Theme</system:String>
<system:String x:Key="browserMoreThemes">Browse for more themes</system:String>
<system:String x:Key="helloWox">Hello Wox</system:String>
<system:String x:Key="queryBoxFont">Query Box Font</system:String>
<system:String x:Key="resultItemFont">Result Item Font</system:String>
<system:String x:Key="windowMode">Window Mode</system:String>
<system:String x:Key="opacity">Opacity</system:String>
<system:String x:Key="theme_load_failure_path_not_exists">Theme {0} not exists, fallback to default theme</system:String>
<system:String x:Key="theme_load_failure_parse_error">Fail to load theme {0}, fallback to default theme</system:String>
<!--Setting Hotkey-->
<system:String x:Key="hotkey">Hotkey</system:String>
<system:String x:Key="woxHotkey">Wox Hotkey</system:String>
<system:String x:Key="customQueryHotkey">Custom Query Hotkey</system:String>
<system:String x:Key="delete">Delete</system:String>
<system:String x:Key="edit">Edit</system:String>
<system:String x:Key="add">Add</system:String>
<system:String x:Key="pleaseSelectAnItem">Please select an item</system:String>
<system:String x:Key="deleteCustomHotkeyWarning">Are you sure you want to delete {0} plugin hotkey?</system:String>
<!--Setting Proxy-->
<system:String x:Key="proxy">HTTP Proxy</system:String>
<system:String x:Key="enableProxy">Enable HTTP Proxy</system:String>
<system:String x:Key="server">HTTP Server</system:String>
<system:String x:Key="port">Port</system:String>
<system:String x:Key="userName">User Name</system:String>
<system:String x:Key="password">Password</system:String>
<system:String x:Key="testProxy">Test Proxy</system:String>
<system:String x:Key="save">Save</system:String>
<system:String x:Key="serverCantBeEmpty">Server field can't be empty</system:String>
<system:String x:Key="portCantBeEmpty">Port field can't be empty</system:String>
<system:String x:Key="invalidPortFormat">Invalid port format</system:String>
<system:String x:Key="saveProxySuccessfully">Proxy configuration saved successfully</system:String>
<system:String x:Key="proxyIsCorrect">Proxy configured correctly</system:String>
<system:String x:Key="proxyConnectFailed">Proxy connection failed</system:String>
<!--Setting About-->
<system:String x:Key="about">About</system:String>
<system:String x:Key="website">Website</system:String>
<system:String x:Key="version">Version</system:String>
<system:String x:Key="about_activate_times">You have activated Wox {0} times</system:String>
<system:String x:Key="checkUpdates">Check for Updates</system:String>
<system:String x:Key="newVersionTips">New version {0} is available, please restart Wox.</system:String>
<system:String x:Key="checkUpdatesFailed">Check updates failed, please check your connection and proxy settings to api.github.com.</system:String>
<system:String x:Key="downloadUpdatesFailed">
Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com,
or go to https://github.com/Wox-launcher/Wox/releases to download updates manually.
</system:String>
<system:String x:Key="releaseNotes">Release Notes:</system:String>
<!--Action Keyword Setting Dialog-->
<system:String x:Key="oldActionKeywords">Old Action Keyword</system:String>
<system:String x:Key="newActionKeywords">New Action Keyword</system:String>
<system:String x:Key="cancel">Cancel</system:String>
<system:String x:Key="done">Done</system:String>
<system:String x:Key="cannotFindSpecifiedPlugin">Can't find specified plugin</system:String>
<system:String x:Key="newActionKeywordsCannotBeEmpty">New Action Keyword can't be empty</system:String>
<system:String x:Key="newActionKeywordsHasBeenAssigned">New Action Keywords have been assigned to another plugin, please assign other new action keyword</system:String>
<system:String x:Key="success">Success</system:String>
<system:String x:Key="actionkeyword_tips">Use * if you don't want to specify an action keyword</system:String>
<!--Custom Query Hotkey Dialog-->
<system:String x:Key="preview">Preview</system:String>
<system:String x:Key="hotkeyIsNotUnavailable">Hotkey is unavailable, please select a new hotkey</system:String>
<system:String x:Key="invalidPluginHotkey">Invalid plugin hotkey</system:String>
<system:String x:Key="update">Update</system:String>
<!--Hotkey Control-->
<system:String x:Key="hotkeyUnavailable">Hotkey unavailable</system:String>
<!--Crash Reporter-->
<system:String x:Key="reportWindow_version">Version</system:String>
<system:String x:Key="reportWindow_time">Time</system:String>
<system:String x:Key="reportWindow_reproduce">Please tell us how application crashed so we can fix it</system:String>
<system:String x:Key="reportWindow_send_report">Send Report</system:String>
<system:String x:Key="reportWindow_cancel">Cancel</system:String>
<system:String x:Key="reportWindow_general">General</system:String>
<system:String x:Key="reportWindow_exceptions">Exceptions</system:String>
<system:String x:Key="reportWindow_exception_type">Exception Type</system:String>
<system:String x:Key="reportWindow_source">Source</system:String>
<system:String x:Key="reportWindow_stack_trace">Stack Trace</system:String>
<system:String x:Key="reportWindow_sending">Sending</system:String>
<system:String x:Key="reportWindow_report_succeed">Report sent successfully</system:String>
<system:String x:Key="reportWindow_report_failed">Failed to send report</system:String>
<system:String x:Key="reportWindow_wox_got_an_error">PowerToys Run ran into an issue</system:String>
<!--update-->
<system:String x:Key="update_wox_update_new_version_available">New Wox release {0} is now available</system:String>
<system:String x:Key="update_wox_update_error">An error occurred while trying to install software updates</system:String>
<system:String x:Key="update_wox_update">Update</system:String>
<system:String x:Key="update_wox_update_cancel">Cancel</system:String>
<system:String x:Key="update_wox_update_restart_wox_tip">This upgrade will restart Wox</system:String>
<system:String x:Key="update_wox_update_upadte_files">Following files will be updated</system:String>
<system:String x:Key="update_wox_update_files">Update files</system:String>
<system:String x:Key="update_wox_update_upadte_description">Update description</system:String>
<!--Automation Properties-->
<system:String x:Key="AppIcon">Application Icon</system:String>
<system:String x:Key="ContextMenuItem">Context Menu Item</system:String>
<system:String x:Key="ContextMenuItemAdditionalInformation">Context Menu Item Additional Information</system:String>
<system:String x:Key="ContextMenuIcon">Context Menu Icon</system:String>
<system:String x:Key="ContextMenuItemsCollection">Context Menu Items Collection</system:String>
<system:String x:Key="Query">Query</system:String>
<system:String x:Key="Results">Results</system:String>
<system:String x:Key="SearchIcon">Search Icon</system:String>
<system:String x:Key="Subtitle">Subtitle</system:String>
<system:String x:Key="Title">Title</system:String>
</ResourceDictionary>

View file

@ -1,149 +0,0 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!--MainWindow-->
<system:String x:Key="startTyping">Start typing...</system:String>
<system:String x:Key="registerHotkeyFailed">Échec lors de l'enregistrement du raccourci : {0}</system:String>
<system:String x:Key="couldnotStartCmd">Impossible de lancer {0}</system:String>
<system:String x:Key="invalidWoxPluginFileFormat">Le format de fichier n'est pas un plugin Wox valide</system:String>
<system:String x:Key="setAsTopMostInThisQuery">Définir en tant que favori pour cette requête</system:String>
<system:String x:Key="cancelTopMostInThisQuery">Annuler le favori</system:String>
<system:String x:Key="executeQuery">Lancer la requête : {0}</system:String>
<system:String x:Key="lastExecuteTime">Dernière exécution : {0}</system:String>
<system:String x:Key="iconTrayOpen">Ouvrir</system:String>
<system:String x:Key="iconTraySettings">Paramètres</system:String>
<system:String x:Key="iconTrayAbout">À propos</system:String>
<system:String x:Key="iconTrayExit">Quitter</system:String>
<!--Setting General-->
<system:String x:Key="wox_settings">Paramètres - Wox</system:String>
<system:String x:Key="general">Général</system:String>
<system:String x:Key="startWoxOnSystemStartup">Lancer Wox au démarrage du système</system:String>
<system:String x:Key="hideWoxWhenLoseFocus">Cacher Wox lors de la perte de focus</system:String>
<system:String x:Key="dontPromptUpdateMsg">Ne pas afficher le message de mise à jour pour les nouvelles versions</system:String>
<system:String x:Key="rememberLastLocation">Se souvenir du dernier emplacement de la fenêtre</system:String>
<system:String x:Key="language">Langue</system:String>
<system:String x:Key="lastQueryMode">Affichage de la dernière recherche</system:String>
<system:String x:Key="LastQueryPreserved">Conserver la dernière recherche</system:String>
<system:String x:Key="LastQuerySelected">Sélectionner la dernière recherche</system:String>
<system:String x:Key="LastQueryEmpty">Ne pas afficher la dernière recherche</system:String>
<system:String x:Key="maxShowResults">Résultats maximums à afficher</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreen">Ignore les raccourcis lorsqu'une application est en plein écran</system:String>
<system:String x:Key="autoUpdates">Mettre à jour automatiquement</system:String>
<system:String x:Key="hideOnStartup">Cacher Wox au démarrage</system:String>
<!--Setting Plugin-->
<system:String x:Key="plugin">Modules</system:String>
<system:String x:Key="browserMorePlugins">Trouver plus de modules</system:String>
<system:String x:Key="disable">Désactivé</system:String>
<system:String x:Key="actionKeywords">Mot-clé d'action :</system:String>
<system:String x:Key="pluginDirectory">Répertoire</system:String>
<system:String x:Key="author">Auteur </system:String>
<system:String x:Key="plugin_init_time">Chargement : {0}ms</system:String>
<system:String x:Key="plugin_query_time">Utilisation : {0}ms</system:String>
<!--Setting Theme-->
<system:String x:Key="theme">Thèmes</system:String>
<system:String x:Key="browserMoreThemes">Trouver plus de thèmes</system:String>
<system:String x:Key="helloWox">Hello Wox</system:String>
<system:String x:Key="queryBoxFont">Police (barre de recherche)</system:String>
<system:String x:Key="resultItemFont">Police (liste des résultats) </system:String>
<system:String x:Key="windowMode">Mode fenêtré</system:String>
<system:String x:Key="opacity">Opacité</system:String>
<!--Setting Hotkey-->
<system:String x:Key="hotkey">Raccourcis</system:String>
<system:String x:Key="woxHotkey">Ouvrir Wox</system:String>
<system:String x:Key="customQueryHotkey">Requêtes personnalisées</system:String>
<system:String x:Key="delete">Supprimer</system:String>
<system:String x:Key="edit">Modifier</system:String>
<system:String x:Key="add">Ajouter</system:String>
<system:String x:Key="pleaseSelectAnItem">Veuillez sélectionner un élément</system:String>
<system:String x:Key="deleteCustomHotkeyWarning">Voulez-vous vraiment supprimer {0} raccourci(s) ?</system:String>
<!--Setting Proxy-->
<system:String x:Key="proxy">Proxy HTTP</system:String>
<system:String x:Key="enableProxy">Activer le HTTP proxy</system:String>
<system:String x:Key="server">Serveur HTTP</system:String>
<system:String x:Key="port">Port</system:String>
<system:String x:Key="userName">Utilisateur</system:String>
<system:String x:Key="password">Mot de passe</system:String>
<system:String x:Key="testProxy">Tester</system:String>
<system:String x:Key="save">Sauvegarder</system:String>
<system:String x:Key="serverCantBeEmpty">Un serveur doit être indiqué</system:String>
<system:String x:Key="portCantBeEmpty">Un port doit être indiqué</system:String>
<system:String x:Key="invalidPortFormat">Format du port invalide</system:String>
<system:String x:Key="saveProxySuccessfully">Proxy sauvegardé avec succès</system:String>
<system:String x:Key="proxyIsCorrect">Le proxy est valide</system:String>
<system:String x:Key="proxyConnectFailed">Connexion au proxy échouée</system:String>
<!--Setting About-->
<system:String x:Key="about">À propos</system:String>
<system:String x:Key="website">Site web</system:String>
<system:String x:Key="version">Version</system:String>
<system:String x:Key="about_activate_times">Vous avez utilisé Wox {0} fois</system:String>
<system:String x:Key="checkUpdates">Vérifier les mises à jour</system:String>
<system:String x:Key="newVersionTips">Nouvelle version {0} disponible, veuillez redémarrer Wox</system:String>
<system:String x:Key="checkUpdatesFailed">É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.</system:String>
<system:String x:Key="downloadUpdatesFailed">É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/Wox-launcher/Wox/releases.</system:String>
<system:String x:Key="releaseNotes">Notes de changement :</system:String>
<!--Action Keyword Setting Dialog-->
<system:String x:Key="oldActionKeywords">Ancien mot-clé d'action</system:String>
<system:String x:Key="newActionKeywords">Nouveau mot-clé d'action</system:String>
<system:String x:Key="cancel">Annuler</system:String>
<system:String x:Key="done">Terminé</system:String>
<system:String x:Key="cannotFindSpecifiedPlugin">Impossible de trouver le module spécifié</system:String>
<system:String x:Key="newActionKeywordsCannotBeEmpty">Le nouveau mot-clé d'action doit être spécifié</system:String>
<system:String x:Key="newActionKeywordsHasBeenAssigned">Le nouveau mot-clé d'action a été assigné à un autre module, veuillez en choisir un autre</system:String>
<system:String x:Key="success">Ajouté</system:String>
<system:String x:Key="actionkeyword_tips">Saisissez * si vous ne souhaitez pas utiliser de mot-clé spécifique</system:String>
<!--Custom Query Hotkey Dialog-->
<system:String x:Key="preview">Prévisualiser</system:String>
<system:String x:Key="hotkeyIsNotUnavailable">Raccourci indisponible. Veuillez en choisir un autre.</system:String>
<system:String x:Key="invalidPluginHotkey">Raccourci invalide</system:String>
<system:String x:Key="update">Actualiser</system:String>
<!--Hotkey Control-->
<system:String x:Key="hotkeyUnavailable">Raccourci indisponible</system:String>
<!--Crash Reporter-->
<system:String x:Key="reportWindow_version">Version</system:String>
<system:String x:Key="reportWindow_time">Heure</system:String>
<system:String x:Key="reportWindow_reproduce">Veuillez nous indiquer comment l'application a planté afin que nous puissions le corriger</system:String>
<system:String x:Key="reportWindow_send_report">Envoyer le rapport</system:String>
<system:String x:Key="reportWindow_cancel">Annuler</system:String>
<system:String x:Key="reportWindow_general">Général</system:String>
<system:String x:Key="reportWindow_exceptions">Exceptions</system:String>
<system:String x:Key="reportWindow_exception_type">Type d'exception</system:String>
<system:String x:Key="reportWindow_source">Source</system:String>
<system:String x:Key="reportWindow_stack_trace">Trace d'appel</system:String>
<system:String x:Key="reportWindow_sending">Envoi en cours</system:String>
<system:String x:Key="reportWindow_report_succeed">Signalement envoyé</system:String>
<system:String x:Key="reportWindow_report_failed">Échec de l'envoi du signalement</system:String>
<system:String x:Key="reportWindow_wox_got_an_error">PT Run a rencontré une erreur</system:String>
<!--update-->
<system:String x:Key="update_wox_update_new_version_available">Version v{0} de Wox disponible</system:String>
<system:String x:Key="update_wox_update_error">Une erreur s'est produite lors de l'installation de la mise à jour</system:String>
<system:String x:Key="update_wox_update">Mettre à jour</system:String>
<system:String x:Key="update_wox_update_cancel">Annuler</system:String>
<system:String x:Key="update_wox_update_restart_wox_tip">Wox doit redémarrer pour installer cette mise à jour</system:String>
<system:String x:Key="update_wox_update_upadte_files">Les fichiers suivants seront mis à jour</system:String>
<system:String x:Key="update_wox_update_files">Fichiers mis à jour</system:String>
<system:String x:Key="update_wox_update_upadte_description">Description de la mise à jour</system:String>
<!--Automation Properties-->
<system:String x:Key="AppIcon">Application Icon</system:String>
<system:String x:Key="ContextMenuItem">Context Menu Item</system:String>
<system:String x:Key="ContextMenuItemAdditionalInformation">Context Menu Item Additional Information</system:String>
<system:String x:Key="ContextMenuIcon">Context Menu Icon</system:String>
<system:String x:Key="ContextMenuItemsCollection">Context Menu Items Collection</system:String>
<system:String x:Key="Query">Query</system:String>
<system:String x:Key="Results">Results</system:String>
<system:String x:Key="SearchIcon">Search Icon</system:String>
<system:String x:Key="Subtitle">Subtitle</system:String>
<system:String x:Key="Title">Title</system:String>
</ResourceDictionary>

Some files were not shown because too many files have changed in this diff Show more