From c2ea8f254db481d58df8c042481535b48f4437ff Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sat, 11 Mar 2023 13:00:13 +0800 Subject: [PATCH] Prefs // Extend upperCaseLetterKeyBehavior(). --- Source/Modules/PrefMgr_Extension.swift | 2 +- .../PrefUI/VwrPrefPaneBehavior.swift | 6 +- .../Resources/Base.lproj/Localizable.strings | 6 +- Source/Resources/en.lproj/Localizable.strings | 6 +- Source/Resources/ja.lproj/Localizable.strings | 6 +- .../zh-Hans.lproj/Localizable.strings | 6 +- .../zh-Hant.lproj/Localizable.strings | 6 +- .../WindowNIBs/Base.lproj/frmPrefWindow.xib | 58 +++++++++++-------- .../WindowNIBs/en.lproj/frmPrefWindow.strings | 6 +- .../WindowNIBs/ja.lproj/frmPrefWindow.strings | 6 +- .../zh-Hans.lproj/frmPrefWindow.strings | 6 +- .../zh-Hant.lproj/frmPrefWindow.strings | 6 +- 12 files changed, 74 insertions(+), 46 deletions(-) diff --git a/Source/Modules/PrefMgr_Extension.swift b/Source/Modules/PrefMgr_Extension.swift index 0afa9b20..de887bdf 100644 --- a/Source/Modules/PrefMgr_Extension.swift +++ b/Source/Modules/PrefMgr_Extension.swift @@ -60,7 +60,7 @@ public extension PrefMgr { if ![0, 1, 2].contains(specifyShiftBackSpaceKeyBehavior) { specifyShiftBackSpaceKeyBehavior = 0 } - if ![0, 1, 2].contains(upperCaseLetterKeyBehavior) { + if ![0, 1, 2, 3, 4].contains(upperCaseLetterKeyBehavior) { upperCaseLetterKeyBehavior = 0 } } diff --git a/Source/Modules/UIModules/PrefUI/VwrPrefPaneBehavior.swift b/Source/Modules/UIModules/PrefUI/VwrPrefPaneBehavior.swift index 8e699479..b892925d 100644 --- a/Source/Modules/UIModules/PrefUI/VwrPrefPaneBehavior.swift +++ b/Source/Modules/UIModules/PrefUI/VwrPrefPaneBehavior.swift @@ -155,8 +155,10 @@ struct VwrPrefPaneBehavior: View { selection: $upperCaseLetterKeyBehavior ) { Text(LocalizedStringKey("Type them into inline composition buffer")).tag(0) - Text(LocalizedStringKey("Directly commit lowercased letters")).tag(1) - Text(LocalizedStringKey("Directly commit uppercased letters")).tag(2) + Text(LocalizedStringKey("Always directly commit lowercased letters")).tag(1) + Text(LocalizedStringKey("Always directly commit uppercased letters")).tag(2) + Text(LocalizedStringKey("Directly commit lowercased letters only if the compositor is empty")).tag(3) + Text(LocalizedStringKey("Directly commit uppercased letters only if the compositor is empty")).tag(4) } .labelsHidden() .pickerStyle(RadioGroupPickerStyle()) diff --git a/Source/Resources/Base.lproj/Localizable.strings b/Source/Resources/Base.lproj/Localizable.strings index e29d48cb..75329903 100644 --- a/Source/Resources/Base.lproj/Localizable.strings +++ b/Source/Resources/Base.lproj/Localizable.strings @@ -193,6 +193,8 @@ "Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection"; "Alphanumerical Layout:" = "Alphanumerical Layout:"; "Also use “\\” or “¥” key for Hanin Keyboard Symbol Input" = "Also use “\\” or “¥” key for Hanin Keyboard Symbol Input"; +"Always directly commit lowercased letters" = "Always directly commit lowercased letters"; +"Always directly commit uppercased letters" = "Always directly commit uppercased letters"; "Always drop the previous reading" = "Always drop the previous reading"; "Always show tooltip texts horizontally" = "Always show tooltip texts horizontally"; "Always type intonations to the inline composition buffer" = "Always type intonations to the inline composition buffer"; @@ -238,8 +240,8 @@ "Debug Mode" = "Debug Mode"; "DevZone" = "DevZone"; "Dictionary" = "Dictionary"; -"Directly commit lowercased letters" = "Directly commit lowercased letters"; -"Directly commit uppercased letters" = "Directly commit uppercased letters"; +"Directly commit lowercased letters only if the compositor is empty" = "Directly commit lowercased letters only if the compositor is empty"; +"Directly commit uppercased letters only if the compositor is empty" = "Directly commit uppercased letters only if the compositor is empty"; "Disable forced conversion for cassette outputs" = "Disable forced conversion for cassette outputs"; "Disable segmented thick underline in marking mode for managed clients" = "Disable segmented thick underline in marking mode for managed clients"; "Disassemble the previous reading, dropping its intonation" = "Disassemble the previous reading, dropping its intonation"; diff --git a/Source/Resources/en.lproj/Localizable.strings b/Source/Resources/en.lproj/Localizable.strings index e29d48cb..75329903 100644 --- a/Source/Resources/en.lproj/Localizable.strings +++ b/Source/Resources/en.lproj/Localizable.strings @@ -193,6 +193,8 @@ "Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection"; "Alphanumerical Layout:" = "Alphanumerical Layout:"; "Also use “\\” or “¥” key for Hanin Keyboard Symbol Input" = "Also use “\\” or “¥” key for Hanin Keyboard Symbol Input"; +"Always directly commit lowercased letters" = "Always directly commit lowercased letters"; +"Always directly commit uppercased letters" = "Always directly commit uppercased letters"; "Always drop the previous reading" = "Always drop the previous reading"; "Always show tooltip texts horizontally" = "Always show tooltip texts horizontally"; "Always type intonations to the inline composition buffer" = "Always type intonations to the inline composition buffer"; @@ -238,8 +240,8 @@ "Debug Mode" = "Debug Mode"; "DevZone" = "DevZone"; "Dictionary" = "Dictionary"; -"Directly commit lowercased letters" = "Directly commit lowercased letters"; -"Directly commit uppercased letters" = "Directly commit uppercased letters"; +"Directly commit lowercased letters only if the compositor is empty" = "Directly commit lowercased letters only if the compositor is empty"; +"Directly commit uppercased letters only if the compositor is empty" = "Directly commit uppercased letters only if the compositor is empty"; "Disable forced conversion for cassette outputs" = "Disable forced conversion for cassette outputs"; "Disable segmented thick underline in marking mode for managed clients" = "Disable segmented thick underline in marking mode for managed clients"; "Disassemble the previous reading, dropping its intonation" = "Disassemble the previous reading, dropping its intonation"; diff --git a/Source/Resources/ja.lproj/Localizable.strings b/Source/Resources/ja.lproj/Localizable.strings index 1b0eca68..8998b486 100644 --- a/Source/Resources/ja.lproj/Localizable.strings +++ b/Source/Resources/ja.lproj/Localizable.strings @@ -194,6 +194,8 @@ "Allow using Enter key to confirm associated candidate selection" = "Enter キーを連想語彙候補の確認のために使う"; "Alphanumerical Layout:" = "英数キーボード:"; "Also use “\\” or “¥” key for Hanin Keyboard Symbol Input" = "「\\」・「¥」キーでも漢音キーボード符号入力"; +"Always directly commit lowercased letters" = "いつでもローマ字(小文字)を直接出力"; +"Always directly commit uppercased letters" = "いつでもローマ字(大文字)を直接出力"; "Always drop the previous reading" = "カーソルの後部の音読みを常に削除する"; "Always show tooltip texts horizontally" = "ヒントを常に横書きにする"; "Always type intonations to the inline composition buffer" = "常に入力緩衝列に音調を入力する"; @@ -239,8 +241,8 @@ "Debug Mode" = "欠陥辿着モード"; "DevZone" = "開発道場"; "Dictionary" = "辞書設定"; -"Directly commit lowercased letters" = "ローマ字(小文字)を直接出力"; -"Directly commit uppercased letters" = "ローマ字(大文字)を直接出力"; +"Directly commit lowercased letters only if the compositor is empty" = "入力緩衝列がからっぽの時、ローマ字(小文字)を直接出力"; +"Directly commit uppercased letters only if the compositor is empty" = "入力緩衝列がからっぽの時、ローマ字(大文字)を直接出力"; "Disable forced conversion for cassette outputs" = "カセットモードによる漢字出力の簡繁転換を行わずにする"; "Disable segmented thick underline in marking mode for managed clients" = "管理されている客体アプリには、マーキングモードの多段式太下線の描きを禁ず"; "Disassemble the previous reading, dropping its intonation" = "カーソルの後部の音読みを解き、その音調を除く"; diff --git a/Source/Resources/zh-Hans.lproj/Localizable.strings b/Source/Resources/zh-Hans.lproj/Localizable.strings index 677539cd..488828be 100644 --- a/Source/Resources/zh-Hans.lproj/Localizable.strings +++ b/Source/Resources/zh-Hans.lproj/Localizable.strings @@ -193,6 +193,8 @@ "Allow using Enter key to confirm associated candidate selection" = "允许使用 Enter 确认当前选中的联想词"; "Alphanumerical Layout:" = "英数键盘布局:"; "Also use “\\” or “¥” key for Hanin Keyboard Symbol Input" = "亦使用「\\」或「¥」键启用汉音键盘符号模式"; +"Always directly commit lowercased letters" = "始终直接递交小写字母"; +"Always directly commit uppercased letters" = "始终直接递交大写字母"; "Always drop the previous reading" = "始终剔除游标正后方的字音"; "Always show tooltip texts horizontally" = "始终使用横排来显示工具提示视窗"; "Always type intonations to the inline composition buffer" = "始终在内文组字区内键入声调符号"; @@ -238,8 +240,8 @@ "Debug Mode" = "侦错模式"; "DevZone" = "开发道场"; "Dictionary" = "辞典设定"; -"Directly commit lowercased letters" = "直接递交小写字母"; -"Directly commit uppercased letters" = "直接递交大写字母"; +"Directly commit lowercased letters only if the compositor is empty" = "直接递交小写字母,除非组字区不为空"; +"Directly commit uppercased letters only if the compositor is empty" = "直接递交大写字母,除非组字区不为空"; "Disable forced conversion for cassette outputs" = "对磁带模式禁用繁简转换"; "Disable segmented thick underline in marking mode for managed clients" = "针对被管理的客体,在标记模式下禁用分段式粗型下划线"; "Disassemble the previous reading, dropping its intonation" = "析构游标正后方的字音,且剔除其声调"; diff --git a/Source/Resources/zh-Hant.lproj/Localizable.strings b/Source/Resources/zh-Hant.lproj/Localizable.strings index db1db3a3..ae36c07b 100644 --- a/Source/Resources/zh-Hant.lproj/Localizable.strings +++ b/Source/Resources/zh-Hant.lproj/Localizable.strings @@ -193,6 +193,8 @@ "Allow using Enter key to confirm associated candidate selection" = "允許使用 Enter 確認當前選中的聯想詞"; "Alphanumerical Layout:" = "英數鍵盤佈局:"; "Also use “\\” or “¥” key for Hanin Keyboard Symbol Input" = "亦使用「\\」或「¥」鍵啟用漢音鍵盤符號模式"; +"Always directly commit lowercased letters" = "始終直接遞交小寫字母"; +"Always directly commit uppercased letters" = "始終直接遞交大寫字母"; "Always drop the previous reading" = "始終剔除游標正後方的字音"; "Always show tooltip texts horizontally" = "始終使用橫排來顯示工具提示視窗"; "Always type intonations to the inline composition buffer" = "始終在內文組字區內鍵入聲調符號"; @@ -238,8 +240,8 @@ "Debug Mode" = "偵錯模式"; "DevZone" = "開發道場"; "Dictionary" = "辭典設定"; -"Directly commit lowercased letters" = "直接遞交小寫字母"; -"Directly commit uppercased letters" = "直接遞交大寫字母"; +"Directly commit lowercased letters only if the compositor is empty" = "直接遞交小寫字母,除非組字區不為空"; +"Directly commit uppercased letters only if the compositor is empty" = "直接遞交大寫字母,除非組字區不為空"; "Disable forced conversion for cassette outputs" = "對磁帶模式禁用繁簡轉換"; "Disable segmented thick underline in marking mode for managed clients" = "針對被管理的客體,在標記模式下禁用分段式粗型下劃線"; "Disassemble the previous reading, dropping its intonation" = "析構游標正後方的字音,且剔除其聲調"; diff --git a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib index 20939d26..40babc17 100644 --- a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib +++ b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib @@ -48,7 +48,7 @@ - + @@ -882,14 +882,14 @@ - + - + - +