Skip to content

Commit 792aa7f

Browse files
authored
Merge pull request #116 from Jack251970/fix_null
Enhance ExtractFilePath and improve localization and backup summary
2 parents be56b2c + 0b3de67 commit 792aa7f

3 files changed

Lines changed: 24 additions & 63 deletions

File tree

ContextMenuManager/Methods/ObjectPath.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public static void ClearFilePathDic()
5656
/// <summary>从包含现有文件路径的命令语句中提取文件路径</summary>
5757
/// <param name="command">命令语句</param>
5858
/// <returns>成功提取返回现有文件路径,否则返回值为null</returns>
59-
public static string? ExtractFilePath(string command)
59+
public static string? ExtractFilePath(string? command)
6060
{
6161
if (string.IsNullOrWhiteSpace(command)) return null;
6262
if (FilePathDic.TryGetValue(command, out var value)) return value;

ContextMenuManager/Properties/Resources/Texts/AppLanguageDic.ini

Lines changed: 23 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
;此文件为 ContextMenuManager Windows右键管理程序 的显示文本字典。
22
;可帮助作者为此程序提供翻译并提交到Github,以下内容中等号右侧内容替换为翻译文本。
33
;General - Translator 为翻译贡献者,General - Language 为语言名称,如en-US 美国英语,
4-
;General - TranslatorUrl 为翻译贡献者的URL地址(能用Win+R命令打开的URL链接即可)
4+
;General - TranslatorUrl 为翻译贡献者的URL地址能用Win+R命令打开的URL链接即可
55
;翻译说明:暂时不翻译的值保留为空即可,字典内赋值换行使用\r\n或\n进行转义。
66
;翻译贡献者和为多人时请使用\r\n或\n对 Translator 的值和对应的 TranslatorUrl 值换行,
77
;没有URL地址赋值为null,使贡献者与链接一一对应,如 Translator = Bob \r\n Join \r\n Andi,
@@ -68,7 +68,7 @@ Directory = 所有文件目录的右键菜单
6868
Background = 所有目录背景和桌面背景的右键菜单
6969
Desktop = 桌面背景右键菜单
7070
Drive = 所有磁盘驱动器的右键菜单
71-
AllObjects = 所有文件系统对象(包括文件、文件夹)的右键菜单
71+
AllObjects = 所有文件系统对象包括文件、文件夹的右键菜单
7272
Computer = 此电脑图标的右键菜单
7373
RecycleBin = 回收站图标的右键菜单
7474
Library = 所有库和库目录背景的右键菜单
@@ -181,10 +181,10 @@ SelectGroup = 请选择保存分组
181181
SelectNewItemType = 请选择新建菜单类型
182182
SelectObjectType = 请选择要分析的对象类型
183183
SelectDropEffect = 请选择拖拽文件默认命令
184-
DefaultDropEffect = 默认(同盘移动、异盘复制)
185-
CopyDropEffect = 复制(Ctrl)
186-
MoveDropEffect = 移动(Shift)
187-
CreateLinkDropEffect = 创建快捷方式(Alt)
184+
DefaultDropEffect = 默认同盘移动、异盘复制
185+
CopyDropEffect = 复制Ctrl
186+
MoveDropEffect = 移动Shift
187+
CreateLinkDropEffect = 创建快捷方式Alt
188188
DownloadLanguages = 下载语言文件
189189
TranslateTool = 翻译工具
190190
DefaultText = 默认文本
@@ -214,8 +214,8 @@ TextCannotBeEmpty = 菜单文本不能为空!
214214
CommandCannotBeEmpty = 菜单命令不能为空!
215215
StringParsingFailed = 本地化字符串解析失败!
216216
TextLengthCannotExceed80 = 菜单文本过长,长度不允许超过80!
217-
ConfirmDeletePermanently = 确认是否永久删除此项?\r\n此操作无法还原,请谨慎操作!
218-
DeleteButCanRestore = 确认删除此菜单的注册表项目?\r\n由于启用了自动备份(默认启用),\r\n删除后可在备份文件夹中还原。
217+
ConfirmDeleteBackupPermanently = 确认是否永久删除此项?\r\n此操作无法还原,请谨慎操作!
218+
DeleteButCanRestore = 确认删除此菜单的注册表项目?\r\n由于启用了自动备份默认启用,\r\n删除后可在备份文件夹中还原。
219219
ConfirmDeleteReference = 确认是否移除对该项目的引用?
220220
ConfirmDelete = 确认是否删除该项?
221221
ConfirmDeleteReferenced = 确认是否删除此项?\r\n所有引用此项的项目都会失效,请谨慎操作!
@@ -228,10 +228,10 @@ CannotChangePath = 不允许更改文件路径!
228228
CopiedToClipboard = 已复制到剪切板:
229229
MalformedGuid = 格式不正确的Guid
230230
HasBeenAdded = 此项目已被添加!
231-
SelectSubMenuMode = 该多级菜单子项目数为0,你有两个选择:\r\n①该多级菜单的所有子菜单项目私有(推荐),\r\n②该多级菜单可与其他多级菜单引用相同子项,\r\n请做出你的选择......
231+
SelectSubMenuMode = 该多级菜单子项目数为0,你有两个选择:\r\n①该多级菜单的所有子菜单项目私有(推荐),\r\n②该多级菜单可与其他多级菜单引用相同子项,\r\n请做出你的选择......
232232
EditInitialData = 此程序现仅支持编辑纯文本文件的初始数据,\r\n其他类型文件请自行编辑注册表"Data"键值,\r\n请确认是否继续你的操作?
233-
PromptIsOpenItem = 该项为文件或文件夹的"打开"菜单,\n盲目操作可能会导致无法打开文件或文件夹,\n请确认是否继续你的操作?(不建议)
234-
SelectRegPath = 操作步骤:\r\n① 打开注册表编辑器(自动)\r\n② 导航到目标注册表路径\r\n③ 关闭注册表编辑器窗口\n请确认是否继续?
233+
PromptIsOpenItem = 该项为文件或文件夹的"打开"菜单,\n盲目操作可能会导致无法打开文件或文件夹,\n请确认是否继续你的操作?不建议
234+
SelectRegPath = 操作步骤:\r\n① 打开注册表编辑器(自动)\r\n② 导航到目标注册表路径\r\n③ 关闭注册表编辑器窗口\n请确认是否继续?
235235
RestartApp = 程序将会重新启动!
236236
FileNotExists = 文件不存在!
237237
FolderNotExists = 文件夹不存在!
@@ -259,29 +259,29 @@ RestartExplorer = 重启Explorer会使桌面闪烁片刻,正常现象无需担
259259
CustomFolder = 禁用此项将会同时禁用文件系统\r\n对象属性面板中的自定义选项卡
260260
SendToDrive = 仅当插入可移动磁盘时有作用,\r\n显示该可移动磁盘的所有分区
261261
BuildSendtoMenu = 禁用此项将加快主菜单弹出速度\r\n但会延缓发送到子菜单弹出速度
262-
InvalidItem = 无效菜单项目将导致此项以下的\r\n所有菜单项目不可见(建议删除)
262+
InvalidItem = 无效菜单项目将导致此项以下的\r\n所有菜单项目不可见建议删除
263263
EditSubItems = 编辑子菜单项目
264264
AddReference = 从公共引用项目中添加引用
265265
AddFromPublic = 从公共引用中复制菜单项目
266266
AddFromParentMenu = 从母菜单中复制项目
267267
AddSeparator = 添加分隔线
268268
DeleteGuidDic = 删除用户自行添加的该项的本地Guid字典
269-
LockNewMenu = 启用后可阻止第三方程序增加项目\r\n且可对现有项目排序(关闭后复原)
269+
LockNewMenu = 启用后可阻止第三方程序增加项目\r\n且可对现有项目排序关闭后复原
270270
DropOrSelectObject = 请拖拽或通过按钮选择文件或目录
271271
ConfigPath = 更改配置和数据文件保存路径后,\r\n会导致部分已启用增强菜单失效,\r\n可在增强菜单中重新启用一遍
272272
CommandFiles = 此命令依赖配置文件,移动配置文件位置\r\n会导致此菜单项失效,重新启用一遍即可
273273
CreateGroup = 新建一个分组
274274
ImmediatelyCheck = 立即检查
275275

276276
[About]
277-
Description = 一个纯粹的Windows右键菜单管理器
277+
Description = 一个用于管理Windows右键菜单的工具
278278
CheckUpdate = 检查更新
279279
GitHub = GitHub
280280
Gitee = Gitee
281281
License = 许可证
282282

283283
[Other]
284-
CustomFolder = 自定义文件夹(&F)...
284+
CustomFolder = 自定义文件夹(&F)...
285285
BuildSendtoMenu = 快速构建发送到子菜单
286286
NewItem = 新建一个菜单项目
287287
AddGuidBlockedItem = 添加GUID锁定项目
@@ -320,53 +320,21 @@ SetRequestRepo = 设置网络数据访问存储库站点
320320
ProtectOpenItem = 保护名称为 "打开" 的菜单项目
321321
WebSearchEngine = 设置网页搜索使用的搜索引擎
322322
CustomEngine = 自定义
323-
SetCustomEngine = 设置搜索引擎 (以 %s 代替搜索关键词)
323+
SetCustomEngine = 设置搜索引擎 以 %s 代替搜索关键词
324324
HideDisabledItems = 隐藏已禁用的菜单项目
325325
HideSysStoreItems = 隐藏公共引用中的系统菜单
326326
SetPerceivedType = 设置扩展名为 %s 的文件感知类型为
327327
SetDefaultDropEffect = 设置文件对象默认拖拽命令为
328328
TopMost = 使窗口始终在屏幕最上方
329329

330-
AboutApp = [兼容性能]
331-
1 = 适用于Win11、10、8.1、8、7、Vista
332-
2 = 适用于 64bit、32bit CPU 操作系统
333-
3 = 适配高分屏,最佳缩放比为150%
330+
AboutApp = [兼容性能]\r\n 1 = 适用于Win11、10、8.1、8、7、Vista \r\n 2 = 适用于 64bit、32bit CPU 操作系统\r\n 3 = 适配高分屏,最佳缩放比为150%\r\n\r\n[代码开源]\r\n 1 = 代码语言:C Sharp,Winform 程序,MIT 开源协议\r\n 2 = Github 仓库:https://github.com/Jack251970/ContextMenuManager \r\n 3 = Gitee 仓库:https://gitee.com/Jack251970/ContextMenuManager \r\n\r\n[温馨提示]\r\n 1 = 程序需要对大量的注册表项和文件进行读写删改操作,这些行为比较敏感,\r\n 可能会被Windows Defender等误报为病毒,如发生此情况请自行添加进白名单。\r\n\r\n 2 = 一些特殊菜单项可能会受到其他因素影响导致不会直接显示在右键菜单中,\r\n 但是按照程序使用的通用规则在此程序中仍会显示为启用状态,这是正常的现象。\r\n\r\n 3 = 每个右键管理程序禁用菜单方法可能不同,建议不要同时使用多个右键菜单管理程序,\r\n 大部分程序使用简单暴力的备份-删除法,此程序尽可能使用了系统提供的键值进行隐藏,\r\n 通过其他程序禁用的菜单项目,请先使用对应程序还原,不然可能无法在此程序中看到它。\r\n\r\n 4 = 此程序不用于清理未卸载干净的程序,但可帮助你定位菜单项相关注册表和文件位置,\r\n 你可根据相关内容进行你的操作,如果你是一个电脑小白,建议只碰启用\禁用开关。
334331

335-
[代码开源]
336-
1 = 代码语言:C Sharp,Winform 程序,MIT 开源协议
337-
2 = Github 仓库:https://github.com/Jack251970/ContextMenuManager
338-
3 = Gitee 仓库:https://gitee.com/Jack251970/ContextMenuManager
332+
Dictionaries = [字典说明]\r\n 此程序拥有几个字典文件,每份字典又有用户字典(User目录)和网络字典(Web目录)\r\n 如果想为此程序添加字典可右键保存文件至User目录,并按照文件内说明进行添加\r\n 你可以将你的字典发送到我的邮箱或者提交合并到Github为此项目做出你的贡献\n 右侧选项卡中为原始字典内容,你可以切换选项卡进行查看和右键编辑、保存操作\r\n\r\n[字典内容]\r\n 1 = 程序显示文本语言字典 (Languages目录)\r\n 2 = ShellEx菜单项GUID文本图标字典 (GuidInfosDic.ini)\r\n 3 = 系统和其他程序内部部分菜单详细设置规则字典 (DetailedEditDic.xml)\r\n 4 = 增强菜单项目字典 (EnhanceMenusDic.xml)\r\n 5 = UWP新模块字典 (UWPModeItemsDic.xml)
339333

340-
[温馨提示]
341-
1 = 程序需要对大量的注册表项和文件进行读写删改操作,这些行为比较敏感,
342-
可能会被Windows Defender等误报为病毒,如发生此情况请自行添加进白名单。
343-
344-
2 = 一些特殊菜单项可能会受到其他因素影响导致不会直接显示在右键菜单中,
345-
但是按照程序使用的通用规则在此程序中仍会显示为启用状态,这是正常的现象。
346-
347-
3 = 每个右键管理程序禁用菜单方法可能不同,建议不要同时使用多个右键菜单管理程序,
348-
大部分程序使用简单暴力的备份-删除法,此程序尽可能使用了系统提供的键值进行隐藏,
349-
通过其他程序禁用的菜单项目,请先使用对应程序还原,不然可能无法在此程序中看到它。
350-
351-
4 = 此程序不用于清理未卸载干净的程序,但可帮助你定位菜单项相关注册表和文件位置,
352-
你可根据相关内容进行你的操作,如果你是一个电脑小白,建议只碰启用\禁用开关。
353-
354-
Dictionaries = [字典说明]
355-
此程序拥有几个字典文件,每份字典又有用户字典(User目录)和网络字典(Web目录)
356-
如果想为此程序添加字典可右键保存文件至User目录,并按照文件内说明进行添加
357-
你可以将你的字典发送到我的邮箱或者提交合并到Github为此项目做出你的贡献
358-
右侧选项卡中为原始字典内容,你可以切换选项卡进行查看和右键编辑、保存操作
359-
360-
[字典内容]
361-
1 = 程序显示文本语言字典 (Languages目录)
362-
2 = ShellEx菜单项GUID文本图标字典 (GuidInfosDic.ini)
363-
3 = 系统和其他程序内部部分菜单详细设置规则字典 (DetailedEditDic.xml)
364-
4 = 增强菜单项目字典 (EnhanceMenusDic.xml)
365-
5 = UWP新模块字典 (UWPModeItemsDic.xml)
366-
367-
Donate = 此程序完全免费,如果你觉得这个软件对你有所帮助,你可以通过扫描
368-
下方二维码(微信、支付宝、腾讯QQ)进行捐赠,金额请随意,谢谢支持!
369-
也期待你在Github或者Gitee上为此程序项目点亮Star (这对我很重要!)
334+
Donate = 此程序完全免费,如果你觉得这个软件对你有所帮助,你可以通过扫描\r\n下方二维码(微信、支付宝、腾讯QQ)进行捐赠,金额请随意,谢谢支持!\r\n也期待你在Github或者Gitee上为此程序项目点亮Star (这对我很重要!)
370335

371336
Unknown = 未知
372-
RestoreItemText = 备份(源计算机: %device ;创建于: %time )
337+
RestoreItemText = 备份(源计算机: %device ;创建于: %time )
338+
339+
SearchContent = 搜索...
340+
StatusSearch = 搜索 '%searchText' - 找到 %visibleCount 个结果(共 %totalCount 项)

ContextMenuManager/Views/BackupView.xaml.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,6 @@ public void LoadItems()
6262
BackupEntries.Remove(entry);
6363
BackupEntries.Add(entry);
6464
}
65-
66-
SummaryHintText.Text = BackupEntries.Count == 0
67-
? "No backups found in the current backup store."
68-
: $"Found {BackupEntries.Count} backup file(s) in {AppConfig.MenuBackupRootDir}.";
6965
}
7066

7167
private void LoadLabels()
@@ -282,9 +278,6 @@ private void DeleteBackupButton_OnClick(object sender, RoutedEventArgs e)
282278
{
283279
File.Delete(entry.FilePath);
284280
BackupEntries.Remove(entry);
285-
SummaryHintText.Text = BackupEntries.Count == 0
286-
? "No backups found in the current backup store."
287-
: $"Found {BackupEntries.Count} backup file(s) in {AppConfig.MenuBackupRootDir}.";
288281
}
289282
catch (Exception ex)
290283
{

0 commit comments

Comments
 (0)