PrefUI & PrefWindow // Add settings regarding cassette mode.

This commit is contained in:
ShikiSuen 2022-10-15 14:13:08 +08:00
parent c0ef70fe0d
commit 4a7d165ab6
19 changed files with 683 additions and 15 deletions

View File

@ -40,6 +40,16 @@ extension NSImage {
}
}
static var tabImageCassette: NSImage! {
if #unavailable(macOS 11.0) {
return NSImage(named: "PrefToolbar-Cassette")
} else {
return NSImage(
systemSymbolName: "externaldrive.fill.badge.plus", accessibilityDescription: "Cassette Preferences"
)
}
}
static var tabImageKeyboard: NSImage! {
if #unavailable(macOS 11.0) {
return NSImage(named: "PrefToolbar-Keyboard")
@ -91,6 +101,13 @@ class CtlPrefUI {
) {
VwrPrefPaneDictionary()
},
SSPreferences.Pane(
identifier: SSPreferences.PaneIdentifier(rawValue: "Cassette"),
title: NSLocalizedString("Cassette", comment: ""),
toolbarIcon: .tabImageCassette
) {
VwrPrefPaneCassette()
},
SSPreferences.Pane(
identifier: SSPreferences.PaneIdentifier(rawValue: "Keyboard"),
title: NSLocalizedString("Keyboard", comment: ""),

View File

@ -0,0 +1,183 @@
// (c) 2021 and onwards The vChewing Project (MIT-NTL License).
// ====================
// This code is released under the MIT license (SPDX-License-Identifier: MIT)
// ... with NTL restriction stating that:
// No trademark license is granted to use the trade names, trademarks, service
// marks, or product names of Contributor, except as required to fulfill notice
// requirements defined in MIT License.
import BookmarkManager
import SSPreferences
import Shared
import SwiftUI
@available(macOS 10.15, *)
struct VwrPrefPaneCassette: View {
private var fdrCassetteDataDefault: String { "" }
@State private var tbxCassettePath: String =
UserDefaults.standard.string(forKey: UserDef.kCassettePath.rawValue)
?? ""
@State private var selCassetteEnabled: Bool = UserDefaults.standard.bool(
forKey: UserDef.kCassetteEnabled.rawValue)
@State private var selForceCassetteChineseConversion: Int = UserDefaults.standard.integer(
forKey: UserDef.kForceCassetteChineseConversion.rawValue)
@State private var selShowTranslatedStrokesInCompositionBuffer: Bool = UserDefaults.standard.bool(
forKey: UserDef.kShowTranslatedStrokesInCompositionBuffer.rawValue)
private static let dlgOpenFile = NSOpenPanel()
private let contentMaxHeight: Double = 440
private let contentWidth: Double = {
switch PrefMgr.shared.appleLanguages[0] {
case "ja":
return 520
default:
if PrefMgr.shared.appleLanguages[0].contains("zh-Han") {
return 480
} else {
return 580
}
}
}()
var body: some View {
ScrollView {
SSPreferences.Container(contentWidth: contentWidth) {
// MARK: - Cassette Data Path Management
SSPreferences.Section(title: "", bottomDivider: true) {
Text(LocalizedStringKey("Choose your desired cassette file path. Will be omitted if invalid."))
HStack {
if #available(macOS 11.0, *) {
TextField(fdrCassetteDataDefault, text: $tbxCassettePath).disabled(true)
.help(tbxCassettePath)
} else {
TextField(fdrCassetteDataDefault, text: $tbxCassettePath).disabled(true)
.toolTip(tbxCassettePath)
}
Button {
Self.dlgOpenFile.title = NSLocalizedString(
"Choose your desired cassette file path.", comment: ""
)
Self.dlgOpenFile.showsResizeIndicator = true
Self.dlgOpenFile.showsHiddenFiles = true
Self.dlgOpenFile.canChooseFiles = true
Self.dlgOpenFile.canChooseDirectories = false
Self.dlgOpenFile.allowsMultipleSelection = false
Self.dlgOpenFile.allowedFileTypes = ["cin"]
Self.dlgOpenFile.allowsOtherFileTypes = true
let bolPreviousPathValidity = LMMgr.checkCassettePathValidity(
PrefMgr.shared.cassettePath.expandingTildeInPath)
if let window = CtlPrefUI.shared.controller.window {
Self.dlgOpenFile.beginSheetModal(for: window) { result in
if result == NSApplication.ModalResponse.OK {
guard let url = Self.dlgOpenFile.url else { return }
if LMMgr.checkCassettePathValidity(url.path) {
PrefMgr.shared.cassettePath = url.path
tbxCassettePath = PrefMgr.shared.cassettePath
BookmarkManager.shared.saveBookmark(for: url)
LMMgr.loadCassetteData()
} else {
IMEApp.buzz()
if !bolPreviousPathValidity {
LMMgr.resetCassettePath()
}
return
}
} else {
if !bolPreviousPathValidity {
LMMgr.resetCassettePath()
}
return
}
}
}
} label: {
Text("...")
}
Button {
LMMgr.resetCassettePath()
tbxCassettePath = ""
} label: {
Text("×")
}
}
Toggle(
LocalizedStringKey("Enable cassette mode, suppressing phonabet input"),
isOn: $selCassetteEnabled.onChange {
if selCassetteEnabled, !LMMgr.checkCassettePathValidity(PrefMgr.shared.cassettePath) {
if let window = CtlPrefUI.shared.controller.window {
let alert = NSAlert(error: NSLocalizedString("Path invalid or file access error.", comment: ""))
alert.informativeText =
"Please reconfigure the cassette path to a valid one before enabling this mode."
alert.beginSheetModal(for: window) { _ in
LMMgr.resetCassettePath()
PrefMgr.shared.cassetteEnabled = false
selCassetteEnabled = false
}
IMEApp.buzz()
}
} else {
PrefMgr.shared.cassetteEnabled = selCassetteEnabled
LMMgr.loadCassetteData()
}
}
).controlSize(.small)
Text(
LocalizedStringKey(
"Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated)."
)
)
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
}
// MARK: - Something Else
SSPreferences.Section(title: "") {
Toggle(
LocalizedStringKey("Show translated strokes in composition buffer"),
isOn: $selShowTranslatedStrokesInCompositionBuffer.onChange {
PrefMgr.shared.showTranslatedStrokesInCompositionBuffer = selShowTranslatedStrokesInCompositionBuffer
}
)
Text(
LocalizedStringKey(
"All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file."
)
)
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
Picker(
"",
selection: $selForceCassetteChineseConversion.onChange {
PrefMgr.shared.forceCassetteChineseConversion = selForceCassetteChineseConversion
}
) {
Text(LocalizedStringKey("Disable forced conversion for cassette outputs")).tag(0)
Text(LocalizedStringKey("Enforce conversion in both input modes")).tag(1)
Text(LocalizedStringKey("Only enforce conversion in Simplified Chinese mode")).tag(2)
Text(LocalizedStringKey("Only enforce conversion in Traditional Chinese mode")).tag(3)
}
.labelsHidden()
.pickerStyle(RadioGroupPickerStyle())
Text(
LocalizedStringKey(
"This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode."
)
)
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
}
}
}
.frame(maxHeight: contentMaxHeight).fixedSize(horizontal: false, vertical: true)
.background(VisualEffectView(material: .sidebar, blendingMode: .behindWindow))
}
}
@available(macOS 11.0, *)
struct VwrPrefPaneCassette_Previews: PreviewProvider {
static var previews: some View {
VwrPrefPaneDictionary()
}
}

View File

@ -13,7 +13,7 @@ import SwiftUI
@available(macOS 10.15, *)
struct VwrPrefPaneDictionary: View {
private var fdrDefault = LMMgr.dataFolderPath(isDefaultFolder: true)
private var fdrUserDataDefault: String { LMMgr.dataFolderPath(isDefaultFolder: true) }
@State private var tbxUserDataPathSpecified: String =
UserDefaults.standard.string(forKey: UserDef.kUserDataFolderSpecified.rawValue)
?? LMMgr.dataFolderPath(isDefaultFolder: true)
@ -36,6 +36,7 @@ struct VwrPrefPaneDictionary: View {
forKey: UserDef.kHardenVerticalPunctuations.rawValue)
private static let dlgOpenPath = NSOpenPanel()
private static let dlgOpenFile = NSOpenPanel()
private let contentMaxHeight: Double = 440
private let contentWidth: Double = {
@ -53,15 +54,17 @@ struct VwrPrefPaneDictionary: View {
var body: some View {
ScrollView {
Preferences.Container(contentWidth: contentWidth) {
Preferences.Section(title: "", bottomDivider: true) {
SSPreferences.Container(contentWidth: contentWidth) {
// MARK: - User Data Folder Path Management
SSPreferences.Section(title: "", bottomDivider: true) {
Text(LocalizedStringKey("Choose your desired user data folder path. Will be omitted if invalid."))
HStack {
if #available(macOS 11.0, *) {
TextField(fdrDefault, text: $tbxUserDataPathSpecified).disabled(true)
TextField(fdrUserDataDefault, text: $tbxUserDataPathSpecified).disabled(true)
.help(tbxUserDataPathSpecified)
} else {
TextField(fdrDefault, text: $tbxUserDataPathSpecified).disabled(true)
TextField(fdrUserDataDefault, text: $tbxUserDataPathSpecified).disabled(true)
.toolTip(tbxUserDataPathSpecified)
}
Button {
@ -125,7 +128,10 @@ struct VwrPrefPaneDictionary: View {
}
).controlSize(.small)
}
Preferences.Section(title: "") {
// MARK: - Something Else
SSPreferences.Section(title: "") {
Toggle(
LocalizedStringKey("Only load factory language models if needed"),
isOn: $selOnlyLoadFactoryLangModelsIfNeeded.onChange {

View File

@ -33,6 +33,8 @@ struct VwrPrefPaneKeyboard: View {
forKey: UserDef.kUsingHotKeyHalfWidthASCII.rawValue)
@State private var selUsingHotKeyCurrencyNumerals = UserDefaults.standard.bool(
forKey: UserDef.kUsingHotKeyCurrencyNumerals.rawValue)
@State private var selUsingHotKeyCassette = UserDefaults.standard.bool(
forKey: UserDef.kUsingHotKeyCassette.rawValue)
private let contentMaxHeight: Double = 440
private let contentWidth: Double = {
@ -272,6 +274,12 @@ struct VwrPrefPaneKeyboard: View {
PrefMgr.shared.usingHotKeyCurrencyNumerals = selUsingHotKeyCurrencyNumerals
}
)
Toggle(
LocalizedStringKey("CIN Cassette Mode"),
isOn: $selUsingHotKeyCassette.onChange {
PrefMgr.shared.usingHotKeyCassette = selUsingHotKeyCassette
}
)
}
}
}

View File

@ -18,14 +18,15 @@ extension NSToolbarItem.Identifier {
fileprivate static let ofGeneral = NSToolbarItem.Identifier(rawValue: "tabGeneral")
fileprivate static let ofExperience = NSToolbarItem.Identifier(rawValue: "tabExperience")
fileprivate static let ofDictionary = NSToolbarItem.Identifier(rawValue: "tabDictionary")
fileprivate static let ofCassette = NSToolbarItem.Identifier(rawValue: "tabCassette")
fileprivate static let ofKeyboard = NSToolbarItem.Identifier(rawValue: "tabKeyboard")
fileprivate static let ofDevZone = NSToolbarItem.Identifier(rawValue: "tabDevZone")
}
// Please note that the class should be exposed using the same class name
// in Objective-C in order to let IMK to see the same class name as
// the "InputMethodServerPreferencesWindowControllerClass" in Info.plist.
@objc(CtlPrefWindow)
// Note: The "InputMethodServerPreferencesWindowControllerClass" in Info.plist
// only works with macOS System Preference pane (like macOS built-in input methods).
// It should be set as "Preferences" which correspondes to the "Preference" pref pane
// of this build target.
class CtlPrefWindow: NSWindowController {
@IBOutlet var fontSizePopUpButton: NSPopUpButton!
@IBOutlet var uiLanguageButton: NSPopUpButton!
@ -40,6 +41,7 @@ class CtlPrefWindow: NSWindowController {
@IBOutlet var vwrGeneral: NSView!
@IBOutlet var vwrExperience: NSView!
@IBOutlet var vwrDictionary: NSView!
@IBOutlet var vwrCassette: NSView!
@IBOutlet var vwrKeyboard: NSView!
@IBOutlet var vwrDevZone: NSView!
@ -276,7 +278,68 @@ class CtlPrefWindow: NSWindowController {
return
}
}
} // End IBAction
}
@IBAction func onToggleCassetteMode(_: Any) {
if PrefMgr.shared.cassetteEnabled, !LMMgr.checkCassettePathValidity(PrefMgr.shared.cassettePath) {
if let window = window {
let alert = NSAlert(error: NSLocalizedString("Path invalid or file access error.", comment: ""))
alert.informativeText =
"Please reconfigure the cassette path to a valid one before enabling this mode."
alert.beginSheetModal(for: window) { _ in
LMMgr.resetCassettePath()
PrefMgr.shared.cassetteEnabled = false
}
IMEApp.buzz()
}
} else {
LMMgr.loadCassetteData()
}
}
@IBAction func resetSpecifiedCassettePath(_: Any) {
LMMgr.resetCassettePath()
}
@IBAction func chooseCassettePath(_: Any) {
guard let window = window else { return }
let dlgOpenFile = NSOpenPanel()
dlgOpenFile.title = NSLocalizedString(
"Choose your desired cassette file path.", comment: ""
)
dlgOpenFile.showsResizeIndicator = true
dlgOpenFile.showsHiddenFiles = true
dlgOpenFile.canChooseFiles = true
dlgOpenFile.canChooseDirectories = false
dlgOpenFile.allowsMultipleSelection = false
dlgOpenFile.allowedFileTypes = ["cin"]
dlgOpenFile.allowsOtherFileTypes = true
let bolPreviousPathValidity = LMMgr.checkCassettePathValidity(
PrefMgr.shared.cassettePath.expandingTildeInPath)
dlgOpenFile.beginSheetModal(for: window) { result in
if result == NSApplication.ModalResponse.OK {
guard let url = dlgOpenFile.url else { return }
if LMMgr.checkCassettePathValidity(url.path) {
PrefMgr.shared.cassettePath = url.path
BookmarkManager.shared.saveBookmark(for: url)
LMMgr.loadCassetteData()
} else {
IMEApp.buzz()
if !bolPreviousPathValidity {
LMMgr.resetCassettePath()
}
return
}
} else {
if !bolPreviousPathValidity {
LMMgr.resetCassettePath()
}
return
}
}
}
}
extension CtlPrefWindow: NSToolbarDelegate {
@ -296,9 +359,7 @@ extension CtlPrefWindow: NSToolbarDelegate {
}
var toolbarIdentifiers: [NSToolbarItem.Identifier] {
// if #unavailable(macOS 10.13) { return [.ofGeneral, .ofExperience, .ofDictionary, .ofKeyboard] }
// return [.ofGeneral, .ofExperience, .ofDictionary, .ofKeyboard, .ofDevZone]
[.ofGeneral, .ofExperience, .ofDictionary, .ofKeyboard]
[.ofGeneral, .ofExperience, .ofDictionary, .ofCassette, .ofKeyboard]
}
func toolbarDefaultItemIdentifiers(_: NSToolbar) -> [NSToolbarItem.Identifier] {
@ -328,6 +389,11 @@ extension CtlPrefWindow: NSToolbarDelegate {
window?.toolbar?.selectedItemIdentifier = .ofDictionary
}
@objc func showCassetteView(_: Any?) {
use(view: vwrCassette)
window?.toolbar?.selectedItemIdentifier = .ofCassette
}
@objc func showKeyboardView(_: Any?) {
use(view: vwrKeyboard)
window?.toolbar?.selectedItemIdentifier = .ofKeyboard
@ -363,6 +429,12 @@ extension CtlPrefWindow: NSToolbarDelegate {
item.image = .tabImageDictionary
item.action = #selector(showDictionaryView(_:))
case .ofCassette:
let title = NSLocalizedString("Cassette", comment: "")
item.label = title
item.image = .tabImageCassette
item.action = #selector(showCassetteView(_:))
case .ofKeyboard:
let title = NSLocalizedString("Keyboard", comment: "")
item.label = title

View File

@ -116,6 +116,7 @@
"(Shift+)Space:" = "(Shift+)Space:";
"⚠︎ This feature in IMK Candidate Window defects. Please consult Apple Developer Relations\nand tell them the related Radar ID: #FB11300759." = "⚠︎ This feature in IMK Candidate Window defects. Please consult Apple Developer Relations\nand tell them the related Radar ID: #FB11300759.";
"⚠︎ This feature is useful ONLY WHEN the font you are using doesn't support dynamic vertical punctuations. However, typed vertical punctuations will always shown as vertical punctuations EVEN IF your editor has changed the typing direction to horizontal." = "⚠︎ This feature is useful ONLY WHEN the font you are using doesn't support dynamic vertical punctuations. However, typed vertical punctuations will always shown as vertical punctuations EVEN IF your editor has changed the typing direction to horizontal.";
"All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file." = "All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file.";
"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 using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
@ -138,6 +139,8 @@
"Basic Keyboard Layout:" = "Basic Keyboard Layout:";
"Candidate Layout:" = "Candidate Layout:";
"Candidate Size:" = "Candidate Size:";
"Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated)." = "Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated).";
"Cassette" = "Cassette";
"Change user interface language (will reboot the IME)." = "Change user interface language (will reboot the IME).";
"Check for updates automatically" = "Check for updates automatically";
"Choose candidate font size for better visual clarity." = "Choose candidate font size for better visual clarity.";
@ -149,6 +152,8 @@
"Choose the macOS-level alphanumerical keyboard layout. This setting is for Shift-toggled alphanumerical mode only." = "Choose the macOS-level alphanumerical keyboard layout. This setting is for Shift-toggled alphanumerical mode only.";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only. This option will only affect the appearance of the on-screen-keyboard if the current Mandarin parser is not (any) pinyin." = "Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only. This option will only affect the appearance of the on-screen-keyboard if the current Mandarin parser is not (any) pinyin.";
"Choose the phonetic layout for Mandarin parser." = "Choose the phonetic layout for Mandarin parser.";
"Choose your desired cassette file path. Will be omitted if invalid." = "Choose your desired cassette file path. Will be omitted if invalid.";
"Choose your desired cassette file path." = "Choose your desired cassette file path.";
"Choose your desired user data folder path. Will be omitted if invalid." = "Choose your desired user data folder path. Will be omitted if invalid.";
"Choose your preferred layout of the candidate window." = "Choose your preferred layout of the candidate window.";
"Clear the entire inline composition buffer like Shift+Delete" = "Clear the entire inline composition buffer like Shift+Delete";
@ -163,13 +168,16 @@
"Dictionary" = "Dictionary";
"Directly commit lowercased letters" = "Directly commit lowercased letters";
"Directly commit uppercased letters" = "Directly commit uppercased letters";
"Disable forced conversion for cassette outputs" = "Disable forced conversion for cassette outputs";
"Disable Shift key accomodation in all cases" = "Disable Shift key accomodation in all cases";
"Disassemble the previous reading, dropping its intonation" = "Disassemble the previous reading, dropping its intonation";
"Disassembling process does not work with non-phonetic reading keys." = "Disassembling process does not work with non-phonetic reading keys.";
"Emulating select-candidate-per-character mode" = "Emulating select-candidate-per-character mode";
"Enable cassette mode, suppressing phonabet input" = "Enable cassette mode, suppressing phonabet input";
"Enable CNS11643 Support (2022-09-12)" = "Enable CNS11643 Support (2022-09-12)";
"Enable Space key for calling candidate window" = "Enable Space key for calling candidate window";
"Enable symbol input support (incl. certain emoji symbols)" = "Enable symbol input support (incl. certain emoji symbols)";
"Enforce conversion in both input modes" = "Enforce conversion in both input modes";
"English" = "English";
"Eten 26" = "Eten 26";
"Eten Traditional" = "Eten Traditional";
@ -196,12 +204,16 @@
"Misc Settings:" = "Misc Settings:";
"MiTAC" = "MiTAC";
"Note: The “Delete ⌫” key on Mac keyboard is named as “BackSpace ⌫” here in order to distinguish the real “Delete ⌦” key from full-sized desktop keyboards. If you want to use the real “Delete ⌦” key on a Mac keyboard with no numpad equipped, you have to press “Fn+⌫” instead." = "Note: The “Delete ⌫” key on Mac keyboard is named as “BackSpace ⌫” here in order to distinguish the real “Delete ⌦” key from full-sized desktop keyboards. If you want to use the real “Delete ⌦” key on a Mac keyboard with no numpad equipped, you have to press “Fn+⌫” instead.";
"Only enforce conversion in Simplified Chinese mode" = "Only enforce conversion in Simplified Chinese mode";
"Only enforce conversion in Traditional Chinese mode" = "Only enforce conversion in Traditional Chinese mode";
"Only load factory language models if needed" = "Only load factory language models if needed";
"Only override the intonation of the previous reading if different" = "Only override the intonation of the previous reading if different";
"Only use this with known Chromium-based browsers" = "Only use this with known Chromium-based browsers";
"Output Settings:" = "Output Settings:";
"Override the previous reading's intonation with candidate-reset" = "Override the previous reading's intonation with candidate-reset";
"Path invalid or file access error." = "Path invalid or file access error.";
"Phonetic Parser:" = "Phonetic Parser:";
"Please reconfigure the cassette path to a valid one before enabling this mode." = "Please reconfigure the cassette path to a valid one before enabling this mode.";
"Please use mouse wheel to scroll this page. The CheatSheet is available in the IME menu." = "Please use mouse wheel to scroll this page. The CheatSheet is available in the IME menu.";
"Push the cursor in front of the phrase after selection" = "Push the cursor in front of the phrase after selection";
"Quick Setup:" = "Quick Setup:";
@ -212,6 +224,7 @@
"Shift+Letter:" = "Shift+Letter:";
"Show Hanyu-Pinyin in the inline composition buffer" = "Show Hanyu-Pinyin in the inline composition buffer";
"Show notifications when toggling Caps Lock" = "Show notifications when toggling Caps Lock";
"Show translated strokes in composition buffer" = "Show translated strokes in composition buffer";
"Simplified Chinese" = "Simplified Chinese";
"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work.";
"Space to +cycle candidates, Shift+Space to +cycle pages" = "Space to +cycle candidates, Shift+Space to +cycle pages";
@ -219,6 +232,7 @@
"Specify the behavior of intonation key when syllable composer is empty." = "Specify the behavior of intonation key when syllable composer is empty.";
"Starlight" = "Starlight";
"Stop farting (when typed phonetic combination is invalid, etc.)" = "Stop farting (when typed phonetic combination is invalid, etc.)";
"This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode." = "This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode.";
"This only works with Tadokoro candidate window." = "This only works with Tadokoro candidate window.";
"Traditional Chinese" = "Traditional Chinese";
"Trim unfinished readings on commit" = "Trim unfinished readings on commit";

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"filename" : "Cassette.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Cassette@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -116,6 +116,7 @@
"(Shift+)Space:" = "(Shift+)Space:";
"⚠︎ This feature in IMK Candidate Window defects. Please consult Apple Developer Relations\nand tell them the related Radar ID: #FB11300759." = "⚠︎ This feature in IMK Candidate Window defects. Please consult Apple Developer Relations\nand tell them the related Radar ID: #FB11300759.";
"⚠︎ This feature is useful ONLY WHEN the font you are using doesn't support dynamic vertical punctuations. However, typed vertical punctuations will always shown as vertical punctuations EVEN IF your editor has changed the typing direction to horizontal." = "⚠︎ This feature is useful ONLY WHEN the font you are using doesn't support dynamic vertical punctuations. However, typed vertical punctuations will always shown as vertical punctuations EVEN IF your editor has changed the typing direction to horizontal.";
"All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file." = "All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file.";
"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 using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
@ -138,6 +139,8 @@
"Basic Keyboard Layout:" = "Basic Keyboard Layout:";
"Candidate Layout:" = "Candidate Layout:";
"Candidate Size:" = "Candidate Size:";
"Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated)." = "Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated).";
"Cassette" = "Cassette";
"Change user interface language (will reboot the IME)." = "Change user interface language (will reboot the IME).";
"Check for updates automatically" = "Check for updates automatically";
"Choose candidate font size for better visual clarity." = "Choose candidate font size for better visual clarity.";
@ -149,6 +152,8 @@
"Choose the macOS-level alphanumerical keyboard layout. This setting is for Shift-toggled alphanumerical mode only." = "Choose the macOS-level alphanumerical keyboard layout. This setting is for Shift-toggled alphanumerical mode only.";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only. This option will only affect the appearance of the on-screen-keyboard if the current Mandarin parser is not (any) pinyin." = "Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only. This option will only affect the appearance of the on-screen-keyboard if the current Mandarin parser is not (any) pinyin.";
"Choose the phonetic layout for Mandarin parser." = "Choose the phonetic layout for Mandarin parser.";
"Choose your desired cassette file path. Will be omitted if invalid." = "Choose your desired cassette file path. Will be omitted if invalid.";
"Choose your desired cassette file path." = "Choose your desired cassette file path.";
"Choose your desired user data folder path. Will be omitted if invalid." = "Choose your desired user data folder path. Will be omitted if invalid.";
"Choose your preferred layout of the candidate window." = "Choose your preferred layout of the candidate window.";
"Clear the entire inline composition buffer like Shift+Delete" = "Clear the entire inline composition buffer like Shift+Delete";
@ -163,13 +168,16 @@
"Dictionary" = "Dictionary";
"Directly commit lowercased letters" = "Directly commit lowercased letters";
"Directly commit uppercased letters" = "Directly commit uppercased letters";
"Disable forced conversion for cassette outputs" = "Disable forced conversion for cassette outputs";
"Disable Shift key accomodation in all cases" = "Disable Shift key accomodation in all cases";
"Disassemble the previous reading, dropping its intonation" = "Disassemble the previous reading, dropping its intonation";
"Disassembling process does not work with non-phonetic reading keys." = "Disassembling process does not work with non-phonetic reading keys.";
"Emulating select-candidate-per-character mode" = "Emulating select-candidate-per-character mode";
"Enable cassette mode, suppressing phonabet input" = "Enable cassette mode, suppressing phonabet input";
"Enable CNS11643 Support (2022-09-12)" = "Enable CNS11643 Support (2022-09-12)";
"Enable Space key for calling candidate window" = "Enable Space key for calling candidate window";
"Enable symbol input support (incl. certain emoji symbols)" = "Enable symbol input support (incl. certain emoji symbols)";
"Enforce conversion in both input modes" = "Enforce conversion in both input modes";
"English" = "English";
"Eten 26" = "Eten 26";
"Eten Traditional" = "Eten Traditional";
@ -196,12 +204,16 @@
"Misc Settings:" = "Misc Settings:";
"MiTAC" = "MiTAC";
"Note: The “Delete ⌫” key on Mac keyboard is named as “BackSpace ⌫” here in order to distinguish the real “Delete ⌦” key from full-sized desktop keyboards. If you want to use the real “Delete ⌦” key on a Mac keyboard with no numpad equipped, you have to press “Fn+⌫” instead." = "Note: The “Delete ⌫” key on Mac keyboard is named as “BackSpace ⌫” here in order to distinguish the real “Delete ⌦” key from full-sized desktop keyboards. If you want to use the real “Delete ⌦” key on a Mac keyboard with no numpad equipped, you have to press “Fn+⌫” instead.";
"Only enforce conversion in Simplified Chinese mode" = "Only enforce conversion in Simplified Chinese mode";
"Only enforce conversion in Traditional Chinese mode" = "Only enforce conversion in Traditional Chinese mode";
"Only load factory language models if needed" = "Only load factory language models if needed";
"Only override the intonation of the previous reading if different" = "Only override the intonation of the previous reading if different";
"Only use this with known Chromium-based browsers" = "Only use this with known Chromium-based browsers";
"Output Settings:" = "Output Settings:";
"Override the previous reading's intonation with candidate-reset" = "Override the previous reading's intonation with candidate-reset";
"Path invalid or file access error." = "Path invalid or file access error.";
"Phonetic Parser:" = "Phonetic Parser:";
"Please reconfigure the cassette path to a valid one before enabling this mode." = "Please reconfigure the cassette path to a valid one before enabling this mode.";
"Please use mouse wheel to scroll this page. The CheatSheet is available in the IME menu." = "Please use mouse wheel to scroll this page. The CheatSheet is available in the IME menu.";
"Push the cursor in front of the phrase after selection" = "Push the cursor in front of the phrase after selection";
"Quick Setup:" = "Quick Setup:";
@ -212,6 +224,7 @@
"Shift+Letter:" = "Shift+Letter:";
"Show Hanyu-Pinyin in the inline composition buffer" = "Show Hanyu-Pinyin in the inline composition buffer";
"Show notifications when toggling Caps Lock" = "Show notifications when toggling Caps Lock";
"Show translated strokes in composition buffer" = "Show translated strokes in composition buffer";
"Simplified Chinese" = "Simplified Chinese";
"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work.";
"Space to +cycle candidates, Shift+Space to +cycle pages" = "Space to +cycle candidates, Shift+Space to +cycle pages";
@ -219,6 +232,7 @@
"Specify the behavior of intonation key when syllable composer is empty." = "Specify the behavior of intonation key when syllable composer is empty.";
"Starlight" = "Starlight";
"Stop farting (when typed phonetic combination is invalid, etc.)" = "Stop farting (when typed phonetic combination is invalid, etc.)";
"This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode." = "This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode.";
"This only works with Tadokoro candidate window." = "This only works with Tadokoro candidate window.";
"Traditional Chinese" = "Traditional Chinese";
"Trim unfinished readings on commit" = "Trim unfinished readings on commit";

View File

@ -116,6 +116,7 @@
"(Shift+)Space:" = "(Shift+)Space:";
"⚠︎ This feature in IMK Candidate Window defects. Please consult Apple Developer Relations\nand tell them the related Radar ID: #FB11300759." = "⚠︎ この機能は IMK 候補陳列ウィンドウにサポートされておりません。\nApple Developer Relations に案件番号 #FB11300759 を教えながらクレームしてください。";
"⚠︎ This feature is useful ONLY WHEN the font you are using doesn't support dynamic vertical punctuations. However, typed vertical punctuations will always shown as vertical punctuations EVEN IF your editor has changed the typing direction to horizontal." = "⚠︎ 該当の組版用フォントには縦書き(引用符・括弧)変換機能が備えていない限り、この機能を使う甲斐がある。一旦使うと、入力した全ての引用符・括弧は永遠的に縦書きの様式になる。例え入力を受けているアプリ(例えばワープロソフとなど)の書写方向は横書きと変えたとしても、これらの入力済みの引用符・括弧は全て縦書きの見た目であり、削除してから入力し直す必要になる。";
"All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file." = "これをチェックしないと、全ての筆画は ASCII キーネームで入力緩衝列で表示してしまうことになる。CIN ファイルの「%keyname」というところで筆画の定義はできる。";
"Allow backspace-editing miscomposed readings" = "効かぬ音読みを BackSpace で再編集";
"Allow boosting / excluding a candidate of single kanji" = "即排除/即最優先にできる候補の文字数の最低限は1字とする";
"Allow using Enter key to confirm associated candidate selection" = "Enter キーを連想語彙候補の確認のために使う";
@ -138,6 +139,8 @@
"Basic Keyboard Layout:" = "基礎キーボード:";
"Candidate Layout:" = "入力候補陳列の仕様";
"Candidate Size:" = "候補文字の字号:";
"Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated)." = "カセットモードは、CIN ファイルを用いて、五筆や倉頡や嘸蝦米などのような筆画入力を機能拡張できるモードである。ですが、単なる予備機能として提供したもののため、使いやすいかどうか、RIME や OpenVanilla などに比べられないかもしれん。";
"Cassette" = "カセ設定";
"Change user interface language (will reboot the IME)." = "アプリ表示用言語をご指定下さい、そして入力アプリは自動的に再起動。";
"Check for updates automatically" = "アプリの更新通知を受く";
"Choose candidate font size for better visual clarity." = "入力候補陳列の候補文字の字号をご指定ください。";
@ -149,6 +152,8 @@
"Choose the macOS-level alphanumerical keyboard layout. This setting is for Shift-toggled alphanumerical mode only." = "macOS 英数キーボード配置をご指定ください。Shift 英数入力モードだけに使われる配置である。";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only. This option will only affect the appearance of the on-screen-keyboard if the current Mandarin parser is not (any) pinyin." = "macOS 基礎キーボード配置をご指定ください。QWERTY 以外の英数キーボードは弁音以外の配列に不適用。弁音配列を起用していない限り、キーボード配置の設定はキーボードビューアの有りようだけに影響を及ぼす。";
"Choose the phonetic layout for Mandarin parser." = "共通語分析器の注音配列をご指定ください。";
"Choose your desired cassette file path. Will be omitted if invalid." = "欲しがる CIN カセットファイルをご指定ください。無効なる保存先設定は省かれる。";
"Choose your desired cassette file path." = "欲しがる CIN カセットファイルをご指定ください。";
"Choose your desired user data folder path. Will be omitted if invalid." = "欲しがるユーザー辞書保存先をご指定ください。無効なる保存先設定は省かれる。";
"Choose your preferred layout of the candidate window." = "入力候補陳列の仕様をご指定ください。";
"Clear the entire inline composition buffer like Shift+Delete" = "Shift+Delete のように入力緩衝列を消す";
@ -163,13 +168,16 @@
"Dictionary" = "辞書設定";
"Directly commit lowercased letters" = "ローマ字(小文字)を直接出力";
"Directly commit uppercased letters" = "ローマ字(大文字)を直接出力";
"Disable forced conversion for cassette outputs" = "カセットモードによる漢字出力の簡繁転換を行わずにする";
"Disable Shift key accomodation in all cases" = "いずれの客体アプリにも Shift キーの互換性措置を禁ず";
"Disassemble the previous reading, dropping its intonation" = "カーソルの後部の音読みを解き、その音調を除く";
"Disassembling process does not work with non-phonetic reading keys." = "実の意味の音読みだけを解くことができる。";
"Emulating select-candidate-per-character mode" = "漢字1つづつ全候補選択入力モード";
"Enable cassette mode, suppressing phonabet input" = "カセットモードを起用(注音入力はこのモードで使えぬ)";
"Enable CNS11643 Support (2022-09-12)" = "全字庫モード // 入力可能な漢字数を倍増す (2022-09-12)";
"Enable Space key for calling candidate window" = "Space キーで入力候補を呼び出す";
"Enable symbol input support (incl. certain emoji symbols)" = "僅かなる絵文字も含む符号入力サポートを起用";
"Enforce conversion in both input modes" = "カセットモードによる漢字出力の簡体繁体転換を常に行う";
"English" = "英語";
"Eten 26" = "倚天形忘れ配列 (26 キー)";
"Eten Traditional" = "倚天伝統配列";
@ -196,12 +204,16 @@
"Misc Settings:" = "他の設定:";
"MiTAC" = "神通配列";
"Note: The “Delete ⌫” key on Mac keyboard is named as “BackSpace ⌫” here in order to distinguish the real “Delete ⌦” key from full-sized desktop keyboards. If you want to use the real “Delete ⌦” key on a Mac keyboard with no numpad equipped, you have to press “Fn+⌫” instead." = "ご注意Mac キーボードの「Delete ⌫」キーはここで「BackSpace ⌫」と呼ばれ、それはパソコンの常識としての本物の「Delete ⌦」と区別するためである。もし、テンキーの付いていない Mac キーボードで本物の「Delete ⌦」を使いたければ、代わりに「Fn+⌫」をご使用ください。";
"Only enforce conversion in Simplified Chinese mode" = "簡体モードだけの場合、カセットモードの漢字出力転換を";
"Only enforce conversion in Traditional Chinese mode" = "繁体モードだけの場合、カセットモードの漢字出力転換を";
"Only load factory language models if needed" = "必要性を判断してから内蔵辞書を読み込む";
"Only override the intonation of the previous reading if different" = "カーソルの後部の音読みの異なる音調だけを上書きする";
"Only use this with known Chromium-based browsers" = "有名なる Chromium 系ブラウザーだけに、この装置を起用";
"Output Settings:" = "出力設定:";
"Override the previous reading's intonation with candidate-reset" = "カーソルの後部の音読みの音調を上書きし、候補選択状態を戻す";
"Path invalid or file access error." = "ファイルアクセス失敗、或いはご指定したファイル位置情報は使えぬ。";
"Phonetic Parser:" = "注音配列:";
"Please reconfigure the cassette path to a valid one before enabling this mode." = "カセットファイルを正しくご指定してから、このモードのご使用を。";
"Please use mouse wheel to scroll this page. The CheatSheet is available in the IME menu." = "マウスホイールでこのページをご覧ください。キーに関する取扱説明のアクセスはメニューに。";
"Push the cursor in front of the phrase after selection" = "候補選択の直後、すぐカーソルを単語の向こうに推し進める";
"Quick Setup:" = "直接設定:";
@ -212,6 +224,7 @@
"Shift+Letter:" = "Shift+文字キー:";
"Show Hanyu-Pinyin in the inline composition buffer" = "弁音合併入力(入力緩衝列で音読みを漢語弁音に)";
"Show notifications when toggling Caps Lock" = "Caps Lock で切り替えの時に吹出通知メッセージを";
"Show translated strokes in composition buffer" = "原始キーネームでなく、筆画を入力緩衝列で表示する";
"Simplified Chinese" = "簡体中国語";
"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "いくつかのアプリ(例えば MS Edge や Google Chrome などのような Chromium 系ブラウザーには「Shift キーの入力イベントを複数化してしまう」という支障があり、そしてアプリそれぞれの開発元に修復される可能性はほぼゼロだと言える。威注音入力アプリは対策用の特殊措置を普段に起用している。ご自分の必要によって設定してください。";
"Space to +cycle candidates, Shift+Space to +cycle pages" = "Shift+Space で次のページ、Space で次の候補文字を";
@ -219,6 +232,7 @@
"Specify the behavior of intonation key when syllable composer is empty." = "音読組立緩衝列が空かされた時の音調キーの行為をご指定ください。";
"Starlight" = "星光配列";
"Stop farting (when typed phonetic combination is invalid, etc.)" = "マナーモード // 外すと入力間違った時に変な声が出る";
"This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode." = "この転換はカセットモードだけに使える転換であり、転換結果はこの設定と入力モード次第である。";
"This only works with Tadokoro candidate window." = "これは田所候補陳列ウィンドウだけに効ける機能である。";
"Traditional Chinese" = "繁体中国語";
"Trim unfinished readings on commit" = "送り出す緩衝列内容から未完成な音読みを除く";

View File

@ -116,6 +116,7 @@
"(Shift+)Space:" = "(Shift+)空格键:";
"⚠︎ This feature in IMK Candidate Window defects. Please consult Apple Developer Relations\nand tell them the related Radar ID: #FB11300759." = "⚠︎ 该功能因 IMK 选字窗自身缺陷而无法实作。\n请携 Radar 编号 #FB11300759 找 Apple Developer Relations 投诉。";
"⚠︎ This feature is useful ONLY WHEN the font you are using doesn't support dynamic vertical punctuations. However, typed vertical punctuations will always shown as vertical punctuations EVEN IF your editor has changed the typing direction to horizontal." = "⚠︎ 该功能当且仅当目前的排版字型不支援纵排标点动态显示转义的情况下才有用。一旦使用了,所有敲出去的标点都会被永久转换为静态纵排标点:哪怕当前编辑器的排版模式已经改成横排,这些已经输入的标点也都还是纵排标点字符。";
"All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file." = "不启用该选项的话,在组字区内的字根将会以原始键盘按键名称来显示。所有关于字根的定义,均请洽 CIN 磁带档案内的「%keyname」章节。";
"Allow backspace-editing miscomposed readings" = "允许对无效的读音使用 BackSpace 编辑";
"Allow boosting / excluding a candidate of single kanji" = "将可以就地升权/排除的候选字词的最短词长设为单个汉字";
"Allow using Enter key to confirm associated candidate selection" = "允许使用 Enter 确认当前选中的联想词";
@ -138,6 +139,8 @@
"Basic Keyboard Layout:" = "基础键盘布局:";
"Candidate Layout:" = "候选字窗布局:";
"Candidate Size:" = "候选字窗字号:";
"Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated)." = "磁带模式类似于雅虎奇摩输入法的 CIN 支援模式,允许使用者借由 CIN 表格档案扩充自己想要的笔画输入法(比如五笔、仓颉、呒虾米,等)。然而,因为威注音不打算为了这个功能而牺牲注音输入的体验,所以这个磁带模式的体验对于已经习惯 RIME 或者 OpenVanilla 的人群而言可能会稍微麻烦一些。";
"Cassette" = "磁带设定";
"Change user interface language (will reboot the IME)." = "变更输入法介面语言,会自动重启输入法。";
"Check for updates automatically" = "自动检查软体更新";
"Choose candidate font size for better visual clarity." = "变更候选字窗的字型大小。";
@ -149,6 +152,8 @@
"Choose the macOS-level alphanumerical keyboard layout. This setting is for Shift-toggled alphanumerical mode only." = "请选择 macOS 英数键盘布局。该布局仅用于 Shift 英数输入模式。";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only. This option will only affect the appearance of the on-screen-keyboard if the current Mandarin parser is not (any) pinyin." = "请选择 macOS 基础键盘布局。QWERTY 以外的英数布局是为了拼音排列的使用者而准备的。如果当前的普通话/国音分析器并未设为拼音的话,则键盘布局选项仅会影响到荧幕键盘。";
"Choose the phonetic layout for Mandarin parser." = "请指定普通话/国音分析器所使用的注音排列。";
"Choose your desired cassette file path. Will be omitted if invalid." = "请在此指定您想指定的 CIN 磁带档案。无效值会被忽略。";
"Choose your desired cassette file path." = "请在此指定您想指定的 CIN 磁带档案。";
"Choose your desired user data folder path. Will be omitted if invalid." = "请在此指定您想指定的使用者语汇档案目录。无效值会被忽略。";
"Choose your preferred layout of the candidate window." = "选择您所偏好的候选字窗布局。";
"Clear the entire inline composition buffer like Shift+Delete" = "像 Shift+Delete 那样清空当前组字区内容";
@ -163,13 +168,16 @@
"Dictionary" = "辞典设定";
"Directly commit lowercased letters" = "直接递交小写字母";
"Directly commit uppercased letters" = "直接递交大写字母";
"Disable forced conversion for cassette outputs" = "对磁带模式禁用繁简转换";
"Disable Shift key accomodation in all cases" = "对任何客体应用均停用 Shift 键相容性措施";
"Disassemble the previous reading, dropping its intonation" = "析构游标正后方的字音,且剔除其声调";
"Disassembling process does not work with non-phonetic reading keys." = "析构行为仅针对组字器内「身为汉字读音」的读音索引单元有效。";
"Emulating select-candidate-per-character mode" = "模拟 90 年代前期注音逐字选字输入风格";
"Enable cassette mode, suppressing phonabet input" = "启用磁带模式,会停用注音输入";
"Enable CNS11643 Support (2022-09-12)" = "启用 CNS11643 全字库支援 (2022-09-12)";
"Enable Space key for calling candidate window" = "敲空格键以呼出候选字窗";
"Enable symbol input support (incl. certain emoji symbols)" = "启用包括少许绘文字在内的符号输入支援";
"Enforce conversion in both input modes" = "依当前简繁模式强制转换";
"English" = "英语";
"Eten 26" = "倚天忘形排列 (26 键)";
"Eten Traditional" = "倚天传统排列";
@ -196,12 +204,16 @@
"Misc Settings:" = "杂项:";
"MiTAC" = "神通排列";
"Note: The “Delete ⌫” key on Mac keyboard is named as “BackSpace ⌫” here in order to distinguish the real “Delete ⌦” key from full-sized desktop keyboards. If you want to use the real “Delete ⌦” key on a Mac keyboard with no numpad equipped, you have to press “Fn+⌫” instead." = "注意Mac 键盘的「Delete ⌫」键在此被称作「BackSpace 退格键 ⌫」以与 PC 键盘的真正的「Delete ⌦」键彼此区分开。若您想在没有数字小键盘的 Mac 电脑上使用真正的「Delete ⌦」按键的话请改用「Fn+⌫」。";
"Only enforce conversion in Simplified Chinese mode" = "仅在简体模式转换至简体";
"Only enforce conversion in Traditional Chinese mode" = "仅在繁体模式转换至繁体";
"Only load factory language models if needed" = "按需载入简繁体模式的原厂辞典资料";
"Only override the intonation of the previous reading if different" = "仅在键入的声调与游标正后方的字音不同时,尝试覆写";
"Only use this with known Chromium-based browsers" = "仅针对知名的 Chromium 核心的浏览器启用该措施";
"Output Settings:" = "输出设定:";
"Override the previous reading's intonation with candidate-reset" = "尝试对游标正后方的字音覆写声调,且重设其选字状态";
"Path invalid or file access error." = "档案存取失败,或者路径不合规。";
"Phonetic Parser:" = "注音排列:";
"Please reconfigure the cassette path to a valid one before enabling this mode." = "在启用该模式之前,请事先正确设定磁带档案路径。";
"Please use mouse wheel to scroll this page. The CheatSheet is available in the IME menu." = "请利用滑鼠滚轮检视该页面。也请洽输入法选单内的热键指南。";
"Push the cursor in front of the phrase after selection" = "在选字后将游标置于该字词的前方";
"Quick Setup:" = "直接设定:";
@ -212,6 +224,7 @@
"Shift+Letter:" = "Shift+字母键:";
"Show Hanyu-Pinyin in the inline composition buffer" = "拼音并击(组字区内显示汉语拼音)";
"Show notifications when toggling Caps Lock" = "以 Caps Lock 切换输入法/中英模式时显示通知";
"Show translated strokes in composition buffer" = "在组字区内显示字根、而非原始键盘码";
"Simplified Chinese" = "简体中文";
"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "某些应用(比如像是 MS Edge 或者 Chrome 这样的 Chromium 核心的浏览器)可能会使输入的 Shift 按键讯号被重复输入,且其有关研发方很可能不打算修复这些产品缺陷。威注音针对这些应用预设启用了相容措施。请在此根据您的需求自订。";
"Space to +cycle candidates, Shift+Space to +cycle pages" = "Shift+空格键 换下一页,空格键 换选下一个候选字";
@ -219,6 +232,7 @@
"Specify the behavior of intonation key when syllable composer is empty." = "指定声调键(在注拼槽为「空」状态时)的行为。";
"Starlight" = "星光排列";
"Stop farting (when typed phonetic combination is invalid, etc.)" = "廉耻模式 // 取消勾选的话,敲错字时会有异音";
"This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode." = "该转换仅对磁带模式有影响,会将键入的内容根据该选项与当前的简繁体模式来转换。";
"This only works with Tadokoro candidate window." = "该方法仅对田所选字窗起作用。";
"Traditional Chinese" = "繁体中文";
"Trim unfinished readings on commit" = "在递交时清理未完成拼写的读音";

View File

@ -116,6 +116,7 @@
"(Shift+)Space:" = "(Shift+)空格鍵:";
"⚠︎ This feature in IMK Candidate Window defects. Please consult Apple Developer Relations\nand tell them the related Radar ID: #FB11300759." = "⚠︎ 該功能因 IMK 選字窗自身缺陷而無法實作。\n請攜 Radar 編號 #FB11300759 找 Apple Developer Relations 投訴。";
"⚠︎ This feature is useful ONLY WHEN the font you are using doesn't support dynamic vertical punctuations. However, typed vertical punctuations will always shown as vertical punctuations EVEN IF your editor has changed the typing direction to horizontal." = "⚠︎ 該功能當且僅當目前的排版字型不支援縱排標點動態顯示轉義的情況下才有用。一旦使用了,所有敲出去的標點都會被永久轉換為靜態縱排標點:哪怕當前編輯器的排版模式已經改成橫排,這些已經輸入的標點也都還是縱排標點字符。";
"All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file." = "不啟用該選項的話,在組字區內的字根將會以原始鍵盤按鍵名稱來顯示。所有關於字根的定義,均請洽 CIN 磁帶檔案內的「%keyname」章節。";
"Allow backspace-editing miscomposed readings" = "允許對無效的讀音使用 BackSpace 編輯";
"Allow boosting / excluding a candidate of single kanji" = "將可以就地升權/排除的候選字詞的最短詞長設為單個漢字";
"Allow using Enter key to confirm associated candidate selection" = "允許使用 Enter 確認當前選中的聯想詞";
@ -138,6 +139,8 @@
"Basic Keyboard Layout:" = "基礎鍵盤佈局:";
"Candidate Layout:" = "候選字窗佈局:";
"Candidate Size:" = "候選字窗字號:";
"Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated)." = "磁帶模式類似於雅虎奇摩輸入法的 CIN 支援模式,允許使用者藉由 CIN 表格檔案擴充自己想要的筆畫輸入法(比如五筆、倉頡、嘸蝦米,等)。然而,因為威注音不打算為了這個功能而犧牲注音輸入的體驗,所以這個磁帶模式的體驗對於已經習慣 RIME 或者 OpenVanilla 的人群而言可能會稍微麻煩一些。";
"Cassette" = "磁帶設定";
"Change user interface language (will reboot the IME)." = "變更輸入法介面語言,會自動重啟輸入法。";
"Check for updates automatically" = "自動檢查軟體更新";
"Choose candidate font size for better visual clarity." = "變更候選字窗的字型大小。";
@ -149,6 +152,8 @@
"Choose the macOS-level alphanumerical keyboard layout. This setting is for Shift-toggled alphanumerical mode only." = "請選擇 macOS 英數鍵盤佈局。該佈局僅用於 Shift 英數輸入模式。";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only. This option will only affect the appearance of the on-screen-keyboard if the current Mandarin parser is not (any) pinyin." = "請選擇 macOS 基礎鍵盤佈局。QWERTY 以外的英數佈局是為了拼音排列的使用者而準備的。如果當前的普通話/國音分析器並未設為拼音的話,則鍵盤佈局選項僅會影響到螢幕鍵盤。";
"Choose the phonetic layout for Mandarin parser." = "請指定普通話/國音分析器所使用的注音排列。";
"Choose your desired cassette file path. Will be omitted if invalid." = "請在此指定您想指定的 CIN 磁帶檔案。無效值會被忽略。";
"Choose your desired cassette file path." = "請在此指定您想指定的 CIN 磁帶檔案。";
"Choose your desired user data folder path. Will be omitted if invalid." = "請在此指定您想指定的使用者語彙檔案目錄。無效值會被忽略。";
"Choose your preferred layout of the candidate window." = "選擇您所偏好的候選字窗佈局。";
"Clear the entire inline composition buffer like Shift+Delete" = "像 Shift+Delete 那樣清空當前組字區內容";
@ -163,13 +168,16 @@
"Dictionary" = "辭典設定";
"Directly commit lowercased letters" = "直接遞交小寫字母";
"Directly commit uppercased letters" = "直接遞交大寫字母";
"Disable forced conversion for cassette outputs" = "對磁帶模式禁用繁簡轉換";
"Disable Shift key accomodation in all cases" = "對任何客體應用均停用 Shift 鍵相容性措施";
"Disassemble the previous reading, dropping its intonation" = "析構游標正後方的字音,且剔除其聲調";
"Disassembling process does not work with non-phonetic reading keys." = "析構行為僅針對組字器內「身為漢字讀音」的讀音索引單元有效。";
"Emulating select-candidate-per-character mode" = "模擬 90 年代前期注音逐字選字輸入風格";
"Enable cassette mode, suppressing phonabet input" = "啟用磁帶模式,會停用注音輸入";
"Enable CNS11643 Support (2022-09-12)" = "啟用 CNS11643 全字庫支援 (2022-09-12)";
"Enable Space key for calling candidate window" = "敲空格鍵以呼出候選字窗";
"Enable symbol input support (incl. certain emoji symbols)" = "啟用包括少許繪文字在內的符號輸入支援";
"Enforce conversion in both input modes" = "依當前簡繁模式強制轉換";
"English" = "英語";
"Eten 26" = "倚天忘形排列 (26 鍵)";
"Eten Traditional" = "倚天傳統排列";
@ -196,12 +204,16 @@
"Misc Settings:" = "雜項:";
"MiTAC" = "神通排列";
"Note: The “Delete ⌫” key on Mac keyboard is named as “BackSpace ⌫” here in order to distinguish the real “Delete ⌦” key from full-sized desktop keyboards. If you want to use the real “Delete ⌦” key on a Mac keyboard with no numpad equipped, you have to press “Fn+⌫” instead." = "注意Mac 鍵盤的「Delete ⌫」鍵在此被稱作「BackSpace 退格鍵 ⌫」以與 PC 鍵盤的真正的「Delete ⌦」鍵彼此區分開。若您想在沒有數字小鍵盤的 Mac 電腦上使用真正的「Delete ⌦」按鍵的話請改用「Fn+⌫」。";
"Only enforce conversion in Simplified Chinese mode" = "僅在簡體模式轉換至簡體";
"Only enforce conversion in Traditional Chinese mode" = "僅在繁體模式轉換至繁體";
"Only load factory language models if needed" = "按需載入簡繁體模式的原廠辭典資料";
"Only override the intonation of the previous reading if different" = "僅在鍵入的聲調與游標正後方的字音不同時,嘗試覆寫";
"Only use this with known Chromium-based browsers" = "僅針對知名的 Chromium 核心的瀏覽器啟用該措施";
"Output Settings:" = "輸出設定:";
"Override the previous reading's intonation with candidate-reset" = "嘗試對游標正後方的字音覆寫聲調,且重設其選字狀態";
"Path invalid or file access error." = "檔案存取失敗,或者路徑不合規。";
"Phonetic Parser:" = "注音排列:";
"Please reconfigure the cassette path to a valid one before enabling this mode." = "在啟用該模式之前,請事先正確設定磁帶檔案路徑。";
"Please use mouse wheel to scroll this page. The CheatSheet is available in the IME menu." = "請利用滑鼠滾輪檢視該頁面。也請洽輸入法選單內的熱鍵指南。";
"Push the cursor in front of the phrase after selection" = "在選字後將游標置於該字詞的前方";
"Quick Setup:" = "直接設定:";
@ -212,6 +224,7 @@
"Shift+Letter:" = "Shift+字母鍵:";
"Show Hanyu-Pinyin in the inline composition buffer" = "拼音並擊(組字區內顯示漢語拼音)";
"Show notifications when toggling Caps Lock" = "以 Caps Lock 切換輸入法/中英模式時顯示通知";
"Show translated strokes in composition buffer" = "在組字區內顯示字根、而非原始鍵盤碼";
"Simplified Chinese" = "簡體中文";
"Some client apps (like Chromium-cored browsers: MS Edge, Google Chrome, etc.) may duplicate Shift-key inputs due to their internal bugs, and their devs are less likely to fix their bugs of such. vChewing has its accommodation procedures enabled by default for known Chromium-cored browsers. Here you can customize how the accommodation should work." = "某些應用(比如像是 MS Edge 或者 Chrome 這樣的 Chromium 核心的瀏覽器)可能會使輸入的 Shift 按鍵訊號被重複輸入,且其有關研發方很可能不打算修復這些產品缺陷。威注音針對這些應用預設啟用了相容措施。請在此根據您的需求自訂。";
"Space to +cycle candidates, Shift+Space to +cycle pages" = "Shift+空格鍵 換下一頁,空格鍵 換選下一個候選字";
@ -219,6 +232,7 @@
"Specify the behavior of intonation key when syllable composer is empty." = "指定聲調鍵(在注拼槽為「空」狀態時)的行為。";
"Starlight" = "星光排列";
"Stop farting (when typed phonetic combination is invalid, etc.)" = "廉恥模式 // 取消勾選的話,敲錯字時會有異音";
"This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode." = "該轉換僅對磁帶模式有影響,會將鍵入的內容根據該選項與當前的簡繁體模式來轉換。";
"This only works with Tadokoro candidate window." = "該方法僅對田所選字窗起作用。";
"Traditional Chinese" = "繁體中文";
"Trim unfinished readings on commit" = "在遞交時清理未完成拼寫的讀音";

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@ -15,6 +16,7 @@
<outlet property="lblCurrentlySpecifiedUserDataFolder" destination="REC-r4-T7m" id="eEq-XN-mMq"/>
<outlet property="selectionKeyComboBox" destination="uHU-aL-du7" id="cEx-Ui-Phc"/>
<outlet property="uiLanguageButton" destination="oS6-u5-7dP" id="V3u-XK-z7G"/>
<outlet property="vwrCassette" destination="ZEr-3U-K9a" id="GrP-4e-JbJ"/>
<outlet property="vwrDevZone" destination="Qd7-ln-nNO" id="8mw-wO-gXS"/>
<outlet property="vwrDictionary" destination="Rnp-LM-RIF" id="8gY-ah-RT8"/>
<outlet property="vwrExperience" destination="XWo-36-xGi" id="pXF-Uv-Zs0"/>
@ -1055,6 +1057,231 @@
</constraints>
<point key="canvasLocation" x="-400.5" y="-349.5"/>
</visualEffectView>
<visualEffectView blendingMode="behindWindow" material="sidebar" state="followsWindowActiveState" id="ZEr-3U-K9a" userLabel="vwrCassette">
<rect key="frame" x="0.0" y="0.0" width="445" height="481"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField autoresizesSubviews="NO" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vgR-3O-aTP">
<rect key="frame" x="18" y="445" width="409" height="16"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="0d5-PL-rme"/>
</constraints>
<textFieldCell key="cell" lineBreakMode="clipping" title="Choose your desired cassette file path. Will be omitted if invalid." id="Iai-0X-nxi">
<font key="font" metaFont="cellTitle"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="ZcE-jK-2vl">
<rect key="frame" x="20" y="413" width="405" height="20"/>
<subviews>
<button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8LP-EF-YwT" userLabel="btnOpenFolderToSpecifyForUserData">
<rect key="frame" x="346" y="-1" width="30" height="21"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="dF8-pw-EM9"/>
<constraint firstAttribute="height" constant="19" id="gBc-0g-Yjb"/>
</constraints>
<buttonCell key="cell" type="smallSquare" title="…" bezelStyle="smallSquare" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="V4e-Bu-wom">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="chooseCassettePath:" target="-2" id="Q7N-Im-hZd"/>
</connections>
</button>
<button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8fG-OI-45A" userLabel="btnOpenFolderToSpecifyForUserData">
<rect key="frame" x="375" y="-1" width="30" height="21"/>
<constraints>
<constraint firstAttribute="height" constant="19" id="uRx-hv-Oms"/>
<constraint firstAttribute="width" constant="30" id="vN1-0q-FS0"/>
</constraints>
<buttonCell key="cell" type="smallSquare" title="×" bezelStyle="smallSquare" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="62c-wp-9mF">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="resetSpecifiedCassettePath:" target="-2" id="lFN-a2-ADt"/>
</connections>
</button>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tXb-Gb-689">
<rect key="frame" x="0.0" y="0.0" width="347" height="20"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" borderStyle="border" baseWritingDirection="leftToRight" alignment="left" drawsBackground="YES" usesSingleLineMode="YES" id="upL-ba-fhJ">
<font key="font" metaFont="cellTitle"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="32" name="displayPatternValue1" keyPath="values.CassettePath" id="DxA-Ba-LGE">
<dictionary key="options">
<string key="NSDisplayPattern">%{value1}@</string>
</dictionary>
</binding>
</connections>
</textField>
</subviews>
<constraints>
<constraint firstItem="tXb-Gb-689" firstAttribute="bottom" secondItem="8LP-EF-YwT" secondAttribute="bottom" id="5Gm-A1-naq"/>
<constraint firstItem="8fG-OI-45A" firstAttribute="leading" secondItem="8LP-EF-YwT" secondAttribute="trailing" constant="-1" id="AMF-M3-5EL"/>
<constraint firstItem="tXb-Gb-689" firstAttribute="top" secondItem="ZcE-jK-2vl" secondAttribute="top" id="CFA-Iq-Fxr"/>
<constraint firstItem="tXb-Gb-689" firstAttribute="leading" secondItem="8LP-EF-YwT" secondAttribute="trailing" constant="-376" id="GJP-36-DlJ"/>
<constraint firstItem="8fG-OI-45A" firstAttribute="leading" secondItem="tXb-Gb-689" secondAttribute="trailing" constant="28" id="de6-OI-qUZ"/>
<constraint firstItem="8fG-OI-45A" firstAttribute="baseline" secondItem="8LP-EF-YwT" secondAttribute="baseline" id="hQG-rw-jO3"/>
<constraint firstItem="tXb-Gb-689" firstAttribute="leading" secondItem="ZcE-jK-2vl" secondAttribute="leading" id="knW-na-MpT"/>
<constraint firstItem="tXb-Gb-689" firstAttribute="firstBaseline" secondItem="8LP-EF-YwT" secondAttribute="baseline" id="pLQ-VZ-wue"/>
<constraint firstItem="tXb-Gb-689" firstAttribute="centerY" secondItem="ZcE-jK-2vl" secondAttribute="centerY" id="pug-YN-KFi"/>
</constraints>
</customView>
<stackView distribution="fill" orientation="vertical" alignment="leading" spacing="11" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sgB-kZ-rJg">
<rect key="frame" x="20" y="41" width="405" height="355"/>
<subviews>
<stackView distribution="fill" orientation="vertical" alignment="leading" spacing="6" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6T7-2y-9JA">
<rect key="frame" x="0.0" y="165" width="405" height="190"/>
<subviews>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="y75-fJ-x9L">
<rect key="frame" x="-1" y="173.5" width="311" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="Q0q-bq-qs4"/>
</constraints>
<buttonCell key="cell" type="check" title="Enable cassette mode, suppressing phonabet input" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="Grn-MZ-wTg">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<connections>
<action selector="onToggleCassetteMode:" target="-2" id="0OS-EB-07O"/>
<binding destination="32" name="value" keyPath="values.CassetteEnabled" id="zBA-Is-Ejs"/>
</connections>
</button>
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XN3-ki-c3E" userLabel="lblCassetteModeDescription">
<rect key="frame" x="-2" y="70" width="409" height="98"/>
<constraints>
<constraint firstAttribute="width" constant="405" id="PvQ-jY-ScE"/>
</constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="rXc-Ji-ery" userLabel="lblCassetteModeDescription">
<font key="font" metaFont="smallSystem"/>
<string key="title">Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated).</string>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3eW-vq-tFr">
<rect key="frame" x="-1" y="47.5" width="281" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="AqD-B5-5qk"/>
</constraints>
<buttonCell key="cell" type="check" title="Show translated strokes in composition buffer" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="SzF-FL-sVO">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<connections>
<binding destination="32" name="value" keyPath="values.ShowTranslatedStrokesInCompositionBuffer" id="wZl-Ll-NQE"/>
</connections>
</button>
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="E3c-R8-OEL" userLabel="lblCassetteStrokeTranslation">
<rect key="frame" x="-2" y="0.0" width="409" height="42"/>
<constraints>
<constraint firstAttribute="width" constant="405" id="Odf-Pf-V8x"/>
</constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="BDG-qU-aj6" userLabel="lblCassetteStrokeTranslation">
<font key="font" metaFont="smallSystem"/>
<string key="title">All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file.</string>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<visibilityPriorities>
<integer value="1000"/>
<integer value="1000"/>
<integer value="1000"/>
<integer value="1000"/>
</visibilityPriorities>
<customSpacing>
<real value="3.4028234663852886e+38"/>
<real value="3.4028234663852886e+38"/>
<real value="3.4028234663852886e+38"/>
<real value="3.4028234663852886e+38"/>
</customSpacing>
</stackView>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yaq-5S-KLW">
<rect key="frame" x="-2" y="139" width="339" height="15"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Choose the Chinese conversion behavior in cassette mode." id="ego-1f-8cO">
<font key="font" metaFont="cellTitle"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<matrix wantsLayer="YES" verticalHuggingPriority="750" allowsEmptySelection="NO" translatesAutoresizingMaskIntoConstraints="NO" id="arI-0D-NxZ">
<rect key="frame" x="0.0" y="53" width="319" height="75"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
<size key="cellSize" width="319" height="15"/>
<size key="intercellSpacing" width="4" height="5"/>
<buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" controlSize="small" inset="2" id="AN5-Dl-pfG">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<cells>
<column>
<buttonCell type="radio" title="Disable forced conversion for cassette outputs" imagePosition="left" alignment="left" controlSize="small" state="on" inset="2" id="Cp2-hn-bOq">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<buttonCell type="radio" title="Enforce conversion in both input modes" imagePosition="left" alignment="left" controlSize="small" tag="1" inset="2" id="fQ0-Yu-pJF">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<buttonCell type="radio" title="Only enforce conversion in Simplified Chinese mode" imagePosition="left" alignment="left" controlSize="small" tag="2" inset="2" id="o3r-NZ-gsU">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<buttonCell type="radio" title="Only enforce conversion in Traditional Chinese mode" imagePosition="left" alignment="left" controlSize="small" tag="3" inset="2" id="cBw-gz-TXe">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
</column>
</cells>
<connections>
<binding destination="32" name="selectedTag" keyPath="values.ForceCassetteChineseConversion" id="ZU7-OV-xvR"/>
</connections>
</matrix>
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="v8K-1M-luy" userLabel="lblCassetteChineseConversionDescription">
<rect key="frame" x="-2" y="0.0" width="409" height="42"/>
<constraints>
<constraint firstAttribute="width" constant="405" id="xko-lX-Yzn"/>
</constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="j8q-IY-UF1" userLabel="lblCassetteChineseConversionDescription">
<font key="font" metaFont="smallSystem"/>
<string key="title">This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode.</string>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<visibilityPriorities>
<integer value="1000"/>
<integer value="1000"/>
<integer value="1000"/>
<integer value="1000"/>
</visibilityPriorities>
<customSpacing>
<real value="3.4028234663852886e+38"/>
<real value="3.4028234663852886e+38"/>
<real value="3.4028234663852886e+38"/>
<real value="3.4028234663852886e+38"/>
</customSpacing>
</stackView>
</subviews>
<constraints>
<constraint firstItem="vgR-3O-aTP" firstAttribute="leading" secondItem="ZEr-3U-K9a" secondAttribute="leading" constant="20" id="2ZL-Nf-3gF"/>
<constraint firstItem="ZcE-jK-2vl" firstAttribute="leading" secondItem="vgR-3O-aTP" secondAttribute="leading" id="ETb-H9-QKi"/>
<constraint firstItem="sgB-kZ-rJg" firstAttribute="top" secondItem="ZcE-jK-2vl" secondAttribute="bottom" constant="17" id="J07-ha-M1S"/>
<constraint firstItem="vgR-3O-aTP" firstAttribute="top" secondItem="ZEr-3U-K9a" secondAttribute="top" constant="20" id="bmK-UB-TL6"/>
<constraint firstItem="ZcE-jK-2vl" firstAttribute="top" secondItem="vgR-3O-aTP" secondAttribute="bottom" constant="12" id="lgk-Qr-Zw7"/>
<constraint firstItem="ZcE-jK-2vl" firstAttribute="leading" secondItem="sgB-kZ-rJg" secondAttribute="leading" id="nRC-ks-Pxj"/>
<constraint firstItem="ZcE-jK-2vl" firstAttribute="trailing" secondItem="vgR-3O-aTP" secondAttribute="trailing" id="nkS-Us-Mz7"/>
<constraint firstAttribute="trailing" secondItem="vgR-3O-aTP" secondAttribute="trailing" constant="20" id="wkh-Jj-wt0"/>
</constraints>
<point key="canvasLocation" x="101.5" y="-258.5"/>
</visualEffectView>
<visualEffectView blendingMode="behindWindow" material="sidebar" state="followsWindowActiveState" id="U4q-xw-mc0" userLabel="vwrKeyboard">
<rect key="frame" x="0.0" y="0.0" width="445" height="337"/>
<autoresizingMask key="autoresizingMask"/>
@ -1345,7 +1572,18 @@
</connections>
</button>
</gridCell>
<gridCell row="G9W-5h-yOs" column="O5B-2n-sum" id="sbB-Nr-6uh"/>
<gridCell row="G9W-5h-yOs" column="O5B-2n-sum" id="sbB-Nr-6uh">
<button key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zZA-X1-GCy" userLabel="UsingHotKeyCassette">
<rect key="frame" x="199" y="-0.5" width="131" height="16"/>
<buttonCell key="cell" type="check" title="CIN Cassette Mode" bezelStyle="regularSquare" imagePosition="left" controlSize="small" inset="2" id="1ll-Jn-OD5">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<connections>
<binding destination="32" name="value" keyPath="values.UsingHotKeyCassette" id="mDe-q0-XYa"/>
</connections>
</button>
</gridCell>
</gridCells>
</gridView>
</subviews>

View File

@ -12,6 +12,7 @@
"17.title" = "Cursor at the rear of the phrase (like Microsoft New Phonetic)";
"18.title" = "Radio";
"1AW-xf-c2f.label" = "Keyboard";
"1ll-Jn-OD5.title" = "CIN Cassette Mode";
"20.title" = "Radio";
"21.title" = "Horizontal";
"22.title" = "Vertical";
@ -38,7 +39,9 @@
"9DS-Rc-TXq.title" = "UI language setting:";
"akC-2g-ybz.title" = "Simplified Chinese";
"ArK-Vk-OoT.title" = "Emulating select-candidate-per-character mode";
"BDG-qU-aj6.title" = "All strokes in the composition buffer will be shown as ASCII keyboard characters unless this option is enabled. Stroke is definable in the “%keyname” section of the CIN file.";
"BSK-bH-Gct.title" = "Auto-convert traditional Chinese glyphs to KangXi characters";
"cBw-gz-TXe.title" = "Only enforce conversion in Traditional Chinese mode";
"cf2-se-PDO.title" = "Dictionary and Language Models";
"chkAllowBoostingSingleKanjiAsUserPhrase.title" = "Allow boosting / excluding a candidate of single kanji";
"chkAlsoConfirmAssociatedCandidatesByEnter.title" = "Allow using Enter key to confirm associated candidate selection";
@ -49,19 +52,25 @@
"chkKeepReadingUponCompositionError.title" = "Allow backspace-editing miscomposed readings";
"chkOnlyLoadFactoryLangModelsIfNeeded.title" = "Only load factory language models if needed";
"chkUseFixecCandidateOrderOnSelection.title" = "Always use fixed listing order in candidate window";
"Cp2-hn-bOq.title" = "Disable forced conversion for cassette outputs";
"DbW-eq-ZdB.title" = "Starlight";
"dIN-TZ-67g.title" = "Space to +cycle candidates, Shift+Space to +cycle pages";
"E1l-m8-xgb.title" = "Advanced Settings";
"ego-1f-8cO.title" = "Choose the Chinese conversion behavior in cassette mode.";
"eia-1F-Do0.title" = "Auto-convert traditional Chinese glyphs to JIS Shinjitai characters";
"f2j-xD-4xK.title" = "Use ESC key to clear the entire input buffer";
"f8i-69-zxm.title" = "Automatically reload user data files if changes detected";
"FnD-oH-El5.title" = "Selection Keys:";
"fQ0-Yu-pJF.title" = "Enforce conversion in both input modes";
"FSG-lN-CJO.title" = "English";
"FVC-br-H57.title" = "Cycling Candidates";
"GlJ-Ns-9eE.title" = "Auto-Select";
"Grn-MZ-wTg.title" = "Enable cassette mode, suppressing phonabet input";
"hSv-LJ-Cq3.title" = "Enable symbol input support (incl. certain emoji symbols)";
"Iai-0X-nxi.title" = "Choose your desired cassette file path. Will be omitted if invalid.";
"iRg-wx-Nx2.title" = "Change UI font size of candidate window for a better visual clarity.";
"iWy-Nw-QKB.title" = "Commit Hanyu-Pinyin instead on Ctrl(+Option)+Command+Enter";
"j8q-IY-UF1.title" = "This conversion only affects the cassette module, converting typed contents to either Simplified Chinese or Traditional Chinese in accordance to this setting and your current input mode.";
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
@ -71,6 +80,7 @@
"lblIntonationKeyBehavior.title" = "Specify what intonation key does when syllable composer is empty.";
"lblShiftBkspKeyBehavior.title" = "Choose the attempted behavior of Shift+BackSpace key.";
"lblUpperCaseLetterKeyBehavior.title" = "Choose the behavior of Shift+Letter key with letter inputs.";
"o3r-NZ-gsU.title" = "Only enforce conversion in Simplified Chinese mode";
"Parser11.title" = "Secondary Pinyin with Numeral Intonation";
"Parser12.title" = "Yale Pinyin with Numeral Intonation";
"Parser13.title" = "Hualuo Pinyin with Numeral Intonation";
@ -89,8 +99,10 @@
"RQ6-MS-m4C.title" = "Choose your preferred keyboard layout and phonetic parser.";
"RUG-ls-KyA.title" = "Push the cursor in front of the phrase after selection";
"rVQ-Hx-cGi.title" = "Japanese";
"rXc-Ji-ery.title" = "Cassette mode is similar to the CIN support of the Yahoo Kimo IME, allowing users to use their own CIN tables to implement their stroked-based input schema (e.g. Wubi, Cangjie, Boshiamy, etc.) as a plan-B in vChewing IME. However, since vChewing won't compromise its phonabet input mode experience for this cassette mode, users might not feel comfortable enough comparing to their experiences with RIME (recommended) or OpenVanilla (deprecated).";
"s7u-Fm-dVg.title" = "Cycling Pages";
"shc-Nu-UsM.title" = "Show notifications when toggling Caps Lock";
"SzF-FL-sVO.title" = "Show translated strokes in composition buffer";
"tglDevZoneIMKCandidate.title" = "Use IMK Candidate Window instead of Tadokoro (will reboot the IME)";
"tglTrimUnfinishedReadingsOnCommit.title" = "Trim unfinished readings on commit";
"TXr-FF-ehw.title" = "Traditional Chinese";

View File

@ -12,6 +12,7 @@
"17.title" = "単語の後で // Microsoft 新注音入力のやり方";
"18.title" = "Radio";
"1AW-xf-c2f.label" = "キーボード";
"1ll-Jn-OD5.title" = "CIN カセットモード";
"20.title" = "Radio";
"21.title" = "横型陳列";
"22.title" = "縦型陳列";
@ -38,7 +39,9 @@
"9DS-Rc-TXq.title" = "アプリ表示用言語:";
"akC-2g-ybz.title" = "簡体中国語";
"ArK-Vk-OoT.title" = "漢字1つづつ全候補選択入力モード";
"BDG-qU-aj6.title" = "これをチェックしないと、全ての筆画は ASCII キーネームで入力緩衝列で表示してしまうことになる。CIN ファイルの「%keyname」というところで筆画の定義はできる。";
"BSK-bH-Gct.title" = "入力した繁体字を康熙字体と自動変換";
"cBw-gz-TXe.title" = "繁体モードだけの場合、カセットモードの漢字出力転換を";
"cf2-se-PDO.title" = "辞書と言語モデル";
"chkAllowBoostingSingleKanjiAsUserPhrase.title" = "即排除/即最優先にできる候補の文字数の最低限は1字とする";
"chkAlsoConfirmAssociatedCandidatesByEnter.title" = "Enter キーを連想語彙候補の確認のために使う";
@ -49,19 +52,25 @@
"chkKeepReadingUponCompositionError.title" = "効かぬ音読みを BackSpace で再編集";
"chkOnlyLoadFactoryLangModelsIfNeeded.title" = "必要性を判断してから内蔵辞書を読み込む";
"chkUseFixecCandidateOrderOnSelection.title" = "候補文字を固定順番で陳列する";
"Cp2-hn-bOq.title" = "カセットモードによる漢字出力の簡繁転換を行わずにする";
"DbW-eq-ZdB.title" = "星光";
"dIN-TZ-67g.title" = "Shift+Space で次のページ、Space で次の候補文字を";
"E1l-m8-xgb.title" = "詳細設定";
"ego-1f-8cO.title" = "カセットモードでの簡体繁体転換行為をご指定ください。";
"eia-1F-Do0.title" = "入力した繁体字を日文 JIS 新字体と自動変換";
"f2j-xD-4xK.title" = "ESC キーで入力緩衝列を消す";
"f8i-69-zxm.title" = "変更されたユーザー辞書データを自動的に再読込";
"FnD-oH-El5.title" = "言選り用キー:";
"fQ0-Yu-pJF.title" = "カセットモードによる漢字出力の簡体繁体転換を常に行う";
"FSG-lN-CJO.title" = "英語";
"FVC-br-H57.title" = "候補文字そのもの";
"GlJ-Ns-9eE.title" = "システム設定に準ずる";
"Grn-MZ-wTg.title" = "カセットモードを起用(注音入力はこのモードで使えぬ)";
"hSv-LJ-Cq3.title" = "僅かなる絵文字も含む符号入力サポートを起用";
"Iai-0X-nxi.title" = "欲しがる CIN カセットファイルをご指定ください。無効なる保存先設定は省かれる。";
"iRg-wx-Nx2.title" = "入力候補陳列の候補文字の字号をご指定ください。";
"iWy-Nw-QKB.title" = "Ctrl(+Option)+Command+Enter で出すのを漢語弁音と変換";
"j8q-IY-UF1.title" = "この転換はカセットモードだけに使える転換であり、転換結果はこの設定と入力モード次第である。";
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
@ -71,6 +80,7 @@
"lblIntonationKeyBehavior.title" = "音調組立緩衝列が空かされた時の音調キーの行為をご指定ください。";
"lblShiftBkspKeyBehavior.title" = "Shift+BackSpace キーの優先行為をご指定ください。";
"lblUpperCaseLetterKeyBehavior.title" = "Shift+文字キーの行為をご指定ください。";
"o3r-NZ-gsU.title" = "簡体モードだけの場合、カセットモードの漢字出力転換を";
"Parser11.title" = "国音二式 (ローマ字+数字音調)";
"Parser12.title" = "イェール弁音 (ローマ字+数字音調)";
"Parser13.title" = "中華ローマ弁音 (ローマ字+数字音調)";
@ -89,8 +99,10 @@
"RQ6-MS-m4C.title" = "お好きなるキーボードとそれに相応しい注音配列をお選びください。";
"RUG-ls-KyA.title" = "候補選択の直後、すぐカーソルを単語の向こうに推す";
"rVQ-Hx-cGi.title" = "和語";
"rXc-Ji-ery.title" = "カセットモードは、CIN ファイルを用いて、五筆や倉頡や嘸蝦米などのような筆画入力を機能拡張できるモードである。ですが、単なる予備機能として提供したもののため、使いやすいかどうか、RIME や OpenVanilla などに比べられないかもしれん。";
"s7u-Fm-dVg.title" = "ページ";
"shc-Nu-UsM.title" = "Caps Lock で切り替えの時に吹出通知メッセージを";
"SzF-FL-sVO.title" = "原始キーネームでなく、筆画を入力緩衝列で表示する";
"tglDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウを起用(入力アプリは自動的に再起動)";
"tglTrimUnfinishedReadingsOnCommit.title" = "送り出す緩衝列内容から未完成な音読みを除く";
"TXr-FF-ehw.title" = "繁体中国語";

View File

@ -12,6 +12,7 @@
"17.title" = "光标置于词语后方 // Windows 微软新注音风格";
"18.title" = "Radio";
"1AW-xf-c2f.label" = "键盘";
"1ll-Jn-OD5.title" = "CIN 磁带模式";
"20.title" = "Radio";
"21.title" = "横向布局";
"22.title" = "纵向布局";
@ -38,7 +39,9 @@
"9DS-Rc-TXq.title" = "界面语言设定:";
"akC-2g-ybz.title" = "简体中文";
"ArK-Vk-OoT.title" = "仿真 90 年代前期注音逐字选字输入风格";
"BDG-qU-aj6.title" = "不启用该选项的话,在组字区内的字根将会以原始键盘按键名称来显示。所有关于字根的定义,均请洽 CIN 磁带档案内的「%keyname」章节。";
"BSK-bH-Gct.title" = "自动将繁体中文字转换为康熙正体字";
"cBw-gz-TXe.title" = "仅在繁体模式转换至繁体";
"cf2-se-PDO.title" = "辞典&語言模型";
"chkAllowBoostingSingleKanjiAsUserPhrase.title" = "将可以就地升权/排除的候选字词的最短词长设为单个汉字";
"chkAlsoConfirmAssociatedCandidatesByEnter.title" = "允许使用 Enter 确认当前选中的联想词";
@ -49,19 +52,25 @@
"chkKeepReadingUponCompositionError.title" = "允许对无效的读音使用 BackSpace 编辑";
"chkOnlyLoadFactoryLangModelsIfNeeded.title" = "按需载入简繁体模式的原厂辞典资料";
"chkUseFixecCandidateOrderOnSelection.title" = "以固定顺序来陈列选字窗内的候选字";
"Cp2-hn-bOq.title" = "对磁带模式禁用繁简转换";
"DbW-eq-ZdB.title" = "星光";
"dIN-TZ-67g.title" = "Shift+Space 换下一页Space 换选下一个候选字。";
"E1l-m8-xgb.title" = "进阶设定";
"ego-1f-8cO.title" = "请指定磁带模式下的繁简转换行为。";
"eia-1F-Do0.title" = "自动将繁体中文字转换为日本简化字JIS 新字体)";
"f2j-xD-4xK.title" = "敲 ESC 键以清空整个输入缓冲区";
"f8i-69-zxm.title" = "自动重新加载变更过的使用者资料内容";
"FnD-oH-El5.title" = "选字键:";
"fQ0-Yu-pJF.title" = "依当前简繁模式强制转换";
"FSG-lN-CJO.title" = "英文";
"FVC-br-H57.title" = "轮替候选字";
"GlJ-Ns-9eE.title" = "自动选择";
"Grn-MZ-wTg.title" = "启用磁带模式,会停用注音输入";
"hSv-LJ-Cq3.title" = "启用包括少许绘文字在内的符号输入支援";
"Iai-0X-nxi.title" = "请在此指定您想指定的 CIN 磁带档案。无效值会被忽略。";
"iRg-wx-Nx2.title" = "变更候选字窗的字型大小。";
"iWy-Nw-QKB.title" = "Ctrl(+Option)+Command+Enter 输出汉语拼音而非注音";
"j8q-IY-UF1.title" = "该转换仅对磁带模式有影响,会将键入的内容根据该选项与当前的简繁体模式来转换。";
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
@ -71,6 +80,7 @@
"lblIntonationKeyBehavior.title" = "指定声调键(在注拼槽为「空」状态时)的行为。";
"lblShiftBkspKeyBehavior.title" = "指定 Shift+BackSpace 组合键率先尝试的行为。";
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母键 的行为。";
"o3r-NZ-gsU.title" = "仅在简体模式转换至简体";
"Parser11.title" = "国音二式+数字标调";
"Parser12.title" = "耶鲁拼音+数字标调";
"Parser13.title" = "华罗拼音+数字标调";
@ -89,8 +99,10 @@
"RQ6-MS-m4C.title" = "选择您所偏好的系统键盘布局与注音分析器排列。";
"RUG-ls-KyA.title" = "在选字后将光标置于该字词的前方";
"rVQ-Hx-cGi.title" = "和语";
"rXc-Ji-ery.title" = "磁带模式类似于雅虎奇摩输入法的 CIN 支援模式,允许使用者借由 CIN 表格档案扩充自己想要的笔画输入法(比如五笔、仓颉、呒虾米,等)。然而,因为威注音不打算为了这个功能而牺牲注音输入的体验,所以这个磁带模式的体验对于已经习惯 RIME 或者 OpenVanilla 的人群而言可能会稍微麻烦一些。";
"s7u-Fm-dVg.title" = "轮替页面";
"shc-Nu-UsM.title" = "以 Caps Lock 切换输入法/中英模式时显示通知";
"SzF-FL-sVO.title" = "在组字区内显示字根、而非原始键盘码";
"tglDevZoneIMKCandidate.title" = "启用与 macOS 内建输入法相同的 IMK 选字窗(会自动重启输入法)";
"tglTrimUnfinishedReadingsOnCommit.title" = "在递交时清理未完成拼写的读音";
"TXr-FF-ehw.title" = "繁体中文";

View File

@ -12,6 +12,7 @@
"17.title" = "游標置於詞語後方 // Windows 微軟新注音風格";
"18.title" = "Radio";
"1AW-xf-c2f.label" = "鍵盤";
"1ll-Jn-OD5.title" = "CIN 磁帶模式";
"20.title" = "Radio";
"21.title" = "橫向佈局";
"22.title" = "縱向佈局";
@ -38,7 +39,9 @@
"9DS-Rc-TXq.title" = "介面語言設定:";
"akC-2g-ybz.title" = "簡體中文";
"ArK-Vk-OoT.title" = "模擬 90 年代前期注音逐字選字輸入風格";
"BDG-qU-aj6.title" = "不啟用該選項的話,在組字區內的字根將會以原始鍵盤按鍵名稱來顯示。所有關於字根的定義,均請洽 CIN 磁帶檔案內的「%keyname」章節。";
"BSK-bH-Gct.title" = "自動將繁體中文字轉換為康熙正體字";
"cBw-gz-TXe.title" = "僅在繁體模式轉換至繁體";
"cf2-se-PDO.title" = "辭典&語言模型";
"chkAllowBoostingSingleKanjiAsUserPhrase.title" = "將可以就地升權/排除的候選字詞的最短詞長設為單個漢字";
"chkAlsoConfirmAssociatedCandidatesByEnter.title" = "允許使用 Enter 確認當前選中的聯想詞";
@ -49,19 +52,25 @@
"chkKeepReadingUponCompositionError.title" = "允許對無效的讀音使用 BackSpace 編輯";
"chkOnlyLoadFactoryLangModelsIfNeeded.title" = "按需載入簡繁體模式的原廠辭典資料";
"chkUseFixecCandidateOrderOnSelection.title" = "以固定順序來陳列選字窗內的候選字";
"Cp2-hn-bOq.title" = "對磁帶模式禁用繁簡轉換";
"DbW-eq-ZdB.title" = "星光";
"dIN-TZ-67g.title" = "Shift+Space 換下一頁Space 換選下一個候選字";
"E1l-m8-xgb.title" = "進階設定";
"ego-1f-8cO.title" = "請指定磁帶模式下的繁簡轉換行為。";
"eia-1F-Do0.title" = "自動將繁體中文字轉換為日本簡化字JIS 新字體)";
"f2j-xD-4xK.title" = "敲 ESC 鍵以清空整個輸入緩衝區";
"f8i-69-zxm.title" = "自動重新載入變更過的使用者資料內容";
"FnD-oH-El5.title" = "選字鍵:";
"fQ0-Yu-pJF.title" = "依當前簡繁模式強制轉換";
"FSG-lN-CJO.title" = "英文";
"FVC-br-H57.title" = "輪替候選字";
"GlJ-Ns-9eE.title" = "自動選擇";
"Grn-MZ-wTg.title" = "啟用磁帶模式,會停用注音輸入";
"hSv-LJ-Cq3.title" = "啟用包括少許繪文字在內的符號輸入支援";
"Iai-0X-nxi.title" = "請在此指定您想指定的 CIN 磁帶檔案。無效值會被忽略。";
"iRg-wx-Nx2.title" = "變更候選字窗的字型大小。";
"iWy-Nw-QKB.title" = "Ctrl(+Option)+Command+Enter 輸出漢語拼音而非注音";
"j8q-IY-UF1.title" = "該轉換僅對磁帶模式有影響,會將鍵入的內容根據該選項與當前的簡繁體模式來轉換。";
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
@ -71,6 +80,7 @@
"lblIntonationKeyBehavior.title" = "指定聲調鍵(在注拼槽為「空」狀態時)的行為。";
"lblShiftBkspKeyBehavior.title" = "指定 Shift+BackSpace 組合鍵率先嘗試的行為。";
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母鍵 的行為。";
"o3r-NZ-gsU.title" = "僅在簡體模式轉換至簡體";
"Parser11.title" = "國音二式+數字標調";
"Parser12.title" = "耶魯拼音+數字標調";
"Parser13.title" = "華羅拼音+數字標調";
@ -89,8 +99,10 @@
"RQ6-MS-m4C.title" = "選擇您所偏好的系統鍵盤佈局與注音分析器排列。";
"RUG-ls-KyA.title" = "在選字後將游標置於該字詞的前方";
"rVQ-Hx-cGi.title" = "和語";
"rXc-Ji-ery.title" = "磁帶模式類似於雅虎奇摩輸入法的 CIN 支援模式,允許使用者藉由 CIN 表格檔案擴充自己想要的筆畫輸入法(比如五筆、倉頡、嘸蝦米,等)。然而,因為威注音不打算為了這個功能而犧牲注音輸入的體驗,所以這個磁帶模式的體驗對於已經習慣 RIME 或者 OpenVanilla 的人群而言可能會稍微麻煩一些。";
"s7u-Fm-dVg.title" = "輪替頁面";
"shc-Nu-UsM.title" = "以 Caps Lock 切換輸入法/中英模式時顯示通知";
"SzF-FL-sVO.title" = "在組字區內顯示字根、而非原始鍵盤碼";
"tglDevZoneIMKCandidate.title" = "啟用與 macOS 內建輸入法相同的 IMK 選字窗(會自動重啟輸入法)";
"tglTrimUnfinishedReadingsOnCommit.title" = "在遞交時清理未完成拼寫的讀音";
"TXr-FF-ehw.title" = "繁體中文";

View File

@ -19,6 +19,7 @@
5B21176C287539BB000443A9 /* SessionCtl_HandleStates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B21176B287539BB000443A9 /* SessionCtl_HandleStates.swift */; };
5B21176E28753B35000443A9 /* SessionCtl_HandleDisplay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B21176D28753B35000443A9 /* SessionCtl_HandleDisplay.swift */; };
5B21177028753B9D000443A9 /* SessionCtl_Delegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B21176F28753B9D000443A9 /* SessionCtl_Delegates.swift */; };
5B2E009428FD1E8100E78D6E /* VwrPrefPaneCassette.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B2E009328FD1E8100E78D6E /* VwrPrefPaneCassette.swift */; };
5B3133BF280B229700A4A505 /* InputHandler_States.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B3133BE280B229700A4A505 /* InputHandler_States.swift */; };
5B40113928D7050D00A9D4CB /* Shared in Frameworks */ = {isa = PBXBuildFile; productRef = 5B40113828D7050D00A9D4CB /* Shared */; };
5B40113C28D71C0100A9D4CB /* Uninstaller in Frameworks */ = {isa = PBXBuildFile; productRef = 5B40113B28D71C0100A9D4CB /* Uninstaller */; };
@ -221,6 +222,7 @@
5B21176D28753B35000443A9 /* SessionCtl_HandleDisplay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCtl_HandleDisplay.swift; sourceTree = "<group>"; };
5B21176F28753B9D000443A9 /* SessionCtl_Delegates.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCtl_Delegates.swift; sourceTree = "<group>"; };
5B2DB17127AF8771006D874E /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; name = Makefile; path = Data/Makefile; sourceTree = "<group>"; };
5B2E009328FD1E8100E78D6E /* VwrPrefPaneCassette.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VwrPrefPaneCassette.swift; sourceTree = "<group>"; };
5B2F2BB3286216A500B8557B /* vChewingTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = vChewingTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
5B30F11227BA568800484E24 /* vChewingKeyLayout.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = vChewingKeyLayout.bundle; sourceTree = "<group>"; };
5B312684287800DE001AA720 /* FAQ.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = FAQ.md; sourceTree = "<group>"; };
@ -535,6 +537,7 @@
isa = PBXGroup;
children = (
5BA9FD0C27FEDB6B002DE248 /* CtlPrefUI.swift */,
5B2E009328FD1E8100E78D6E /* VwrPrefPaneCassette.swift */,
5B78EE0C28A562B4009456C1 /* VwrPrefPaneDevZone.swift */,
5BA9FD0E27FEDB6B002DE248 /* VwrPrefPaneDictionary.swift */,
5BA9FD0D27FEDB6B002DE248 /* VwrPrefPaneExperience.swift */,
@ -1182,6 +1185,7 @@
5BA9FD1327FEDB6B002DE248 /* VwrPrefPaneDictionary.swift in Sources */,
5BFDF011289635C100417BBC /* IMKCandidatesImpl.swift in Sources */,
5BB802DA27FABA8300CF1C19 /* SessionCtl_Menu.swift in Sources */,
5B2E009428FD1E8100E78D6E /* VwrPrefPaneCassette.swift in Sources */,
5BE377A0288FED8D0037365B /* InputHandler_HandleComposition.swift in Sources */,
5B00FA0C28DEC17200F6D436 /* SessionCtl_IMKCandidatesData.swift in Sources */,
);