diff --git a/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift b/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift index 6506a087..2f1bf9a4 100644 --- a/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift +++ b/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift @@ -45,7 +45,6 @@ public protocol PrefMgrProtocol { var onlyLoadFactoryLangModelsIfNeeded: Bool { get set } var useIMKCandidateWindow: Bool { get set } var handleDefaultCandidateFontsByLangIdentifier: Bool { get set } - var shiftKeyAccommodationBehavior: Int { get set } var maxCandidateLength: Int { get set } var shouldNotFartInLieuOfBeep: Bool { get set } var showHanyuPinyinInCompositionBuffer: Bool { get set } diff --git a/Packages/vChewing_Shared/Sources/Shared/Shared.swift b/Packages/vChewing_Shared/Sources/Shared/Shared.swift index bc52ccb9..f85bd04f 100644 --- a/Packages/vChewing_Shared/Sources/Shared/Shared.swift +++ b/Packages/vChewing_Shared/Sources/Shared/Shared.swift @@ -72,7 +72,6 @@ public enum UserDef: String, CaseIterable { case kUseIMKCandidateWindow = "UseIMKCandidateWindow" case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier" - case kShiftKeyAccommodationBehavior = "ShiftKeyAccommodationBehavior" case kCandidateTextFontName = "CandidateTextFontName" case kCandidateKeys = "CandidateKeys" diff --git a/Source/Modules/PrefMgr_Core.swift b/Source/Modules/PrefMgr_Core.swift index beaed0b1..b1fad7af 100644 --- a/Source/Modules/PrefMgr_Core.swift +++ b/Source/Modules/PrefMgr_Core.swift @@ -169,9 +169,6 @@ public class PrefMgr: PrefMgrProtocol { @AppProperty(key: UserDef.kHandleDefaultCandidateFontsByLangIdentifier.rawValue, defaultValue: false) public var handleDefaultCandidateFontsByLangIdentifier: Bool - @AppProperty(key: UserDef.kShiftKeyAccommodationBehavior.rawValue, defaultValue: 0) - public var shiftKeyAccommodationBehavior: Int - // MARK: - Settings (Tier 3) @AppProperty(key: UserDef.kMaxCandidateLength.rawValue, defaultValue: 10) diff --git a/Source/Modules/PrefMgr_Extension.swift b/Source/Modules/PrefMgr_Extension.swift index f84fef96..ec891d34 100644 --- a/Source/Modules/PrefMgr_Extension.swift +++ b/Source/Modules/PrefMgr_Extension.swift @@ -16,7 +16,6 @@ extension PrefMgr { if #unavailable(macOS 10.15) { useIMKCandidateWindow = true handleDefaultCandidateFontsByLangIdentifier = false - shiftKeyAccommodationBehavior = 0 disableShiftTogglingAlphanumericalMode = true togglingAlphanumericalModeWithLShift = false showReverseLookupInCandidateUI = false @@ -51,8 +50,5 @@ extension PrefMgr { if ![0, 1, 2].contains(upperCaseLetterKeyBehavior) { upperCaseLetterKeyBehavior = 0 } - if ![0, 1, 2].contains(shiftKeyAccommodationBehavior) { - shiftKeyAccommodationBehavior = 0 - } } } diff --git a/Source/Modules/UIModules/PrefUI/VwrPrefPaneDevZone.swift b/Source/Modules/UIModules/PrefUI/VwrPrefPaneDevZone.swift index cf7a3dcb..427a5f39 100644 --- a/Source/Modules/UIModules/PrefUI/VwrPrefPaneDevZone.swift +++ b/Source/Modules/UIModules/PrefUI/VwrPrefPaneDevZone.swift @@ -17,8 +17,6 @@ struct VwrPrefPaneDevZone: View { forKey: UserDef.kUseIMKCandidateWindow.rawValue) @State private var selHandleDefaultCandidateFontsByLangIdentifier: Bool = UserDefaults.standard.bool( forKey: UserDef.kHandleDefaultCandidateFontsByLangIdentifier.rawValue) - @State private var selShiftKeyAccommodationBehavior: Int = UserDefaults.standard.integer( - forKey: UserDef.kShiftKeyAccommodationBehavior.rawValue) @State private var selPhraseReplacementEnabled: Bool = UserDefaults.standard.bool( forKey: UserDef.kPhraseReplacementEnabled.rawValue ) @@ -82,24 +80,6 @@ struct VwrPrefPaneDevZone: View { ) ) .preferenceDescription().fixedSize(horizontal: false, vertical: true) - Picker( - "", - selection: $selShiftKeyAccommodationBehavior.onChange { - PrefMgr.shared.shiftKeyAccommodationBehavior = selShiftKeyAccommodationBehavior - } - ) { - Text(LocalizedStringKey("Disable Shift key accomodation in all cases")).tag(0) - Text(LocalizedStringKey("Only use this with known Chromium-based browsers")).tag(1) - Text(LocalizedStringKey("Use Shift key accommodation in all cases")).tag(2) - } - .labelsHidden() - .pickerStyle(RadioGroupPickerStyle()) - Text( - LocalizedStringKey( - "Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." - ) - ) - .preferenceDescription().fixedSize(horizontal: false, vertical: true) HStack { Toggle( LocalizedStringKey("Enable phrase replacement table"), diff --git a/Source/Resources/Base.lproj/Localizable.strings b/Source/Resources/Base.lproj/Localizable.strings index 00c88f78..5e3eb966 100644 --- a/Source/Resources/Base.lproj/Localizable.strings +++ b/Source/Resources/Base.lproj/Localizable.strings @@ -214,7 +214,6 @@ "Directly commit lowercased letters" = "Directly commit lowercased letters"; "Directly commit uppercased letters" = "Directly commit uppercased letters"; "Disable forced conversion for cassette outputs" = "Disable forced conversion for cassette outputs"; -"Disable Shift key accomodation in all cases" = "Disable Shift key accomodation in all cases"; "Disassemble the previous reading, dropping its intonation" = "Disassemble the previous reading, dropping its intonation"; "Disassembling process does not work with non-phonetic reading keys." = "Disassembling process does not work with non-phonetic reading keys."; "Edit…" = "Edit…"; @@ -255,7 +254,6 @@ "Only enforce conversion in Traditional Chinese mode" = "Only enforce conversion in Traditional Chinese mode"; "Only load factory language models if needed" = "Only load factory language models if needed"; "Only override the intonation of the previous reading if different" = "Only override the intonation of the previous reading if different"; -"Only use this with known Chromium-based browsers" = "Only use this with known Chromium-based browsers"; "Output Settings:" = "Output Settings:"; "Override the previous reading's intonation with candidate-reset" = "Override the previous reading's intonation with candidate-reset"; "Path invalid or file access error." = "Path invalid or file access error."; @@ -276,7 +274,6 @@ "Show notifications when toggling Caps Lock" = "Show notifications when toggling Caps Lock"; "Show translated strokes in composition buffer" = "Show translated strokes in composition buffer"; "Simplified Chinese" = "Simplified Chinese"; -"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work."; "Space to +cycle candidates, Shift+Space to +cycle pages" = "Space to +cycle candidates, Shift+Space to +cycle pages"; "Space to +cycle pages, Shift+Space to +cycle candidates" = "Space to +cycle pages, Shift+Space to +cycle candidates"; "Specify the behavior of intonation key when syllable composer is empty." = "Specify the behavior of intonation key when syllable composer is empty."; @@ -295,7 +292,7 @@ "Use .langIdentifier to handle UI fonts in candidate window" = "Use .langIdentifier to handle UI fonts in candidate window"; "Use ESC key to clear the entire input buffer" = "Use ESC key to clear the entire input buffer"; "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)" = "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)"; -"Use Shift key accommodation in all cases" = "Use Shift key accommodation in all cases"; + "Vertical" = "Vertical"; "Warning: This page is for testing future features. \nFeatures listed here may not work as expected." = "Warning: This page is for testing future features. \nFeatures listed here may not work as expected."; "Yale Pinyin with Numeral Intonation" = "Yale Pinyin with Numeral Intonation"; diff --git a/Source/Resources/en.lproj/Localizable.strings b/Source/Resources/en.lproj/Localizable.strings index 00c88f78..5e3eb966 100644 --- a/Source/Resources/en.lproj/Localizable.strings +++ b/Source/Resources/en.lproj/Localizable.strings @@ -214,7 +214,6 @@ "Directly commit lowercased letters" = "Directly commit lowercased letters"; "Directly commit uppercased letters" = "Directly commit uppercased letters"; "Disable forced conversion for cassette outputs" = "Disable forced conversion for cassette outputs"; -"Disable Shift key accomodation in all cases" = "Disable Shift key accomodation in all cases"; "Disassemble the previous reading, dropping its intonation" = "Disassemble the previous reading, dropping its intonation"; "Disassembling process does not work with non-phonetic reading keys." = "Disassembling process does not work with non-phonetic reading keys."; "Edit…" = "Edit…"; @@ -255,7 +254,6 @@ "Only enforce conversion in Traditional Chinese mode" = "Only enforce conversion in Traditional Chinese mode"; "Only load factory language models if needed" = "Only load factory language models if needed"; "Only override the intonation of the previous reading if different" = "Only override the intonation of the previous reading if different"; -"Only use this with known Chromium-based browsers" = "Only use this with known Chromium-based browsers"; "Output Settings:" = "Output Settings:"; "Override the previous reading's intonation with candidate-reset" = "Override the previous reading's intonation with candidate-reset"; "Path invalid or file access error." = "Path invalid or file access error."; @@ -276,7 +274,6 @@ "Show notifications when toggling Caps Lock" = "Show notifications when toggling Caps Lock"; "Show translated strokes in composition buffer" = "Show translated strokes in composition buffer"; "Simplified Chinese" = "Simplified Chinese"; -"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work."; "Space to +cycle candidates, Shift+Space to +cycle pages" = "Space to +cycle candidates, Shift+Space to +cycle pages"; "Space to +cycle pages, Shift+Space to +cycle candidates" = "Space to +cycle pages, Shift+Space to +cycle candidates"; "Specify the behavior of intonation key when syllable composer is empty." = "Specify the behavior of intonation key when syllable composer is empty."; @@ -295,7 +292,7 @@ "Use .langIdentifier to handle UI fonts in candidate window" = "Use .langIdentifier to handle UI fonts in candidate window"; "Use ESC key to clear the entire input buffer" = "Use ESC key to clear the entire input buffer"; "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)" = "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)"; -"Use Shift key accommodation in all cases" = "Use Shift key accommodation in all cases"; + "Vertical" = "Vertical"; "Warning: This page is for testing future features. \nFeatures listed here may not work as expected." = "Warning: This page is for testing future features. \nFeatures listed here may not work as expected."; "Yale Pinyin with Numeral Intonation" = "Yale Pinyin with Numeral Intonation"; diff --git a/Source/Resources/ja.lproj/Localizable.strings b/Source/Resources/ja.lproj/Localizable.strings index 80755cd0..e98cba36 100644 --- a/Source/Resources/ja.lproj/Localizable.strings +++ b/Source/Resources/ja.lproj/Localizable.strings @@ -214,7 +214,6 @@ "Directly commit lowercased letters" = "ローマ字(小文字)を直接出力"; "Directly commit uppercased letters" = "ローマ字(大文字)を直接出力"; "Disable forced conversion for cassette outputs" = "カセットモードによる漢字出力の簡繁転換を行わずにする"; -"Disable Shift key accomodation in all cases" = "いずれの客体アプリにも Shift キーの互換性措置を禁ず"; "Disassemble the previous reading, dropping its intonation" = "カーソルの後部の音読みを解き、その音調を除く"; "Disassembling process does not work with non-phonetic reading keys." = "実の意味の音読みだけを解くことができる。"; "Edit…" = "編集…"; @@ -255,7 +254,6 @@ "Only enforce conversion in Traditional Chinese mode" = "繁体モードだけの場合、カセットモードの漢字出力転換を"; "Only load factory language models if needed" = "必要性を判断してから内蔵辞書を読み込む"; "Only override the intonation of the previous reading if different" = "カーソルの後部の音読みの異なる音調だけを上書きする"; -"Only use this with known Chromium-based browsers" = "有名なる Chromium 系ブラウザーだけに、この装置を起用"; "Output Settings:" = "出力設定:"; "Override the previous reading's intonation with candidate-reset" = "カーソルの後部の音読みの音調を上書きし、候補選択状態を戻す"; "Path invalid or file access error." = "ファイルアクセス失敗、或いはご指定したファイル位置情報は使えぬ。"; @@ -276,7 +274,6 @@ "Show notifications when toggling Caps Lock" = "Caps Lock で切り替えの時に吹出通知メッセージを"; "Show translated strokes in composition buffer" = "原始キーネームでなく、筆画を入力緩衝列で表示する"; "Simplified Chinese" = "簡体中国語"; -"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "いくつかのアプリ(例えば MS Edge や Google Chrome などのような Chromium 系ブラウザー)には「Shift キーの入力イベントを複数化してしまう」という支障があり、そしてアプリそれぞれの開発元に修復される可能性はほぼゼロだと言える。威注音入力アプリは対策用の特殊措置を普段に起用している。ご自分の必要によって設定してください。"; "Space to +cycle candidates, Shift+Space to +cycle pages" = "Shift+Space で次のページ、Space で次の候補文字を"; "Space to +cycle pages, Shift+Space to +cycle candidates" = "Space で次のページ、Shift+Space で次の候補文字を"; "Specify the behavior of intonation key when syllable composer is empty." = "音読組立緩衝列が空かされた時の音調キーの行為をご指定ください。"; @@ -295,7 +292,7 @@ "Use .langIdentifier to handle UI fonts in candidate window" = "「.langIdentifier」を使って候補陳列ウィンドウのフォントを取り扱う"; "Use ESC key to clear the entire input buffer" = "ESC キーで入力緩衝列を消す"; "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)" = "IMK 候補陳列ウィンドウを起用(入力アプリは自動的に再起動)"; -"Use Shift key accommodation in all cases" = "いずれの客体アプリにも Shift キーの互換性措置を起用"; + "Vertical" = "縦型陳列"; "Warning: This page is for testing future features. \nFeatures listed here may not work as expected." = "警告:これからの新機能テストのために作ったページですから、\nここで陳列されている諸機能は予想通り動けるだと思わないでください。"; "Yale Pinyin with Numeral Intonation" = "イェール弁音 (ローマ字+数字音調)"; diff --git a/Source/Resources/zh-Hans.lproj/Localizable.strings b/Source/Resources/zh-Hans.lproj/Localizable.strings index 6a115c30..56b17413 100644 --- a/Source/Resources/zh-Hans.lproj/Localizable.strings +++ b/Source/Resources/zh-Hans.lproj/Localizable.strings @@ -214,7 +214,6 @@ "Directly commit lowercased letters" = "直接递交小写字母"; "Directly commit uppercased letters" = "直接递交大写字母"; "Disable forced conversion for cassette outputs" = "对磁带模式禁用繁简转换"; -"Disable Shift key accomodation in all cases" = "对任何客体应用均停用 Shift 键相容性措施"; "Disassemble the previous reading, dropping its intonation" = "析构游标正后方的字音,且剔除其声调"; "Disassembling process does not work with non-phonetic reading keys." = "析构行为仅针对组字器内「身为汉字读音」的读音索引单元有效。"; "Edit…" = "编辑…"; @@ -255,7 +254,6 @@ "Only enforce conversion in Traditional Chinese mode" = "仅在繁体模式转换至繁体"; "Only load factory language models if needed" = "按需载入简繁体模式的原厂辞典资料"; "Only override the intonation of the previous reading if different" = "仅在键入的声调与游标正后方的字音不同时,尝试覆写"; -"Only use this with known Chromium-based browsers" = "仅针对知名的 Chromium 核心的浏览器启用该措施"; "Output Settings:" = "输出设定:"; "Override the previous reading's intonation with candidate-reset" = "尝试对游标正后方的字音覆写声调,且重设其选字状态"; "Path invalid or file access error." = "档案存取失败,或者路径不合规。"; @@ -276,7 +274,6 @@ "Show notifications when toggling Caps Lock" = "以 Caps Lock 切换输入法/中英模式时显示通知"; "Show translated strokes in composition buffer" = "在组字区内显示字根、而非原始键盘码"; "Simplified Chinese" = "简体中文"; -"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "某些应用(比如像是 MS Edge 或者 Chrome 这样的 Chromium 核心的浏览器)可能会使输入的 Shift 按键讯号被重复输入,且其有关研发方很可能不打算修复这些产品缺陷。威注音针对这些应用预设启用了相容措施。请在此根据您的需求自订。"; "Space to +cycle candidates, Shift+Space to +cycle pages" = "Shift+空格键 换下一页,空格键 换选下一个候选字"; "Space to +cycle pages, Shift+Space to +cycle candidates" = "空格键 换下一页,Shift+空格键 换选下一个候选字"; "Specify the behavior of intonation key when syllable composer is empty." = "指定声调键(在注拼槽为「空」状态时)的行为。"; @@ -295,7 +292,7 @@ "Use .langIdentifier to handle UI fonts in candidate window" = "使用 .langIdentifier 来管理选字窗的预设介面字型"; "Use ESC key to clear the entire input buffer" = "敲 ESC 键以清空整个组字缓冲区"; "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)" = "启用与 macOS 内建输入法相同的 IMK 选字窗(会自动重启输入法)"; -"Use Shift key accommodation in all cases" = "对任何客体应用均启用 Shift 键相容性措施"; + "Vertical" = "纵向布局"; "Warning: This page is for testing future features. \nFeatures listed here may not work as expected." = "警告:该页面仅作未来功能测试所用。\n在此列出的功能并非处于完全可用之状态。"; "Yale Pinyin with Numeral Intonation" = "耶鲁拼音+数字标调"; diff --git a/Source/Resources/zh-Hant.lproj/Localizable.strings b/Source/Resources/zh-Hant.lproj/Localizable.strings index c76fecdd..fbf6afb1 100644 --- a/Source/Resources/zh-Hant.lproj/Localizable.strings +++ b/Source/Resources/zh-Hant.lproj/Localizable.strings @@ -214,7 +214,6 @@ "Directly commit lowercased letters" = "直接遞交小寫字母"; "Directly commit uppercased letters" = "直接遞交大寫字母"; "Disable forced conversion for cassette outputs" = "對磁帶模式禁用繁簡轉換"; -"Disable Shift key accomodation in all cases" = "對任何客體應用均停用 Shift 鍵相容性措施"; "Disassemble the previous reading, dropping its intonation" = "析構游標正後方的字音,且剔除其聲調"; "Disassembling process does not work with non-phonetic reading keys." = "析構行為僅針對組字器內「身為漢字讀音」的讀音索引單元有效。"; "Edit…" = "編輯…"; @@ -255,7 +254,6 @@ "Only enforce conversion in Traditional Chinese mode" = "僅在繁體模式轉換至繁體"; "Only load factory language models if needed" = "按需載入簡繁體模式的原廠辭典資料"; "Only override the intonation of the previous reading if different" = "僅在鍵入的聲調與游標正後方的字音不同時,嘗試覆寫"; -"Only use this with known Chromium-based browsers" = "僅針對知名的 Chromium 核心的瀏覽器啟用該措施"; "Output Settings:" = "輸出設定:"; "Override the previous reading's intonation with candidate-reset" = "嘗試對游標正後方的字音覆寫聲調,且重設其選字狀態"; "Path invalid or file access error." = "檔案存取失敗,或者路徑不合規。"; @@ -276,7 +274,6 @@ "Show notifications when toggling Caps Lock" = "以 Caps Lock 切換輸入法/中英模式時顯示通知"; "Show translated strokes in composition buffer" = "在組字區內顯示字根、而非原始鍵盤碼"; "Simplified Chinese" = "簡體中文"; -"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "某些應用(比如像是 MS Edge 或者 Chrome 這樣的 Chromium 核心的瀏覽器)可能會使輸入的 Shift 按鍵訊號被重複輸入,且其有關研發方很可能不打算修復這些產品缺陷。威注音針對這些應用預設啟用了相容措施。請在此根據您的需求自訂。"; "Space to +cycle candidates, Shift+Space to +cycle pages" = "Shift+空格鍵 換下一頁,空格鍵 換選下一個候選字"; "Space to +cycle pages, Shift+Space to +cycle candidates" = "空格鍵 換下一頁,Shift+空格鍵 換選下一個候選字"; "Specify the behavior of intonation key when syllable composer is empty." = "指定聲調鍵(在注拼槽為「空」狀態時)的行為。"; @@ -295,7 +292,7 @@ "Use .langIdentifier to handle UI fonts in candidate window" = "使用 .langIdentifier 來管理選字窗的預設介面字型"; "Use ESC key to clear the entire input buffer" = "敲 ESC 鍵以清空整個組字緩衝區"; "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)" = "啟用與 macOS 內建輸入法相同的 IMK 選字窗(會自動重啟輸入法)"; -"Use Shift key accommodation in all cases" = "對任何客體應用均啟用 Shift 鍵相容性措施"; + "Vertical" = "縱向佈局"; "Warning: This page is for testing future features. \nFeatures listed here may not work as expected." = "警告:該頁面僅作未來功能測試所用。\n在此列出的功能並非處於完全可用之狀態。"; "Yale Pinyin with Numeral Intonation" = "耶魯拼音+數字標調";