diff --git a/Source/Resources/Base.lproj/Localizable.strings b/Source/Resources/Base.lproj/Localizable.strings index 1ea7dee5..261aa368 100644 --- a/Source/Resources/Base.lproj/Localizable.strings +++ b/Source/Resources/Base.lproj/Localizable.strings @@ -84,6 +84,7 @@ // SwiftUI Preferences "(Shift+)Space:" = "(Shift+)Space:"; "Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji"; +"Always use fixed listing order in candidate window" = "Always use fixed listing order in candidate window"; "An accomodation for elder computer users." = "An accomodation for elder computer users."; "Apple ABC (equivalent to English US)" = "Apple ABC (equivalent to English US)"; "Apple Chewing - Dachen" = "Apple Chewing - Dachen"; diff --git a/Source/Resources/en.lproj/Localizable.strings b/Source/Resources/en.lproj/Localizable.strings index 1ea7dee5..261aa368 100644 --- a/Source/Resources/en.lproj/Localizable.strings +++ b/Source/Resources/en.lproj/Localizable.strings @@ -84,6 +84,7 @@ // SwiftUI Preferences "(Shift+)Space:" = "(Shift+)Space:"; "Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji"; +"Always use fixed listing order in candidate window" = "Always use fixed listing order in candidate window"; "An accomodation for elder computer users." = "An accomodation for elder computer users."; "Apple ABC (equivalent to English US)" = "Apple ABC (equivalent to English US)"; "Apple Chewing - Dachen" = "Apple Chewing - Dachen"; diff --git a/Source/Resources/ja.lproj/Localizable.strings b/Source/Resources/ja.lproj/Localizable.strings index 97071713..057cc480 100644 --- a/Source/Resources/ja.lproj/Localizable.strings +++ b/Source/Resources/ja.lproj/Localizable.strings @@ -84,6 +84,7 @@ // SwiftUI Preferences "(Shift+)Space:" = "(Shift+)Space:"; "Allow boosting / excluding a candidate of single kanji" = "即排除/即最優先にできる候補の文字数の最低限は1字とする"; +"Always use fixed listing order in candidate window" = "候補文字を固定順番で陳列する"; "An accomodation for elder computer users." = "年配なるユーザーのために提供した機能である。"; "Apple ABC (equivalent to English US)" = "Apple ABC (Apple U.S. キーボードと同じ)"; "Apple Chewing - Dachen" = "Apple 大千注音キーボード"; diff --git a/Source/Resources/zh-Hans.lproj/Localizable.strings b/Source/Resources/zh-Hans.lproj/Localizable.strings index 7b92f19e..81e9a423 100644 --- a/Source/Resources/zh-Hans.lproj/Localizable.strings +++ b/Source/Resources/zh-Hans.lproj/Localizable.strings @@ -84,6 +84,7 @@ // SwiftUI Preferences "(Shift+)Space:" = "(Shift+)空格键:"; "Allow boosting / excluding a candidate of single kanji" = "将可以就地升权/排除的候选字词的最短词长设为单个汉字"; +"Always use fixed listing order in candidate window" = "以固定顺序来陈列选字窗内的候选字"; "An accomodation for elder computer users." = "针对年长使用者的习惯而提供。"; "Apple ABC (equivalent to English US)" = "Apple ABC (与 Apple 美规键盘等价)"; "Apple Chewing - Dachen" = "Apple 大千注音键盘排列"; diff --git a/Source/Resources/zh-Hant.lproj/Localizable.strings b/Source/Resources/zh-Hant.lproj/Localizable.strings index b286d1f4..b4c27069 100644 --- a/Source/Resources/zh-Hant.lproj/Localizable.strings +++ b/Source/Resources/zh-Hant.lproj/Localizable.strings @@ -84,6 +84,7 @@ // SwiftUI Preferences "(Shift+)Space:" = "(Shift+)空格鍵:"; "Allow boosting / excluding a candidate of single kanji" = "將可以就地升權/排除的候選字詞的最短詞長設為單個漢字"; +"Always use fixed listing order in candidate window" = "以固定順序來陳列選字窗內的候選字"; "An accomodation for elder computer users." = "針對年長使用者的習慣而提供。"; "Apple ABC (equivalent to English US)" = "Apple ABC (與 Apple 美規鍵盤等價)"; "Apple Chewing - Dachen" = "Apple 大千注音鍵盤佈局"; diff --git a/Source/UI/PrefUI/suiPrefPaneDictionary.swift b/Source/UI/PrefUI/suiPrefPaneDictionary.swift index 48b75c57..acd69b3b 100644 --- a/Source/UI/PrefUI/suiPrefPaneDictionary.swift +++ b/Source/UI/PrefUI/suiPrefPaneDictionary.swift @@ -39,6 +39,8 @@ struct suiPrefPaneDictionary: View { forKey: UserDef.kAllowBoostingSingleKanjiAsUserPhrase) @State private var selFetchSuggestionsFromUserOverrideModel: Bool = UserDefaults.standard.bool( forKey: UserDef.kFetchSuggestionsFromUserOverrideModel) + @State private var selUseFixecCandidateOrderOnSelection: Bool = UserDefaults.standard.bool( + forKey: UserDef.kUseFixecCandidateOrderOnSelection) private let contentWidth: Double = { switch mgrPrefs.appleLanguages[0] { case "ja": @@ -147,6 +149,13 @@ struct suiPrefPaneDictionary: View { .onChange(of: selFetchSuggestionsFromUserOverrideModel) { value in mgrPrefs.fetchSuggestionsFromUserOverrideModel = value } + Toggle( + LocalizedStringKey("Always use fixed listing order in candidate window"), + isOn: $selUseFixecCandidateOrderOnSelection + ) + .onChange(of: selUseFixecCandidateOrderOnSelection) { value in + mgrPrefs.useFixecCandidateOrderOnSelection = value + } } } }