diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/IMEStateData.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/IMEStateData.swift index b969f2f9..34b10a23 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/IMEStateData.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/IMEStateData.swift @@ -85,6 +85,13 @@ public struct IMEStateData: IMEStateDataProtocol { ) } + public var markedTargetIsCurrentlyFiltered: Bool { + let pair = userPhraseKVPair + return LMMgr.checkIfPhrasePairIsFiltered( + userPhrase: pair.value, mode: IMEApp.currentInputMode, keyArray: pair.keyArray + ) + } + public var displayTextSegments = [String]() { didSet { displayedText = displayTextSegments.joined() @@ -264,6 +271,16 @@ public extension IMEStateData { ) } } + + if markedTargetIsCurrentlyFiltered { + tooltipColorState = .information + return String( + format: NSLocalizedString("\"%@\" selected. ENTER to unfilter this phrase.", comment: "") + "\n◆ " + + readingDisplay, + text + ) + } + tooltipColorState = .normal return String( format: NSLocalizedString("\"%@\" selected. ENTER to add user phrase.", comment: "") + "\n◆ " diff --git a/Source/Resources/Base.lproj/Localizable.strings b/Source/Resources/Base.lproj/Localizable.strings index 0b3ba1be..2911bbdc 100644 --- a/Source/Resources/Base.lproj/Localizable.strings +++ b/Source/Resources/Base.lproj/Localizable.strings @@ -119,6 +119,7 @@ "\"%@\" length must ≥ 2 for a user phrase." = "\"%@\" length must ≥ 2 for a user phrase."; "\"%@\" length should ≤ %d for a user phrase." = "\"%@\" length should ≤ %d for a user phrase."; "\"%@\" selected. ENTER to add user phrase." = "\"%@\" selected. ENTER to add user phrase."; +"\"%@\" selected. ENTER to unfilter this phrase." = "\"%@\" selected. ENTER to unfilter this phrase."; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf." = "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf."; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude." = "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude."; "Edit Phrase Replacement Table…" = "Edit Phrase Replacement Table…"; diff --git a/Source/Resources/en.lproj/Localizable.strings b/Source/Resources/en.lproj/Localizable.strings index 0b3ba1be..2911bbdc 100644 --- a/Source/Resources/en.lproj/Localizable.strings +++ b/Source/Resources/en.lproj/Localizable.strings @@ -119,6 +119,7 @@ "\"%@\" length must ≥ 2 for a user phrase." = "\"%@\" length must ≥ 2 for a user phrase."; "\"%@\" length should ≤ %d for a user phrase." = "\"%@\" length should ≤ %d for a user phrase."; "\"%@\" selected. ENTER to add user phrase." = "\"%@\" selected. ENTER to add user phrase."; +"\"%@\" selected. ENTER to unfilter this phrase." = "\"%@\" selected. ENTER to unfilter this phrase."; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf." = "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf."; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude." = "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude."; "Edit Phrase Replacement Table…" = "Edit Phrase Replacement Table…"; diff --git a/Source/Resources/ja.lproj/Localizable.strings b/Source/Resources/ja.lproj/Localizable.strings index 12b34d0e..24eedc8d 100644 --- a/Source/Resources/ja.lproj/Localizable.strings +++ b/Source/Resources/ja.lproj/Localizable.strings @@ -119,6 +119,7 @@ "\"%@\" length must ≥ 2 for a user phrase." = "「%@」もう1つ文字のお選びを。"; "\"%@\" length should ≤ %d for a user phrase." = "「%@」文字数過剰で登録不可、%d 文字以内にして下さい。"; "\"%@\" selected. ENTER to add user phrase." = "「%@」を ENTER で辞書に登録。"; +"\"%@\" selected. ENTER to unfilter this phrase." = "「%@」を ENTER で排除リストから外す。"; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf." = "「%@」は既存語彙:\n ENTER で最優先にし、SHIFT+COMMAND+ENTER で優先順位を下げる。"; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude." = "「%@」は既存語彙:\n ENTER で最優先にし、SHIFT+COMMAND+ENTER で優先順位を下げる;\n BackSpace 或いは Delete で排除。"; "Edit Phrase Replacement Table…" = "言葉置換表を編集…"; diff --git a/Source/Resources/zh-Hans.lproj/Localizable.strings b/Source/Resources/zh-Hans.lproj/Localizable.strings index d5718c8d..b5e8f9af 100644 --- a/Source/Resources/zh-Hans.lproj/Localizable.strings +++ b/Source/Resources/zh-Hans.lproj/Localizable.strings @@ -119,6 +119,7 @@ "\"%@\" length must ≥ 2 for a user phrase." = "「%@」字数不足以自订语汇。"; "\"%@\" length should ≤ %d for a user phrase." = "「%@」字数超过 %d、无法自订。"; "\"%@\" selected. ENTER to add user phrase." = "「%@」敲 Enter 添入自订语汇。"; +"\"%@\" selected. ENTER to unfilter this phrase." = "「%@」敲 Enter 将该语汇移出滤除清单。"; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf." = "「%@」已存在:\n 敲 Enter 以升权、敲 Shift+Command+Enter 以降权。"; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude." = "「%@」已存在:\n 敲 Enter 以升权、敲 Shift+Command+Enter 以降权;\n 敲 BackSpace 或 Delete 以排除。"; "Edit Phrase Replacement Table…" = "编辑语汇置换表…"; diff --git a/Source/Resources/zh-Hant.lproj/Localizable.strings b/Source/Resources/zh-Hant.lproj/Localizable.strings index fd1bb5a3..eb5a5e9d 100644 --- a/Source/Resources/zh-Hant.lproj/Localizable.strings +++ b/Source/Resources/zh-Hant.lproj/Localizable.strings @@ -119,6 +119,7 @@ "\"%@\" length must ≥ 2 for a user phrase." = "「%@」字數不足以自訂語彙。"; "\"%@\" length should ≤ %d for a user phrase." = "「%@」字數超過 %d、無法自訂。"; "\"%@\" selected. ENTER to add user phrase." = "「%@」敲 Enter 添入自訂語彙。"; +"\"%@\" selected. ENTER to unfilter this phrase." = "「%@」敲 Enter 將該語彙移出濾除清單。"; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf." = "「%@」已存在:\n 敲 Enter 以升權、敲 Shift+Command+Enter 以降權。"; "\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude." = "「%@」已存在:\n 敲 Enter 以升權、敲 Shift+Command+Enter 以降權;\n 敲 BackSpace 或 Delete 以排除。"; "Edit Phrase Replacement Table…" = "編輯語彙置換表…";