diff --git a/Packages/vChewing_Shared/Sources/Shared/Protocols/IMEStateProtocol.swift b/Packages/vChewing_Shared/Sources/Shared/Protocols/IMEStateProtocol.swift index 497df872..ba4ed5dd 100644 --- a/Packages/vChewing_Shared/Sources/Shared/Protocols/IMEStateProtocol.swift +++ b/Packages/vChewing_Shared/Sources/Shared/Protocols/IMEStateProtocol.swift @@ -11,7 +11,7 @@ import Cocoa // 所有 IMEState 均遵守該協定: public protocol IMEStateProtocol { var type: StateType { get } - var data: IMEStateDataProtocol { get } + var data: IMEStateDataProtocol { get set } var isASCIIMode: Bool { get set } var isVerticalTyping: Bool { get set } var isVerticalCandidateWindow: Bool { get set } diff --git a/Source/Modules/InputHandler_HandleInput.swift b/Source/Modules/InputHandler_HandleInput.swift index e043ea5d..db236c5d 100644 --- a/Source/Modules/InputHandler_HandleInput.swift +++ b/Source/Modules/InputHandler_HandleInput.swift @@ -207,6 +207,17 @@ extension InputHandler { delegate.callError("17446655") } return true + } else { + let errorMessage = + NSLocalizedString( + "Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key.", + comment: "" + ) + vCLog("8EB3FB1A: " + errorMessage) + delegate.switchState(IMEState.ofEmpty()) + let isJIS: Bool = input.keyCode == KeyCode.kSymbolMenuPhysicalKeyJIS.rawValue + delegate.switchState(IMEState.ofCommitting(textToCommit: isJIS ? "_" : "`")) + return true } } else { // 得在這裡先 commit buffer,不然會導致「在摁 ESC 離開符號選單時會重複輸入上一次的組字區的內容」的不當行為。 diff --git a/Source/Resources/Base.lproj/Localizable.strings b/Source/Resources/Base.lproj/Localizable.strings index d185c4fa..d89e6be6 100644 --- a/Source/Resources/Base.lproj/Localizable.strings +++ b/Source/Resources/Base.lproj/Localizable.strings @@ -1,4 +1,5 @@ "vChewing" = "vChewing"; +"Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key." = "Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key."; "Wildcard key cannot be the initial key." = "Wildcard key cannot be the initial key."; "CIN Cassette Mode" = "CIN Cassette Mode"; "Invalid Selection Keys." = "Invalid Selection Keys."; diff --git a/Source/Resources/en.lproj/Localizable.strings b/Source/Resources/en.lproj/Localizable.strings index d185c4fa..d89e6be6 100644 --- a/Source/Resources/en.lproj/Localizable.strings +++ b/Source/Resources/en.lproj/Localizable.strings @@ -1,4 +1,5 @@ "vChewing" = "vChewing"; +"Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key." = "Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key."; "Wildcard key cannot be the initial key." = "Wildcard key cannot be the initial key."; "CIN Cassette Mode" = "CIN Cassette Mode"; "Invalid Selection Keys." = "Invalid Selection Keys."; diff --git a/Source/Resources/ja.lproj/Localizable.strings b/Source/Resources/ja.lproj/Localizable.strings index 82a71b21..321fa9e3 100644 --- a/Source/Resources/ja.lproj/Localizable.strings +++ b/Source/Resources/ja.lproj/Localizable.strings @@ -1,4 +1,5 @@ "vChewing" = "威注音入力アプリ"; +"Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key." = "このメニューのお用いには、ご自分でユーザー辞書で\n「_punctuation_list」キーの符号記録のご補充が必要でござる。"; "Wildcard key cannot be the initial key." = "骨牌キーは最初のキーとしてはならぬ。"; "CIN Cassette Mode" = "CIN カセットモード"; "Invalid Selection Keys." = "候補用キーによる不具合。"; diff --git a/Source/Resources/zh-Hans.lproj/Localizable.strings b/Source/Resources/zh-Hans.lproj/Localizable.strings index fba927d0..f6f4f45c 100644 --- a/Source/Resources/zh-Hans.lproj/Localizable.strings +++ b/Source/Resources/zh-Hans.lproj/Localizable.strings @@ -1,4 +1,5 @@ "vChewing" = "威注音输入法"; +"Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key." = "请自行以「_punctuation_list」索引键\n在使用者自订语汇档案内扩充该符号选单的内容。";"Wildcard key cannot be the initial key." = "花牌键不得作为起始码。"; "Wildcard key cannot be the initial key." = "花牌键不得作为起始码。"; "CIN Cassette Mode" = "CIN 磁带模式"; "Invalid Selection Keys." = "选字键参数资料值不规范。"; diff --git a/Source/Resources/zh-Hant.lproj/Localizable.strings b/Source/Resources/zh-Hant.lproj/Localizable.strings index 30c90dea..3710c013 100644 --- a/Source/Resources/zh-Hant.lproj/Localizable.strings +++ b/Source/Resources/zh-Hant.lproj/Localizable.strings @@ -1,4 +1,5 @@ "vChewing" = "威注音輸入法"; +"Please manually implement the symbols of this menu \nin the user phrase file with “_punctuation_list” key." = "請自行以「_punctuation_list」索引鍵\n在使用者自訂語彙檔案內擴充該符號選單的內容。"; "Wildcard key cannot be the initial key." = "花牌鍵不得作為起始碼。"; "CIN Cassette Mode" = "CIN 磁帶模式"; "Invalid Selection Keys." = "選字鍵參數資料值不規範。";