diff --git a/Source/Modules/ControllerModules/ctlInputMethod_Menu.swift b/Source/Modules/ControllerModules/ctlInputMethod_Menu.swift index c6fabfe7..130ab447 100644 --- a/Source/Modules/ControllerModules/ctlInputMethod_Menu.swift +++ b/Source/Modules/ControllerModules/ctlInputMethod_Menu.swift @@ -169,6 +169,10 @@ extension ctlInputMethod { withTitle: NSLocalizedString("About vChewing…", comment: ""), action: #selector(showAbout(_:)), keyEquivalent: "" ) + menu.addItem( + withTitle: NSLocalizedString("CheatSheet", comment: "") + "…", + action: #selector(showCheatSheet(_:)), keyEquivalent: "" + ) if optionKeyPressed { menu.addItem( withTitle: NSLocalizedString("Uninstall vChewing…", comment: ""), @@ -199,7 +203,12 @@ extension ctlInputMethod { NSApp.activate(ignoringOtherApps: true) } - @objc func toggleSCPCTypingMode(_: Any?) { + @objc func showCheatSheet(_: Any?) { + guard let url = Bundle.main.url(forResource: "shortcuts", withExtension: "html") else { return } + NSWorkspace.shared.openFile(url.path, withApplication: "Safari") + } + + @objc func toggleSCPCTypingMode(_: Any? = nil) { resetKeyHandler() NotifierController.notify( message: String( diff --git a/Source/Resources/Base.lproj/Localizable.strings b/Source/Resources/Base.lproj/Localizable.strings index cc973995..f9e3112b 100644 --- a/Source/Resources/Base.lproj/Localizable.strings +++ b/Source/Resources/Base.lproj/Localizable.strings @@ -2,6 +2,7 @@ "vChewing crashed while handling previously loaded UOM observation data. These data files are cleaned now to ensure the usability." = "vChewing crashed while handling previously loaded UOM observation data. These data files are cleaned now to ensure the usability."; "About vChewing…" = "About vChewing…"; "vChewing Preferences…" = "vChewing Preferences…"; +"CheatSheet" = "CheatSheet"; "Uninstallation" = "Uninstallation"; "Uninstall vChewing…" = "Uninstall vChewing…"; "This will remove vChewing Input Method from this user account, requiring your confirmation." = "This will remove vChewing Input Method from this user account, requiring your confirmation."; diff --git a/Source/Resources/en.lproj/Localizable.strings b/Source/Resources/en.lproj/Localizable.strings index cc973995..f9e3112b 100644 --- a/Source/Resources/en.lproj/Localizable.strings +++ b/Source/Resources/en.lproj/Localizable.strings @@ -2,6 +2,7 @@ "vChewing crashed while handling previously loaded UOM observation data. These data files are cleaned now to ensure the usability." = "vChewing crashed while handling previously loaded UOM observation data. These data files are cleaned now to ensure the usability."; "About vChewing…" = "About vChewing…"; "vChewing Preferences…" = "vChewing Preferences…"; +"CheatSheet" = "CheatSheet"; "Uninstallation" = "Uninstallation"; "Uninstall vChewing…" = "Uninstall vChewing…"; "This will remove vChewing Input Method from this user account, requiring your confirmation." = "This will remove vChewing Input Method from this user account, requiring your confirmation."; diff --git a/Source/Resources/ja.lproj/Localizable.strings b/Source/Resources/ja.lproj/Localizable.strings index feb2120a..e657814a 100644 --- a/Source/Resources/ja.lproj/Localizable.strings +++ b/Source/Resources/ja.lproj/Localizable.strings @@ -3,6 +3,7 @@ "About vChewing…" = "威注音について…"; "vChewing Preferences…" = "入力機能設定…"; "Uninstallation" = "入力アプリの卸除(おろしのぞき)"; +"CheatSheet" = "キー取扱説明"; "Uninstall vChewing…" = "入力アプリを卸除く…"; "This will remove vChewing Input Method from this user account, requiring your confirmation." = "これにて威注音入力アプリをこのアカウントから卸除しますが、宜しいですか。"; "Check Later" = "後でやる"; diff --git a/Source/Resources/zh-Hans.lproj/Localizable.strings b/Source/Resources/zh-Hans.lproj/Localizable.strings index be202492..b5169091 100644 --- a/Source/Resources/zh-Hans.lproj/Localizable.strings +++ b/Source/Resources/zh-Hans.lproj/Localizable.strings @@ -2,6 +2,7 @@ "vChewing crashed while handling previously loaded UOM observation data. These data files are cleaned now to ensure the usability." = "威注音输入法的使用者半衰记忆模组在观测时崩溃,相关半衰记忆资料档案内容已全部清空。"; "About vChewing…" = "关于威注音…"; "vChewing Preferences…" = "威注音偏好设定…"; +"CheatSheet" = "热键指南"; "Uninstallation" = "卸除输入法"; "Uninstall vChewing…" = "卸除威注音…"; "This will remove vChewing Input Method from this user account, requiring your confirmation." = "此举会将威注音自当前系统使用者帐户卸除。请确认。"; diff --git a/Source/Resources/zh-Hant.lproj/Localizable.strings b/Source/Resources/zh-Hant.lproj/Localizable.strings index e7db5705..d0c5c1ac 100644 --- a/Source/Resources/zh-Hant.lproj/Localizable.strings +++ b/Source/Resources/zh-Hant.lproj/Localizable.strings @@ -2,6 +2,7 @@ "vChewing crashed while handling previously loaded UOM observation data. These data files are cleaned now to ensure the usability." = "威注音輸入法的使用者半衰記憶模組在觀測時崩潰,相關半衰記憶資料檔案內容已全部清空。"; "About vChewing…" = "關於威注音…"; "vChewing Preferences…" = "威注音偏好設定…"; +"CheatSheet" = "熱鍵指南"; "Uninstallation" = "卸除輸入法"; "Uninstall vChewing…" = "卸除威注音…"; "This will remove vChewing Input Method from this user account, requiring your confirmation." = "此舉會將威注音自當前系統使用者帳戶卸除。請確認。";