CtlAboutUI // Refactor using SwiftUI.
This commit is contained in:
parent
d18eb5d45b
commit
1025dca837
|
@ -0,0 +1,52 @@
|
|||
// (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 AppKit
|
||||
import SwiftUI
|
||||
|
||||
@available(macOS 12, *)
|
||||
public class CtlAboutUI: NSWindowController, NSWindowDelegate {
|
||||
public static var shared: CtlAboutUI?
|
||||
|
||||
public static func show() {
|
||||
if shared == nil {
|
||||
let newWindow = NSWindow(
|
||||
contentRect: CGRect(x: 401, y: 295, width: 577, height: 568),
|
||||
styleMask: [.titled, .closable, .miniaturizable],
|
||||
backing: .buffered, defer: true
|
||||
)
|
||||
let newInstance = CtlAboutUI(window: newWindow)
|
||||
shared = newInstance
|
||||
}
|
||||
guard let shared = shared, let sharedWindow = shared.window else { return }
|
||||
sharedWindow.delegate = shared
|
||||
if !sharedWindow.isVisible {
|
||||
shared.windowDidLoad()
|
||||
}
|
||||
sharedWindow.setPosition(vertical: .top, horizontal: .left, padding: 20)
|
||||
sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示
|
||||
sharedWindow.level = .statusBar
|
||||
shared.showWindow(shared)
|
||||
NSApp.popup()
|
||||
}
|
||||
|
||||
override public func windowDidLoad() {
|
||||
super.windowDidLoad()
|
||||
window?.setPosition(vertical: .top, horizontal: .left, padding: 20)
|
||||
window?.standardWindowButton(.closeButton)?.isHidden = true
|
||||
window?.standardWindowButton(.miniaturizeButton)?.isHidden = true
|
||||
window?.standardWindowButton(.zoomButton)?.isHidden = true
|
||||
window?.titlebarAppearsTransparent = true
|
||||
window?.contentView = NSHostingView(
|
||||
rootView: VwrAboutUI()
|
||||
.fixedSize(horizontal: true, vertical: false)
|
||||
.ignoresSafeArea()
|
||||
)
|
||||
window?.title = "i18n:aboutWindow.ABOUT_APP_TITLE_FULL".localized + " (v\(IMEApp.appMainVersionLabel.joined(separator: " Build ")))"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
// (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 AppKit
|
||||
import SwiftUI
|
||||
|
||||
@available(macOS 12, *)
|
||||
public struct VwrAboutUI: View {
|
||||
@Environment(\.dismiss) private var dismiss
|
||||
|
||||
public static let copyrightLabel = Bundle.main.localizedInfoDictionary?["NSHumanReadableCopyright"] as? String ?? "BAD_COPYRIGHT_LABEL"
|
||||
public static let eulaContent = Bundle.main.localizedInfoDictionary?["CFEULAContent"] as? String ?? "BAD_EULA_CONTENT"
|
||||
public static let eulaContentUpstream = Bundle.main.infoDictionary?["CFUpstreamEULAContent"] as? String ?? "BAD_EULA_UPSTREAM"
|
||||
|
||||
public var body: some View {
|
||||
GroupBox {
|
||||
VStack(alignment: .leading, spacing: 6) {
|
||||
VStack(alignment: .leading) {
|
||||
HStack(alignment: .center) {
|
||||
if let icon = NSImage(named: "IconSansMargin") {
|
||||
Image(nsImage: icon).resizable().frame(width: 90, height: 90)
|
||||
}
|
||||
VStack(alignment: .leading) {
|
||||
HStack {
|
||||
Text("i18n:aboutWindow.APP_NAME").fontWeight(.heavy).lineLimit(1)
|
||||
Text("v\(IMEApp.appMainVersionLabel.joined(separator: " Build ")) - \(IMEApp.appSignedDateLabel)").lineLimit(1)
|
||||
}.fixedSize()
|
||||
Text("i18n:aboutWindow.APP_DERIVED_FROM").font(.custom("Tahoma", size: 11))
|
||||
Text("i18n:aboutWindow.DEV_CREW").font(.custom("Tahoma", size: 11)).padding([.vertical], 2)
|
||||
}
|
||||
}
|
||||
GroupBox(label: Text("i18n:aboutWindow.LICENSE_TITLE")) {
|
||||
ScrollView(.vertical, showsIndicators: true) {
|
||||
HStack {
|
||||
Text(Self.eulaContent + "\n" + Self.eulaContentUpstream).textSelection(.enabled)
|
||||
.frame(maxWidth: 455)
|
||||
.font(.custom("Tahoma", size: 11))
|
||||
Spacer()
|
||||
}
|
||||
}.padding(4).frame(height: 128)
|
||||
}
|
||||
}
|
||||
Divider()
|
||||
HStack(alignment: .top) {
|
||||
Text("i18n:aboutWindow.DISCLAIMER_TEXT")
|
||||
.font(.custom("Tahoma", size: 11))
|
||||
.frame(maxWidth: .infinity)
|
||||
VStack(spacing: 4) {
|
||||
Button {
|
||||
dismiss()
|
||||
} label: {
|
||||
Text("i18n:aboutWindow.OK_BUTTON").frame(width: 114)
|
||||
}
|
||||
.keyboardShortcut(.defaultAction)
|
||||
Button {
|
||||
if let url = URL(string: "https://vchewing.github.io/") {
|
||||
NSWorkspace.shared.open(url)
|
||||
}
|
||||
} label: {
|
||||
Text("i18n:aboutWindow.WEBSITE_BUTTON").frame(width: 114)
|
||||
}
|
||||
Button {
|
||||
if let url = URL(string: "https://vchewing.github.io/BUGREPORT.html") {
|
||||
NSWorkspace.shared.open(url)
|
||||
}
|
||||
} label: {
|
||||
Text("i18n:aboutWindow.BUGREPORT_BUTTON").frame(width: 114)
|
||||
}
|
||||
}.fixedSize(horizontal: true, vertical: true)
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
.font(.custom("Tahoma", size: 12))
|
||||
.padding(4)
|
||||
}
|
||||
// OTHER
|
||||
.padding([.horizontal, .bottom], 12)
|
||||
.frame(width: 533, alignment: .topLeading)
|
||||
.fixedSize()
|
||||
.frame(minWidth: 533, idealWidth: 533, maxWidth: 533,
|
||||
minHeight: 386, idealHeight: 386, maxHeight: 386,
|
||||
alignment: .top)
|
||||
}
|
||||
}
|
|
@ -14,7 +14,7 @@ import MainAssembly
|
|||
extension AppDelegate {
|
||||
// New About Window
|
||||
@IBAction func about(_: Any) {
|
||||
CtlAboutWindow.show()
|
||||
CtlAboutUI.show()
|
||||
NSApp.popup()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -434,7 +434,7 @@ public extension SessionCtl {
|
|||
}
|
||||
|
||||
@objc func showAbout(_: Any? = nil) {
|
||||
CtlAboutWindow.show()
|
||||
CtlAboutUI.show()
|
||||
NSApp.popup()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,60 +0,0 @@
|
|||
// (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 AppKit
|
||||
import MainAssembly
|
||||
|
||||
class CtlAboutWindow: NSWindowController {
|
||||
@IBOutlet var appVersionLabel: NSTextField!
|
||||
@IBOutlet var appCopyrightLabel: NSTextField!
|
||||
@IBOutlet var appEULAContent: NSTextView!
|
||||
|
||||
public static var shared: CtlAboutWindow?
|
||||
|
||||
static func show() {
|
||||
if shared == nil { shared = CtlAboutWindow(windowNibName: "frmAboutWindow") }
|
||||
guard let shared = shared, let sharedWindow = shared.window else { return }
|
||||
sharedWindow.setPosition(vertical: .top, horizontal: .left, padding: 20)
|
||||
sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示
|
||||
sharedWindow.level = .statusBar
|
||||
sharedWindow.titlebarAppearsTransparent = true
|
||||
shared.showWindow(shared)
|
||||
NSApp.popup()
|
||||
}
|
||||
|
||||
override func windowDidLoad() {
|
||||
super.windowDidLoad()
|
||||
window?.setPosition(vertical: .top, horizontal: .left, padding: 20)
|
||||
window?.standardWindowButton(.closeButton)?.isHidden = true
|
||||
window?.standardWindowButton(.miniaturizeButton)?.isHidden = true
|
||||
window?.standardWindowButton(.zoomButton)?.isHidden = true
|
||||
if let copyrightLabel = Bundle.main.localizedInfoDictionary?["NSHumanReadableCopyright"]
|
||||
as? String
|
||||
{
|
||||
appCopyrightLabel.stringValue = copyrightLabel
|
||||
}
|
||||
if let eulaContent = Bundle.main.localizedInfoDictionary?["CFEULAContent"] as? String,
|
||||
let eulaContentUpstream = Bundle.main.infoDictionary?["CFUpstreamEULAContent"] as? String
|
||||
{
|
||||
appEULAContent.string = eulaContent + "\n" + eulaContentUpstream
|
||||
}
|
||||
appVersionLabel.stringValue = IMEApp.appVersionLabel
|
||||
}
|
||||
|
||||
@IBAction func btnBugReport(_: NSButton) {
|
||||
if let url = URL(string: "https://vchewing.github.io/BUGREPORT.html") {
|
||||
NSWorkspace.shared.open(url)
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func btnWebsite(_: NSButton) {
|
||||
if let url = URL(string: "https://vchewing.github.io/") {
|
||||
NSWorkspace.shared.open(url)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +1,13 @@
|
|||
"i18n:aboutWindow.ABOUT_APP_TITLE_FULL" = "About vChewing for macOS";
|
||||
"i18n:aboutWindow.DISCLAIMER_TEXT" = "DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database.";
|
||||
"i18n:aboutWindow.OK_BUTTON" = "I Accept";
|
||||
"i18n:aboutWindow.WEBSITE_BUTTON" = "Website";
|
||||
"i18n:aboutWindow.BUGREPORT_BUTTON" = "Bug Report";
|
||||
"i18n:aboutWindow.LICENSE_TITLE" = "MIT-NTL License:";
|
||||
"i18n:aboutWindow.APP_NAME" = "vChewing for macOS";
|
||||
"i18n:aboutWindow.APP_DERIVED_FROM" = "Was derived from OpenVanilla McBopopmofo Project (MIT-License).";
|
||||
"i18n:aboutWindow.DEV_CREW" = "vChewing macOS Development: Shiki Suen, Isaac Xen, Hiraku Wang, etc.\nvChewing Phrase Database Maintained by Shiki Suen.\nWalking algorithm by Lukhnos Liu (from Gramambular 2, MIT-License).";
|
||||
|
||||
"vChewing" = "vChewing";
|
||||
"This update will upgrade vChewing from Aqua Special Edition to Mainstream Release (recommended for your current OS version)." = "This update will upgrade vChewing from Aqua Special Edition to Mainstream Release (recommended for your current OS version).";
|
||||
"Where's IMK Candidate Window?" = "Where's IMK Candidate Window?";
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
"i18n:aboutWindow.ABOUT_APP_TITLE_FULL" = "About vChewing for macOS";
|
||||
"i18n:aboutWindow.DISCLAIMER_TEXT" = "DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database.";
|
||||
"i18n:aboutWindow.OK_BUTTON" = "I Accept";
|
||||
"i18n:aboutWindow.WEBSITE_BUTTON" = "Website";
|
||||
"i18n:aboutWindow.BUGREPORT_BUTTON" = "Bug Report";
|
||||
"i18n:aboutWindow.LICENSE_TITLE" = "MIT-NTL License:";
|
||||
"i18n:aboutWindow.APP_NAME" = "vChewing for macOS";
|
||||
"i18n:aboutWindow.APP_DERIVED_FROM" = "Was derived from OpenVanilla McBopopmofo Project (MIT-License).";
|
||||
"i18n:aboutWindow.DEV_CREW" = "vChewing macOS Development: Shiki Suen, Isaac Xen, Hiraku Wang, etc.\nvChewing Phrase Database Maintained by Shiki Suen.\nWalking algorithm by Lukhnos Liu (from Gramambular 2, MIT-License).";
|
||||
|
||||
"vChewing" = "vChewing";
|
||||
"This update will upgrade vChewing from Aqua Special Edition to Mainstream Release (recommended for your current OS version)." = "This update will upgrade vChewing from Aqua Special Edition to Mainstream Release (recommended for your current OS version).";
|
||||
"Where's IMK Candidate Window?" = "Where's IMK Candidate Window?";
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
"i18n:aboutWindow.ABOUT_APP_TITLE_FULL" = "macOS 版威注音入力アプリについて";
|
||||
"i18n:aboutWindow.DISCLAIMER_TEXT" = "免責事項:vChewing Project は、OpenVanilla と協力関係や提携関係にあるわけではなく、OpenVanilla が小麦注音プロジェクトに同梱した辞書データについて、vChewing Project は一切責任負い兼ねる。特定な地政学的・観念形態的な内容は、vChewing アプリの世界的な普及に妨害する恐れがあるため、vChewing 公式辞書データに不収録。";
|
||||
"i18n:aboutWindow.OK_BUTTON" = "うむ";
|
||||
"i18n:aboutWindow.WEBSITE_BUTTON" = "公式HP";
|
||||
"i18n:aboutWindow.BUGREPORT_BUTTON" = "問題を報告";
|
||||
"i18n:aboutWindow.LICENSE_TITLE" = "MIT商標不許可ライセンス (MIT-NTL License):";
|
||||
"i18n:aboutWindow.APP_NAME" = "vChewing for macOS";
|
||||
"i18n:aboutWindow.APP_DERIVED_FROM" = "曾て OpenVanilla 小麦注音プロジェクト (MIT-License) から派生。";
|
||||
"i18n:aboutWindow.DEV_CREW" = "macOS 版威注音の開発:Shiki Suen, Isaac Xen, Hiraku Wang, など。\n威注音語彙データの維持:Shiki Suen。\nウォーキング算法:Lukhnos Liu (Gramambular 2, MIT-License)。";
|
||||
|
||||
"vChewing" = "威注音入力アプリ";
|
||||
"This update will upgrade vChewing from Aqua Special Edition to Mainstream Release (recommended for your current OS version)." = "これで今のこのアプリを Aqua 特別版から主流発行版と置き換えます。主流発行版は今の時代の macOS のために最適化したものであり、おすすめです。";
|
||||
"Where's IMK Candidate Window?" = "IMK 文字候補ウィンドウはどこに?";
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
"i18n:aboutWindow.ABOUT_APP_TITLE_FULL" = "关于 macOS 版「威注音输入法」";
|
||||
"i18n:aboutWindow.DISCLAIMER_TEXT" = "免责声明:威注音专案对小麦注音官方专案内赠的小麦注音原版词库内容不负任何责任。威注音输入法专用的威注音官方词库不包含任何「会在法理上妨碍威注音在全球传播」的「与地缘政治及政治意识形态有关的」内容。威注音专案与 OpenVanilla 专案之间无合作关系、无隶属关系。";
|
||||
"i18n:aboutWindow.OK_BUTTON" = "确定";
|
||||
"i18n:aboutWindow.WEBSITE_BUTTON" = "网站";
|
||||
"i18n:aboutWindow.BUGREPORT_BUTTON" = "故障提报";
|
||||
"i18n:aboutWindow.LICENSE_TITLE" = "麻理去商标授权合约 (MIT-NTL License):";
|
||||
"i18n:aboutWindow.APP_NAME" = "vChewing for macOS";
|
||||
"i18n:aboutWindow.APP_DERIVED_FROM" = "该专案曾由 OpenVanilla 小麦注音专案 (MIT-License) 衍生而来。";
|
||||
"i18n:aboutWindow.DEV_CREW" = "威注音 macOS 程式研发:Shiki Suen, Isaac Xen, Hiraku Wang, 等。\n威注音词库维护:Shiki Suen。\n爬轨算法:Lukhnos Liu (Gramambular 2, MIT-License)。";
|
||||
|
||||
"vChewing" = "威注音输入法";
|
||||
"This update will upgrade vChewing from Aqua Special Edition to Mainstream Release (recommended for your current OS version)." = "该更新会将您当前的输入法由 Aqua 特别版置换为针对当前系统设计的主流发行版。";
|
||||
"Where's IMK Candidate Window?" = "IMK 选字窗去哪里了?";
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
"i18n:aboutWindow.ABOUT_APP_TITLE_FULL" = "關於 macOS 版「威注音輸入法」";
|
||||
"i18n:aboutWindow.DISCLAIMER_TEXT" = "免責聲明:威注音專案對小麥注音官方專案內贈的小麥注音原版詞庫內容不負任何責任。威注音輸入法專用的威注音官方詞庫不包含任何「會在法理上妨礙威注音在全球傳播」的「與地緣政治及政治意識形態有關的」內容。威註音專案與 OpenVanilla 專案之間無合作關係、無隸屬關係。";
|
||||
"i18n:aboutWindow.OK_BUTTON" = "確定";
|
||||
"i18n:aboutWindow.WEBSITE_BUTTON" = "網站";
|
||||
"i18n:aboutWindow.BUGREPORT_BUTTON" = "故障提報";
|
||||
"i18n:aboutWindow.LICENSE_TITLE" = "麻理去商標授權合約 (MIT-NTL License):";
|
||||
"i18n:aboutWindow.APP_NAME" = "vChewing for macOS";
|
||||
"i18n:aboutWindow.APP_DERIVED_FROM" = "該專案曾由 OpenVanilla 小麥注音專案 (MIT-License) 衍生而來。";
|
||||
"i18n:aboutWindow.DEV_CREW" = "威注音 macOS 程式研發:Shiki Suen, Isaac Xen, Hiraku Wang, 等。\n威注音詞庫維護:Shiki Suen。\n爬軌算法:Lukhnos Liu (Gramambular 2, MIT-License)。";
|
||||
|
||||
"vChewing" = "威注音輸入法";
|
||||
"This update will upgrade vChewing from Aqua Special Edition to Mainstream Release (recommended for your current OS version)." = "該更新會將您當前的輸入法由 Aqua 特別版置換為針對當前系統設計的主流發行版。";
|
||||
"Where's IMK Candidate Window?" = "IMK 選字窗去哪裡了?";
|
||||
|
|
|
@ -1,230 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="AboutWindow">
|
||||
<connections>
|
||||
<outlet property="appCopyrightLabel" destination="8Ju-DR-2C8" id="Odh-c7-nyT"/>
|
||||
<outlet property="appEULAContent" destination="cEu-uC-XnV" id="yoU-Ua-cHn"/>
|
||||
<outlet property="appVersionLabel" destination="9Pk-k3-0cO" id="y37-SM-qyG"/>
|
||||
<outlet property="window" destination="ttlAboutWindow" id="gIp-Ho-8D9"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<window title="About vChewing for macOS" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" animationBehavior="default" tabbingMode="disallowed" titlebarAppearsTransparent="YES" id="ttlAboutWindow">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="533" height="457"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
|
||||
<value key="minSize" type="size" width="533" height="457"/>
|
||||
<value key="maxSize" type="size" width="533" height="457"/>
|
||||
<view key="contentView" id="se5-gp-TjO">
|
||||
<rect key="frame" x="0.0" y="0.0" width="533" height="457"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6Dx-DY-UG1">
|
||||
<rect key="frame" x="89" y="443" width="130" height="14"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="vChewing for macOS" id="lblAppTitle" userLabel="appNameLabel">
|
||||
<font key="font" size="12" name="Tahoma-Bold"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Srh-ua-uQD">
|
||||
<rect key="frame" x="89" y="428" width="362" height="14"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Was derived from OpenVanilla McBopopmofo Project (MIT-License)." id="lblProjectDescription">
|
||||
<font key="font" size="12" name="Tahoma"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8Ju-DR-2C8">
|
||||
<rect key="frame" x="89" y="413" width="297" height="14"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="293" id="I1K-WT-jie"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Placeholder for showing copyright information." id="lblCopyright" userLabel="appCopyrightLabel">
|
||||
<font key="font" size="12" name="Tahoma"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8M8-3C-BZO">
|
||||
<rect key="frame" x="89" y="391" width="431" height="14"/>
|
||||
<textFieldCell key="cell" title="Placeholder for detailed credits." id="lblCredits">
|
||||
<font key="font" size="12" name="Tahoma"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="2Gh-nq-Mng">
|
||||
<rect key="frame" x="15" y="132" width="503" height="5"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eYM-F7-drf">
|
||||
<rect key="frame" x="89" y="369" width="431" height="14"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="MIT-NTL License:" id="lblLicense">
|
||||
<font key="font" size="12" name="Tahoma"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="d81-Fe-uNT">
|
||||
<rect key="frame" x="13" y="21" width="360" height="105"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="356" id="B0d-48-3we"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" id="lblDisclaimer">
|
||||
<font key="font" size="12" name="Tahoma"/>
|
||||
<string key="title">DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database.</string>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="bAv-ZO-Ihw">
|
||||
<rect key="frame" x="15" y="142" width="63" height="315"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="63" id="ugR-og-6Vl"/>
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" animates="YES" imageScaling="proportionallyDown" image="AboutBanner" id="Noc-kP-zTE"/>
|
||||
</imageView>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9Pk-k3-0cO">
|
||||
<rect key="frame" x="218" y="443" width="126" height="14"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="122" id="0XT-cl-6S4"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="version_placeholder" id="lblVersionString" userLabel="appVersionLabel">
|
||||
<font key="font" size="12" name="Tahoma"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bSu-np-tPT" userLabel="confirmButton">
|
||||
<rect key="frame" x="382" y="96" width="143" height="32"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="129" id="ECG-s4-D2p"/>
|
||||
</constraints>
|
||||
<buttonCell key="cell" type="push" title="OK" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="btnConfirm">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" size="13" name="Tahoma-Bold"/>
|
||||
<string key="keyEquivalent" base64-UTF8="YES">
|
||||
DQ
|
||||
</string>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="performClose:" target="-1" id="0yK-v8-KQd"/>
|
||||
</connections>
|
||||
</button>
|
||||
<scrollView horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JkD-J1-Yeu">
|
||||
<rect key="frame" x="91" y="143" width="427" height="218"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="35U-hd-B9v">
|
||||
<rect key="frame" x="1" y="1" width="425" height="216"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textView editable="NO" importsGraphics="NO" richText="NO" verticallyResizable="YES" smartInsertDelete="YES" id="cEu-uC-XnV" userLabel="appEULAContent">
|
||||
<rect key="frame" x="0.0" y="0.0" width="425" height="216"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="minSize" width="425" height="216"/>
|
||||
<size key="maxSize" width="436" height="10000000"/>
|
||||
<attributedString key="textStorage">
|
||||
<fragment content="Placeholder for EULA Texts.">
|
||||
<attributes>
|
||||
<color key="NSColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<font key="NSFont" metaFont="smallSystem"/>
|
||||
<paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0" allowsDefaultTighteningForTruncation="NO"/>
|
||||
</attributes>
|
||||
</fragment>
|
||||
</attributedString>
|
||||
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
</textView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="Ish-Zy-cQw">
|
||||
<rect key="frame" x="-100" y="-100" width="240" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="qxC-Vo-FVi">
|
||||
<rect key="frame" x="410" y="1" width="16" height="216"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8WL-H4-o1O">
|
||||
<rect key="frame" x="382" y="69" width="143" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="Website" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="xCD-lx-zY7">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" size="13" name="Tahoma"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="btnWebsite:" target="-1" id="KjF-Ja-Vhz"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OZj-DU-Oam">
|
||||
<rect key="frame" x="382" y="42" width="143" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="Bug Report" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="7SW-k9-sId">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" size="13" name="Tahoma"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="btnBugReport:" target="-1" id="ub1-rB-AED"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="9Pk-k3-0cO" secondAttribute="trailing" constant="20" symbolic="YES" id="0LE-Ck-Jy5"/>
|
||||
<constraint firstItem="2Gh-nq-Mng" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="1cy-gM-7lt"/>
|
||||
<constraint firstItem="JkD-J1-Yeu" firstAttribute="trailing" secondItem="2Gh-nq-Mng" secondAttribute="trailing" id="24O-Jp-K8a"/>
|
||||
<constraint firstItem="6Dx-DY-UG1" firstAttribute="leading" secondItem="bAv-ZO-Ihw" secondAttribute="trailing" constant="13" id="43n-1d-TD2"/>
|
||||
<constraint firstItem="8WL-H4-o1O" firstAttribute="top" secondItem="bSu-np-tPT" secondAttribute="bottom" constant="7" id="450-VN-7n2"/>
|
||||
<constraint firstItem="8Ju-DR-2C8" firstAttribute="top" secondItem="Srh-ua-uQD" secondAttribute="bottom" constant="1" id="5eL-dp-7Z8"/>
|
||||
<constraint firstItem="8M8-3C-BZO" firstAttribute="top" secondItem="8Ju-DR-2C8" secondAttribute="bottom" constant="8" symbolic="YES" id="82T-Pc-3db"/>
|
||||
<constraint firstItem="2Gh-nq-Mng" firstAttribute="top" secondItem="bAv-ZO-Ihw" secondAttribute="bottom" constant="7" id="8EG-DW-AZM"/>
|
||||
<constraint firstItem="Srh-ua-uQD" firstAttribute="top" secondItem="6Dx-DY-UG1" secondAttribute="bottom" constant="1" id="91b-Oo-tsv"/>
|
||||
<constraint firstItem="OZj-DU-Oam" firstAttribute="top" secondItem="8WL-H4-o1O" secondAttribute="bottom" constant="7" id="AeY-Pq-7ZD"/>
|
||||
<constraint firstItem="OZj-DU-Oam" firstAttribute="trailing" secondItem="8WL-H4-o1O" secondAttribute="trailing" id="BXO-np-u7F"/>
|
||||
<constraint firstItem="d81-Fe-uNT" firstAttribute="top" secondItem="2Gh-nq-Mng" secondAttribute="bottom" constant="8" symbolic="YES" id="C6S-3S-QcT"/>
|
||||
<constraint firstItem="2Gh-nq-Mng" firstAttribute="leading" secondItem="d81-Fe-uNT" secondAttribute="leading" id="CBk-Lx-b1d"/>
|
||||
<constraint firstItem="bSu-np-tPT" firstAttribute="leading" secondItem="d81-Fe-uNT" secondAttribute="trailing" constant="18" id="E2b-7Z-Yjw"/>
|
||||
<constraint firstItem="bAv-ZO-Ihw" firstAttribute="leading" secondItem="2Gh-nq-Mng" secondAttribute="leading" id="EQ1-cm-RX8"/>
|
||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="bSu-np-tPT" secondAttribute="bottom" constant="81" id="Inw-Qt-fHt"/>
|
||||
<constraint firstAttribute="bottom" secondItem="d81-Fe-uNT" secondAttribute="bottom" constant="21" id="Km1-n7-j8F"/>
|
||||
<constraint firstItem="8M8-3C-BZO" firstAttribute="trailing" secondItem="eYM-F7-drf" secondAttribute="trailing" id="O8T-AT-i11"/>
|
||||
<constraint firstItem="Srh-ua-uQD" firstAttribute="leading" secondItem="8Ju-DR-2C8" secondAttribute="leading" id="Rks-Q6-4Hh"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Srh-ua-uQD" secondAttribute="trailing" constant="20" symbolic="YES" id="Swp-Z3-57P"/>
|
||||
<constraint firstItem="bSu-np-tPT" firstAttribute="top" secondItem="2Gh-nq-Mng" secondAttribute="bottom" constant="11" id="ThD-rE-Rc3"/>
|
||||
<constraint firstItem="6Dx-DY-UG1" firstAttribute="baseline" secondItem="9Pk-k3-0cO" secondAttribute="baseline" id="UXk-Ir-Kti"/>
|
||||
<constraint firstItem="6Dx-DY-UG1" firstAttribute="leading" secondItem="Srh-ua-uQD" secondAttribute="leading" id="UZA-vT-6yG"/>
|
||||
<constraint firstItem="bAv-ZO-Ihw" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="15" id="Uhh-Lu-dEf"/>
|
||||
<constraint firstItem="8Ju-DR-2C8" firstAttribute="leading" secondItem="8M8-3C-BZO" secondAttribute="leading" id="UrF-M2-wpG"/>
|
||||
<constraint firstItem="eYM-F7-drf" firstAttribute="top" secondItem="8M8-3C-BZO" secondAttribute="bottom" constant="8" symbolic="YES" id="WIZ-YQ-chM"/>
|
||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="2Gh-nq-Mng" secondAttribute="bottom" constant="134" id="WJK-gw-zR7"/>
|
||||
<constraint firstItem="OZj-DU-Oam" firstAttribute="leading" secondItem="8WL-H4-o1O" secondAttribute="leading" id="Xhu-4a-33O"/>
|
||||
<constraint firstItem="8WL-H4-o1O" firstAttribute="trailing" secondItem="bSu-np-tPT" secondAttribute="trailing" id="aEs-t7-H6v"/>
|
||||
<constraint firstItem="9Pk-k3-0cO" firstAttribute="leading" secondItem="6Dx-DY-UG1" secondAttribute="trailing" constant="3" id="c3v-ZJ-usi"/>
|
||||
<constraint firstItem="JkD-J1-Yeu" firstAttribute="top" secondItem="eYM-F7-drf" secondAttribute="bottom" constant="8" symbolic="YES" id="eqh-Gi-fS2"/>
|
||||
<constraint firstItem="bAv-ZO-Ihw" firstAttribute="top" secondItem="6Dx-DY-UG1" secondAttribute="top" id="hJv-Sh-M4t"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="8Ju-DR-2C8" secondAttribute="trailing" constant="20" symbolic="YES" id="hm1-o7-gLp"/>
|
||||
<constraint firstItem="2Gh-nq-Mng" firstAttribute="trailing" secondItem="bSu-np-tPT" secondAttribute="trailing" id="ixJ-xP-aIU"/>
|
||||
<constraint firstItem="2Gh-nq-Mng" firstAttribute="top" secondItem="JkD-J1-Yeu" secondAttribute="bottom" constant="8" symbolic="YES" id="pvU-C2-BNa"/>
|
||||
<constraint firstItem="8WL-H4-o1O" firstAttribute="leading" secondItem="bSu-np-tPT" secondAttribute="leading" id="qog-au-dXJ"/>
|
||||
<constraint firstItem="8M8-3C-BZO" firstAttribute="leading" secondItem="eYM-F7-drf" secondAttribute="leading" id="rLt-ck-nSt"/>
|
||||
<constraint firstAttribute="trailing" secondItem="8M8-3C-BZO" secondAttribute="trailing" constant="15" id="rx3-ed-9sg"/>
|
||||
<constraint firstItem="JkD-J1-Yeu" firstAttribute="leading" secondItem="eYM-F7-drf" secondAttribute="leading" id="t9D-Vu-dOC"/>
|
||||
<constraint firstItem="bAv-ZO-Ihw" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" id="u49-Fr-HYh"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="110.5" y="110.5"/>
|
||||
</window>
|
||||
<userDefaultsController representsSharedInstance="YES" id="CaN-wP-mkf"/>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="AboutBanner" width="63" height="310"/>
|
||||
</resources>
|
||||
</document>
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
/* Class = "NSTextFieldCell"; title = "MIT-NTL License:"; ObjectID = "lblLicense"; */
|
||||
"lblLicense.title" = "MIT-NTL License:";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "version"; ObjectID = "lblVersionString"; */
|
||||
// "lblVersionString.title" = "version";
|
||||
|
||||
/* Class = "NSWindow"; title = "About vChewing for macOS"; ObjectID = "ttlAboutWindow"; */
|
||||
"ttlAboutWindow.title" = "About vChewing for macOS";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Was derived from OpenVanilla McBopopmofo Project (MIT-License)."; ObjectID = "lblProjectDescription"; */
|
||||
"lblProjectDescription.title" = "Was derived from OpenVanilla McBopopmofo Project (MIT-License).";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "OK"; ObjectID = "btnConfirm"; */
|
||||
"btnConfirm.title" = "OK";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing for macOS"; ObjectID = "lblAppTitle"; */
|
||||
"lblAppTitle.title" = "vChewing for macOS";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database."; ObjectID = "lblDisclaimer"; */
|
||||
"lblDisclaimer.title" = "DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "© 2021 and onwards The vChewing Project."; ObjectID = "lblCopyright"; */
|
||||
// "lblCopyright.title" = "© 2021 and onwards The vChewing Project.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing macOS Development: Shiki Suen, Isaac Xen, Hiraku Wang, etc.\nvChewing Phrase Database Maintained by Shiki Suen.\nWalking algorithm by Lukhnos Liu (from Gramambular 2, MIT-License)."; ObjectID = "lblCredits"; */
|
||||
"lblCredits.title" = "vChewing macOS Development: Shiki Suen, Isaac Xen, Hiraku Wang, etc.\nvChewing Phrase Database Maintained by Shiki Suen.\nWalking algorithm by Lukhnos Liu (from Gramambular 2, MIT-License).";
|
||||
|
||||
"xCD-lx-zY7.title" = "Website";
|
||||
|
||||
"7SW-k9-sId.title" = "Bug Report";
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
/* Class = "NSTextFieldCell"; title = "MIT-NTL License:"; ObjectID = "lblLicense"; */
|
||||
"lblLicense.title" = "MIT商標不許可ライセンス (MIT-NTL License):";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "version"; ObjectID = "lblVersionString"; */
|
||||
// "lblVersionString.title" = "版本";
|
||||
|
||||
/* Class = "NSWindow"; title = "About vChewing for macOS"; ObjectID = "ttlAboutWindow"; */
|
||||
"ttlAboutWindow.title" = "macOS 版威注音入力アプリについて";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Was derived from OpenVanilla McBopopmofo Project (MIT-License)."; ObjectID = "lblProjectDescription"; */
|
||||
"lblProjectDescription.title" = "曾て OpenVanilla 小麦注音プロジェクト (MIT-License) から派生。";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "OK"; ObjectID = "btnConfirm"; */
|
||||
"btnConfirm.title" = "うむ";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing for macOS"; ObjectID = "lblAppTitle"; */
|
||||
"lblAppTitle.title" = "vChewing for macOS";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database."; ObjectID = "lblDisclaimer"; */
|
||||
"lblDisclaimer.title" = "免責事項:vChewing Project は、OpenVanilla と協力関係や提携関係にあるわけではなく、OpenVanilla が小麦注音プロジェクトに同梱した辞書データについて、vChewing Project は一切責任負い兼ねる。特定な地政学的・観念形態的な内容は、vChewing アプリの世界的な普及に妨害する恐れがあるため、vChewing 公式辞書データに不収録。";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "© 2021 and onwards The vChewing Project."; ObjectID = "lblCopyright"; */
|
||||
// "lblCopyright.title" = "© 2021 and onwards The vChewing Project.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing macOS Development: Shiki Suen, Isaac Xen, Hiraku Wang, etc.\nvChewing Phrase Database Maintained by Shiki Suen.\nWalking algorithm by Lukhnos Liu (from Gramambular 2, MIT-License)."; ObjectID = "lblCredits"; */
|
||||
"lblCredits.title" = "macOS 版威注音の開発:Shiki Suen, Isaac Xen, Hiraku Wang, など。\n威注音語彙データの維持:Shiki Suen。\nウォーキング算法:Lukhnos Liu (Gramambular 2, MIT-License)。";
|
||||
|
||||
"xCD-lx-zY7.title" = "公式HP";
|
||||
|
||||
"7SW-k9-sId.title" = "支障を報告";
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
/* Class = "NSTextFieldCell"; title = "MIT-NTL License:"; ObjectID = "lblLicense"; */
|
||||
"lblLicense.title" = "麻理去商标授权合约 (MIT-NTL License):";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "version"; ObjectID = "lblVersionString"; */
|
||||
// "lblVersionString.title" = "版本";
|
||||
|
||||
/* Class = "NSWindow"; title = "About vChewing for macOS"; ObjectID = "ttlAboutWindow"; */
|
||||
"ttlAboutWindow.title" = "关于 macOS 版「威注音输入法」";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Was derived from OpenVanilla McBopopmofo Project (MIT-License)."; ObjectID = "lblProjectDescription"; */
|
||||
"lblProjectDescription.title" = "该专案曾由 OpenVanilla 小麦注音专案 (MIT-License) 衍生而来。";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "OK"; ObjectID = "btnConfirm"; */
|
||||
"btnConfirm.title" = "确定";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing for macOS"; ObjectID = "lblAppTitle"; */
|
||||
"lblAppTitle.title" = "vChewing for macOS";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database."; ObjectID = "lblDisclaimer"; */
|
||||
"lblDisclaimer.title" = "免责声明:威注音专案对小麦注音官方专案内赠的小麦注音原版词库内容不负任何责任。威注音输入法专用的威注音官方词库不包含任何「会在法理上妨碍威注音在全球传播」的「与地缘政治及政治意识形态有关的」内容。威注音专案与 OpenVanilla 专案之间无合作关系、无隶属关系。";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "© 2021 and onwards The vChewing Project."; ObjectID = "lblCopyright"; */
|
||||
// "lblCopyright.title" = "© 2021 and onwards The vChewing Project.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing macOS Development: Shiki Suen, Isaac Xen, Hiraku Wang, etc.\nvChewing Phrase Database Maintained by Shiki Suen.\nWalking algorithm by Lukhnos Liu (from Gramambular 2, MIT-License)."; ObjectID = "lblCredits"; */
|
||||
"lblCredits.title" = "威注音 macOS 程式研发:Shiki Suen, Isaac Xen, Hiraku Wang, 等。\n威注音词库维护:Shiki Suen。\n爬轨算法:Lukhnos Liu (Gramambular 2, MIT-License)。";
|
||||
|
||||
"xCD-lx-zY7.title" = "网站";
|
||||
|
||||
"7SW-k9-sId.title" = "故障提报";
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
/* Class = "NSTextFieldCell"; title = "MIT-NTL License:"; ObjectID = "lblLicense"; */
|
||||
"lblLicense.title" = "麻理去商標授權合約 (MIT-NTL License):";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "version"; ObjectID = "lblVersionString"; */
|
||||
// "lblVersionString.title" = "版本";
|
||||
|
||||
/* Class = "NSWindow"; title = "About vChewing for macOS"; ObjectID = "ttlAboutWindow"; */
|
||||
"ttlAboutWindow.title" = "關於 macOS 版「威注音輸入法」";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Was derived from OpenVanilla McBopopmofo Project (MIT-License)."; ObjectID = "lblProjectDescription"; */
|
||||
"lblProjectDescription.title" = "該專案曾由 OpenVanilla 小麥注音專案 (MIT-License) 衍生而來。";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "OK"; ObjectID = "btnConfirm"; */
|
||||
"btnConfirm.title" = "確定";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing for macOS"; ObjectID = "lblAppTitle"; */
|
||||
"lblAppTitle.title" = "vChewing for macOS";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "DISCLAIMER: The vChewing project, having no relationship of cooperation or affiliation with the OpenVanilla project, is not responsible for the phrase database shipped in the original McBopomofo project. Certain geopolitical and ideological contents, which are potentially harmful to the global spread of this software, are not included in vChewing official phrase database."; ObjectID = "lblDisclaimer"; */
|
||||
"lblDisclaimer.title" = "免責聲明:威注音專案對小麥注音官方專案內贈的小麥注音原版詞庫內容不負任何責任。威注音輸入法專用的威注音官方詞庫不包含任何「會在法理上妨礙威注音在全球傳播」的「與地緣政治及政治意識形態有關的」內容。威註音專案與 OpenVanilla 專案之間無合作關係、無隸屬關係。";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "© 2021 and onwards The vChewing Project."; ObjectID = "lblCopyright"; */
|
||||
// "lblCopyright.title" = "© 2021 and onwards The vChewing Project.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "vChewing macOS Development: Shiki Suen, Isaac Xen, Hiraku Wang, etc.\nvChewing Phrase Database Maintained by Shiki Suen.\nWalking algorithm by Lukhnos Liu (from Gramambular 2, MIT-License)."; ObjectID = "lblCredits"; */
|
||||
"lblCredits.title" = "威注音 macOS 程式研發:Shiki Suen, Isaac Xen, Hiraku Wang, 等。\n威注音詞庫維護:Shiki Suen。\n爬軌算法:Lukhnos Liu (Gramambular 2, MIT-License)。";
|
||||
|
||||
"xCD-lx-zY7.title" = "網站";
|
||||
|
||||
"7SW-k9-sId.title" = "故障提報";
|
|
@ -23,7 +23,6 @@
|
|||
5B30BF282944867800BD87A9 /* CtlRevLookupWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B30BF272944867800BD87A9 /* CtlRevLookupWindow.swift */; };
|
||||
5B40113928D7050D00A9D4CB /* Shared in Frameworks */ = {isa = PBXBuildFile; productRef = 5B40113828D7050D00A9D4CB /* Shared */; };
|
||||
5B40113C28D71C0100A9D4CB /* Uninstaller in Frameworks */ = {isa = PBXBuildFile; productRef = 5B40113B28D71C0100A9D4CB /* Uninstaller */; };
|
||||
5B62A33D27AE7CC100A19448 /* CtlAboutWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B62A33C27AE7CC100A19448 /* CtlAboutWindow.swift */; };
|
||||
5B65FB342A9518DA007EEFB0 /* MainAssembly in Frameworks */ = {isa = PBXBuildFile; productRef = 5B65FB332A9518DA007EEFB0 /* MainAssembly */; };
|
||||
5B70F4E92A0BE900005EA8C4 /* MenuIcon-TCVIM.png in Resources */ = {isa = PBXBuildFile; fileRef = 5B70F4E52A0BE900005EA8C4 /* MenuIcon-TCVIM.png */; };
|
||||
5B70F4EA2A0BE900005EA8C4 /* MenuIcon-SCVIM.png in Resources */ = {isa = PBXBuildFile; fileRef = 5B70F4E62A0BE900005EA8C4 /* MenuIcon-SCVIM.png */; };
|
||||
|
@ -43,7 +42,6 @@
|
|||
5BB802DA27FABA8300CF1C19 /* SessionCtl_Menu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB802D927FABA8300CF1C19 /* SessionCtl_Menu.swift */; };
|
||||
5BBBB75F27AED54C0023B93A /* Beep.m4a in Resources */ = {isa = PBXBuildFile; fileRef = 5BBBB75D27AED54C0023B93A /* Beep.m4a */; };
|
||||
5BBBB76027AED54C0023B93A /* Fart.m4a in Resources */ = {isa = PBXBuildFile; fileRef = 5BBBB75E27AED54C0023B93A /* Fart.m4a */; };
|
||||
5BBBB76D27AED5DB0023B93A /* frmAboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BBBB76927AED5DB0023B93A /* frmAboutWindow.xib */; };
|
||||
5BBC2D9E28F51C0400C986F6 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = 5B18BA7227C7BD8B0056EB19 /* LICENSE.txt */; };
|
||||
5BBC2D9F28F51C0400C986F6 /* LICENSE-CHT.txt in Resources */ = {isa = PBXBuildFile; fileRef = 5B18BA7427C7BD8C0056EB19 /* LICENSE-CHT.txt */; };
|
||||
5BBC2DA028F51C0400C986F6 /* LICENSE-JPN.txt in Resources */ = {isa = PBXBuildFile; fileRef = 5B18BA7327C7BD8C0056EB19 /* LICENSE-JPN.txt */; };
|
||||
|
@ -129,17 +127,14 @@
|
|||
5B04305427B529D800CB65BC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
5B04305627B529D800CB65BC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
|
||||
5B04305727B529D800CB65BC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
5B04305827B529D800CB65BC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/frmAboutWindow.strings"; sourceTree = "<group>"; };
|
||||
5B04305927B529D800CB65BC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = ja.lproj/frmPrefWindow.strings; sourceTree = "<group>"; };
|
||||
5B04305E27B5312E00CB65BC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
5B04305F27B5312E00CB65BC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
5B04306127B5312E00CB65BC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
5B04306227B5312E00CB65BC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
5B04306327B5312E00CB65BC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/frmAboutWindow.strings; sourceTree = "<group>"; };
|
||||
5B04306427B5312E00CB65BC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = "zh-Hans.lproj/frmPrefWindow.strings"; sourceTree = "<group>"; };
|
||||
5B05A47B27AFF7CA00437698 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
5B05A47C27AFF7CF00437698 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
5B05A47F27AFF84200437698 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/frmAboutWindow.strings; sourceTree = "<group>"; };
|
||||
5B09307728B6FC3B0021F8C5 /* zh-Hant */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; lineEnding = 0; name = "zh-Hant"; path = "zh-Hant.lproj/shortcuts.html"; sourceTree = "<group>"; };
|
||||
5B09307928B6FC3F0021F8C5 /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; lineEnding = 0; name = "zh-Hans"; path = "zh-Hans.lproj/shortcuts.html"; sourceTree = "<group>"; };
|
||||
5B09307A28B6FC400021F8C5 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; lineEnding = 0; name = en; path = en.lproj/shortcuts.html; sourceTree = "<group>"; };
|
||||
|
@ -170,7 +165,6 @@
|
|||
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>"; };
|
||||
5B40113A28D71B8700A9D4CB /* vChewing_Uninstaller */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = vChewing_Uninstaller; path = Packages/vChewing_Uninstaller; sourceTree = "<group>"; };
|
||||
5B62A33C27AE7CC100A19448 /* CtlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = CtlAboutWindow.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5B65B919284D0185007C558B /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||
5B65FB322A9518C9007EEFB0 /* vChewing_MainAssembly */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = vChewing_MainAssembly; path = Packages/vChewing_MainAssembly; sourceTree = "<group>"; };
|
||||
5B70F4E52A0BE900005EA8C4 /* MenuIcon-TCVIM.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MenuIcon-TCVIM.png"; sourceTree = "<group>"; };
|
||||
|
@ -192,7 +186,6 @@
|
|||
5BB802D927FABA8300CF1C19 /* SessionCtl_Menu.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = SessionCtl_Menu.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5BBBB75D27AED54C0023B93A /* Beep.m4a */ = {isa = PBXFileReference; lastKnownFileType = file; path = Beep.m4a; sourceTree = "<group>"; };
|
||||
5BBBB75E27AED54C0023B93A /* Fart.m4a */ = {isa = PBXFileReference; lastKnownFileType = file; path = Fart.m4a; sourceTree = "<group>"; };
|
||||
5BBBB76A27AED5DB0023B93A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/frmAboutWindow.xib; sourceTree = "<group>"; };
|
||||
5BBC2DA228F5212100C986F6 /* RelocationDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelocationDetector.swift; sourceTree = "<group>"; };
|
||||
5BBD627827B6C4D900271480 /* Update-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Update-Info.plist"; sourceTree = "<group>"; };
|
||||
5BC0AAC927F58472002D33E9 /* pkgPreInstall.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = pkgPreInstall.sh; sourceTree = "<group>"; };
|
||||
|
@ -211,7 +204,6 @@
|
|||
5BDB7A3428D47587001AC277 /* Qwertyyb_ShiftKeyUpChecker */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = Qwertyyb_ShiftKeyUpChecker; path = Packages/Qwertyyb_ShiftKeyUpChecker; sourceTree = "<group>"; };
|
||||
5BDB7A3528D47587001AC277 /* RMJay_LineReader */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = RMJay_LineReader; path = Packages/RMJay_LineReader; sourceTree = "<group>"; };
|
||||
5BDB7A3628D47587001AC277 /* vChewing_Tekkon */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = vChewing_Tekkon; path = Packages/vChewing_Tekkon; sourceTree = "<group>"; };
|
||||
5BDCBB4327B4F6C600D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/frmAboutWindow.strings"; sourceTree = "<group>"; };
|
||||
5BDCBB4527B4F6C600D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/frmPrefWindow.strings"; sourceTree = "<group>"; };
|
||||
5BDCBB4727B4F6C600D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
|
||||
5BDCBB4827B4F6C600D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
|
@ -372,7 +364,6 @@
|
|||
5B62A33A27AE7C7500A19448 /* WindowControllers */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5B62A33C27AE7CC100A19448 /* CtlAboutWindow.swift */,
|
||||
5B0EF55E28CDBF8E00F8F7CE /* CtlClientListMgr.swift */,
|
||||
D47F7DCD278BFB57002F9DD7 /* CtlPrefWindow.swift */,
|
||||
5BCC631529407BBB00A2D84F /* CtlPrefWindow_PhraseEditor.swift */,
|
||||
|
@ -385,7 +376,6 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
5B0EF55C28CDBF7100F8F7CE /* frmClientListMgr.xib */,
|
||||
5BBBB76927AED5DB0023B93A /* frmAboutWindow.xib */,
|
||||
5B7BC4AE27AFFBE800F66C24 /* frmPrefWindow.xib */,
|
||||
6A187E2816004C5900466B2E /* MainMenu.xib */,
|
||||
);
|
||||
|
@ -753,7 +743,6 @@
|
|||
5BEDB725283B4C250078EB25 /* data-chs.json in Resources */,
|
||||
5BF9DA2928840E6200DBD48E /* template-associatedPhrases-chs.txt in Resources */,
|
||||
5B09307628B6FC3B0021F8C5 /* shortcuts.html in Resources */,
|
||||
5BBBB76D27AED5DB0023B93A /* frmAboutWindow.xib in Resources */,
|
||||
5BF9DA2B28840E6200DBD48E /* template-userphrases.txt in Resources */,
|
||||
5BEDB722283B4C250078EB25 /* data-zhuyinwen.json in Resources */,
|
||||
5BF9DA2728840E6200DBD48E /* template-usersymbolphrases.txt in Resources */,
|
||||
|
@ -896,7 +885,6 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D427F76C278CA2B0004A2160 /* AppDelegateImpl.swift in Sources */,
|
||||
5B62A33D27AE7CC100A19448 /* CtlAboutWindow.swift in Sources */,
|
||||
D47B92C027972AD100458394 /* main.swift in Sources */,
|
||||
5B0EF55F28CDBF8E00F8F7CE /* CtlClientListMgr.swift in Sources */,
|
||||
D47F7DCE278BFB57002F9DD7 /* CtlPrefWindow.swift in Sources */,
|
||||
|
@ -965,18 +953,6 @@
|
|||
name = frmPrefWindow.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5BBBB76927AED5DB0023B93A /* frmAboutWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
5BBBB76A27AED5DB0023B93A /* Base */,
|
||||
5B05A47F27AFF84200437698 /* en */,
|
||||
5BDCBB4327B4F6C600D0CC59 /* zh-Hant */,
|
||||
5B04305827B529D800CB65BC /* zh-Hans */,
|
||||
5B04306327B5312E00CB65BC /* ja */,
|
||||
);
|
||||
name = frmAboutWindow.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6A187E2816004C5900466B2E /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
|
Loading…
Reference in New Issue