kanjiConv // Bind JIS Conversion to Functions.
This commit is contained in:
parent
9da755ab0d
commit
f651a2fcf4
|
@ -36,6 +36,7 @@ private let kComposingBufferSizePreference = "ComposingBufferSize"
|
|||
private let kChooseCandidateUsingSpace = "ChooseCandidateUsingSpace"
|
||||
private let kCNS11643Enabled = "CNS11643Enabled"
|
||||
private let kChineseConversionEnabled = "ChineseConversionEnabled"
|
||||
private let kShiftJISShinjitaiOutputEnabled = "ShiftJISShinjitaiOutputEnabled"
|
||||
private let kHalfWidthPunctuationEnabled = "HalfWidthPunctuationEnable"
|
||||
private let kMoveCursorAfterSelectingCandidate = "MoveCursorAfterSelectingCandidate"
|
||||
private let kEscToCleanInputBuffer = "EscToCleanInputBuffer"
|
||||
|
@ -228,6 +229,7 @@ struct ComposingBufferSize {
|
|||
kChooseCandidateUsingSpace,
|
||||
kCNS11643Enabled,
|
||||
kChineseConversionEnabled,
|
||||
kShiftJISShinjitaiOutputEnabled,
|
||||
kHalfWidthPunctuationEnabled,
|
||||
kEscToCleanInputBuffer,
|
||||
kCandidateTextFontName,
|
||||
|
@ -316,6 +318,11 @@ struct ComposingBufferSize {
|
|||
UserDefaults.standard.set(Preferences.chineseConversionEnabled, forKey: kChineseConversionEnabled)
|
||||
}
|
||||
|
||||
// 預設停用繁體轉 JIS 當用新字體模組
|
||||
if UserDefaults.standard.object(forKey: kShiftJISShinjitaiOutputEnabled) == nil {
|
||||
UserDefaults.standard.set(Preferences.shiftJISShinjitaiOutputEnabled, forKey: kShiftJISShinjitaiOutputEnabled)
|
||||
}
|
||||
|
||||
// 預設停用自訂語彙置換
|
||||
if UserDefaults.standard.object(forKey: kPhraseReplacementEnabled) == nil {
|
||||
UserDefaults.standard.set(Preferences.phraseReplacementEnabled, forKey: kPhraseReplacementEnabled)
|
||||
|
@ -411,12 +418,25 @@ struct ComposingBufferSize {
|
|||
@UserDefault(key: kChineseConversionEnabled, defaultValue: false)
|
||||
@objc static var chineseConversionEnabled: Bool
|
||||
|
||||
@objc static func toggleChineseConversionEnabled() -> Bool {
|
||||
@objc @discardableResult static func toggleChineseConversionEnabled() -> Bool {
|
||||
chineseConversionEnabled = !chineseConversionEnabled
|
||||
// 康熙轉換與 JIS 轉換不能同時開啟,否則會出現某些奇奇怪怪的情況
|
||||
if chineseConversionEnabled && shiftJISShinjitaiOutputEnabled {self.toggleShiftJISShinjitaiOutputEnabled()}
|
||||
UserDefaults.standard.set(chineseConversionEnabled, forKey: kChineseConversionEnabled)
|
||||
return chineseConversionEnabled
|
||||
}
|
||||
|
||||
@UserDefault(key: kShiftJISShinjitaiOutputEnabled, defaultValue: false)
|
||||
@objc static var shiftJISShinjitaiOutputEnabled: Bool
|
||||
|
||||
@objc @discardableResult static func toggleShiftJISShinjitaiOutputEnabled() -> Bool {
|
||||
shiftJISShinjitaiOutputEnabled = !shiftJISShinjitaiOutputEnabled
|
||||
// 康熙轉換與 JIS 轉換不能同時開啟,否則會出現某些奇奇怪怪的情況
|
||||
if shiftJISShinjitaiOutputEnabled && chineseConversionEnabled {self.toggleChineseConversionEnabled()}
|
||||
UserDefaults.standard.set(shiftJISShinjitaiOutputEnabled, forKey: kShiftJISShinjitaiOutputEnabled)
|
||||
return shiftJISShinjitaiOutputEnabled
|
||||
}
|
||||
|
||||
@UserDefault(key: kHalfWidthPunctuationEnabled, defaultValue: false)
|
||||
@objc static var halfWidthPunctuationEnabled: Bool
|
||||
|
||||
|
|
|
@ -67,10 +67,16 @@ class ctlInputMethod: IMKInputController {
|
|||
useCNS11643SupportItem.keyEquivalentModifierMask = [.command, .control]
|
||||
useCNS11643SupportItem.state = Preferences.cns11643Enabled.state
|
||||
|
||||
let chineseConversionItem = menu.addItem(withTitle: NSLocalizedString("Force KangXi Writing", comment: ""), action: #selector(toggleChineseConverter(_:)), keyEquivalent: "K")
|
||||
chineseConversionItem.keyEquivalentModifierMask = [.command, .control]
|
||||
chineseConversionItem.state = Preferences.chineseConversionEnabled.state
|
||||
if keyHandler.inputMode == InputMode.imeModeCHT {
|
||||
let chineseConversionItem = menu.addItem(withTitle: NSLocalizedString("Force KangXi Writing", comment: ""), action: #selector(toggleChineseConverter(_:)), keyEquivalent: "K")
|
||||
chineseConversionItem.keyEquivalentModifierMask = [.command, .control]
|
||||
chineseConversionItem.state = Preferences.chineseConversionEnabled.state
|
||||
|
||||
let shiftJISConversionItem = menu.addItem(withTitle: NSLocalizedString("JIS Shinjitai Output", comment: ""), action: #selector(toggleShiftJISShinjitaiOutput(_:)), keyEquivalent: "J")
|
||||
shiftJISConversionItem.keyEquivalentModifierMask = [.command, .control]
|
||||
shiftJISConversionItem.state = Preferences.shiftJISShinjitaiOutputEnabled.state
|
||||
}
|
||||
|
||||
let halfWidthPunctuationItem = menu.addItem(withTitle: NSLocalizedString("Half-Width Punctuation Mode", comment: ""), action: #selector(toggleHalfWidthPunctuation(_:)), keyEquivalent: "H")
|
||||
halfWidthPunctuationItem.keyEquivalentModifierMask = [.command, .control]
|
||||
halfWidthPunctuationItem.state = Preferences.halfWidthPunctuationEnabled.state
|
||||
|
@ -215,6 +221,10 @@ class ctlInputMethod: IMKInputController {
|
|||
NotifierController.notify(message: String(format: "%@%@%@", NSLocalizedString("Force KangXi Writing", comment: ""), "\n", Preferences.toggleChineseConversionEnabled() ? NSLocalizedString("NotificationSwitchON", comment: "") : NSLocalizedString("NotificationSwitchOFF", comment: "")))
|
||||
}
|
||||
|
||||
@objc func toggleShiftJISShinjitaiOutput(_ sender: Any?) {
|
||||
NotifierController.notify(message: String(format: "%@%@%@", NSLocalizedString("JIS Shinjitai Output", comment: ""), "\n", Preferences.toggleShiftJISShinjitaiOutputEnabled() ? NSLocalizedString("NotificationSwitchON", comment: "") : NSLocalizedString("NotificationSwitchOFF", comment: "")))
|
||||
}
|
||||
|
||||
@objc func toggleHalfWidthPunctuation(_ sender: Any?) {
|
||||
NotifierController.notify(message: String(format: "%@%@%@", NSLocalizedString("Half-Width Punctuation Mode", comment: ""), "\n", Preferences.toggleHalfWidthPunctuationEnabled() ? NSLocalizedString("NotificationSwitchON", comment: "") : NSLocalizedString("NotificationSwitchOFF", comment: "")))
|
||||
}
|
||||
|
@ -320,15 +330,27 @@ extension ctlInputMethod {
|
|||
|
||||
private func commit(text: String, client: Any!) {
|
||||
|
||||
func convertToKangXiChineseIfRequired(_ text: String) -> String {
|
||||
if !Preferences.chineseConversionEnabled {
|
||||
return text
|
||||
func kanjiConversionIfRequired(_ text: String) -> String {
|
||||
var result : String = ""
|
||||
if keyHandler.inputMode == InputMode.imeModeCHT {
|
||||
if !Preferences.chineseConversionEnabled && Preferences.shiftJISShinjitaiOutputEnabled {
|
||||
result = vChewingKanjiConverter.cnvTradToJIS(text)
|
||||
}
|
||||
if Preferences.chineseConversionEnabled && !Preferences.shiftJISShinjitaiOutputEnabled {
|
||||
result = vChewingKanjiConverter.cnvTradToKangXi(text)
|
||||
}
|
||||
// 本來這兩個開關不該同時開啟的,但萬一被開啟了的話就這樣處理:
|
||||
if Preferences.chineseConversionEnabled && Preferences.shiftJISShinjitaiOutputEnabled {
|
||||
result = vChewingKanjiConverter.cnvTradToJIS(text)
|
||||
}
|
||||
}
|
||||
// return OpenCCBridge.convertToKangXi(text) ?? ""
|
||||
return vChewingKanjiConverter.cnvTradToKangXi(text)
|
||||
// if (!Preferences.chineseConversionEnabled && !Preferences.shiftJISShinjitaiOutputEnabled) || (keyHandler.inputMode != InputMode.imeModeCHT);
|
||||
result = text
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
let buffer = convertToKangXiChineseIfRequired(text)
|
||||
let buffer = kanjiConversionIfRequired(text)
|
||||
if buffer.isEmpty {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
"⚠︎ Unhandlable char selected for user phrases." = "⚠︎ Unhandlable char selected for user phrases.";
|
||||
"Per-Char Select Mode" = "Per-Char Select Mode";
|
||||
"CNS11643 Mode" = "CNS11643 Mode";
|
||||
"JIS Shinjitai Output" = "JIS Shinjitai Output";
|
||||
"Per-Char Associated Phrases" = "Per-Char Associated Phrases";
|
||||
"Open User Data Folder" = "Open User Data Folder";
|
||||
"Edit Associated Phrases…" = "Edit Associated Phrases…";
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
"⚠︎ Unhandlable char selected for user phrases." = "⚠︎ Unhandlable char selected for user phrases.";
|
||||
"Per-Char Select Mode" = "Per-Char Select Mode";
|
||||
"CNS11643 Mode" = "CNS11643 Mode";
|
||||
"JIS Shinjitai Output" = "JIS Shinjitai Output";
|
||||
"Per-Char Associated Phrases" = "Per-Char Associated Phrases";
|
||||
"Open User Data Folder" = "Open User Data Folder";
|
||||
"Edit Associated Phrases…" = "Edit Associated Phrases…";
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
"⚠︎ Unhandlable char selected for user phrases." = "⚠︎ ユーザー辞書の対処できない文字は選択されています。";
|
||||
"Per-Char Select Mode" = "全候補入力モード";
|
||||
"CNS11643 Mode" = "全字庫モード";
|
||||
"JIS Shinjitai Output" = "JIS 新字体モード";
|
||||
"Per-Char Associated Phrases" = "全候補入力で連想語彙";
|
||||
"Open User Data Folder" = "ユーザー資料フォルダを開く";
|
||||
"Edit Associated Phrases…" = "連想語彙を編集…";
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
"⚠︎ Unhandlable char selected for user phrases." = "⚠︎ 已选中无法处理的字符,无法加入自订语汇。";
|
||||
"Per-Char Select Mode" = "仿真逐字选字输入";
|
||||
"CNS11643 Mode" = "全字库模式";
|
||||
"JIS Shinjitai Output" = "JIS 新字体模式";
|
||||
"Per-Char Associated Phrases" = "逐字选字联想模式";
|
||||
"Open User Data Folder" = "开启使用者资料夹";
|
||||
"Edit Associated Phrases…" = "编辑联想词…";
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
"⚠︎ Unhandlable char selected for user phrases." = "⚠︎ 已選中無法處理的字元,無法加入自訂語彙。";
|
||||
"Per-Char Select Mode" = "模擬逐字選字輸入";
|
||||
"CNS11643 Mode" = "全字庫模式";
|
||||
"JIS Shinjitai Output" = "JIS 新字體模式";
|
||||
"Per-Char Associated Phrases" = "逐字選字聯想模式";
|
||||
"Open User Data Folder" = "開啟使用者資料夾";
|
||||
"Edit Associated Phrases…" = "編輯聯想詞…";
|
||||
|
|
|
@ -36,6 +36,8 @@ extension RangeReplaceableCollection where Element: Hashable {
|
|||
@IBOutlet weak var uiLanguageButton: NSPopUpButton!
|
||||
@IBOutlet weak var basisKeyboardLayoutButton: NSPopUpButton!
|
||||
@IBOutlet weak var selectionKeyComboBox: NSComboBox!
|
||||
@IBOutlet weak var chkTrad2KangXi: NSButton!
|
||||
@IBOutlet weak var chkTrad2JISShinjitai: NSButton!
|
||||
|
||||
var currentLanguageSelectItem: NSMenuItem? = nil
|
||||
|
||||
|
@ -160,6 +162,21 @@ extension RangeReplaceableCollection where Element: Hashable {
|
|||
}
|
||||
|
||||
selectionKeyComboBox.stringValue = candidateSelectionKeys
|
||||
|
||||
// MARK: - 設定漢字轉換選項是否禁用
|
||||
|
||||
}
|
||||
|
||||
@IBAction func toggleTrad2KangXiAction(_ sender: Any) {
|
||||
if chkTrad2KangXi.state == .on && chkTrad2JISShinjitai.state == .on {
|
||||
Preferences.toggleShiftJISShinjitaiOutputEnabled()
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func toggleTrad2JISShinjitaiAction(_ sender: Any) {
|
||||
if chkTrad2KangXi.state == .on && chkTrad2JISShinjitai.state == .on {
|
||||
Preferences.toggleChineseConversionEnabled()
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func updateBasisKeyboardLayoutAction(_ sender: Any) {
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
<customObject id="-2" userLabel="File's Owner" customClass="ctlPrefWindow">
|
||||
<connections>
|
||||
<outlet property="basisKeyboardLayoutButton" destination="124" id="135"/>
|
||||
<outlet property="chkTrad2JISShinjitai" destination="h4r-Sp-LBI" id="pk8-xi-IJi"/>
|
||||
<outlet property="chkTrad2KangXi" destination="5IL-zZ-CL9" id="PGS-Dy-BBY"/>
|
||||
<outlet property="fontSizePopUpButton" destination="90" id="108"/>
|
||||
<outlet property="selectionKeyComboBox" destination="uHU-aL-du7" id="cEx-Ui-Phc"/>
|
||||
<outlet property="uiLanguageButton" destination="oS6-u5-7dP" id="V3u-XK-z7G"/>
|
||||
|
@ -223,9 +225,9 @@
|
|||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Yaj-QY-7xV">
|
||||
<rect key="frame" x="19" y="103.5" width="406" height="17"/>
|
||||
<rect key="frame" x="19" y="104.5" width="406" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="16" id="Pfc-tS-s5a"/>
|
||||
<constraint firstAttribute="height" constant="16" id="KdE-Vd-Y50"/>
|
||||
</constraints>
|
||||
<buttonCell key="cell" type="check" title="Enable CNS11643 Support (2022-01-07)" bezelStyle="regularSquare" imagePosition="left" controlSize="small" inset="2" id="W24-T4-cg0">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
|
@ -235,18 +237,30 @@
|
|||
<binding destination="32" name="value" keyPath="values.CNS11643Enabled" id="Pbx-Gt-upm"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5IL-zZ-CL9">
|
||||
<rect key="frame" x="19" y="82.5" width="406" height="16"/>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5IL-zZ-CL9" userLabel="chkTrad2KangXi">
|
||||
<rect key="frame" x="19" y="83.5" width="406" height="16"/>
|
||||
<buttonCell key="cell" type="check" title="Auto-convert traditional Chinese glyphs to KangXi characters" bezelStyle="regularSquare" imagePosition="left" controlSize="small" inset="2" id="BSK-bH-Gct">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="cellTitle"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="toggleTrad2KangXiAction:" target="-2" id="4i1-el-vkn"/>
|
||||
<binding destination="32" name="value" keyPath="values.ChineseConversionEnabled" id="X0A-OC-T6e"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="h4r-Sp-LBI" userLabel="chkTrad2JISShinjitai">
|
||||
<rect key="frame" x="19" y="62.5" width="406" height="16"/>
|
||||
<buttonCell key="cell" type="check" title="Auto-convert traditional Chinese glyphs to JIS Shinjitai characters" bezelStyle="regularSquare" imagePosition="left" controlSize="small" inset="2" id="eia-1F-Do0">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="cellTitle"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="toggleTrad2JISShinjitaiAction:" target="-2" id="bhJ-ed-BCo"/>
|
||||
<binding destination="32" name="value" keyPath="values.ShiftJISShinjitaiOutputEnabled" id="zu9-pD-86B"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mzw-F2-aAQ">
|
||||
<rect key="frame" x="19" y="61.5" width="406" height="16"/>
|
||||
<rect key="frame" x="19" y="41.5" width="406" height="16"/>
|
||||
<buttonCell key="cell" type="check" title="Emulating select-candidate-per-character mode" bezelStyle="regularSquare" imagePosition="left" controlSize="small" inset="2" id="ArK-Vk-OoT">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="cellTitle"/>
|
||||
|
@ -256,7 +270,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pYB-E5-4Nv">
|
||||
<rect key="frame" x="19" y="40.5" width="406" height="16"/>
|
||||
<rect key="frame" x="19" y="20.5" width="406" height="16"/>
|
||||
<buttonCell key="cell" type="check" title="Stop farting (when typed phonetic combination is invalid, etc.)" bezelStyle="regularSquare" imagePosition="left" controlSize="small" inset="2" id="62u-jY-BRh">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="cellTitle"/>
|
||||
|
@ -268,18 +282,21 @@
|
|||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="5IL-zZ-CL9" firstAttribute="leading" secondItem="mzw-F2-aAQ" secondAttribute="leading" id="1Ly-qx-Gu3"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="top" secondItem="brd-6J-saN" secondAttribute="top" constant="14.5" id="3t1-EX-nuL"/>
|
||||
<constraint firstItem="pYB-E5-4Nv" firstAttribute="top" secondItem="mzw-F2-aAQ" secondAttribute="bottom" constant="6" symbolic="YES" id="6Dg-ES-9nm"/>
|
||||
<constraint firstItem="pYB-E5-4Nv" firstAttribute="leading" secondItem="mzw-F2-aAQ" secondAttribute="leading" id="L9L-Lj-gmk"/>
|
||||
<constraint firstItem="5IL-zZ-CL9" firstAttribute="top" secondItem="Yaj-QY-7xV" secondAttribute="bottom" constant="6" symbolic="YES" id="MeX-CD-9FN"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="trailing" secondItem="5IL-zZ-CL9" secondAttribute="trailing" id="S0v-Op-wDh"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Yaj-QY-7xV" secondAttribute="trailing" constant="20" symbolic="YES" id="UKC-jH-d9A"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="leading" secondItem="brd-6J-saN" secondAttribute="leading" constant="20" symbolic="YES" id="YeI-ie-7B9"/>
|
||||
<constraint firstItem="mzw-F2-aAQ" firstAttribute="top" secondItem="5IL-zZ-CL9" secondAttribute="bottom" constant="6" symbolic="YES" id="hC7-fa-qhc"/>
|
||||
<constraint firstItem="pYB-E5-4Nv" firstAttribute="trailing" secondItem="mzw-F2-aAQ" secondAttribute="trailing" id="tD3-Pz-Qhz"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="leading" secondItem="5IL-zZ-CL9" secondAttribute="leading" id="tjY-PG-4Kz"/>
|
||||
<constraint firstItem="5IL-zZ-CL9" firstAttribute="trailing" secondItem="mzw-F2-aAQ" secondAttribute="trailing" id="xg7-MH-hSW"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="leading" secondItem="5IL-zZ-CL9" secondAttribute="leading" id="4Bc-Yl-MiB"/>
|
||||
<constraint firstItem="pYB-E5-4Nv" firstAttribute="top" secondItem="mzw-F2-aAQ" secondAttribute="bottom" constant="6" symbolic="YES" id="4om-Rh-ywp"/>
|
||||
<constraint firstItem="5IL-zZ-CL9" firstAttribute="top" secondItem="Yaj-QY-7xV" secondAttribute="bottom" constant="6" symbolic="YES" id="7iI-Gm-cGt"/>
|
||||
<constraint firstItem="h4r-Sp-LBI" firstAttribute="top" secondItem="5IL-zZ-CL9" secondAttribute="bottom" constant="6" symbolic="YES" id="8Pq-i7-vK8"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="trailing" secondItem="5IL-zZ-CL9" secondAttribute="trailing" id="8QP-dq-cfD"/>
|
||||
<constraint firstItem="mzw-F2-aAQ" firstAttribute="leading" secondItem="pYB-E5-4Nv" secondAttribute="leading" id="PzO-It-L9B"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="top" secondItem="brd-6J-saN" secondAttribute="top" constant="13.5" id="Qf7-x1-bcp"/>
|
||||
<constraint firstItem="h4r-Sp-LBI" firstAttribute="leading" secondItem="mzw-F2-aAQ" secondAttribute="leading" id="aFS-pr-dqO"/>
|
||||
<constraint firstItem="h4r-Sp-LBI" firstAttribute="trailing" secondItem="mzw-F2-aAQ" secondAttribute="trailing" id="b89-f7-ko6"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Yaj-QY-7xV" secondAttribute="trailing" constant="20" symbolic="YES" id="jqe-y8-arB"/>
|
||||
<constraint firstItem="Yaj-QY-7xV" firstAttribute="leading" secondItem="brd-6J-saN" secondAttribute="leading" constant="20" symbolic="YES" id="mjS-PE-C1d"/>
|
||||
<constraint firstItem="mzw-F2-aAQ" firstAttribute="top" secondItem="h4r-Sp-LBI" secondAttribute="bottom" constant="6" symbolic="YES" id="oJ7-yv-0qY"/>
|
||||
<constraint firstItem="mzw-F2-aAQ" firstAttribute="trailing" secondItem="pYB-E5-4Nv" secondAttribute="trailing" id="tTn-wC-ycy"/>
|
||||
<constraint firstItem="5IL-zZ-CL9" firstAttribute="leading" secondItem="h4r-Sp-LBI" secondAttribute="leading" id="v0c-Cb-FH7"/>
|
||||
<constraint firstItem="5IL-zZ-CL9" firstAttribute="trailing" secondItem="h4r-Sp-LBI" secondAttribute="trailing" id="z2C-jk-sNa"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</box>
|
||||
|
@ -634,11 +651,11 @@
|
|||
</constraints>
|
||||
<textFieldCell key="cell" selectable="YES" id="wQ9-px-b07">
|
||||
<font key="font" metaFont="system"/>
|
||||
<mutableString key="title">Regarding On-Screen Keyboard Viewer Support:
|
||||
<string key="title">Regarding On-Screen Keyboard Viewer Support:
|
||||
|
||||
Since v1.3.2, vChewing supports on-screen keyboard by supporting "Apple Zhuyin Bopomofo" and "Apple Zhuyin Eten" alphanumeric layout. Theoreotically, these two dynamic layouts work with all types of Apple physical keyboards, and you can report failure cases through macOS Feedback Assistant app if macOS built-in Zhuyin / Eten-Zhuyin Input Method fails from working with your non-US keyboard.
|
||||
|
||||
HOWEVER, choosing such dynamic alphanumeric layouts REQUIRING THAT you have to choose the Bopomofo layout above to Standard (Microsoft / Dachen) since the Bopomofo / Eten layout support in this case is already finished by the macOS system.</mutableString>
|
||||
HOWEVER, choosing such dynamic alphanumeric layouts REQUIRING THAT you have to choose the Bopomofo layout above to Standard (Microsoft / Dachen) since the Bopomofo / Eten layout support in this case is already finished by the macOS system.</string>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
|
|
|
@ -116,6 +116,9 @@
|
|||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "BSK-bH-Gct"; */
|
||||
"BSK-bH-Gct.title" = "Auto-convert traditional Chinese glyphs to KangXi characters";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "eia-1F-Do0"; */
|
||||
"eia-1F-Do0.title" = "Auto-convert traditional Chinese glyphs to JIS Shinjitai characters";
|
||||
|
||||
/* Class = "NSBox"; title = "Advanced Settings"; ObjectID = "E1l-m8-xgb"; */
|
||||
"E1l-m8-xgb.title" = "Advanced Settings";
|
||||
|
||||
|
|
|
@ -116,6 +116,9 @@
|
|||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "BSK-bH-Gct"; */
|
||||
"BSK-bH-Gct.title" = "自動的に繁体漢字を康熙文字と変換する";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "eia-1F-Do0"; */
|
||||
"eia-1F-Do0.title" = "自動的に繁体漢字をJIS 新字体と変換する";
|
||||
|
||||
/* Class = "NSBox"; title = "Advanced Settings"; ObjectID = "E1l-m8-xgb"; */
|
||||
"E1l-m8-xgb.title" = "詳細設定";
|
||||
|
||||
|
|
|
@ -116,6 +116,9 @@
|
|||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "BSK-bH-Gct"; */
|
||||
"BSK-bH-Gct.title" = "自动将繁体中文字转换为康熙字";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "eia-1F-Do0"; */
|
||||
"eia-1F-Do0.title" = "自动将繁体中文字转换为日本简化字(JIS 新字体)";
|
||||
|
||||
/* Class = "NSBox"; title = "Advanced Settings"; ObjectID = "E1l-m8-xgb"; */
|
||||
"E1l-m8-xgb.title" = "进阶设定";
|
||||
|
||||
|
|
|
@ -116,6 +116,9 @@
|
|||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "BSK-bH-Gct"; */
|
||||
"BSK-bH-Gct.title" = "自動將繁體中文字轉換為康熙字";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Auto-convert traditional Chinese glyphs to KangXi characters"; ObjectID = "eia-1F-Do0"; */
|
||||
"eia-1F-Do0.title" = "自動將繁體中文字轉換為日本簡化字(JIS 新字體)";
|
||||
|
||||
/* Class = "NSBox"; title = "Advanced Settings"; ObjectID = "E1l-m8-xgb"; */
|
||||
"E1l-m8-xgb.title" = "進階設定";
|
||||
|
||||
|
|
Loading…
Reference in New Issue