Pre Merge pull request !93 from ShikiSuen/upd/2.0.0sp2
This commit is contained in:
commit
689db89aa8
|
@ -0,0 +1,10 @@
|
||||||
|
#import <InputMethodKit/InputMethodKit.h>
|
||||||
|
|
||||||
|
@interface IMKCandidates(vChewing) {}
|
||||||
|
|
||||||
|
- (unsigned long long)windowLevel;
|
||||||
|
- (void)setWindowLevel:(unsigned long long)level;
|
||||||
|
- (BOOL)handleKeyboardEvent:(NSEvent *)event;
|
||||||
|
- (void)setFontSize:(double)fontSize;
|
||||||
|
|
||||||
|
@end
|
|
@ -39,6 +39,9 @@ extension ctlInputMethod {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 沒有文字輸入客體的話,就不要再往下處理了。
|
||||||
|
guard client() != nil else { return false }
|
||||||
|
|
||||||
/// 這裡仍舊需要判斷 flags。之前使輸入法狀態卡住無法敲漢字的問題已在 KeyHandler 內修復。
|
/// 這裡仍舊需要判斷 flags。之前使輸入法狀態卡住無法敲漢字的問題已在 KeyHandler 內修復。
|
||||||
/// 這裡不判斷 flags 的話,用方向鍵前後定位光標之後,再次試圖觸發組字區時、反而會在首次按鍵時失敗。
|
/// 這裡不判斷 flags 的話,用方向鍵前後定位光標之後,再次試圖觸發組字區時、反而會在首次按鍵時失敗。
|
||||||
/// 同時注意:必須在 event.type == .flagsChanged 結尾插入 return false,
|
/// 同時注意:必須在 event.type == .flagsChanged 結尾插入 return false,
|
||||||
|
|
|
@ -252,7 +252,7 @@ class ctlInputMethod: IMKInputController {
|
||||||
isARepeat: event.isARepeat,
|
isARepeat: event.isARepeat,
|
||||||
keyCode: event.keyCode
|
keyCode: event.keyCode
|
||||||
)
|
)
|
||||||
ctlCandidateCurrent.perform(Selector(("handleKeyboardEvent:")), with: newEvent)
|
ctlCandidateCurrent.handleKeyboardEvent(newEvent)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctlCandidateCurrent.interpretKeyEvents([event])
|
ctlCandidateCurrent.interpretKeyEvents([event])
|
||||||
|
|
|
@ -91,7 +91,7 @@ extension ctlInputMethod {
|
||||||
ctlInputMethod.ctlCandidateCurrent.keyLabelFont = labelFont(
|
ctlInputMethod.ctlCandidateCurrent.keyLabelFont = labelFont(
|
||||||
name: mgrPrefs.candidateKeyLabelFontName, size: keyLabelSize
|
name: mgrPrefs.candidateKeyLabelFontName, size: keyLabelSize
|
||||||
)
|
)
|
||||||
ctlInputMethod.ctlCandidateCurrent.candidateFont = candidateFont(
|
ctlInputMethod.ctlCandidateCurrent.candidateFont = ctlInputMethod.candidateFont(
|
||||||
name: mgrPrefs.candidateTextFontName, size: textSize
|
name: mgrPrefs.candidateTextFontName, size: textSize
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -107,10 +107,10 @@ extension ctlInputMethod {
|
||||||
ctlInputMethod.ctlCandidateCurrent.reloadData()
|
ctlInputMethod.ctlCandidateCurrent.reloadData()
|
||||||
|
|
||||||
// Spotlight 視窗會擋住 IMK 選字窗,所以需要特殊處理。
|
// Spotlight 視窗會擋住 IMK 選字窗,所以需要特殊處理。
|
||||||
if let ctlCandidateCurrent = ctlInputMethod.ctlCandidateCurrent as? ctlCandidateIMK,
|
if let ctlCandidateCurrent = ctlInputMethod.ctlCandidateCurrent as? ctlCandidateIMK {
|
||||||
mgrPrefs.adjustIMKCandidateWindowLevel
|
while ctlCandidateCurrent.windowLevel() <= client.windowLevel() {
|
||||||
{
|
ctlCandidateCurrent.setWindowLevel(UInt64(max(0, client.windowLevel() + 1000)))
|
||||||
ctlCandidateCurrent.perform(Selector(("setWindowLevel:")), with: client.windowLevel() + 1000)
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ctlInputMethod.ctlCandidateCurrent.visible = true
|
ctlInputMethod.ctlCandidateCurrent.visible = true
|
||||||
|
@ -166,7 +166,7 @@ extension ctlInputMethod {
|
||||||
/// 5) Do NOT enable either KangXi conversion mode nor JIS conversion mode. They are disabled by default.
|
/// 5) Do NOT enable either KangXi conversion mode nor JIS conversion mode. They are disabled by default.
|
||||||
/// 6) Expecting the glyph differences of the candidate "骨" between PingFang SC and PingFang TC when rendering
|
/// 6) Expecting the glyph differences of the candidate "骨" between PingFang SC and PingFang TC when rendering
|
||||||
/// the candidate window in different "vChewing-CHS" and "vChewing-CHT" input modes.
|
/// the candidate window in different "vChewing-CHS" and "vChewing-CHT" input modes.
|
||||||
func candidateFont(name: String?, size: CGFloat) -> NSFont {
|
static func candidateFont(name: String? = nil, size: CGFloat) -> NSFont {
|
||||||
let finalReturnFont: NSFont =
|
let finalReturnFont: NSFont =
|
||||||
{
|
{
|
||||||
switch IME.currentInputMode {
|
switch IME.currentInputMode {
|
||||||
|
@ -181,7 +181,7 @@ extension ctlInputMethod {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
?? NSFont.systemFont(ofSize: size)
|
?? NSFont.systemFont(ofSize: size)
|
||||||
if let name = name {
|
if let name = name, !name.isEmpty {
|
||||||
return NSFont(name: name, size: size) ?? finalReturnFont
|
return NSFont(name: name, size: size) ?? finalReturnFont
|
||||||
}
|
}
|
||||||
return finalReturnFont
|
return finalReturnFont
|
||||||
|
|
|
@ -54,7 +54,6 @@ public enum UserDef: String, CaseIterable {
|
||||||
case kUseIMKCandidateWindow = "UseIMKCandidateWindow"
|
case kUseIMKCandidateWindow = "UseIMKCandidateWindow"
|
||||||
case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier"
|
case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier"
|
||||||
case kShouldAlwaysUseShiftKeyAccommodation = "ShouldAlwaysUseShiftKeyAccommodation"
|
case kShouldAlwaysUseShiftKeyAccommodation = "ShouldAlwaysUseShiftKeyAccommodation"
|
||||||
case kAdjustIMKCandidateWindowLevel = "AdjustIMKCandidateWindowLevel"
|
|
||||||
|
|
||||||
case kCandidateTextFontName = "CandidateTextFontName"
|
case kCandidateTextFontName = "CandidateTextFontName"
|
||||||
case kCandidateKeyLabelFontName = "CandidateKeyLabelFontName"
|
case kCandidateKeyLabelFontName = "CandidateKeyLabelFontName"
|
||||||
|
@ -297,9 +296,6 @@ public enum mgrPrefs {
|
||||||
UserDefaults.standard.setDefault(
|
UserDefaults.standard.setDefault(
|
||||||
mgrPrefs.shouldAlwaysUseShiftKeyAccommodation, forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue
|
mgrPrefs.shouldAlwaysUseShiftKeyAccommodation, forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue
|
||||||
)
|
)
|
||||||
UserDefaults.standard.setDefault(
|
|
||||||
mgrPrefs.adjustIMKCandidateWindowLevel, forKey: UserDef.kAdjustIMKCandidateWindowLevel.rawValue
|
|
||||||
)
|
|
||||||
|
|
||||||
// -----
|
// -----
|
||||||
|
|
||||||
|
@ -423,9 +419,6 @@ public enum mgrPrefs {
|
||||||
@UserDefault(key: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue, defaultValue: false)
|
@UserDefault(key: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue, defaultValue: false)
|
||||||
static var shouldAlwaysUseShiftKeyAccommodation: Bool
|
static var shouldAlwaysUseShiftKeyAccommodation: Bool
|
||||||
|
|
||||||
@UserDefault(key: UserDef.kAdjustIMKCandidateWindowLevel.rawValue, defaultValue: false)
|
|
||||||
static var adjustIMKCandidateWindowLevel: Bool
|
|
||||||
|
|
||||||
// MARK: - Settings (Tier 3)
|
// MARK: - Settings (Tier 3)
|
||||||
|
|
||||||
static var minCandidateLength: Int {
|
static var minCandidateLength: Int {
|
||||||
|
@ -695,7 +688,6 @@ extension mgrPrefs {
|
||||||
// 然而,該選字窗的體驗直到 macOS 10.14 開始才在 IMKCandidates 當中正式提供。
|
// 然而,該選字窗的體驗直到 macOS 10.14 開始才在 IMKCandidates 當中正式提供。
|
||||||
if #unavailable(macOS 10.14) {
|
if #unavailable(macOS 10.14) {
|
||||||
mgrPrefs.useIMKCandidateWindow = false
|
mgrPrefs.useIMKCandidateWindow = false
|
||||||
mgrPrefs.adjustIMKCandidateWindowLevel = false
|
|
||||||
}
|
}
|
||||||
if #unavailable(macOS 10.15) {
|
if #unavailable(macOS 10.15) {
|
||||||
mgrPrefs.handleDefaultCandidateFontsByLangIdentifier = false
|
mgrPrefs.handleDefaultCandidateFontsByLangIdentifier = false
|
||||||
|
|
|
@ -50,7 +50,34 @@ public class ctlCandidateIMK: IMKCandidates, ctlCandidateProtocol {
|
||||||
public var keyLabelFont: NSFont = NSFont.monospacedDigitSystemFont(
|
public var keyLabelFont: NSFont = NSFont.monospacedDigitSystemFont(
|
||||||
ofSize: 14, weight: .medium
|
ofSize: 14, weight: .medium
|
||||||
)
|
)
|
||||||
public var candidateFont: NSFont = NSFont.systemFont(ofSize: 18)
|
|
||||||
|
public var candidateFont: NSFont = NSFont.systemFont(ofSize: 18) {
|
||||||
|
didSet {
|
||||||
|
setFontSize(candidateFont.pointSize)
|
||||||
|
var attributes = attributes()
|
||||||
|
// FB11300759: Set "NSAttributedString.Key.font" doesn't work.
|
||||||
|
attributes?[NSAttributedString.Key.font] = candidateFont
|
||||||
|
if mgrPrefs.handleDefaultCandidateFontsByLangIdentifier {
|
||||||
|
switch IME.currentInputMode {
|
||||||
|
case InputMode.imeModeCHS:
|
||||||
|
if #available(macOS 12.0, *) {
|
||||||
|
attributes?[NSAttributedString.Key.languageIdentifier] = "zh-Hans" as AnyObject
|
||||||
|
}
|
||||||
|
case InputMode.imeModeCHT:
|
||||||
|
if #available(macOS 12.0, *) {
|
||||||
|
attributes?[NSAttributedString.Key.languageIdentifier] =
|
||||||
|
(mgrPrefs.shiftJISShinjitaiOutputEnabled || mgrPrefs.chineseConversionEnabled)
|
||||||
|
? "ja" as AnyObject : "zh-Hant" as AnyObject
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setAttributes(attributes)
|
||||||
|
update()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public var tooltip: String = ""
|
public var tooltip: String = ""
|
||||||
|
|
||||||
var keyCount = 0
|
var keyCount = 0
|
||||||
|
@ -64,13 +91,13 @@ public class ctlCandidateIMK: IMKCandidates, ctlCandidateProtocol {
|
||||||
case .vertical:
|
case .vertical:
|
||||||
setPanelType(kIMKSingleColumnScrollingCandidatePanel)
|
setPanelType(kIMKSingleColumnScrollingCandidatePanel)
|
||||||
}
|
}
|
||||||
// 設為 true 表示先交給 ctlIME 處理
|
|
||||||
setAttributes([IMKCandidatesSendServerKeyEventFirst: true])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public required init(_ layout: CandidateLayout = .horizontal) {
|
public required init(_ layout: CandidateLayout = .horizontal) {
|
||||||
super.init(server: theServer, panelType: kIMKScrollingGridCandidatePanel)
|
super.init(server: theServer, panelType: kIMKScrollingGridCandidatePanel)
|
||||||
specifyLayout(layout)
|
specifyLayout(layout)
|
||||||
|
// 設為 true 表示先交給 ctlIME 處理
|
||||||
|
setAttributes([IMKCandidatesSendServerKeyEventFirst: true])
|
||||||
visible = false
|
visible = false
|
||||||
// guard let currentTISInputSource = currentTISInputSource else { return } // 下面兩句都沒用,所以註釋掉。
|
// guard let currentTISInputSource = currentTISInputSource else { return } // 下面兩句都沒用,所以註釋掉。
|
||||||
// setSelectionKeys([18, 19, 20, 21, 23, 22, 26, 28, 25]) // 這句是壞的,用了反而沒有選字鍵。
|
// setSelectionKeys([18, 19, 20, 21, 23, 22, 26, 28, 25]) // 這句是壞的,用了反而沒有選字鍵。
|
||||||
|
@ -301,7 +328,7 @@ public class ctlCandidateIMK: IMKCandidates, ctlCandidateProtocol {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
perform(Selector(("handleKeyboardEvent:")), with: newEvent)
|
handleKeyboardEvent(newEvent)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,6 @@ struct suiPrefPaneDevZone: View {
|
||||||
forKey: UserDef.kHandleDefaultCandidateFontsByLangIdentifier.rawValue)
|
forKey: UserDef.kHandleDefaultCandidateFontsByLangIdentifier.rawValue)
|
||||||
@State private var selShouldAlwaysUseShiftKeyAccommodation: Bool = UserDefaults.standard.bool(
|
@State private var selShouldAlwaysUseShiftKeyAccommodation: Bool = UserDefaults.standard.bool(
|
||||||
forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue)
|
forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue)
|
||||||
@State private var selAdjustIMKCandidateWindowLevel: Bool = UserDefaults.standard.bool(
|
|
||||||
forKey: UserDef.kAdjustIMKCandidateWindowLevel.rawValue)
|
|
||||||
|
|
||||||
private let contentMaxHeight: Double = 430
|
private let contentMaxHeight: Double = 430
|
||||||
private let contentWidth: Double = {
|
private let contentWidth: Double = {
|
||||||
|
@ -33,6 +31,13 @@ struct suiPrefPaneDevZone: View {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
var isMontereyOrAbove: Bool = {
|
||||||
|
if #available(macOS 12.0, *) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}()
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
ScrollView {
|
ScrollView {
|
||||||
Preferences.Container(contentWidth: contentWidth) {
|
Preferences.Container(contentWidth: contentWidth) {
|
||||||
|
@ -51,17 +56,9 @@ struct suiPrefPaneDevZone: View {
|
||||||
NSApplication.shared.terminate(nil)
|
NSApplication.shared.terminate(nil)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
Text(LocalizedStringKey("IMK candidate window is plagued with issues and incapabilities."))
|
|
||||||
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
|
|
||||||
Toggle(
|
|
||||||
LocalizedStringKey("Adjust the window level of IMK Candidate Window"),
|
|
||||||
isOn: $selAdjustIMKCandidateWindowLevel.onChange {
|
|
||||||
mgrPrefs.adjustIMKCandidateWindowLevel = selAdjustIMKCandidateWindowLevel
|
|
||||||
}
|
|
||||||
).disabled(mgrPrefs.useIMKCandidateWindow == false)
|
|
||||||
Text(
|
Text(
|
||||||
LocalizedStringKey(
|
LocalizedStringKey(
|
||||||
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop."
|
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases."
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
|
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
|
||||||
|
@ -77,6 +74,7 @@ struct suiPrefPaneDevZone: View {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
|
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
|
||||||
|
.disabled(!isMontereyOrAbove)
|
||||||
Toggle(
|
Toggle(
|
||||||
LocalizedStringKey("Use Shift Key Accommodation in all cases"),
|
LocalizedStringKey("Use Shift Key Accommodation in all cases"),
|
||||||
isOn: $selShouldAlwaysUseShiftKeyAccommodation.onChange {
|
isOn: $selShouldAlwaysUseShiftKeyAccommodation.onChange {
|
||||||
|
|
|
@ -52,6 +52,8 @@ struct suiPrefPaneGeneral: View {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
let enabledFontSizes = [12, 14, 16, 17, 18, 20, 22, 24, 32, 64, 96]
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
ScrollView {
|
ScrollView {
|
||||||
Preferences.Container(contentWidth: contentWidth) {
|
Preferences.Container(contentWidth: contentWidth) {
|
||||||
|
@ -62,18 +64,12 @@ struct suiPrefPaneGeneral: View {
|
||||||
mgrPrefs.candidateListTextSize = CGFloat(selCandidateUIFontSize)
|
mgrPrefs.candidateListTextSize = CGFloat(selCandidateUIFontSize)
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
Text("12").tag(12)
|
ForEach(0...(enabledFontSizes.count - 1), id: \.self) { id in
|
||||||
Text("14").tag(14)
|
Text(String(enabledFontSizes[id])).tag(enabledFontSizes[id])
|
||||||
Text("16").tag(16)
|
}.id(UUID())
|
||||||
Text("18").tag(18)
|
|
||||||
Text("24").tag(24)
|
|
||||||
Text("32").tag(32)
|
|
||||||
Text("64").tag(64)
|
|
||||||
Text("96").tag(96)
|
|
||||||
}
|
}
|
||||||
.labelsHidden()
|
.labelsHidden()
|
||||||
.frame(width: 120.0)
|
.frame(width: 120.0)
|
||||||
.disabled(mgrPrefs.useIMKCandidateWindow)
|
|
||||||
Text(LocalizedStringKey("Choose candidate font size for better visual clarity."))
|
Text(LocalizedStringKey("Choose candidate font size for better visual clarity."))
|
||||||
.preferenceDescription()
|
.preferenceDescription()
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,6 @@
|
||||||
|
|
||||||
// SwiftUI Preferences
|
// SwiftUI Preferences
|
||||||
"(Shift+)Space:" = "(Shift+)Space:";
|
"(Shift+)Space:" = "(Shift+)Space:";
|
||||||
"Adjust the window level of IMK Candidate Window" = "Adjust the window level of IMK Candidate Window";
|
|
||||||
"Allow backspace-editing miscomposed readings" = "Allow backspace-editing miscomposed readings";
|
"Allow backspace-editing miscomposed readings" = "Allow backspace-editing miscomposed readings";
|
||||||
"Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji";
|
"Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji";
|
||||||
"Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
|
"Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
|
||||||
|
@ -148,8 +147,7 @@
|
||||||
"Hsu" = "Hsu";
|
"Hsu" = "Hsu";
|
||||||
"Hualuo Pinyin with Numeral Intonation" = "Hualuo Pinyin with Numeral Intonation";
|
"Hualuo Pinyin with Numeral Intonation" = "Hualuo Pinyin with Numeral Intonation";
|
||||||
"IBM" = "IBM";
|
"IBM" = "IBM";
|
||||||
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.";
|
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.";
|
||||||
"IMK candidate window is plagued with issues and incapabilities." = "IMK candidate window is plagued with issues and incapabilities.";
|
|
||||||
"in front of the phrase (like macOS built-in Zhuyin IME)" = "in front of the phrase (like macOS built-in Zhuyin IME)";
|
"in front of the phrase (like macOS built-in Zhuyin IME)" = "in front of the phrase (like macOS built-in Zhuyin IME)";
|
||||||
"Japanese" = "Japanese";
|
"Japanese" = "Japanese";
|
||||||
"Keyboard Shortcuts:" = "Keyboard Shortcuts:";
|
"Keyboard Shortcuts:" = "Keyboard Shortcuts:";
|
||||||
|
|
|
@ -88,7 +88,6 @@
|
||||||
|
|
||||||
// SwiftUI Preferences
|
// SwiftUI Preferences
|
||||||
"(Shift+)Space:" = "(Shift+)Space:";
|
"(Shift+)Space:" = "(Shift+)Space:";
|
||||||
"Adjust the window level of IMK Candidate Window" = "Adjust the window level of IMK Candidate Window";
|
|
||||||
"Allow backspace-editing miscomposed readings" = "Allow backspace-editing miscomposed readings";
|
"Allow backspace-editing miscomposed readings" = "Allow backspace-editing miscomposed readings";
|
||||||
"Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji";
|
"Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji";
|
||||||
"Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
|
"Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
|
||||||
|
@ -148,8 +147,7 @@
|
||||||
"Hsu" = "Hsu";
|
"Hsu" = "Hsu";
|
||||||
"Hualuo Pinyin with Numeral Intonation" = "Hualuo Pinyin with Numeral Intonation";
|
"Hualuo Pinyin with Numeral Intonation" = "Hualuo Pinyin with Numeral Intonation";
|
||||||
"IBM" = "IBM";
|
"IBM" = "IBM";
|
||||||
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.";
|
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.";
|
||||||
"IMK candidate window is plagued with issues and incapabilities." = "IMK candidate window is plagued with issues and incapabilities.";
|
|
||||||
"in front of the phrase (like macOS built-in Zhuyin IME)" = "in front of the phrase (like macOS built-in Zhuyin IME)";
|
"in front of the phrase (like macOS built-in Zhuyin IME)" = "in front of the phrase (like macOS built-in Zhuyin IME)";
|
||||||
"Japanese" = "Japanese";
|
"Japanese" = "Japanese";
|
||||||
"Keyboard Shortcuts:" = "Keyboard Shortcuts:";
|
"Keyboard Shortcuts:" = "Keyboard Shortcuts:";
|
||||||
|
|
|
@ -88,7 +88,6 @@
|
||||||
|
|
||||||
// SwiftUI Preferences
|
// SwiftUI Preferences
|
||||||
"(Shift+)Space:" = "(Shift+)Space:";
|
"(Shift+)Space:" = "(Shift+)Space:";
|
||||||
"Adjust the window level of IMK Candidate Window" = "IMK 候補陳列ウィンドウの表示の優先順位を調整する";
|
|
||||||
"Allow backspace-editing miscomposed readings" = "効かぬ音読みを BackSpace で再編集";
|
"Allow backspace-editing miscomposed readings" = "効かぬ音読みを BackSpace で再編集";
|
||||||
"Allow boosting / excluding a candidate of single kanji" = "即排除/即最優先にできる候補の文字数の最低限は1字とする";
|
"Allow boosting / excluding a candidate of single kanji" = "即排除/即最優先にできる候補の文字数の最低限は1字とする";
|
||||||
"Allow using Enter key to confirm associated candidate selection" = "Enter キーを連想語彙候補の確認のために使う";
|
"Allow using Enter key to confirm associated candidate selection" = "Enter キーを連想語彙候補の確認のために使う";
|
||||||
|
@ -148,8 +147,7 @@
|
||||||
"Hsu" = "許氏国音自然配列";
|
"Hsu" = "許氏国音自然配列";
|
||||||
"Hualuo Pinyin with Numeral Intonation" = "中華ローマ弁音 (ローマ字+数字音調)";
|
"Hualuo Pinyin with Numeral Intonation" = "中華ローマ弁音 (ローマ字+数字音調)";
|
||||||
"IBM" = "IBM 配列";
|
"IBM" = "IBM 配列";
|
||||||
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK 候補陳列ウィンドウにはこういう欠陥がある (#FB11300759):何の特殊措置をしない限り、候補陳列ウィンドウは常に NSMenu と Spotlight に遮られている。これをチェックすれば、毎度候補陳列ウィンドウを呼ぶたびに、候補陳列ウィンドウの表示の優先順位を自動的に調整する。だが、この特殊措置こそが、完璧とは言えぬ(この欠陥も #FB11300759 に記されておる):一旦入力アプリ自身が再起動すると、このパソコンの再起動まで、IMK 候補陳列ウィンドウは所在のデスクトップの全てのウィンドウの後ろに隠されてしまうことになる。";
|
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK 候補陳列ウィンドウは、Apple の未公開のAPIを「bridging-header」という強引的な手段で引き出して利用した機能である。現時点で macOS 10.14 Mojave から macOS 13 Ventura まで利用可能であるが、その後の新しい macOS との互換性の話はまだ早い。";
|
||||||
"IMK candidate window is plagued with issues and incapabilities." = "IMK 候補陳列ウィンドウで言選り用キーは現時点で調整不可、且つ他故障あり。";
|
|
||||||
"in front of the phrase (like macOS built-in Zhuyin IME)" = "単語の前で // macOS 内蔵注音入力のやり方";
|
"in front of the phrase (like macOS built-in Zhuyin IME)" = "単語の前で // macOS 内蔵注音入力のやり方";
|
||||||
"Japanese" = "和語";
|
"Japanese" = "和語";
|
||||||
"Keyboard Shortcuts:" = "ショートカット:";
|
"Keyboard Shortcuts:" = "ショートカット:";
|
||||||
|
|
|
@ -88,7 +88,6 @@
|
||||||
|
|
||||||
// SwiftUI Preferences
|
// SwiftUI Preferences
|
||||||
"(Shift+)Space:" = "(Shift+)空格键:";
|
"(Shift+)Space:" = "(Shift+)空格键:";
|
||||||
"Adjust the window level of IMK Candidate Window" = "调整 IMK 选字窗的显示优先级";
|
|
||||||
"Allow backspace-editing miscomposed readings" = "允许对无效的读音使用 BackSpace 编辑";
|
"Allow backspace-editing miscomposed readings" = "允许对无效的读音使用 BackSpace 编辑";
|
||||||
"Allow boosting / excluding a candidate of single kanji" = "将可以就地升权/排除的候选字词的最短词长设为单个汉字";
|
"Allow boosting / excluding a candidate of single kanji" = "将可以就地升权/排除的候选字词的最短词长设为单个汉字";
|
||||||
"Allow using Enter key to confirm associated candidate selection" = "允许使用 Enter 确认当前选中的联想词";
|
"Allow using Enter key to confirm associated candidate selection" = "允许使用 Enter 确认当前选中的联想词";
|
||||||
|
@ -148,8 +147,7 @@
|
||||||
"Hsu" = "许氏国音自然排列";
|
"Hsu" = "许氏国音自然排列";
|
||||||
"Hualuo Pinyin with Numeral Intonation" = "华罗拼音+数字标调";
|
"Hualuo Pinyin with Numeral Intonation" = "华罗拼音+数字标调";
|
||||||
"IBM" = "IBM 排列";
|
"IBM" = "IBM 排列";
|
||||||
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK 选字窗有一处行为缺陷 (#FB11300759):在预设情况下,会始终被 NSMenu 和 Spotlight 挡住。启用该选项的话,威注音会试图根据当前状况自动调整该选字窗的显示优先级。然而,该保守治疗方案本身也有一个缺陷 (也备案于 #FB11300759):只要输入法本身有重新启动过,则 IMK 选字窗便会顽固地显示于当前桌面所有视窗的底部,直至重新开机为止。";
|
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK 选字窗依赖于 Apple 的私有 API,而且是借由桥接档案头强制曝露的方法使用的。目前,该功能仅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系统内有测试过可用性。至于在未来的 macOS 发行版当中是否可用,则需要另行测试、才能下结论。";
|
||||||
"IMK candidate window is plagued with issues and incapabilities." = "IMK 选字窗目前暂时无法正常自订选字键,并具其它未知故障。";
|
|
||||||
"in front of the phrase (like macOS built-in Zhuyin IME)" = "将游标置于词语前方 // macOS 内建注音风格";
|
"in front of the phrase (like macOS built-in Zhuyin IME)" = "将游标置于词语前方 // macOS 内建注音风格";
|
||||||
"Japanese" = "和语";
|
"Japanese" = "和语";
|
||||||
"Keyboard Shortcuts:" = "键盘快捷键:";
|
"Keyboard Shortcuts:" = "键盘快捷键:";
|
||||||
|
|
|
@ -88,7 +88,6 @@
|
||||||
|
|
||||||
// SwiftUI Preferences
|
// SwiftUI Preferences
|
||||||
"(Shift+)Space:" = "(Shift+)空格鍵:";
|
"(Shift+)Space:" = "(Shift+)空格鍵:";
|
||||||
"Adjust the window level of IMK Candidate Window" = "調整 IMK 選字窗的顯示優先級";
|
|
||||||
"Allow backspace-editing miscomposed readings" = "允許對無效的讀音使用 BackSpace 編輯";
|
"Allow backspace-editing miscomposed readings" = "允許對無效的讀音使用 BackSpace 編輯";
|
||||||
"Allow boosting / excluding a candidate of single kanji" = "將可以就地升權/排除的候選字詞的最短詞長設為單個漢字";
|
"Allow boosting / excluding a candidate of single kanji" = "將可以就地升權/排除的候選字詞的最短詞長設為單個漢字";
|
||||||
"Allow using Enter key to confirm associated candidate selection" = "允許使用 Enter 確認當前選中的聯想詞";
|
"Allow using Enter key to confirm associated candidate selection" = "允許使用 Enter 確認當前選中的聯想詞";
|
||||||
|
@ -148,8 +147,7 @@
|
||||||
"Hsu" = "許氏國音自然排列";
|
"Hsu" = "許氏國音自然排列";
|
||||||
"Hualuo Pinyin with Numeral Intonation" = "華羅拼音+數字標調";
|
"Hualuo Pinyin with Numeral Intonation" = "華羅拼音+數字標調";
|
||||||
"IBM" = "IBM 排列";
|
"IBM" = "IBM 排列";
|
||||||
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK 選字窗有一處行為缺陷 (#FB11300759):在預設情況下,會始終被 NSMenu 和 Spotlight 擋住。啟用該選項的話,威注音會試圖根據當前狀況自動調整該選字窗的顯示優先級。然而,該保守治療方案本身也有一個缺陷 (也備案於 #FB11300759):只要輸入法本身有重新啟動過,則 IMK 選字窗便會頑固地顯示於當前桌面所有視窗的底部,直至重新開機為止。";
|
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK 選字窗依賴於 Apple 的私有 API,而且是藉由橋接檔案頭強制曝露的方法使用的。目前,該功能僅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系統內有測試過可用性。至於在未來的 macOS 發行版當中是否可用,則需要另行測試、才能下結論。";
|
||||||
"IMK candidate window is plagued with issues and incapabilities." = "IMK 選字窗目前暫時無法正常自訂選字鍵,併具其它未知故障。";
|
|
||||||
"in front of the phrase (like macOS built-in Zhuyin IME)" = "將游標置於詞語前方 // macOS 內建注音風格";
|
"in front of the phrase (like macOS built-in Zhuyin IME)" = "將游標置於詞語前方 // macOS 內建注音風格";
|
||||||
"Japanese" = "和語";
|
"Japanese" = "和語";
|
||||||
"Keyboard Shortcuts:" = "鍵盤快速鍵:";
|
"Keyboard Shortcuts:" = "鍵盤快速鍵:";
|
||||||
|
|
|
@ -252,7 +252,10 @@
|
||||||
<menuItem title="12" tag="12" id="93"/>
|
<menuItem title="12" tag="12" id="93"/>
|
||||||
<menuItem title="14" tag="14" id="94"/>
|
<menuItem title="14" tag="14" id="94"/>
|
||||||
<menuItem title="16" tag="16" id="95"/>
|
<menuItem title="16" tag="16" id="95"/>
|
||||||
|
<menuItem title="17" tag="17" id="utP-KB-Eku"/>
|
||||||
<menuItem title="18" state="on" tag="18" id="96"/>
|
<menuItem title="18" state="on" tag="18" id="96"/>
|
||||||
|
<menuItem title="20" tag="20" id="VXR-P6-Ipf"/>
|
||||||
|
<menuItem title="22" tag="22" id="EtM-QP-Muf"/>
|
||||||
<menuItem title="24" tag="24" id="98"/>
|
<menuItem title="24" tag="24" id="98"/>
|
||||||
<menuItem title="32" tag="32" id="99"/>
|
<menuItem title="32" tag="32" id="99"/>
|
||||||
<menuItem title="64" tag="64" id="100"/>
|
<menuItem title="64" tag="64" id="100"/>
|
||||||
|
@ -262,11 +265,6 @@
|
||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
<connections>
|
<connections>
|
||||||
<binding destination="32" name="selectedTag" keyPath="values.CandidateListTextSize" id="107"/>
|
<binding destination="32" name="selectedTag" keyPath="values.CandidateListTextSize" id="107"/>
|
||||||
<binding destination="32" name="enabled" keyPath="values.UseIMKCandidateWindow" id="bpc-Zm-I2n">
|
|
||||||
<dictionary key="options">
|
|
||||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
|
||||||
</dictionary>
|
|
||||||
</binding>
|
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0Fh-O5-BKD">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0Fh-O5-BKD">
|
||||||
|
@ -1060,11 +1058,11 @@
|
||||||
<point key="canvasLocation" x="-392" y="-704"/>
|
<point key="canvasLocation" x="-392" y="-704"/>
|
||||||
</visualEffectView>
|
</visualEffectView>
|
||||||
<visualEffectView blendingMode="behindWindow" material="sidebar" state="followsWindowActiveState" id="Qd7-ln-nNO" userLabel="vwrDevZone">
|
<visualEffectView blendingMode="behindWindow" material="sidebar" state="followsWindowActiveState" id="Qd7-ln-nNO" userLabel="vwrDevZone">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="445" height="272"/>
|
<rect key="frame" x="0.0" y="0.0" width="445" height="190"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lblControlDevZoneTitleDescription" userLabel="lblControlDevZoneTitleDescription">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lblControlDevZoneTitleDescription" userLabel="lblControlDevZoneTitleDescription">
|
||||||
<rect key="frame" x="18" y="222" width="343" height="30"/>
|
<rect key="frame" x="18" y="140" width="343" height="30"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" id="lblDevZoneTitleDescription">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" id="lblDevZoneTitleDescription">
|
||||||
<font key="font" metaFont="cellTitle"/>
|
<font key="font" metaFont="cellTitle"/>
|
||||||
<string key="title">Warning: This page is for testing future features.
|
<string key="title">Warning: This page is for testing future features.
|
||||||
|
@ -1074,10 +1072,10 @@ Features listed here may not work as expected.</string>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="P1o-bW-Tjn">
|
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="P1o-bW-Tjn">
|
||||||
<rect key="frame" x="20" y="211" width="339" height="5"/>
|
<rect key="frame" x="20" y="129" width="339" height="5"/>
|
||||||
</box>
|
</box>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="le7-59-tFK" userLabel="tglControlDevZoneIMKCandidate">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="le7-59-tFK" userLabel="tglControlDevZoneIMKCandidate">
|
||||||
<rect key="frame" x="19" y="191.5" width="340" height="17"/>
|
<rect key="frame" x="19" y="109.5" width="340" height="17"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="16" id="054-U2-1Xk"/>
|
<constraint firstAttribute="height" constant="16" id="054-U2-1Xk"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
|
@ -1091,39 +1089,13 @@ Features listed here may not work as expected.</string>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jrF-Cr-EDB" userLabel="lblControlDevZoneIMKCandidate">
|
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jrF-Cr-EDB" userLabel="lblControlDevZoneIMKCandidate">
|
||||||
<rect key="frame" x="18" y="169" width="409" height="14"/>
|
<rect key="frame" x="18" y="31" width="409" height="70"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="405" id="eHP-6y-RUV"/>
|
<constraint firstAttribute="width" constant="405" id="eHP-6y-RUV"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="IMK candidate window is plagued with issues and incapabilities." id="lblDevZoneIMKCandidate" userLabel="lblDevZoneIMKCandidate">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="lblDevZoneIMKCandidate" userLabel="lblDevZoneIMKCandidate">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
|
<string key="title">IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.</string>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
|
||||||
</textFieldCell>
|
|
||||||
</textField>
|
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OJj-Hq-nF8" userLabel="tglControlDevZoneIMKCandidateLevel">
|
|
||||||
<rect key="frame" x="19" y="145.5" width="406" height="17"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="height" constant="16" id="pEL-6t-gbP"/>
|
|
||||||
</constraints>
|
|
||||||
<buttonCell key="cell" type="check" title="Adjust the window level of IMK Candidate Window" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="tglDevZoneIMKCandidateLevel" userLabel="tglDevZoneIMKCandidateLevel">
|
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
|
||||||
<font key="font" metaFont="cellTitle"/>
|
|
||||||
</buttonCell>
|
|
||||||
<connections>
|
|
||||||
<binding destination="32" name="value" keyPath="values.AdjustIMKCandidateWindowLevel" id="E6Z-Rn-IHD"/>
|
|
||||||
<binding destination="32" name="enabled" keyPath="values.UseIMKCandidateWindow" id="qla-KO-plC"/>
|
|
||||||
</connections>
|
|
||||||
</button>
|
|
||||||
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4qO-ck-Pzw" userLabel="lblControlDevZoneIMKCandidateLevel">
|
|
||||||
<rect key="frame" x="18" y="39" width="409" height="98"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="98" id="s4O-ec-pBz"/>
|
|
||||||
<constraint firstAttribute="width" constant="405" id="zNy-dn-yPR"/>
|
|
||||||
</constraints>
|
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="lblDevZoneIMKCandidateLevel" userLabel="lblDevZoneIMKCandidateLevel">
|
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<string key="title">IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.</string>
|
|
||||||
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
|
@ -1131,24 +1103,18 @@ Features listed here may not work as expected.</string>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="leading" secondItem="Qd7-ln-nNO" secondAttribute="leading" constant="20" symbolic="YES" id="0Ia-ut-ksj"/>
|
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="leading" secondItem="Qd7-ln-nNO" secondAttribute="leading" constant="20" symbolic="YES" id="0Ia-ut-ksj"/>
|
||||||
<constraint firstItem="OJj-Hq-nF8" firstAttribute="top" secondItem="jrF-Cr-EDB" secondAttribute="bottom" constant="6.5" id="2sJ-y7-C7J"/>
|
|
||||||
<constraint firstItem="le7-59-tFK" firstAttribute="trailing" secondItem="P1o-bW-Tjn" secondAttribute="trailing" id="5G1-VY-skr"/>
|
<constraint firstItem="le7-59-tFK" firstAttribute="trailing" secondItem="P1o-bW-Tjn" secondAttribute="trailing" id="5G1-VY-skr"/>
|
||||||
<constraint firstItem="jrF-Cr-EDB" firstAttribute="trailing" secondItem="OJj-Hq-nF8" secondAttribute="trailing" id="EL1-YF-bHq"/>
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="jrF-Cr-EDB" secondAttribute="trailing" constant="20" symbolic="YES" id="H1b-Lt-gQQ"/>
|
||||||
<constraint firstItem="jrF-Cr-EDB" firstAttribute="leading" secondItem="le7-59-tFK" secondAttribute="leading" id="HZn-ty-n6v"/>
|
<constraint firstItem="jrF-Cr-EDB" firstAttribute="leading" secondItem="le7-59-tFK" secondAttribute="leading" id="HZn-ty-n6v"/>
|
||||||
<constraint firstItem="4qO-ck-Pzw" firstAttribute="top" secondItem="OJj-Hq-nF8" secondAttribute="bottom" constant="9" id="L8p-vO-Fo7"/>
|
|
||||||
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="trailing" secondItem="P1o-bW-Tjn" secondAttribute="trailing" id="LqC-ii-aOO"/>
|
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="trailing" secondItem="P1o-bW-Tjn" secondAttribute="trailing" id="LqC-ii-aOO"/>
|
||||||
<constraint firstItem="4qO-ck-Pzw" firstAttribute="leading" secondItem="OJj-Hq-nF8" secondAttribute="leading" id="UVx-eH-QjH"/>
|
|
||||||
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="leading" secondItem="P1o-bW-Tjn" secondAttribute="leading" id="Wc3-Oe-D2E"/>
|
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="leading" secondItem="P1o-bW-Tjn" secondAttribute="leading" id="Wc3-Oe-D2E"/>
|
||||||
<constraint firstItem="P1o-bW-Tjn" firstAttribute="top" secondItem="lblControlDevZoneTitleDescription" secondAttribute="bottom" constant="8" symbolic="YES" id="Whf-Gf-g65"/>
|
<constraint firstItem="P1o-bW-Tjn" firstAttribute="top" secondItem="lblControlDevZoneTitleDescription" secondAttribute="bottom" constant="8" symbolic="YES" id="Whf-Gf-g65"/>
|
||||||
<constraint firstAttribute="bottom" relation="lessThanOrEqual" secondItem="4qO-ck-Pzw" secondAttribute="bottom" constant="39" id="Wrk-iz-rTZ"/>
|
|
||||||
<constraint firstItem="jrF-Cr-EDB" firstAttribute="leading" secondItem="OJj-Hq-nF8" secondAttribute="leading" id="Z1H-NT-vGK"/>
|
|
||||||
<constraint firstItem="jrF-Cr-EDB" firstAttribute="top" secondItem="le7-59-tFK" secondAttribute="bottom" constant="9" id="aj4-H1-92H"/>
|
<constraint firstItem="jrF-Cr-EDB" firstAttribute="top" secondItem="le7-59-tFK" secondAttribute="bottom" constant="9" id="aj4-H1-92H"/>
|
||||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="4qO-ck-Pzw" secondAttribute="trailing" constant="20" symbolic="YES" id="erj-vd-tL0"/>
|
|
||||||
<constraint firstItem="le7-59-tFK" firstAttribute="top" secondItem="P1o-bW-Tjn" secondAttribute="bottom" constant="5.5" id="j3c-3A-4JT"/>
|
<constraint firstItem="le7-59-tFK" firstAttribute="top" secondItem="P1o-bW-Tjn" secondAttribute="bottom" constant="5.5" id="j3c-3A-4JT"/>
|
||||||
<constraint firstItem="le7-59-tFK" firstAttribute="leading" secondItem="P1o-bW-Tjn" secondAttribute="leading" id="tqq-97-fHt"/>
|
<constraint firstItem="le7-59-tFK" firstAttribute="leading" secondItem="P1o-bW-Tjn" secondAttribute="leading" id="tqq-97-fHt"/>
|
||||||
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="top" secondItem="Qd7-ln-nNO" secondAttribute="top" constant="20" symbolic="YES" id="vYg-x4-tfo"/>
|
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="top" secondItem="Qd7-ln-nNO" secondAttribute="top" constant="20" symbolic="YES" id="vYg-x4-tfo"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="-393.5" y="-66"/>
|
<point key="canvasLocation" x="-393.5" y="-107"/>
|
||||||
</visualEffectView>
|
</visualEffectView>
|
||||||
</objects>
|
</objects>
|
||||||
</document>
|
</document>
|
||||||
|
|
|
@ -62,8 +62,7 @@
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
||||||
"lblDevZoneIMKCandidate.title" = "IMK candidate window is plagued with issues and incapabilities.";
|
"lblDevZoneIMKCandidate.title" = "IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.";
|
||||||
"lblDevZoneIMKCandidateLevel.title" = "IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.";
|
|
||||||
"lblDevZoneTitleDescription.title" = "Warning: This page is for testing future features. \nFeatures listed here may not work as expected.";
|
"lblDevZoneTitleDescription.title" = "Warning: This page is for testing future features. \nFeatures listed here may not work as expected.";
|
||||||
"lblUpperCaseLetterKeyBehavior.title" = "Choose the behavior of Shift+Letter key with letter inputs.";
|
"lblUpperCaseLetterKeyBehavior.title" = "Choose the behavior of Shift+Letter key with letter inputs.";
|
||||||
"Parser11.title" = "Secondary Pinyin with Numeral Intonation";
|
"Parser11.title" = "Secondary Pinyin with Numeral Intonation";
|
||||||
|
@ -81,7 +80,6 @@
|
||||||
"s7u-Fm-dVg.title" = "Cycling Pages";
|
"s7u-Fm-dVg.title" = "Cycling Pages";
|
||||||
"shc-Nu-UsM.title" = "Show page buttons in candidate list";
|
"shc-Nu-UsM.title" = "Show page buttons in candidate list";
|
||||||
"tglDevZoneIMKCandidate.title" = "Use IMK Candidate Window instead (will reboot the IME)";
|
"tglDevZoneIMKCandidate.title" = "Use IMK Candidate Window instead (will reboot the IME)";
|
||||||
"tglDevZoneIMKCandidateLevel.title" = "Adjust the window level of IMK Candidate Window";
|
|
||||||
"TXr-FF-ehw.title" = "Traditional Chinese";
|
"TXr-FF-ehw.title" = "Traditional Chinese";
|
||||||
"ueU-Rz-a1C.title" = "Choose the behavior of (Shift+)Tab key in the candidate window.";
|
"ueU-Rz-a1C.title" = "Choose the behavior of (Shift+)Tab key in the candidate window.";
|
||||||
"VdT-fw-7pQ.title" = "Debug Mode";
|
"VdT-fw-7pQ.title" = "Debug Mode";
|
||||||
|
|
|
@ -62,8 +62,7 @@
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
||||||
"lblDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウで言選り用キーは現時点で調整不可、且つ他故障あり。";
|
"lblDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウは、Apple の未公開のAPIを「bridging-header」という強引的な手段で引き出して利用した機能である。現時点で macOS 10.14 Mojave から macOS 13 Ventura まで利用可能であるが、その後の新しい macOS との互換性の話はまだ早い。";
|
||||||
"lblDevZoneIMKCandidateLevel.title" = "IMK 候補陳列ウィンドウにはこういう欠陥がある (#FB11300759):何の特殊措置をしない限り、候補陳列ウィンドウは常に NSMenu と Spotlight に遮られている。これをチェックすれば、毎度候補陳列ウィンドウを呼ぶたびに、候補陳列ウィンドウの表示の優先順位を自動的に調整する。だが、この特殊措置こそが、完璧とは言えぬ(この欠陥も #FB11300759 に記されておる):一旦入力アプリ自身が再起動すると、このパソコンの再起動まで、IMK 候補陳列ウィンドウは所在のデスクトップの全てのウィンドウの後ろに隠されてしまうことになる。";
|
|
||||||
"lblDevZoneTitleDescription.title" = "警告:これからの新機能テストのために作ったページですから、\nここで陳列されている諸機能は予想通り動けるだと思わないでください。";
|
"lblDevZoneTitleDescription.title" = "警告:これからの新機能テストのために作ったページですから、\nここで陳列されている諸機能は予想通り動けるだと思わないでください。";
|
||||||
"lblUpperCaseLetterKeyBehavior.title" = "Shift+文字キーの行為をご指定ください。";
|
"lblUpperCaseLetterKeyBehavior.title" = "Shift+文字キーの行為をご指定ください。";
|
||||||
"Parser11.title" = "国音二式 (ローマ字+数字音調)";
|
"Parser11.title" = "国音二式 (ローマ字+数字音調)";
|
||||||
|
@ -81,7 +80,6 @@
|
||||||
"s7u-Fm-dVg.title" = "ページ";
|
"s7u-Fm-dVg.title" = "ページ";
|
||||||
"shc-Nu-UsM.title" = "ページボタンを表示";
|
"shc-Nu-UsM.title" = "ページボタンを表示";
|
||||||
"tglDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウを起用(入力アプリは自動的に再起動)";
|
"tglDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウを起用(入力アプリは自動的に再起動)";
|
||||||
"tglDevZoneIMKCandidateLevel.title" = "IMK 候補陳列ウィンドウの表示の優先順位を調整する";
|
|
||||||
"TXr-FF-ehw.title" = "繁体中国語";
|
"TXr-FF-ehw.title" = "繁体中国語";
|
||||||
"ueU-Rz-a1C.title" = "入力候補陳列での (Shift+)Tab キーの輪番切替対象をご指定ください。";
|
"ueU-Rz-a1C.title" = "入力候補陳列での (Shift+)Tab キーの輪番切替対象をご指定ください。";
|
||||||
"VdT-fw-7pQ.title" = "欠陥辿着モード";
|
"VdT-fw-7pQ.title" = "欠陥辿着モード";
|
||||||
|
|
|
@ -62,8 +62,7 @@
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
||||||
"lblDevZoneIMKCandidate.title" = "IMK 选字窗目前暂时无法正常自订选字键,并具其它未知故障。";
|
"lblDevZoneIMKCandidate.title" = "IMK 选字窗依赖于 Apple 的私有 API,而且是借由桥接档案头强制曝露的方法使用的。目前,该功能仅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系统内有测试过可用性。至于在未来的 macOS 发行版当中是否可用,则需要另行测试、才能下结论。";
|
||||||
"lblDevZoneIMKCandidateLevel.title" = "IMK 选字窗有一处行为缺陷 (#FB11300759):在预设情况下,会始终被 NSMenu 和 Spotlight 挡住。启用该选项的话,威注音会试图根据当前状况自动调整该选字窗的显示优先级。然而,该保守治疗方案本身也有一个缺陷 (也备案于 #FB11300759):只要输入法本身有重新启动过,则 IMK 选字窗便会顽固地显示于当前桌面所有视窗的底部,直至重新开机为止。";
|
|
||||||
"lblDevZoneTitleDescription.title" = "警告:该页面仅作未来功能测试所用。\n在此列出的功能并非处于完全可用之状态。";
|
"lblDevZoneTitleDescription.title" = "警告:该页面仅作未来功能测试所用。\n在此列出的功能并非处于完全可用之状态。";
|
||||||
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母键 的行为。";
|
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母键 的行为。";
|
||||||
"Parser11.title" = "国音二式+数字标调";
|
"Parser11.title" = "国音二式+数字标调";
|
||||||
|
@ -81,7 +80,6 @@
|
||||||
"s7u-Fm-dVg.title" = "轮替页面";
|
"s7u-Fm-dVg.title" = "轮替页面";
|
||||||
"shc-Nu-UsM.title" = "在选字窗内显示翻页按钮";
|
"shc-Nu-UsM.title" = "在选字窗内显示翻页按钮";
|
||||||
"tglDevZoneIMKCandidate.title" = "启用与 macOS 内建输入法相同的 IMK 选字窗(会自动重启输入法)";
|
"tglDevZoneIMKCandidate.title" = "启用与 macOS 内建输入法相同的 IMK 选字窗(会自动重启输入法)";
|
||||||
"tglDevZoneIMKCandidateLevel.title" = "调整 IMK 选字窗的显示优先级";
|
|
||||||
"TXr-FF-ehw.title" = "繁体中文";
|
"TXr-FF-ehw.title" = "繁体中文";
|
||||||
"ueU-Rz-a1C.title" = "指定 (Shift+)Tab 热键在选字窗内的轮替操作对象。";
|
"ueU-Rz-a1C.title" = "指定 (Shift+)Tab 热键在选字窗内的轮替操作对象。";
|
||||||
"VdT-fw-7pQ.title" = "侦错模式";
|
"VdT-fw-7pQ.title" = "侦错模式";
|
||||||
|
|
|
@ -62,8 +62,7 @@
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
|
||||||
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
|
||||||
"lblDevZoneIMKCandidate.title" = "IMK 選字窗目前暫時無法正常自訂選字鍵,併具其它未知故障。";
|
"lblDevZoneIMKCandidate.title" = "IMK 選字窗依賴於 Apple 的私有 API,而且是藉由橋接檔案頭強制曝露的方法使用的。目前,該功能僅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系統內有測試過可用性。至於在未來的 macOS 發行版當中是否可用,則需要另行測試、才能下結論。";
|
||||||
"lblDevZoneIMKCandidateLevel.title" = "IMK 選字窗有一處行為缺陷 (#FB11300759):在預設情況下,會始終被 NSMenu 和 Spotlight 擋住。啟用該選項的話,威注音會試圖根據當前狀況自動調整該選字窗的顯示優先級。然而,該保守治療方案本身也有一個缺陷 (也備案於 #FB11300759):只要輸入法本身有重新啟動過,則 IMK 選字窗便會頑固地顯示於當前桌面所有視窗的底部,直至重新開機為止。";
|
|
||||||
"lblDevZoneTitleDescription.title" = "警告:該頁面僅作未來功能測試所用。\n在此列出的功能並非處於完全可用之狀態。";
|
"lblDevZoneTitleDescription.title" = "警告:該頁面僅作未來功能測試所用。\n在此列出的功能並非處於完全可用之狀態。";
|
||||||
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母鍵 的行為。";
|
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母鍵 的行為。";
|
||||||
"Parser11.title" = "國音二式+數字標調";
|
"Parser11.title" = "國音二式+數字標調";
|
||||||
|
@ -81,7 +80,6 @@
|
||||||
"s7u-Fm-dVg.title" = "輪替頁面";
|
"s7u-Fm-dVg.title" = "輪替頁面";
|
||||||
"shc-Nu-UsM.title" = "在選字窗內顯示翻頁按鈕";
|
"shc-Nu-UsM.title" = "在選字窗內顯示翻頁按鈕";
|
||||||
"tglDevZoneIMKCandidate.title" = "啟用與 macOS 內建輸入法相同的 IMK 選字窗(會自動重啟輸入法)";
|
"tglDevZoneIMKCandidate.title" = "啟用與 macOS 內建輸入法相同的 IMK 選字窗(會自動重啟輸入法)";
|
||||||
"tglDevZoneIMKCandidateLevel.title" = "調整 IMK 選字窗的顯示優先級";
|
|
||||||
"TXr-FF-ehw.title" = "繁體中文";
|
"TXr-FF-ehw.title" = "繁體中文";
|
||||||
"ueU-Rz-a1C.title" = "指定 (Shift+)Tab 熱鍵在選字窗內的輪替操作對象。";
|
"ueU-Rz-a1C.title" = "指定 (Shift+)Tab 熱鍵在選字窗內的輪替操作對象。";
|
||||||
"VdT-fw-7pQ.title" = "偵錯模式";
|
"VdT-fw-7pQ.title" = "偵錯模式";
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2.0.0</string>
|
<string>2.0.0</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2001</string>
|
<string>2002</string>
|
||||||
<key>UpdateInfoEndpoint</key>
|
<key>UpdateInfoEndpoint</key>
|
||||||
<string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string>
|
<string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string>
|
||||||
<key>UpdateInfoSite</key>
|
<key>UpdateInfoSite</key>
|
||||||
|
|
|
@ -332,6 +332,7 @@
|
||||||
5BEDB71E283B4AEA0078EB25 /* data-symbols.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-symbols.plist"; path = "Data/data-symbols.plist"; sourceTree = "<group>"; };
|
5BEDB71E283B4AEA0078EB25 /* data-symbols.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-symbols.plist"; path = "Data/data-symbols.plist"; sourceTree = "<group>"; };
|
||||||
5BEDB71F283B4AEA0078EB25 /* data-zhuyinwen.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-zhuyinwen.plist"; path = "Data/data-zhuyinwen.plist"; sourceTree = "<group>"; };
|
5BEDB71F283B4AEA0078EB25 /* data-zhuyinwen.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-zhuyinwen.plist"; path = "Data/data-zhuyinwen.plist"; sourceTree = "<group>"; };
|
||||||
5BEDB720283B4AEA0078EB25 /* data-cht.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-cht.plist"; path = "Data/data-cht.plist"; sourceTree = "<group>"; };
|
5BEDB720283B4AEA0078EB25 /* data-cht.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-cht.plist"; path = "Data/data-cht.plist"; sourceTree = "<group>"; };
|
||||||
|
5BF255CD28B2694E003ECB60 /* vChewing-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "vChewing-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
5BF9DA2228840E6200DBD48E /* template-usersymbolphrases.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; path = "template-usersymbolphrases.txt"; sourceTree = "<group>"; usesTabs = 0; };
|
5BF9DA2228840E6200DBD48E /* template-usersymbolphrases.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; path = "template-usersymbolphrases.txt"; sourceTree = "<group>"; usesTabs = 0; };
|
||||||
5BF9DA2328840E6200DBD48E /* template-exclusions.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; path = "template-exclusions.txt"; sourceTree = "<group>"; usesTabs = 0; };
|
5BF9DA2328840E6200DBD48E /* template-exclusions.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; path = "template-exclusions.txt"; sourceTree = "<group>"; usesTabs = 0; };
|
||||||
5BF9DA2428840E6200DBD48E /* template-associatedPhrases-chs.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; name = "template-associatedPhrases-chs.txt"; path = "../Data/components/chs/template-associatedPhrases-chs.txt"; sourceTree = "<group>"; usesTabs = 0; };
|
5BF9DA2428840E6200DBD48E /* template-associatedPhrases-chs.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; name = "template-associatedPhrases-chs.txt"; path = "../Data/components/chs/template-associatedPhrases-chs.txt"; sourceTree = "<group>"; usesTabs = 0; };
|
||||||
|
@ -760,6 +761,14 @@
|
||||||
path = KeyboardExtension;
|
path = KeyboardExtension;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
5BF255CC28B2690B003ECB60 /* Headers */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
5BF255CD28B2694E003ECB60 /* vChewing-Bridging-Header.h */,
|
||||||
|
);
|
||||||
|
path = Headers;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
6A0D4E9215FC0CFA00ABF4B3 = {
|
6A0D4E9215FC0CFA00ABF4B3 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
@ -793,6 +802,7 @@
|
||||||
children = (
|
children = (
|
||||||
5B62A35027AE7F6600A19448 /* Data */,
|
5B62A35027AE7F6600A19448 /* Data */,
|
||||||
5B62A30127AE732800A19448 /* 3rdParty */,
|
5B62A30127AE732800A19448 /* 3rdParty */,
|
||||||
|
5BF255CC28B2690B003ECB60 /* Headers */,
|
||||||
6A0D4F1215FC0EB100ABF4B3 /* Modules */,
|
6A0D4F1215FC0EB100ABF4B3 /* Modules */,
|
||||||
5B62A33027AE78E500A19448 /* Resources */,
|
5B62A33027AE78E500A19448 /* Resources */,
|
||||||
5B62A33A27AE7C7500A19448 /* WindowControllers */,
|
5B62A33A27AE7C7500A19448 /* WindowControllers */,
|
||||||
|
@ -962,7 +972,7 @@
|
||||||
ProvisioningStyle = Automatic;
|
ProvisioningStyle = Automatic;
|
||||||
};
|
};
|
||||||
6A0D4EA115FC0D2D00ABF4B3 = {
|
6A0D4EA115FC0D2D00ABF4B3 = {
|
||||||
LastSwiftMigration = 1240;
|
LastSwiftMigration = 1400;
|
||||||
ProvisioningStyle = Automatic;
|
ProvisioningStyle = Automatic;
|
||||||
};
|
};
|
||||||
6ACA41CA15FC1D7500935EF6 = {
|
6ACA41CA15FC1D7500935EF6 = {
|
||||||
|
@ -1421,7 +1431,7 @@
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
@ -1460,7 +1470,7 @@
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
@ -1497,7 +1507,7 @@
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
@ -1547,7 +1557,7 @@
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
@ -1668,6 +1678,7 @@
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
@ -1678,7 +1689,7 @@
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -1711,6 +1722,7 @@
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.inputmethod.vChewing;
|
PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.inputmethod.vChewing;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
SWIFT_OBJC_BRIDGING_HEADER = "Source/Headers/vChewing-Bridging-Header.h";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
WRAPPER_EXTENSION = app;
|
WRAPPER_EXTENSION = app;
|
||||||
};
|
};
|
||||||
|
@ -1723,6 +1735,7 @@
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
@ -1733,7 +1746,7 @@
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -1760,6 +1773,7 @@
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SWIFT_COMPILATION_MODE = wholemodule;
|
SWIFT_COMPILATION_MODE = wholemodule;
|
||||||
|
SWIFT_OBJC_BRIDGING_HEADER = "Source/Headers/vChewing-Bridging-Header.h";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
WRAPPER_EXTENSION = app;
|
WRAPPER_EXTENSION = app;
|
||||||
};
|
};
|
||||||
|
@ -1777,7 +1791,7 @@
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
@ -1819,7 +1833,7 @@
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 2001;
|
CURRENT_PROJECT_VERSION = 2002;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
|
Loading…
Reference in New Issue