Prefs // +.securityHardenedCompositionBuffer().

This commit is contained in:
ShikiSuen 2023-09-21 00:07:58 +08:00
parent 3b20d05ea9
commit e7b59a8cab
8 changed files with 20 additions and 0 deletions

View File

@ -35,6 +35,9 @@ import SwiftExtension
@AppProperty(key: UserDef.kFailureFlagForUOMObservation.rawValue, defaultValue: false)
public dynamic var failureFlagForUOMObservation: Bool
@AppProperty(key: UserDef.kSecurityHardenedCompositionBuffer.rawValue, defaultValue: false)
public dynamic var securityHardenedCompositionBuffer: Bool
@AppProperty(key: UserDef.kDeltaOfCalendarYears.rawValue, defaultValue: -2000)
public dynamic var deltaOfCalendarYears: Int

View File

@ -11,6 +11,7 @@ import Foundation
public protocol PrefMgrProtocol {
var isDebugModeEnabled: Bool { get set }
var failureFlagForUOMObservation: Bool { get set }
var securityHardenedCompositionBuffer: Bool { get set }
var deltaOfCalendarYears: Int { get set }
var mostRecentInputMode: String { get set }
var useExternalFactoryDict: Bool { get set }

View File

@ -31,6 +31,7 @@ public enum UserDef: String, CaseIterable {
case kIsDebugModeEnabled = "_DebugMode"
case kFailureFlagForUOMObservation = "_FailureFlag_UOMObservation"
case kSecurityHardenedCompositionBuffer = "SecurityHardenedCompositionBuffer"
case kDeltaOfCalendarYears = "DeltaOfCalendarYears"
case kMostRecentInputMode = "MostRecentInputMode"
case kCassettePath = "CassettePath"
@ -145,6 +146,7 @@ public extension UserDef {
switch self {
case .kIsDebugModeEnabled: return .bool
case .kFailureFlagForUOMObservation: return .bool
case .kSecurityHardenedCompositionBuffer: return .bool
case .kDeltaOfCalendarYears: return .integer
case .kMostRecentInputMode: return .string
case .kCassettePath: return .string
@ -231,6 +233,10 @@ public extension UserDef {
switch self {
case .kIsDebugModeEnabled: return .init(userDef: self, shortTitle: "Debug Mode")
case .kFailureFlagForUOMObservation: return nil
case .kSecurityHardenedCompositionBuffer: return .init(
userDef: self, shortTitle: "Security-harden the composition buffer for all clients",
description: "This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead."
)
case .kDeltaOfCalendarYears: return nil
case .kMostRecentInputMode: return nil
case .kCassettePath: return .init(

View File

@ -311,6 +311,7 @@
"Quick Setup:" = "Quick Setup:";
"Read external factory dictionary files if possible" = "Read external factory dictionary files if possible";
"Secondary Pinyin with Numeral Intonation" = "Secondary Pinyin with Numeral Intonation";
"Security-harden the composition buffer for all clients" = "Security-harden the composition buffer for all clients";
"Seigyou" = "Seigyou (JinYei)";
"Selection Keys:" = "Selection Keys:";
"Share alphanumerical mode status across all clients" = "Share alphanumerical mode status across all clients";
@ -337,6 +338,7 @@
"This feature only needs to parse consecutive NSEvents passed by macOS built-in InputMethodKit framework, hence no necessity of asking end-users for extra privileges of monitoring global keyboard inputs. You are free to investigate our codebase or reverse-engineer this input method to see whether the above statement is trustable." = "This feature only needs to parse consecutive NSEvents passed by macOS built-in InputMethodKit framework, hence no necessity of asking end-users for extra privileges of monitoring global keyboard inputs. You are free to investigate our codebase or reverse-engineer this input method to see whether the above statement is trustable.";
"This feature requires macOS 10.15 and above." = "This feature requires macOS 10.15 and above.";
"This feature requires macOS 12 and above." = "This feature requires macOS 12 and above.";
"This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead." = "This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead.";
"This only works when being toggled by Shift key and JIS Eisu key." = "This only works when being toggled by Shift key and JIS Eisu key.";
"This only works with Tadokoro candidate window." = "This only works with Tadokoro candidate window.";
"This will also affect the row / column capacity of the candidate window." = "This will also affect the row / column capacity of the candidate window.";

View File

@ -311,6 +311,7 @@
"Quick Setup:" = "Quick Setup:";
"Read external factory dictionary files if possible" = "Read external factory dictionary files if possible";
"Secondary Pinyin with Numeral Intonation" = "Secondary Pinyin with Numeral Intonation";
"Security-harden the composition buffer for all clients" = "Security-harden the composition buffer for all clients";
"Seigyou" = "Seigyou (JinYei)";
"Selection Keys:" = "Selection Keys:";
"Share alphanumerical mode status across all clients" = "Share alphanumerical mode status across all clients";
@ -337,6 +338,7 @@
"This feature only needs to parse consecutive NSEvents passed by macOS built-in InputMethodKit framework, hence no necessity of asking end-users for extra privileges of monitoring global keyboard inputs. You are free to investigate our codebase or reverse-engineer this input method to see whether the above statement is trustable." = "This feature only needs to parse consecutive NSEvents passed by macOS built-in InputMethodKit framework, hence no necessity of asking end-users for extra privileges of monitoring global keyboard inputs. You are free to investigate our codebase or reverse-engineer this input method to see whether the above statement is trustable.";
"This feature requires macOS 10.15 and above." = "This feature requires macOS 10.15 and above.";
"This feature requires macOS 12 and above." = "This feature requires macOS 12 and above.";
"This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead." = "This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead.";
"This only works when being toggled by Shift key and JIS Eisu key." = "This only works when being toggled by Shift key and JIS Eisu key.";
"This only works with Tadokoro candidate window." = "This only works with Tadokoro candidate window.";
"This will also affect the row / column capacity of the candidate window." = "This will also affect the row / column capacity of the candidate window.";

View File

@ -312,6 +312,7 @@
"Quick Setup:" = "直接設定:";
"Read external factory dictionary files if possible" = "なるべく(内蔵辞書より)外部の公式辞書ファイルを利用";
"Secondary Pinyin with Numeral Intonation" = "国音二式 (ローマ字+数字音調)";
"Security-harden the composition buffer for all clients" = "全ての客体アプリに対して、入力緩衝列にセキュリティ強化対策を起用";
"Seigyou" = "精業配列";
"Selection Keys:" = "言選り用キー:";
"Share alphanumerical mode status across all clients" = "全ての客体アプリに英数入力モードの状態を共有";
@ -338,6 +339,7 @@
"This feature only needs to parse consecutive NSEvents passed by macOS built-in InputMethodKit framework, hence no necessity of asking end-users for extra privileges of monitoring global keyboard inputs. You are free to investigate our codebase or reverse-engineer this input method to see whether the above statement is trustable." = "この機能の利用する NSEvent は、macOS 内蔵の入力アプリ共用モジュール「InputMethodKit」から提供した NSEvent のみであり、その NSEvent 文脈関係で「Shift キーは1回押したかどうか」と判断することはできる。この事実に疑いを持つ者は、本アプリのソースコードを審査するか、あるいは本アプリを逆向工程(分解工学, いわゆる「Reverse-Engineering」するがよい。";
"This feature requires macOS 10.15 and above." = "この機能の稼働には macOS 10.15 以降のシステムが必要である。";
"This feature requires macOS 12 and above." = "この機能の稼働には macOS 12 以降のシステムが必要である。";
"This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead." = "これで、どの客体アプリも、入力緩衝列の送り出さなかった内容を(勝手に)読み用いることは不可能になる。すなわち「吹き出し入力緩衝列ウィンドウ」の「常に出番」である。";
"This only works when being toggled by Shift key and JIS Eisu key." = "Shift キーとJIS 英数キーだけでの英数入力モード状態切替の話。";
"This only works with Tadokoro candidate window." = "これは田所候補陳列ウィンドウだけに効ける機能である。";
"This will also affect the row / column capacity of the candidate window." = "言選り用キーの数は、候補陳列の行・列の容量制限にも影響。";

View File

@ -311,6 +311,7 @@
"Quick Setup:" = "直接设定:";
"Read external factory dictionary files if possible" = "尽量使用外置原厂辞典 plist 档案";
"Secondary Pinyin with Numeral Intonation" = "国音二式+数字标调";
"Security-harden the composition buffer for all clients" = "针对所有客体软体启用强化型组字区安全防护";
"Seigyou" = "精业排列";
"Selection Keys:" = "选字键:";
"Share alphanumerical mode status across all clients" = "对所有客体应用共用中英文输入切换状态";
@ -337,6 +338,7 @@
"This feature only needs to parse consecutive NSEvents passed by macOS built-in InputMethodKit framework, hence no necessity of asking end-users for extra privileges of monitoring global keyboard inputs. You are free to investigate our codebase or reverse-engineer this input method to see whether the above statement is trustable." = "该功能只需要对借由 macOS 内建的输入法框架传来的 NSEvent 做上下文分析,自然没有「向使用者寻求系统全局键盘事件监听权限」之必要。您可自行审视敝输入法的原始程式码仓库、或对敝输入法逆向工程,以自行证实此处所言之真假。";
"This feature requires macOS 10.15 and above." = "该功能要求系统版本至少 macOS 10.15。";
"This feature requires macOS 12 and above." = "该功能要求系统版本至少 macOS 12。";
"This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead." = "这会阻止任何客体擅自存取尚未递交的组字区内容。此举也会全局启用浮动组字窗。";
"This only works when being toggled by Shift key and JIS Eisu key." = "仅用于以 Shift 键或 JIS 英数键切换中英文输入模式的场合。";
"This only works with Tadokoro candidate window." = "该选项仅对田所选字窗起作用。";
"This will also affect the row / column capacity of the candidate window." = "该选项也会影响到选字窗每行/每列最多显示的候选字数量。";

View File

@ -311,6 +311,7 @@
"Quick Setup:" = "直接設定:";
"Read external factory dictionary files if possible" = "盡量使用外置原廠辭典 plist 檔案";
"Secondary Pinyin with Numeral Intonation" = "國音二式+數字標調";
"Security-harden the composition buffer for all clients" = "針對所有客體軟體啟用強化型組字區安全防護";
"Seigyou" = "精業排列";
"Selection Keys:" = "選字鍵:";
"Share alphanumerical mode status across all clients" = "對所有客體應用共用中英文輸入切換狀態";
@ -337,6 +338,7 @@
"This feature only needs to parse consecutive NSEvents passed by macOS built-in InputMethodKit framework, hence no necessity of asking end-users for extra privileges of monitoring global keyboard inputs. You are free to investigate our codebase or reverse-engineer this input method to see whether the above statement is trustable." = "該功能只需要對藉由 macOS 內建的輸入法框架傳來的 NSEvent 做上下文分析,自然沒有「向使用者尋求系統全局鍵盤事件監聽權限」之必要。您可自行審視敝輸入法的原始程式碼倉庫、或對敝輸入法逆向工程,以自行證實此處所言之真假。";
"This feature requires macOS 10.15 and above." = "該功能要求系統版本至少 macOS 10.15。";
"This feature requires macOS 12 and above." = "該功能要求系統版本至少 macOS 12。";
"This hinders all client apps from unwelcomely accessing your uncommitted contents in the composition buffer. A popup composition buffer will be shown instead." = "這會阻止任何客體擅自存取尚未遞交的組字區內容。此舉也會全局啟用浮動組字窗。";
"This only works when being toggled by Shift key and JIS Eisu key." = "僅用於以 Shift 鍵或 JIS 英數鍵切換中英文輸入模式的場合。";
"This only works with Tadokoro candidate window." = "該選項僅對田所選字窗起作用。";
"This will also affect the row / column capacity of the candidate window." = "該選項也會影響到選字窗每行/每列最多顯示的候選字數量。";