mirror of
https://github.com/BluePointLilac/ContextMenuManager.git
synced 2026-01-15 06:03:50 +08:00
修复bug, 优化代码
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
|
||||
<supportedRuntime version="v2.0.50727"/></startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<legacyCorruptedStateExceptionsPolicy enabled="true"/>
|
||||
<EnableWindowsFormsHighDpiAutoResizing enabled="true"/>
|
||||
|
||||
@@ -57,14 +57,15 @@ namespace ContextMenuManager
|
||||
};
|
||||
|
||||
private static readonly IniWriter ConfigWriter = new IniWriter(ConfigIni);
|
||||
private static string GetGeneralValue(string key) => ConfigWriter.GetValue("General", key);
|
||||
private static void SetGeneralValue(string key, object value) => ConfigWriter.SetValue("General", key, value);
|
||||
|
||||
public static string LanguageIniPath => $@"{LangsDir}\{Language}.ini";
|
||||
|
||||
public static string Language
|
||||
{
|
||||
get
|
||||
{
|
||||
string language = ConfigWriter.GetValue("General", "Language");
|
||||
string language = GetGeneralValue("Language");
|
||||
if(language == string.Empty)
|
||||
{
|
||||
language = new CultureInfo(GetUserDefaultUILanguage()).Name;
|
||||
@@ -75,13 +76,13 @@ namespace ContextMenuManager
|
||||
}
|
||||
return language;
|
||||
}
|
||||
set => ConfigWriter.SetValue("General", "Language", value);
|
||||
set => SetGeneralValue("Language", value);
|
||||
}
|
||||
|
||||
public static bool AutoBackup
|
||||
{
|
||||
get => ConfigWriter.GetValue("General", "AutoBackup") != "0";
|
||||
set => ConfigWriter.SetValue("General", "AutoBackup", value ? 1 : 0);
|
||||
get => GetGeneralValue("AutoBackup") != "0";
|
||||
set => SetGeneralValue("AutoBackup", value ? 1 : 0);
|
||||
}
|
||||
|
||||
public static DateTime LastCheckUpdateTime
|
||||
@@ -90,7 +91,7 @@ namespace ContextMenuManager
|
||||
{
|
||||
try
|
||||
{
|
||||
string time = ConfigWriter.GetValue("General", "LastCheckUpdateTime");
|
||||
string time = GetGeneralValue("LastCheckUpdateTime");
|
||||
//二进制数据时间不会受系统时间格式影响
|
||||
return DateTime.FromBinary(Convert.ToInt64(time));
|
||||
}
|
||||
@@ -102,60 +103,60 @@ namespace ContextMenuManager
|
||||
}
|
||||
set
|
||||
{
|
||||
ConfigWriter.SetValue("General", "LastCheckUpdateTime", value.ToBinary());
|
||||
SetGeneralValue("LastCheckUpdateTime", value.ToBinary());
|
||||
}
|
||||
}
|
||||
|
||||
public static bool ProtectOpenItem
|
||||
{
|
||||
get => ConfigWriter.GetValue("General", "ProtectOpenItem") != "0";
|
||||
set => ConfigWriter.SetValue("General", "ProtectOpenItem", value ? 1 : 0);
|
||||
get => GetGeneralValue("ProtectOpenItem") != "0";
|
||||
set => SetGeneralValue("ProtectOpenItem", value ? 1 : 0);
|
||||
}
|
||||
|
||||
public static string EngineUrl
|
||||
{
|
||||
get
|
||||
{
|
||||
string url = ConfigWriter.GetValue("General", "EngineUrl");
|
||||
string url = GetGeneralValue("EngineUrl");
|
||||
if(url.IsNullOrWhiteSpace()) url = EngineUrls[0];
|
||||
return url;
|
||||
}
|
||||
set
|
||||
{
|
||||
ConfigWriter.SetValue("General", "EngineUrl", value);
|
||||
SetGeneralValue("EngineUrl", value);
|
||||
}
|
||||
}
|
||||
|
||||
public static bool ShowFilePath
|
||||
{
|
||||
get => ConfigWriter.GetValue("General", "ShowFilePath") == "1";
|
||||
set => ConfigWriter.SetValue("General", "ShowFilePath", value ? 1 : 0);
|
||||
get => GetGeneralValue("ShowFilePath") == "1";
|
||||
set => SetGeneralValue("ShowFilePath", value ? 1 : 0);
|
||||
}
|
||||
|
||||
public static bool WinXSortable
|
||||
{
|
||||
get => ConfigWriter.GetValue("General", "WinXSortable") == "1";
|
||||
set => ConfigWriter.SetValue("General", "WinXSortable", value ? 1 : 0);
|
||||
get => GetGeneralValue("WinXSortable") == "1";
|
||||
set => SetGeneralValue("WinXSortable", value ? 1 : 0);
|
||||
}
|
||||
|
||||
public static bool OpenMoreRegedit
|
||||
{
|
||||
get => ConfigWriter.GetValue("General", "OpenMoreRegedit") == "1";
|
||||
set => ConfigWriter.SetValue("General", "OpenMoreRegedit", value ? 1 : 0);
|
||||
get => GetGeneralValue("OpenMoreRegedit") == "1";
|
||||
set => SetGeneralValue("OpenMoreRegedit", value ? 1 : 0);
|
||||
}
|
||||
|
||||
public static Version Version
|
||||
{
|
||||
get
|
||||
{
|
||||
Version version = new Version();
|
||||
try { version = new Version(ConfigWriter.GetValue("General", "Version")); }
|
||||
Version version = new Version(0, 0, 0, 0);
|
||||
try { version = new Version(GetGeneralValue("Version")); }
|
||||
catch { }
|
||||
return version;
|
||||
}
|
||||
set
|
||||
{
|
||||
ConfigWriter.SetValue("General", "Version", value);
|
||||
SetGeneralValue("Version", value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,10 @@ namespace ContextMenuManager
|
||||
public static readonly Image AddSeparator = Resources.AddSeparator.ResizeImage(Scale);
|
||||
///<summary>打开图标</summary>
|
||||
public static readonly Image Open = Resources.Open.ResizeImage(Scale);
|
||||
///<summary>下载图标</summary>
|
||||
public static readonly Image DownLoad = Resources.DownLoad.ResizeImage(Scale);
|
||||
///<summary>翻译图标</summary>
|
||||
public static readonly Image Translate = Resources.Translate.ResizeImage(Scale);
|
||||
///<summary>上图标</summary>
|
||||
public static readonly Image Up = Resources.Up.ResizeImage(Scale);
|
||||
///<summary>下图标</summary>
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace ContextMenuManager
|
||||
public static class AppString
|
||||
{
|
||||
public static readonly IniReader UserLanguage = new IniReader(AppConfig.LanguageIniPath);
|
||||
private static readonly IniReader DefaultLanguage = new IniReader(new StringBuilder(Properties.Resources.AppLanguageDic));
|
||||
public static readonly IniReader DefaultLanguage = new IniReader(new StringBuilder(Properties.Resources.AppLanguageDic));
|
||||
|
||||
private static string GetStringValue(string section, string key)
|
||||
{
|
||||
@@ -61,6 +61,7 @@ namespace ContextMenuManager
|
||||
public static string DirectoryType => GetValue("DirectoryType");
|
||||
public static string EnhanceMenu => GetValue("EnhanceMenu");
|
||||
public static string ThirdRules => GetValue("ThirdRules");
|
||||
public static string OtherAccounts => GetValue("OtherAccounts");
|
||||
public static string GuidBlocked => GetValue("GuidBlocked");
|
||||
public static string DragDrop => GetValue("DragDrop");
|
||||
public static string PublicReferences => GetValue("PublicReferences");
|
||||
@@ -99,6 +100,7 @@ namespace ContextMenuManager
|
||||
public static string DirectoryType => GetValue("DirectoryType");
|
||||
public static string EnhanceMenu => GetValue("EnhanceMenu");
|
||||
public static string ThirdRules => GetValue("ThirdRules");
|
||||
public static string OtherAccounts => GetValue("OtherAccounts");
|
||||
public static string GuidBlocked => GetValue("GuidBlocked");
|
||||
public static string DragDrop => GetValue("DragDrop");
|
||||
public static string PublicReferences => GetValue("PublicReferences");
|
||||
@@ -147,42 +149,6 @@ namespace ContextMenuManager
|
||||
public static string Save => GetValue("Save");
|
||||
}
|
||||
|
||||
/// <summary>特殊项目文本</summary>
|
||||
public static class Item
|
||||
{
|
||||
private static string GetValue(string key) => GetStringValue("Item", key);
|
||||
public static string Open => GetValue("Open");
|
||||
public static string Edit => GetValue("Edit");
|
||||
public static string Explore => GetValue("Explore");
|
||||
public static string ExploreOld => GetValue("ExploreOld");
|
||||
public static string Play => GetValue("Play");
|
||||
public static string Print => GetValue("Print");
|
||||
public static string Find => GetValue("Find");
|
||||
public static string Runas => GetValue("Runas");
|
||||
public static string CustomFolder => GetValue("CustomFolder");
|
||||
public static string MapNetworkDrive => GetValue("MapNetworkDrive");
|
||||
public static string DisconnectNetworkDrive => GetValue("DisconnectNetworkDrive");
|
||||
public static string RecycleBinProperties => GetValue("RecycleBinProperties");
|
||||
public static string RemovableDrive => GetValue("RemovableDrive");
|
||||
public static string BuildSendtoMenu => GetValue("BuildSendtoMenu");
|
||||
public static string UseStoreOpenWith => GetValue("UseStoreOpenWith");
|
||||
public static string NewItem => GetValue("NewItem");
|
||||
public static string AddGuidBlockedItem => GetValue("AddGuidBlockedItem");
|
||||
public static string SelectExtension => GetValue("SelectExtension");
|
||||
public static string SelectPerceivedType => GetValue("SelectPerceivedType");
|
||||
public static string SelectDirectoryType => GetValue("SelectDirectoryType");
|
||||
public static string CurrentExtension => GetValue("CurrentExtension");
|
||||
public static string CurrentPerceivedType => GetValue("CurrentPerceivedType");
|
||||
public static string CurrentDirectoryType => GetValue("CurrentDirectoryType");
|
||||
public static string EditSubItems => GetValue("EditSubItems");
|
||||
public static string InvalidItem => GetValue("InvalidItem");
|
||||
public static string Separator => GetValue("Separator");
|
||||
public static string LockNewMenu => GetValue("LockNewMenu");
|
||||
public static string WinXSortable => GetValue("WinXSortable");
|
||||
public static string ShowFilePath => GetValue("ShowFilePath");
|
||||
public static string OpenMoreRegedit => GetValue("OpenMoreRegedit");
|
||||
}
|
||||
|
||||
public static class Dialog
|
||||
{
|
||||
private static string GetValue(string key) => GetStringValue("Dialog", key);
|
||||
@@ -215,6 +181,9 @@ namespace ContextMenuManager
|
||||
public static string AudioDirectory => GetValue("AudioDirectory");
|
||||
public static string CheckReference => GetValue("CheckReference");
|
||||
public static string CheckCopy => GetValue("CheckCopy");
|
||||
public static string SelectExtension => GetValue("SelectExtension");
|
||||
public static string SelectPerceivedType => GetValue("SelectPerceivedType");
|
||||
public static string SelectDirectoryType => GetValue("SelectDirectoryType");
|
||||
public static string SelectSubMenuMode => GetValue("SelectSubMenuMode");
|
||||
public static string SelectNewItemType => GetValue("SelectNewItemType");
|
||||
public static string RegistryFile => GetValue("RegistryFile");
|
||||
@@ -260,11 +229,34 @@ namespace ContextMenuManager
|
||||
public static class Other
|
||||
{
|
||||
private static string GetValue(string key) => GetStringValue("Other", key);
|
||||
public static string Open => GetValue("Open");
|
||||
public static string Edit => GetValue("Edit");
|
||||
public static string Explore => GetValue("Explore");
|
||||
public static string ExploreOld => GetValue("ExploreOld");
|
||||
public static string Play => GetValue("Play");
|
||||
public static string Print => GetValue("Print");
|
||||
public static string Find => GetValue("Find");
|
||||
public static string Runas => GetValue("Runas");
|
||||
public static string CustomFolder => GetValue("CustomFolder");
|
||||
public static string MapNetworkDrive => GetValue("MapNetworkDrive");
|
||||
public static string DisconnectNetworkDrive => GetValue("DisconnectNetworkDrive");
|
||||
public static string RecycleBinProperties => GetValue("RecycleBinProperties");
|
||||
public static string RemovableDrive => GetValue("RemovableDrive");
|
||||
public static string BuildSendtoMenu => GetValue("BuildSendtoMenu");
|
||||
public static string UseStoreOpenWith => GetValue("UseStoreOpenWith");
|
||||
public static string NewItem => GetValue("NewItem");
|
||||
public static string AddGuidBlockedItem => GetValue("AddGuidBlockedItem");
|
||||
public static string CurrentExtension => GetValue("CurrentExtension");
|
||||
public static string CurrentPerceivedType => GetValue("CurrentPerceivedType");
|
||||
public static string CurrentDirectoryType => GetValue("CurrentDirectoryType");
|
||||
public static string EditSubItems => GetValue("EditSubItems");
|
||||
public static string InvalidItem => GetValue("InvalidItem");
|
||||
public static string Separator => GetValue("Separator");
|
||||
public static string LockNewMenu => GetValue("LockNewMenu");
|
||||
public static string RestartExplorer => GetValue("RestartExplorer");
|
||||
public static string DictionaryDescription => GetValue("DictionaryDescription");
|
||||
public static string GuidInfosDictionary => GetValue("GuidInfosDictionary");
|
||||
public static string Translators => GetValue("Translators");
|
||||
public static string OtherLanguages => GetValue("OtherLanguages");
|
||||
public static string AboutApp => GetValue("AboutApp");
|
||||
public static string Dictionaries => GetValue("Dictionaries");
|
||||
public static string Donate => GetValue("Donate");
|
||||
@@ -281,6 +273,9 @@ namespace ContextMenuManager
|
||||
public static string WebSearchEngine => GetValue("WebSearchEngine");
|
||||
public static string CustomEngine => GetValue("CustomEngine");
|
||||
public static string SetCustomEngine => GetValue("SetCustomEngine");
|
||||
public static string WinXSortable => GetValue("WinXSortable");
|
||||
public static string ShowFilePath => GetValue("ShowFilePath");
|
||||
public static string OpenMoreRegedit => GetValue("OpenMoreRegedit");
|
||||
}
|
||||
|
||||
/// <summary>提示文本</summary>
|
||||
@@ -301,6 +296,7 @@ namespace ContextMenuManager
|
||||
public static string CheckUpdate => GetValue("CheckUpdate");
|
||||
public static string LastCheckUpdateTime => GetValue("LastCheckUpdateTime");
|
||||
public static string OpenLanguagesDir => GetValue("OpenLanguagesDir");
|
||||
public static string OtherLanguages => GetValue("OtherLanguages");
|
||||
public static string OpenDictionariesDir => GetValue("OpenDictionariesDir");
|
||||
public static string ConfigPath => GetValue("ConfigPath");
|
||||
public static string CommandFiles => GetValue("CommandFiles");
|
||||
|
||||
@@ -20,6 +20,8 @@ namespace BluePointLilac.Methods
|
||||
|
||||
public static RectangleF DpiZoom(this RectangleF r) => new RectangleF(DpiZoom(r.Location), DpiZoom(r.Size));
|
||||
|
||||
public static Padding DpiZoom(this Padding p) => new Padding(DpiZoom(p.Left), DpiZoom(p.Top), DpiZoom(p.Right), DpiZoom(p.Bottom));
|
||||
|
||||
public static int DpiZoom(this int num) => (int)(num * DpiScale);
|
||||
|
||||
public static float DpiZoom(this float num) => (float)(num * DpiScale);
|
||||
|
||||
@@ -31,12 +31,14 @@ namespace BluePointLilac.Methods
|
||||
}
|
||||
}
|
||||
|
||||
public static void Restart()
|
||||
public static void Restart(bool isElevated = false, string[] args = null)
|
||||
{
|
||||
using(Process process = new Process())
|
||||
{
|
||||
process.StartInfo.FileName = Application.ExecutablePath;
|
||||
process.StartInfo.Arguments = "Restart";
|
||||
if(args != null) process.StartInfo.Arguments += string.Join(" ", args);
|
||||
if(isElevated) process.StartInfo.Verb = "Runas";
|
||||
process.Start();
|
||||
}
|
||||
Application.Exit();
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
@@ -93,6 +93,9 @@
|
||||
<PropertyGroup />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>Properties\App.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
@@ -138,6 +141,9 @@
|
||||
<Compile Include="Controls\AddGuidDicDialog.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\FileExtensionDialog.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\EnhanceMenusItem.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -267,6 +273,9 @@
|
||||
<Compile Include="Controls\ThirdRulesList.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\TranslateDialog.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\UwpModeItem.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -338,6 +347,8 @@
|
||||
<None Include="Properties\App.manifest" />
|
||||
<None Include="Properties\Resources\Texts\AppLanguageDic.ini" />
|
||||
<None Include="Properties\Resources\Texts\GuidInfosDic.ini" />
|
||||
<Content Include="Properties\Resources\Images\DownLoad.png" />
|
||||
<Content Include="Properties\Resources\Images\Translate.png" />
|
||||
<Content Include="Properties\Resources\Texts\UwpModeItemsDic.xml" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
this.Dock = DockStyle.Fill;
|
||||
this.BackColor = Color.White;
|
||||
this.AutoScroll = true;
|
||||
this.Font = new Font(SystemFonts.MenuFont.FontFamily, 10F);
|
||||
this.Controls.AddRange(new Control[] { lblInfo, picQR, llbDonationList });
|
||||
llbDonationList.LinkClicked += (sender, e) => ExternalProgram.OpenUrl(DonateListUrl);
|
||||
@@ -156,7 +157,7 @@ namespace ContextMenuManager.Controls
|
||||
}
|
||||
}
|
||||
|
||||
sealed class LanguagesBox : Panel
|
||||
sealed class LanguagesBox : FlowLayoutPanel
|
||||
{
|
||||
const string OtherLanguagesUrl = "https://github.com/BluePointLilac/ContextMenuManager/tree/master/languages";
|
||||
|
||||
@@ -164,12 +165,14 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
this.Dock = DockStyle.Fill;
|
||||
this.Font = new Font(SystemFonts.MenuFont.FontFamily, 10F);
|
||||
this.Controls.AddRange(new Control[] { cmbLanguages, btnOpenDir, llbOtherLanguages, txtTranslators });
|
||||
this.OnResize(null);
|
||||
this.Controls.AddRange(new Control[] { cmbLanguages, btnOpenDir, btnDownLoad, txtTranslators });
|
||||
cmbLanguages.SelectionChangeCommitted += (sender, e) => ChangeLanguage();
|
||||
llbOtherLanguages.LinkClicked += (sender, e) => ExternalProgram.OpenUrl(OtherLanguagesUrl);
|
||||
btnDownLoad.MouseDown += (sender, e) => ExternalProgram.OpenUrl(OtherLanguagesUrl);
|
||||
btnOpenDir.MouseDown += (sender, e) => ExternalProgram.JumpExplorer(AppConfig.LangsDir);
|
||||
btnTranslate.MouseDown += (sender, e) => new TranslateDialog().ShowDialog();
|
||||
MyToolTip.SetToolTip(btnOpenDir, AppString.Tip.OpenLanguagesDir);
|
||||
MyToolTip.SetToolTip(btnDownLoad, AppString.Tip.OtherLanguages);
|
||||
this.OnResize(null);
|
||||
}
|
||||
|
||||
readonly ComboBox cmbLanguages = new ComboBox
|
||||
@@ -178,34 +181,24 @@ namespace ContextMenuManager.Controls
|
||||
DropDownStyle = ComboBoxStyle.DropDownList
|
||||
};
|
||||
|
||||
readonly LinkLabel llbOtherLanguages = new LinkLabel
|
||||
{
|
||||
Text = AppString.Other.OtherLanguages,
|
||||
AutoSize = true
|
||||
};
|
||||
|
||||
readonly ReadOnlyTextBox txtTranslators = new ReadOnlyTextBox
|
||||
{
|
||||
Multiline = true,
|
||||
ScrollBars = ScrollBars.Vertical
|
||||
};
|
||||
|
||||
readonly PictureButton btnOpenDir = new PictureButton(AppImage.Open);
|
||||
|
||||
readonly PictureButton btnDownLoad = new PictureButton(AppImage.DownLoad);
|
||||
readonly PictureButton btnTranslate = new PictureButton(AppImage.Translate);
|
||||
readonly List<string> languages = new List<string>();
|
||||
|
||||
protected override void OnResize(EventArgs e)
|
||||
{
|
||||
base.OnResize(e);
|
||||
int a = 20.DpiZoom();
|
||||
txtTranslators.Left = cmbLanguages.Left = cmbLanguages.Top = llbOtherLanguages.Top = a;
|
||||
btnOpenDir.Left = cmbLanguages.Right + a;
|
||||
btnOpenDir.Top = cmbLanguages.Top + (cmbLanguages.Height - btnOpenDir.Height) / 2;
|
||||
txtTranslators.Top = cmbLanguages.Bottom + a;
|
||||
txtTranslators.Width = this.ClientSize.Width - 2 * a;
|
||||
txtTranslators.Height = this.ClientSize.Height - txtTranslators.Top - a;
|
||||
txtTranslators.BackColor = this.BackColor;
|
||||
llbOtherLanguages.Left = txtTranslators.Right - llbOtherLanguages.Width;
|
||||
cmbLanguages.Margin = txtTranslators.Margin = btnOpenDir.Margin
|
||||
= btnDownLoad.Margin = btnTranslate.Margin = new Padding(a, a, 0, 0);
|
||||
}
|
||||
|
||||
public void LoadLanguages()
|
||||
@@ -243,7 +236,7 @@ namespace ContextMenuManager.Controls
|
||||
else
|
||||
{
|
||||
AppConfig.Language = language;
|
||||
SingleInstance.Restart();
|
||||
SingleInstance.Restart(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,7 +294,7 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
DirectoryEx.CopyTo(AppConfig.ConfigDir, newPath);
|
||||
Directory.Delete(AppConfig.ConfigDir, true);
|
||||
SingleInstance.Restart();
|
||||
SingleInstance.Restart(true);
|
||||
}
|
||||
};
|
||||
cmbEngine.SelectionChangeCommitted += (sender, e) =>
|
||||
@@ -337,7 +330,7 @@ namespace ContextMenuManager.Controls
|
||||
if(MessageBoxEx.Show(AppString.MessageBox.RestartApp, MessageBoxButtons.OKCancel) == DialogResult.OK)
|
||||
{
|
||||
AppConfig.ShowFilePath = chkShowFilePath.Checked;
|
||||
SingleInstance.Restart();
|
||||
SingleInstance.Restart(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -413,7 +406,7 @@ namespace ContextMenuManager.Controls
|
||||
|
||||
readonly MyListItem mliWinXSortable = new MyListItem
|
||||
{
|
||||
Text = AppString.Item.WinXSortable,
|
||||
Text = AppString.Other.WinXSortable,
|
||||
Visible = WindowsOsVersion.ISAfterOrEqual8,
|
||||
HasImage = false
|
||||
};
|
||||
@@ -421,18 +414,24 @@ namespace ContextMenuManager.Controls
|
||||
|
||||
readonly MyListItem mliShowFilePath = new MyListItem
|
||||
{
|
||||
Text = AppString.Item.ShowFilePath,
|
||||
Text = AppString.Other.ShowFilePath,
|
||||
HasImage = false
|
||||
};
|
||||
readonly MyCheckBox chkShowFilePath = new MyCheckBox();
|
||||
|
||||
readonly MyListItem mliOpenMoreRegedit = new MyListItem
|
||||
{
|
||||
Text = AppString.Item.OpenMoreRegedit,
|
||||
Text = AppString.Other.OpenMoreRegedit,
|
||||
HasImage = false
|
||||
};
|
||||
readonly MyCheckBox chkOpenMoreRegedit = new MyCheckBox();
|
||||
|
||||
protected override void OnVisibleChanged(EventArgs e)
|
||||
{
|
||||
base.OnVisibleChanged(e);
|
||||
this.Enabled = this.Visible;
|
||||
}
|
||||
|
||||
public void LoadItems()
|
||||
{
|
||||
this.AddItems(new[] { mliUpdate, mliConfigDir, mliEngine, mliBackup,
|
||||
|
||||
41
ContextMenuManager/Controls/FileExtensionDialog.cs
Normal file
41
ContextMenuManager/Controls/FileExtensionDialog.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using BluePointLilac.Methods;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ContextMenuManager.Controls
|
||||
{
|
||||
sealed class FileExtensionDialog : SelectDialog
|
||||
{
|
||||
public string Extension
|
||||
{
|
||||
get => Selected;
|
||||
set => Selected = value;
|
||||
}
|
||||
|
||||
public FileExtensionDialog()
|
||||
{
|
||||
this.Title = AppString.Dialog.SelectExtension;
|
||||
this.DropDownStyle = ComboBoxStyle.DropDown;
|
||||
List<string> items = new List<string>();
|
||||
foreach(string keyName in Microsoft.Win32.Registry.ClassesRoot.GetSubKeyNames())
|
||||
{
|
||||
if(keyName.StartsWith(".")) items.Add(keyName.Substring(1));
|
||||
}
|
||||
this.Items = items.ToArray();
|
||||
}
|
||||
|
||||
protected override bool RunDialog(IntPtr hwndOwner)
|
||||
{
|
||||
bool flag = base.RunDialog(hwndOwner);
|
||||
if(flag)
|
||||
{
|
||||
string extension = ObjectPath.RemoveIllegalChars(this.Extension);
|
||||
int index = extension.LastIndexOf('.');
|
||||
if(index >= 0) this.Extension = extension.Substring(index);
|
||||
else this.Extension = $".{extension}";
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,7 +35,7 @@ namespace ContextMenuManager.Controls
|
||||
|
||||
private void AddNewItem()
|
||||
{
|
||||
NewItem newItem = new NewItem(AppString.Item.AddGuidBlockedItem);
|
||||
NewItem newItem = new NewItem(AppString.Other.AddGuidBlockedItem);
|
||||
this.AddItem(newItem);
|
||||
newItem.AddNewItem += (sender, e) =>
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
class NewItem : MyListItem
|
||||
{
|
||||
public NewItem() : this(AppString.Item.NewItem) { }
|
||||
public NewItem() : this(AppString.Other.NewItem) { }
|
||||
|
||||
public NewItem(string text)
|
||||
{
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
this.AcceptButton = btnOk;
|
||||
this.CancelButton = btnCancel;
|
||||
this.Text = AppString.Item.NewItem;
|
||||
this.Text = AppString.Other.NewItem;
|
||||
this.Font = SystemFonts.MenuFont;
|
||||
this.MaximizeBox = this.MinimizeBox = false;
|
||||
this.ShowIcon = this.ShowInTaskbar = false;
|
||||
|
||||
@@ -160,7 +160,7 @@ namespace ContextMenuManager.Controls
|
||||
},
|
||||
ItemInfo = new ItemInfo
|
||||
{
|
||||
Text = AppString.Item.CustomFolder,
|
||||
Text = AppString.Other.CustomFolder,
|
||||
Image = AppImage.Folder,
|
||||
Tip = AppString.Tip.CustomFolder,
|
||||
RestartExplorer = true
|
||||
@@ -175,7 +175,7 @@ namespace ContextMenuManager.Controls
|
||||
},
|
||||
ItemInfo = new ItemInfo
|
||||
{
|
||||
Text = $"{AppString.Item.MapNetworkDrive} && {AppString.Item.DisconnectNetworkDrive}",
|
||||
Text = $"{AppString.Other.MapNetworkDrive} && {AppString.Other.DisconnectNetworkDrive}",
|
||||
Image = AppImage.NetworkDrive,
|
||||
RestartExplorer = true
|
||||
}
|
||||
@@ -189,7 +189,7 @@ namespace ContextMenuManager.Controls
|
||||
},
|
||||
ItemInfo = new ItemInfo
|
||||
{
|
||||
Text = AppString.Item.RecycleBinProperties,
|
||||
Text = AppString.Other.RecycleBinProperties,
|
||||
Image = AppImage.RecycleBin,
|
||||
RestartExplorer = true
|
||||
}
|
||||
@@ -203,7 +203,7 @@ namespace ContextMenuManager.Controls
|
||||
},
|
||||
ItemInfo = new ItemInfo
|
||||
{
|
||||
Text = AppString.Item.RemovableDrive,
|
||||
Text = AppString.Other.RemovableDrive,
|
||||
Image = AppImage.Drive,
|
||||
Tip = AppString.Tip.SendToDrive,
|
||||
RestartExplorer = true
|
||||
@@ -218,7 +218,7 @@ namespace ContextMenuManager.Controls
|
||||
},
|
||||
ItemInfo = new ItemInfo
|
||||
{
|
||||
Text = AppString.Item.BuildSendtoMenu,
|
||||
Text = AppString.Other.BuildSendtoMenu,
|
||||
Image = AppImage.SendTo,
|
||||
Tip = AppString.Tip.BuildSendtoMenu
|
||||
}
|
||||
@@ -232,7 +232,7 @@ namespace ContextMenuManager.Controls
|
||||
},
|
||||
ItemInfo = new ItemInfo
|
||||
{
|
||||
Text = AppString.Item.UseStoreOpenWith,
|
||||
Text = AppString.Other.UseStoreOpenWith,
|
||||
Image = AppImage.MicrosoftStore
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using BluePointLilac.Methods;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
@@ -110,38 +109,4 @@ namespace ContextMenuManager.Controls
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sealed class FileExtensionDialog : SelectDialog
|
||||
{
|
||||
public string Extension
|
||||
{
|
||||
get => Selected;
|
||||
set => Selected = value;
|
||||
}
|
||||
|
||||
public FileExtensionDialog()
|
||||
{
|
||||
this.Title = AppString.Item.SelectExtension;
|
||||
this.DropDownStyle = ComboBoxStyle.DropDown;
|
||||
List<string> items = new List<string>();
|
||||
foreach(string keyName in Microsoft.Win32.Registry.ClassesRoot.GetSubKeyNames())
|
||||
{
|
||||
if(keyName.StartsWith(".")) items.Add(keyName.Substring(1));
|
||||
}
|
||||
this.Items = items.ToArray();
|
||||
}
|
||||
|
||||
protected override bool RunDialog(IntPtr hwndOwner)
|
||||
{
|
||||
bool flag = base.RunDialog(hwndOwner);
|
||||
if(flag)
|
||||
{
|
||||
string extension = ObjectPath.RemoveIllegalChars(this.Extension);
|
||||
int index = extension.LastIndexOf('.');
|
||||
if(index >= 0) this.Extension = extension.Substring(index);
|
||||
else this.Extension = $".{extension}";
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -91,10 +91,10 @@ namespace ContextMenuManager.Controls
|
||||
/// <summary>Shell类型菜单特殊注册表项名默认名称</summary>
|
||||
private static readonly Dictionary<string, string> DefaultNames
|
||||
= new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) {
|
||||
{"open", AppString.Item.Open }, {"edit", AppString.Item.Edit }, {"print", AppString.Item.Print },
|
||||
{"find", AppString.Item.Find }, {"play", AppString.Item.Play }, {"runas", AppString.Item.Runas },
|
||||
{"open", AppString.Other.Open }, {"edit", AppString.Other.Edit }, {"print", AppString.Other.Print },
|
||||
{"find", AppString.Other.Find }, {"play", AppString.Other.Play }, {"runas", AppString.Other.Runas },
|
||||
//Win10为“浏览(&X)”,Win10之前为“资源管理器(&X)”
|
||||
{"explore", WindowsOsVersion.IsBefore10 ? AppString.Item.ExploreOld : AppString.Item.Explore }
|
||||
{"explore", WindowsOsVersion.IsBefore10 ? AppString.Other.ExploreOld : AppString.Other.Explore }
|
||||
};
|
||||
|
||||
/// <summary>菜单项目在菜单中出现的位置</summary>
|
||||
@@ -274,6 +274,10 @@ namespace ContextMenuManager.Controls
|
||||
else
|
||||
{
|
||||
if(TryProtectOpenItem()) return;
|
||||
if(WindowsOsVersion.IsAfterOrEqualWin10_1703)
|
||||
{
|
||||
Registry.SetValue(RegPath, "HideBasedOnVelocityId", 0x639bc8);
|
||||
}
|
||||
if(!IsSubItem)
|
||||
{
|
||||
//当LegaryDisable键值作用于文件夹-"在新窗口中打开"时
|
||||
@@ -284,15 +288,11 @@ namespace ContextMenuManager.Controls
|
||||
}
|
||||
Registry.SetValue(RegPath, "ProgrammaticAccessOnly", "");
|
||||
}
|
||||
if(WindowsOsVersion.IsAfterOrEqualWin10_1703)
|
||||
{
|
||||
Registry.SetValue(RegPath, "HideBasedOnVelocityId", 0x639bc8);
|
||||
if(ShowAsDisabledIfHidden) DeleteSomeValues();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBoxEx.Show(AppString.MessageBox.CannotHideSubItem);
|
||||
}
|
||||
if(ShowAsDisabledIfHidden) DeleteSomeValues();
|
||||
}
|
||||
}
|
||||
catch
|
||||
@@ -577,7 +577,7 @@ namespace ContextMenuManager.Controls
|
||||
}
|
||||
using(ShellSubMenuDialog dlg = new ShellSubMenuDialog())
|
||||
{
|
||||
dlg.Text = AppString.Item.EditSubItems.Replace("%s", this.Text);
|
||||
dlg.Text = AppString.Other.EditSubItems.Replace("%s", this.Text);
|
||||
dlg.Icon = ResourceIcon.GetIcon(IconPath, IconIndex);
|
||||
dlg.ShowDialog(this.RegPath);
|
||||
}
|
||||
|
||||
@@ -457,29 +457,29 @@ namespace ContextMenuManager.Controls
|
||||
case Scenes.CustomExtension:
|
||||
if(CurrentExtension == null)
|
||||
{
|
||||
return AppString.Item.SelectExtension;
|
||||
return AppString.Dialog.SelectExtension;
|
||||
}
|
||||
else
|
||||
{
|
||||
return AppString.Item.CurrentExtension.Replace("%s", CurrentExtension);
|
||||
return AppString.Other.CurrentExtension.Replace("%s", CurrentExtension);
|
||||
}
|
||||
case Scenes.PerceivedType:
|
||||
if(CurrentPerceivedType == null)
|
||||
{
|
||||
return AppString.Item.SelectPerceivedType;
|
||||
return AppString.Dialog.SelectPerceivedType;
|
||||
}
|
||||
else
|
||||
{
|
||||
return AppString.Item.CurrentPerceivedType.Replace("%s", GetPerceivedTypeName());
|
||||
return AppString.Other.CurrentPerceivedType.Replace("%s", GetPerceivedTypeName());
|
||||
}
|
||||
case Scenes.DirectoryType:
|
||||
if(CurrentDirectoryType == null)
|
||||
{
|
||||
return AppString.Item.SelectDirectoryType;
|
||||
return AppString.Dialog.SelectDirectoryType;
|
||||
}
|
||||
else
|
||||
{
|
||||
return AppString.Item.CurrentDirectoryType.Replace("%s", GetDirectoryTypeName());
|
||||
return AppString.Other.CurrentDirectoryType.Replace("%s", GetDirectoryTypeName());
|
||||
}
|
||||
default:
|
||||
return null;
|
||||
@@ -501,7 +501,7 @@ namespace ContextMenuManager.Controls
|
||||
dlg = new SelectDialog
|
||||
{
|
||||
Items = PerceivedTypeNames,
|
||||
Title = AppString.Item.SelectPerceivedType,
|
||||
Title = AppString.Dialog.SelectPerceivedType,
|
||||
Selected = GetPerceivedTypeName() ?? PerceivedTypeNames[0]
|
||||
};
|
||||
break;
|
||||
@@ -509,7 +509,7 @@ namespace ContextMenuManager.Controls
|
||||
dlg = new SelectDialog
|
||||
{
|
||||
Items = DirectoryTypeNames,
|
||||
Title = AppString.Item.SelectDirectoryType,
|
||||
Title = AppString.Dialog.SelectDirectoryType,
|
||||
Selected = GetDirectoryTypeName() ?? DirectoryTypeNames[0]
|
||||
};
|
||||
break;
|
||||
|
||||
@@ -188,7 +188,7 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
this.Owner = list;
|
||||
this.Image = AppImage.Lock;
|
||||
this.Text = AppString.Item.LockNewMenu;
|
||||
this.Text = AppString.Other.LockNewMenu;
|
||||
this.SetNoClickEvent();
|
||||
BtnShowMenu = new MenuButton(this);
|
||||
ChkVisible = new VisibleCheckBox(this) { Checked = IsLocked };
|
||||
@@ -276,7 +276,7 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
public ShellNewSeparator()
|
||||
{
|
||||
this.Text = AppString.Item.Separator;
|
||||
this.Text = AppString.Other.Separator;
|
||||
this.HasImage = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -326,7 +326,7 @@ namespace ContextMenuManager.Controls
|
||||
public InvalidItem(PulicMultiItemsList list, string keyName)
|
||||
{
|
||||
this.Owner = list;
|
||||
this.Text = $"{AppString.Item.InvalidItem} {keyName}";
|
||||
this.Text = $"{AppString.Other.InvalidItem} {keyName}";
|
||||
this.Image = AppImage.NotFound.ToTransparent();
|
||||
BtnDelete = new DeleteButton(this);
|
||||
BtnMoveDown = new MoveButton(this, false);
|
||||
@@ -558,7 +558,7 @@ namespace ContextMenuManager.Controls
|
||||
{
|
||||
public SubSeparatorItem()
|
||||
{
|
||||
this.Text = AppString.Item.Separator;
|
||||
this.Text = AppString.Other.Separator;
|
||||
this.HasImage = false;
|
||||
BtnDelete = new DeleteButton(this);
|
||||
BtnMoveDown = new MoveButton(this, false);
|
||||
|
||||
56
ContextMenuManager/Controls/TranslateDialog.cs
Normal file
56
ContextMenuManager/Controls/TranslateDialog.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using BluePointLilac.Methods;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ContextMenuManager.Controls
|
||||
{
|
||||
sealed class TranslateDialog : CommonDialog
|
||||
{
|
||||
public override void Reset() { }
|
||||
|
||||
protected override bool RunDialog(IntPtr hwndOwner)
|
||||
{
|
||||
using(TranslateForm frm = new TranslateForm())
|
||||
{
|
||||
bool flag = frm.ShowDialog() == DialogResult.OK;
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
|
||||
sealed class TranslateForm : Form
|
||||
{
|
||||
public TranslateForm()
|
||||
{
|
||||
this.ShowIcon = this.ShowInTaskbar = false;
|
||||
this.MaximizeBox = this.MinimizeBox = false;
|
||||
this.SizeGripStyle = SizeGripStyle.Hide;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Font = new Font(SystemFonts.MessageBoxFont.FontFamily, 10F);
|
||||
cmbSections.Width = cmbKeys.Width = 200.DpiZoom();
|
||||
cmbSections.Left = cmbSections.Top = cmbKeys.Top = 20.DpiZoom();
|
||||
cmbKeys.Left = cmbSections.Right + 20.DpiZoom();
|
||||
this.Width = cmbKeys.Right + 20.DpiZoom();
|
||||
this.Controls.AddRange(new Control[] { cmbSections, cmbKeys });
|
||||
cmbSections.Items.AddRange(AppString.DefaultLanguage.RootDic.Keys.ToArray());
|
||||
cmbSections.SelectedIndexChanged += (sender, e) =>
|
||||
{
|
||||
cmbKeys.Items.Clear();
|
||||
cmbKeys.Items.AddRange(AppString.DefaultLanguage.RootDic[cmbSections.Text].Keys.ToArray());
|
||||
cmbKeys.SelectedIndex = 0;
|
||||
};
|
||||
cmbSections.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
readonly ComboBox cmbSections = new ComboBox
|
||||
{
|
||||
DropDownStyle = ComboBoxStyle.DropDownList
|
||||
};
|
||||
readonly ComboBox cmbKeys = new ComboBox
|
||||
{
|
||||
DropDownStyle = ComboBoxStyle.DropDownList
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,11 +15,13 @@ namespace ContextMenuManager
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
bool isRestart = args.Length > 0 && args[0] == "Restart";
|
||||
if(!isRestart && SingleInstance.IsRunning()) return;
|
||||
Updater.PeriodicUpdate();
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
|
||||
bool isRestart = args.Length > 0 && args[0] == "Restart";
|
||||
if(!isRestart && SingleInstance.IsRunning()) return;
|
||||
|
||||
Updater.PeriodicUpdate();
|
||||
Application.Run(new MainForm());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false"/>
|
||||
</requestedPrivileges>
|
||||
<applicationRequestMinimum>
|
||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
||||
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
|
||||
<defaultAssemblyRequest permissionSetReference="Custom"/>
|
||||
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site"/>
|
||||
</applicationRequestMinimum>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
</compatibility>
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
|
||||
20
ContextMenuManager/Properties/Resources.Designer.cs
generated
20
ContextMenuManager/Properties/Resources.Designer.cs
generated
@@ -164,6 +164,16 @@ namespace ContextMenuManager.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap DownLoad {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("DownLoad", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 <?xml version='1.0' encoding='utf-8' ?>
|
||||
///<!--此文件为常用右键菜单字典,
|
||||
@@ -347,6 +357,16 @@ namespace ContextMenuManager.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Translate {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Translate", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||
/// </summary>
|
||||
|
||||
@@ -142,6 +142,9 @@
|
||||
<data name="Donate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>resources\images\donate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="DownLoad" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>resources\images\download.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="EnhanceMenusDic" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>resources\texts\enhancemenusdic.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
@@ -187,6 +190,9 @@
|
||||
<data name="ThirdRulesDic" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>resources\texts\thirdrulesdic.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
<data name="Translate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>resources\images\translate.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="TurnOff" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>resources\images\turnoff.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
||||
BIN
ContextMenuManager/Properties/Resources/Images/DownLoad.png
Normal file
BIN
ContextMenuManager/Properties/Resources/Images/DownLoad.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1017 B |
BIN
ContextMenuManager/Properties/Resources/Images/Translate.png
Normal file
BIN
ContextMenuManager/Properties/Resources/Images/Translate.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 686 B |
@@ -46,6 +46,7 @@ DragDrop = 右键拖拽
|
||||
PublicReferences = 公共引用
|
||||
GuidBlocked = GUID 锁
|
||||
IEMenu = IE 右键
|
||||
|
||||
AppSetting = 程序设置
|
||||
AppLanguage = 程序语言
|
||||
Dictionaries = 程序字典
|
||||
@@ -121,38 +122,6 @@ RestoreDefault = 还原默认
|
||||
Edit = 编辑
|
||||
Save = 保存
|
||||
|
||||
[Item]
|
||||
Open = 打开(&O)
|
||||
Edit = 编辑(&E)
|
||||
Explore = 浏览(&X)
|
||||
ExploreOld = 资源管理器(&X)
|
||||
Play = 播放(&L)
|
||||
Print = 打印(&P)
|
||||
Find = 搜索(&E)...
|
||||
Runas = 以管理员身份运行(&A)
|
||||
CustomFolder = 自定义文件夹(&F)...
|
||||
MapNetworkDrive = 映射网络驱动器(&N)...
|
||||
DisconnectNetworkDrive = 断开网络驱动器的连接(&C)...
|
||||
RecycleBinProperties = 属性(&R)
|
||||
RemovableDrive = 可移动磁盘
|
||||
BuildSendtoMenu = 快速构建发送到子菜单
|
||||
UseStoreOpenWith = 在Microsoft Store中查找应用
|
||||
NewItem = 新建一个菜单项目
|
||||
AddGuidBlockedItem = 添加GUID锁定项目
|
||||
LockNewMenu = 锁定新建菜单
|
||||
EditSubItems = 编辑 "%s" 的子菜单项目
|
||||
InvalidItem = 无效菜单项目:
|
||||
Separator = >>>>>> 分割线 <<<<<<
|
||||
SelectExtension = 请选择一个文件扩展名
|
||||
SelectPerceivedType = 请选择一个文件感知类型
|
||||
SelectDirectoryType = 请选择一个目录感知类型
|
||||
CurrentExtension = 你当前选择的文件扩展名为 %s
|
||||
CurrentPerceivedType = 你当前选择的文件感知类型为 %s
|
||||
CurrentDirectoryType = 你当前选择的目录感知类型为 %s
|
||||
WinXSortable = 启用 WinX 菜单排序功能
|
||||
ShowFilePath = 状态栏实时显示文件路径
|
||||
OpenMoreRegedit = 允许注册表编辑器多开
|
||||
|
||||
[Dialog]
|
||||
Ok = 确认
|
||||
Cancel = 取消
|
||||
@@ -184,6 +153,9 @@ VideoDirectory = 视频目录
|
||||
AudioDirectory = 音频目录
|
||||
CheckReference = 请勾选你想要引用的菜单项目
|
||||
CheckCopy = 请勾选你想要复制的菜单项目
|
||||
SelectExtension = 请选择一个文件扩展名
|
||||
SelectPerceivedType = 请选择一个文件感知类型
|
||||
SelectDirectoryType = 请选择一个目录感知类型
|
||||
SelectGroup = 请选择保存分组
|
||||
SelectNewItemType = 请选择新建菜单类型
|
||||
SelectSubMenuMode = 该多级菜单子项目数为0, 你有两个选择:\n①该多级菜单的所有子菜单项目私有(推荐),\n②该多级菜单可与其他多级菜单引用相同子项,\n请做出你的选择......
|
||||
@@ -234,17 +206,45 @@ LockNewMenu = 启用后可阻止第三方程序增加项目\n且可对现有项
|
||||
CheckUpdate = 程序每月自动检测一次更新 (启动程序时)\n你可手动点击浏览Github、Gitee检查更新
|
||||
LastCheckUpdateTime = 上次自动更新检查时间:
|
||||
OpenLanguagesDir = 打开语言文件夹
|
||||
OtherLanguages = 下载或上传其他语言文件
|
||||
OpenDictionariesDir = 打开字典文件夹
|
||||
ConfigPath = 更改配置和数据文件保存路径后,\n会导致部分已启用增强菜单失效,\n可在增强菜单中重新启用一遍
|
||||
CommandFiles = 此命令依赖配置文件,移动配置文件位置\n会导致此菜单项失效,重新启用一遍即可
|
||||
CreateGroup = 新建一个分组
|
||||
|
||||
[Other]
|
||||
Open = 打开(&O)
|
||||
Edit = 编辑(&E)
|
||||
Explore = 浏览(&X)
|
||||
ExploreOld = 资源管理器(&X)
|
||||
Play = 播放(&L)
|
||||
Print = 打印(&P)
|
||||
Find = 搜索(&E)...
|
||||
Runas = 以管理员身份运行(&A)
|
||||
CustomFolder = 自定义文件夹(&F)...
|
||||
MapNetworkDrive = 映射网络驱动器(&N)...
|
||||
DisconnectNetworkDrive = 断开网络驱动器的连接(&C)...
|
||||
RecycleBinProperties = 属性(&R)
|
||||
RemovableDrive = 可移动磁盘
|
||||
BuildSendtoMenu = 快速构建发送到子菜单
|
||||
UseStoreOpenWith = 在Microsoft Store中查找应用
|
||||
NewItem = 新建一个菜单项目
|
||||
AddGuidBlockedItem = 添加GUID锁定项目
|
||||
LockNewMenu = 锁定新建菜单
|
||||
EditSubItems = 编辑 "%s" 的子菜单项目
|
||||
InvalidItem = 无效菜单项目:
|
||||
Separator = >>>>>> 分割线 <<<<<<
|
||||
CurrentExtension = 你当前选择的文件扩展名为 %s
|
||||
CurrentPerceivedType = 你当前选择的文件感知类型为 %s
|
||||
CurrentDirectoryType = 你当前选择的目录感知类型为 %s
|
||||
WinXSortable = 启用 WinX 菜单排序功能
|
||||
ShowFilePath = 状态栏实时显示文件路径
|
||||
OpenMoreRegedit = 允许注册表编辑器多开
|
||||
RestartExplorer = 当前部分操作需要重启文件资源管理器生效
|
||||
|
||||
DictionaryDescription = 字典说明
|
||||
GuidInfosDictionary = GUID信息
|
||||
Translators = 翻译贡献者
|
||||
OtherLanguages = 下载或上传其他语言文件
|
||||
DonationList = 捐赠名单
|
||||
ConfigPath = 配置和数据文件保存位置
|
||||
AppDataDir = AppData 目录
|
||||
|
||||
@@ -20,13 +20,13 @@ namespace ContextMenuManager
|
||||
Version appVersion = new Version(Application.ProductVersion);
|
||||
//如果上次检测更新时间为一个月以前就进行更新操作
|
||||
bool flag1 = AppConfig.LastCheckUpdateTime.AddMonths(1).CompareTo(DateTime.Today) < 0;
|
||||
//如果配置文件中的版本号低于程序版本号也进行更新操作
|
||||
bool flag2 = appVersion.CompareTo(AppConfig.Version) > 0;
|
||||
//如果配置文件中的版本号与程序版本号不同也进行更新操作
|
||||
bool flag2 = appVersion.CompareTo(AppConfig.Version) != 0;
|
||||
if(flag1 || flag2)
|
||||
{
|
||||
CheckUpdate();
|
||||
AppConfig.LastCheckUpdateTime = DateTime.Today;
|
||||
AppConfig.Version = appVersion;
|
||||
AppConfig.LastCheckUpdateTime = DateTime.Today;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
## 捐赠名单
|
||||
|
||||
> 此名单不定期更新(上次更新:**2021-03-05**)
|
||||
> 此名单不定期更新(上次更新:**2021-03-10**)
|
||||
|
||||
> 累计金额:**280.22** 元,累计人次:**54** 人次
|
||||
> 累计金额:**286.88** 元,累计人次:**55** 人次
|
||||
|
||||
|日期|用户ID|平台|金额|备注
|
||||
|:--:|:--:|:--:|:--:|:--:
|
||||
@@ -68,4 +68,5 @@
|
||||
|2020-02-28|*奇|微信|10|
|
||||
|2020-03-02|*瑜|微信|3|
|
||||
|2020-03-04|**方|支付宝|2|
|
||||
|2020-03-05|*科|支付宝|1|
|
||||
|2020-03-05|*科|支付宝|1|
|
||||
|2020-03-10|*y|微信|6.66|
|
||||
@@ -10,7 +10,7 @@ AppName = Windows Context Menu Manager
|
||||
|
||||
[ToolBar]
|
||||
Home = Home
|
||||
Type = File Type Rules
|
||||
Type = File Types
|
||||
Rule = Other Rules
|
||||
Refresh = Refresh
|
||||
About = About
|
||||
@@ -32,8 +32,8 @@ OpenWith = Open with
|
||||
WinX = Win+X
|
||||
|
||||
LnkFile = .lnk file
|
||||
UwpLnk = UWP .lnk files
|
||||
ExeFile = .exe
|
||||
UwpLnk = UWP .lnk
|
||||
ExeFile = .exe files
|
||||
|
||||
TextFile = Text file
|
||||
ImageFile = Image file
|
||||
@@ -142,43 +142,8 @@ RestoreDefault = Restore default
|
||||
Edit = Edit
|
||||
Save = Save
|
||||
|
||||
[Item]
|
||||
Open = Open (& O)
|
||||
Edit = Edit (& E)
|
||||
Explore = Explorer (& X)
|
||||
Play = Play (& L)
|
||||
Print = Print (& P)
|
||||
Find = Find (& E) ...
|
||||
Runas = Run as administrator (& A)
|
||||
CustomFolder = Customize this folder (& F) ...
|
||||
MapNetworkDrive = Map Network Drive (& N) ...
|
||||
DisconnectNetworkDrive = Disconnect Network Drive (& C) ...
|
||||
RecycleBinProperties = Properties (& R)
|
||||
RemovableDrive = Removable Disk
|
||||
BuildSendtoMenu = Create "Send to" submenu
|
||||
UseStoreOpenWith = Find apps in Microsoft Store
|
||||
ShareWithSkype = Share using Skype
|
||||
NewItem = Create new menu item
|
||||
AddGuidBlockedItem = Add GUID blocked item
|
||||
|
||||
CurrentExtension = The currently selected file type is
|
||||
|
||||
LockNewMenu = Lock the new menu
|
||||
EditSubItems = Edit sub-menu items for "% s"
|
||||
InvalidItem = Invalid menu item:
|
||||
Separator = ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
|
||||
SelectExtension = Please select a file extension
|
||||
SelectPerceivedType = Please select a perceived file type
|
||||
SelectDirectoryType = Please select a perceived folder type
|
||||
CurrentExtension = The currently selected file extension is %s
|
||||
CurrentPerceivedType = The currently selected perceived file type is %s
|
||||
CurrentDirectoryType = The currently selected perceived folder type is %s
|
||||
WinXSortable = Enable WinX menu sorting function
|
||||
ShowFilePath = Show file path of item in status bar on hover
|
||||
OpenMoreRegedit = Allow the registry editor to open more
|
||||
|
||||
[Dialog]
|
||||
Ok = Confirm
|
||||
Ok = OK
|
||||
Cancel = Cancel
|
||||
Browse = Browse
|
||||
Program = Program
|
||||
@@ -214,12 +179,12 @@ DocumentDirectory = Document folder
|
||||
ImageDirectory = Image folder
|
||||
VideoDirectory = Video folder
|
||||
AudioDirectory = Audio folder
|
||||
|
||||
CheckReference = Check the menu item to which you want to add a reference to
|
||||
|
||||
CheckCommon = Check the common menu items you want to add
|
||||
|
||||
CheckCopy = Check the menu item you want to copy
|
||||
SelectExtension = Please select a file extension
|
||||
SelectPerceivedType = Please select a perceived file type
|
||||
SelectDirectoryType = Please select a perceived folder type
|
||||
SelectGroup = Select to save the group
|
||||
SelectSubMenuMode = The number of sub-items in the current multi-level menu is 0. There are two choices:\n① All sub-menu items in this multi-level menu are private (recommended),\n② The multi-level menu can reference the same sub-items as other multi-level menus.\nDemanding choice...
|
||||
|
||||
@@ -240,7 +205,6 @@ NoOpenModeExtension = There is no app associated with this extension.\nRight-cli
|
||||
CannotChangePath = File path changes are not allowed!
|
||||
CopiedToClipboard = Copy to clipboard:
|
||||
MalformedGuid = GUID with incorrect format
|
||||
|
||||
UnknownGuid = Unknown GUID!
|
||||
|
||||
HasBeenAdded = This item has been added!
|
||||
@@ -278,12 +242,38 @@ LockNewMenu = Once enabled, it can prevent third-party programs from adding item
|
||||
CheckUpdate = The program automatically looks for updates once a month (when the program is started)\nYou can manually click to browse Github, Gitee to check for updates
|
||||
LastCheckUpdateTime = Last automatic update check time:
|
||||
OpenLanguagesDir = Open language folder
|
||||
OtherLanguages = Download or upload files in other languages
|
||||
OpenDictionariesDir = Open dictionary folder
|
||||
ConfigPath = After changing the configuration and data file save path,\nsome of the enhanced menus that have been enabled will become invalid.\nThey can be re-enabled in the enhanced menu
|
||||
CommandFiles = This command depends on the configuration file. Moving the configuration file location will cause this menu item to become invalid. Re-enable it.
|
||||
CreateGroup = Create a new group
|
||||
|
||||
[Other]
|
||||
Open = &Open
|
||||
Edit = &Edit
|
||||
Explore = E&xplorer
|
||||
Play = P&lay
|
||||
Print = &Print
|
||||
Find = Find(&E)...
|
||||
Runas = Run as &administrator
|
||||
CustomFolder = Customize this &folder...
|
||||
MapNetworkDrive = Map &Network Drive...
|
||||
DisconnectNetworkDrive = Disconnect Network Drive(&C) ...
|
||||
RecycleBinProperties = Properties(&R)
|
||||
RemovableDrive = Removable Disk
|
||||
BuildSendtoMenu = Create "Send to" submenu
|
||||
UseStoreOpenWith = Find apps in Microsoft Store
|
||||
ShareWithSkype = Share using Skype
|
||||
NewItem = Create new menu item
|
||||
AddGuidBlockedItem = Add GUID blocked item
|
||||
CurrentExtension = The currently selected file type is
|
||||
LockNewMenu = Lock the new menu
|
||||
EditSubItems = Edit sub-menu items for "% s"
|
||||
InvalidItem = Invalid menu item:
|
||||
Separator = >>>>>> Separator <<<<<<
|
||||
CurrentExtension = The currently selected file extension is %s
|
||||
CurrentPerceivedType = The currently selected perceived file type is %s
|
||||
CurrentDirectoryType = The currently selected perceived folder type is %s
|
||||
RestartExplorer = Explorer must be restarted for the changes to take effect.
|
||||
DictionaryDescription = Dictionary description
|
||||
LanguageDictionary = Language
|
||||
@@ -291,7 +281,6 @@ GuidInfosDictionary = GUID information
|
||||
ThridRulesDictionary = Third-party rules
|
||||
CommonItemsDictionary = Common Menu
|
||||
Translators = Translators
|
||||
OtherLanguages = Download or upload files in other languages
|
||||
|
||||
DonationList = Donation list
|
||||
ConfigPath = Save location of configuration and data files
|
||||
@@ -306,9 +295,12 @@ ProtectOpenItem = Protect the "Open" menu item
|
||||
WebSearchEngine = Search engine used for web searches
|
||||
CustomEngine = Custom
|
||||
SetCustomEngine = Define search engine (use %s instead of search keywords)
|
||||
WinXSortable = Enable WinX menu sorting function
|
||||
ShowFilePath = Show file path of item in status bar on hover
|
||||
OpenMoreRegedit = Allow the registry editor to open more
|
||||
|
||||
AboutApp = [Main function]\n 1. Manage common location context menu\n 2. Customize and add context menu\n\n[Compatibility]\n 1. Suitable for Win7, 8, 8.1, 10, Vista\n 2. Suitable For x64, x32 CPU operating system\n 3. Adapt to high resolution screens, the best zoom ratio is 150%\n\n[Open source code]\n 1. Code language: C#, Winform program\n 2. GitHub project: https://github.com/BluePointLilac/ContextMenuManager\n 3. Gitee project: https://gitee.com/BluePointLilac/ContextMenuManager\n\n[Contact Author]\n 1. The program is developed by myself, yet I of course also want to thank Meng Yanshe @ Kengchen for answering questions in normal times, since my ability for this is limited.\n There are inevitably some bugs, and everyone is welcome to leave feedback and make suggestions\n 2. Personal B station: https://space.bilibili.com/34492771 (I welcome everyone to follow me!)\n 3. QQ mailbox: 1617859183@qq.com\n\n[Resource Reference]\n 1. The main program icon comes from: https://www.easyicon.net/1208132-mouse_icon.html\n 2. Program button icons are mainly from the Alibaba vector icon library: https://www.iconfont.cn/\n 3. WinX HashLnk (Rafael Rivera): https://github.com/riverar/hashlnk\n\n[Program update]\n 1. The program has a check and update function. In addition to updating the program itself, it also updates the dictionary. After the download is complete, you can directly overwrite the original file.\n 2. Because GitHub Raw is walled and Gitee Raw has a monthly access limit, the program is set to check for updates once a month.\n You can also browse the GitHub Releases column or the Gitee release column to check if there are updates\n\n[Warm Tips]\n 1. Some special menu items may be affected by other factors, they will not be displayed in the context menu.\n However, they will still be displayed as enabled in this program according to the general rules used by the program. This is normal.\n 2. The method of disabling the menu for each context menu management program may be different. It is recommended not to use multiple context menu management programs at the same time.\n Most programs use a simple and violent backup-delete method. This program uses the key values provided by the system to hide operations as much as possible.\n If you have used other programs to disable the menu item before, please use the corresponding program to restore it, otherwise you may not be able to see it in this program.\n 3. This program is not used to clean up programs that have not been uninstalled, but it can help you locate the registry and file locations of the menu items.\n You can perform your operations according to the relevant content. If you are a computer novice, you are recommended to only touch the enable\disable switch.
|
||||
|
||||
Dictionaries = [Dictionary description]\n This program has several dictionary files, and each dictionary has a user dictionary and a network dictionary.\n If you want to add a dictionary to this program, you can right-click to save the file and follow the instructions in the file to add it.\n Send your dictionary to my email or submit it to GitHub to make your contribution to this project.\n The right tab is the original dictionary content, you can switch the tab to view it\n\n[Dictionary content]\n 1. Program display text language dictionary (Languages directory)\n 2. ShellEx menu item GUID text icon dictionary (GuidInfosDic.ini)\n 3. Third-party program menu internal setting dictionary (ThirdRulesDic.xml)\n 4. Enhanced menu items Dictionary (EnhanceMenusDic.xml)
|
||||
|
||||
Donate = This program is completely free. If you find this software helpful, you can donate by scanning the QR code below\n (WeChat, Alipay, Tencent QQ). The amount is up to you. Thank you for your support! \nI also hope you consider starring this program's project on Github or Gitee (this means a lot to me!)
|
||||
Donate = This program is completely free. If you find this software helpful,\nyou can donate by scanning the QR code below (WeChat, Alipay, Tencent QQ).\nThe amount is up to you. Thank you for your support! I also hope you consider \nstarring this program's project on Github or Gitee (this means a lot to me!).
|
||||
@@ -12,6 +12,7 @@ AppName = Windows右ボタン管理
|
||||
Home = ホーム
|
||||
Type = ファイルタイプ
|
||||
Rule = 他のルール
|
||||
Refresh = リフレッシュ
|
||||
About = ヘルプ
|
||||
|
||||
[SideBar]
|
||||
@@ -33,15 +34,8 @@ WinX = Win+X
|
||||
LnkFile = lnkファイル
|
||||
UwpLnk = uwp lnk
|
||||
ExeFile = アプリケーション
|
||||
TextFile = テキストファイル
|
||||
ImageFile = イメージファイル
|
||||
VideoFile = ビデオファイル
|
||||
AudioFile = オーディオファイル
|
||||
ImageDirectory = イメージディレクトリ
|
||||
VideoDirectory = ビデオディレクトリ
|
||||
AudioDirectory = オーディオディレクトリ
|
||||
UnknownType = 不明な形式
|
||||
CustomType = カスタムフォーマット
|
||||
CustomExtension = カスタムフォーマット
|
||||
|
||||
GuidBlocked = GUIDロック
|
||||
ThirdRules = 第三者のルール
|
||||
@@ -111,28 +105,6 @@ InitialData = 初期データ
|
||||
Edit = 編集
|
||||
Save = 保存
|
||||
|
||||
[Item]
|
||||
Open = 開く(&O)
|
||||
Edit = 編集(&E)
|
||||
Explore = エクスプローラー(&X)
|
||||
Play = 再生(&L)
|
||||
Print = 印刷(&P)
|
||||
Find = 検索(&E)...
|
||||
Runas = 管理者として実行(&A)
|
||||
CustomFolder = このフォルダーのカスタマイズ(&F)...
|
||||
MapNetworkDrive = ネットワークドライブの割り当て(&N)...
|
||||
DisconnectNetworkDrive = ネットワークドライブの切断(&C)...
|
||||
RecycleBinProperties = プロパティ(&R)
|
||||
RemovableDrive = リムーバブルディスク
|
||||
BuildSendtoMenu = 「送る」サブメニューを作成
|
||||
UseStoreOpenWith = Microsoft Storeでアプリを探す
|
||||
NewItem = 新しいメニュー項目を作成
|
||||
AddGuidBlockedItem = GUIDロックアイテムを追加
|
||||
CurrentExtension = 現在選択しているファイル形式は
|
||||
EditSubItems = 「%s」のサブメニュー項目を編集
|
||||
InvalidItem = 無効なメニュー項目:
|
||||
Separator = ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
|
||||
|
||||
[Dialog]
|
||||
Ok = 確認
|
||||
Cancel = キャンセル
|
||||
@@ -146,9 +118,16 @@ ItemCommand = 菜アイテムコマンド
|
||||
SingleMenu = シングルメニュー
|
||||
MultiMenu = マルチメニュー
|
||||
InputGuid = ガイドを入力
|
||||
SelectExtension = ファイル拡張子を選択してください
|
||||
TextFile = テキストファイル
|
||||
ImageFile = イメージファイル
|
||||
VideoFile = ビデオファイル
|
||||
AudioFile = オーディオファイル
|
||||
ImageDirectory = イメージディレクトリ
|
||||
VideoDirectory = ビデオディレクトリ
|
||||
AudioDirectory = オーディオディレクトリ
|
||||
CheckReference = 引用を追加したいメニュー項目をチェックしてください
|
||||
CheckCommon = 追加したい一般的なメニュー項目を確認してください
|
||||
SelectExtension = ファイル拡張子を選択してください
|
||||
SelectSubMenuMode = 当現在のマルチレベルメニューのサブ項目数は0です。二つの選択肢がある:\n①このマルチレベルメニューのすべてのサブメニュー項目はプライベートですが、\n②このマルチレベルメニューは、他のマルチレベルメニューと同じサブアイテムを参照できます、\n選択してください。
|
||||
|
||||
[MessageBox]
|
||||
@@ -184,15 +163,35 @@ AddExistingItems = 既存のプロジェクトへの参照を追加
|
||||
AddSeparator = 仕切りを追加
|
||||
Separator = プロジェクトの分割線
|
||||
AddCommonItems =よく使うメニュー項目を追加
|
||||
OtherLanguages = 他の言語でファイルをダウンロードまたはアップロードする
|
||||
|
||||
[Other]
|
||||
Open = 開く(&O)
|
||||
Edit = 編集(&E)
|
||||
Explore = エクスプローラー(&X)
|
||||
Play = 再生(&L)
|
||||
Print = 印刷(&P)
|
||||
Find = 検索(&E)...
|
||||
Runas = 管理者として実行(&A)
|
||||
CustomFolder = このフォルダーのカスタマイズ(&F)...
|
||||
MapNetworkDrive = ネットワークドライブの割り当て(&N)...
|
||||
DisconnectNetworkDrive = ネットワークドライブの切断(&C)...
|
||||
RecycleBinProperties = プロパティ(&R)
|
||||
RemovableDrive = リムーバブルディスク
|
||||
BuildSendtoMenu = 「送る」サブメニューを作成
|
||||
UseStoreOpenWith = Microsoft Storeでアプリを探す
|
||||
NewItem = 新しいメニュー項目を作成
|
||||
AddGuidBlockedItem = GUIDロックアイテムを追加
|
||||
CurrentExtension = 現在選択しているファイル形式は
|
||||
EditSubItems = 「%s」のサブメニュー項目を編集
|
||||
InvalidItem = 無効なメニュー項目:
|
||||
Separator = >>>>>> プロジェクトの分割線 <<<<<<
|
||||
DictionaryDescription = 辞書説明
|
||||
LanguageDictionary = Language
|
||||
GuidInfosDictionary = GUID情報
|
||||
ThridRulesDictionary = 第三者のルール
|
||||
CommonItemsDictionary = 一般メニュー
|
||||
Translators = 翻訳者
|
||||
OtherLanguages = 他の言語でファイルをダウンロードまたはアップロードする
|
||||
RestartExplorer = 現在の一部の操作を有効にするには、ファイルエクスプローラーを再起動する必要があります
|
||||
|
||||
AboutApp =
|
||||
|
||||
@@ -46,6 +46,7 @@ DragDrop = 右键拖拽
|
||||
PublicReferences = 公共引用
|
||||
GuidBlocked = GUID 锁
|
||||
IEMenu = IE 右键
|
||||
|
||||
AppSetting = 程序设置
|
||||
AppLanguage = 程序语言
|
||||
Dictionaries = 程序字典
|
||||
@@ -121,38 +122,6 @@ RestoreDefault = 还原默认
|
||||
Edit = 编辑
|
||||
Save = 保存
|
||||
|
||||
[Item]
|
||||
Open = 打开(&O)
|
||||
Edit = 编辑(&E)
|
||||
Explore = 浏览(&X)
|
||||
ExploreOld = 资源管理器(&X)
|
||||
Play = 播放(&L)
|
||||
Print = 打印(&P)
|
||||
Find = 搜索(&E)...
|
||||
Runas = 以管理员身份运行(&A)
|
||||
CustomFolder = 自定义文件夹(&F)...
|
||||
MapNetworkDrive = 映射网络驱动器(&N)...
|
||||
DisconnectNetworkDrive = 断开网络驱动器的连接(&C)...
|
||||
RecycleBinProperties = 属性(&R)
|
||||
RemovableDrive = 可移动磁盘
|
||||
BuildSendtoMenu = 快速构建发送到子菜单
|
||||
UseStoreOpenWith = 在Microsoft Store中查找应用
|
||||
NewItem = 新建一个菜单项目
|
||||
AddGuidBlockedItem = 添加GUID锁定项目
|
||||
LockNewMenu = 锁定新建菜单
|
||||
EditSubItems = 编辑 "%s" 的子菜单项目
|
||||
InvalidItem = 无效菜单项目:
|
||||
Separator = >>>>>> 分割线 <<<<<<
|
||||
SelectExtension = 请选择一个文件扩展名
|
||||
SelectPerceivedType = 请选择一个文件感知类型
|
||||
SelectDirectoryType = 请选择一个目录感知类型
|
||||
CurrentExtension = 你当前选择的文件扩展名为 %s
|
||||
CurrentPerceivedType = 你当前选择的文件感知类型为 %s
|
||||
CurrentDirectoryType = 你当前选择的目录感知类型为 %s
|
||||
WinXSortable = 启用 WinX 菜单排序功能
|
||||
ShowFilePath = 状态栏实时显示文件路径
|
||||
OpenMoreRegedit = 允许注册表编辑器多开
|
||||
|
||||
[Dialog]
|
||||
Ok = 确认
|
||||
Cancel = 取消
|
||||
@@ -184,6 +153,9 @@ VideoDirectory = 视频目录
|
||||
AudioDirectory = 音频目录
|
||||
CheckReference = 请勾选你想要引用的菜单项目
|
||||
CheckCopy = 请勾选你想要复制的菜单项目
|
||||
SelectExtension = 请选择一个文件扩展名
|
||||
SelectPerceivedType = 请选择一个文件感知类型
|
||||
SelectDirectoryType = 请选择一个目录感知类型
|
||||
SelectGroup = 请选择保存分组
|
||||
SelectNewItemType = 请选择新建菜单类型
|
||||
SelectSubMenuMode = 该多级菜单子项目数为0, 你有两个选择:\n①该多级菜单的所有子菜单项目私有(推荐),\n②该多级菜单可与其他多级菜单引用相同子项,\n请做出你的选择......
|
||||
@@ -234,17 +206,45 @@ LockNewMenu = 启用后可阻止第三方程序增加项目\n且可对现有项
|
||||
CheckUpdate = 程序每月自动检测一次更新 (启动程序时)\n你可手动点击浏览Github、Gitee检查更新
|
||||
LastCheckUpdateTime = 上次自动更新检查时间:
|
||||
OpenLanguagesDir = 打开语言文件夹
|
||||
OtherLanguages = 下载或上传其他语言文件
|
||||
OpenDictionariesDir = 打开字典文件夹
|
||||
ConfigPath = 更改配置和数据文件保存路径后,\n会导致部分已启用增强菜单失效,\n可在增强菜单中重新启用一遍
|
||||
CommandFiles = 此命令依赖配置文件,移动配置文件位置\n会导致此菜单项失效,重新启用一遍即可
|
||||
CreateGroup = 新建一个分组
|
||||
|
||||
[Other]
|
||||
Open = 打开(&O)
|
||||
Edit = 编辑(&E)
|
||||
Explore = 浏览(&X)
|
||||
ExploreOld = 资源管理器(&X)
|
||||
Play = 播放(&L)
|
||||
Print = 打印(&P)
|
||||
Find = 搜索(&E)...
|
||||
Runas = 以管理员身份运行(&A)
|
||||
CustomFolder = 自定义文件夹(&F)...
|
||||
MapNetworkDrive = 映射网络驱动器(&N)...
|
||||
DisconnectNetworkDrive = 断开网络驱动器的连接(&C)...
|
||||
RecycleBinProperties = 属性(&R)
|
||||
RemovableDrive = 可移动磁盘
|
||||
BuildSendtoMenu = 快速构建发送到子菜单
|
||||
UseStoreOpenWith = 在Microsoft Store中查找应用
|
||||
NewItem = 新建一个菜单项目
|
||||
AddGuidBlockedItem = 添加GUID锁定项目
|
||||
LockNewMenu = 锁定新建菜单
|
||||
EditSubItems = 编辑 "%s" 的子菜单项目
|
||||
InvalidItem = 无效菜单项目:
|
||||
Separator = >>>>>> 分割线 <<<<<<
|
||||
CurrentExtension = 你当前选择的文件扩展名为 %s
|
||||
CurrentPerceivedType = 你当前选择的文件感知类型为 %s
|
||||
CurrentDirectoryType = 你当前选择的目录感知类型为 %s
|
||||
WinXSortable = 启用 WinX 菜单排序功能
|
||||
ShowFilePath = 状态栏实时显示文件路径
|
||||
OpenMoreRegedit = 允许注册表编辑器多开
|
||||
RestartExplorer = 当前部分操作需要重启文件资源管理器生效
|
||||
|
||||
DictionaryDescription = 字典说明
|
||||
GuidInfosDictionary = GUID信息
|
||||
Translators = 翻译贡献者
|
||||
OtherLanguages = 下载或上传其他语言文件
|
||||
DonationList = 捐赠名单
|
||||
ConfigPath = 配置和数据文件保存位置
|
||||
AppDataDir = AppData 目录
|
||||
|
||||
Reference in New Issue
Block a user