From 12cc6b11ba4ee15e3d1668c779b00b41971addcf Mon Sep 17 00:00:00 2001 From: Binlogo Date: Thu, 16 Sep 2021 01:06:35 +0800 Subject: [PATCH 001/180] Support release or beta version filter --- Xcodes/Frontend/MainWindow.swift | 4 +- Xcodes/Frontend/XcodeList/MainToolbar.swift | 44 ++++++++++++++++--- .../XcodeList/XcodeListCategory.swift | 6 ++- Xcodes/Frontend/XcodeList/XcodeListView.swift | 16 +++++-- 4 files changed, 58 insertions(+), 12 deletions(-) diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index fe87402..1235ea4 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -12,10 +12,11 @@ struct MainWindow: View { // FB8979533 SceneStorage doesn't restore value after app is quit by user @AppStorage("isShowingInfoPane") private var isShowingInfoPane = false @AppStorage("xcodeListCategory") private var category: XcodeListCategory = .all + @AppStorage("isInstalledOnly") private var isInstalledOnly = false var body: some View { HSplitView { - XcodeListView(selectedXcodeID: $selectedXcodeID, searchText: searchText, category: category) + XcodeListView(selectedXcodeID: $selectedXcodeID, searchText: searchText, category: category, isInstalledOnly: isInstalledOnly) .frame(minWidth: 300) .layoutPriority(1) .alert(item: $appState.xcodeBeingConfirmedForUninstallation) { xcode in @@ -32,6 +33,7 @@ struct MainWindow: View { } .mainToolbar( category: $category, + isInstalledOnly: $isInstalledOnly, isShowingInfoPane: $isShowingInfoPane, searchText: $searchText ) diff --git a/Xcodes/Frontend/XcodeList/MainToolbar.swift b/Xcodes/Frontend/XcodeList/MainToolbar.swift index bedf3be..a6355fd 100644 --- a/Xcodes/Frontend/XcodeList/MainToolbar.swift +++ b/Xcodes/Frontend/XcodeList/MainToolbar.swift @@ -3,6 +3,7 @@ import SwiftUI struct MainToolbarModifier: ViewModifier { @EnvironmentObject var appState: AppState @Binding var category: XcodeListCategory + @Binding var isInstalledOnly: Bool @Binding var isShowingInfoPane: Bool @Binding var searchText: String @@ -29,16 +30,47 @@ struct MainToolbarModifier: ViewModifier { Button(action: { switch category { - case .all: category = .installed - case .installed: category = .all + case .all: category = .release + case .release: category = .beta + case .beta: category = .all } }) { switch category { case .all: - Label("Filter", systemImage: "line.horizontal.3.decrease.circle") - case .installed: - Label("Filter", systemImage: "line.horizontal.3.decrease.circle.fill") + Label("All", systemImage: "line.horizontal.3.decrease.circle") + case .release: + if #available(macOS 11.3, *) { + Label("Release only", systemImage: "line.horizontal.3.decrease.circle.fill") + .labelStyle(TitleAndIconLabelStyle()) + .foregroundColor(.accentColor) + } else { + Label("Release only", systemImage: "line.horizontal.3.decrease.circle.fill") + .labelStyle(TitleOnlyLabelStyle()) + .foregroundColor(.accentColor) + } + case .beta: + if #available(macOS 11.3, *) { + Label("Beta only", systemImage: "line.horizontal.3.decrease.circle.fill") + .labelStyle(TitleAndIconLabelStyle()) + .foregroundColor(.accentColor) + } else { + Label("Beta only", systemImage: "line.horizontal.3.decrease.circle.fill") + .labelStyle(TitleOnlyLabelStyle()) + .foregroundColor(.accentColor) + } + } + } + .help("Filter available versions") + + Button(action: { + isInstalledOnly.toggle() + }) { + if isInstalledOnly { + Label("Filter", systemImage: "arrow.down.app.fill") .foregroundColor(.accentColor) + } else { + Label("Filter", systemImage: "arrow.down.app") + } } .help("Filter installed versions") @@ -65,12 +97,14 @@ struct MainToolbarModifier: ViewModifier { extension View { func mainToolbar( category: Binding, + isInstalledOnly: Binding, isShowingInfoPane: Binding, searchText: Binding ) -> some View { self.modifier( MainToolbarModifier( category: category, + isInstalledOnly: isInstalledOnly, isShowingInfoPane: isShowingInfoPane, searchText: searchText ) diff --git a/Xcodes/Frontend/XcodeList/XcodeListCategory.swift b/Xcodes/Frontend/XcodeList/XcodeListCategory.swift index 520414e..4c2e4db 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListCategory.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListCategory.swift @@ -2,14 +2,16 @@ import Foundation enum XcodeListCategory: String, CaseIterable, Identifiable, CustomStringConvertible { case all - case installed + case release + case beta var id: Self { self } var description: String { switch self { case .all: return "All" - case .installed: return "Installed" + case .release: return "Release" + case .beta: return "Beta" } } } diff --git a/Xcodes/Frontend/XcodeList/XcodeListView.swift b/Xcodes/Frontend/XcodeList/XcodeListView.swift index 4905e78..48f652f 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListView.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListView.swift @@ -7,11 +7,13 @@ struct XcodeListView: View { @Binding var selectedXcodeID: Xcode.ID? private let searchText: String private let category: XcodeListCategory + private let isInstalledOnly: Bool - init(selectedXcodeID: Binding, searchText: String, category: XcodeListCategory) { + init(selectedXcodeID: Binding, searchText: String, category: XcodeListCategory, isInstalledOnly: Bool) { self._selectedXcodeID = selectedXcodeID self.searchText = searchText self.category = category + self.isInstalledOnly = isInstalledOnly } var visibleXcodes: [Xcode] { @@ -19,14 +21,20 @@ struct XcodeListView: View { switch category { case .all: xcodes = appState.allXcodes - case .installed: - xcodes = appState.allXcodes.filter { $0.installState.installed } + case .release: + xcodes = appState.allXcodes.filter { $0.version.isNotPrerelease } + case .beta: + xcodes = appState.allXcodes.filter { $0.version.isPrerelease } } if !searchText.isEmpty { xcodes = xcodes.filter { $0.description.contains(searchText) } } + if isInstalledOnly { + xcodes = appState.allXcodes.filter { $0.installState.installed } + } + return xcodes } @@ -40,7 +48,7 @@ struct XcodeListView: View { struct XcodeListView_Previews: PreviewProvider { static var previews: some View { Group { - XcodeListView(selectedXcodeID: .constant(nil), searchText: "", category: .all) + XcodeListView(selectedXcodeID: .constant(nil), searchText: "", category: .all, isInstalledOnly: false) .environmentObject({ () -> AppState in let a = AppState() a.allXcodes = [ From 550cf3261cc59200f8fee559855110629de52e70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A3=92=E6=A3=92=E5=BD=AC=5FBinboy?= Date: Thu, 16 Sep 2021 08:26:46 +0800 Subject: [PATCH 002/180] Apply suggestions from code review if the isInstalledOnly is on, we filter with `AND` instead of `OR` Co-authored-by: Matt Kiazyk --- Xcodes/Frontend/XcodeList/XcodeListView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Frontend/XcodeList/XcodeListView.swift b/Xcodes/Frontend/XcodeList/XcodeListView.swift index 48f652f..101010f 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListView.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListView.swift @@ -32,7 +32,7 @@ struct XcodeListView: View { } if isInstalledOnly { - xcodes = appState.allXcodes.filter { $0.installState.installed } + xcodes = xcodes.filter { $0.installState.installed } } return xcodes From 3a5b63b17443aae5aad3b9127bfadbab7fc44e9c Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 1 Oct 2021 16:51:33 -0500 Subject: [PATCH 003/180] Adds ability to switch the local cache directory --- Xcodes/Backend/AppState.swift | 17 ++++++++ Xcodes/Backend/Path+.swift | 17 +++++++- .../Preferences/AdvancedPreferencePane.swift | 41 ++++++++++++++++++- .../Preferences/GeneralPreferencePane.swift | 2 +- .../Preferences/UpdatesPreferencePane.swift | 2 +- 5 files changed, 74 insertions(+), 5 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 3f5731e..c02f204 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -55,6 +55,13 @@ class AppState: ObservableObject { @Published var error: Error? @Published var authError: Error? + + // MARK: Advanced Preferences + @Published var localPath = "" { + didSet { + Current.defaults.set(localPath, forKey: "localPath") + } + } // MARK: - Publisher Cancellables @@ -84,6 +91,11 @@ class AppState: ObservableObject { try? loadCachedAvailableXcodes() checkIfHelperIsInstalled() setupAutoInstallTimer() + setupDefaults() + } + + func setupDefaults() { + localPath = Current.defaults.string(forKey: "localPath") ?? Path.defaultXcodesApplicationSupport.string } // MARK: Timer @@ -393,6 +405,11 @@ class AppState: ObservableObject { guard let installedXcode = Current.files.installedXcodes(Path.root/"Applications").first(where: { $0.version == id }) else { return } NSWorkspace.shared.activateFileViewerSelecting([installedXcode.path.url]) } + + func reveal(path: String) { + let url = URL(fileURLWithPath: path) + NSWorkspace.shared.activateFileViewerSelecting([url]) + } /// Make an Xcode active, a.k.a select it, in the `xcode-select` sense. /// diff --git a/Xcodes/Backend/Path+.swift b/Xcodes/Backend/Path+.swift index ba20bef..1aecb83 100644 --- a/Xcodes/Backend/Path+.swift +++ b/Xcodes/Backend/Path+.swift @@ -1,6 +1,19 @@ import Path +import Foundation extension Path { - static let xcodesApplicationSupport = Path.applicationSupport/"com.robotsandpencils.XcodesApp" - static let cacheFile = xcodesApplicationSupport/"available-xcodes.json" + static let defaultXcodesApplicationSupport = Path.applicationSupport/"com.robotsandpencils.XcodesApp" + static var xcodesApplicationSupport: Path { + guard let savedApplicationSupport = Current.defaults.string(forKey: "localPath") else { + return defaultXcodesApplicationSupport + } + guard let path = Path(savedApplicationSupport) else { + return defaultXcodesApplicationSupport + } + return path + } + + static var cacheFile: Path { + return xcodesApplicationSupport/"available-xcodes.json" + } } diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 9606456..9868e6f 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -1,13 +1,52 @@ import AppleAPI import SwiftUI +import Path struct AdvancedPreferencePane: View { @EnvironmentObject var appState: AppState + @AppStorage("dataSource") var dataSource: DataSource = .xcodeReleases @AppStorage("downloader") var downloader: Downloader = .aria2 var body: some View { VStack(alignment: .leading, spacing: 20) { + + GroupBox(label: Text("Local Cache Path")) { + VStack(alignment: .leading) { + HStack(alignment: .top, spacing: 5) { + Text(appState.localPath).font(.footnote) + .fixedSize(horizontal: false, vertical: true) + .lineLimit(2) + Button(action: { appState.reveal(path: appState.localPath) }) { + Image(systemName: "arrow.right.circle.fill") + } + .buttonStyle(PlainButtonStyle()) + .help("Reveal in Finder") + .fixedSize() + } + Button("Change") { + let panel = NSOpenPanel() + panel.allowsMultipleSelection = false + panel.canChooseDirectories = true + panel.canChooseFiles = false + panel.canCreateDirectories = true + panel.allowedContentTypes = [.folder] + panel.directoryURL = URL(fileURLWithPath: appState.localPath) + + if panel.runModal() == .OK { + + guard let pathURL = panel.url, let path = Path(url: pathURL) else { return } + self.appState.localPath = path.string + } + } + Text("Xcodes caches available Xcode versions and temporary downloads new versions to a directory") + .font(.footnote) + .fixedSize(horizontal: false, vertical: true) + } + + } + .groupBoxStyle(PreferencesGroupBoxStyle()) + GroupBox(label: Text("Data Source")) { VStack(alignment: .leading) { Picker("Data Source", selection: $dataSource) { @@ -66,7 +105,7 @@ struct AdvancedPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) } - .frame(width: 400) + .frame(width: 500) } private var dataSourceFootnote: NSAttributedString { diff --git a/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift b/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift index 35d5eaf..548545b 100644 --- a/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift @@ -21,7 +21,7 @@ struct GeneralPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) } - .frame(width: 400) + .frame(width: 500) } } diff --git a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift index 69de839..e159887 100644 --- a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift @@ -50,7 +50,7 @@ struct UpdatesPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) } - .frame(width: 400) + .frame(width: 500) } private var lastUpdatedString: String { From 68838ecb4c9032259e6c53177144218036d988f9 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 8 Oct 2021 15:56:29 -0500 Subject: [PATCH 004/180] fix: better handling of opening duplicate builds --- Xcodes/Backend/AppState.swift | 48 +++++++++++-------- Xcodes/Backend/Xcode.swift | 10 ++++ Xcodes/Backend/XcodeCommands.swift | 8 ++-- Xcodes/Frontend/InfoPane/InfoPane.swift | 2 +- Xcodes/Frontend/MainWindow.swift | 2 +- .../Frontend/XcodeList/XcodeListViewRow.swift | 4 +- 6 files changed, 45 insertions(+), 29 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 3f5731e..41c1464 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -366,13 +366,13 @@ class AppState: ObservableObject { } // MARK: - Uninstall - func uninstall(id: Xcode.ID) { + func uninstall(xcode: Xcode) { guard - let installedXcode = Current.files.installedXcodes(Path.root/"Applications").first(where: { $0.version == id }), + let installedXcode = xcode.installPath, uninstallPublisher == nil else { return } - uninstallPublisher = uninstallXcode(path: installedXcode.path) + uninstallPublisher = uninstallXcode(path: installedXcode) .flatMap { [unowned self] _ in self.updateSelectedXcodePath() } @@ -388,10 +388,10 @@ class AppState: ObservableObject { ) } - func reveal(id: Xcode.ID) { + func reveal(xcode: Xcode) { // TODO: show error if not - guard let installedXcode = Current.files.installedXcodes(Path.root/"Applications").first(where: { $0.version == id }) else { return } - NSWorkspace.shared.activateFileViewerSelecting([installedXcode.path.url]) + guard let installedXcode = xcode.installPath else { return } + NSWorkspace.shared.activateFileViewerSelecting([installedXcode.url]) } /// Make an Xcode active, a.k.a select it, in the `xcode-select` sense. @@ -404,26 +404,26 @@ class AppState: ObservableObject { /// If they consent to installing the helper then this method will be invoked again with `shouldPrepareUserForHelperInstallation` set to false. /// This will install the helper and make the Xcode active. /// - /// - Parameter id: The identifier of the Xcode to make active. + /// - Parameter xcode: The Xcode to make active. /// - Parameter shouldPrepareUserForHelperInstallation: Whether the user should be presented with an alert preparing them for helper installation before making the Xcode version active. - func select(id: Xcode.ID, shouldPrepareUserForHelperInstallation: Bool = true) { + func select(xcode: Xcode, shouldPrepareUserForHelperInstallation: Bool = true) { guard helperInstallState == .installed || shouldPrepareUserForHelperInstallation == false else { isPreparingUserForActionRequiringHelper = { [unowned self] userConsented in guard userConsented else { return } - self.select(id: id, shouldPrepareUserForHelperInstallation: false) + self.select(xcode: xcode, shouldPrepareUserForHelperInstallation: false) } presentedAlert = .privilegedHelper return } - guard - let installedXcode = Current.files.installedXcodes(Path.root/"Applications").first(where: { $0.version == id }), - selectPublisher == nil + guard + let installedXcode = xcode.installPath, + uninstallPublisher == nil else { return } - + selectPublisher = installHelperIfNecessary() .flatMap { - Current.helper.switchXcodePath(installedXcode.path.string) + Current.helper.switchXcodePath(installedXcode.string) } .flatMap { [unowned self] _ in self.updateSelectedXcodePath() @@ -440,16 +440,22 @@ class AppState: ObservableObject { ) } - func open(id: Xcode.ID) { - guard let installedXcode = Current.files.installedXcodes(Path.root/"Applications").first(where: { $0.version == id }) else { return } - NSWorkspace.shared.openApplication(at: installedXcode.path.url, configuration: .init()) + func open(xcode: Xcode) { + switch xcode.installState { + case let .installed(path): + NSWorkspace.shared.openApplication(at: path.url, configuration: .init()) + default: + Logger.appState.error("\(xcode.id) is not installed") + return + } } - func copyPath(id: Xcode.ID) { - guard let installedXcode = Current.files.installedXcodes(Path.root/"Applications").first(where: { $0.version == id }) else { return } + func copyPath(xcode: Xcode) { + guard let installedXcode = xcode.installPath else { return } + NSPasteboard.general.declareTypes([.URL, .string], owner: nil) - NSPasteboard.general.writeObjects([installedXcode.path.url as NSURL]) - NSPasteboard.general.setString(installedXcode.path.string, forType: .string) + NSPasteboard.general.writeObjects([installedXcode.url as NSURL]) + NSPasteboard.general.setString(installedXcode.string, forType: .string) } func updateAllXcodes(availableXcodes: [AvailableXcode], installedXcodes: [InstalledXcode], selectedXcodePath: String?) { diff --git a/Xcodes/Backend/Xcode.swift b/Xcodes/Backend/Xcode.swift index f78ec76..0e724cc 100644 --- a/Xcodes/Backend/Xcode.swift +++ b/Xcodes/Backend/Xcode.swift @@ -3,6 +3,7 @@ import Foundation import Version import struct XCModel.SDKs import struct XCModel.Compilers +import Path struct Xcode: Identifiable, CustomStringConvertible { let version: Version @@ -57,4 +58,13 @@ struct Xcode: Identifiable, CustomStringConvertible { return nil } } + + var installPath: Path? { + switch installState { + case .installed(let path): + return path + default: + return nil + } + } } diff --git a/Xcodes/Backend/XcodeCommands.swift b/Xcodes/Backend/XcodeCommands.swift index 58ee191..2e904ac 100644 --- a/Xcodes/Backend/XcodeCommands.swift +++ b/Xcodes/Backend/XcodeCommands.swift @@ -83,7 +83,7 @@ struct SelectButton: View { private func select() { guard let xcode = xcode else { return } - appState.select(id: xcode.id) + appState.select(xcode: xcode) } } @@ -100,7 +100,7 @@ struct OpenButton: View { private func open() { guard let xcode = xcode else { return } - appState.open(id: xcode.id) + appState.open(xcode: xcode) } } @@ -132,7 +132,7 @@ struct RevealButton: View { private func reveal() { guard let xcode = xcode else { return } - appState.reveal(id: xcode.id) + appState.reveal(xcode: xcode) } } @@ -149,7 +149,7 @@ struct CopyPathButton: View { private func copyPath() { guard let xcode = xcode else { return } - appState.copyPath(id: xcode.id) + appState.copyPath(xcode: xcode) } } diff --git a/Xcodes/Frontend/InfoPane/InfoPane.swift b/Xcodes/Frontend/InfoPane/InfoPane.swift index c00a85c..3ddfda7 100644 --- a/Xcodes/Frontend/InfoPane/InfoPane.swift +++ b/Xcodes/Frontend/InfoPane/InfoPane.swift @@ -31,7 +31,7 @@ struct InfoPane: View { case let .installed(path): HStack { Text(path.string) - Button(action: { appState.reveal(id: xcode.id) }) { + Button(action: { appState.reveal(xcode: xcode) }) { Image(systemName: "arrow.right.circle.fill") } .buttonStyle(PlainButtonStyle()) diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 1235ea4..3403e34 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -22,7 +22,7 @@ struct MainWindow: View { .alert(item: $appState.xcodeBeingConfirmedForUninstallation) { xcode in Alert(title: Text("Uninstall Xcode \(xcode.description)?"), message: Text("It will be moved to the Trash, but won't be emptied."), - primaryButton: .destructive(Text("Uninstall"), action: { self.appState.uninstall(id: xcode.id) }), + primaryButton: .destructive(Text("Uninstall"), action: { self.appState.uninstall(xcode: xcode) }), secondaryButton: .cancel(Text("Cancel"))) } diff --git a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift index 1b7e477..5d88a70 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift @@ -85,7 +85,7 @@ struct XcodeListViewRow: View { .foregroundColor(.green) .help("This is the active version") } else { - Button(action: { appState.select(id: xcode.id) }) { + Button(action: { appState.select(xcode: xcode) }) { Image(systemName: "checkmark.circle") .foregroundColor(.secondary) } @@ -101,7 +101,7 @@ struct XcodeListViewRow: View { private func installControl(for xcode: Xcode) -> some View { switch xcode.installState { case .installed: - Button("OPEN") { appState.open(id: xcode.id) } + Button("OPEN") { appState.open(xcode: xcode) } .buttonStyle(AppStoreButtonStyle(primary: true, highlighted: selected)) .help("Open this version") case .notInstalled: From 06d7b494aa1606db95cdbe0165064430e8cbfb60 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 8 Oct 2021 16:22:12 -0500 Subject: [PATCH 005/180] PR review cleanup --- Xcodes/Backend/AppState.swift | 20 ++++++++++---------- Xcodes/Backend/Xcode.swift | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 41c1464..b1d0dc3 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -368,11 +368,11 @@ class AppState: ObservableObject { // MARK: - Uninstall func uninstall(xcode: Xcode) { guard - let installedXcode = xcode.installPath, + let installedXcodePath = xcode.installedPath, uninstallPublisher == nil else { return } - uninstallPublisher = uninstallXcode(path: installedXcode) + uninstallPublisher = uninstallXcode(path: installedXcodePath) .flatMap { [unowned self] _ in self.updateSelectedXcodePath() } @@ -390,8 +390,8 @@ class AppState: ObservableObject { func reveal(xcode: Xcode) { // TODO: show error if not - guard let installedXcode = xcode.installPath else { return } - NSWorkspace.shared.activateFileViewerSelecting([installedXcode.url]) + guard let installedXcodePath = xcode.installedPath else { return } + NSWorkspace.shared.activateFileViewerSelecting([installedXcodePath.url]) } /// Make an Xcode active, a.k.a select it, in the `xcode-select` sense. @@ -417,13 +417,13 @@ class AppState: ObservableObject { } guard - let installedXcode = xcode.installPath, - uninstallPublisher == nil + let installedXcodePath = xcode.installedPath, + selectPublisher == nil else { return } selectPublisher = installHelperIfNecessary() .flatMap { - Current.helper.switchXcodePath(installedXcode.string) + Current.helper.switchXcodePath(installedXcodePath.string) } .flatMap { [unowned self] _ in self.updateSelectedXcodePath() @@ -451,11 +451,11 @@ class AppState: ObservableObject { } func copyPath(xcode: Xcode) { - guard let installedXcode = xcode.installPath else { return } + guard let installedXcodePath = xcode.installedPath else { return } NSPasteboard.general.declareTypes([.URL, .string], owner: nil) - NSPasteboard.general.writeObjects([installedXcode.url as NSURL]) - NSPasteboard.general.setString(installedXcode.string, forType: .string) + NSPasteboard.general.writeObjects([installedXcodePath.url as NSURL]) + NSPasteboard.general.setString(installedXcodePath.string, forType: .string) } func updateAllXcodes(availableXcodes: [AvailableXcode], installedXcodes: [InstalledXcode], selectedXcodePath: String?) { diff --git a/Xcodes/Backend/Xcode.swift b/Xcodes/Backend/Xcode.swift index 0e724cc..603e35d 100644 --- a/Xcodes/Backend/Xcode.swift +++ b/Xcodes/Backend/Xcode.swift @@ -59,7 +59,7 @@ struct Xcode: Identifiable, CustomStringConvertible { } } - var installPath: Path? { + var installedPath: Path? { switch installState { case .installed(let path): return path From 86bbd9451ca747ab885236b67ef14dd49f8a06d4 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Wed, 13 Oct 2021 14:44:43 -0500 Subject: [PATCH 006/180] Adds a quick toolbar option for opening preferences --- Xcodes/Frontend/XcodeList/MainToolbar.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Xcodes/Frontend/XcodeList/MainToolbar.swift b/Xcodes/Frontend/XcodeList/MainToolbar.swift index a6355fd..0752931 100644 --- a/Xcodes/Frontend/XcodeList/MainToolbar.swift +++ b/Xcodes/Frontend/XcodeList/MainToolbar.swift @@ -17,7 +17,7 @@ struct MainToolbarModifier: ViewModifier { Button(action: { appState.presentedSheet = .signIn }, label: { Label("Login", systemImage: "person.circle") }) - .help("Login") + .help("Open Login") ProgressButton( isInProgress: appState.isUpdating, @@ -26,7 +26,7 @@ struct MainToolbarModifier: ViewModifier { Label("Refresh", systemImage: "arrow.clockwise") } .keyboardShortcut(KeyEquivalent("r")) - .help("Refresh") + .help("Refresh Xcode List") Button(action: { switch category { @@ -86,6 +86,11 @@ struct MainToolbarModifier: ViewModifier { .keyboardShortcut(KeyboardShortcut("i", modifiers: [.command, .option])) .help("Show or hide the info pane") + Button(action: { NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil) }, label: { + Label("Preferences", systemImage: "gearshape") + }) + .help("Open Preferences") + TextField("Search...", text: $searchText) .textFieldStyle(RoundedBorderTextFieldStyle()) .frame(width: 200) From 1496f32e289d95340f33a3c8231ac549eb8b2d3a Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 14 Oct 2021 15:43:16 -0500 Subject: [PATCH 007/180] Better handling of when AppleId is not a developer --- Xcodes/AppleAPI/Sources/AppleAPI/Client.swift | 34 +++++++++++++++---- Xcodes/Backend/AppState+Install.swift | 8 ++++- Xcodes/Backend/AppState+Update.swift | 7 +++- Xcodes/Backend/AppState.swift | 12 ++++--- 4 files changed, 49 insertions(+), 12 deletions(-) diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift index 462286d..a45d300 100644 --- a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift +++ b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift @@ -148,11 +148,12 @@ public class Client { /// Use the olympus session endpoint to see if the existing session is still valid public func validateSession() -> AnyPublisher { return Current.network.dataTask(with: URLRequest.olympusSession) - .tryMap { (data, response) in - guard - let jsonObject = (try? JSONSerialization.jsonObject(with: data)) as? [String: Any], - jsonObject["provider"] != nil - else { throw AuthenticationError.invalidSession } + .map(\.data) + .decode(type: AppleSession.self, decoder: JSONDecoder()) + .tryMap { session in + if session.provider == nil { + throw AuthenticationError.notDeveloperAppleId + } } .eraseToAnyPublisher() } @@ -174,6 +175,7 @@ public enum AuthenticationState: Equatable { case unauthenticated case waitingForSecondFactor(TwoFactorOption, AuthOptionsResponse, AppleSessionData) case authenticated + case notAppleDeveloper } public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { @@ -186,7 +188,8 @@ public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { case accountUsesUnknownAuthenticationKind(String?) case accountLocked(String) case badStatusCode(statusCode: Int, data: Data, response: HTTPURLResponse) - + case notDeveloperAppleId + public var errorDescription: String? { switch self { case .invalidSession: @@ -212,6 +215,8 @@ public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { return message case let .badStatusCode(statusCode, _, _): return "Received an unexpected status code: \(statusCode). If you continue to have problems, please submit a bug report in the Help menu." + case .notDeveloperAppleId: + return "You are not registered as an Apple Developer. Please visit Apple Developer Registration. https://developer.apple.com/register/" } } } @@ -362,3 +367,20 @@ public enum SecurityCode { } } } + +/// Object returned from olympus/v1/session +/// Used to check Provider, and show name +/// If Provider is nil, we can assume the Apple User is NOT an Apple Developer and can't download Xcode. +public struct AppleSession: Decodable, Equatable { + public let user: AppleUser + public let provider: AppleProvider? +} + +public struct AppleProvider: Decodable, Equatable { + public let providerId: Int + public let name: String +} + +public struct AppleUser: Decodable, Equatable { + public let fullName: String +} diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index d295d68..28449ee 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -40,9 +40,15 @@ extension AppState { } private func install(_ installationType: InstallationType, downloader: Downloader, attemptNumber: Int) -> AnyPublisher { + // We need to check if the Apple ID that is logged in is an Apple Developer + // Since users can use xcodereleases, we don't check for Apple ID on a xcode list refresh + // If the Apple Id is not a developer, the download action will try and download a xip that is invalid, causing a `xcode13.0.xip is damaged and can't be expanded.` Logger.appState.info("Using \(downloader) downloader") - return getXcodeArchive(installationType, downloader: downloader) + return validateSession() + .flatMap { _ in + self.getXcodeArchive(installationType, downloader: downloader) + } .flatMap { xcode, url -> AnyPublisher in self.installArchivedXcode(xcode, at: url) } diff --git a/Xcodes/Backend/AppState+Update.swift b/Xcodes/Backend/AppState+Update.swift index 62a327d..ed998af 100644 --- a/Xcodes/Backend/AppState+Update.swift +++ b/Xcodes/Backend/AppState+Update.swift @@ -71,7 +71,12 @@ extension AppState { private func updateAvailableXcodes(from dataSource: DataSource) -> AnyPublisher<[AvailableXcode], Error> { switch dataSource { case .apple: - return signInIfNeeded() + return signInIfNeeded() + .flatMap { [unowned self] in + // this will check to see if the Apple ID is a valid Apple Developer or not. + // If it's not, we can't use the Apple source to get xcode info. + self.validateSession() + } .flatMap { [unowned self] in self.releasedXcodes().combineLatest(self.prereleaseXcodes()) } .receive(on: DispatchQueue.main) .map { releasedXcodes, prereleaseXcodes in diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 6c3c48b..c14ebf4 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -116,8 +116,9 @@ class AppState: ObservableObject { .receive(on: DispatchQueue.main) .handleEvents(receiveCompletion: { completion in if case .failure = completion { - self.authenticationState = .unauthenticated - self.presentedSheet = .signIn + // this is causing some awkwardness with showing an alert with the error and also popping up the sign in view + // self.authenticationState = .unauthenticated + // self.presentedSheet = .signIn } }) .eraseToAnyPublisher() @@ -227,7 +228,7 @@ class AppState: ObservableObject { self.authError = error case .finished: switch self.authenticationState { - case .authenticated, .unauthenticated: + case .authenticated, .unauthenticated, .notAppleDeveloper: self.presentedSheet = nil self.secondFactorData = nil case let .waitingForSecondFactor(option, authOptions, sessionData): @@ -315,7 +316,7 @@ class AppState: ObservableObject { self.$authenticationState .filter { state in switch state { - case .authenticated, .unauthenticated: return true + case .authenticated, .unauthenticated, .notAppleDeveloper: return true case .waitingForSecondFactor: return false } } @@ -324,6 +325,9 @@ class AppState: ObservableObject { if state == .unauthenticated { throw AuthenticationError.invalidSession } + if state == .notAppleDeveloper { + throw AuthenticationError.notDeveloperAppleId + } return Void() } } From 648a7a21a1a602e6b33a1c6398894f8eb7ba611a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 10:05:29 +0000 Subject: [PATCH 008/180] Bump actions/checkout from 2.3.4 to 2.3.5 Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 4 ++-- .github/workflows/ci.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index e91415e..756729b 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -9,9 +9,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎 - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.3.5 with: - # If you're using actions/checkout@v2.3.4 you must set persist-credentials to false in most cases for the deployment to work correctly. + # If you're using actions/checkout@v2.3.5 you must set persist-credentials to false in most cases for the deployment to work correctly. persist-credentials: false - name: Cache 📦 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea243bf..03e495a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: test: runs-on: macOS-11.0 steps: - - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v2.3.5 - name: Run tests env: DEVELOPER_DIR: /Applications/Xcode_12.5.app From e11cdd119846c0e7e8720cbdcb0a9bc79a5ef484 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Tue, 19 Oct 2021 10:54:47 -0500 Subject: [PATCH 009/180] Fix up Tests - modify validateSession to use our network wrapper. --- Xcodes/Backend/AppState.swift | 4 ++-- Xcodes/Backend/Environment.swift | 6 +++++- XcodesTests/AppStateTests.swift | 4 ++++ XcodesTests/Environment+Mock.swift | 5 +++++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index c14ebf4..f6090cb 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -10,7 +10,7 @@ import os.log class AppState: ObservableObject { private let client = AppleAPI.Client() - + // MARK: - Published Properties @Published var authenticationState: AuthenticationState = .unauthenticated @@ -112,7 +112,7 @@ class AppState: ObservableObject { // MARK: - Authentication func validateSession() -> AnyPublisher { - return client.validateSession() + return Current.network.validateSession() .receive(on: DispatchQueue.main) .handleEvents(receiveCompletion: { completion in if case .failure = completion { diff --git a/Xcodes/Backend/Environment.swift b/Xcodes/Backend/Environment.swift index 6d8af24..ef93c4a 100644 --- a/Xcodes/Backend/Environment.swift +++ b/Xcodes/Backend/Environment.swift @@ -169,7 +169,7 @@ private func _installedXcodes(destination: Path) -> [InstalledXcode] { public struct Network { private static let client = AppleAPI.Client() - public var dataTask: (URLRequest) -> AnyPublisher = { + public var dataTask: (URLRequest) -> AnyPublisher = { AppleAPI.Current.network.session.dataTaskPublisher(for: $0) .mapError { $0 as Error } .eraseToAnyPublisher() @@ -183,6 +183,10 @@ public struct Network { public func downloadTask(with url: URL, to saveLocation: URL, resumingWith resumeData: Data?) -> (progress: Progress, publisher: AnyPublisher<(saveLocation: URL, response: URLResponse), Error>) { return downloadTask(url, saveLocation, resumeData) } + + public var validateSession: () -> AnyPublisher = { + return client.validateSession() + } } public struct Keychain { diff --git a/XcodesTests/AppStateTests.swift b/XcodesTests/AppStateTests.swift index 0c4c165..c708d9d 100644 --- a/XcodesTests/AppStateTests.swift +++ b/XcodesTests/AppStateTests.swift @@ -81,6 +81,10 @@ class AppStateTests: XCTestCase { return true } } + Xcodes.Current.network.validateSession = { + return Just(()) + .setFailureType(to: Error.self).eraseToAnyPublisher() + } Xcodes.Current.network.dataTask = { urlRequest in // Don't have a valid session if urlRequest.url! == URLRequest.olympusSession.url! { diff --git a/XcodesTests/Environment+Mock.swift b/XcodesTests/Environment+Mock.swift index ed91706..8755da5 100644 --- a/XcodesTests/Environment+Mock.swift +++ b/XcodesTests/Environment+Mock.swift @@ -68,6 +68,11 @@ extension Network { .setFailureType(to: Error.self) .eraseToAnyPublisher() ) + }, + validateSession: { + return Just(()) + .setFailureType(to: Error.self) + .eraseToAnyPublisher() } ) } From f1f0426dfefd08c11e8dea56530e5592e032d1f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 19:36:40 +0000 Subject: [PATCH 010/180] Bump addressable from 2.7.0 to 2.8.0 in /AppCast Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0. - [Release notes](https://github.com/sporkmonger/addressable/releases) - [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md) - [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.7.0...addressable-2.8.0) --- updated-dependencies: - dependency-name: addressable dependency-type: indirect ... Signed-off-by: dependabot[bot] --- AppCast/Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppCast/Gemfile.lock b/AppCast/Gemfile.lock index daa9d19..a5e40a6 100644 --- a/AppCast/Gemfile.lock +++ b/AppCast/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) colorator (1.1.0) concurrent-ruby (1.1.7) From 91595b544903bc05f7a314f671f251e514a81eb0 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 21 Oct 2021 19:14:05 -0500 Subject: [PATCH 011/180] Bump ci to 12.5.1 --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03e495a..3916122 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ name: CI on: push: - branches: + branches: - main pull_request: @@ -12,6 +12,6 @@ jobs: steps: - uses: actions/checkout@v2.3.5 - name: Run tests - env: - DEVELOPER_DIR: /Applications/Xcode_12.5.app + env: + DEVELOPER_DIR: /Applications/Xcode_12.5.1.app run: xcodebuild test -scheme Xcodes From 22c390b6669cdc71e8dd2a6787d1ccaf652937f5 Mon Sep 17 00:00:00 2001 From: MattKiazyk Date: Thu, 21 Oct 2021 19:32:33 -0500 Subject: [PATCH 012/180] Increment build number Signed-off-by: MattKiazyk --- Xcodes.xcodeproj/project.pbxproj | 6 +++--- Xcodes/Resources/Info.plist | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 9664992..609ff3d 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -945,7 +945,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.1.0; + MARKETING_VERSION = 1.2.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1181,7 +1181,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.1.0; + MARKETING_VERSION = 1.2.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1204,7 +1204,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.1.0; + MARKETING_VERSION = 1.2.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index 3f498fe..ac71cf1 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 7 + 8 CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion From e8fd83032b52fecf71d4c412cbb720a4c0b5d7da Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Wed, 27 Oct 2021 08:30:43 -0500 Subject: [PATCH 013/180] fix: Allow non-paid Apple Developers to download --- Xcodes/AppleAPI/Sources/AppleAPI/Client.swift | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift index a45d300..09ed04d 100644 --- a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift +++ b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift @@ -151,9 +151,12 @@ public class Client { .map(\.data) .decode(type: AppleSession.self, decoder: JSONDecoder()) .tryMap { session in - if session.provider == nil { - throw AuthenticationError.notDeveloperAppleId - } + // A user that is a non-paid Apple Developer will have a provider == nil + // Those users can still download Xcode. + // Non Apple Developers will get caught in the download as invalid +// if session.provider == nil { +// throw AuthenticationError.notDeveloperAppleId +// } } .eraseToAnyPublisher() } From 04d81ed9e4da0ba89b1be73a2209391f9d7c37b4 Mon Sep 17 00:00:00 2001 From: Oskar Figiel Date: Mon, 1 Nov 2021 17:30:39 +0100 Subject: [PATCH 014/180] Show a message when user is not authorized yet --- Xcodes/AppleAPI/Sources/AppleAPI/Client.swift | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift index a45d300..cb4ec68 100644 --- a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift +++ b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift @@ -148,7 +148,14 @@ public class Client { /// Use the olympus session endpoint to see if the existing session is still valid public func validateSession() -> AnyPublisher { return Current.network.dataTask(with: URLRequest.olympusSession) - .map(\.data) + .tryMap { result -> Data in + let httpResponse = result.response as! HTTPURLResponse + if httpResponse.statusCode == 401 { + throw AuthenticationError.notAuthorized + } + + return result.data + } .decode(type: AppleSession.self, decoder: JSONDecoder()) .tryMap { session in if session.provider == nil { @@ -189,6 +196,7 @@ public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { case accountLocked(String) case badStatusCode(statusCode: Int, data: Data, response: HTTPURLResponse) case notDeveloperAppleId + case notAuthorized public var errorDescription: String? { switch self { @@ -217,6 +225,8 @@ public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { return "Received an unexpected status code: \(statusCode). If you continue to have problems, please submit a bug report in the Help menu." case .notDeveloperAppleId: return "You are not registered as an Apple Developer. Please visit Apple Developer Registration. https://developer.apple.com/register/" + case .notAuthorized: + return "You are not authorized. Please Sign in with your Apple ID first." } } } From a3c541cb39dac8e604aae108f4a2f05b2b43b011 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Nov 2021 10:03:42 +0000 Subject: [PATCH 015/180] Bump actions/checkout from 2.3.5 to 2.4.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 4 ++-- .github/workflows/ci.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 756729b..1d409cc 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -9,9 +9,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎 - uses: actions/checkout@v2.3.5 + uses: actions/checkout@v2.4.0 with: - # If you're using actions/checkout@v2.3.5 you must set persist-credentials to false in most cases for the deployment to work correctly. + # If you're using actions/checkout@v2.4.0 you must set persist-credentials to false in most cases for the deployment to work correctly. persist-credentials: false - name: Cache 📦 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3916122..02586c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: test: runs-on: macOS-11.0 steps: - - uses: actions/checkout@v2.3.5 + - uses: actions/checkout@v2.4.0 - name: Run tests env: DEVELOPER_DIR: /Applications/Xcode_12.5.1.app From 709af9e97a6f0b6f2b63ad2570a9ce33bdd9568f Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 4 Nov 2021 22:05:44 -0500 Subject: [PATCH 016/180] Update download task to check for resultCode !=0 --- Xcodes/AppleAPI/Sources/AppleAPI/Client.swift | 3 + Xcodes/Backend/AppState+Update.swift | 13 ++-- Xcodes/Backend/AppState.swift | 14 +++- Xcodes/Backend/Downloads.swift | 8 ++- Xcodes/Resources/Licenses.rtf | 69 +------------------ XcodesTests/AppStateTests.swift | 4 +- 6 files changed, 34 insertions(+), 77 deletions(-) diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift index a76580c..c8e2810 100644 --- a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift +++ b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift @@ -200,6 +200,7 @@ public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { case badStatusCode(statusCode: Int, data: Data, response: HTTPURLResponse) case notDeveloperAppleId case notAuthorized + case invalidResult(resultString: String?) public var errorDescription: String? { switch self { @@ -230,6 +231,8 @@ public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { return "You are not registered as an Apple Developer. Please visit Apple Developer Registration. https://developer.apple.com/register/" case .notAuthorized: return "You are not authorized. Please Sign in with your Apple ID first." + case let .invalidResult(resultString): + return resultString ?? "If you continue to have problems, please submit a bug report in the Help menu." } } } diff --git a/Xcodes/Backend/AppState+Update.swift b/Xcodes/Backend/AppState+Update.swift index ed998af..58b3626 100644 --- a/Xcodes/Backend/AppState+Update.swift +++ b/Xcodes/Backend/AppState+Update.swift @@ -130,15 +130,20 @@ extension AppState { extension AppState { // MARK: - Apple - private func releasedXcodes() -> AnyPublisher<[AvailableXcode], Error> { + private func releasedXcodes() -> AnyPublisher<[AvailableXcode], Swift.Error> { Current.network.dataTask(with: URLRequest.downloads) .map(\.data) .decode(type: Downloads.self, decoder: configure(JSONDecoder()) { $0.dateDecodingStrategy = .formatted(.downloadsDateModified) }) - .map { downloads -> [AvailableXcode] in - let xcodes = downloads - .downloads + .tryMap { downloads -> [AvailableXcode] in + if downloads.hasError { + throw AuthenticationError.invalidResult(resultString: downloads.resultsString) + } + guard let downloadList = downloads.downloads else { + throw AuthenticationError.invalidResult(resultString: "No download information found") + } + let xcodes = downloadList .filter { $0.name.range(of: "^Xcode [0-9]", options: .regularExpression) != nil } .compactMap { download -> AvailableXcode? in let urlPrefix = URL(string: "https://download.developer.apple.com/")! diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index f6090cb..78755e6 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -337,8 +337,18 @@ class AppState: ObservableObject { // We need the cookies from its response in order to download Xcodes though, // so perform it here first just to be sure. Current.network.dataTask(with: URLRequest.downloads) - .receive(on: DispatchQueue.main) - .map { _ in Void() } + .map(\.data) + .decode(type: Downloads.self, decoder: configure(JSONDecoder()) { + $0.dateDecodingStrategy = .formatted(.downloadsDateModified) + }) + .tryMap { downloads -> Void in + if downloads.hasError { + throw AuthenticationError.invalidResult(resultString: downloads.resultsString) + } + if downloads.downloads == nil { + throw AuthenticationError.invalidResult(resultString: "No download information found") + } + } .mapError { $0 as Error } } .flatMap { [unowned self] in diff --git a/Xcodes/Backend/Downloads.swift b/Xcodes/Backend/Downloads.swift index 55096e4..aab9779 100644 --- a/Xcodes/Backend/Downloads.swift +++ b/Xcodes/Backend/Downloads.swift @@ -3,7 +3,13 @@ import Path import Version struct Downloads: Codable { - let downloads: [Download] + let resultCode: Int + let resultsString: String? + let downloads: [Download]? + + var hasError: Bool { + return resultCode != 0 + } } // Set to Int64 as ByteCountFormatter uses it. diff --git a/Xcodes/Resources/Licenses.rtf b/Xcodes/Resources/Licenses.rtf index 58f4a3d..96bf513 100644 --- a/Xcodes/Resources/Licenses.rtf +++ b/Xcodes/Resources/Licenses.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2578 +{\rtf1\ansi\ansicpg1252\cocoartf2580 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} @@ -363,73 +363,6 @@ SOFTWARE.\ \ \ -\fs34 Sparkle\ -\ - -\fs26 Copyright (c) 2006-2013 Andy Matuschak.\ -Copyright (c) 2009-2013 Elgato Systems GmbH.\ -Copyright (c) 2011-2014 Kornel Lesi\uc0\u324 ski.\ -Copyright (c) 2015-2017 Mayur Pawashe.\ -Copyright (c) 2014 C.W. Betts.\ -Copyright (c) 2014 Petroules Corporation.\ -Copyright (c) 2014 Big Nerd Ranch.\ -All rights reserved.\ -\ -Permission is hereby granted, free of charge, to any person obtaining a copy of\ -this software and associated documentation files (the "Software"), to deal in\ -the Software without restriction, including without limitation the rights to\ -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\ -the Software, and to permit persons to whom the Software is furnished to do so,\ -subject to the following conditions:\ -\ -The above copyright notice and this permission notice shall be included in all\ -copies or substantial portions of the Software.\ -\ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\ -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\ -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\ -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\ -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\ -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ -\ -=================\ -EXTERNAL LICENSES\ -=================\ -\ -bspatch.c and bsdiff.c, from bsdiff 4.3 :\ - Copyright (c) 2003-2005 Colin Percival.\ -\ -sais.c and sais.c, from sais-lite (2010/08/07) :\ - Copyright (c) 2008-2010 Yuta Mori.\ -\ -SUDSAVerifier.m:\ - Copyright (c) 2011 Mark Hamlin.\ -\ -All rights reserved.\ -\ -Redistribution and use in source and binary forms, with or without\ -modification, are permitted providing that the following conditions\ -are met:\ -1. Redistributions of source code must retain the above copyright\ - notice, this list of conditions and the following disclaimer.\ -2. Redistributions in binary form must reproduce the above copyright\ - notice, this list of conditions and the following disclaimer in the\ - documentation and/or other materials provided with the distribution.\ -\ -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\ -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\ -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\ -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\ -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\ -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\ -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\ -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\ -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\ -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\ -POSSIBILITY OF SUCH DAMAGE.\ -\ -\ - \fs34 LegibleError\ \ diff --git a/XcodesTests/AppStateTests.swift b/XcodesTests/AppStateTests.swift index c708d9d..ce38607 100644 --- a/XcodesTests/AppStateTests.swift +++ b/XcodesTests/AppStateTests.swift @@ -93,7 +93,7 @@ class AppStateTests: XCTestCase { } // It's an available release version else if urlRequest.url! == URLRequest.downloads.url! { - let downloads = Downloads(downloads: [Download(name: "Xcode 0.0.0", files: [Download.File(remotePath: "https://apple.com/xcode.xip", fileSize: 9484444)], dateModified: Date())]) + let downloads = Downloads(resultCode: 0, resultsString: nil, downloads: [Download(name: "Xcode 0.0.0", files: [Download.File(remotePath: "https://apple.com/xcode.xip", fileSize: 9484444)], dateModified: Date())]) let encoder = JSONEncoder() encoder.dateEncodingStrategy = .formatted(.downloadsDateModified) let downloadsData = try! encoder.encode(downloads) @@ -203,7 +203,7 @@ class AppStateTests: XCTestCase { } // It's an available release version else if urlRequest.url! == URLRequest.downloads.url! { - let downloads = Downloads(downloads: [Download(name: "Xcode 0.0.0", files: [Download.File(remotePath: "https://apple.com/xcode.xip", fileSize: 9494944)], dateModified: Date())]) + let downloads = Downloads(resultCode: 0, resultsString: nil, downloads: [Download(name: "Xcode 0.0.0", files: [Download.File(remotePath: "https://apple.com/xcode.xip", fileSize: 9494944)], dateModified: Date())]) let encoder = JSONEncoder() encoder.dateEncodingStrategy = .formatted(.downloadsDateModified) let downloadsData = try! encoder.encode(downloads) From 61f43849b5c075a61ceb49e4924933668ab33617 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Nov 2021 10:04:06 +0000 Subject: [PATCH 017/180] Bump actions/cache from 2.1.6 to 2.1.7 Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7. - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 1d409cc..582a56d 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v2.1.6 + uses: actions/cache@v2.1.7 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 9de2684f2f332d2f5c0b3ce8017484ed8439b1be Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Wed, 24 Nov 2021 12:20:19 -0600 Subject: [PATCH 018/180] Update readme for dark/light mode --- README.md | 9 ++++++--- screenshot_dark.png | Bin 0 -> 387885 bytes screenshot_light.png | Bin 0 -> 324072 bytes 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 screenshot_dark.png create mode 100644 screenshot_light.png diff --git a/README.md b/README.md index a7a2463..0d3a600 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,17 @@ _If you're looking for a command-line version of Xcodes.app, try [`xcodes`](http ![CI](https://github.com/RobotsAndPencils/Xcodes.app/workflows/CI/badge.svg) -![](screenshot.png) +![](screenshot_light.png#gh-light-mode-only) +![](screenshot_dark.png#gh-dark-mode-only) ## Features - List all available Xcode versions from [Xcode Releases'](https://xcodereleases.com) data or the Apple Developer website. - Install any Xcode version, fully automated from start to finish. Xcodes uses [`aria2`](https://aria2.github.io), which uses up to 16 connections to download 3-5x faster than URLSession. +- Automatically install new releases! - Just click a button to make a version active with `xcode-select`. - View release notes, OS compatibility, included SDKs and compilers from [Xcode Releases](https://xcodereleases.com). +- Dark/Light Mode supported ## Installation @@ -50,9 +53,9 @@ Follow the steps below to build and release a new version of Xcodes.app. For any ```sh # Update the version number in Xcode and commit the change, if necessary -# Question: Did anything in XPCHelper change? +# Question: Did anything in XPCHelper change? # - com.robotsandpencils.XcodesApp.Helper folder and HelperXPCShared -# - if so, bump the version number in com.robotsandpencils.XcodesApp.Helper target. +# - if so, bump the version number in com.robotsandpencils.XcodesApp.Helper target. # Note: you do not have to bump the version number if nothing has changed. # Note2: If you do bump the version, the end user, must re-install the XPCHelper and give permission again. diff --git a/screenshot_dark.png b/screenshot_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3de73e4b53e2d2be962666ae9af9f0049512a21e GIT binary patch literal 387885 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 z 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 z z#eb1pyH|6O9WkJHM%6yMX8^z~CwfWiAd%~3B$w&1=#s9E{52v*GN+b=2wbUOl#r4m zSo!|Rl>y%cgg>_9Z&-aH`F(8h-cet~@kB7|qCJ6%Uj&S54N1`~&y@hRFM2n7cx+O& zy+ltB6#0bTe(qz_*RRil_vh~`Lti*>Y&Z){KAJ&yPx=@Rtxc2wnqUATsy1Enne*A!8==%DQXx)mvli#WcZ6X&;HnWzTS^Hmj? zi*j;Q?DwfvkFI%F<=ZyH1kmd3R7u4Dqu2g4ds+4&m12OZQm+ArfzJazk3ZZyHPduT zJ2$(mv>r#=H?FsT8cE@cx(Z4jGUoRlA{?f5|IjwxJ6}r~lub_m=28;ObwMJs{g7`d3@O%?xU)>1E1n z97ME@oIh~rqVbi%|BvbL(ng@nl0Ervo-L1xiKixGw2HH%^>m@K#pxE3Yf0~KDYQRFQg9AM~>;CrZKQF03 zm}M=7T8U+{>4?WvJUpt;v{jU@5j~(irNRPoYtQQ5<}xZWh6DI?d%HKA_AA5eK<%4M zGCo@>>K65E`=@3eE%_Ds5i}BQ75QT{z1Hq%Pe=}`8lKF23T5*;-028i6{Ma?Pz`Ye z;6Lw)*yu@lEW>*W>mjPOAGH5#viaR$PAz886;Q*7GU*9OHQQ=FMG(?Hc+iDaC@_AQ ziW7{Ptp5w4SQ=2=7$3NTOA%e|0Pm1t3zl{Io~sPMa*8>$9lOT;!LNG_cQ>*VT=_a@ zrm{}D)FJ~wTCJ7%phw_x%S{blhlZ<(P9^Rrl7yYk8zVqocIseT7~g<`($r;2`&3AX z$9E+uOu+o%{ulO?*4?R2N5ZTFA!VrSDeOxLfNhV|?ou9J8nQVbl2+i$kdu(u>kq1^Ou>HFQKjx`V~68k-92sUj&lT4#+wRZNAzsMB9EkF zl*@(TNe*)jH+Q8_B+o$#B~?u%nye(EIzVaB;A8!yqn+hE+Cz}F*ns(SLqH^Ioat27 z3?Lo1Lc*Gw0`VETviYKX(5P^l{%!rl!~+Cj7Urd9$ z%(dP^^kz%uREmt?{4bZb=UM#pkioHsOmdyuTu^s2mMXSI!&lVMXljP4H$4BO?Sp?n zq@{~`ea)s+p|$rAuS>F)^b+Eg^1dg*{czo~te1Rr>zvU5rWH0TQxF0O)X}SZ5A2nN8%}J~~KN!;YWWAMI`E1vGK|m+fA}{7iWDTTgazNb5;E`OXgo_S+aFSC_^L zf8rtZCmmK>?KsElUTRVCrAZ{FGLy%X&v3kH;ZrHesX zkJq#sL30Z}QJXR!7H=R>DO}xe5la}r5bFe`aMdFk`_fV{D)QK%Z|Lgl_(0JKi zG}^gD|LZgLDm}Z_SqD{9WXJVRlSlc0l5c>~_;8_>jm7bpjoGUK-2}Ju!{r4G;B41D zegdeve;sd$jf$i{lws%O5=$PhrZXu>N>hIsN-6SkEv8A>HfzK?hSR@$$d!X?B(fw&+hcMwT)MsO*Biw&jb>gm^1SGU7bo)!XU^UvR8jl+g~L5I35X216_OjTlSZ>|%K z6~klc`!sv7gBPV6P|da03cdUYfJGTsZZR}6QZ@V{%Dp6~lHF)jYVGN^A8S__Rs-&HWepf>XOSomaxxl*otX^A>APoGU2N=5!Rk@KbfD!_Gk8$#0l9iAK; zkuD(xP#L6o?z@rP4A92B^{hFyNeslcx`;0z>fiX)JJJRbu zrPp3|HIT9FZiwpBu?13)r9!i@te};ic_All-I_8sI-{Kx>6Q=MgHF)$A;=c(Qi1l5 zFd2j;WuOaA9^X@syI9P)!j3SlsU?Bk7Z8CKko>1WUHQm}FS-tdflzj@|70;{oU$y9 zx?V$fJkcX@;+J4Q2(3(l+-6ji%h5~Hy2}&ZV-;3wd7-$8iIMyc#@RZ3L{x&d)4qT_ zGRNWq$w!LKxzaQI?0=q#R1!${RqDRV|cv} z_zLcUJL8pnQ^Lu?9YWswd1ksT-t2N32~;l6o_g?!Z1jr?CL8HZ(D|^$04Ox6lZ##} zIoJzZ!bh2E$2pw|+}&O?)m@q8MxXbjy_XZt<3fNO*Y#n&p}%7zmJ%s_^*%ds?iW|{ zM~_C0jrSrXHutm6xQ);Tx{7meR|*MejB~S_6WHj#V0Ui4yqTCW%bbfKf>DU{1S9S~ zYQ5`fUhlq*qcz7{C{_fl=~W#(iR_!78LRCXpgpHJ*Hg8b>N+tYMwPwC`$(7pef|Pa zXk_DdPjs}IVi`j`mQqs5T$mBShAgP3u>sH`f=I|aZeF>eO7oY>KN@Ua)oE~rXRvW& zt8&Ey!1;)s&oWOYD6G5e;oANciPUQT5P-Kn%ObaP3_yMHy#Riz30N6`$4|??MHSSG zl^SoL=K8m5{fxTT>N%ETdKR|08CNz0PRGO5^3%d8xo~#72>Uib8P* zDM=K|-QUV1XE3p109?auOS#j0R71ZuGpDo$ghj+p8M%W4zB_J@X7w^;w46EIAWY<$ zV^bPEj&CUCNoic=lw(e3pWF#}BBpZ6U9Ev+D`W(>BiUG>FFjOvJXa7^76rnyCY2$z!3nM_vhU^@tnEm!`j@3cCO%OVj&&0Sw9rqxA8wpo!drm&Kq&MJALxx+$>Y} zK=`ct_4fTmC0u+NkU!tr2036TRVZXpdToWg zbgtB@$n=6K@w*Qdq*gwvVOyV}JGPn3Pga?j6r3 zZFR*06@XRe%oaVEubS#ro0S@;ajtkCy>!Hm&9^m|JHrKCr3z=qh)B&KzapW>VL7_4)EWZqoiWEn= zab=fODmTo4N(-B_VY5cFZ$s<>>RF)ntU{L9vGq9aX7Bftcv17%U1>#a8zsr@7;bI5 zfvHSDws~EuP})BqL0e1zks```of(3j9fNLpBNCG-Lp<3Ug5r-&z8&&!$M7C;9Nt_i zUQ0~%z7%CPn3p~7g~Y4gEU`E)SD83S^{g3uGPS4s*&?3Z0D7YuMOor#HiHOtTJ6&@ zrp={?H1EO|l)q*}FWnrUvdQTa5INlTIr738?0$H0OEX}6@yhq(XAJ4e(*+vk?H)rD zyI;&66aGA+Uhum{bob#pUiJFS^$aKQAc6M-xgsY_u13$cDYi|t_M;>JXN_e(Us>X`^wgcIAPx2QVRmJom(wQVcEoA9931>%Ssl zCq1$Qo9~Yr7G2CVze^lY+NW+WSB9zO`@#5)Rc4l-OqF$ZSdCRl)7V@aahck0L@H+~ z4p@B8NFM7{5fp+N z*M*NPDOq*%ZK)Ld-Pe}i`f-I)hX0+V{32E|`p6-ZwIJNeY?2LUj$UTpt=PgG;0U(b z=)8DwA5c?HGffr9k_g=%&aUOvSG^SLwA3Hru?AC?<6FDKMzuyz$*6Cp}nMI^TO*x^>u)(?bywbl~of3!1T} zxipzhoiFMs$RT8ubMlTijLv)XYIK}vijYS~0z64tp`=cf^CKk=*K(7k45hH)^@LDUX!&RF1lxIn2L2yMUHk_GaYGvjnu^5^%O zmu)Z{$@$ja5nf0RB!8}$oVX=;5(a}Sx%H29b8Act1^hHr@ z`^HT2kOB$+$oZI?f}W}BCi9rET1iUxaZ(h5C?g)IbJQ>e_}cHU%f{{;lkm@Qo*djZ zqL+DMR1!qtxL^3-ulvd^1t<_1x?RB(x)l@#-ku z+`fJ+P|PDc08wo6U4-gEdb$sHwweC{j`*cz+Mj2Xiw zzehwJ1QR9TvUev4nUHE<&N|PR4r^f0W2rx4*DtA(c4F!=dy1?(+r|zU{k^1};VSCd}_QA1$)!gcn&1J;)>pLCxXIcL>@LrOYU21q$sR zl^&H-cf;1ndKzOx(dJVP+TZ4fQM3lvW}P(>oOo8b3hbU^yKwJ0cTO{B%BKk39*k4_ z;eCi?j?;4fFa-&H<|G+#K)`6YnWR@zz@UCBy9^nJMTD%Gos4FazGMf7cop~aAh%K$ z5|&$s_cD-~axNb2*$i&a1yL)>To2U=ElBTF4k-WyWqVwdBWDVnm;)AB9+${O>;ZMNr{0kwZi00M#MoPY~7^tmk#51iu!z9LvF zr|xUlIPNStT2+5KaY<*rDopaN>9K{zbx3WPH4f=tM&@d5H z5o|J@qS9>3SiQzD@bt*83KmuVUIWffelmvm*kMsv+pbGvyLW}M&7oUjs9iRT&8l|v z5hr-XRIyfX+n}S&cP=IjS7u zAok{J_8MrC- z+`F2zNT*(a!@akV_6$=AEFGekvA4$xQ^@QL=XS@h30$5q4)+yaM#2siCBjG`VrpMA z&%?^mmA-PbiKhKP@^mw{0Q1;v+Ik&Ft)rlJZACl3pl#PjZHh`@-pEWTMQAsikhLPN zQ?sJ=Atw{-eKXNs=z6SpVR}C6gmWUc<0v;Z_k|3RP1Y0Rm9?U#6}ccdj=rl8=%@?KgUbx$gIRYc{Zuc;;I` z$yvKqCXs5=Lr@x3C$0i|NP$WgCn$QnoYH?1*8768|Kvip4fMj`bVI>x{Cz8)Pv%}C zsQUi?5+j*?)rQ?o0k0xZ{#aRL&`Gju&C9Wc&q3W=B?49@SoB#S$Pds|&YGa}L=UF0 zLuQd}zSWwI3sQSi@T2mCd2hK4v-_&z$>-MdZc_2^^YbC6!Xe@LxN~#hvS>=VumeWa zz*FuRDWVr}F3W;9gCGjl*mic5JW?fI=W^h^`+e2a;`kmoyux7NX z-s5NEXIcO{oj}bk)gFW>cL>GtoAIr%D;Pt!WXrbzuE-vUG@+cmgEMCL@Of{!)8ep> zWs%&as5l)@qt8#=SIN9o10}HH1`hz2EF7q$>()I7-+;B+TqmM?yK07P}pD{M#x%V((7}_4YR2C6{ zM&TjRjzZO>SW`1095VB7T}H~|$Q;HMCk4FOj^K3a+nTf&IG6gmj~nMk;K}z&jXMcl z#FGo2yNr?Z9`-$#OW+vL)n$v>itU$>d{=H9=UC zHk9^JS`GuK60<&fm?qAP)9q#QPN@Lv%8vjFQqIeHV-vmDf!}iDMV)RE=7gMvK zdMjtS3N1HOrndq+l;aI#HPHqrb>|TxC8tJi485sv&9?%AM z)X6~{-4FpqhUwGmAUpUs#1KLS!{nVIK6;5wO}#l_bUA_AVNhHBoQjU=|LN)Hhp~j0(lb=O%!IqJ(^fdAdc*_L#GY3^{CXm7Z9FFjoQMv#hWFUd%tz9m!aUM@xO@h< zd1BSQ3d=eeJ4fUy*j z^(S)07T1?vk{FVEP7Gjse6MMt^k~luBgWyQw|t?px17}aPH6(5vm2B^8HZx#kL~5t z#A-;bYX(`FVs#A$TLDH?t7C-#XekTGG_ki(Ajx1wBo1J2oZ7hG#YNRgn2TRSQ{9g;FgvhsC!5*TdwUF ziZ2}98nMte_RU z(T|Bu@AF-HKoz>AUBq-3Yj@Iw&1LAi<4Wa81G~|hT>fbJQKMmgB6p@WWKrXF2$*XJ zyi^v(J7EhRx82e!?52mV1#`-ymaUAVu&E}DUL_d7_6G?w>xB$OPcm8-RkC)`v!CL5 zY8Fxpj$J!edEGx{19HTBeiD^Gz9p2-MFdc|1l1i8rNg#|X8SLgp7`T#H*h`Vw^*^*Sd2nGHus1*apk@SWx8?Q!(1bd7awYiGda-6*-vcWuS_yb02d5}@lu zr0T?DOk2C#Bg=xRl+N_$eyNJk#p95XBMr;Q1!|axg>B@mD2itT`xVw!h6Thp80Mm% zK>+E}#YN^@q01-{VL=S<)Lr@ja=VX~>|U^qQBC%iFw#SamUG*4dlYvZSX52WXH?ZH zLo9>Xc&YuQVg0?j{{}dI_Sq;SBJq0XaaS^T3+7dmw%5A!fmq(RGl6&sbLAwLxEwz! zL!YLNOLTXE)TTpo0lh6e8zpx=(MUpN=}y(^SY?!xap$wzg>(QrUZXibzSX@cF+ak6 zQ0DpR)tk+^S$Pi{h7y%-})K*VuRoFcTCAB7kJacVq z^shJbnDBPY8M0~dVhek;CtsMasYWp<(5os*ob2<7KkcIMuF&_CFF>I*u#ctBgF;-d zJ|U;}{qmL{{m-}08TE5Qtr;av8rLA6HNr?;V8*1a&`nX(^woH zX8hXFlf>**On{^aKB=y@*$#@F>Y=(B1rgEDidq?Tc*o3+Tv;^qPcG-zh|BaYMK%v8 zie||V%oWt$MW$K^FV%zygk;K9^PA1kN)svsiZrC{IxTh4gTStSk02zR0|R^cM(`-!^@4T^79mTQ7|6BP>*-}jl-hl~p=E{KuY$lINToNU41HKc?B%~0yZ%66C}mCc)P)5*_AkPc(OH$b$`eZgH>7@vJE)X3`iDKziya(>J(k<* z9k%_ZQoxo(y#Kl)c_sDA7qm*j&fKB%wGMJgiJ_WD^9e;FG0S+R=Hf89h*>so#v14O z#x-jHD-wqjmS_myu;*JBryjU0n-CQ(1U$wmUKtj4El3WTBkiAvn}WAWqeOCy9(8%y zldaCZ+M_zhuq6-10e_=(_;$}Gi82xz;e+Lh+5vm`R8roGJQf&BY#MVMV_3^{%uESA zl6`P;NRTO5l@yjJWb=L~eP2+We^=J!>|sPvcNQnp!7j5%93SOGuF*-r)3rc(616)H zwP8e77?6Y1dKU%9oHZ@g3bg1Bo+r)~XeTW0MGjt*b^KPr)TfwH<8ADKFFRo})iB9b zv5{_BIZz&hs@sCI;T?~vnjv~c#9?^-23#JR8icWL*(i+d0L6 zz=DhBQQAIzYm~OrXdY%87%DV{;nx$}(`#j1l=r_yZ||3d-#BDsk=(v^^Y&6XPkWfo zMjYqo&1zz?YBi574;SZF7V_JX9@HHTlB6;0yKRQYEN*j&2VmH8eD|mJA>*=4xmTMb z{Y7Lj&CO-jSp@UZx~%&ZrXyqii)VYMg4N}1m%&A3c~96SRZTo=GQTCpR1017a+^sV zxX@q_S7>c7J(oe8plVr7*LwmM1km2wN>ALLy{+F(e6%$lwYgBFHg|Nrn?2=Y=+URg zS=u@!hS^gMin9`vcRDoy05rZ~bb@{C>z^1X-^M{aQy}|0$Or0maI_?Zh%YH}a@bX< zKT%RHCC%MXe$t=MM}B#Gcd!*%?!F5g$7Tf^g=iFL*Y_9M z=Ce|~cXs5C#;DB3tJryB6!b>>5%%zK4}A#?I2czqEldpB9LN6%uR5 zakB9aX=-j3OC|?r8~jpj)$jcsTOYOj)-Bp)%`D9UCkpO-UgeBQ^Fi=<5hLHU%WL(a zVxRHe_}rm@I&PX2w9=g6)=0O5&M-CXn0Q=r&XUfD^5tMeS#|)imIj-eq>02yDyN&G z6k+_dk&#@&`b`yMkpl9wcIgt@Dn}C*=S=alkUvcu!dr|z@ST+TyiYXrxh!25T-kF%`XY4Zs zH2gSh)*b=6WZ$r#{sL1@CBdE>ywS!Q@Mga5U_Z#re-B9WF(A5QRkdbJNvw;RYo?>3b(l zowfShUbpN#&n8NRkLf6lff1FkPFsbAS@EF}z>Lfze1s}-3VoI1;u<&Snddrr-)0U> z6jgqc{49Mor2)&byyW-!^W$vI$}S#0hZROaYof^O2XE#heNkSG6>Ieh$&S~UW*Q8lo zSgOX_psYJWnaM>@Y3kzbGsE%~9UypzULdKK)V2%G*2-PmTIf1EnVyYP>kB_1e{TG( zoV+$yD#e*jw~Oui=gqC7)*%Vbd5cw&dn0B6;aXL?QaX>AY2CQfy=2wzbY_A3d<{G` zDivj^xGGfq<2Z@bCKGHp5ajP-jBw9d7EOJGIpd>j)MV)PvG>Z)dpetB8LUNmXbd2z zsXW^9yy@b-t)A6otanN1BSQ5GdbGnt1ZM$nI!)nS5}cbl-l?rUwc>@%H!`A=SdRN- z=JsCE_tZE#q{K67OgQ#;ttGc=ib(8A##0#|8uuKxNB6n-p3i0lFHFZKTIFih6nH1( z98K_dums4(a6-GoVPr)<&06wbJR_EIaoS?&_u}slaHP{5I$i6K#HT684aFn2k&t&b zdr)HR-zteOu38X;Nmu?f<&~+hqK}wSlsEqVYPad?EJM(?De;)v{X2w$^LYiFZj%i? zJJxI2-CsDi1uJPIrwU73H)_A`WOE}b*d`s^=?-p&pN~im)E8YrOwLZce}NK+9xjwF z6r8{L_p4S{KWY5gx0j6@36MQJv&0x`Oseb;+_>TIGy$o^QuuA+=#rS*vM25^c_-F5?eqyCKPR9*L;?vxft--~smZ z2Up%}Ij1^=uU45Z>wv+Poz36gQPir{h8tEBY4v|JVUF-L5$a&)OdA5HR9)d zpJgldDO9_YTkP{q&=V!LN=L8fE$KR5ZXd__=L&+WQ6pQ_Pjow{+Bg;xtMJYqJ(c6S zBeJKn_GtGlj1fd)g`6j5S5HW}KlF=Y@m~fnN=I~eYhJCyC`e9QV_yk}Gr9zVEwQtT z7pbj*A1w>VUIKyu^5-ks#|Ica?2&f(i7G@F*6@E$sWV7(MS0_*V*31SnDEG8+^7A@ z5?^5lubuO=hF=aVo^}RRWM8%x5J6Zq>6$q2o`3AV2ZOSXS4)*eH=<{#^=nLuuds#J z!mll`;gK^CR}Y0JbO4a&0iU(;d%w?NV&+sD_}h9R7K6gD>&&_ry#|A0S#*`%e+FDQ z6h&L4BqU`=nQ!37m))`a7tB;|>}uV9^O$kxC-$+0xg@7t>_yH&6VNaHZ~z3^IJ}!O zCb@wbfi8vL{Jo7x7-~2C(b$A5El&6qt^6_pd$L>%yv748c3gYs1!cysgiR>>oLxEA;SM|0&H3N&m zA*W^4A?}y;{hw|{V0;nTQ{b@~p@t{9R5&j6v-h#ZEz5|BNzwzZD_jLV59$2cayDOAB0!7LP^K@t!QtZ>VCu(g7s?wJ{uGc{4PINpI zP)~A^%#Dzr4+Wxw%yX?zxr( z6ULi27W3t50qwbkb@bO4*rew1Mt=z>vtJB(A|U}H^x`Fj+UM)zCXD@pTlwo&Q*(d< z=*xbG6p^Qa`}E#_Gdfx%mNlvx))g~SYTVJ! zsBCn!mtxd5Ll?7cU2XYuDE;yoMfL10%pD&5{MXq7-jDLdYLxKg=sjdomL&Th>^}iL zp0)wU&K;I6yyZ_6KcDGr13e#|zg|U)QT%Mwp-i=0* zC_2ubU-VbbZt8zO{EPuly;Lg<*vJu>{C_SEhxh%z?eDkwGEarKdH7w+Q2sRc?sb>r zx3~Xwsi5kYb}1FoDpdK)1O;6A^^_gs$!vki<_Oz?ekUO?3G^z#!F6DARVqm&Gav8 z{q1X1+J1|e1ran)puUZUHSf#*KiaOT$pGJFN0^8I@w3-%=`|U?De7hXgWV0NQ8|+g zwGK;5$f{25`U(D_;nc^N`dM}%uNi@T@?O8=&*;Q&#{BcL07#>1<81zMl<#2#$LHax z3Y;gk|JR0p_U}7UNBtodsk7_<+v0(D{WkBs%VWtFlCT$uv5<31_HFp{R~GrC@e{Z8 zqwc+IqD5Z*L&sf>2KzSOOQ)fK>R6Vs-}SD|9v@2cC$oEaueB-gR#c$&{XagaJ>J!X zYAvVJM5%pa#`Qn7{O)R1UzNG^usEF)1fb~D{gL;hV2vR=uVEeScP!f>F8-_7;KnP%&XTc&IBl$`by&esgLf1fwiP$-|in>_Ww3YK8!W4 z0u3@ICaQ-Bs)#=hRSEWK-^)*`6x`Nl8Y(Ha|KktP;(xyt^%5WQO?vQMO%7`~1j4#H zN+i`0%Q`ot3vW*vfw{9i9cWl?_i%~RwhOeZ)aFd!Fv>ZCSD(aogs3dIq~;Axriyuu z6k8CDl$k}zCUZSkE!2UOnCa*glv($UdQbqhiDIi4;3hz{NJ&^2@)k%bg_g0y6FE&n zAEBB!5oFK)B?NFjvK-=6hENB(hY9y^(>))|hWj1Q1KEL?q$D!7Vf(HGqE-MJ|K4fx z!xInw|JUAmMm4py?OG8*MMO6OTM$vYA|PElZlzbL(nWenB3)_(>@*?L2_PW7NeKi< zP*8f28bc^bZz0kWAcUO7ySH23@{RADG0v}ZK7TmYSQ%s_S#!1>pm) zT-k_=lIWE)88SMyF1;93_;H7d+I|>y(Lt^02IO(v@ADx#hL8rmhK^cUI?!;Ut$T z?DRqN_rPq+3R(AoD^p3n)DUPp8AG-K%pCcT6VLx$wEf#adi|D0E~)r}RL6^s(;-TW zR;F+{-wYM*d9TFGGE`_OaM!cBa$AWRU+Y#AanRB6+CB$O;3#WQb?QrnRg@2~P6U#pvq`n! zaXI8nvyc`}w=lNYq&P9%|08x{t%-uru;JKsdXFY9;nd3-cPo>fzZ7`3Jiu3HT_-$_ z`8u?$$;TJi>lmWn>4nG2V#T+2-5r#f-$d!NS9stM(N_K~QUi6G_5q4vo~EXWV~;j! zD(7uNrkF^?AkqW?#w=b>vi34T(g{$>&DvgHKGJKn&@s+rNA@Lo_n|eUArt98*aiP< zTP&c;=$tm>Ue<9d6NH>Pp%Zv9fs{t)MrRAHk#rxa{*?B$Y{zdsHV8~QrtLl73%i>c zBGR>gk00LP6TkobA}^MIdmse$5AcDX`-`VG6)>Fn&G6=g$cCv(%i^ zMmC|8VVTg(o?3{=@#7#$2xF?^_76p`mAe7~JZh9z;!bit9t2&ic`H~eWIKyFb}N(c z#cc8gQif5<_F=!Q*VpgQ^M;@S=wr%zuY+f7zNa=nz!)cza!W9wYkc$MTOGpRg~g{} zeGZiYX3Hs$>*){-r$z&LuJy^>`sQksuf5kk1lyMuQsDk?E`X~n`_pI2e{VTE$59NJZBPWyOmDa)Bd&!(>|J29aSta2P5iOM;bBQQ+2(!l)4lf| zDYdzuSIny%i_F0ef7QH;KDU2O31Qbn&Ysj-(q(-rfZBF=@xj3{boDu>l7R?v<&Tb2 zjsdlA2h&?)1$_t*CJD}5PQ0}5k|c7jXxXu6Ny-LBn&1>srfgSP1&y27Jj@G<1v?o# zmbn=4CJa^F<-H*b8a<69rg9j`^5Ugq753^HH;6%EZLTVQwh}a}Kv!w=qR*xa>5?@n z=%wqum;Prie3@+6)pdF^=EAIjxZ0$LR#;!4*j&aYE)Jo#fE~UXJ|kwg&MY+e^(0_e zmYZ_JD;otIQA898+tr}J2#AB2WBfOE3ZY2$g$B~T{5!zaWMfWHYG|Y7-&o%O8dAa4 znmFo4zW}}rpd4=otgO+aGU0#@9WclaU0>5^LYJiItH-RG?q4+s|co z06o{n@$?msMQm|?=`~N>mtb)dSPXhB)%E?(ojkpU9e_3^=i?J*>eG^4<(QVBkN5CH z%(HI>_2MI#WN$o_bm+5@4_Mwsew{=~sj9tkzLhbFEEh-oQcZ9S zIG9F`<43hxvhSi`{5mnfIC{6Z(0kB^gfak4`6^(#w{hAvg)iNMmBDwKH>exyL>!2D080NG_&wPm3=N6#iY5PfclA(<3bpoO}qP`Ft^@!c{lS8 zWja>bP&RiA=kg8MG3;EDp!LIkq}L|^l_?)aU_J82f(dZaZ2$Aj3e{{trl)>W-U~@X zZgACNOD@(?Rg@>kX#Ivvfp6YI`efO2I|_)cr!b?h3uBe{5D*}+vJsZ%&*-4d-K!%GR8kf z!+~aTg?Yg2JB$OcuiieoM}f2wIq{}~J!|AH?B#%}lbku@9sb=JV$=nR*=HYXY0L1t z_^$+tJ}+s)n<>EmEBU3~tqX@rU=y_u41Vy3=@(@d9zoPHuX)>>Y^(WHFMYU8pA6-| z3zVbejBP?@r67`yENDmYuLy~(J7F3tT1l2??XF>dLy9BA^a$I%6{POen3oYzYnae2 zmWb)d2Sh0sBZDs^qGaFR@=zu7JiDBB7fsMc+koT1L74+|!UnQuiIspKM}lvTc4v0} z*reZw_g=T@2)BstX8cHHq$8hmt{Y z)#4yuhq9Q1P<8m^=8AXU>jVGAWNhC8J?ka8TeP|EeQQ zbg~E&A+s|^dgsUEuVp?KVe}rokgxeXhI0lgiuTx7l+Ifpr#1T}HyD)B$RR||KltQ; z%m(9oTcdRq!po{LYnT?gZ61_q$+nSGpPujyY=KLNreZnWiN2f5#!z8xVR@kH;a5TS zrzsiba|pXSXKyE~bvclBP9sa)&bgz0-EH8=!uHzxupA0?KwnRu z0>2>rU>PzhkUmtXh!J4*rnXtl`|h{_*7@+ z9deiuw{RU$jv0EseErO;qG|ob40CC5`M}Q606X#~ga2XS(cark^1S#Dxtw8zIV#TG zFLbKh^-Bh8(L1d-8Z1R{1L$Lg>5bV37o?#K6*z~@->nrpu%I+LS;+G6v!xtyFc|oj zOUEze3Iu(cdjk_>yu$ZS(~XUxgGXxUw9HbZZb?;ybbG1?9HjuUi|w!F!HGg5aR&6fPf8n9h{*8KC?V5;h z&wj1@b<#iGaRli2gl_>C6vBSGMBEi9gn7eDPcc~s7vs@9oVi@vJV%Z3!i^vIMOFL( zhJ0sU6YxpAUotb;^&2C3k*rA_bGm8vsTY+Oeuq-uQPJFeN*m!#)Clw1yAgSao-4<8 zgTgdH6%HMS<<@rJEtGE*8jZK+n-rUN#VW@nMRQ1ZhLDtI%Bui^Jyd3uKEQPWs&iSY zi=6ASCs@CY9t(lfCWBqk_XlhX_lRgTyOmT zaoH51vfTzr$fc9SMTwDbHM;D^U~J{n+G0ZIx?>l}Uw)|+^_V~D9yhnyf4b~>0zC^aXgXqKhF-yXy;szJSd<_%DruZ_BVgT!1&*xvmj zV;^%h7T&7M9$?gtCil{Z`pZQZ*+k?`LTxWHzp0MirwmnP=it}Z*MV5-Gl-kB_}92s z<*KesBliblTkUJd{S$!4^M+=B9-v4EAmkPiHmLf24IQ`>g4@V-;wU5H!1u8uHq5e> z@n&vxoI!rN+i3P+sr1UnVX1{liIw?Hxn*sP3}dZME%{>=f3xly5|W&3OKWO5H`NlaOL~EMmSjy06_z=p*~N`1;j|lczdiXnKjTsBYT(BY?@*^6=MW`)7`8 zvm}pI*xl~dkY?mXjJOFR+!A6PLJbp6OSk$0{du<=vl_ouA|@vC$E0K`JkO` z$Y>J3HCGh?!2-3%wqFMkF!E-g0w3ipFD1LWt#9-sVciTWB|A9n3V3F(T}vQx{w_OJ zm764K*Ze7Y_tifZf5c{=SHm!U*^jH8IZTQoazHF{v03?=+VE0P?!0#5l1#z8*>YfU z>ZrfV{PA~E%J#b@$yxb{SV_lqipf6UqQF)qoRWekS>S}mU~ zI7PE-hc?nze!6H`+}v`yj-FGtuf3prvlIs|_xRrdTt~TsN&H%|$&dTO=qaBWe)GeRzBA52Wdu*T z2F&B92A{iqSU4cCFs~G-&E9t+oaE|DfFeyS$sPlXx*COZ9j-UA2-9RVwU*e{S{!ta zt;^^{q|MU?3%RjlfXP!Xe4|W$Rd<=Li>!DRUxSOBfKWqbsCL~NZ#4*cin!-xy2lWcQg#d-+^^5#q7ZbWSXwD2$oa^Vt+3&iMbGp=T@{_8JMF;^A+J4;E=Ha{MrU zlje}^Ld*Bg#5ZcgT~<+>scJ1@%ep*+JYD!|$Z=g@5A=>YzaSDYT5O#BqB^m) zFbaDIjEd4Vrk<|osD(|2&MQV41eI$^!2g=&<<{!&ZGffBzA+M*bTl%8r0a<;dz5aW zQ{rv`5)$juf{O)KX>)9xRbXq$1Gf$Y!3N^I2iLErW8csgFtDTt@7rlkb}U+pTfC&dkTsCn$s zdlq@RX{-K4IdW3l78!*>v1Jd`I~EIC<-tvstMu9xR5Fjs9+@S~-XV_vwe?2o#-JW4x5!4{;r+}az^eVQh;dMw!H?1ZRb zr= z5X~yuMVO#w%{FaP_PJNU1{kk_#@5@fZ{@~aapBUTJ5!${DZv4bqtzh1|JHK3H)^jD zxuHrB1B9%_v3IcAxoP$)r~AQfV|DL`imV421c4lsA2qJ`+pP)j0Ru#+8DM}=L+`tl z0Mrg+=+@UlOC9qf`M^t@At^98D31yBddco;jS#{Aasn(76J(g^j`9BiNInUpb0J?O z12@^c`jjudet0t=Ym8GYV5%eHj{3dP4>>53k-j|Ew$CSHN45f>)!6qizB)L64??ML z>H;UOn2M>o7sdEa?wT>>UgS`a-_vQ>PdsJ z{cf!LUZ~03eBx*m%+R58TJdUE4aE600ZlsdKIcpmV1foPfJ^;SyxLl}X$a{Lr5`^| z({l>-DU-6H_m-tg9X`CJCzCUyFV4VmjgOocMFb)f<$KyR6u?JuR;7+I%^t%4@ z7BfK7ZbD||c(}tlI=99;eQMOXyq~1IsL71x9&Kzn!?h5C75A49-4k73tstSe87mpl z-`QR7NqXt4)3_O^4?1VY#BYcy;5azH_D7xgX;EO~RKyl-ovDO0p(s*({~Hd4&~44J zyK(wTYt>`G>bUX9cRj_Rc8NaatIEOD9GR(7yPRk1NymsAYJ6_=wxMe#Iv+H;ScP}3 zEfA8_ddbBicM+H(X-OC+pesh&4htsXnY>m5oCAD;6<1skSDkj~_NuyQI~H)6?hjSk zL>LAS#$~c659It@r?M*#X%dLgyE%eW-g(0eBx}}-dp0{TUyq_~ zt%}@F&d#}_d~sh>r->T4egQd2+vGa~&hO=%MY3hYL)w7Nx76!OFD&9}$T6YhqdO%MrqkEe7GT)xinkWcOhGsEipA2c1k7 z_s=)QTZG=PH0?<>tkv^@w*d7uS=ZO1BMn@q3$6>OaLLrw8NcA1v4p`z>1hWhopg$! z%voB#ArfC7rNA!b7QMXmgKcW97HnnNzZzCl=PPc>2z7|M1}P))8M!y z>VwUs{lIkgBX}UMU?Pc*-?=AU*uE`P2oTixF6B zIrb@Tgs;@uJNJJ>gceQz;Mrda!4m6-uUbNoYsBPpNQ*L_%aDehGe}CWW#i?#GVLO+ zQ!n(npbCZ=A-l?JpC`~t&@}W;=bmH4p>7<&94$81=0FaV+QcJ#Y4UViG(}HDV$euW#>fa2cQ;_?kC`M&NQk?V0taCIC*d zhEGJ|j(f|t)Y+O6UVYFsKZ*0px=)OM`DdbeB8eC7y}UE#Zrgy^mbWXv+HZQSb9HT0 zEq@dBeb*A@uM0&_4bF5J%@hgIbpe4F)5VPxz+gZ)F1+P@MQO2NqlwKnjtqq4pgSjP z`)nt3-cO!Q-n2WkP&Kv)D;uu|Z@6QQOo0fmO0?E8Ps?31JQk4(P{u($xz~8g&ju_v zzm^g9$W@!!Smbu^K3|gBi&dXtWzMa(4H?Cna+mhd$^w#9P7Swq&x>9zW}RelaglqA zmyA-@58zyW(K42w9e@HI8un*Vl$*9Qq-ld&Kwrtqv7V#MH|^xYW?|}>FWa=JT0UaP zm%~?B8Q$wX@JTZsd|wdVw?2k(RZNovO&!nhd6EV%lSuHM!E_`E^9$B|-di@oEC5#~ z#tva#;6SNoTyNw0oIf1}$?V*h=u^B3>h{TGzb?P?WYE!*C1s9(a1!Rwm*+X%I`GzB z9>VM4=ZEM{lecy1*0}guXDAjOp_?YX6+X6GRqfC*kn3)}^r8={NYO7Z1_;9dE*gy? z(Zitw#{6OQTmc`hm%fKSwOZGq8~bK>T}a8{!YyIsu7s1HM+NYQ+yYTH_A9k zHbS0}HO#fmZ(n0;I&aBbk&_Kd3rz8=owl+IZybE$~5Qd9G)soqH2h!&c>R`%j!d=H*C|`YNnr z*L=NQYD)%+5zCB7D0hCj^R1}e*{H>958P2+t5Eiqo7|r3pT$jpp?@x6!XRn~ufH#5{G z1e_uNcL92~V1P#0qWbF`3G+UM!t=5{$H`&Jqv~01o{Q@W->Qe&&CzNvYmG9fhtOtoy=4gCDyj0dZE0zftaA2>uL*#H+PMQB}Rr){?6`&8z@k z{7s45S!joR!kM$+p>dT1GmijGO&M}oV#uc*Q2{840HHRM`M`&jGUt3D> z)?VZ{x%$t<~g=Zw9inEN|lGm zPnE1wr_QsoYK_VRsunZ^j{bXWDHDmwkj z`pXmx-^HbNTdTxme64r0*F%|k(Hplo`2{m;cs=qGqD@^YHdDmn9?#TA_baLEos$KX zyEJqr{xdEvb$qjSq#aVx&or_K=im0Q9j5*EZy>hHWp7$m5vyb|Ht&@(?vT-hVA-bY zC%XDJcx*X(-jvt4KXJ(C{KM;e=#_xAlGiiCQA9DvyONn;y<;(JuH$NAVPC!)GTQW7 zT_iux_{y4sO41~#IB9$O{`{d-X3xI}%@s+t|Kuu`M;bbCL&GORG$9^@r!iuh*-CUEUfthRsc$@wFXg>i& zhw2YeixM-U^edTSn6Ec%XLfJj_Ih_xiC?P*h)@cJH?Q}9(!fXX+-XhghgqjamS8Wh z_tVBDEN9>9Q99lqoV_33$xq>5$7S}9w&}Aj_KPFR4Fp&8Ws8?}GHMrVQf?nPa-moA z&Mjj|H7YG=X`|varC0dn3~Bi~Fu}YJanr5GN0QQQUjEZZUgA@^Um2(fSv?dD^pBY? zEb45sq!{?#eLAb*OQ73c&8v0+v$#)e5-u`vo>eWCjW>Q9A`eBG4wY~FL|xFtme>Tl zx{-PKL1K(N6q$Ag?OJ>!{aMoDS!)LGeyzBdPNrjE;a4PODDp+<=X}4TIkJNwu1QEe zIc57yZV=NU98cqVR?}yGcBu|_*h|#ElUre@&L`in%LX>1ZTO@2HGZ##r>$eT!>7|E z?T?fD#$KyR+;BwX{z*QZ>!fGHYX$$n#1+?(oG5}B*~7Fgs{W#&7dEW-7STb~k~BKj z2$FVE+x&_eeahQ~`j)MxX!&wRe%U-GQ*$>!x3o|JKyy4$Ks<6}N>sFtA6kqr>E%BpM3!NLC)*=oucNiVEV&+}> zBFVeurL7dhdM?b&_R=-~Ge{x(n@)X^r$eNm0$s`OQ-A!FUk)BQD0Laa`XtAGq9mvh z1r_ql#Nt_u{#Mm$}>l;;I8mCRPzg_^fC`Qm-S`* zDtrOI$4VW*uno_rc<2Aypnda`obM=bpL%c&5QmUTL5C_^-?Lv{TDI(SpEBn+dEPL0 z>F0y%@2BPEW5<;qLF$0`K<;DZQQAc({!Mo?Q?ZZrdy;EzGBD=iBPt{ykiRq`>wl=* z{MQ|HLHI9zKBqh`Qb_qveqLEW@b4cT;OFgQ<@Chkvt=3eogC*KaO{YG{X&-?e=ucx zv=Lp~lNw=<*bR{VKEm?Fxuh@k&<|2`d?l-$1u6ndPiOD#dB$6;rW0nQ{;xL(@D0D7 zq5=AmacmjTyMU~MX6bFcig@~1$ugvMx8$Fc#mo6F1~a3+?tJn>evchY^%wyvd^9%m zR{+jm*ZK0sar91Li2|A6?6_L)EkS*NY_6vLcd~w$MplYDhZj>O{H7%PLvC$n?oOgn zv1w0{=m*Y2tJptBgi0&JY3jGz*ha_5pUt$WCL56ohohWVcYuJc#8~CMx|!BP#;tc>*Iy*Bv`$|m&Q)X?M zvKs0BtAzQBO$@ts?O&+;-C732*>i%|t%QEI#m#R(Z_Oefmi@A_WOdWj=olQVjhmfR zfF|YgFzEc^pw4vB$By*ZFRexjVWNQJ8&+`vh#UO*eSY42Kt5E>W4h`~b%ZMi8>7y? z4x{h7a_kJzDR^`Q^LZ!YxQ}!h({m^{-wEEF zpBPCzv{hMw4GsH~5~KVWwg{_=hZ%s05O)M%Z6S5J&*Q4>rs*IWj;KIi)HmK7{$h-F z^Z36G7=sJ{4drie0i0uKH4T6nd;$WNo6H1rbL?Ddi;WG{X>7a zao=9P~$-_^;8{JpJ|O4b9~P5-vQt>u8O8y;UPY*Gpn*N5 z#aW%?%G+eU@0{|a*Ff@A`(6Np1JDCw@mAgZj~KKH-Kp*jna>SH;ilH&KbGqLek=p` zl-p3j75Qqnt3Xs4MiT~2RBaNC-y5sv|IPJ}__;0)HCJi#jk&%AApQ1H4*$W5EreTS z0}?CrUo&)n4v{dBaF$V>G!Xq3DaD$aJl%NQ`<+^}g^j^LlQgHCt05r2AlC=`Cbb2H zw7tCDwSnU7v+WDzf$QZe;QT=0rR1|V%p*7DaTHKWs04ULY$P8ynm z@xccRa-B4>j&5?Q03*BPjia4b;johxg8yOg{u;&yM-sdJrvo=1L^`2J!OZsQa-i&# zcfRnUvIMr49QOp=8yL*!wp+?w7z69|8}!3*iNY2^-Y5}Ew3TVO1s{OTAV7z8vY*eK zfBx)JY+tZuzPS!9&lvfDhNe**QusqMNbhOfO!zo2N zq^OqYAjF(Ll*=QKBx3Fs4omwK?bPb`-}^X>eZvd{d7XxGBwa`EdAZMPp-*b{O5N&M zU2{Y#hnGXLfS~)m$Pw1FSqc!hTWVS( zMJXK9SzF)%6-PbEFTbyc!>&kht%N^iaKOHD9H=7q@(-jyI=vlrDS?$vTkPf_^hmj_ zs3pR~lg#}Kb^DJ$?-3dkjmvLX#NE|K;^lmoG(zFQkS7j;Z}^_NW7@Yfo00&WaUwph zCOs~mNR*zKqbcGF%CC2#*+;;lvm@$)#w8fMOy%B8<<}bCVi6b6|H!?42rlma2 z&2WI9)N_06HT{fnLPN_s(l9@m@4hSYzq{nGcWBI=zGdt6rvkPgHMKd7Xm(k{uI?fW zAW;tLlRNQwcWc?9wWQEVu_M5cCqJ(+_7lsv{Lp=eU<1Q^&#gQ^&~PQZP{JFz+i{)^ zUuN56Is&;jA0p+BfLD*96C^Fjid6 z7Q&+JB(6fF!!hH6`x@8~Em}+VE5=KH=c7APKMMNEM4@7Ks+Z&C^&PK+QhmXh62FGb}exVXJ@zUe{Di(l;gk`{^mw{a}Ui&(opPlPT z14RDafvnKm5>{0)GR+4{wo_BwMe(lCK)@Eb!*^? zvE%h^^s`2wG%a~tD>$NeF)@EsI>8SSJzhV5vh(LL9ehw&zXo&-@4?aF+sFLo=P{#P zzGa3R&Uh3n?YEpEAei~rF^7*{t->&(u(}GgGNPz&p!CWuqZ8kCV0 z{MRw)i|qKiF)nYQ7xCVbq;PBJuVY-6cl~T3LU^KgpBl6>whEq{qrUH=(E%8k&>wU>ywjOq{+!`Xy)3a@`kGd_5pELMuwAe3;&p}C<(L(~N|8+1FgHit}9n1Ciu z@8_&?x}Vt?NgjGeq@LiRS7ptKN?g3r-LBcFQGh(#@Z#M*eaofk`Ru2NcB=<>TQp?i z+(qhtEChILxbP4J$-0p20!VqgGzrmfzf$Po>w&BDQwPzimu}ZLt`$8E16vOyPK!g$~Z53IB7pK%^{qwrJL-e7~u0sxQt% zxvV@n@0RbaSuy(jI#@}0R(;m`dHoB6*UfGJahCJ{^4Su}5El8o1*RM^u}hY$-qKKk z->Ci8`0Kwht&7iD>X5)PYdhJ;vO}0^NBMDlO^-&(k!K7fTEPHm% z@_V=o7dBVdEY4vu$K^n;(lN3PgtIWtT()grceuU1e5_SH$ZdJWv}-(g zCLFY^VI5xC&eF!|9_vLO1P1RMUK*|R5&7yYh+qRvZ#wbCxB8DY$5nI>PI&)4L4aUe z@*EA2y4yQKyGOmCF-7ZrnJAeCU7tyW$T+AH9ljLaIjC5R&>t}~ur`pL*SEc#;s_iC z>^jfy2vnUeVz}0(91`Y`cyPrQGvOrVf4nTazsSJ*k5~1nD~;5S>k+{FtR4PiioVkY z;2w#A?$Z4E>Y%bb0V>`F3<9scK{kzlyqd9(4WJHIUU$3rJG5Upv6Y`<>AE(ck){EO zBOszzS>SvF?faBr_xo;*T9&_qe(U(m>CS*Rjd1q7YM4DaE+pvY@CxKQW+x`_3dNr9 zsG_>!_{r921^RA=$$(sIw9HTrRVB4c7{7Z*elYW6gm0`{%N925s7QUk26>W zQrt9GJSWQho7-D3tP{u8nf&Ub#imqymj4PXJsAin?H;7E?h+I1YWtXal2!Zp>>oLdgB5Yf;4ZSo_1YI$VH zHNDlaG3UwY^8E1m@1YND*d{liN>?UHnYMQ(mkB}Cog~sE2B(WrMpN0*`V-|i^0)oB z4g@8rZHjxjf6sRwR9cT!5X$2W*W$Rx+~~5S_qGPXNdjXdn%1HoD3gXH24XKN4K!f8 zYcO4NKjJ2OoXSu(($8Zz!P4INtxDP8T>mQIt&;xdt=a;t@BFFZ%y+gabGLDV~Sf@8pCu5sVFMIQO=qzaOj!g>8f1ZP)g3%Ah z#^~oU73k5np65<*MTp0lSvl0FCQk}H>(UElgW%*|?Nu0IBZqp#Icsy1oUyra1o)?^ Ms&}XCkNe^O3kSQXwg3PC literal 0 HcmV?d00001 diff --git a/screenshot_light.png b/screenshot_light.png new file mode 100644 index 0000000000000000000000000000000000000000..62989ca0e2f8cc15a647722c2dd0983196d83c71 GIT binary patch literal 324072 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 zje%0D^V5Zb4I13uAVnP=9bj0Ano{v|qOx*NBq)5 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®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

W~^xp>SSE1axipthRR=x{H8y`d|uco)JwyW zm$a`Oru0-Mo+bT9iV){js%}7fu2{GGW<}@9oHjX?_r`18knh(i6HA}7cMS7~Dlhkk zeuMHHKi?p)6S#65^ZiqJ&$*SAXvY!2uYrH6;#rKdskl+e`Ti9kmEgahCQ}ra#n9;^5Lt3|tyeic7+8lpdR`x71{7VqGP=xaawtj$X>bgI;|`pzFhHeZSj?A z>CVI$xj@pCVni+K?>cXJx~PlESIgM|`? zTc3}#h8^AZkZu9RoV`kH;pwq#sxJ-$g9h~G~d`O1uX zA3?pJL58snhrOyD%VI_LlOM-xPmdL$_w26PVeLisZpgEE@XAx@t3ftztsW<`kAl`^ zwOQIqw1aj;PxK}0p%3l^-6=oAx<&c8)%Qi}mNvkHx+M|zg$ueRH4v#=TH!nGm5P6= z_9)+#elzA3NVATt$BcQZI;da7(YkEXHwNV$z>ECntdDQ1d|93RD=3ej+L@*OD$^e- z>ql4}^~1=Y>Q(f9zCXq&p2_vZJ?<$NJ3&5F#3`A79m;at z2XaNo?^bm!M_rWp&d=1GMRhm7RtULY23}AyziIg2kHtJf)Hq>%>8(|Lm!iJFOw4H+ z_Sga79oJw^scHD106yp2qyMB`TTEHs3bL*>WL^wpUo2#OoOWzDWIbda{oRT*v6Vir z2K(dy@XMf|)w%?qjB9ri$&Qd-B7JShvp4Z=0pv@bL-Zw|yBE%beBr#OPyZ767obg) zFB2sUx1Ni%VhZFWWwB3WJ0V}3@cAhZsRxdyi?YQw(f9Q!Z8XB8Jl!x=0OurqJj(tJ zJWAcX8*+%S_u;wX28=_8vvwq8&f4)x#)zktj5!IJ0NvzX2m7iVHpfr{j};@7j9E7l zz6@*$+DnO$Fa0QA>eRf%H~kb{X)l$-URrP1OOHwzXd}kkUeI+-r72&M^=I)-(I#2H z*T{FbQRiILNgK(;_atPD4*9b7t9b2o*hz)o${5o3JCy%sjG|i&>=DW%a}K4zkTGj_Woa7*`$Ows ze^DpyLK)Uki*n?h8zsG5`Y4$u>DMETlr1ALu7+cL4Z}Da3Y%hx;a}RN?-$L(oiO&Z zzD$sF$(I3E`3w=N*sJ79<72;R_*=&)d$MYuf_ENq15L|eujYNP_~usd4P{sQOJUjd z9%R=#@Y(4_O~bAPY*VJF_}0{ID;P*XoDu z!87$*WfOi_;M)Z0hy4}#8uP=ZppU7;8uP>Q?rFvkyCjmAGXOur59<}l#{=-4e4O>P zRaYuMY<3p;ta(4|N|Yz>mLRXy59@>Xlv9_X9cSx@mG4xv-qF{vL8APy1+vbtAGYs_ zuv}S+Z>AqsVC0)3Q^-`{SOpo_lpl6rcS4K(Fz4SDU*8VcrXQBKP2v4K@cyZOSe!9# z0$(KLTm#sR`C;X|5^{EeuBjiX`j(+S%K9&FWM3rd*Bb2}Aybb&9BJ6z_`mbRE=E1k ze%OmrR=M=91}+!K)T?(faEgH+RU1A1tQpnSC%jd?wQe z>kc@L`Cy_lp;;fygMQgy_+Sg5uT3A!YZv|Khqc7l>a(zSy?-?&HSAxlOjEjl6534v zY7=x_K|K6X`U$br`5x$emwuwFDC4_5G0MM6eOvW^Jo=wJPx)Q-N`myaR!(T6{o3%U zl;7mjZw7y)H|96Nz9<`Yofd5i(wF%c>Rg%c4^4!vp?oEmz7%*O9vc#{ZBic9W3)>~IPSNf!eGEU-@Qt1{e4|_m3vv*) z$6oj(TV|Uw#;ec5H`6y7W#qfwsCyXd_QfjSi0zob zBK)GSMyom!86T8(OGCdXuTI6zY(~uOUGy(yz0dHA%FXY_T9CK#ojRpvnpM^-zv%cd z$i@hprJ-L`iSlm&FY1e`dYh#=zsRM(h%(g`iq?6c^_wV9p6Md#<<(PV>eJ6h8fm*U z?N^w7QBAp$!7(UX?-xC<>Kcl=D1%G>5wK9dvZrm>_ct+Lt4cZhy?Bb{TMaux+ zv|p@gOZ=jUxb;-!3mw4RA$_60125ATx&yycf1_w&2QBL5L#gtM=6yC?EBf~^tppV+iLHw^SB zUdEjGFPWc~GeOP*h;bSFKUY!RYYo6g_^+DUD42GXVAFKF!Q%)u8!|+YX>}35y zBVU?K-Fgb@JPser#FhTleE3%j;9nhpe>Dua*U`U1%;qlBzrydLLs?n@{VVv+jNiP8 zH9#^JQ!l4dEdEtT={u+Hij-5&pxwmFOaBVGkN%b4%wx!^mB=Igt6_$$%BFwCy$Ejo z!=cf#O4UREDitvt()J0IUjf`$Pgqu|d=-fQ{~moc|FbM@A^fW%!@pX>{s3>RL^;wl z#Al8LnI`E+ksbqYhi$2*dD@gwRg2UZ`4`Iqmpu4Csf$&grl3zb_6pV+J{Dlp|0x0w zR3p~XoDX#0sIUzAsXkC%K;dzschf%5pMf`N$hoNU=_>#C$lsU`^gHCW`atD)Zq5hF zyI=W0_ak3pKG22eho*cWzo%&*sCsK8zu~~G2p=eQoAKS?wIJ#tuNCyQ>P00(E(5Qf z$p<tJ_H|hgb zPiWo;+JSyCeV`KPJktkiY#wSUaR0xWhw=e-bMsIyp?%TwP|lIcFY@ImeraqTY7*c^ z&qJ-f-0%;;Q#a$gbsj1Py!KP(p#~EU_~Aj|89fhmIleVD57ps9ep9~UPRZwPy%+K~ zHxG3O>afm3C8OU6<80=kst?4;dH?8ns5cE9;)W=>*VH^z`E`osc_u9lU(1|_Y9;9b zd27x?#hbFst9$TG*?3<4h%vSg8THm?{_p0YmSN2y>uGKtD)re&y)qSeNZZHoxAM&I zhF+P3@6=xv4y#^K{?^mL{Y>*vx1sz*;6>fk(s`&GNgKbScPr3459KL4-sOAPGVjRL zr*B4jw*FQ@A0_W~lr{Y=agD0$z-3C_r~ia`sOzq8+~2CXRMqz=>icizp)LV@tDj~5 zZi&Cu(s`&Ez|r)*+Tyo450%w5JP(z6g`(AOK`Zi2^gPsHl*9g>`gy4Duls59P(37^ zM14k=hVxL#_}0`s6!nWa54BP9ja&C3e{=It<4{La^H8LNIS+LTva7jysLFShjESCy zT4Uhx!(b(28k>hI@2=>YWze-6^2It2#r4W^uFaf>`Z`Xo`RBTw)A&Zaob%5AH1h2- z>fDYx|5x)+v(cBVr@48kRO8G6GoCXBctp=b`OQ3rj2VGE(od>ZZE{-Xp_TyuGtEO? zi}G2(jr>?sAJb9uVol9M^_TSNsE(>Lpje?WB)P0 z`fui;dR=F%XKtt9Eh27cE9aq7eTr}1xKzomth1blIv=njWyzWLo3=t6*RF3_;m|fM zvumFt=E3!l^rQFS+>47qPwpk9Z&lR;X=nJxSnKDJYyCVr#xs_PkoxA)4z8d+|GbKkAO2{Ec;n zd8gDI(sa-*8eSUnV9twpJ=Yp|0axyCy&7xaxF(c)8u`2fxJcZvK9Moo$M7Bg`@san z7`&jzueT|F-ift}Rf+x(V-X`Uzq<*(OC{oz#mJ96h_!lx$lisx$v@%4f8GV_YR?|eqj2e;p&aS- zrt$673>BL(+nPn%2yyU_$Lq2`{U}S@iI~Obh{f&tYN)p3`%LUz_J_uztm31N`V{1! zgg@GtRT3ujzf7V3WeWW-(5Hb;wQc6J}gv2WZXytvM1e=Zc?4S?T{_ zjj1s9o-8wH!F>5Pj6KQYZhZpqV!u}z>#4a$u@Y@zpQ-gKP1im6T4R0t7LGF;=CtjY z+jd}%n`g_!XvcbC?MSh$^mEv^6<9msLrhd)zQo*L`~dJ=hq#{yYXrTS{!qs&{h?&c ziwneE9Fh(${cf3h^t)v0)fdRLqfXwSUs)v6WS#Py^m+yHJg)zzTM8o;=4GRp304?Z%p~j+oEz4#(c-LBIp+j*<`ydlR@9;EavcIIm+nXyU?J zAC5h)H_emh1dw;a&*t0!_EU~gdrMV}@)Y8bq!GKu6%{!FpCVd<5ffn>`;_DTLkYv9zb{j-UM15M{au+R z>F>xiS>KE_Qb!NNI2wZSl!P1iqUq;NZP(XSY@UGRBlP=O$Q?Ppi?7pM`QXo; z!!<9)cYN&-jboha*A85y*01FO?-Im%m7Y{%_aw%d8dp5a#iieg^+Z`R51x@yj?9Y{ zFF%NR+vdjUr1#V~y$z{#oE8FJQ{!|K^l$Vy^;*X1?@^ZHbR@>37vr?X9yw0mZxU2W#75gQt)4cX!_7Ux{`7I46rb z*QNhb(gJ5FA;o@Oy%KY7OIs_RNW4H`KFW=K6;8P}V-IK*y}v3IbfNr^afbg9P6G^_ zMp$rqPyBz2liR?F^46r2X6}nUOFFf5pH>Id<;HsZJlIIzgMY}U(R;M`?Q4A7gl~DU zk*(j^H)`I@wv}_X4fh6f@0&UwXea!%P3U{&yR_0N18G0izz!pyP#+a=ZP~UAZAUWa z;{DybgO@tnaNZeg!+#^cq|5nOyBa|k?#prNd$2dy+`A_C<{<`T;@2!aur9>3Z9hUC zd9b}+Fxs0f#H-xb)@Yj>;YI6SX!>a!qZ6M}W7N9Wk85+Cm*QMG*rx?{HD+u!7tVDP zq2HP9#CU47olT69rp5>5hc*6Ij{Y>;%XP^`Xk!KXmHQx7|Eqn-(fb?g(B8x7W9vTa zBiNhA{>>6*8|<>L<^V3+pJn!wvEE(wGxj)hjGOSyKB_Bjdf%rwN8!vppOXpO;8O{s zSk&*qjE2GfNUz7uCh2>ffm`~QPU*KM*5ju7*$VT>sJDSD_PfJAXJ1xgZ}RitQT|@N z0DHXf`?TXc9R!ean(sT~{VF_DHnP3H!Eeeq^3ah{n=5#xkQFZbhvkku0s8{^UYGgR zc(9h?KJe&sh)DbDSnN~iB1$tLmpQgRMtSN(0lT&o>!_&5iN`4kmuDh*^b)-1STWBF z0_@Tz&pOIf=LB*8s*L%}Q+nu{p5eF!&++-;pNgJ51LS~1)Spk;4`)8WenB4vwk<)u zk#>r=ew~AWJ?4K-#rVzGT|RK;9PFHU@MjKuiuTkg9{oMGv5S(|%CF40f%iFh_)zO z$D{uq@5|9Yv@ZzOwVW8T9Y|mZCjnCv79jg#$(LIbDqN zo}`{LWQn)UMC0P1<#2eQBHgqZ4wpZ2@sSEyKsjH>@`vd4` z^6!Y(tabhG_;;tJj>5Gqt0NGTp;6`qmiPxSJvQMj^dZkS!8vcxDdwJi$_>eDhAg=T zbtOWM6kz|UGav>~mmL|Efxh1&`#cb1)3UHXwPcAHz;c9bo<~=Ly0C8k&P~{t9Dqy< z;G90hoL1QJ_Zz@vex6a+(lU=5WjY(Uu`J||I{@EUwhekxrl^alRqw2XoyGc6B#ego zhWz567@y-NJlH@Tkd`3D{;d$t%X8v+@pGcVd3h`s0H4LM9BippEQd4zn~vp9fQJ@u zZdi`^@mxNp{NuR*$0oD}ZMlCL``QpgF>T43G^I}-!q`57-;}rE-!A=r(QFY}4ljrYHh^)$qG9-`KWeZ?RK7K>Pz6MYx29UBF^ zvDl9OOVoE@UZZla*ie3j(hEI%D7{eQu*q|D&GQ>5x2v&^yz&Nt{kke|XXLHM`qt?A zlAX+pb?n&Fgf*cmZzA$mj#qiB5L0&=^FW-h`GEPcSGW@MS5Jedd6wy-M`MHYv2Kz4 z`^<>=oWp4%v@@Rj22%74#D)LNGN4@valpG@xre|01>_z_2yfu(9AF6Lb=(>Mk%yK*y18%BK^yB&@ zTWg%JgmTb-MqJvZrx@i|b;;12r!%&XLyWT%_U*-?-Y4R*p1N)F@}zS`=(EA16l>@Y zW}L3ejz@eQd+HBX$3B}(c(egkoZF>44R{9;e>t2+99;TMXd~;daENtr(7lQHTh=yi z`N(r=hsVG0Zi>jp{&v(GSDR5+mrcA|0dLZ7-5_Ph-iYT)J7@#nVmD}WJ>mtaXvew4 z1^J4uQTa&Q9ORYtovM44unuB<9rI*gt@2!h?|#sPc#sx~zKOM)UMX2cn({pHr!a?3 zoBIg*Lh58kJ--QQh+wJx9w*6bdf2)x-3xJl5>Ii+35d#oGgP$p4M zxpW_BKpav#w#m^9d~8W=a@OECZT=ULntFV(uT9Qx@C;jAmMzEcm7w4DDar>F{o-@D zR(PdTtV>242zOE6_?&-?QZ|S06GLYiX{E9L*tCOJ10HRubWuJg88)h0+QCV>dCu6c z@tt-r=iErYKM)u6ah*&%>fa+x#oFw<(-hAEBee9}Tj&<6Jpi=?(nmifi$Bz01-PL$o1^RRT`)lx#$!nZrQGC`> z-``E;d)&y!b>7T>;Fcj;I_#VN8Q>?-W$nfBIao6gI*vJuqlnX*=cCpn#^>0u7r7<@ zZRkTjRp*ch=)Rr6nSJlU`6uNajPc(+?EAch@0##iO=yOW=TJw261=F5;8RlvUNCQ z>@dtP3^n{{dugX3QSrOt=J$pl!G4E`vp{Bs;{p!@ry$0Z>#?k0?>1uHeHbr$5UVbk zhVu~|*J_I=U{6&h;(e`E9G!dkxgWp@-dKw97Ppk)D9ero7Fnm$%7M-ewV= zA#XFEGvsZtkn;8ujQJzzClAKmyw&QPvz=#oN60d+lVP8Kfx2q8z>a{d;GA+0&*T$+ z`$*#9*3U!z5po&u!{Z=Pf6b`Jl*_kRud6DK`>6vSD!!~76tKDx*U{=!%& zKd9P_J(OjezE!_h0S1Leubz=Qq2iYzEV+t#%YTi$#y9o8 zSia9|@c#a*YJOa>-Px0Un5^HA`ik&(0(KC`N2d&NFcW?T^kyG9K01qoakju1+v26G z^6xjs$QCt5VlNP79U({87pwQKX^Vn$+`;wt{pdJ&9p;Ziax5h2w*o%LKsv^ov`tVx zJO;e_QLKGq-oA#O*(G@{QQ9U0G0rg`z1+1}3|N#VO7APS9o%%PF8dto7yvw;O{2yD z{C@);#{hY~EZ-l(9l7pR`}`ZoUm3uM`xhz8zrkA2BPdT^`gdpOONp~b|2N+61OMz@ zB1$t1|C;o|nQLQOqs?Xbp4VDjLDLS0Bm;ZL4 z4)#;(j*@G!FKls!cEI7#Uc~nbL$*2>i>)?W#w(;js-1Syi9@$x?OOHNOpW|F2EWP6 zA|OgT`vYS(_YI8cig&adhy&?ByuU?y4F0Ug5$wlv@fH9dr7JmK?9&~BJ7(MYR{?w?Z4i%sO{!|gUy;9|?cve;8s9hLyYy2KvuXUSK6REUZ7u4H8K6%e z*pij#(<9(9bAG{k4yiz27F+{opY)f%u+?+8V#*ZT6h?rM+6tKBY zF6$D*)@&y39Vc*pRUG)t1|JE&IC-_YIxgp2$ZGx$;CEa67OjP5KgXuE^4K+;-z4)k zd&YP%?}KRtd&Z9Q*FC`ktkL7V$Qs-WQt?pu9+k&?C>*0>gXxGRSKz)S^l@oLE7}|6 z1%K%Gv3;ek*isoM*Xay-9XbkhbfC?&G3hVz-l;hFfazEZ$n%M3b&IUSJexQjV?PCL zXFH2`D0uIzQ}EQ?8;SaN;0xNDglmQQ$pw)x`vBjKc2Qb|b%7PQKgEao4`2*Eo)*qm z;}E5=3rl+fC$DiQ0Q1c15}C(^Z{RU$Bj5iqmF2!v zTPoL0x%J-oX4<_+P)?Oi(YxXOy0rP4x)Z`J?|6C@cZP6X4P)}BAS=}!8y?)_GCp_$ zagsu;t?M5jTpx@P>x!T+DMNmRGt8XOFBLc+dUd{SEBTo;oU}16hj-|(&i(lN67u;Y zl&1{l-6Y&^$$a}>QMA4d=?dUP`?>=BLZ6y;*y|`$;kvnhC&bV4VnlX@6v5cLca;TmYzob z!ToFJhIxZ?E#^7d=A9DEGpl_#4|&XO+_{hrIOId>aLOR_yc{(T>yxo)lWW02Z<9}&i-T`WH)7P882_*X8oSRV=x8nH4MN~A%HNG5rgkFy z(*@@Q*Vov6FHC{|G05Sqorcs6TmK@Y6?X4(jIV=-9VM%lV}G_82mKU%OP=JpnVk@$ z9SJ>i7;-1@oU+j#yAXMeeI}j3YklxX-~C7$?1y2GjS&guvu$~&woU4cJzl8ud90^9 z0varZto{bP!?;I2Y^!hVaW4$RH{$gH_WtGqujNSNA$xE(VeLhim8|+BaJ&z(vvR~| zzO%wI`eU+Ou)Cok@U%-}h)f6WVw8H@JkIjEmqwVk1hhFECxs6m?~+X&+} z!JKi!dD+I{Vm&NkXj+;&E7&?`{CR!b+=fmKpApP9H4d+FJ^Ci`%(*8f{ewk=}+aLO?6J$px z$mi-M2{~W;RZMJCAR%WDelreMi6{ZE{W_RPR8z=6%fxc09v@KOI?g0$$E%6Wr?zVfQ3t=Sd zkMEC!F~We+5isrp%z&}~U8uw^7eKG0xw_9S5{4)IDiRA6D=#9mMAP;%KgB~_555|*lyYo6@|bhK`Je~; z*jcZ?RDOQnaX#?tZ1U$UvYV}UtrJ&}5-$MT1 z;_tuWPls)5dAotyNsQaou!pOS`%m|$DSv@y*pSC|N*=@cIa?$7-~fCO-pQo+)F=6L zVR3HoD#_O=`VSvR=3i>?qz61n8}-#;+AzzyJ z2a+#ap&uv{Bwu0-DZW%^qA6P=S=yS)CV`!4*oEYeD)8#7u)FAkDt=Xa0MdD9$6`_1 z8+`d5cyyWMOV{#S!Iz62xSPY^%hZol-+p3@4c`0I5ixWjT+7qJi>qUlQL*r#Ih#@m2H{!G8r;0?sw*UNFE{Jdj0kD?}G{l03Ol}FoJc=Qd#*2tsb zePb$rm`8m&&z{M9KaxkE0UqSh^q!GCS}-RrXUjzmdDP8ug)(R2QKbu;--AWpXZv&Z z(oL8@tDdZ6;Xv?ACFV}p$5oj3piDF8^8SN*D-jnTm#gx!FE2rU$|`xc7kJdnyB~QO zr>I0c{HA;}f0Et>`N>0-vqk7;w)uo z=~JjXZh3#DS1$qW%k#o{H;-dp*muawKCZl1>8`5LD(3kX>IHA>l}oTb(Gsht98qgn zd3Gi5gP{%8^d6imu2J@I^xBY!bBUIOd&Jg)r*Er5fy{%hjZJcQ( z^ab&|9*5`8jKga!#o_rd4mGHQZI2-iy27Erz#(9B`gU4z_|utjc%r2^{3(pX-wYf^ z8ueD5j`eM@*89qt>z&`ydS40Gs~Pq7H0l*6Vtr3r>wWFa_1@IddS46IyWFU^tx>Q4 zSgh|JYrSurx!x;VTJIa-dhamm{Q+z8$mfAWvA$euy>B3{}%I{-+8P<9?H>@{W_SHFCIKDQA>%GjVcT@s+`(4G`FB>?Ne-rCVwc_x8LmZ;p z{_mFJ@O~JF_681@5QmQx4v(Ak|0>p3hu?YIu(rhF^A^184_Wm9*LGR^;7tRMy5i>N zq3H{MVd#U7&s* zcIo-}c6Y5!Te#gW?e(mS;&SG$acBkIpwAH3TYfI?4M7}Z{u*290tfDd*kUg&Tr*lr zf`2m*f8@9F?r}L8&?jpFi*`!3OnHu#TFb!sk74p1_mKMJTovDC;9bGT*mwGc2u=ON zXl)>3$m8&*Vf{<4Bd&HC<{!Iboz7PmGWO%F9q@9=s`=ggz#I3SOL$&=G1B?KH4k&# z6GU+RdfN}L)%wVhCORtv1b!@wXr71t3Q#fY^gkyWj^P2u-T;59c5bEG&I@C{==d4e&&-5szCzVL@Qr>u2IUf%ykyXLed)pB08a5?V3 z155jM*Niyk3|8x@C!ge^T?^&@O^F;Jjqvv}rLmt{^ zdBEwP$U~S4j=A2%qo-T)e2zS%OC4f`?$uANqV4x@@DFv$IHa^U`EEOYlfK<>{++4! zQmm^J$QT8(D+*aXEFOItheoUr``Vpk&zS-v5E(GS*{*Zz3o1#tq^I&aiuk*A8Uu0?vZaH6@ zgRwK`qzK)GyGn|7U#r!0vuWS-!d~`U9NJ;5}U z!}^Nes^8D{%=c{c_q^@D)aD#Uzo2jCqi>??BhAx|wse&#&dZl6*7eC0XTl;SUV+zR zeeB1QHENAU-eV$U;xy?Y*zxG|upQs@I*qK@upP^>Vg4z9v3VJ9mG6|ldAq~9=T6{u zg*->pr6=Hb=PfGMKt48ooc&#?-Vov%1|zJMB12Kb|ys1W!R?? za=BMh^Kx0kJV3NuE^#Ek&{fLil-h&{xt!8KE(g(8%H=>S(f3VrosY4$FAlK7ayiA2 z%gMD5LJo)JGU~F(<%=<|M*T&d$T`qH292J@S<4?lX5Zd~%sz@WG^Wh{unC#{4)T~X z`_m?5_FpV{wl*TO@09Y!t=9|;%j_w5N0~kRh?3c+oLma|*B$b2DdgV>$iITvOsrv! zld^J<5VZj*E1k{C$$h9N;A~t@7C=tc#NzHiLskxvxTWZWW!h2qBds*<&N+O(C>sS> z1}XkpF|oHl53Ql>a7mZ_A--20QP*C7s5BIPlkjeS07Q`KL?^4QjdJWhX4 zwR<$$O?jLitK_k{-%n(fjH$Mj&u&hx92_9rb0CZ7LKe@5EMCy4EcWPsHQKR7rnsw4 zre1xcOnv%WNZA*u56Aj?0-yBxVOdOk&PEPn?hq<1EPt)Pr7X^*EN=S#w_S#*82dV>VI0UgGc8uazmz zjgl$ujYP_R&ATVo_Zof|6ewK$(6Pj4F!XC?gnn%rr&;J%rAwQSy&gCA*U|Uc+_sHo z#$n5iJ9IujPsLhg92PNDYaI3w;K=ytn^=!hk_O#}wJ_Wd!Typl*Lf=L_v@FPavjY( z&w$p@nQGkx*GwkqmmsfV-x;aIEc=bp$f3NyE5AP|rDwq9tG1r~_8~4p4Vy?@=b_x5MG1t}iHnc~gW3J$b z`j{*FWu0(D##LWNyBRxW%r!6So6c{Dd73d-|BP5)8tTqNe6hmfZ%=ygMlJtdf9STv z>$I@F7LM&XW0YKwJhY|ZoHO~w+Ey8NwZs~W5MOMIdK-(oieW8}yFPb@xNFH-#$78X z$NF}YMu>0LoRJ=pvDYmYSxLH_P2BSX)Ja)*AO>|CanEb5VxO9U$KQyD4!;ICbvN*+zBShOE8>Be=h@(KPfPKz#6KT0@c2FPK&+E^ z#2R>%=fwKv5f8*7&jycMT8f7yE;-r2qo%*=i^}X+-vri;c;wmCeN{{Aw!|if8FjyB z)LlI~*4LkPBPMw^b)VPLx-Id^Zbsd@QMb50)|bS(5tlrhx_>n8Z$BdsT4Iz=qweKK z-KisDeJAjn@yh1vj*d<4ZfV_!Et+Rk96&wfwdqFP{-LqHFIe~c&DULtIEOVJS=rLM zEpgHJjk;@Eqdp@pI?}*HWFY=eJfh;F(Q-PP2ET179^1k+s4(z&mw0@p#$LLCN99$q zzNd)Cu1I}R@Dby)kvbzfM!U$s<)_7HZ`KyBMU3_Z#ERBL#%S**K8Vr&P2QGwLrF_(-EM+8ZNcw1K;wGDge3VEnWeFuC5y8l(M}d>0v`{T%NK zVDA;|V~qC3CS$Z+aUWK6jJBt&%d7j4HWmvwQ;fE!r}yfvJc(*x5nLEv>B)3U383AOjrEyuFUVzZ$~O)w8fDz+8n&6{>~bsY|HoXOxtpV z8KeE$8lxSpO+<{hB{5om-~WA#_8qjjK1Pdp+1#fYqrFjEcpqc5H`K>yyUI4F=oiQo z`^S)qo0L!XX|gE03~)H^Qsj4!o-9+ZK3k?(XD-tueTGbv^+#lys4qu)b}`!Xj2P|t znu-Z@QZWICEi`ZU_1c1IxFZI!5;IO~#s$j9DqMBoYQ_bQ8#o`8sYgG|)Djm6VLeRM zCG4BXxPWtL*nd=U+UvE6sMi{&Eyz-RKN9WBi?xNESNya%?KgcG8_3n>oIgWn6&1<#& zn~n#yb~GL%Q2ymv#%jL~>!BFnXU1yFf%hg)L*M93vDzOoR?JxKV}OzFz#}eqvSJVwNs>gPN}^% zLOwT))jk5eD4zpO#cJ#2b2wJ}E@QRz@)>nmKDp3`SdiICh47Jnyf?q%UJC-NGoHwUcKqD zDPy%!dg&Fwrwk}LPst|2kBHSmFR56qsguqet9|+kGgjNQT)w**xm?{<(PIecVanxF zNe7qym_e6Em|EoWO3eD?k4aaRe*7t8@+%_vNvVXIn2Q#AdZbci_ztaKJ&;I=haocmyzvH2E$3o|h!x*0c zof};j$L$_DeiQZGGIi_!lBq}kLZ&!t1*z=cZ85$q;=}%(5{@Gee&|Lm6Z&>YguZP$ zcH15OtKx3WpQ+CC5|11EGPv$#Q~Wtvv>se)Ylpa_kwBv(C>011;ZF60Wv3m3$Wt-JL z3Oi!CT&wV;K?lxxo9}oxqOzxw>)$il(qnbX$Hx=`6mGj_pVBXGL7jh-a22QJZ@TOBLCG1IuVsl#KEMM{g zpDVtLmFq@+hx{_$eQ#vEd()U3G~TPob;jx}kf!lS=^c&*huWnC8{6w_J>TE826x$m z-_4i{`~8SKLkD+G`BdL0fq7w=_TFu&x) z86xg(*Vo&3WAUDM{BbVcu?TC9W~%+hVV-d48OXzLeyllKn5xdL=_BX1lWLbDhU|oV znTvROp-770i3hzk!Dwi$ur?9LPIXUL?PG!7t2fU1wC>UhSpb6ERn< z&P}@8__iD06kj+Z_J*6ZAU_Dq|5(=vt?v#0>^sE=8Q+HaVeg*UoW&Q1`62yZiXT!* zL-2^W59e$gG;|Q=ZEa)053qN`{Lrv3R$U&}J1vnRbsr8M?U9o@b7(CZ}s9&kX=t;EO6X?3^-DrWA4|KQ@6`^ z^!viHYf}BYu5eENhEA{6<+e-;iZTrGE2DS(a5V%e)b?ECxI>vJqL9Sqyun30dZA zM3#*PZ}41z#$?$D<6ERGYn&dGXX6~Bw47Y<2<$9V$1MSE$Rk@eDjsQt)Qrt=FU)W8 z-QseW>h)onZU1wu+*{+`)eDg|2_4>7_-=C^sEJ7tmS>!{dM!?Q}F&ndYLb^JH`z?<3w&OTMX zd3f(PeR1N|a4sx-Mz6?@@eML?DiDfy%r!(x4yv=g&GUGVB@1k|6MfYAppBi`?a=om z@ZJNv{uXG2elEq?P-ASVr?xFXzt8I2UMD~7#P5Q6igrAw$c}T0*sj$$r^tqL zig+%LwVs#G$TwX3V%K;d1?7(O*Gi^*ih3%H`S{9YwO4}QtMu3$?$_nI37*Bnc|r4> z_t}>kzMG@*Gl8u9rtsU3aFvs0$m)jg$nH*Dic{GtC$ z9zN3?9_0zo+M`VT5IC7K(Od)cAaNKgv?mkcW8gfrPvK9^Z7|I!+^epVhJ7Bw0A3W!VAF@Q0?uCE(FVK+Z`V2??vv8J& zGkD*2r_Hvt2_Zv7d+JK*iQn?OSAP=eZk$KB8t23kHp`ab9qaa& z#^%)Ew>+Z_&$}KcF3I`L;Z%D@1|i)mj~%u=#&1z;DnR&!fCuY@{_eO0i;Dhrj|J&HR7q&(Ro zN-yap+&rVcPkaA{RLJ&sj2H#=$m%Yl!%omc$#s`L5p`5#H7D2I`qi?nq_iAP=x5pmrM;uZUVtnmUe`OcUDaMD_ zKdXBp$-~^I9$9bO19jdlpmWWY4e4bw^mWzg=IL|1-Fd<2e%xvFqZj>H4IN|l<3ZqC zgZkn+`xo-eo@(fA8|2xZ^F`4mWo^?gjZC)PLX0vQP?`Af??wWjI-3ODG7N)^Vz_(0bpTV{M z4MmX84?zYoeF}7%k8yAc`t&O3VvdP<`9^#f{Kd9B$hJbhOoCm{=Q(&j>cu(`=w$A1 zc{Vny_AuU$fPPXj(v;f8y-QZ*AF(ODyhiEen0An*UaUW%UV$Dt4q3Pm^>#n3@>Smz zyoz_%7XT*D9Uo}K;;8R&W?Jc8h~*V@NLnu90#}Ei1D$b$b^6CTNU*hmBbYTJNhkqDi+xi%7yB2K=;hFEc8t?iU?WGN3wl})1 zYxYF8^#jy*6!pA;_VEm7?`oV|T&?m1!Kb7jVX>X#Wjm9lUGo~+Sb_7^edmHcgQ2T| z$1~Vh%68(+x3G?v?M#$9{;1K;KcUV8=m*xT{G=qk4!#rn1npes1>H5YxrfakI*xN~ zyJ8(}ci60mbIY^Jy?{^txC!H7;=_+@+jGaCqU=PRF?otQM#dZXb2g|ci+Zl0I>a=T6hBV7Y`VsK>#reX`cvItd+d$4<{P39a7u7ky-^1^x z9IC@UAj;be>>b{hM!a}7phx!sCeO&~f>hf4m={RFZ^{DVn~2|Q6U4erS16lkNxDj5 zZ*F_Bi#o4_uw1~GWt^w57uYFYEx}$^ftW%b&Xa#Oe(<5ihgxkLvK@F<**tE265wwJ{O16F3E(@B zk9$#+t?4=$r?StQduIo;ia!o7f?7Qt~pUI=EU5ZC}cI7O*Cm-B}Gzi`luwRsI>(giB9sBMM zq@-s%z}o}3(r;`HJ&k&V4QD0+K56HXeeKh4Lw-e9pB}=UPYNFH=ED1<$Qz6H5bgv6 zF7q@7mwC-N#qnD*v>@h}7*pY2V|_pzZv&2`KimIH{)SD)zR7#HweKU;NBgU}zImsU zIgi`W4n2(aernh-9@sGD78?eaI)pX?{;RlCXDap^vpwXue!zio*S#1+E3vmq81@M7 zoDc?&?7^IHv<>#k#f|ewCC2srYzO#3oednx6OGY@W#$`YcHmqpD=*gDE;8PSySyOB zc-I|id9H<)2^Lz4H(UD_wSbm){ui{IZqO0~x1N^!!6#N)R_3a4dL~-tHbcwHP!HNV z<`J~ddM6NhCOs)OC-YTR2V+M;b_DsB*^k2}|4fy2Mjh({ueK?A~@MWZZcqaPBHbdWk zfUcx(AEb@(Ci#*4`7ypzo>+NvdC%}zZ0TKNp8^hSDS7_&h_R~gxNeHFobw5L{s(vE zy=kq(l=CgABWjE_CGTGZ{K_WAcb&tr^;B;WIyo&?3*|etMZ9CqVw&OUrRq zE_DFsaD(7Q#!0AuAZuhSDMQd_NYw4k#&1{`jQTg2^B8IJ&LX*H zBo6N@if;*Ge^>{uy<8TL`0sY1<`$rP%=y_mz-GP>V5PUSzwU(nm<+q*W}Fq>aj__s za}oLB{D+aBvg|6rT?t-c*-o~^+J~`5q;OGDus_Q72mbHdogd`de6`o&eX7H`yfa|& zJo*=n`kXf33o+R9UIE-YVNZWg{9cNf*hTk@eYywkBDwGMvf9qDsne(R=zp!v|4N(F zS=)O~y9mGU!|&1Z_wsmAIcD)cLts9&fxkkNOvKI7z7U_fxe3{ z7sR=t6iGJ`n$SvYonxzBUp3gj)r0nLv?tf1Om-s9Ky%q^)^mNN+fn_RD45&dYR56Q zb~EC2xtac24fG^`(bh8Gw*o&MnQ7B%s7DIt_7~Fz^slog)uzH;8~|TxcL)E$!B}&_ zm?+0Q=aFgw?mCixN76*;BgjKvWiL{m*QjEVJU5%? zkTd==67`Khy|~vWcen;TN;8R%!`{gKcf>`FX||^Z@ZTkTq#W1b-yVI7@%|m8#Eaj# z-_}Y$)KNMQbx~$6wcARU;eNsdoH0GE^ZTn(#YM~FPi1Z&`Q<$;dK69#j=ZpP)l|%1 zFN4g!Zed>VS)5_Sb7wk(_h^&VIxf=Nv=XHOTf(w7DEBbR^(>qod>G~aXcK+SGJE9x zc{sDLiM${F7~7BVplc=Ex?;@z-);kK?4XeYw8A~3i(2DOUR&v}fpZCPhD=&9uyfU_ zm15wsf*&)tJ5hJ~w1S}X!tJXnVnp8{`j2;#mI3#riLT{6F7|8bI3sB=_&y(hiKj+y z?}xumHcxGym~g@`#-B*F<(%+?XX_k19~-&@GJy9)eF>TK6=?Z27I0R)7o zY)T`J69_IW3L>LH9VgwWqXIH0N&v@+%ghM4k23^hFc3E&V#3z{-*fBUeE=4)YRJn&sScjJ~!^`SU zS*gdGT=5^|L~tX0n%ps2eSL56k_~=(Aq!an@MY>7q3L|^GtZ)FLA&>s`&9b;SZFgI z{PZsvUo#%s6jQG%cY1Jv;HIT2zTjM6U?a5sPTo7@op*WfFu;3<>~C~!2F*&KZ!_|E zi9D_?xU=RZ^0*e734Vlb&|;7sKKZ@&`c3dI%2=50_jSX5Vo@~piy{A;xWBdLc%SX_ zXH2V+dmpE_`)qkncg(&rbkiZ~DdTFbZxVuk;Vq3K;8KjFeP!q(59z%|!hD&F>^*QF zI=rAJX!;p7(y6euvXpZ=r3qGT*3#c8R2~w0Nj!obb?R z%PZmEygj`F?PlIv^9^NsRKom?%z=aOe+qq4$!j@>=cChpgf{ZK^x2%lG5nTwtWqm4 z;n9qCpDZup&F^T+BMi^M|Fd}JZQU32J;%w-^!nJ{%+EzX?BPuiSp$%@Rb*z3-|8pQ z(I;v26R-2zbBwjsV|~!S303bk_Y}KQ`yN&o4?WB}@(|bl`?kw^XA(G)^>E3jNY;MQ zrFI^H_T1%$O!p_h6vNoxZ)Ne9HzTu>ZzB21m?_O&_NAv~*_Y`})YfiB(){QoZ!nF# z0~y(Ybm-;7Nq^e6AgyK|G)%?Mq|BR-ht@`Or_l?@T~FSW=m-7ZpHWa#iH?nNtF>wD zOUrwA^O3vvXXMw6a}gJ<SGU1aX|I{q!kLTl6O=B?q+@#!90yQ>rCFVXMQGqq1XUFF8c}WGh-W8757Tfa$laN={GTYt$Qxc*X@2NMCGp+ULg> zJ)geE9MAk`hP*Qpj6SC4E>d1U`qlB{3TpZpvB7cU(rf0ScRk2!H*0K@iC?7WG7Dua z^)ve+l`fqhcPwq~Y9yl1+XOSH6Z-wthvdC4*74@Ew^_*=P|S2a{-IB`#y@SVg1oi0 zk8k~^Gv28i1GP2Jm)Y?#5^s)!+E!&S&fW`r2JrppYx`QdxeslVHADK{y8NWS%?KM0 z-D~OR!{}#w9M_F8TrTd@pPF=)wViVCxC%LE95Se?iGR>IBj$sC;8Ny#@(x%P^XYUW zHbZbL>x;5?8cSL7t+Gkc@}1Zcym!3G6&--z%bH5M)!(Nv4tt(_#op}-=IqX~Xv#6Q z|3mVj%tbQ3l{Tg^cZ?zrJ-*4_ZZOBJAU>P=Z8X;{BtoA6@z*!&)g7v*iQQe@4Gd}vwr2HyskBFp_8vRphfzh;0X%UM5% zgjY_ULNG3IbhduCe zG&~&xZ?iu#vuWTMYw;)3y%p9wIz`c1_j0~yeYpM|Oxz&foo|DVe{nX8tsY*+x&QzX;SvudAr!SBv+2_cj zjUtzwZMo`TESyC-HJly%nY(e%;f_>uPlR}pHQBQn(JU&rJuub8-HYFtjCFFzSZX6O z7A{|%Ecwc?aq!`! zvSs#B$d8Pl!evX&=%0yfnSGR%hxAk7vNg-R?3t3VZ=+md4Fq?d$}X8 z@d9t&d*1L2qU>eb^Pcc_9AqwDNn2#T(u=*p0_O1TuodsA80#>`O;^UMDAs;u>|^kr zgxE6dWSo8v<0$E$Zl^yKn^&+ zn|NitExJBR>mq^CcY7xUYpix0HT{NXPiuz1Q);(GaUS`dPj&gd2+Q0+;&y*hA7>DE zvNqf8&A06K*^@D8;W0d`q`mSxjWrg*th8}im>+913&)@p;aKhLV8 zwCk7hme|3F4T|6@pEsJOAg``&$+_tTVGn}F;K56yOE9Y`=1BfqVK)66<01b=9!$AuDirxhnW^&aa7LhB)vQv&Z5 zl9!wd72do6xM$3@4Q#my%Xr}s=MsdleqQs0;>P&X)~Rk&r`q=th<a9Jvi~es}_Wb2oE2XcQ-DWRG$uyra*{ zCIo-a**uvqp#N**u~#oYPrr4RZg@WE37_=`pXJzC$Q=k;x5fvb2WLgpLHe3>>d=Qh zwP@zGf|u|%Z3}BtC|hjucu(Vw2;?^seH+Ett_gD=59 zxWbFt-c6sw=|UaF&b1U9$b;OIR@p&p6YtGTls!M@aY5oG53x_J;+w$Eg?7_Ctar#- zG;0a+JKw^;@MI^^YrKoJkM-IDGk?ZDNy-?BjfSil zIoo)cJ>Y8Wxhue1Pi!;aqt6pL5t~Oji*%50(zbofucVwgTm>ZVt6xZJ!Oa-+zZc*aqx&; zufI|+spo^%H@iM#smlW58q+ED`h;;7c$9l6M4t*iE`ygvr-*!sP7!&r?Hn4@C-Z2B ztxs(Ede4%t#mvX2;ZoeKtM1*rYoMd&eY z-dz2A7{6yDQ>pM_!tu}==}XF>t?=u;=-z{@RqsLPmM8c!#kTfdcv|B65LW;{XMmsK zjK5czb&RQE{tiDU7N-e6OJ3-Zz2J4WD+V0QUp@|={uDk;i}zvI+q%k6SvdulWlkkd z;y1dmlO_*Ye;;1=E+c2D&>3P!asl|RGG>w|JwpjyJUKEd{or?u`$+ zsH^amQ}+hUJflA-g%^@U_aa~Y$ye3|<&COc$cT(FUV*RYxK&qs+>k~4<;}zpeSERS z4==$FQm%*oA&R(CWJKzBGTRzGu5KNy=B*{+S&?7CmD9;sWR!L8U&hfw2Z@^-tWTNx{7>grP3%4=Y;N@e^swhvC4_};mzZ>Gd~Wrtj?af{Srz@{4y&JxTV;HHzoUNB ztolWtqJE9(MH_d*v%hri*M4+;9lu1UoG=%%=6*x0dfIcpRI6>>-S$|se(pEjYR6}$ zfAYECuZioC4qUHo-uPUogVhF^3!QD%@nzF*oEJjw#_n-)1vziQ*&-v@pR_5gEg1bH z&ASnMS^k!Ok({Z)9uRpIn#lUcPF1n4nsLid^!Y{BxMd}}OYCOtz5dNg!^=ED)-Em} z|7v)r@c0j}&q2o(F<$wpgOn}fzScox++637v8cee1Ae7xJJ4`^OFPVQoL$bt)Jtq? zJ<8WDaOR| zeLIZw@gwoiYU3Z&jP~z{G_3dxGyb9^y^kVi&UgIQxGS4+-wvbGco+Uf@%}-N-RF90 z!F|1+dgj<;RR(b%8fV2eb#<#FSO`q(V{=J$lp}drW3SC-&EYD z6SU}uUlzd`bDY#YRvE=Yhi1@xqeX{}Mw*H5<`x|`T6EZG(dR-39X3J-H+|JcBV+t# z#w-^?hezw^@MzU0;$AeG$9`*cUL`i`in;4->|2Bm2IYS3ZVHdO&9egXTTv$&=SZFG zu-%`9>jgPyDf>3gxt64}=OjM%bwmf!znS_=%LDKH!sj9vGHwfBM{8WR-N>q5=a7DO z3-{}N%3NeEZaZW4xTyMj_Tp3mrkL0oAd}U|B$azK8(Njk7|iUiOn7~cNABK~aRwc^*;e`9f$x6SI_5B@$PUv9_n2v0 z2j%>T#zpJk!{AFD4y~2*cOP4039;{J+-9jEPTb(66nuEIhJLV&`zxe>ho0Ncryr0p zfkFRU!Fuvt#YBKZw(FHUdbGKHuJ1!8Ov{{Uop?^ai7M= z^exHxGc#rEC-XAqZ7PT_K`i?BjeqipN!xfWhD5-UT!99EnCE9E2_+sR4Tbx#@>>@zI#sAY!ZXdkk-UMII7_eyUJ|VCyeCcEO+t;`;vt|^y^Ky z+m3j-Ya!L$^HZs-;6&qa`stFCz^{a1de`HS5yl2Y4+>@3Ve3)|c zxWi4(UM9egY2ZxgCE-hU-`BBVr2IpBxZo(+>1 zDb5N@`#hWvEW&Q2S473S5bcw;NxPnfzAK?^UwDi)poQ(=PuXk8qmPWv&(BPcY}1Oq zduva_b=OK{<_Ng%3m^A`FL!n_%r~hO@q3|d2KV9jv*3pV?`Iw@{eG(SjjX##T`Akd zx8#vQS;LWqzRY*!OdGs9L@8Zg8JEg^1eIb#2c0Y7EveTCWL3_k9ZhchjtQZY+)L1a zM(Cj9mYUXd>3K9U2wNmeg)+hU8BoqfkKy0-!AKrw!GQ*r?ol>AC@D-0c2S0Se^IbjG+uI zw~gF=at8QRi`?G+=(joK4wEk_OZf5-eChu} z=Q-!|`n*T}D@hyO(vpAFtH- zJNdoa(kI0QUua?88M5tO?#h<@+W3dp2lC_dOV`x<$ISD-)dy0_ETBw1Ao5z+$&1l%X@GSc8$;K9x-*TYAEdake*|XoCG{}q&4q3FHXQ$BdE48{XW+&4 zFnjrC=hF??o>o2=UsMkx`6TmgHhw<(PLFTenroVZ^CE0SB~H^Jp`H%(J5%XPHGHDE z<|k{sC4*;h-&%Zd5pPJz{6NMWvL4tPIxRNyx5q&VX1rcQO*U~aa4VtHbHE9%gdPu( zkIerBZY6oo=J&>Ip~;Eo;Ezsvw^a0T`z@Lu&!tRTPL5@(g*}y=xtO!Oi*9Iysy~ZhKEfLk#EI{eb=OBa z@0KwtZdbVu%i3yV^;u)pN9Gh`s7n#+ZnDQG^?AmsPc&s*D)sTJtNJ9rI|@j#GH2 zq(<&EY#p3p#or;nk?n9fwC{#6F`&D_Xd zE_YYJYlA39@MA=xYpCO~nVU+717nYC!^fM8hh_zqkWSj4H^S}ZE->?6r~Fo0uB4xq zKH2PpX^+g??LN@HbN8R0h7!&EPt|`}eX;*`xA!T^kp4^h;BrrWIjx(j+VC;KW5BX* zS6kFv!^wEStWP830U5gqE~G6bfvDU(=D*T@!IQ-KUyU%=H#fZ!k$Wxq7L{sVR>z(x zx8dyc6@P3b{RW-hz`u(0Is*3&5nuwZpmAG2uz1-z3_9AC8-}%hc zSF)cY{eaBT;)Bv>p35CzqI0BQ61cw-PI1Roc~(Ee_&cuZMaKMCC7)%5QQcs&Ng*O{>X&rrmPPAba^GWV&91<<|_4wGn?w5NpGWh)h z{_JSA--kayzRT}se5bt+%Xj?QE%}cBvV51{@q7mlAIW!o+P2?^-;(`7xqo!_*?eb> zrYFC}w&bjK+K)A2S3Sh<*~VE_Gy@Gqn-<;=t0 zD=5f(zhGQuS;2$`byv4}FT3D0b?jxmGxNBIb*Jpp+m95XXDVfW-^69gp87*X?oRrs z2N*-im`-@6;-RSACc*Z8)NZBo+Unu_#?=G$cFIeal#v0VgJ#VbvE>? zz^r{%cn>{Gy2|sj0@IE}nDe-ckvTlQLA2%?=IGM@M{P63UJR* zX8QPo%yi-7v*GFS<1*6>PcVJ_crz|z{DjQt+l1F+h`Uq6{a)ZEns6S{rH`MKnZS9< zwDFV43t6elE6>VngpQMZ#*fU*7(dF4?<;U-UZX9zF`1HITk<+G+z6fdIINl+VKJT}{$y!mlHHY-%%Xo+NUF-XORz4p4`vfDf zn>gXC?f50!6SdBI$L|O>0n+F9MONQLHqO%M|ubL2flqLfA25iLEXPh#U4uf%YVuo zyv`;;zY8Y1{hbFiT!95=-lf18L+=-y+9v8`dg@H$A84Kxn8Wy?_Ono8_6dV3SIFZxEMFedcBN^pXOa6<6_@>SH5q$7aZ!bvA!Qk)^Qf|U39@((qG27aw_&5 zV;J{H-Q--QW2<{im0Myb9&i}ma+X8&)uC%lff{o6O>qvxOgZPOg} zI*?eekHqF@q6H`VN$~pxze`v{@u*i?rC>iTHW5-*<=hdk$?r~#8!J>zS2Zh-J6U87 z-FUrZO|JTSSx3?9auu{$)`ZzdTO;*)1{;~3y5MXR<}DlcXig;16OZ%lykRP zcGhchXSGcm+iz@MQEksF3N)`@cckImqR66?&?}kyKN_1`q@x?6YiF-se4d{F>;$%M z{xeCB!FCZBKEH5{)n#stQgQ7^>hRwQpK{L3SXk)R_4BMiC1dgE)T7%<&+ir}-C}Gl zb$gkwb2qV+Rjco9Ur9f!ZEq5|i`c*I+gfPTN_7<+Pwl1GQ1$(+VxPmE^3XtJL)O-h zAS*JqlspHK=Ss>DTDg!5*?aCs+%(n=Jm@FZzt)H@yv}N;UdK-+&m_jA-r)CDp`}^u z8F*5BwXL})PxARauqEU<*i4fY?1n!aIhK5`ApB>($@l)&_e=0u!&vBScQj`TKYCTa zl_P5?GFOk|UUc}HJI_)~e58}k|FVYBV^`hQ0JxC({-$V+k1o(L73ajqer$zBN9sEc z>+#Xttdr;zxwBBl!b!o+7Oc51!S6_5a(I4B;80K2 zZQZVga@VG;J(c$|7FH&!+Oj^H*QXxly^LF!ld#59emj0Uc!@O~#hOkU^(`BTz2emx zHeX%EwH>D?CYjs2LtQOFOG5rFVO-wL*^@S z!6*syW~YSR5`I938NV$l;~htdKL*aq=Iiib2|uF4KTCL#4p&R~300e#smtzSm0js} z1)S~P2b|2+%9c~l-)Pu$U}fCV7CaSosK?O`V9ojN)8u=VhCK(^3ig(yU9!jF%zHcV zqC3i-rB2p6CanaXwRR^S1pnp0iXJF?0eW@Uc{c&JEU012Uv8N92H-2u=Vhx z=%R>Rui;x?)YV6Nkv-XCOg7is6gufC(hHuF7?=Hx^Xk2B(K=AxL6Sc8YhdNB(M)7c zWbACSyyV~$Rvr8uqjIbHCS{FiAC>z(VVO(RSTZW{JKII&avs-QOO-k>4qw8-q}s~Z zUIEYLQZKRd(rc?yr+dg-Xw;fEyN2re_=aoz$Qy^EKV+;W^=d_4lIIlC$i9>(Qu3qj zjQM1pvFt)k2dT%i=@Ge`F3`W%v*xvv^p*6D@)oj}d<4eRBOFiD+#}$YAZU| z=ixe^`BW$UyOcbHH_UYH^}fY5QV-(FHme5jm45u1uXa3LwA@_F)o*DDJrb}d8Vb(~&Pv-veh(x?ZrR%UM6J2-IdeiN2Cso@9nIG|h@1=b92S&Qeu5$V3aGm$u z9)|yc9-faP0?D1}w}x5it+~dxq!+zg`gc8E@#HaIrH|&q7n6s~{SfMLI9cXGI$+a2mi$G3bpS^C$pn7K`R5KAYH$Z+ zZ0lAjEq!-Y$ek|je0Qa?j**h?yDKY&wU%|zHc93J-LX5bpich&RvWGP z`!m!>`U)qmJ?($$b9)dE4bSx zIETi6;kV%MdT=QGY2xa4;D|oFXs*VYl=%bwr^!dyQf@i(ATyJ)MLf?U^m*l z(;X4m1z&s(&*pWv+7_evImg0nHS!?q$4(pzKYKc|PGa$NS+|CG>1N}3O+!5Q3CDA+ zwEaXp`!gHncdp?1H3yy<=SVuCleGD^Q{fpKs&;AM85}i+=RCnPd_2v>b6oHq)At4o zEPP+>#P@9QyxkQjnu!lTO4*C8@k(k&L;TgyR-psRvo`58`17YXZ0}yuO21M5$NDyl zE;z)QT!@eUGf& z+xoKzSX+PYAbc|Y`6g%01#jDdsfNezre30-^38FGj2*2#eDs0r;V+|q^)L0+ZXjJ= z=Z3T&N**${C|IHE&;25`(W!boQnb&V`}I>gUfy((G7b3bZ&EI4e4QHRl})_VgOkhV z8o5XM719KV7ag?>U;6qZ@Vvj9x?-la<~hx@i%hOc@2)u8h|N^14#?VqP;cL;iqBjfA@vVMR z@I?PIMbfox*tVwRVd81wiFnG{37#H15l?faT*@m;ZkSgs^$__jdbA;)h667$cOAaq zNyZpum)7HHx`iicci+p@km(k#<~?lTYJ@A0W9AVT6kRHK>uvr%5jTILjWW)8lkwcM z$7DV3M3{Dh2Xu(^1%j`x_`+{raAy8gcr5DRGUxLq-~G;4dk*=eHf@N5KZ66oXZmj~ zd@`4@`L6s^ckXi!o`}zjC|}A|u?_S319=IabLLw3WKH&<)d$3wb?0p@U<9WX8S08@ z7T-mi`1DrEnO?zl-%e`CQ|o-S)3epW0u#61;=O(gw>P)~`^iJ-vlAS&M>ok@*Q3Pc z(NFD^ZynV7Lc&XKVh*f++?G$@yVKp9J``JC`0uiBLQ74$Gq&98ZkLg6_^_9ZUe$+w zUTmD_J?C0j#5p_G+^d8x98?*yvx9HFyr)uw8}}XQ>96A4qLb_MJ)3;fIG>j8R;^g? zA74T`(Mi5CcP{6{;~Jwa2F#}XY?gXcw=%PB+*gfX4d3KJW2vjy^6L4f$cxtZA}?|1 z6;obj`)Xg1ybkF-3VUtbM?ON|z*LLA;GmAae|6`Mvf`b3Wu25wnzEl7=5+z_`BN;~ zqEo8px=p>Zn0TSb1NcH);Z2otB7Fml9iN2PZJN%Xtn=DSJ7dm8ztH{}R$i0vrQJ^s zmi~`<%azb-PiX14#L1k%Nw=}*Xu1{6h2QBfZQ2D{#}*wdIw$Sh(9$K$UnQ>^@{;&Z z$j?cyGUlNrU+XrXs;^ks5}R}Qp^~>HgeMpW)c&1$iJUDH`yt7{$ip|v{g&~^4Sf5S zHe$OICvB3uvC<4*?aizK#+}W2z`^^r`^QbIxso~@7$QDy54BvfVSA}9?Ll@X?Nu)Y{Ajp zanwhlALd%^_^0Vx?V!E(Jn27|`D(AGE!}BLKD=jO+x+}W{Z1F-J!^i~I{3Tq^}cuK zqf0cL@S8pMyU&6U|j?bK!-&6~3q$9uGzqj*Cs>`pyf|LH}Hb89sD@EUnj4vmhtS#I19{uErWn68Qp&a{` z9hYgi+OYh)oB1c1`PW)`H(0x#D{I%BfBA;Ke$g}?|kM54@uYv?0tan z{StNsehOX}*!k?WfxY99ojmr=Sa!O8NAsUQr9n=4;%~Dbl|5N$nqW=PqWxFLagP z`Lo@oE%c@2D{D;^?;Z$y;f1~aOJLA$-Zlsn96nIuovu#oDZTMvfp-?eW2OORTazG z&3Vk<<@+nI1Rp)4W2#1g?<z51MP3Ca++hjlAngflm;ml8;z)|`id84c`8!f@ZA+uc? zU!QXRTJICco?Tq+_3aEDpE0ub`)J#poH4$TdsZqE{a0OAFfntZ z(R}S$q>5_QXzTK4Ia1$xH4&k+^-9O@hR2zKS;l zE!gp#&zVPf@9$iJgTHeJ(racf>WPh=|5ENSit$Z-MKrTv*xFV^q!dg`xrJVw!N2cs)oA~m@B%~ ztUGjpe&>-By2x!pun2sM>?e3s?P|VVnOU>0^fv>yw{2GT<)~P-HQ&{?*u`DDa%NO) z(Z$B`4?h2(Z0I8I;;dv1(|ex0n5 zT*+I!=!gnvB>D4x7mzforcBvWl72$= zkE(g+NBUXbm^Aky=3E<@yPGspA6aXZ`OB50ISh}MT*4jVX4*Evp2SI?D|-lbUK=^5 zsxDfv&G-Eu4*0+S+kw1q|8rnd=ZCk=dFjOihX2@spD9bqw#yp9S^lrhvV@o8gYC#m z_RKorn|(iJo=aHdT2X^&CVNjU-4{T?aR8>>y#~RHs@ZnEg3qAU6#D>ee?(H zbD8T^rmD3$U*ESV89d2YTkO4OHdAYEjO}$Gs~vWr^mWlzc^_AVminXhzJ#n*cO+i& zK2E;=&I`8rFMRPp#ee>GpzOnM4~%$u!L~WgOAZ)$#}2$5*2b)CyN$BfFL$o%HXg9* zC-aJL37hTZ`yRsGJ6U@Qv}3PDA8AKvTkdhD{_;+FMO(F|C-pYYMs|o3+NYhZ)}+#g z&&fmUP{uBVhcb}d#8^V^zb@yu;CLH8_qnYRdMvTZI3oN)9sa^Mf!%_ij}1b*jlM;* zu|r7b963Tx35~Mtzs)B z`H5Y}Kozwphxr{-l~g|;i`d&H(t^x8e(J+E5sgiZ`T$9K8^<{8d?ZsJZHp_$NP z6Y)Zer|@MwRA2HJ=2VcS; z7N@$_(ek%{J5ciBcL#PZcx0Q=Ow+P|7%g{pX-Lbv$wP2C8((-$XgQs*>>~>vrxJeS zoO)W`Lw>@eLd*P?YOTkjWeImWq(I9}*gr~~(6W*^1ue(a<>w9h32Qng2Zs`tvh(n< z+cfFep8SRGVlyG-59XWnIXB>YpyM3qm}1fK5aYYO&AE$-`@#N9zt^K>#p@o6mZGbp z!RgU3oc0H&(zbA%b~DTI26OShYO1>KeU5v+xg%2MG+rZVRUdq}J9*W4_|rL~9*eK8 zTQJCX)}N*r{-c~j@v`41@16U%ZM5zO68+fQ%r`OE&h!(4Dfl;cl}p6`l9-)q1?OkhH6}h1S~R_i#T4ybpJ){qZZ8b7x|k zU?;Q8_~5hPRN8#x-=Vd6^sAz4gpZ%zhpuK$AhL%Y(0;Y@$>mFd&HFmER(La>^iqa~ zPYNyqKAH3qC;5L1tk8yWnhB@%RzQ|mJ~#>;2a`s4BE>9Y+4B2ISMt4-;SC-o zTwjJaIGr-EVXG@+yIF=ec))_wGU(OvK^f96DdSNqO*l^MI^~kS6EJpq4yG@e6_!T6 zt*a|1Ik=`S+{O&+Ia-@wU+Wz#*?U<9%umqyCKK05!9Vib?n^qm)RGa$^d7hHLVMQA zJ0Sa`yRmj&hqJ`s<>aUHP7DhEWt^4G_c=%GwA_w|2wN%KlaA;$e*ud;jMc_e)vZS##W(r2E^E&FcHz&kfzDFCCf9 zdYdcUg&te>2u!}`bp&dxgFRAoug{+rjPg-o86}99-*g{ zIiGs0Rcfu+COk;Eti8UUQsAV$@9UuFN?lUtc7) zr09l~k&%q)S_j>vlXXZftMD3pmW_*~eg~!8^RP?eJ`SnZD%z7rUFCkb3i>!nFLREL z=q<@x?29GuiVcSMA*oM>s`XgsdlT$)Lcq&9X=8O{+-b_MQx;7-xw&#azMf}3w$>Kn zSX=OC)UPc}q0Bk+dj-lY+6&#y_Rm!d@3QH>MQsf~bG6CUJMc04fuH<6E3lq63tqRF ze(PWl@|6DMR%s9T6^Hzde`w!Cpja_B{?Ra3T{dacWx{4sx&MIP4Q$iwhYBVN?>xSTVXLbH;e z^q$M5)K~TZ?elBSwm}0EN3FADF6IfYYNTyWc)_b`fxQTDdA#S+Q+(`BY+PIk&BE>H zB@HxqNkyoaQU~@5z@YR1rKTH zN!Iad)0*Nph4$3-ar6_|uWe(M(F$Mc{y2`aI<;|Dyy$#s%VM0Lx-~cBTL+^|U!Q5L zcAgiYP3=8pSEbPwj~5%2B86#xWBjA*YU3b{ItdPosM8O~VZK=pep8n!`E8cZZ|d+3 zzXd-weud6;yha|U<+X}a^V+lU+9r$F)NVCNVb3Hyr%d}Me-DwL_BQWTSiFZn2mUpA zuZ8A4m1yn%z-LlNaho_B%U!qKio}Q4Z5{_lgXH^8;>|qZ@68f+@OLkM3y%w2p0{D% z6=AZy({C$!o3Tcl?=hEo=4pbSGcmzjPj(zS6$v-S!{5 za<7WSeoAbVZt$(oQAJ&)+-Q->vwe$VkjWe)ZGNiZDVBHxo)*~XzFFN0l&7mJ(pT$4 z&nw{9nRU0$_{Qk^2;Uf%-LA;~SYYI?g*RUfCC&ln&i6x!{x7Y1ec`CrC$8K?>Q!OI zwR3#iyxo=Cf^U+~x#Xj)Z<{`Kqz8sOD&z7#*KzF}-!^Y`v3Be@k4!y^z?+}GuCw^< z*?$uMJlcwHw!yMrk~UmU8yXw4Ehe8OBU$qTul@ywmrIDuv071v)`|6fy&fM3o$c{g z?|)inlN;%W?fXIU<{RF7$WwHgCr#%mV?oKcwC;|Qc;-Q>b^>tB18dXTA2DqzTGx#; zL{FZ07mqofaG&Cy6zg1c*+Yhx`4(ep>d>)a9V+YUpzlfP51gzGl~9kIb{aOGdYI#* zM$Sd2%2@3Bw^@(md{MUC>!Ed)?`=)Pnaoe*oQXLmHrH!39+lA(TbPD@;XB+X+%PYF z?^p$I5Ue-t2;+k5EPFy*-d59R36D2S$Jp=}v#bw1T!|Sqe zSsr(4T-H!m8<(YtXNF6&9*yvm@Q?6l-gLvei+qKaAZ>?d3 zoiTu%-FJuKy_vjCd5>&Zhj5x)51h@T<;I!OeIGZl{Kb;vqWbAI<)xkLM4$@2CI7WQ>#!>iYpJ>@jOP@H| zmh-SV=@QNa3VzCR4ewt`Cp7a|^{tl=J+`#xr00DeN~|lNIs8hyJj>o%${S*r*NA?z z`^$=fhL?BSO!+DLp&^dK<);KVQ+_HB|Em3^?^?q?dpdO9T!tQHSAH#c%Ret{04a+y>=OHaWzp={p zRA`t6^0V~R^7BQLUm!od3~vXkK1E+NtWP*yk{tNR|L2+EqmF+W6Yj^3QRIhvDopuV zEIwn)h2mf6t9=yTlqc)Vhw%3bhc0MrJx<1&k2BU>I`V3>ANF(E$`9lt>rEnK`Jd~0 zii{=ZxdQRbLj}*3Gc=xe16%a9=5?88###M&=>m;oq5sL&qu9$i={-HR?5WEQ?+272 z^iTV^A%4SUZxe7Ld*vVgy0Vvd3Gz?g!t-e#HLOE8jZ1*DdA{<4Go$gD%3jF@hPTM7 zN6x#auE+h3dgPb?f_j`n_EIwpZ@yK&$I4T9M0i7ZB4?cDiQ!h+Y47NAow8Rs^VG6; zm~-Z5ijUOu3~z6%K9z5s8Xw&q_$b_7P;Je7I%pFSaJTX7XYaa3{b7X^g zL;GevOiNu=sVe($9%}${=B+(4m1?a?l#SMT3~|@vv@spvAEn_gXaCfklVoLei)P<7 zjrqEHUl#8(NgMJ~4KHVR^*LbZUiq5FqtHKr`=h=7h=qA0bYAVr%iKHQY_Zrjd`7xM zi?r@Y<>8J``CYM`d1cj4WrXbkZ&8NmjhvSn z@B`rqlwl{FMwKMQT-J~BOzYj_{omA0Nc#k}}&=(?2jCY}=v z?<3TyGOXUBdnO>^o_j&@vL2?-K_5y#iqNMw+_I2d~lrL8T`+{ z7ri8Fgq1I7e2A`=xu@)D>^#XlTJ{RgSRPv%-aN_?Jt=yjbY(q%G4*Dj7E>8C~alupzv{?I|v~R>REz zPU>miR|(vE@c5PRdtc!0aYq+dx;z<)(dtsaE2&t{YuL8uephmFj``cRiIn{oeaFGc z?lpYV)@hCC*3{m*K0~RG$X+zEm%&=uU?Y9L2V3X6yeXf&VYI}O z&yq;PtH7z?KJBS`+?zOs&a#&jzGm~|yQi0>iW=qRePKQRU8eJuGDPmfWvK!?h@YkGzFuo<|$jA-oUX2%Oyq7d=+bTc=ttD!EGIcx6}ZiyZd4%$4gw#+CIg zt4IB}U6*M2x7T=t=R_|n-olf+eB?gohoG0({svyxlUiO*5bpt4fi6;U5(!>d_85AMd`g7d%h<+!o*1< za%PVw%l0X6SJDc-Joh!^qi|jZ|0XZz%+YYC>lbW#oNRr{spI|BBcA+oA{y4=ztQpg zu@e>@Z;+p@<8$u&+3Z(;iH;Aq9S|Iy4F5k+<|goOub0~E*IPSMvbwbtn>b}8@2 z*856ke=*s?dwFVMYx=axu(jZF;H9rEp&y%f_A#@K@z`lg`{k_t$@;NV^&K(?n#Mi6 zW`FTO!~P=GI*0dt<^NuPaS?k8HZL_M+cGB0r@m%i!8q+EtFNe`A1F!Cvbvf2*2z8n zp7a$^1@a`E`k9XZy$XyC@mu7484v@yiV4K))Ii0Mf{#AL0QHCjN zcQoYla9P73!j!ej+kf4DL%pNCSCY5%8|Ak(tV1|&$$OV}zfpd>hCSVSpL6|cQ-npg zY-8);Zxm+}4D4UH-)v??;1Fk;kGYM7Lc66Sdj*~xmmOHb8kjlW`%rmXQMS+`=LCBW z>9@sRR^Oqt8~d;SVB;lsSIC{ZKmDT@rdPI2Mp#&xNT7f&Y7N3i47^4xF@ ztxld#p;JrVRo-2s7dq$XHpFo_oj(Uo#s~SsYkt-BG46u#g8#a)XVG=K9x_I0Z0z|u zurl_{&(rld-Pp4tWbfNH{-*UF&Ol206B)x*_R{mGOk{2^G>&IH$=k`V`B{VHo>uOX z^A=a4JMA&0@Q|i)f;r!*zP=ZBhx+~L&Nfe>PaD$(sYi6Z-lhCHd2eLyR`!PSPN!_K zi8XcY)%EzX`*~HX^IA<_&VD|hbap?_&bRjteoH@Jbk{HM=YM$d^m?P@CFQ-2G6bJR zzEks4Z{UQV(t2ySU$c)+eNB16|B}kAhIROF`e={fj6RCDq3inS^6om{U(!d1&ZJ*` zQF)JJvu@ABimuS*nDg|L^s5JexBJz=wxeg?r?g8O;xk+i z{{uK%50_eNi>K4WjlHiZb^+LDY#WZfX9L+>sTQ6fo6Nnjwf#l1d9}5!QhQe0n#N>P z#uZY&$oX%mL!Eq5zS$q|$_hMb&E0$@%Da&A?RD3*^m>{}AF*G7ZCvsld(QbpiUUX_ZgvRJ1yzuz#S%GDPdYNrZeO!4jC4W;do~`p2 zS3{9J6ywahqnz!v?LXhL=PxIfPowUQnAAnen?QLYpE+$BwmV!FngUlM{bd(D zp0DetWIo@>I*Ihxb@NJWvF5{f<`@ND*u}b_tS@r6{wc?oHhz|nUU(q&VdnqjBj*bQ zM@32XI7&dDB*v*)Rq`VDQ^p6M0#0lzD$#Y?PB$)iJ9fOD?OB01?oEm|eCg@DCDjf) zAo`fvkAW9Fb8fyiEmgPC3+~Oix?5JY%p)Y|VZJo3qcc`+d8Heiyd^_a^QQ z+a!@Y`o1@|Z1%ea?tFXC3=g17*#6!%Bm3%Ebvp2t0hdlt76 zH}R8DVhrcUqj4Tw6I>K75*LBvJ^4fz&cG>L=twB>IPMtkDDDXEFs>F?gZmkG2=^1N z8g~$P0Jk6aBd+tGLy4VmpZzD4_$lra+yd&b9e+OlJlscw|AG5E?r*pcaUbB`$GwLu z$Nd%eF77Y5cW_&9n{k_PWw?#Fw{dUbHsIdGy+OH&heL@M(2mZyPPhzQISPRxpB&``{yjd5Pe#wq!Oj;MF53CC#`*mUV z?(4$rKh}jWbc8Q;gu6S!zj1_nIl_G$;eL+rb&l{LM|h|se2XJ|yCXc(5gzLZk8^}4 zI>J*N;d>n68IJJ%I^2SDZY>^ggdcK*=R3lWIKqn@;U^s7pd z6^`(49N}J$a6dgf~0F?>fToJHmf= zgts}upE|-{I>P^Ugm*c@dmQ0?j_~)6@Bv5okRyE95kBq+yRz%~B+3zvafF*Y!mS+P z1V^}yBYch{+};sB&k@dWgfDc2FLi{kaD=-%!oP8ZdpW{=9N~VB@O6&xAV+wpBYcY^ ze7hq&(h(l(2#<4wCpyAY9N~K$;Tewb{f_Vhj_^Z{@O(%35l48DBm9ITyxb9f+7W)% z5q?33*%xo{=dpg#UzmSh%TKlZG|Ok4V*Xv+RsLB&@TQHJ(ysoOQr<_8hb9wI{?+kN zD*osNA=5AYxBmT=^*euu{=MX3{k`ee$3s5?pU0(S^2h$Ox)mpX)X6XPj_j^ff8rQ- zxt4M9$MZiP56${P=i?(Rb$ouY&hMz@PqVS)|+A1`-d*ZYL!JGZ}V<<#^N@Y))IO^^xQ^rgz99%eM%!oTBZY%C{zH{G4sPO$z z=)>kFP88?s)y3o)hcD%c^W)@ice&1wINxp_y=Pn+;;viOLVs4NmY-WcBXg)b={r(Yp3tZ+$+AsO1{{D*fd$h&BXd-Cp!Ll%kRhoIRf{*<#+r{{~pps^I?VcyAXm4T&3mb ze_{Q${QNKVZ|{@GLjxi5i#*UH@LfLD?V9kF{++k#c&LK-qg%DSMEpy~`+ld}_lotq z_YwFR0_^^`{yuGo_P@3KVdue5l#|NkTT)(&o%(y*UD`joPM4FmO_$@h;xD$!nfA4Y z%WV+~F{e^5!pu_Nod0N_d7JrrNe17^zv+J6j+z77Uv^OE+nEQqC0&i>PxwavUiO5p zS6-$5owir|pRdsM%Ku2GUtq;Ac~G}MbDxImf?kk(H(0;(pVIIzR_XXMm{qi-m1hXl%5GNx?swfQH7JHOivwAXnhm!-YEs<=TV}!QVS=g zI=)G;F8x@Pk|doxWzwiIQ>XTwIChd6F{-fOo-qS;%%myVlkT2as06V0n5mq_HG_~zBWzwBD4jRziY-D#;FtMQUrh>x!-n6{?q{)Q^lO|5JzfGJp zddyT(<_;WDm~Tf;Eu2CwLq|-w8$CIA)WE@asA+x2+>xI%WjH;m>UFWi4w*j9HUC^X zDCN4cgHqE6kC?81558mg@M{EOuo-uczzn{Fn0mO8Iu0;NHAMe1!#QS-gA0JZilB1s z=t$nKOU!8H+A6;W7wB|tbvjoyk;5mO6`V9<(s1Qk)gCCL-QiHktVyUzug%iC72g3KB<3zN#?JTy9qqbRVvQt99z1xs zmB*jt8%?2Uqm=7rftX&0HdkLW1q*B-L%D8kCtnMxwldr`p^(PGZNOM$5vmL>7(Tra z(QsXD#?zWRprpjPE;C~!r!P`u=`o&v=bpzAiP>LCie_OkDg{VvKcs7wDxXbU;HJSK&`Lp3>i_rSTZSLc7k! z1MvPjw{ujy1`1ueuwb|MAs+m7Br6j+>chrBmM!vXKoY*!&bAE+OE)0ww@nWlg`N5C#AhkLmxZNyIt=E0SRtG)Z-l`-K)uSt^7(UEU0(_N z{T2B-+cJ{h&bn`|n{e?J3_0a~VpNqJ$ z7Th6}^6gf5AK{@^SlW3#VJY(#!b}&<@G!zzgm1?;Gjo(5Bz?_{c*Ui^(3TGLD2nAb-Q z`MjSR?7xn(2dY5>ZcsOr+@J<_8Kka%Y>>L{$3eizjll|5{h>QymIWsSa1`M$bO^&E1)`pt*;tE+m?Ry{V%R#*D`s(ZO#b$jt4m6^Ff zb**_=U6K2!y1d6@s>_gt>awpEs!K;NQkQ(YNL`%2SY5PxvAQsCiMrscC8~4o#_Et5k=JUsCRmUskROe^RRKPs-i&Rppxe zs%n4nYpPw`>ngSSb(OMWojPa3pVir~tXFMky`>EQTPkA3Mx{EIspPhsluF&CT(dT* zHW8a?=Vp~OaEo#kZc$Mm;&X<~`^r1Y<@t+BobVTw@X=qC%lod1ulcKr?ERjKDtu2x zM7*!uliycH(+^aW-XAKX{6p2`oo&iJ>|@oW>5PN zRm3abDdU~*RK$WGRAkeGDx$?ts!5MS@YW#}@$Dhy?pUKDeykzy!^-d+Q|?*ERm4E1 z3`0UHvRWB&8(c=~j&7rs-)*?cB8--4oNIqD(lAy;qA@&%5$7?~0*}#TO|%g?Al5K) zV~wbf@GJ2rH#H*ini=Y7bK|TQEezwsmPX{a@rF?oZ@9Z80_O$JYeX(dHkxlpF`5m$ z)M(nGi($0wVnjXP#fbg!3L~<}XT-F~GNL#1GF+Z)!!tVDP~YYl#*aA$b3MZ->T9Sn z{Brz!UV&T2iKVua3?p@tp-S+d$1lZy1>ZB7gZ7gR)e*l3{;-zH-5D2w`>=&_FToAN zb;MPlMI7#V+$`J>TwC1k=E}VRw*)r<*BjRs$9;ru?(B0fz>UUn=a)MU$9;}&?$UB| z=bXDYj=PK8U&WFyj(bPkU2sityJN@~w*)r<*BjRsR~=0~aL?mr;W*3fZj0kgs{2J; zA#MP!BkpJu_!Rdd?m^rzTo+tZ-0mpy$1TAP!*#($;IK`1ufUDQ^}xm9zKu}scW^6k zg}4E@INVom>Vcbp>w-J#0uHwTHw4!fx7(n6+=IAbxXw6~qx)l2;ET9fxB<90oajMY zCmS;cDP!6>MvJB?stfV5ejYas1{zpxZLSFU8bEbuaR`X3A`V-X0C=`M%ert76xxccf@}M*Y-gTUtz_o+y?Mw zzMu2$V+-y~@q6|1|>lBXGSfxV#hL%oxef3r*9u==?^X0?r5A z=+nT7{N)4pSAfgeqsu*2exC!k>|8GW+6l+n zZxw}G_A?K+3&Fy*H~L1uFpWOM&3=RB_`|f{6{J`GE7yx;SC;M;(p%L5z5S$@vcLWK zQt8IH8+tT%h&4}19T70df=jebQ?JFj%?||NJ(i`-9`{hlc z$*d20^COg(wTmp$+XlVP%%|KGZa!_^#C{7q(e77JxZS;ZxJ`09X{Q~seA52*g1-+B zw~*#Y(yyIx?0hgdndV`AdAMXboccV@=KoT3EFD@W5mxo*`fFtU4y4me;dE@ViGIW6 zaG~d&JE^%!^ZHe!Zym(-*Gs9>KiYiZxKw`9-v@pAMmGPolP}hf2GheKO9%6Gb|9GQ zI)jcey>X;hbu8Cg5k;?#^tM4SRj$7<{d@uGZ8?s|w=Z0Lwc zlH%LT@^KOmw_lDw*q?hXOjyLO?0CJh@}(Y5|D3}0gX2z^d>4`4uwm`%xk+#8@b>ju zNpH}pT+b@!vn^fe2+JS6D=!2g&7@ZZy-4#Y79Z^aC9Ji!AKw{%@v(NWpY&EZ zd3?cnQ%F1DJ)GHL1T7S#%;x$d66gT?wbPGSxM^&G;c^~s;XoFMejNzcO5vv7%)_mh z>#GCdwoo`fJu}CCB_ZQU_$nmzk=;NXb)asW;Y$_&4nJVv+!Sp@rT7b zjr2?I}Q;L&@=fk}K z?l`yxxH)ih;pV~3hg$%*5N;9NVz?K=9S^qzZYkUeaLeG9!<`7X0xsQ#pkGR}5iZ?| zkhl^q-I9>F3NGE2keF^qNG{!qkX+vOQ<^UUUkcX*cN$zX+-kTMxK_9}xHWKV;nu;m z!<`Oy23!Z+dbm!wF1T*EGvRvRdg1!uHo%<)w-K%%ZUAl*+}UvF!2Ji@%ivxPw;Apg zaIb`W72LUSuZBAh?lo{*;9d*&I=I)voe%d0xHrPR3GM>8H^aRJ?yYba!o3adBDlB1 zZH0RW+&kgk1$QyryWuW@dk@^DaPNhCAKd%lE`$3|xDUWx4tE9I2jM;h_hGmz;XVTQ zQMix6T?O}XxKF@+67FiaPr-c}?lW-L!2K88XW{-E?pnCd!CeRUKXBK>eID)xxG%un z2=_&}FTs5o?k2eZh5HKJSK)4k`x@NW;l2TP3*0y1z6JMfxLe`A1NU9H@4?*$_kFk@ z!2J;JcDNtG{TS{iaCgA{6z)#ApTXS)_j9;k!2J^LZn$5;-G53P{WVS^>7NAtX9|uu z?q~if!p8a0_2xovs&p@T972<$iElCV7MvM9zSYp%-A=ljp*N_S=W`s~BDg-dtKqJP zyBBVjh37*quk7{_;@H*a<%=c%6k#*m18~c&JiT3T1smt7aF^B%b0!u<~J_i*>Z{Q>TeaDRg9t8FW{bV$=) zw%^aon_3rLZx8e~wbNdNWjwyk?dYXIZ%aFRsnFZnj-C#B>)X*A2fc0W=oz86y&XL( z^meqP=Y!s^cJ$^#Z!F!XmfLH%dRqv+we9FFgWjHY(p?R`z3u32gxTy9Ro?cH-L%J!?Dlu^oEp?ZmeidUfr@CoJdnw(OedjWlx5W!~1MArSK_2mgJ_=TYCH*ydwAqRQ~1U%fG?gOfGw-{Uj3QkLO3HJS6>H zB&8a9T)%|nKSekXZUtO3+_`X?c1>&(jlxw7dVJZ9?fA66CV|d@drFK2Q9Ym0a2q3bMaL*x^KJ^@8A5Ag>vp2K5lU&-eCaCWt-bH*Jxqpy5kK7-~y^&mI z|ApkT^qwG>K0z(HEMJUi%bLH|k<03D8{F;Wvi$5Mm(|bLU~PW>yo;Bcg=6_*`YgTO z&_6&ftM@<2W%*5B!s8nS*F!FAKbMjFCAka8W#Jd$_|xRFa;zhlwhsF1Epl1=6Yhbl z%}|VE7Km9OW`URmVit&5AZCG>1!5M6Ss-SCm<3`Mh*=1!5M6Ss-SCm<3`Mh*=1!5M6Ss-SCm<3`M zh*=1!5M6S)f}ikV>)Ek@)E)_5^y5TY8lnDJeI2 zWBcdIZ`!lJg>i|3u)a;3{S`bOeDj;dH(2OTuaWnkMM4`?_dg>}=ui9U_1{Nwa=g&r z7cUIh880Lb>?I_+dkKB#le|QKpOGLWmXJ6|R*}T_77|Y-$s{rM7Wy}n>>-((DD+S2 zBlNHABP1>)`Gq7cNl0uV*+Md~FNGoTldK~d+D}MqCfP^g>n|j>k~~1NmLxG*NSsHq zhU7<*p@#{HqYe}LPayYelFJSk5|@x{I9%xe7P;pS5C&9{EF#%Ta&(F?;CzyDlIbK% zNLG=YafC2n7Rd&Zs)53Ql_bKEq(kx$$p<9;1_=XnBsC-{N73ITPLfq5M;|Q=SV(g8 zF~WdLNgg73i{wv|QwIwJvPfo;tQ$;aCi$3TA4$Jsg~Te78%b7^Y$MrCl6joazkp=b zaYAD1@j{}GJko-cDHAG09PO_LJ=>+m8Sxb^Rl;R>8c%qQlM6#76EmcVT zfMnoFLgLdT2`3AQ7m{ouah@U!cz~p07}eu&vL8vpsY2phlEl-5#0eycBPeZ>p{G;2 zBo!o1lIutwAX!hclO+8NY7->)k!&N`M>6nCswa}MB+fI1_(w_BlDu-Jkg$#9@R34% z9!WWgm86Me9?4RYRU{iowvcQeDa7p|8FZEqrz4p_GM!}ZSwj3~lIpDQF5kW`XPCs{=DF3E9Yso#zjdR3C#NV1XSz*r$}r!!@PQ3fvdr3HT&!?r+&1_lxOytMW4%KuC?W6R0n)EZ>GcMto79ya>Yuq z)+E|}mKsZYAxq6#jkGkA#pRr3^Y|u+`5uqUV{}PQz^lvGncSjFm#fPaYYVjDMo+3J zsnloG*c~?dYqH%}S8kRvBi5NHC%NJEvrW|=yS3J4bd^<4w^@AlS+-o!l`%o2IC2Bw z6A8_8Ix|M4KE1;1thH6xYHS{x(_+hws2D!g%n2fkM^1LM!5eT|ihVYZnanI&>_&%F zhOAKVmOtIaPuIA!LUJ&ks! zURP=;Hx(F)OY-x?Sz_(1S{5@r(_L6S)4~W%%7WN|JbXGV~R5svz zefTQKnjnfkkKI{|O3;KFooQ-tQtPzZSuZd<9Dy9E^%Qtq^=<7ZAc~@^EhcKK7lp|| zI&~#;7PS+XmC~aiwFU!kM|CDqG#K);^5Iu0H(yO|+7!|od^K5y+*!5Z5^7U}xkSC5 z>F4s2di5E(E~n34+u&;O8ay6zpfXtFyj@VT>82VgqS#RFm8`=`=&cJDD~nmB&Ssfm zvocFeG8SYpjS6Z+thrFrkyUwXq;6`dGkeSyYQQWLR-0&-8=)v>*jbCsthP~Ou@OoQ zxYCd(HyAO~?4}lK4Nw|VD-^{s7G4%gl$xuYXt3LhViwC&rQOz8NkbQl*Iw()rQysc z+Ic4ruOcO#VXk5M6m@yJN<%>~7vZ9m^n*E%93WH9L!RC1Gt*F!&di(UbCDh70-Fql zX!y$9kC8*Ny0CccZeNz$<&~PFT<*3QLc^Cjc}twY9nt8WT+aXWre&14yj}+lA>5YK zDA*v(#*?5DS=?`lrdiP>8c8l3lkc$A+sM4e3SX0>fsekT7!bXplOjQ#7Ro)=s86dm z&#=j(i7rPsu_;i1j%!qmGA7Yy6kTH`h*Ae& zrx)In%xPIB>gFzs*=NgXsG)&81W_vx=5d zdCaktBKww7(PHo-SC;ZDkGWAA)8#y)o-F0EzNk-=1|VmHG`FbK>!;Xl4r_(Y+u-n( zjj?)M)ZMKC1D#n+rb55PP*CqEm@J*oMN9O+9ZLe8A~dcHUgb1Am%AKxOQ1}jQ7ttB zI#TAa+PpqFS7iF=*$Rm&V%9=6d4mthUPgeKDPYJ^8;n~CZ7L*CW(_r1Z(RVRUWk9B zYz1u;?2MIR4pG{LqNO-k`=UuXT>)fqK#e?9v{Q}ep)puux=Wl}-7feWkhgXcgg zIL(HFi5R`!j0rXxtI8_8CXXXOV-}lg_~mvM(OYiJN`)pv4v$1XMmnM8vccKmkQ!zn zFdlu`5;jN%4W2f)UhgzJU0xfTC3pjTzLc3>Y4WiS#)pEg2bZ&4o0ev7G~0a!hoiz) zZ>B1B)*8*;8QuW(V?LT#qU!`>l12hQ1_0i>YgNaBn%Ne~7?ftP_0-DE#jX#Tty29K zW30B=^<&uhuA0#5s&kd2JWX%;fNtmKCc9W9pLXnGlU&&|_~gKp<*KQn$zo1`pGhV* z(e!{WIOGw`q1VxQ)#H=S$I{s(IQBVs2+?5@OOQQB+t7>w(t*4<0(w22Xhqx11~#Fm zfzlaFk)6Dt?t~d!`m_mR0bPI;nVnXLEmt{;=V$UP2U`TSCdu4U17&+{wi!lOKD8xj z=1nb04mT5tdbz#4Vn8;MPpUuF=q?*3;LT63GkfdO?M|PIT4xdcZSzz%$+McKG#8sX z2mDRSsdLk4hcu&Rhi6(%CZE_;L5?Fhw{G(0>-97qN)r;A8H*x%UlUyokfsFzXd=K( zMpu(2mbTGM(~C-d8eO`~veW#t$mOtM{$$9>%xR!0rLS$$<<;wRUG?>3+!DLfR+eq{ z)HbkLhL_HMqF9Ji5oyshflcBI8+_hMeHP|>qQ&emdkhYm`n63#4Ea(mXu{AnsLO4p zO3zhKQ_-v_YJ*QqV<&f3h1$T`NKm?L&2@P^bX{q)7JAI?I+_$I&MrD! zjqFNUk-%u!k6+SMQjVpwJxfJ7spoa<)sHcmy+p03RZ~Wd z!(1C2qP_Yw(MQ86ChV2$Qm064;H{f3H)R84Rj?7=YqRFMsO`~pxyy+Yj+Zi@>$14a z(mZQ2S=CJ~n5Om25NsmB8bp@2p<22a*QW)iYh-899SBr83fUagPM5O{4#co`AeMlFo9LFNvKfpZ%Yw;fI=ik87ag^NYRo&sN6Am!-ZXt9Et44QsCkib*a@W2<7#lH zxoWaKHeZ8>omSGTT~@lhrt|eoQ$1a{TWSM-Z-&&gP42=bI;+vSnf~?YXgrV_?;($s zpMkv8DZTvK+*R+U*(Y6D+B{@X6aBJnem83+RK?Yr?r7q*ZLsFkDv2pypGiXq1-E-$ zPE0Y;3erYXD^Ohs%M~b_Ym91*g{9xN3{$QfLt`pCkf-zOEP3f{U1lN;th5q>F)uB8 zc!V+Jm{>;5)njrR><%iDB~QmsRNkl&@KYA)sI9~n!o+%)L+b0%4Mod4lyG5W3ysb& zsVsmDY7LQPs^&Sj=Ii`9#Yz)oj2@pq#blgPo^L8EFy$5J8jH&&7%HZiDvQfX490xX zRAdl~3^^tFri%QDlZq?yOYC~3NXLtd3m7BLR-ULhCQj_B_S>(V~QE3?>&D?GB z*ny=1*>4hMJ*!eWfy$RB!MR58S(lFb=OCSf!Hqo41x}KC5BZ8wL&zXGYN3La*JOe&*Ox{L&jW566P1hrA z0SE0?<)IjssFyfwK9^H4RX5o@F2Q7}t9Mz+anQV#9O@s^N}|hYveG=(YNPsOm%eH* zY2~WT%jUQH1XGQrP8#m%FPfhD%|0K6qO-sZ!Bj6@N1NDCMqsPAxC4^Q1~K|$hSg50 zbaJN}t#5EjuB&>wg!34zv6HV^Y5dfNum+swdb=gp?DdgHt`txXKsBc> zrDXPEnnkmU;t5KJG$pRJ`3zpK%VMXD(Y(M((=3_`T5M!Tr^03`H8u)|@%PaxG@JCu z$x)aBzADH9$R<$w(h4V=gebjr3V&31n2@0<1r5R$OT&Z+`iJo|Hn<%&WhT-TnPA6r z0;O~l!eO&cFxS&5QkoF?sb_MtQaK|lQ4OG}s_LG?z=G0jU5<*)t4Pl>LtXJWOfx*q zaWAc$(Tv&=2;LvDPH;I{Sxrutb3%i|p=#2>WWt0C25{0$l8qj`aMNAYCQn1K3AsHk zc1K6iVS^(B*9W$>e|fBsy;;9$^Yzk1nJ#`^wBE)Q*nvFWG2}x&c@9M*Crwsd!M@$* z5uA?(^UeJD;G&F%Ce?KNhxLg(5B)Q-!PcM-Ve!}$JyePW-Bc9~RUeB)UI$e9Q8|2; zU?*sxML{-;qD4bK4)S6)IA^e>L|&bmE~)WT4m6E+heMiLQi_3kehwJs4frNk%I76h zL0Ls^zNw^)F5ZW6o3`CzjH1MI!tT^XQQ|kcqA1XXnXN;~(HgzmESU-Q9-8f{@@QEp zE*sCzjS)k$oJd!Pb_)&sQPhIxWj4`3lqROxRJYnF{<544b4|G=22rF+ogkKb zT5NvGTW3rg(>;=`*e4|0mfywC0 zrHf9J$fiiVLG9XR=A_={8fH&1|J9(MfFeO&HF$ zT}TiXzQ8ulpx@H5NsId?ZSQj+eocHrYEnu{!rHh63GBbtgx0tnak3b#yW)&n68H4q zoU|qJK)*Hg?{4~gcjEq}6@3=QvH#plCwXpa6gf+dF zB`oV@%rma05?I&A?dr25ZbjVE_ycJ$gD zuUio3SRA*8QaupABYt=MnqIBFw)NWDYfZ21y_fdhnz%i2d+$vY>E^gWgEqx2jawN% zXkXmcxaK}{6X;L+O>3p2n@Pxcy{!x4x5gzb?X{^_-PGN2RdrL7lgB2vP;v5F;zo=} z8ZvIkiul%E$^K+IxHm3k*tC|oapM-o&yQagm%KD7c^M@%KYl@6a`MXFE0PutU*C)L zHYc(r3c4S zhw|sn%E2SR*Mc{m%>6fjH-qC|#2=l-#qd0E|x6*@k%zyYP zTz^#>=j*{mqdET!9+A$uY#7&H4}Ju^G=uveKAih!Wpeg{2an;r4eS7)M|NcS-2%QD zygG~Pe+5p;=Il6)>sO8C{1Z4YhjSCv1B-7#0p}mUJBksW?8f}3mT~?Pyinw9BRewx zU6t?$Z=TB8ekS)HZ07s{xY^3NjO@p9coU6TGLu$}5j z%Ab?_{|?>^ZaSO$J6zoVPvW6*&BA){IaIGKywT15n~0hJD)2h^r_AL3iF)o&XGJN$ zXGu)$4Qv4m9`3&goDO~y+zL*mcEr*@;N|+4gQxj8ZzE>;*$6(K+8NW|-N5~4gUjjJ zO=iD$h?)Lca9?V7j8kd99_BwrVnLV-z63lUOpmUSz98-I!}K2pZ-@WK;Jx4^Yyue=&_qEWdlf%ZZu)KJcHCf3vXrMy^kfDN6q1 zZsL3?G0X1)@U8IQ4c;vI3qsxku7AY&Jbcy7oG%0Kzm@Y2@Zv?BCttwz6IwaH1>OZN z9moCm-@*Mif#=-GIoH7bg}XSf1J4C#(>Tn^djPx|>|4zB&(7ukd%zEYt#@<(;d$JD zJNRDkv?bjCgnaJ58+-?N^D^##6pi~V{i=sJ-wYnSlJg&6|0A613%UN(M>&54_C3bA zw21p306zzwyNdgtMduZkUh?Cd?*_Mk54({2Cp^LZ{{e0We+xbUzGOVt_dm(?Uk3}T zIbTr1{pW*Mf&I^N|C36QpY@z?0dIYt^XLiOziuPvZD8L^oSkLdf8>8TCzW$9f0gsS z#H@Yp+syfC_!qs#`3=cm5axsbg8vS1;Y1$a!q>TeD|qA^oZkX30H;(S{Vm*oJUD$T z=Xu~k?{Iz*ycR5oJpA@|x&H;=E$?x@jF|P;#UFBh0{%?hp+2JkrWLkPbZ{3>|Z4z9lkTm?RC63^d!@Ug_Kz3m2{4t9Ua!)HtS z&B7k=4EPuAoU;&)H%lUTjoF5S$Y~06r=u{ql#4nsHz&n2Byc)drch3DT;rdhm;M@XUMY9Vs zqwozlnO=lpTyiPOlgRl7@TxwX=`vnwZ$(L*1K>e@IsXnG0dAVc>uW6d4`S9{6Z&!e z1~cbn;P1d&`g8y4YVN-a{2X{&GWSoiaQ~Huah?etc?9RRVBL|N53_Rpse?Gr0lUGU zgXe;)Y+Sz;yos2#zm?$Z8t$Kb6p!y2@G|h(wcJ1NXzu?wIOQ15x;pN^3OonAU@-Up zFL=c9oIeK72k!$f9>V<#>^wgA37p+vANVEkpcA?OpWyAOoJ*$j^5vbxc?mJAuchEO zz%3_p|08B_{~h2nYvj|8VUxqdo$G`Ji*1H1ry2Y4m;9q`uEc>H_7j?+1p zxOn`2@Dt#@;NfoWe*kk^`v`o(Vvv~Nu;K#rRz(+O0USqgEyAEUZzdD=qzu~|AJkGy>-Q}G1ey*>p z;M_{g@;?@QSb+O)1pf(6nZ)(8o4EgqOF3Um%);wToUZ_HpT>DPc!ZhrYY0CV{2}}| zfrZ&T{>|Xw#FBlhdH6i=Ag~oY4m=lJ1YQRAfj1IM_5yE%|9bF#@LurXIXwL=3r|0b zn9W~&;K|@-@O0=e2LA)R8N2{|0DM2V+{)vBnwaHp7x)$U3pVcm5qK(iFL)Wa*FSjv z_JWU+xS1Bpc=)r4nLQK0W#D087s8i-Zv;;TFO|4iaDblyH-mSAH-djAX6bDMAAT9? zvzF)QbYfQC6tERM61)Ix1g}N-R`8(9d3;O3R}r)LR)Cj*H-fi7e+T#^G7Zz;4bB25 z)badXM9lI(6?{8*75Gu`NITaba0QQVHTZb&0k967HJ$5^C1&ya!CtU1gZsY&ZUOhd z683U%|5RcYz65*;cqzCMJfxoMe+XU%KI$qSex#H8H-T4!p9H&I+hg;DwD`{{`?6Kj*FBJn+;O9$pA=f41(y>L;&>^Rd@* z-T_VrPo2&EUBoQEyTCVtg*n`R9rTBQKLfXd3$Ekw*ZqU*KLTC}{s27UGVX7`p6l-d z9{}qv=lSh$M&{|uf39(f}VpE8&G z8^F!r2f^i6bN_e2o59m>;^AB7asOw*L$2Zcjm#~Ge*xFex|XvOyc+x|c*J$w|FoOA z{#NjV;Dy(7|1XJI{guz>-2WENe(>?&R`8j`tbL5Vf$N_O9tU=T^S}>*i@>|UCE$~9 z42DtH4XaZ-AG9kG+HIuK-^R zUJ3pjyb3(~POiTi{4sb9_}sg=|61@p;Pv45z#GB+7jykh;Pb$n!Lz_y!0&*!f=A!Y z!*2uoz}vw$fp>uSfp>u~TEfHc2HyqV1O69yFZiT;xc)xyb>RKrSHTCsUxS4kd4CX> z^6&}Z=fFweKfuZ0A@_3q6!6vHLE!JfgTapbxc(6E_25+SAK+o&A@_6r5#U1bNbr2H z4*WAX9el+y9zF~F6nHGS^q<^+9QbW;9{8{axPK8?1ebsx2bY77U(WT7-~hM^{24Ku z&$_|;z;nUn^mxG^&e-(HaxE0*z5uV@m;G>9{J+^>PmYD8mfDOX5KKMp)_71u8U`@rSkZNw~m75MPSx&Ab80k{r)71#~l z0QQ4F1~-HAp5XDdfZ2ToW{(BnFTt(glb_`NOTi}a3h)x}D)7I-Yvk~&dHD5mc~63Sq0us%*wL{eAa(BuLs`+ z-URNyp8IbBj{t82+rT@(e}H#`E1&1-?*-2T?*~6e%<>~F=Jh{#1Lq|0h2RwMRp7zk zZ@{VGNiXp5BfxXPI&j~O+&>F^H+UR)^oyu}@KwZ8{e$0ue-$|KCGI~BoDHr6-voAp zzXbciN59O&H-oPQw}Ag7X6<_cIByfzZw1c>F9jd|U+%vGd!Fh}mn}rQaczqeco4~c;x4>TTR&X|$Af*~Mc}#M*TM6_`@y$>2fW7PTM9l4 z`~dhu@G9_R@M^FR{4Dqi@H+5);LYHT;CI2_fwzPEzs~cs6I=lP4qOHP1w0!Zzm(hm zW$-}o*WjVxD>q}0WSkT0^R`r zH~1y+58!vfqu%84?E+VV_k!nwe+MrI_q&(dXAO8D_-*iU;NQTbz`D11dgp+rfXl)2 zz*E8Nz|+CK-{#?)z}esyZ~%NK_*w7@@K4~U!K1eF_%?#e!LNg_0q+980p17h`wkC( z_Z2fh&e3V0fL7q|xe6Y=5w==sUzJiUSMbKVag z4o+Rc{l|d);7agPa2@f`el-4r8yWX+7Pf)sG5sS1Velp%-#@`_@H5~|;QzAlq`w9H z0sQxae*>5Qm&Z5w1Fl~M&Ln2(xxq#7_k*WM+$^+!=Ybc1p9Hspw}Y305Brd%N9*(8 zEbuDurQkK-dEoWnr@))QpMm{v^78x$-U5!>PURUy^B4MFC0*tUr+|yVW5El+M#jg` z{j4~ye;;@n_yFVy3!Vtx5B7kCUc9_Zz)9ezz$xJO zz=OewpYrrm!5QEYU;|hOz8;(fUI-os{tvha{0+DqoV1gtR|Osfo(4VzTn9c6>;~Jx ze(?3+X7Cf>7VvKH0&xG&c>1m2v%pKi7lBuR9pF{qyTEI}uY%Wue*$j;_uIwO+X6lt zybW9f-T}T9yc_%qcrQ5qa~|J*@JO(b!0Ue!I0;-2P66Kv9t?gJoC^L8JOZ5b1@)i7 zf-nwz7I;0lLiX>?(~lPfVL)68{mY+UI$C0So|@W09Q{3nAMa0&^sA(Q>3ER+8eXO0 z9U4B00xQFh)G*!lSNYRz3&sN|8tJ!;bE3>|Yxq;neP#bYHLRlo)1hE^gNBPWJVnE^ zHM~s2PiuIchF{b0_ZlA1OP#;r8a_+IV>Dcj!)GU`>!VV`4V;7a zd_cn+HT=DXkL;~3Z@PvHG+e9U>ookVhQHD9aLTE&{%sm=)bM2*zE;DJYWO=1_vxcf zZw)1YpKTnYYqRd;p8NB`a?B*D(7JQQ#Jl}&cXgipTJi2$K@K{q~Yxv z{#?U9YB-sCF4a#ky`wZ-p<((2w@QDBhQHGAku;Z9#($oMJsQ46!w+eAgNEPH@Lmn) zlckmEPtq`bK3wI0n}#=OxKFZLzevLl4d0^S2Q<7^!&@}`zJ~W}c*tSu{0!$zy@LNn zYIux>b2Mz%@LUbwuHgqY{J4gpmx3k{!tq&oZ(4gW{Oe`$CeUCSx$W7Y6_4aXm))-TcU6b;vC*r(wu zHM~H>cWd}j4Zo-1pEP_pP56}MJ6*$LG+dxzqlPcmu!S?tD){d*4d1EZr#1XK=V1Ta ztKp;RT9NWk|MTDJoP+u~8m^Xj9L);&uZ1(6HTmyx&U9Adzipi9EW&@kai&q7|Ax?9 zJ5CrE94`!ec+WOk!FL!0%xVKcV4&ai&=m|83Rq_Zt15HT;)` zX*&mIykPn%8a_e8!!CoZ_@CSoP*{0w}xNP@Mg}z z_Oe~W-)s2D<0N|p^+#&>0u5iJ;YJPLtl>vA{IZ5W)9`)`4?13*zu_9r(r}4}y&Aq% z!^<`NqJ}@$@Lw7}f-Wej@`Lu%Yq(Uyv{i^o|0WH;py3ZR{DX%3o}iA;pkW8+;Q3^> z#{UKlFV^rQ8veJ2U)At-4S&x$n10ewDZfD;reWGPh1nYoJKN&)tGqY?5krb1Zkg)6I2_$7C z6G5yR*>>G<ahQ}Ne&}9oMZq=3ds>914)h~8ANgv$!MA_yqBpy!^sqKs8XC#?K zQb{tIMD7C@(cc%7OeML5g!Kgz$uttyC#p#-BvumEFKS3?N$N;gADK=vgTz51_Z1iY z?IxK?;vw;p_(&Q^W|1_K_(=jJO(e5P=8*h@^>6K*Orm|ljH%Cjz^4IoaTUb@{jzl|B z#kR1DZDB=SLyT=iX7^cGejA0RcyHnoyY^r2fDsrP7#ZED58Wglv%*rry} z7kX7&M8!6>ifw8|r@GjtR+=pfW1CvlI%At!nFD;&z}Ti%u}!UL%_+9272h{CwyBl0 z`ybo0JhrLT|Bstm$$N#U_GnOUuc_I-A^KJm9okPql~lOxAozw6?QSm-W?u@vt49~M z=<3*ZAW^hBxXVcgHz8?vTa^y%meQeJSK8Y&r9+#*Nc*zHHaUxJa;DhEDYnU3t!fuD zc|$0+1zK#AGp{$c$yscZGxbi3o!;b3oRQJs^xNI}dR+}|@mD78Rjy0(xpH;d{lwX( z&tk35Vt3aVOw!U{7sA#?44BTg+YFaxdnrZ>$dj{(`ZQ_3TxWxHpSw~nb7sJ9b69E1 zz`7jT9gucCr|rap3wWIjWSppztit1FJJUKX4YZ-QleQkD?eFRewRtcR|&Xt3RE(`c!*+Z{X8Fam8U9pZ`%iMhM--90Tvk$qJHJyHte zM1AxTw~JM*DM?zlB+?yyt-GvF16wVv*qZ!4FW$e~aPeq`PN0h-z%rSkWDQy5p(;Ev8qM|8HsTJ#O^B#m;|=X{8~* zZ4B2X^sQ5(D_M}N~$r^$t?5A=9*jFy?drKxH%^miLXwt;B(2WKzEw%WQPtEb6D zOB!reV=$Q9(lK_(nBIV&A zBHUg#ImUdkcOPd!t;stfvGKL|SJ;!M``7AXSED3ck6zxPG?K0nNwHnRd8QHyD!jYJE`D?oI=r3PD>kzz)4jXy%G*0Z@O+SJ6~?|^L}g6bnY;n zsI4YC9;U5NFz< zv4mu^#u|DkukBEJf!$%N9BsADQZGf~xZUXrcRan`W!0=*@&M^hbG=Ozm8FG;)$B9V zv_V-)%_3$rMa80JG&RK{Wi&O#qGVLHFpH2}KhwgN+}MI_@Qfd}Fk$sV$`V#9q$pvv zLP`=|D`G+Px?(G>OWSMgHc!M>pjL{|B-BdOo<@_RA)ihPqFvpVxd~PJ>er97ty85M z=}o4nfzn2sOjeu6KFek`d3~M+i_c`6*P~a%2jk&CkNMorqZl<#_5*?V%2h?-Y?DVdX zX3!*V8+7=DYqVlrlAHJtMxNenkt^mK>814cZDl&$9kZI!+3iQazuq*{)Z`PJDw@O@ z6(;rVz<{a3Ym#r!jLCP{>S++G@R>Y1lS9>$4`sBO!>l$s;g^^K0XbKOLdu81KE6Vf zQdU&4lrZX2Dv-et=0>2RCY2{fnuRKdql1piP%JfV3r#}XvWO{#G-;yNoEzH0mDB%@ zXsbIXLWD+3Ng47&Iu7sAod~2(jW?i-8k)^`)9mzwxk$F;Ase(?zbZv1iYl)ZcsdWJwA3>=}|0?Ag;ICD_wr zOb?#`r6r~klk}vxa(#~7yqsd@%LLO)Dnv)Y-*j!;r407;skY;p?8ym7$8*)w_R3}p zn`IWC*+ET@EpO8M6N)Fy<@G7v@R-S@RXMtAid&j|B`)M(xMJwj+-8rL*6E!-S`($E zO2z$2T8j@^S8Pu|z0vG(vNg}(lD;VVrc@VbE4ICO^l4rjz5igh%n0PzeI=$emovCR zM_sS;5w4dYxD&<~!&C}WLanWiVG3&uW^cf0F|pvvzj^F!env!AZ1WYd$AsjEziCLq zlR|o(Lc31=^(nv!|v}GE82N*Bzz!N z^PNaTHi2kP%Q7`Mz2+L*Bzk(u?z5X6^v0Mq*X%Z1=z$)6X7C`jKKAAsol>NyumYlo z{%E2b?@c~>GGA(d^35`K4?;I4TYlJz-yu1O8?r1dZ$^PWy%GuXo+h2&*qzFPLV7OD zSfh7Zq_>&rwyM#aPm@fG%N;nq8drnU>hp_5^Z;N1%@Oe;*ddPB z+dc6rZ<4F-?sqUbQ`_?n9W|6xW1TbB!KKns(;ZYQ?Hf`*#x#Lm(wt>$YiX5Z=#dkL z&1Xw9`ywrdTEf$uQOhq!D0;QQI#|dK8zxOBjdNw5Qr9e-!D+3qu{WEuEb<7RR!_(A^a4GK zL`|W(lP#jFDMUAUmts9+_0y%)J6D-qOTumnU-M}ugU8eMMYn7deU$>WDmq+^b&#MIL1YQs$iO?PqE-xpd{|vrVuy>eKo2ro~>G4a{tyhpy`BtXbbs zADj=2uJyPY3tS$9+f7fc)05;h8K|ZKnKdfq>7UI<=$zZ_X)4FHo-C^}U9lDqb@gNh zRITK1NI#+hjP*TM_lk?Szs>YLnJ~Y!A8(12re?~UbbAzW}Vg<{3fER zCCO2X@&~K+It#yQ_LkKIW?D@qr^y$bD+h=xyiKC9g8p!{4FJ?QXi|%B?M|#Y^v%@bvSR8Ta?bhTJ7b*Jg zO-M0qm7Auwo0D{9*lEUOsqCTjlxIzhopeE|X)L^bRQAYOyGK)3w4|O*H(bN&*&Kwn zv(YALS)HD0x7FG_8D_7=ZqM-0!k>SpNv!ot*S&#?Ci-lruE6fM(U*j*^eG`-1%D)& zU7^^6!%gJ4{9>(g`IE&O5~FG%f`&8c5`)%F0%DrTmoZfbMbXQTdPk>W)kR)3F}gHO zIpEb<^L3TV1sA{Qkd{8YZL2HP`DRL=!wF4?o>o_!_}dm;4|>r@44eLVZ+^DJ?DZ8p ztu}u~W1Y=o)8*(UHjx#pgD1i!S^}d**aE5p`DE0^_dnJ1DwDC0Tj7w!Ca?T?={7Tc zDT?Y;`Wmc0!)q}+%pQY-Hcw#}6tvbwuUAl!D-HS5eVDGkl**Pf53UfJ3CbakOg4y^ z##T1jdbzPC-Dy(1Ko#bh`p$gn#b}_t!0;JTyVL74(=>qJjG)uM&t?p`ZERV;lxAuU zn{@)c+t#*>A13L8ctz60vLdg_9@?mN-5j@EOJUcz`HRGw7pZw!sXHl0i^9oe9%h2j z!-`ko!dRv=^{wr}wHe3?J)p1lqqk$(C&lQ20Pkc+XB&y3nqD$9TYOS+EMjm)n^vh6 z=Qeuzwvb(=n<$lHDHSTbrFINnb`JCAES|D2qIX}x zlu5D^Q8%U}-KLP^=kr#vp6JGh%5*$+$X)AA2))j?+X%FG(O}i%aK{*0LPVi87 z-iynUNBu)%nwpGCvU;FAErWe0l6`i7?w}cp6?f;@4F|fMrk4xl`*Kq4)jBbb@N+u9 zA1ysnbMSBEc{3-`%sDf?l3v;q9d?V2Mnbx#FD_&Y5z4mHZE3T2QQJxT&<82Vm%tvIn(eh-uGc2aWIaKlV{$wg@39SkN5iXiOTf_WfdIa zWK@&QFk=wr2J}QmCSCh@eBSg%dWq;zOD!XCn{HssL6#Ah+&)LUvA=msgf zIA#ZG8gw+E+r~&|5^qM$m`a{*ZIM2$lCElHvntPVem-MWwSx{ke-@$jsh$v{h8-Gt zsD^P$^rz4$DT*iDgL2{G;t%tQX_ivaV!-SLg_Az(qI&2<`h>;A$<=L_nS8>bQlbHs zJ{`fXc;s10m@BT*=wF_0%q@=^ywUHE?r(9o<4@aF%2)06wt9=3o`o`HMGxbXwz%ZR z2~(s-n{=@j+20%8pYQO?gX0}`{wf^TkApj1~IY!OPC1?9~S`fi)eYp~_e zEjNd9!NBctO{X)YsoF)0!X}s7Ot$teYxw zR90FSt7lYJ^pocysi9HXG}1+AJy9!ZRQ8xQ+wtM4!yQXr`VP~vM(K6kR%(3i&}bN? z*QZA;b@Ve?~6lIEBdt25i=OQTJ&kzU9OiXJw>11ZN*kpOS;q_!;Tp3RZE7{ z&AN9u8>P>X?k$GRU^~^4DfKfk%_|1vn+o#fCgwro*_D|5(Jbj|tnDspnyW^aE8Rk+ z3om*Ym9D?|xBcnvDP2@WKOc4KY>Vqrwn8cGh{EGmFWH9uCM{ERRkK+YCQSS?He!u* zHCNF-aZk5F{J!udIJld!N(*<_Tr4>6P=3FOCme2|OyeCrY+G!nv!spYx5(*U8m}H) z8?`gBQt5`yvDjQvH8HPM#n(N}A>xcV%;~&~El!h!ylmB>E-@-?O!RTHi+Q43j!`!J zQ1=2&{@czDht5O?ksaBbUG1OhMyVMLyT7YO?w_M|T|SwO)+1>e-(AD0i zjZdC?bmALpzt{j#q+#$=wqFr#*-wi)Oi+jVC2Mmf6pa2*RRuk0xv z>?*W5=_}BdQk&1rzO~EFP{DgKSj%iJ*bU9z$ zQ#0z=J7(M90wcSzDMt`yX;Jp-j-1PVBA9-6Bob`6np8SzCU)mgwnZ2-(cMGYw>t_E zv=rSz?9O!Bj79eX)d_XdUhKA>96>mH(XBn%yL$~rxA(d;A%(^0KAk$HPMWMei=_u= z(A{jY^loj-N{eM^&bi!T8C}^TgyvzQK23Uy#@Qe}dtBMJyGL-eQ{PUJt1DasrCTbp zH#c|p=Pi1Vp*3VVLmip);)Et1%$-D9OjRyEOAjm_#D~b#Gp@Er2>+HxX~=`Ts)z2` z8y-x>L~nny?Ru>yEqRf;`j!wl4=iZ=qnd6&11g_z!i+bG#Rc~vH9JLFvB%(m?C#;uHoA5j@c0d)7UV|&y^HYsPF52hMk4sDTw7o*)~v|tL+ ztQKwIG_uj6g;Lq9lM4~F)}=5<=K~|{FpZxrlPRJ;v~{UkB#Ugds4dh$588KM4%^xS zTV9Kt#i$j_ZsIF!*vaZqPy0F_I7;2JB|SyPx~p>8f?j0PwNtz75r%HdqoR7*T43Z% zMz3G?poAiiovfpS>AP$NQc5{o*QKZamD%dH>ZR4k$d+rbdg&n%h3O7$9+lNg3zv~I z*-rJ+qbSky*u@2d4xRoFE^agr^)*ZQ2N9$qc0>_z_UIB-x0))jV=ucIA?2$JlV|B!upTW` z$2a*>zH+R{VwiEei{qC1eTN=M0+raIflqoUu3PdH^`WF5uu0VPHP7MvpU%!fj)?rE zhNX~$9~?uY>)~-yIdSR!!7T>pkBi|BfW(rX2c8bLU=;ldKiyO1yKiAUB7)Np+^X{|%L(nV`!} zwX4GmFF}_>%Pqo%+n&L<|JYqW`2|9ctp?jnn%KURwB4j&@&@XwUGyc}ROyr43YJG9 zR5Wa#SqA5S`EjrS#gqUmh-yB7af6!+O$}1cTO)QV*xav&D0s>P;K1{hYbH zr)T7_qMgbcIiMmFiqc34n%vTo37d}wqo+UeJsy{bZgs0O&nv3KwZwZqzX{DA3-G!u zZ1(|cs>S7`52@ChofccFQb~2Ent#txn+52HIhQCjsgQm=I8vxM%qxH=h&iyrmp<4m zS3zjY5$Us%YFnr>uJ9B^B}iKU@My!f$Y6CKy3lMXGacrBz9KP|rgSe}>q%QkcC_*o zL0QkDZ^bE&NGY+%G~FjeMN;f&k`Yb7G9blN*l`uP)u}5D4Oo-yh*g;v5a~00Z0Aj$ zeArP;sUX%;-{E_7Dr~_QB^3vPk2)xhDWeG&3AcH$y+rNr!Je#$AK|s-(Px?3wscht zG$DoH;iZ3r`;kgi=%c)Zk0xT@4p+cHfS%dWR2P3(WV|J6X+uKsY(*OoQ-kNhkic@Q z);ta$Mo(^y(Z?bwGZSW4pejd4q6y#e zBMiFi6aG>j3Zpi^$eoP`j@k|*os5)ak7Bb(IY-Jo_Au=;HMnl9s3&TM($5!Vl$E}f z#I?AxTkZwOO61na^*dgXp=FaZD8sZCr%YZtLMr%_ctKf3Zoa9c%#ddq#t#+H&RX=r zAzC@0BMnZ!-5o`_O!~H^eU>e^1Il^Q`z;+%%yoHeoyta@-Rm~{EOi}-yQ;h+SuHLb zZ})W|HkQ*ukJ(*kw|G0GUe7j#VaqaY+KTTw@rn;lXjw&@O7o3|+!6y#)bk8RgUMv{ zX%tr)D#UOe5dx^2>%qJ$GK*ec3dSb2tV4B^i^nW2Se53nL^`sTr1{b&4a>o> z8m~5wwgn@NN-(hMc1*+w*@Z3k;449XqeQLPOHa~{vfvYthi~LLnkuawA%lF6FdjEf zWqgk?Idht8qR@podF#IH}H_+;SG_isKy}d&7n}j6tGm<)?L|vbCtsxw4@;{ zbYlgccUSfVv8uFWg3D^lE#-$4RfO^@j?g)_gL@(H$U_*IGEnvT3uQz%=3e^Oe?ON5}xa;e&Ga7iQ>sSmNzvIeitXqgYLbF{A-9O&g- zhcrEDVGd15T3JA(d{Sz1!z;LufZ3|a9Wh3|YF5hE6%c9Ig`a@5G9afD@?`;~6%`Fk z+t}5KssbrODVhvdk^4ehX(E4{IZV6LM51ki${k%{g2?Oc?3yt+5+gs+nt>|qw)|@h zqb^R+6n2v;xKB2}bjhyv>U52(f(J*L2%SW_>&Z)CN;oX6k=iPW@tMT9xmvYRWV zmeTQxsaTkIEu|MJl}cf*WlD<$&F}Y*lh+GEpC{;W9J~h6v3NSRM2Jrign0T-5H2OD zg8w-}uiH{m>tOkHKzNrUK=~M?{#}V&@UV{_l!NW&%FN5&C>>~yyUZ! zrzf?XcSG8~yE9Jtbo&499sl;ahaWt%-_zc`H`&(rfBub?#g{A_P?mkcoJ}o#zq;&2 z%k6WP|N2$$ZTsBGP1W}v*7w%eep&g@=(ICS*1q3&#IkFazyHJX%>TahZOO}Hwr=Qa zakW1Cxahk1&$Zrr9=PtbJobo`!p@fk*gwdIVLF1zHsi@tTH zHh;RZa7o>U{kH!1)V=q@o$pRvf7L~eZ=JfxJp9pK*Wdcof@6+8;sM??)(O`Rd3vUMMcnXD7eD{WhF-?mOCSGacl?4ce5W5%xMbbS;;0Y5`72O4{KGw0 zJevL13qO5-pZ$w9RiAo`x4ro0{kyHd&)hoVf2%UbEI)SrLwioT-R;a7c+}<@r~RvT z|AD^E-x){8UHj?v|2%BpanFm5lYEz5@$qWM+XW9kc#&_$vpe5Az3h`ai_d9XaN6=A z8$K_(X-8n*cc(qLe$_8S{y1mH8*e{y{UbLVwP}oH_T5Rv>G9u|WFB~Lz@Xc%oBWUa z9g9wEeWCHzCx1`be*e&|i|nJXJ7v{JW&85Xi~jkKgZj zUq8~k?U>AmJ{fqCQGe96vzBMq|8&Z;Lm!{Af9&AAFIV(-4SiwX|N6Z?#5lET?Yy5h zoNHhE>I=`Eas7kG`fC@w{N#sCgEDS;X!L&)T0a!7eP+Q=pEw`>;;)vse*E+N7tFVw za{h~-4@up9+vPtz`P8{n-=6o+^AAkC?UnJSS<{klnR(%9S8VzERkQV&n@1j1zkk!Q zErDmBx@ptO$*0|L>7IpO6c5=w??YkH`W>my9A9zyO#|N4Kb{zWUZK--(=(4OTlZbw z=O0gbb+)m8&RwVd=f2lZ`Ce!J?zLCFSKYDCKBIbL!sMqW)qZ&9M{i#EQPsR%bs3ip z(*=IK`rkiXtLoORF++s^4l7yt0i6L&UV`uG)9|K9b=UB_p) z7ye-Vf4}7A>(@X2w8h=;<#k`S^vk{Vt5=V?>(Ro=w>Jz*y{T7H@~uPdua;fA?akfR z4VA}^@K{g0c0#`aO)Gx9(=%di-h!iF{^$fl@fRQ8Z9itz-P_+BRrIfffs?NNrR>+Y zFS+BC?=F7h^QWgSoH*`(zkIX(rn=cb<@S9w^M;i--SLL=i}{r~HNt`V+g`rrg8o++ zzdib=^<|gn_a5DJg=xyz_v0U~K7Qx?oaw(@Quq0Nd(#%B9(CEBKdpFW=Vt>3zW;{* z%eM-qTU-sT6dZu;+-l+A0#4joYT*y_hB_V<0R>Lc5~;@>>+wFb+} zlOI|Y2)d~j!vqd z)ObX{zh<@^Q9kIz6CE#(zdd8J1p7#A=XWfzf{<~K_yX?K3?8c9bQ|Df{=z?|s-dwuo zrXPNO@7j}m6Zf_B+n%;j>^FGxSG#Uaee!`#Bfs9hw@=9nuRr*!XIA4i-}+uU{g{mp zI&S^(f~{+^Zd>%kC7WiRJn{G67mdl?weIYMx$90p?bnU=ALIN>2A?=^#~cyjNx2c`rbyJ_lM|9bVd^|Mkgyy)~t m*8cCu-F0Wqz4F=72U<2=e#(Ju$0pu?*uJ~3d4KxRh5rx2NKd=~ literal 0 HcmV?d00001 diff --git a/experiment_dark.jpg b/experiment_dark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b71f79b12ad0f3a1742c23fd4818dea0e734381d GIT binary patch literal 76759 zcmeEtc|6qL_waiR#x9KP#u`%ADZ3#tmh44IWH)4AvyG)v5`|I-Swcd}lCtkA+Ym+8 zDZ9*Mo2<`!w0u6#@A>EZdS1_e&-XI(K6B^3&pqedv)yywv;S#-5;&x2x$4~%3EC!(b zJ;n;Wk{gJbeE07wH0cHa13$5XuWQ*9e@0W%WkdhKkeA?hfTp>Yo*sBLcen}xE(3rD zNFS}BtG~auvb40PpOl@Wm%WpegO`VNu${NGtdxv2po$9iwsUZI@)xjoa>01239Y(?PM%qb&cV-H z)5PQq8Rwtt0sg;l8$$=lA24v7jO%are+IBRf@u+$Jz9gq?H&CbJV3Y+e0_KD_Vot< z=nJr4ILP0d3=e`Z+!rJegy+bx%P)9`4BH>TlprVIn6qYD06-}M=C=%XcD^nEz#s$m z3j{j2fOr^8Kv>4p5#tHMksz$@;A-ax!i^w&%)`Tr3@?GOI5^%L02tvQtZ4r)oG$-@ z?d>R59H0Qm0w(}d0PuGT2K5&Jw7k5p`eIyM{RK2Zi*pjt^K_6p zCLkvxCkFsz`z4P7fYnb2b_qF5^G}~Qh+pY6Xg|6C^x1O*KsBgGT(tl6i4*_;^LYTM zigXC@4g7_Vl6;{8=m2H_4sZedfG{8q90%z;38;X3H*G*4Fb2*77XTZ;0dNI80AC;o z2m_*k8^CRFYj__>1G0czpb#hlUINuXEzktC1Mh)8;3F^!OakA4MSuWo0NW4<1O{P* zutB&W2#6>|5+Vmtgs4NbA!i_FkPDE@5EqCiBmfcyiGkdPBtg<3Pas8*a!3uN3DO1W zhkS-iLFOSpAX^kr3I+-|1s}x`3TX;O3QYDBgG`eBE>osfYL(`Lj|G7p^8u~s4>(E>J0UTMnL1B51={FQs^6K2Xp{B30;Ez zq@<=~qZFV#PN_nvOL>mcfzpREf-;^mjk1ukin5h*fO3kGK)FZ7NX1JfNu^AsM|Gac zg(`^Z2Gs+qr&N_xZB!qrzEN#ZQ&S(N7Nb_6)}_8c?M59+9Z&t3x{SJ!x}O?Py$*xH zxL}enHJCBX4(1QL0eb{{4r_qnVBcUQ8hRQ8jU0^*jTMb2O*G8|nrAfiG&q`Bnr+%c zw4$`iw8pfKv{z{pY4d2`(Du@Pqur)sp%bH1qdQCIMi)i*kgk-jjqVHGDm^{D5WNz; zDLsZhlKvt63;Is_Df*ubtPDpPv>2=z0vHk)3K$w0J~ON`GBO@v)L^t?^k+<9EMjb7 z9A_jku`x+8=`lGnVVTmIs+e$0-4X)9orP0` zn}rD?2oXb(Fp*-B5m8!EMNwDLRM8I6%_Cw*ERVzX_0o&to~qhL1BG*E}A0 zy!iN()M2SJQqfY?Qs1RTq^+dyNq0!^$()e6B9kXGD$6RXFB>iUM)rr?Q8@>>bh$x! zMtL21to&;KI>C0r@I>s1<`cUo6;Aq|EIm1|Afj+tAwywU5w2*W7_Zo= zM5S~}39D4A^i%nyvcK|6t)U<}MhNH$)jaf|zO*hTwn%_^!obo+Yd1_NjSu0$t@ig=_`gGjs9&J|bbJ}Uz z<2ph*E;_|J1oR1XD7sOXO4mU5p6;+7pPqwWksd)`K|fr-)qugk+#tU$&NW*wTUc8ZS!`OKwoI~|JTHAd{QUb1+!rtxUR%MeEUcbdtzXo>c>m%z z>l4;DtcNa%T?)R`Wy5WA#iq`d+1AeX)n%&7mY1Jh-mx>b%duOx*R#*CCpc(1q&h4* zYB;7i&O50&B{|JHt2rk*&$+0%B)iPJqFf)iE@8AVX&9oLu3MJdrn|9wf&2ay%PVCb zG#-~dYCKsz-91~q_`QO?`n@H+Z+K7oDEr*^A@~~jKJ|n6UGjVF4+j&a4*}u<*8`>k z)dSN5NkJAtuYy^EJ%c}7J$m)l)!7i8ko-`}P>0awFu|~>u&Hp(@Fx+F2>Xa;tT6T( z_FE)6vM`D+$~~$(S|&OvdM(B>=FK&}YmwLR*U{IDZ!q2Py)hiC5}S3C@+RhH&n@{| zk8bV7ImW%aEpz+9?VWgs_;+_??>xM-pWvL(lXx;Q^DgyW&$~nSQ1=RxSdv1L@X3bB zRVe}~aVcx}ZSQwIKt9MyrArM+oqTxa;p;~tkM2I&Npns6n0_j~EQ2@WR>tOI$H%x# zjm*+4zO36>TiKZGPfyTKs&bCxJjkWa4a}X%v&ienSIjSZ%Kh~A)7=8kg2_U&!qy^% zqM~QK&k~C%iUW%0pIblgD>+^Ay7YMIld{8Qw_gA+0$wbXUoIbdY4Ec7mExxuV5@0sPn$toXS+^&ONVAhL#JA2ZI^Oa%{#?+)$dQfuljJ}LuL1g z?#iB%JypF5y|4R}`rh=b_SfT3xTb;A1MP!)gYQ2Yee54PH}q-PdU*1aw%lWjW)!`1gtxjg=3C^Mr3iU*i6c_*Jgef;Hq?^Sa6U z_=d;E_GTQ3i&Xei@n^@D<<{(W&<~ZQFZ&+*``&iGb_clt6nv*}2Fu7l zz&wHR0sye}0RY{_U-|XHh=X$SZwO3B51?Pyf5E?U@PqG80zhsf0Gy2kfHUCr5qLcU zzL+%tzyy4q)c`2u<^R5bU(L^19?W>a2BEJ8QSC72$KMS-QoTH?dtvg-KSu# zGXemO8^7{;^58?y!BTVGsnbSh`lI_I$vyvWzjA)C=MRtn^9phfQbKP3+jYMYV4;D$ zq@;sFga8T_2$Th~-wGf=+Ni*U25bknfNu~AC?yp&jE0tu9vo142%vyKp%j!*Dk}0O z4iXN24^XmDu?os+QnQ)b!GwI^a#8o5&QV;ubw3CN6Ol zdE%skqLQ-KX>A>}uAaX6*>e__U@GU}=;Z9;igEMv4+snjz8Vs9?fQ+_o44YUl2h(K zNPYMyEhjfG|7k&C(X*GYDk`h0U)Q{8ZfR|6@96A$hZ`9DI5hm}^T^aR{_D4y*}3@z z;*Zs}^^Hx^&n+@v;QsIzTYowGAAGTZd{IzRLMdTnz91AqWX4%2sRU)ISv5^zc0O!E za#1w!Q}>>fH_-~qn-SRUef#MSiy)^&iDcFeIQ!2Si~hgj>@Q>g@HGl(fxBXIqX7S* z6cpf6LBR%QdgMk81Cuqdfl1jxqd91_1n8G{(SYHU-!qr zlM>DS5r6>-0hI~L0-%7saHKR#Fk&ifd>pm7scQgNC)@3Cmci!mBFYCG6nqjW{ zz>|d4y)DF)(LQh^iqt!>$Ewn>J%_#S85Pf2 zwK4RbIo-Xa+DqN;cEzS{C$gt^25cWKp$L7pT>HSBeeFI_A4@Xb2N_&-_^)wHbzyz+WqzcdG^`eHB@sV$(1>NA6S#M!A@xHNOt&X1EDm#+3NDMdpeR0 zPp9_a1sjp1?%_RFkPvW+;7w1rZ<*^hW!XWpOzg+~nyUvp^Dp^Ah!2^6a+aZ1p6s#X8?3B-eof}o&V2LxJ^=Q@5hKvw zOnm~GB2LYN(qZ0_-Us4$@U6dDHQ&|-zvP71V?SRAM_w zSi9%=0c)`!YvJPR(UEGgdmQ^fdlt_4yLSw-7E#! zE8l}-TR_rLtK_wJ0M~x5_nQWP%de&UN5Ed>3GK08e+$ksF*7CnYBsYSsPmDecgn$W zD|_3BDf9vApTY-vLRQ#4@m_GoU&8u1+iIEF5RAR9u*VI>%c6eBUfKr^)U7w4H|T&z z5LfpoS)^n^Yl0&Ev*i20BDj7@!3Q&vC6U!|^MEP%1X*?S_JPi}pkFG6K$^hH4|w{e zE+ARDC~(X!_LnA*#kDq*pgR+(7DFcFq!RI8Mo^GN()}eDc6>*gIP_Cu2e{4?2bSTm zBYwbc@4wbCU(5>FK#*x@bR_*+LS0Z*oyc<^h{Q&Xgo^_WB{Zm(vr=Wss6Wym?b8HmiX#l%r)qnCgl7U0q9B|{WUC*uB?K8>0fr49)Y>3H_jHm zd_r;`h_zz;{)#D)<8kmtIR}eik9@)`Wu%g#stI)sc}ABkmIEImfhNnX1GM4;eGOiL z*RPT70i^W}_K!QrKM-dRnZsX8PMi+Ms2|u3S#ilcO_1GF>VaNgmfr_xK_)lIP67F6 z)E{h#gkRV`{55XNM3+nqI1Kcu2(Frr19b6gt$uKgLG^GJ&SDt@l^@h7vLp5a=RNR0UwOHWT%n&(WZcWszkJDo*GT;9p$5s? z-MkNw-Y0}8HWp^luv`8x%8nNp^Ss_+tKiK5#BFA5Ogo zIz}F2OjhMz>P`*>dnuXCfBecHD&dF&UF!X1fb94QeH#=V*$BwaJ`qK@cWHJPj2H)c znYi=ek0aX$Ldd)|{3AC|LV5>wkgiJl6+&&)(Bv`LDNvIfgj+$qC)0Ewj$aOnOcPNr z4cL%Am~9nQ=zqC^&%L1DVhvk%Bs*bNMvy-)h3uYI$?oabZ2yGQ-6K~)FL3)nyL_@p zg}+e6fNuJOUhi-3&yJtIYyaEmK=UWt$sdpMuYkE_7W!vhKEMvtnH>LIL5q-ESO4p! zXU9QLaNsQdIurzAPd@AC!(Ypf-xcQtd1F3sCoX@Sr~rxV`FTm8KLI87+n=zJ;|-tc z!CEE~at~OD_$MCpuYghP|8yqr$)4-Lq-ukR`HNsYyh#ob|0En{WCeElCywm{xa2RO zURN(eh#A-q9lsRpm!)-QkOTWK6)fZ3GOtfLur(AnHSlkby8AlAPT@wgSqo-#i5<1LpSWHGM$9$Lk-mPHz7FRYscqJq6 zo=kx7pk;qd;{-+6DOC0PC4ShO`h7t6Q4Lp;?V|+9`jJS~e&61e<>Q{xr8(slW5`cXJxb53&HpnGI^OmdT#h(5~s&E#DRCCk0;2y_JKeqNzs zca#d4Z|_l7T|AAU4B8;Zqf_Sv_-ZDn8!mav+lobuT2(!M8qpK7#L*Tsc5~_)fByTJ zj!DL_QtjKtXddIws9Sl%{=K7NXS%#E#4_9O)v$+nr{JZ^Q_g+Ndi;F5z~Sd|?}?%u zi~{#~F?F*0=B#(j==jU+uK{Hmq>Fx3SqaZYUkgY$n;3H*%VQoKUUK=lmsnaWJ7p-= z{Koe)rX0}V`HH&Q>uc!GHrf=xrs*9w*FtsPk;VKnexMFu8e|}?PWMJF*GdMR zQm;0zf5I2?cT`?wcH1hzkA0xezVJEYYMDAgW%-=IJ|Jr=xu%$XW+{w*Dv;=0$N#YP zxz^0RSd-ix_vJB3^gzW$?H9PI^A4Jgro)T2GCQ<2(Fm3=O@fg8Sb7q_`yw}W{4V;; z!1`@;`QY@09G~dt^0urynuOFHA@1#YB5R+nLaVVDW|?F;CcuCHM@L8TL(!qC zX|_5MN5j`G$XCeea3r;a6ORlr5fq=3@RsiuqmGJ$Ddlb9?u{p`0Vy>d@C?&73JzW~ z|NM64{vIC<+8&IbUV;SLIu1~56VtbOn3qkFP-n>5fz0JA1cZkYXEnc0CszU#DVO7n zQl`2AWSqEaf3z#7e=eB1*3y}FQ?NC_v-Fkw&?Nw$xT2U)s(_Dy2IH1VxcFup=lV<} z3Jiaf@!U3#o`qQve5XVc35eVO~|2cGVwq|9wtxYJ9PH zdvlP0;$)eC&xI^{)MVB^a7fjUklKpkQpFTokX+}0 z)T!*z#!QvPhr}*N2P87yD6blLFiDF2K#BgUB+%Tly?o>(Q+84g!u3EWCw!+w$RA8dH2IBt2%Yr3FqWs3=K55m!)S+=+ zLU%G}Pi`3J^U{Xk)44p+STY!dma3%qxk;H}WqhhTGHp z(3|8izYAYu;EZ1{8_tSOD~LS7OcEWB^9)n+o8CP-)YnmnQTD$s7G&^LZq{95sy>kG zXKFcht!+D&qhita6Sj4njlkS|+^?mc?M>zDb7@=Weq_6}TOUhsgsMe?QA%B(fY@Qh zPM5VB$JQfAw{wG&4dMna-jWiz(0bEj+9#vDi2;3vZcBc{YB#e1Qx>f*Ny;L;noPa3 z7CeQ^so1{M)?NILZ#J^?rDn_z<><5DztBPxB=dKl*BX`u2kp^fC(k2QijGH&9J9-4 zZKLm~>@w3)6k$kMzXM9qD=2wtA82jAn`Hd?&5z(XD}cna;kX;AE)X%;Kv(H?E0gi# z(y~!{kZ9V7H8u0GTikjr%qh@XhRpkGuv?&wBx1S!S7@6`Nh+<%7Ih()%tFr_2tCzh zu+W)`URRaq&~Tqaki;H52?e(?O)7ihZXs7ns9HIcZ+8f>a-F}>stGGEwj~&j`JIp5 z5G3742Fbyyw#{3Ecyp1IN%hws!ns_IQinj_wdWrucC_JPY;w;C#`Z-?Sty*z4FrrsVFAGt%Yf2q7X#TxH9x^wzI z^r_x-gBEJ?5%-<-ePGFh=sEtwG7ZVmrd57f;WO)4xUtxH9mtwa{-gnziymQ*?wuM< ztF|FiM4C=ludB5TO$>kVP;yz6r*iju=5wdj3LHrX*o7 zo_*ztCN(dCzNmA=m?wrMlSy(Qj0zNc5vhpCHdPQ?f5bIY7&l!pEUY)?GJ*J<6ZY-l z21DWiQtCz$sNilpI=h)`YSL}9)-Q+F+_yWA z<=0%dlJ{KAkW|k2h8lq_P`j_Kwju~dsO#0XCjGP_(7wxv4xg7LF4S=mkk zD`$Id642BoaCyBLTY=qS8}4X;)FY(ZO4u$9>{w3KHHo|_7eR(5K-rb3^zcVJU?t&~ zwrRr*K;u~42p$d-#wW%qWJ;34ef+#V9V;PucL>EuFD`)>oV-lhA=^h*r>wxM1_0JY{HQ3_|caAyX`uMkY&&lC$9LZ5%L}3BFTKwVS7UxQJ#qNe2XGU)ehhtF**Ji5_{7_)(dq|H z$wPT@7Xk1uwpSv&F34a-@} z+v9=o-B8Pq5&Wcqsp4%X?)N-;kw0J3nuXt-sXxsps|{6e7_OHm*&0`Q zE!|M?=oAo;!dqQ?Q=&1`~%azOraj0TNtoLq>B#MOBXNY|q7m|{*$yb0u9oOPN} zMQtCXH$-QRPdvMi;w!gYs99(nlPd(nOdY2W1iE%DY76#S0oEZn{t8}*#&jfyVs09U zG@GhJNo~HSTVgtDUV}c3dO>`v53)iUKwFs)!pt3cLpZ;39|b=ZMSNgxB_O3Y zhcUuPDD|lHL9+CzM3p1eqjs~fn6fy~jUK7NP9v^!oZQ&7N}=~s%4E;r{8$Y@{guj| z?E_Ow`#_b2(nsXP4v^4*{MjZ7ga;8;Hzr9x3B|fZ{^ZHfw<^*k{Zf~=gJOpZU9P%N zvcBZE^fc;IpI2f}CnRpXC(RQsHdJE zDp)U!5x;CEnE&1K0llsTMAjz#-R>l_;(QuuAj2#G8M)=M5xQGiudw$aX-uqn_l&lC zh?XHnnKs**mwF_aaa8CHDiK@FyiB`|#?VeR+_ZYhc>KIlMPV)BOPz=?3g zRKUl|TIKP6f3YZMvCB@J#|LhxNzUYE<%8mrB=l~)BE2UhPZ?DbY@1Roh^|)K`os6S zD7pmY+smtXf2g11Q#RWXC(jthMGAVpbDVHutU_6*mS-7rj9$2EUEI6lUemHIavK+= zfzaDQ>^_f>3!^7Uy(P>}t#{XQ+un@1J@|m?{%CjNJCEmAZBuc1;Bvbs-kEr%_HlGa zX0Y|-a4T}-RrUjFyZ$N#$XiFt53_1>TYa$M3I2V+(`!U{BfdZOhAQ@14#qC#M1Gz< z%~-7AcEkqrnPF+X*GMm3tQ8Ss<zi_YD}QrBgY^>50?74#;0q+eI_%dt`ItZ z0p%_o|0)a$*5}+pi?JkaUsS+X>GU6+q6jd)1v|f)h_TyZr+t{9|*FP(RHh@iPgofcjeOP@)?Ow5dq(u6)&1 zy>0+urG>5(SM7t`(@P35!yPgNqi}{+&X6CBXGv z;%ZKE=F>=yItA5LedSejm2S}ro>dj;UQk((qwlUybg37rEs zd?5pMZ2<2^ZUZhcUvO6(5KBXG!@v^)-sEL;gzHRFB%A80Q4b6r1LmJLnr%n+0W2;C zB+f{s54MlnbDIzD<{wYtSIX|wTtpv90bD0{U4a$7Hfb9S6U+)wHc`WPi{q=U0DZN& z$yI~)B@+sNYZLjQ)OhCvm_DF^wo*1DrWt)T0m7;HB)l1U1G6ddaD={zQXc+CHn85t zC!q^Bq44$=&xckDG-U&Q!HfEV{S$D&+Zg$97Fky~*+&tSi+pX3i>LriP@BWRM03Lm59osqPeu5J3<}LtqfgzH^b&e?g2GpYzc=Jk&vftV6bWWY>nWC$pv{FO90SH(pQ8nr@rwsRD?fSDM@ zMT5+%*?91lfja0=DxBG~0?4vbajxD`no49LwU}K(G;heeah##2$v(9lH8>f#Sqvt- z3h}Cp0eo5U$k96|FQodr`*0aH1_-P9j7KV+@zIylKBAaE>7Py6%iG@wugGu#_uWNT z+g%$M#3z}QO(+7h!74$BkvO2#?RIf)#7RjhI!;d>U}SXY|q{ltvG?hwvK zPWY01H+G8mV|fhc!8u}Im_jkOR~D=m)2-DHKFSVM9oS1RSHl$F$5(sLL4>J$EZx7Ru`CCxg(}lb4VPc<0}Y0I z>_#g_gI5A~-;C=9`L7--jd)bza;=Q2TiHVz`C;l-?#W!*r@N-#5QGG`iPaAvszeg{ z#AUy4AjJo$)XH9TmcJI>t5G1CVL`+YTr+-eSAldcT#IcVP|x3#i>Qg+2eR&M_v2$) z-Za=A`$bNj?NhKY4$9%PaImB7yZj4AG{ThJF6{3Hj6TfuFC?A-tB`)@dbdDw!@+7e z`UH5yb*y7|O%m75|9I{NzpJWJF~4eg@Ajz_QjjI@!;VSqkaJRC9a%Lb6jNgBICpk? zkWcbsr3$B4NxT`8&)v`%8;kdqan&Y1y3}zJ!OMCp8ZilDbIS&ein;M76m)X3X*MdR zVETF4L|eKrmm-oiK^Dzd)RHLm)RDVHZ2%gll>c=tcV2^bG|jwm%gjGFyW>YTC9he=T0Y!9lC6ZXGxt+} zBWE^rBq79f81#P7^*m2Q{`Q!mNXVS{*Z!gSKzO6=ylzOp-awkhao$V}2K3nY5`{X6 z(%9y49wIs};9*4>?7X#`<=5{CJm=FeOe)t+jNy>Y;g;S{mO9CeCvC(@i_;Hl`NGR& z43G4LKe;7*)M;!$)myg0L4+-Ca~IlJFR&Y}4g{ySrxkpX+CdlEYI_xY0Pb7ye}FPf z&WiZqUSmfGT0$D))fq_$e8ZjPZ+)uz4&0Z%r+Vui)7comNjrMO!qYqOHS8|rr`F`` z(gbmIBmEV}R(M|`dH{V_IzVsC13%i+I@Q%4BHp+X2W-daW8r%f6R$3fW%QqyzFpyA zN}&rsRd2u)LZQ(#o8V)ED#JFRDpVTi7EYq*!yG)OQJizGA`JsVjw6~2g_@mq14%l; zirv8zZP?Ff{P5CfUKZc^3GJ)-ia)+K^nXXtAmVjp;vw^ymR0Vf*vSla7R_Q(8Q$bZ}#N{(Had=1irX}ymL7ZoW_j@?eWDuNeqgsvW)8J~GKV_?uZB4KZzkRbD}aWb0u z6tk(x>Y`0D(FIM4wZoSfSdbp&eZg=)E%rOHRBnB$&uPYY>D+ndR1rL{eeE!q}g3->k`ylkaLBGYVD>qxabu3R9lgH$?kv z4YzG_e=i`upUx(3w$m>bBGVU1$!3GOck(Zu&r>}*c}OOgPIfdh#PYLMK?nAe%2fXF zj!*<8$ye19!`yWwKco>^@K!9NboNJl2!nm30&?Q!L^<=aqyS;%j;b2yNu|pDezb%_ zD2~rQoi%~ke0aTC23D3_L5j25QLj2~I#hn-w8e0I4&^%~xLspe%A_pArxV`6zP1k} zL{RNOce5k77Ep&9oUWzoe?&UUyD7uJ&R+idlCe8JfafBHFRJwIh8a<2_vs!jDR$!` zDRLjc)DJ8h4&7EQkmfReBX_m=B(>k>ML6WAsw=zOUQf94hC6+}qzF@IBSF(V=H9tC zeUNTZi7xo#IS6w#a%wovs1~;kZgQ+~W*In_j6Mp>PpI;VCTZF*TjGrZEdJJ|wFaio zl{*{Wt0y{*Cv8aU9Vfs;Xe0Oaf+_i6F|ZJqwIjc+>8j55mMC`X1gZ3}L4M}x8y|h& z-#BM+>9x%wSSo<8c_lWyjBRe94^9S;CMlO!{85M99ym9TH=mXg@HSpKmq@47HCxDQ zVUxVAy#tWi2thiCO119q1=9$6Yis?xt+4?=K17_8Qf%Z2a!h@X06 zmYvkEdz6yyx*g$hEimjGxf&}Pmk=XX*dz=Us)!I-v_dWGZ40{F^6y;CzA%?5MyT8| z5gkk7oPL{tzNLSt?G|9rmwdy9hB6Ky+Kx0#ZnhZmH1TtgmIEMhZ<~EMV|+w!Tpn=-_tO#ywmfjkffrCvLAZ#sO?pSpe0?p zh0H~sxW_HfxSjhre~*i{gF-l@B*sf>R>k24rJU|;-_dBjEfZ=lwRy>6qGeQ=$K=JE z%VC&28;snCx48zL{H!g5FsM+C`XCTcFq1x>(nk?Eo5lzOAARtdLadv!?M_{a?A8CO zDx4+cwRt^YSJ_-#*%WQGX2uy4V=xL2$e;6;D5q^&w6%!n8QII_&nm{qPUS`md&hXG zY=s-^|1{1ISK2;-EGlv<@qGLB@Z_^uE~V)PG$E}-*T;y(JULN8E^xU^>T!rlkUF$= z>+EbxaDkb`j~|s0JH*9-;TK^3z^yLP8_vM?2}}mg|77gT;2)eAk+&H{O$iLFz0io` zd@!Y>G!CwN39kMjp(-DL{1nE4Xq0?7^BF`(Z^*2pUSr-?d=Dq4t{8(@UC7#Evs|?H zi~8_FmCvS1Sf=FCxgtYR3)TYh!kSCIUE|%K7v3C+uxom_)WFl0;@a0}mNRc&xT5b< z#C0;)rJLP7KcK-Pq%3|utTknO!@Qk4KF!~qGU6hd>u&icIT=WsFQ~Os1INSA)0{}X zk(rOj9-<|snp@O#)g*0~zx?1eO>M$^oyu1ZdiqTJZLM;$Z*Z88?DJk#~xy^S+Xw=V6+b&VZYMyM^mc|7#$`IuYk!&R4ik6*~hudye&fkGW_ z*zWi_s20q=Q+Kmi`M#4`Zf&|p^~dUBRIaOeyhQsU3%v`{qJ8qcaGaX5d0mmpR|}o! zzHl&3BEb!8M`;6o!FV%qwal&z@kZ%QGGg3oR`*QVpbt6>hw~eHc%AdVGoJ6~ra z58)E^mHiAfU}72l-(B-Ivnf})rGlrUI`pjorf}CU;d8Sk0;pLeWPcFc>G<{LOCulg z6(ZRpCDiUHa?7^?ViB(0Dq^ZQM-z%r6Nyk$4cg4Bxg)9S6^bTNIMdUy7-8x}nA6H!92<4nDHtN!kZowhc53 zwZxVw15O!Kf9@uFi3MSgg*SCv%C`K}z;&4@^<K$eRqRp(k)LoQ1Kj2x9d@4_>qendd`S<`j4mJ00%-1Kl!C>X} zIk1!7T_U@GT|;zRD%Z1p+ z-g+^%w_-$Ev1QnSSCVG^rY|HmqLxwB;ea|MQao=sU;u2$M)(%^8>n8d<(W{9vA^hY%VEZyC)+~zovHLN) zcTh)f>ZMZb?SwT*f5aDbJMFf7m~zZCK9(5#I%Vw9$)BTv^?ntQ0cUUJ?cuMWHiam( z85*>&l4i~OcS4K0pH0kLnt!f++3Cph#P?3M+AV9MjX!e-mBV25gKP( z!lgK`uRPfYHAW&rOhR!ckY2Z4T|)glcv6y9IDi_Gde%P67kD*>Ygh8e?2!h&20LaR zl2_{p>K4{nn)i&*E8^K>9(-?(H}X-35;&Q@n!r9~z1l0^ma&cK)Nd=|kSuPuFhVVWUO)}}R{RmH!o zT$Kusy4moeqkRmmK~&H5yi!0tvIjnH_|fJfYhdR!La-RDK!kha4!Q|TFqXb$>C*NF zd#g-UViqBHNiA1Il3&+`2Rc9<2^Iy91im8pTf4nce}(uQcE&z=6L-c!<+ct&Zn@LC zz~)g?xAC@`F#(4i9e4MN8uD<@wX(W|mXCE|lWE`Nxz+rjU8yVu>x$yq>p2-Bl|EVa zx!3TqSb3oP9eW+eH18IwkgqW$%YlYhK{pbYvIt@}yLqZ%Sx!R%x4mA@4dEE{gLVgE zdOv(}*z3$@?kT&o;tW1m6n1tiLN%uN(nI2aSK6mt$@kB?$G!{?n~i^A#p!=oGWInx zw1fk(aaPu8^5c=*;(QptWsUhZK(NP0TSW}{XgZR$!5mC{_tc0>BTp-*0*0Jw29R~? z7jJto#@+Li^r;M@I2$Br9J2H3$Qx-|(yP`8n&FZi<0*rhV_qfaRsBwTH|_(b3*yi< z)Kp#Bvh6l%&PI?_!*M-Foqh0W(j_hZ`Xucd*hIILRvq4 z8TFzqzuKgEC%34Vs~7=qxT2!#k76L9HauUwB_yOzbveIA)P4D(C)=yYc~q_grkdpj zY~k?<)p(VL>kV|Og3lHPNOJF6X{l3-U5QjoFU09**2X#9cE5n<;l27L)6)DAy|%AV zZS)OvBy3~#g9x$y5(aMV?($W`l@T@yG}q$W4E*rC4ac@vm&6s%cxG6{#|WW;J%xoKv38C$^)U{URQfAPFH}y> zUdKOmg{B&hpqsZgV=AzWdxJKI25ZrHMyUn!0xj>%vq1>=%Wz%?6^(Q4N@~S34Wpq` z=%{+uu*-(hji#0Pb-O8+ug;f$IX07$(aMt%4>UUBQTki48}T*7JX^3+64s2mAPp!g)4A`DsW~#hA2)R>2}oBz2EKa+~|N zGFAoi_V0etH264R=azbOihpOmD(-8aYz3=?UqXe;NEBbgwchW}{L^olK9{1J!&(%! zo8Lk*2bWZ?i@_t14C^Zztt&>$hKoj9{@GIOYZFU@iAQpaMZCV1R|5){@-iE)hqe19 zRIY6<^|KlmExgcIx2&cM^)`&SHFe4>jv(RrrMABH&6+xW>r5(x!^M&Q)oq{o!7bxv zW#gO3`KRFymz3YUfSAA6-9T99hZSw>v4D?5wt`i&tg{t2?MZvqz2kxYbN`Lx;vrklz~r^iD~YYD z$J=nN#B0y`Q<0Y>+?VhMKOCm6b(&%-P&qSc;prP_TS{#5;p@G0ydv##o90t zOYb~e%oHN}yCsIYw)ozA9}as_#y5i@3Yg~(}5;g*jX_;fCUd5>6F zQ}*rA&Y8V?w>M3)@&!S^9nzm9o3JhlfYBRYCn~KpbCzd@<)t$xRpJhUC zJ4PH~V1hNkCP}9}@M>8vQ`zj$<8mEssjF?2eH3)ct8vx|55b}~q+LdWc_>wNI@%Qi zE6hn%k4{x9gfKDV?&4z7!f#$fD3WJzCPtshwKJO%Ectxx&*;yT2MZwM zaW;b#FeH$rA4G9CS>Ko|8!Qg#;nfOz^TBK>d(!MHj%}-t!apY^4U!FQKnCV_Er7>M zk%#=V&C;ydTGjjdSK}@+oAHfK>ik3 z_{@oE;}ZwC_zD*d&^9T+W5xUhHB23q#2Q#Vynxx#H zh>M!nk&}ot`I4qqsG6(`UDT29=F_HhNdv6B%4DV_E13`+aj4|e{P5P}cc159 z)U|eRnw>b-L4Y?FW%wDcw0XGm^AE4lhTZXf7pky$E7uWK$R4Lw1ld9mIyQbJYZBNC zu0c*S$I#-eBy- zrfDq{bk^($Ch*&Yn;2$4{ZKmws=%+?m) z8gA5T1wHAVcE8B=b-*K!#n89#jOkln_H<6l4fb1GCXi*48J+@6mK)&!FTVr~_k8s8 z*x2{O<;b`2w;q&JXupJ*@!U8Gm;0Bm8>rl6KkJwj3K@?SUXZmsc7lHF=oX)W(f!HS zQ7zyjCC{JNMl;(V<$Cg9#3Fi1Uzu0#MHB4HSup^Qglxr3p+-h0J36FkN5fQi%hr;Q zZM}TkP77>cYkj$soA6KUDG^=!7zM!G@V&>$|@QI&3 z!_ks{=Ly3%!_?UGw$|e}FyVAxE+RWk4A^}67husJx3(a@GLSD_J*7d7($_cd%v*4U(5w|O)q+)w=@jq)pHmH^Ja`+P)LGt2 zufhu`iKHbh;J&v{m6X{B=i5A6I2*ssec56q%{yBW%58(~^`^MN5l1x{*pnK_)J#v)D*505BZ5dl7R_9$B*+%5;Hv%tE*)7y&5 zPt5xG9TAj|47d-#S}hq@3f+CImY|c;*`3Oja4prFe*ASy8oThPgAfOK?}sWVj@IG&@$yMATD4Een!nIWvm+ z&@#;`XP}Wb!$>MS0#<=6F;s-QW1W?xi&qtk9zR>ITuQ4Oc8NnDoua zqF>EQPc(43!71m)w>`RKainu8}EPyKNH#!^6yXVNyeapJjv2~`r! z!JbT4-LZ{%q!u=Q;dz0IlHY60yKkX&9-#_vejd3yZNPf5C~vVF?r@}mt7dDwX*f-* zt22KA0~1rsrpg^pQ0|Wd)VhP$``W%_tsrJ?TJ8m1YP zoamVXI;;d{WWc00&jGU5xCO=|CJn+s&t97E}=K3X#ofPHYE% zW#R{>;a_ok@R-cOIy4f<&2&|BUDV51)u5dadXN}q)(60d+-JZCX27!%+Js>6=%Gsc zI6!Hi5RS59<{j`=D}?S3?YYZ@^!J7+t>_q1N1G_G8l=fDYEUy_lvWISuI6=t2e>bXC+FG?h$&8A=YrSZq(~ zlf`z#0k!ZVpN`04kJ}in;?;1ZxvuC4oN!_q|uGunQbC-;@&_JQIJfE1P=Y zMM#`HTCoj~9!l3Y719T$j1e*7gvA^$0mBNrg4#EM zRE(XG?wSaT;I3P6 zynK;#Xti4?rS+b0cTgW;CnW7j)c7UQ4_XY0`7QzgmZmzCZ(qj{xk(RA$e~GVD+e{> zPz)d?u3LofhR4?waf>n^Hf3pT2+Qh9f|wj>qMpigWT|5_?0!vH;E>YU^ZFmeamKBa zr@n-Ph+WzA$Z~fnqTYhclpHDJO?(W}>q4clH!r62W_h)?T8t#^`Zy30mTU2SoK6(S zZa0qF1`U4}N`Y<4Deh0483s+gqquirBw;Z^bM9_Iv+_cHBqzDPEsv=~=tf*sbG^Yv zL16hagJSZVx__#v4F)M?R$Y{t88p{Iqj^jd|4g6og3!?D2+{xQE9{foF5~9HKOxV( zGLn+kW}Zr=_6hDj{s{q>-)J}blDDJ~%-uN**#e<|_e_+6UAOGHttw`g8|hOg9sThs zW1Q1WcWbqqMG&Fguci>Cp8B1hig(XGfb_O1MWBR!{Dk2A&y&m=c6=5ahl_%EX|YFl z@8o)lSPHkjXoIp9$0i*N2zOj`OK5T`nMd&vHSWoGHggT=GuEE@fE#VAhi3{n`U&3r znr{BMRAM!wt{|$e}3(Byzr?NBK2_Zs3$*ag(6n}QBl)}wSk~c*C^~&RrMDbWA2fu0a*z*r z1!ls2Tvv^dUx1ITxRB<$3Ml7sUFfjJQxDLOkIcF9 zyzA1j?blF+cqOn*RIFLZ3OU<;HT=S(0QiE1d7kG~HB;-<0VM2mlLH8&bPjliPD%e7UHNq=bXlQoL_A&=%-J zJP|vs`E0vY`s~waK?Kt)#%b2S`>=ui6^gSbnZwX*~z5^&poG@o4f*_`QVNg zO=zbNmOLkD^e|*-8|Ynmqr4x%xe-#ZarE^d)v~+~oDR)5Dmq?r2C~n#?_|OdT@gWv zJFF&TWG>U~CTr!p$cuQ38u^FvHP~x4v(b{5aW_^%BpBG(u4Z7HSt%x7_!Mx?eucWz z%-xM%*go}A?3KoWbec!p<$FB4*zQMjbvFym3y|u&4F*JMd^gYyu;$UT@2I4BdFQN8UQ$N*-3Ad~vWmDWzsP_FN>BE7U zW}ij)Ef~)VHE2g0;SYR09Qt-o<_#rDJ)e9-eV;$SB#W1pA=f+#rq^B!${(7;@akVx zdIQRd#01FF9X)O}UI*V}{u#J%qW)E03oh|}`#v+~uXG@IG?fUeo@-I&M1;B+vXCDU zt0>6(Sv?MQnp2)~qyCcl&74O250e`L&y5bod`OxKqk;`3v=;5-K0c7liNTcL?!qPw|2As$OB zf(vEvA$?22!>Q_sL`NsK8!uxxbE3Y|k8<_;JQ--#nTOVNFXLxm@%gH;RwN=V?vQt* z?uj##I+yPT>B?N9yCHav160C$U(z3e?`9ctP_$a}p@TGiMAvz4C$i0}^G-OI@vSz2 z;#RZFxhP}7HT@gtCy_8D7ip>klRU{rF|P0?UVD$fjjwLFW1_HX6ea#OiK)vpaOx11 zd)gm2Zc6g+AaZsIow*lSy1=*XS9!JkBXq|N1l~YlNu(Nu zyA#U34w%}4*)=~)Zv0SqaB%u!T}Hf|4im$bD1BBuY-_2AUyEtfgTWW%N(vUFhlF&Ou=wQwBFmBLD>ynriBxwdJ2 zljlN$&9g-dN%wF54?o8`)~1YwPIupq6h_2$U>KmS3iJ!mHy{tCRDdKnpuV02byniTS+_F!ANe7*Rxr{nE?<^e~Dc$;f zvek1l_dqgZuBnOq%1$}6aLS9>98Qw*@(8KhigLb$dIlW42{(gYg!bQbOhkFO#Wl`FYxHqbS;;nC)uH$t>iD=%g*(#& z0qv`|f!}lOIXq#i`f9r{?A9=pKhgk^d!D7wIjv}bNW8dOlIBQx_pXI^y&xHRk<8f& zE_jwG!cWL;nn*5gajdX9)-s0KPpLhajXRSeWDPA*{~0NON~h8(2feei}PcnFNhlU$Q~W2fDWE*I_GCM{gbaN2FYVWt)9`jy1h z3I0|Z{9ZbYdvTb^{)F{`pTr}>?YL<>fm`eVqHlDZ)H`MYKVWrJv^GVxt8FR ziz9whaT)hzXr5#hL+}o}Qk6)Nu^#Rbg!5j+PO8=XUA|d{b;+yWQ=A*f%1-^Xqn`3J z?1moki=9cTE*8^j<^}gNx%-;s%gCEC+?`orB6Ya9+8VNx8CvvX3@k%3UT|qDar&H2 zwp>o%@)w0buCh}Z#ou%yS95Kw{ICgc8^2<|yzv}gxw)Y;(6)=>mOJ!lQSO;aN<)uu zmmE3!P4(btKi@v?) zqqj6Z5o%@arkEw+cN_abxDeNr61MQT9jSNCAxQ`ORQm%KK4yAc@%sCrm{$*T9ny2N z73-&Rt5Eq37c)!VO=xRRXb>gmB)6VC{WNvo^mS)zckYhwH=KWa3QO6oYg9LauhTN2 zQK8wn`|Ta*#9TpG{H7)5HEDkw#`dN{)rv==HVZ_eoj8$SW)KkOfOJA#g|)44I-AJp z_gl&apJB|_?lQM?Hn)8N79j}luN zNPo1V)BBG|=G!H8v~q~NBChewri7!Yv^AG=(L+RTnq`;fEq9?s{bu684cGPW8_rr0 zZ&G4idG2u|9@($_ETUAo`er$DV&;l|2{c@L>1;FoV9ky{FCyLN&dj}|@n0p>qM!Aaei;d;D$1Yz;d!aL9A9)hOUd_{x_1qp zRp(Q!43+=etFiF+Z@zqM(wH`on`tlVj8w#E@?E#MbnD2?Rx4xo}s9N2kwP?wn7*e(q&y ziLlf}RZm6!RcqnI1cQc%`UW4IN>ZMVX}H0-9THnUBVTiWIoT5_P0E`rx{1%zI;Xlg z{H8Cs;6~#eP>H?jjR$c!Q<*)r}kbn?z*A!=ipED4i@U+Uk4RS?|E1{ z#?bY#>50Ld*ZmXjR*lYQnBs|7K3#E2{N!=N@q;+(P}cNUj-gM;ODJ~BD%?-V#oLDc z8zEZpqqMnRgBu`*VntFrSHLJHT6VY0Onp(wx^7DSp&#|$Kbg+wFW?1@6A>`^>fMSNBgx)}wnb@gh0}+2$wrVpcSa!jd>E{T|o6@abgK{<=eoz>h+1!<@Q^vh* zPiG)gA|4D9H6S5{+qSYndjSoZ*&K+-AsKya@`GYRDpRD)ljJ}nCJDeYLCml=V(#|V zE?O`bzY@h^ZY3L869Rf9($ovAm?g@rAUZ{{=2osUbTax;o(smnl|^47VrwAlNw;4{ zTAGIr2NFOzD@ELMWy1y_rR(bW{J}{tNDap^c!Ywcv)x>X-)WK(kbWTE|^jYp61`o#($yL{LNT*AjD(|;A$wjn7J!0hd+o*fN1D!)2qLkKdR*FPb;B zD|m~vR%XvzCj3FGniv6{4AIYJ{&c;&GYhub3&*BVtQD$L6n{eC$6tRN3bNdrbsZE81Wc9lu0puk z78SI3a-lTs;+>M9s3NJR$SbQ-UQE~Fb1u524T0q;vgX+W#HID;O7Q)uIX7mL*BXk| zJ7h{}HBGDLZ^c=(`$Vv0OCwN`7;6yL->YW+7Qz!~ZF!PWnm*Aum($9yCQ3%2q*x>v z_()|03)hR5Ea+pcRE85zne#y6vw?pwr4l$-d1_)ombY%MTc!B>k|mH5mAqEAFS+K? zI>>+OROGo5#dBf3xMX9kcusKdH_GZPc8QQ<%*E8F2#Lg#1*i|dxF&pb*NQ}!z7-KL zcc5zmPzon>k2j3jts}BvT;eB$ZU!)suwUzYYOWtzOfNFhgCb=i&6jpx!AN4TJ<^<8 z)xhnt-<(F@P2*vbH!SWhvr_4Pi>yI9k|k)dzyb5C1sGnQ0(f7Hqklr8fQKTE?n;Dp zD^Dy4GE7mA7I3Y0{r|Sd@o_tY$DQ{_KS-@Z{)D`{h}!EE=uzM8T~yugK3P6)XO|PA z2XeQ3e*L~S?N1lVpy5NXdDUM7E!1&Zm*SAo_%T8~isD)=AjbWKv>-rmJNth%#`s`e zP;fT8{@3UJ`}W>6(FAii@o(E;_?EGgu_GEkK9jF@1omwJN}Xwa6rk(@lL34ve>zp@ zdwM|UlX897-q`lmSMYzVZ!+%PpD{#L8~o zpmE6t@2@30q_^}}IwnALqJNhI%s}(lbuWX8Z)l1YO_Bpv$Mj1yK;6kuTI}EN(BChx zpLt|AQi7}p!oJ#(Tz1xt%9KKtBj{}v7K*ZiK2 zt;qB36rQ(XjzBl=Q_X)u3jeHz1<(P|=U*Mz_i;OCO+BaA2%Uw&|C-qEZa@h*7(o*G zdCJ}hWH`=507t$E8Qbh429zdci%t303<~xd??wHY511!NA*A2m?EFgwVY~bPo2NwG zZ*AHWx^hDy{cy9(uMZi*z8=HuDL5$k03(y8N&g+%-g4wZW;A|lV;{BacVh*6x(?>^ zub{qN9ei63+4cE`p;#M&b@KS7kf87$sE77XNY0;$?};kE=AcTN8vw2Uz3>2&C@CX5 zzcqPpfQNYsxrTqu0!@IyiTD33aVi4*==QIg0u?D)F{Up4>R2KLIA?xIYtO8JP8$E! z<|r`0V*6y>kskBT0xmF*-!>B4iQ?+E`6JZp)r;^-SrPJ|u?e6){?;#`yQn?gJ@%i$ z7_cj;xG6$;sphcN-_Y=T<^GpUGwqTd?TH>N6?9ebw-)`H<>0>>%JiY{X#m{B45R}B zoVh($^;)$g$pt9)y0W`ma^=DPiJ>O1Ev2xWF z`VBOYz~`L5^aJ%rKmHxrFWgGb0~t#I9rpC-_uPIpF7S6z_^uA#62TUD|3cI|Of>hu zgK;4A?IF!?3_GLgiaIy``_lh*IM(F_f> z^4l^j{s$gq>>1Du&7JkXUDYb0yju_r4mtp5(nkJl9hSdzJL&Iej6jRd=fu{3ZHE7D zk$WgsP0*hEi%nq0r$9=M)t3L>775&S|1R2IxBng%_Rv2Y6iNQZuxf%1fWg1A10U@B zKjX8ASg@E&{QtI@vZs%m!+&?aJwWDKuugL9kp|fHFCg!!ka*zki+^RZUpBD!|BB?- zCcK^ZAH+(jVY6|~PKI)nWYp|$dHy;>fF0~Ns_iLEQKi72W!pQa{Dt9YLf`GZkNsBd zy{#z;Bz5I(0eUrnV>EaAKd9pNM@xT;dk_C1oPtH=e_Q=XeftR6sJ9%9Ja(Pp{JH)}JEFP4(sc_B*aK7mv_NO=E9<*%Q5Wef+y?Y_%Gg7xhztviqL=lUwwioPyn5d3NnGG=nm z-FVWXsF__U3a(^{On|l|l_g@Ubn{6{NXBjPnH^u?K~hgP)|HGg&gF$7S=h7|ctEmm@P_(n-5ghz~1y=fq#9P%X7&WKS|MrXltBoQL(Ni>s%aC*bNUA+u5TfmQ|;v8>f z2(kHV4s^QqGs7uXOd^R!Qk?2ccvJkN*?4_(|q7kDM@CXo3(!Z6G^?WidrDmm;FViW4g=`deDvCb+ z!q6%6e!)z}a4pJ8Wyv~M~1Tkfx^swCIcWVW0OEn*V+EHn33{7`i3Y*t3)F*f`B z2kIQUb`}i!pJhsxfYvR10wwrM77T@U0IwY`NXf!^8jhr=GMjrdDjs7Cvlo;7vQ`RQ zHO|h)*lZq1gsj2S>t5`Tqq<3f;Ds7)Yz8iKbvSkPIGyYuD0C@@%<*KF0yfrtS&6#A zh4i&YWr1L`QYxWV5LtHR;pk4tQJ&XDj{+^|AJ3*|Z+`~nWp7W2ePl}qtm{Un49Hw7 z1{Mr%oG0!3aX?!1V8#p?z!~Cgb*>+mx*x`}KM;6{0xgq5fQc-eWH^%j$PSwvj)g2) zFe-|ymj!V1T)<+#OC-@Uqd;A+VI(-A*%@QSW}~~Ebp(n5vkhZWiQtN*5u@^Oawdxc z-C9uzPbLH;^Qhr617u#X4r0UYERFb{FZodtDQK|E*NX9i@_ zDbnN7aka!NMB2nt&4G|mh35kTPuv<~j(<>_H=6h9g85BRqzXDecl zCS510GM+D-$SF-l^{5``U1m!P@QU$qUv*BF->hz%BAsA(@tLYohK!)};8Apx?k>Lm za|_OlOVy`(3^kc99AkdBknc0!N0D5ia>H9`j36u*gNVf!5N)1Pf*gjZBH4Uo$|WM- z>dqPYhi)oLcs3S+{cuZJU@@9G547DOg)zl#W@cHRFDYC1N%-r2PtUl0ow&{qSM9bzK&H&>8aS3W8+ zCwZhXFSZu~W!5X&`mt@-8Ce|J3L{y=?@ZMrUG-{7lW*Md6+a>Sat_Uko>YzZa%%s6 z;aJSETXhlgofzMhF>CzX@Ng`5vHq+Hie$KdKd@NjitvnaRoHZKLWmO9b@7BKRv&hQVFu z8ecTOlvBQ#4pj+N&M67yw99|;ED(n&U7^TdZM{R&r(vP5`dZof2%?%Zo%vkY;Esln z4<|;nl%hvv-qRaY^!Z_?qYok+2qs8j$^&vwTdwq74M7&qMu%)IEl*3XH%f+ZHK^R~ ziuZ|CXzzpdV)PI?_9uj7)h9~X+;~fNTeg|$<5`&GC09kWzD)|1Tj3~Od^~h9Kzs7m zvA$KnY{N}s_8?y+T!wOk8$%+l1k=9DgtyHyaIqbn2@*cnS@5Nc$0H|7CHYN4rOE`f zAc%UDQshgTgeEzPi48imh4M@FDqgI7+baO#p~9spnUm0!}~k(GosQPc_8I8 z<`^QhgI`R&rh($5bx(4@H<-6>Jh(c(G5e#MdrnVL^OrdV0~I$bL;>vpdkCq@SI>pA zM1I&V#!cElU-dtl_iZdVJ^bk_XWn}+B8_XZ7FNUUdHd$hZm&OS-rj8njD|2C%ms|F zS0n7Mzi%y(zJrgjWHG#~>RUCVpUOPna?oN;hnFO+{^5APQ4uK4Uvb89B$QK9&cvEx z9gwSaJls)`ujz0I-FuBR*D(^yIMG!Pu}#35L1V=WIkrbOf=QHmHzNGdyK47Yz74}` zH#e^4s-k##uhIku+MsJ{6R7E0)Rt6p0`2{!Fd>fg$+cU^Y{E)ZnfZX^AXOO<5P99^ zX-czZ8vBORIcjv1_vIJA{mo(Mf!Ja`VT=Uw&aes9&#e#N`zMMCzJ`S&cTH?fFhmfi-y+lKJrnjBz@S1 zA6Pt@s3yYFeDbD5!&xF6Hi;f`qo;i|qyu!-D$2|L*CpIUeOx(Tld&%Mw|ed{B+fJ+ z_Z3(&*6$`C_9>g1VrEY|bn?jgzL(a%^uR5?qydXBIJgF90QHuKLL$I&wBu^f>{%rW z99i{;%+9KI%L+SXR$Qh}i*<0K~j6-CAMwVT5;qOyKIQAH5h3|VVf5(f!Jm+D zHagJ*t#iC<(yc3$BPFz#q@wnzLl`eqqAq9Kc#6Q0_eEa0PhnmUpx@Ov_Qk)G7+p2` zp3=7ZiFf-RK=M|(W(|t;29Y$ftT%Ia$66lEr{k;UVuW=%H!d(~ta`yue9Ob4%XrBx z0QhTK_YIG9Z^9Umr^)SYH=qZlvM!d+>*ZBR-*IXx4NQ8Pb*zf#a@45)XMXe5>h3Tm zt99jj7$&L@i5^rCk=zLi`=*>pM3BOM9?0gy(-Nj)UoUUujqniF=8_;)E}o z-+a*0x--ovGMlOysYkY6aYJKjN2rIw9Y9(ioil9^#cU|<3Dg0}=9l&1$Bxy+L$7l) z3Y@3=M6MgiNADKGrn9HGoB5II6kl>I-msFXLz#nW?dkj6FZlJ8irYyekOmTOawtIW zGSuo~&}v1i7$do$1Hlv+OI}luyqnME3cy^WIzVJ*--+atAK0zSdL8q52Eq*QO* zq`bsW-KHHT-FpMC@XU2ld2qsgjw}CLK-i2np*d*x7HT@n zuh`Fx!$v{ht9`v)pC-pXMRrnwlw;(*o&8%t%+wQPf=SQAcwJf-W__G*q@L|#QL=u8 z3iq@R2(VxhtfIFcKzV~tOV4m>--X zh3UkM))PYGn%DrT=EaLMud#5BMO|A((N&AZ7!8Ns-QGt*dF`TJ$@A2iCz!$ou!^yc z&3xFJlmj4{rU&oFhO`(_bk84Y*SgLnwPoJJ4YL{By1rixi!p#rKZcRuD?-5Z44Ojm zD+$edAWC|d71zWwjm1r-dhiK%L<$IMfy+jiK*9rVV@-2{Epoij)gN;es0 zI!vr7H$3PG9j`xjDyi>A{^^cpXI=*SyVq3_JuLf?GO~uXz^J5m4kGSud?lk2sS@}J zzwr|pZ8*lRH}Rc^M|$_cKlJT+WPRFBb2M{ZroI5!Y640Qw-Ia$d^~) z`TeY*V_tGXs)Y_y>P=D8hzHYf%HgcXzS9`?NgB3*52;5Q>2y67Ej^$QD}SkVHsd>U z7^C|awrTR92wiX_qpiWx0tz>^VMnRl5k&e7HZvhz>(8#Uioa^tH$Mib&hj!&z>m5x zp~Yi3j}-1^qC5%`F?Cv95n9tJZSog2i%{9=UL1$(q7A99>OJfz87-wSwb^aXl1Lh2 zfOf#Kd=g>O;S2aMok=Sl{sIWA{RQ@;VMI9rbCM>HYSq*~ zO){C5Zcj;^;-=bol==X;`A(b}Kx)s={?PMDV3E#9l8b76Ig+Y7GUX}*I-*CnMMMh2 zQrv{~mGOF_c1LLMv*us*+>|I+*r%x(=Uy*eNf)$*?J{M`-Kp5Xf^VRZ*LLql>W)$m zk*|4G8aBPOemu1>-6WJ5bjA9h9m!ov*?n+}i3Kymhl4%eDIYT#I)q zz2D1g$8+c-9KvA}`GC3)jKLlmKxy4^2RN@lHU*VW`Zo9_y@&Pb-<${!E_SuWnNOr1 zGzoM3oQ)yDeH}M6cApsXI3ZOipYRiK0&u_GRaBpPxiHKjmcdPLuOFSVPlS$H>eW!EW#h@=F)G1`XGM3fSrBW<~N! zoU#Yl6%-MUT{MZ$WfmHhy1kbwJT2R~CD<+=3(DuvF4Re*Zn3!P0c7svq#Vhcy-R|1 z!uTSYsE(w$4!xCqZ38~ID>_=s_QW}Xvl?L^M)a02^2hVQP2I zwnN+d62f?5m}@7_-B0wYj!C22OiWjW3j#v2^U!S9wE?%MsCs_tA@J^t+bhTRd)zZ~ z(Nu?0swpJ|ZRJZC3641#(3j48l&O?(fZ>qpv76}fH5ldamkkt)z94y=Fx3fOU_j`# zB)}%(?&vZ8N3mP!;}5N^Ptwz?Uy26)4Q_Qi z>y?ubIzRxs4M-=J*q@%~b{9|WF>$KzSJCH(K#!Ge6j1tij!>;ZisHV-J4H)v!#;-t zHpu5vq-KOiF27soWzv2}bQONOs1?>+5?JBQ-W>ka)k_%S@g++dkT(-ecxz!L{hoqlU^|`zI1T*~vQ@crYn|9$$ za1(1fyG_e3_2zs!u8>9QmJH=M@GgzZ&66SSB+<3SR^A(B>?#WYXeEgzPlC3%QRG6G z@z0HC1c}erh-#fe^lDZYuPI!oXTI3lt~s)GQybhoUP&*vKcT&Yk^Dnoh9V(v2R88WzGjpqx4$ysF&6kLD7@G>DO5@ zkFuoIdvyV-;c6HNcu%KUU?tU*BbyQT@J70S4ZopNfU4Nh zfaeWNI)do1-GWFpgghQYObO>~RUTdK2t=9pD!_Ay3h$1{&81o&93x=z zR+7Qx1DxL8Y}})u@hiztZhh-ForZk2jlR40YBUeECrlNr1sipTUgs={Py?j#O8iuw zyIqs4uSsTQGnw`AKj{4phVl!1d~Zr#zK~+5on>UPXw2}L@9Ki`a^Q@On;k`GCzLYW z2lr>2Jnv*F;bboNZn#o5&sF6JvN9>vLL2?9Y4tt2*pP=dTp(u1O5yC9VmB09Ix=EG zx#L&YxOUy8Q*Xko>>z3e;j#9b7eqWlv=<+&5g1)?Nv z=B2_f`7<@>OPqHr1iC_RA|_UnHkVFn%tt<y#V^- zgxW>|rMnavT)kTYtD9{kS0&X8 zO9yVf%n$plX1tBJ@tv?b7M1c z7kC+OeJh5dIrrsdJnr)G9Lb=1Uh2*gw6>tz2DNd$W;dhO##xheH2DQ?SvPF_cv3xj z)`R*v=3L}D&1T#zEI@v9ipHV>?nGIXr=&L<(WHs)Wks@3&uLOeJ{#EX;tt2tdJW8E zm9(fCMGTpTZ8`%iS`0Hex*r1VJXNF2MO6jMdn)o1in&?Mj6|7aR`QGdbbV?;b0ewh z^f~Cms1L`&f{AXQHupD2?*hH@h9{$HF&*ZV$K=)X+2@CFDlB?(-6D4A6Upi~5V4}!{$+zayD;)xcLWm#Z9oa8y z>f)SP<4(DJKweG>5f=&Vl40)yH`?WEK`Gdji6@q;IdC3p7u8m!JGGYGGqAjX<>f^{_c1ItM37>F_ zY7l_qsPKKZsCw81@%*b()b(Sms)q_WnjYm+%hPa9LXL|a8SCooP;4KSi^&)ZXo<%v zW?)qAxlVrhLyKnZ9gUum$F2S4Br8*HoYlR-OLUdpt*xwH75D-e}8Uit%4#~@o(9CPexggQME%1K2~fNXCt` z9GR0$4@?gm^5>@w6^I~1ck~f%8)wLx&od|zt@S}}UYbWHB|Wdc_7WWZSbh}wz%Aj@ ze#E>Ct7jyZB5Yp|BN>IWRwB3R8d04G5J9P_33XTK4VVBx%Q#~^trG$x z#=qFn*ZVZaqO~=y{{?yX$M^AWtL^NKaM1Fb$cd?H<@Sf*#WObQdBM-mU->H5vdV|A zRL|A;>id0Q@?a7hWNa*WYbZ{^%=Fy>8;ls zb4_ig#|)eae=SCLw5MAl(`MRF?&+#~sp-w$yA{B}K^1=R3^)3*-#naru>F|BJ#tEQ z-2m}E6A7KM=LBJF0J6MC>6)?|sD%of@FrK5!AmBbT1&?|{YdBTy@D#3)_)XFmFyyM z(CuqJnzB(r!9$mU*YK5`_j?e=;mIxA=s6paFFL#WM@wSAP1WO~s$mykm&Ysa7Elfs zboa<7DDntR+%>!PRrcb0`nmx5wQ<^k^W{F!YSeO`4*`xtpRdOvWoK3nw)#%{h+5LW zn$mr-I>WvR9y&R7jJelrk!DZj-Ejo>zX+0ahg-EQjQD$E4*x0_wI3l+Xrs0#L}nx_m^OHxV{C{f zj#xcDNHxG0aC+v(_zWx_v-GE9V3QEs7q4Rp=`&bbR32s8_yAnNJ)q(Dly6TcK3$(F?u7H-UzScH!X_lgZff0E zMCbIg9c;h!PC$(1tC-CG2P+to5$x7ah(IJS)rnF;_8}yvl_Nr1a@}Gpfe5R)^(B&r?=Uf4opzmdAsdWhjkh zVJDO}FvTWK(Idk<=O>|WasG*guy9&a)4(mkUHsmKkTMH;sD;))Q(hp;69)8RHK>!@CZ17SV`3{kP3M7M!tmcuI zHl9=PJ2p<>@d?WN3aK*w*x(^-aB3E*^(#*HoyoT&{yH?N_nVbdeBgx4W2lUP;p=ps_5G+6juu&AI;V%5g%@ zXUCR=>c5)~jG47)PsAT4J=TI)_R*^|LqBQVMT!zI5K8=9Tcp;2U+_KqPjzswo5CjQ zzVq)|xF{nln^Z3T6N8}YR)sc-V$)aQKEKqs8Kqyrs@-)tkJeXi#%peG{qFAiMK|F4 ztwncPqj5|d*7r&gw3?W`HGcqtLEUkedVAIi1`ep@$eR#i$iN4$BO zg1G&|9)IOx`u#nBpR`tT>8L}%*yGcHG1cN}`n)mANdG)v|yOpbUb-l+8q zLkRi}*n28KNh}w>0Qaiho>H`<QbWS@kRk$v7Mn7LXpc&{UJpLoJd_FEqy8t6i(>kB<8%3o+4F-ePOXvY&BZwLu?^^$x%ZrcP86 z?Z9hFHVM0g&wpG-i8!3tyYWN*{amerex1AE*74Mq{d4Q+fS-`qzz__ZQ{?BL5H2JP z<*i(s2XD(zdgwcQ+cii~$|5c0_;mTZg<%Yfp*qr!Qn6!#Jl+f*l6vUUFtScGiq#nE z@w>*6SQzlEDC!wRw1OXB)`1bFijsTt$kO=Ir-mt2UTVyhe#G%>X|FfG1FCC=08csG zSsEJV-j|$zh!V5|2gJWucaxjUJ!ak-3cvRIszp5TkNfJ%&3^a8Ir~&C4a_SM^;E8y zxlT~bOeAAAUX#DPM3_%UWGq?|Smj?;<36cl-?U%L*^&$oXjf=>ci4Oi{Ym)_l;i@Z z$c%JC_e~;UBglZPtlUhg$?v{~ZMfb=&rx5wfp(#Hs;V3Um&JU(o_F8)464L2V;S(> zl&X-LyLj5eV1I{G^|dkkv##7otr;-8t1zXY1{=vi>7g-CO~Y{NXzEczf&35WgNUm4HqrzY zB$9e9^(D(K-Mhb!4~}>NQ-YAoT2cFHQ`uxh&xXqg)t~V2O@(01)WNe8J>RB$lU0OI z*s+v$oiDk5%nZ&Xy`@Q6-!Y+H+AVFCnnYfpj90;{5HXvc;SU1doZioC_Yb3~UH?B2 z`IUkMutB?^fUMg66NX_N>YT#G8)27OeZ35bag{@ZD&n|j(pgfeLSs(V^KG?RN_&^?#t3A?oOrqTpF zpGaEV*ur_0l8JZq8hTW;?xx$^+-ygW7i<(!+{k6lyN{77ga?<&3AcT#6gAk*He^;L zbA{7t2k#6G2DXTMgkNfcwiNK_dyz&6e%a)N*3IMN9YUIq#h!WvxLfW!e}Z6oDT(D6 zn_5i_=gCXaqqH`|18$RED3T*=+}dHF_*kF+^!QVW5N!_+m*WSvg{a^>5Ocu0F|V{_ z$LN!<{_S==@ynZ7X!B9{!=?AL7}Xk({ZmHt0y}q-p&o@?f=HI3!pTx?Hd=0tnwp({ zz9plAXVe5O`o53k3|VwDWw<)-81CJeU>+l6kpjk$%h-pVx$X->`8xdmbkaT-T2HM9P;LRe6T7^_L zG^wURJ>slEla^S>qsRACZZh#`l_H))1zLaUSerG}IyQll&yUQ68 zsolF3sOcwewHRWNher_-Nw)UZb$vwhZ7%R-ICJBUG)yO+@x;|u?JEr6Ax1@TE;)k? z*nL7(nFa@9s`F5W-2jyd+>AZuUsg696HttF%gpJwF33dop4}NRO533aHpA2K8pK3m zjz_-F=J)dmu`#7r`F|W;2RzjO|352P5ofOoAuD^Yuk6eQ5l3WZg{*Uw>^-88lOsv? zp{&a|TK3AwEG3S+a4t7~|9Ah#qeqX_=W~7T{dvDXpV#~KTpw8_G8qgWb?uY1n)(s) z-K3BB`VIBQ=i!P;Kv+b!Me97eGI~$iy1rP(8}jO&RVw56Jzf%uApUQYLGWF}fWv(E zMFT!Yt;6X4V!n1{hOpZ(mqXwm(j?)@;_;xbijD@28aJ{x+>%-NP;l9^FqEot#p>fXR3}dggWk+!<$C$0c#b?Gz)(=aSS03U3kSaSfn)p5vh}S;?9N{6y$eiof4TtdTSnSACE>mlx-NJSg=H2QG~Ue%mWa zmRGk~-ODFGV9!;(S88X@ITS+!!d;G`&>2$*Ks?ZKK6#TyObX{e)QA;1GyM)PwF|g9 zxsrIMsMqkhw5@D7Y0`spIHz}8W(P1a(G|lb+E8bKcpJfw)m4f74T2yOwlKd`p8jy( zrYeiaG|?R$Sv{^@qvk9i-XL~Z6qg}SPoA{kP>lIl^`1E=CCl*vs)mm)Hr%`&G9@HW zx7wg&i!Qn^Lzg1+@uNebc_9n!tRus=rDn2uZyJ}RvX(B8@hFD$6q&+4>tSbC> zc7o0+9fwjYdHSQO4DkDe@?y>m(hB0DyHNoCzsdblRZAnbxg2y6z;vKTqvF}pqQ5Gc zj@9C(9KfeFfI$db0k{k_Zc1eG5Dbfpew!s03hC9E%$Z45tICA*##9qWrJ-nu!&G6Z zy z*D$YuOkPEq?NMnp2Jk`pZ5Du73hqcmwRWY02Qco3#9fQ71pbM@5X~UEW(0&`?HEr% zpQ?#lIb=;kME$Vf*E#N-qA=^jmk?m!eux5GUznHWzaM2rpbi#_(g0dRL%cF{984kS z1X0UV1am77fpMsKfUE(qCdjpNIVDrcgq0Gg1_q>?Z&4XqRf+6idN9Uth1 z^QdFx{*XspDgHzYq+~ycY$9FQe*}R2X>$^`fi`Kt-hs!YT`XO-nW>O{%&)T4CZCb| zz|!m{bIvTmd}#G+5S)c9n=LJeI&MlsmEj@*a#yyS+XDPi=kK_FUf9TzCweLn*<`lBj(TDo&3_#I9XPfhWn%% zxb)Dq4(}re6IX0FL-({|B?3iB#gs=3oaW1D4aO9wHwiJ>2(YjNpcxBDqvC7 zZjHXCmZW96DQ|c6dnsKTX^^ZwQb^3p@?vIc`SWvHU4Qu5D`49b6B!~Oy6laWc)?2A zLFWSp@WXyGoK(uWV7Iy2zq;Tv*zb_LFmBpA9a(>UY6hm6!KH%kBZ3I9AHe4JbJ|IoML41at?O`K?tnUh4?@As?iVWgKKaU&ec<|eGw2f7wz|w=^ zd@Y3gslDqD5A81G$aspLZXF3T^uU03(q4ZB6()*4cc>)CBsd(Z5(9dW)fiu;bi>wK zEY)c(7wcDP6KEc3IokHjLn_g;XJy0cSI|Z8%%QQ-rYg=5eh$V>dcHQPTY6t8 zfO>lRXP9tyt6bfu7Eu*lr^8u7x9e;|fFVf{m%4jIz^%_wgxBh7Fq4Pr4I5XAo!7YK z@8(zxNVkfB$ zyrlUEnj@>ANNAc=d)C8SO}gef8!=FN?`G}bv5psAuvfAAEv>Qr6;Te+9_Uz+pMy(9;)HN%qfw7$8DY2e`%XXhiE z`-C$=s`ZQ>v(#{%Kcj(7)oLF5E!-9hC*=8H4FYv7DKsN%9lF=}?&zCU*jDWQKL^Gu znp;^eQNh0`dr00p@o&5r+uD9i`=I0$V%{~V`vzJ$-L(2bu|I_3m+v3s&8SVSb1=5tkq%Vq zt@%-JMMk$9>|Dm$ail(vHXg;^>rA*GGJfS-hs`f|!VyZaX$rZ>Kd{QL=O4Eg~eN+~Xg0Cfgcf0i0!y}T;n4vd5$fu-2r2{wwBGXqS@r|!a6H@nI+MV$$ zW#*Nt*i6(_q#o0Y`phC*fPBZ>y`9V+uklR!I!6R<_ma4sMV- z)Lu`wRoEhr3>$U$!=$5)z_kx^4&AUi>nB z`@i5f6=cWR4W+CvRoYrOt?Ilc8QJ*2?3To%Lv5*q2oVA|1x9Mq8uIJx~({$G?U~;lUTHse|7cu!_1Y-TMvG8&AcwZC2*s`W~wWr zFw!|*5L?+q9U54zWtSib(=n9)e=P>PAK!`@$yx~*AE zmdq2O7rh>-|GRlv+^W~gw&H^Or!YsyP|Nz!{)^8|d0&TY22qQ?wum^~Ox7tssX8P zLfn;H>ea0Y3~a#pz8?SW)KfS8<7KUt-twn?dmgW`K;O~ z->PGdt8-0Udsj9Or$qhb)105^=zB`ui?I`=2NN-AOkUyEWdi45-Z7yL^{ zjvG33o!>_)ZbJ4k0^4i!S48 z&ab#s`ZF}E>TjRiNAv5by>9fBl}$tY1f}U@Dxzr$wp3<2+1`{Y&Vi6Ne|0Ocw4?3J z3#P4x+Ql-h{bcm(SHl|D&ox^8^ke*DLjnI2Y7Y#GW>A1t5_$Q``@gLq|v=u-fXI1Lys1`l43w}oX~ z3v^I?Cc+#EXq5xn~$9AM97p_49tO$X*~BljY&(NH++`4e!1)q>q~x6qcG1ugLqI2Sx`e zrBM0&Acwr$Sw20GU-Ozm*`pO{xrjW~4GWal(-|rSV!;?bZbchLP3no)1AN=P=RCpC zYO+CXffA4Rq*&G&GX}J%dxcn`ov3w+(Q{?fhyM;AyJ`&J1Ta&~I z+7uK0(cu>x3M?TJz){WY3uCD8JAUr~gYCgnw<)Mzz&Q*U)*9xx)z;iQBSqFgvW;J4 zyO(V(LRS!~&wLSMgjuTtWRdnY;n;J{_DPZz zfmNWEd`i+ap{Dm(pMh{$AX&v(z#6C{<{8BB{m z{X7>gK5{tMdHJ?_Iic060ga*;5dV);yD6B8G~gw{HWIKn=6)o!y$v)JIDR`Jefs9M z9{$Lg{_Z2lsx6sV`Cu%Tm6n3JXPB1I1{>kzMvV0t;*YZrF=+|hxSnf4o((%)?nz-) z{jXeN9_F=L3Jrb9PJDo@dRTfCk_qd`9Trbt#k-7iB0e00WIUof9UhaNn*Va?mQjjp z+PR{bDVw%YpP-)-h}8i4pMN?DN&_y^$p#k!S9tNZFZE2S{i6;R7k`IcnXH+SJ#X=Y zHOAo_Br)bE@2CGkJOW?-MYr75?lLY;{Ty-`qWWo5U%TnII5C3sxe55xG9`p?<`^)x zwU*t+?`NoCcISFJte&mwz=7 zwZGkTy=7O_EaDsb@piHZPl3@p%KOILdcAA5#cj|I$fthcvwPcbiR1S+`W})@$+B=) z(l>nDFaYx4Y>eD~tDHFQgX=2qZm|c4GFn0RLmcv9^UT=QrPU2gO2QgC)^Jz#<@SjY zDXd;p&UzNTS^IuGUa`&-nzCW}jJp5OOR!KY6{m-|Jy0+w~+siWx5 zV!Wl~Wv?&!*PmQHTsC??-W#|RyH~rJz~@FP8JfQ|U)nys>}GpiM&&B@Ik6JLUJ!ap zpDE#*c>4&hozMiHXoR2Z7;qudB=f7t_ZnSdg>rtY3oXl-bTO)NiK@U#(B9B6yRYuw z^Ii5D39@q?QBlWi{$4zza^;uIYMvrJRBR-Rqr$!k3totPD*95T`m#ia&KBmS(pOCy zzh?3s(lOaCT4%c7u&pFzYi_f(d$z}>cJvkO7eBY=(+Dz~?+v4OPfV)wql{iZ$ciTr z*i7)gS%yKYUspF>0!pJY+mYNOF=8(^Zjbhe zzG)&EFs9Kw{$WIL8)o3Xy_iz^p)|Xvc+2!mm8sl2yZ=;986P#_42KNVQrG4w&{X0S z>3Q{bu~S=g;QCR;i;$p5){ntcrhz{1Rm4t@JFH;z`Xt~F2mrZ|ps~0kF4Cr1Jfk)e z*eU-_q0`i#Dx610w9N=}%Q~NhGQo_;5q{kHloj*Z0G?ZYFQDA&Jy+yDK#Lq>>0{Z6 zqZ%up{`|^q9r(lDe+nxtAIn*{D|gaNeFI1+fK1u^6BklR8(wXzO++_bTkm*++9rNn zH=RN~Z~xKV!66}d#nJZGXOVlGxzAin4{{fh01lbD3$|p8pQx1v`oLbVy(C%BQhexp z`}851>={W-37+Eho0Yb8XH*c{H%|JjhNh^DgxM@az$YN!3=i7uq8GJQZ2YeDG6LO+2~fn(JJ5X3Q^iZ!OhGtzH~ZpW-6qPScRE65PvNq# zJz4kk*S^(f|Fy9n>4gH`wM|pRH}k6znU0UFA4Hz1x*=m#@z|R^Y3GVgFiO9?G>h+# zevhPl!E5deyQ`f>cD)I1h8@JFYDxllSY3nL5k_(m(xikxQQSg<#2*)9QxF2HF$s zT!Bt~4hJ>-FRrvcvvn4@l}RP`E25dkH}>W}?VUuTThh0lkgl7`kNjdX`Zd{-V|1fv zEotT~Y+iHMYh9d`_F23|Jl8-oKuiI@-w#VGEy<1K0JVh6yNU1fmD4w;jA_XsTnF?Q zt(kn--+**u^}h|^dH#%0vb#h8(zf+^tli_j^V1ZYjU}pVB|)R6#$Qv%rh$Slmm0w8 zT%ru-=9dXnYB%m8F378@1zoC>dAj^nOK`i;O5vw+dWXiau8G&9c)FveMMKalFxLTC z;3~0=EZY3`-J^p6?(F(^Q))AJd_9*TFVcypdXuh98h{rHV;%LmQi#HppeVuvA1Ckr z0)?F3uunfMC^Dks?-O?8op%4YQHx=h=t0S_WMAoWhL3v0sz8d{u5kK#d( zpyQhfah+5M1lRHvy=1z;QlEUKK@N-0)!()g7VxJ^EftCQ^kVVs*=}{+i4^L9`rxhYxd(Gx(8w)>OGoL<)31u=ymaA&)J$2N{hp8@ZyF4dX z-_)4;GWF9Vn~iVeHeLA!=8gDc7++5iA)LlKO$Zzi)4?y2oUY}Y7Ij{p z-V$d;ls=8h82CqiIG^ZfuMm@+iVGu@5&tnWFH`uz7MFhb)BNo@^#-d?K|Wgp!Xq7z ztyPO0RCJQg+q0a*YxVb6Dkfac4AHeCMr4;>-Sl97V1DoVfq&^^zLr%x#{7QS^OD}@ zotx}g);4<+?uZFa^=K3LiBxJHAPjyB|F3m|;zkfRdfQE4D(5;~?7wb#)>oN2;e6&> z`0Z3cH*kgDpaSAfpm^qLGZH7UJ_=w-5O)xGM^r!JLr_lQJ%Q6NZ+V%PT(Z!9ApL-K zv;5(g1Pud4k~%)sg!-gMicoJt_@a}W)jn$bd)xuvwbb>|GlV72T)BwS&~r%yfHDdY z8V?LKF1>yavjiu<>ATLzBJR2P_;5Lva~Km9X)SynOrLt{(~Hj6;wVGaBZ zW-_Q51asVHf~qSRtI^*H%?33ufBk_g&j7l5moG8CZzo+*;ilQ!m<~Z}N`F{)Ff`1_ zeS{!=*E7D(Rw3e-`^JAPEJDTi&h)UCX1MyV+y6nGySLUXp|t~>?kL$@6`;L0#M@f0 zW+Pk1^6zq{12uJ;&RF4_ogh!q!(zVTYhAAW9p3r8x6DpCiFn@+clQG8te%jXWgvz4 zXxKVFw3;r&fk}m%Hf_g#+d>6}+*7#mvSjzF_n-H|@Gtv|vB8x}b(CL@lVmsFhmh)of*hHJH} z=m$-N%wdd(A`b2FhIH^B_%?BlH#+i+I?CvMqz=+=UDhe~teE{fy>CiyXxsy)J(DW6 zwnrFm4VaV+_Zrp6^)QCt`M+00XBBaaZgy9TRgu6g;o%i|l?Gu6`dU%QNDKT9SPUNk zp^P77ccI=FpKvBoWDRqI7UzdzM^X|QURm)QHd|)u*K_*GX{A-^yTd;mLXywL zxe*H2Ytsyb6rZo>vPx%e{DA{eMVvLCPRgs)6xZ~@7LT>OWqML2I6WO(b>V`jZikNJNmm=iCupask*^&zL25cjm-#rc(tt6#bxvQ&we4+^v%%%|g<2gM_O##KnZf50&9paPs1r1kC=wg6 zG%@*UplbW9t@5j zspwvG8NG#1+IoJo#Rt96z=~Y1IN9MEd37yIwSBQjC3S>vV1rnhMv#*vvH6M4lb@2) zH%sK)ZI|nPUmuunH)S6-m<;oGiF6q9(Zqi7Rfr&QI`PFtQ?5%`jhOg8SMHG)l7~(9 zT?86NX6Ab{DI5QKc=L99>9ph9jtu9mE}q7zvGwq`^cFt_^^#y2qHa*AEIfGx9z-ZOlb zufXsPbT*FsHZm$+ecmmku^U-!z}YvWC$ZL`+V2RrA>FNSe0+P`sWihfEc|ZI9(B41 z;<46f+|SU+6oX8IJ9yS0rsj|W@IcU5A|qOO>H`d*9C{B5OoWCjA{^^JX$g3a#caFv z?o-a15Vtxej+D4uzy6BK^VeuySR%UqmKc(im^^WPuwW(O;m*G<<7X?zb0>-nv#^{a2*G`cpf zrtPK~`mM{^I-P#XP}jlb95VFLWja)ss%9u{y|%yPfTs zyAP_S28Kn~dZvPId=`5XYAe@<-_LBPGGCqCFyui9xc_#6h7I0*y<#reIXNi!!T4hT zu!?HdTDiypc=r4c(t^bCzd%g2&_3#vq~5g?`Fvl&tL4LBv2arTq4JZzoe@|&vIA`x zCT8fh&*fjrJnVW}g0_&j?7aMStn=pd>y9~=3!%4MQ$$Sz-tKVk=uFo}-R0e%xoP<> z6Y6^a^5Vuc)3pMu1~>y!+34`Dw|ECzq`(~5<-E*{F(GH z?$nFA-O|v{3g`xv(+Jp;DCG}9BO>0BO@eqD3cot|KS-Ow3w(wWkBd!1^q>nm=Dwgu zYsyD}H5eG|KYQA%!rg< ze^aaUAn2XTzV(4MFsliP6P<}pC>AMvv$&Oo&H}^_Gos5}{pJ=Il5i143@^h`mQ-49v3K8v0XaSJZ9>++Q+ z-MRL%?(^Bb>Vn&OlNU>^ZL=@-jL*w8rB#UbQePn07vLd;lE;y-Q@>*WSl(X|Pao3I zFt}%P;nU-wuUwuG_r#y-gjL)KA!%?`43vj3G0IIm{Bl3)cPV<+!`g37CL8UXp>e|= zvhqr}Humq8$+^BL^)GjGvDUomKDgQ50@v=|{QbM{;Gxmc>uY;YPNcd+?$%!0%UwvI zv9b}Gh}TJXH;_pNXQ$D?mvQB?!Cl(3rmva5^wu6SzUrPo17+vQJI%;GUqZ2_)+3}S z*GUX(;tSnFp_N+BrwRLmCOG&XgevJ7if`p$mRxiL-L=a#} z>fZvUO(xJy5I3p4^vYkw7d~5cJ{Qo~mvWUX_gGIA9F`mPrgkEfEy>=UxGxj_82mGh z*Nd1Z-wnSaCVpSfRr<2p#$5Xh8B03Iw>EMniy8(SX4Td zPseECC70H;bsxN5i=F=heJfeY?2X9m2c??@_4OfO_=nSkx=p*L-{_etK0A{i9?07* zYOwc-@vB5BbAIO|9m-(E(|Q;>m%_^f@<6K%#J|EXzMIlhUmIt;wfeI5;*<4w<%pfY z`VV7Q+LC?bjip~ejz2=?xAtS*XIMv;EB?u+9>K#wr?k$O9P@kb#F4c4>G!~%R#j)7 zbI5dM&dRwvDkUK5EoxuI)?&nJmBazAO@>+t$Sjyl1AS8ax~m(HV?z41Z+1=oE)6A% z=%tkIXSHG9OPKw9&KrmS!H2_;&;51n`7|jvnk+XkJiiSt7SF9<+u72CZF;K_H+sx& zDzvKo3{VWMuVCgqX~83DY!2kxa5=n2(z@W`DqD2L@c`)h`b-@4##!-~HX^y!PB-dd zCH&Szd}m52Y5N&6!sgrN|HRKFICZ=MOxWc0U{&<79Vz+MbJ*=^ijzlIb_15Iv8k1N zA2PI=+XWF|U=S_IF!R|Nh69*1p4Z*m*@xM+Yd!jE8$o*r4z!^3sLSK($;M+y=*_%C-4HwTpUY@X(p zy(yeCU`@9y^w;a^jPz8bT)gAFSkRj~m0&^Pyho~}j7nL5b}Bz1l>+@AgqTg}9BRq{ z(3*Oj8*ijimWvQ6!Ogj$hHE4se?&lI?TeMc*OFpI6+7O8t#tBrip_+fkEj>XYI?I3 z>;k-Q&*Iv<)7fo^*mr2giys-1*~TS24L14$P_=5ieCE4K4-?ipksX?k^v+lRYITlw zb)Ao3lc?QBT%3(~@@{T-O%8o}&pO9QeL@nX&AYQS zPMmWa=5h9O$feOf{njVnBwnrDay=K8)4mjKM`H^jyO4YbV);tqsz`<|1kMz-qp3qA zZ-9%6U89TZg(vnUy2Gq>?{#B-FGv=W{>W6`H2($L-2oF_4d{}6VI<4LU#AK;6@-VK za$oHTnP~h7r}My#^Yz!4qVfH_7$Xlh@ns^6fd(&Qt22 zVI9tH)lwP!x%au9;vOD&q-Zl|#s0*d1sCNEJOcccSfj7Kueda&r;75cV43rpI}B9d zx7Dy;`p8}6{7AkAp8qaqg6^ZChE~&;MJpz+y;r~^CqWd43G&B;Xf+(>Z~E``%}vHv z*fqzboabY752gf(>W%f1Z{9(yii@HF!t_7LO=>wsUX99TF@H2iI8z&6YbvRe{cZl~ zUDJXPwOmDwMTh?$X*5Y@&0_^B30Q`flZUUtThRsM-y68;NSi24dA>eJ@FLm5m{(v5 zMH%xQ*B~!l6WbDxA?)%=ehk@fA)Kvxfa}0y(@ZS`;)~~otOo29#iYSL#aWzEq{IdX z!;niTro&>zsepyG#a@7$HE(1aHa?s%Z8m1Yqiq~NUlX%;SP}|Fagfh`rmD&zR0LSgn#6F|ZlK>dXY(Q9(R|OjV)iFF?(_X1twm zS*q)k$d_To1i^04mvTr!A;6_pMhp$7?bw&j>pxKQ-rJXGS$CiPA11)jHF#$tXv?v_R+vu zgidFQI0}-xA&Rn`P!NynA>v?!6}K`{kOEyOK!HUqX2{Ul>P|UW0_N~a2}aGq0+JJh zTAn-vUc3;Q-+mx%p4sYTkjOuUfCM7jF%Q*{i#h8Ga3+Il{+k6i<+yCJytvPP$gVjp zsZU>E$NMKTE^7A&p%N(bg$~8Dl-6-dSchNJZJ(=m>=m$2mK`O`wl7?k&~<)tPxK9g z$0j4k_^&}4t0rD$ZiyI3NXS%!J*;2?+dkg}wrDSqd8#y-g7lUWHl-vem%#6u?CSES zOKvg-{_CNDrewm`&)8LFusuVJ)1U-l()2(n?`oP-NJDPvviNG5qJl5GCf=JF zl&$}t$Ce~L(5}%7!)pSIh4Y^HD#P?YMsVxsuF>IFQaKlW{@~X0C33#q-#yijmgC|Q zIeVf`_65t%%+Py3xevG|RYf1Hfgr6o2YlzlL*Z}Yw}jf3^q*}0$1tcfR3P~&Td3Jw zTozYhWcsWYA4Ow{Cu{x^?;IJ9X*_JuybjJ$lhcngnT*`&4|@4`@pVat?z_{vcha)p z%i&2&Vlm_(1n9@pBa{(i2qD7bVkAco2jNzaXYH?`yK4$}gzK$wn%AD3yX7K^9m?0O zlP}mg|04gY9t+GuZ}Npu8(8W4ZX*?Nz&`KW%#krwmEY+5tci3 z&L%C5smA@jKwOx69Dqjpy$o1L06$6HOc+*L=pOuM$8x5kIAkNP?C;G_Th5zj4Lkbu&d;<#S;>G*70&S^sd#V`%7gp+V30rX)IVW z{98i5J^;2*8$rm&4U{{y3-}+yi3*B)Ht4g@wo)7<6V1;*VJ>X1`m1@0ykmrWabo!* zx{2rqYR*K&2P7{|!WAxx|2YW!yhJ)X=h54TGFkTDz7GG4Y=3`$>9b7#uQT@{7kXz9 zgBSoJVhxwVfvc?X`u-W`1-QT*g>OY=cGn~M=78pO)rAdu)DPkBzj}%DTbSW}lI;AT zLLf1Qz`45)H0S(NG%o)>%?j-v^YD;YpX=;!>*0YJ{$#3c6ypu-h>L^5@dA|8@ zGdI&+f)JIgwi7RLbtY0c9Vg$wWzNXeU62OS;`jx4PpD)#oP%To;yE!yUwmzno~GB! z?Y@ho_%$-lc5#I(f5pvhd0Fz01?2CF=?!)}Njg|cuU6ByCWe3W3jr#`0Z#mwT`mlA zh!g{pZT%uL@MUzuP+`FIA{|FD2qdAbh_V)K9ST@5NsqKvQ#t=ah2LE zO;{bwmb;Db93185FtMHN8{?A^^y<8G9s)0WmSeGN1NSGK`ALkS0=Le!iUiQ+^vh;g zN2KD%hhc0=4H_TUzxydP$u~Nm%Q3x=eI9j&+NwO&iy9f zL*i2hTt@!{=q$Rfeym$w{eq0V+IB%@xVG}|TL?Q{28)v(;3ZfRPR+0HQ=t6ow~t-; zo;PO0hDzNF>g&wz@-@Xov9di4HCtFGPimeM8^-we*sZTV1aeqS3NPDcNv44YiP_vh zoOHG}u(TJOQ+77P1`&8`^6dV7=MO_I@m){5^7nvH=2Cqh?*f zedJbqj>lCy^{kI7a*4)^UlKJ=YXQ4rphfL>Kg{G@;-LwFLE9g2(;d{TIM@8PneYNxie`0epg`5VSGpr-C44~$x zP`;7tLxItXZ=QF=s4^?OOElnUM%Y?$2ufVntF_bf?uE z{93K3*Hv`)qrh%DrM%$E>_JQZvi2{CJCC|MI+lMj*D#pxa}>9|0c+cEt?*cAt3FZ% zZclxw8sgXbVK|VJ&B!1MQgD5lc{qBxHHR=SOOA|24HM{w zdrqT1IbGa4uJyjkPi?%7qq+0lsf1pjlu5G|Em{H`7@PGV9xEQL`d)1gj%k_6j^ z%f)O0PuNan@Uwo2i{)y7ji=&z$zIXp#3j;_CN_lU>tNM3agN~ZFJ#&loMhLM7?dNa z<@Qz7)o=WzTnn}4e~@4|r%k7aePR@GlGpkX$TIB{ajBd>e5FX6^O;c*a$TtT^I}y# zOZ5{R^-i*YDHnjJYcE%uSBGVmMnE#j5G>urDZ9t5Dxmb9yXNFQkK&6H;!dW4T8`#Y zQt8*L1JN=JIh7B$4Drq(A|%)0mGdMi>Et6_H=BDj0TMzuDNyC=h4TM2hsi99zs*?7 z&n{obw0BZ?%dS#u`q)W@>wrmt;QJbFIAnOXNiB0OQ7CEg#a2mesDdf5I?J@i!yoXezEA&phLxFy0?Y*9N;62AY-=h z-D098QZ%Q%LOn@Pi^+% ze~^nMAg007bD*$Y+(jEii)9!O`vH)#ojF71yFGoJ!-P-H3`h)6)CC$jnQb5kDt>4_ zmB^O|YRVdjlv4XSkmv_NPg~~<j&xz;YAc5rE1(1dnx}txW%Px>L+>in zz7Yy!;w5TTZxk0iWi#5!kvW-yY~<)T#!XE_Q0-7h2oaTJX>G)OZxZ|yhywuiZ6$qH z1ZvxiZrg}S>=3x_wTu3(0u`{h3kW6%kO3#`0MGikNpp9!J>6VMjpkHw;u)EJtZ3{c zmd-Dv7)ag1bXb_U;PfV%rH_CeI+(? z*61Z&#bKD`%wz_{pa^4SGFKFvA#lnZq$mu>0!-GRs8<#k_CvH#8MeK$MwN^>Ynxho zcCBjEN|rtSF>1$hr8tin`dkM9&HjnK1haU5CM75X*T%yPW%B@t3uo`SN?JtX84eNq z=#8YSOk$`8Xi;2LB}3h);0TCOfU-N_{+$CoE$c6%2EkaVE&?Y)@NL~?Wz^XJ1sj+{ zPaB}$p`g!YCYaQG_5DHgU`f^_h{51cafu*786-zWk3d^ zED_Zwt8B!E74_#3jRw&HIX&PD={Ou#t1*lUF+lwNbqLlE7lAg=QRwyrUB0QP-}@aS z7LYAbqW}?vmPetQ)ZSJyWF3Ieh@=Lk0EmjrMphI`#G#TUC(Ih@VmuG6ZD$8iHpO4r zOskTK77^#jdTrn6lzD(HhXBra+lW=)uNvA1q9zSy7%VeRS26(wB$L=c9v!M(pmLfn z&Y|?5(2do_iUXp%ZJBQ>-3t-%$(oRr5!fpV%W?oYV0mHI`Ib4_fEMf-Q!T9qrUP(l z6bUyKg1kFIX#-H*NZES-pV;r68qc=n3Al;wGR(c_u~0v{a>uE7KP*HEY@g0!#SR&u zB9XQ13DMKcYTmIRn-b((#5#f<8EV-+B3T+5=SY=-pdOmff#e9SQIS#?2$Klwzx`Pp zIB2d!AA6Z@-@IKULd_BE$)>Kot7Ifrk{yO+w4sp5s(%ZFKf`3i3Pf)JjoZT=Q;3L= zmAkBLV(lDI${khH6Xpul!WIh>`ErVYAthwZq1<8RUy7f-zRbx49agZq4u{)Ql6DQe z?(ZF*e1i!v1+~@aIN|n}{MRbxd^+Bl-I5zv4%2Xk!KZJzYOza;BEIplM_D@CbGp&hBE>WKxa#5`J|Dr; zpbvOG-eJ$EGh<#HLG`e3x5%s6L;s)cRyANaexQ3?qU z-qOC4#~Tr;buQ_{IbtPiMC6X~Mg~Ox*CueRWP&hG?whNfk%814H)alraS~vUH`~gF zPJ+fNN*`a?m{~TPOs~=x)uel8_iE$a*uNyrgHe%5kaRgku<$#ELVOBWasvuvzL%P& z@XGHQ+3OU0JhpgG<+OL#>0#ddE?Kw-&vyBY(8csO(Iq!Q{pICM2;7u4lTzKUO z8S|H`ZUf#!N8)GPNPUAg@5-!NB62ox7kpBr6S@T74-_t4eAizw^Iree3790`K|YGu z3`i}Bu0~~W{*zSJKo0)R5e^ZtA`pLS?ZzE#g0-tz4D_$PU8et^S4fancF(&S0j9Gp zDfjZ^2fO6f7#FbN0VPDfeC7_a0;=|2+wdT&eWJ0?O=dWBd|Fv%)o!Qph+ zi~jyh%51Ap)|tr&H?N`CY9aAd+}+-ucR~5ato->)lh?fqukYc4?C1jm!7qD3 z>->|VwMW1m!@=S%LgrLK4*I+!&HSOzjG8aw4UL1!us zxC#vVzrfl8vgKF@^HYheoDG8Dg#-;lx)`9ZK}Mk<{U%Xndk(O91hLR~Ke3{JYTqf4 zQsW0&;MEZATK3q|5QN{~ZXck31z{$(eq(-WUhS&YDl#~87oen_n6UNhACuXHLcHT; zDi4e*8MIK^TRCX2sXUg$jp97AV}^&|h}tu(qAJN@H3I^!^E|NzM9lbtoXwqaE2hh= zKt${Z84s{6dONNbJCUe6IaTs_bFFilX+4HiBSX^q#7K3oq6eL)J1iv0`d?y{dP_bJDqpHpmY9a7%^ZUM;v-Ai@CgR1i}|_) z$UB02jRsmSt{)JCQi*PttiNuq%+-f=>!#{$YHjss5<|f8_YtEmBfEu7z%8PEeu%@o z|E9YD!FxrxyREg&wN5&E^CkpFa16s=qpEH+%pM)6 zonSj3@!LHMak^f?ouX0R^yJ5*Azy>P`f>-DjSw6R|9Qil!hPUIa*eMytI(V4Q?%SD znYwa6gpYgSQ;HiI-oqlIs2MzdFWl%z-(+o^!Xrlvnd@Wi#5n*zqAptDnjz25{E2VU z=2S!~W=3%r_p(6p-MehVSO(KLfud=rjJ76`z!Fb}`#69tBm3BkX*`jDppA=uzn zdZYZ_sq0>*h=TWCyFT}-B?Z@^5t5W)YYNTpKWsA)WejS@?; z_5{qtT!Q8n$^zF5M>6Yq&TMuSo=?$E1qpblL8%C z8y~S_iq6p8XC>WP9gwYqy}5R2spGjy@B2$1ME-hkKd2kOH^KaipTgt29@3xiwW%M2 zUUruw6xX4m_uuDz0}uVWTK^qgXMe&6MyH#}Px$mOAZ&4!!i^kU)Wm(pHxXl|DR&k}5)q277i+3W8FO4xahf^i zTPhDyImAwnT@H5x8~sO-h@lmEDjF_M=7ygqy{O+=#0}Ti`L9UzX|Rd*qHg`S$H>?r zdEtt;*OFjUXg9SR<4qMO{-u_y*+F*N{*SHi3~OrX+71GuARtPwDkvaLrPo-gB29XU zib@~?(xfK{(yLUZD@0J5NK*tN(p02{CP7+|P9&j(2uaR2c#h{e?{$5DA$!lvT5HzK zUgf?OK2|;4@m^A>nru6!%KqbvC`!)s6L+R1qet+xbz4Do34x7>nkk|3JW#+L?a~+u zLPdZe%<)kLj$+cM&p#Y1KE#qwD?Pcj()m4MllY*PU1YD9f4LS;wKn|f^bFTiHo?-}5ppbUeLoR1oQcxtJ>uClc z1#VxzE0OKne=b(k(!A?d)Mt@^3NetGA*X|wCg-Dqy6ET-gUT-VU=r(>c?Hh)Tj@EY zsY}HS`WN|5`)m-ZOex~K_Q)@jhiR!87Z@bO?0vFzPAgJ-sLt~+{3FYQxX#cPhiLDZ z?=I}MXQA>33Y9h4Vf2F+b|pj3Q|`>p?w+Au9id*q1E!d4_K{{qr^Piy@v`Yy%{ehy~3uZOm~X;irW z%kQ#TxA*&QD%O7LQB?ivebLrUYj4DRm1JekOT_u@nT z_gWc~uCWAdvK!G^C5hrQB?R$ZqkM_x070>!P?;mI^JrQqtpo^6~IB+sfOIFREtV zM>-Wcx4_v=7%1S{!bG6OQk8d)Q_s-Kp>9)g8Vym$DG_p8&t2;^f+qA`>hqp6b4*{> zFMGElIP9EQEFC0@bYrL<^ z9xO(1**#B{+~c!mqS3OEToe=Ar0w<=R?nmL?{8Oss<`X<^I0nU*DqWRud0OvUbCpZ zDj-^7l3@oiaD{jj2lWau+Q!(ePnY6X2p@e@?5#Hkvpd+d81wjgYEG0s^R<9e56g1I z-W05!B&v46YVIr$Vs~#)=2u#g2LvBul@>S0Vf9Xv6UTm$U+D69pF@;WK%kxJGZ6;h z6XBlWlfsn1Syhr)n@M6;X3CPr@(1yEi6=9}Gn`I5h!vmYP@KwMh2HIpFL(nZaP2Z( z*gcFK6jenKFi4n79D6M;jMCVuiiOont`^LQB~HCr_%Ibg zKapbzP&hAHHM}2cGV)>U%sSGiW#V2R z1#%pOx9Ub$H>MRRvL)>WIQx#tlW~0?cIJ!lOXYRCQFjfBhCoWF=5Sopg?SH$JNp%T zWr%AZw#nJniAsqkrYLzf#CYIs?}ND5V-lpa58P47EB53OS`_rw8ZL*tXcFb5L@7f( z3%O2ukbKLx=Nub@T)M92z0R7eHaBzSy%J_ilqqw&>U+l6#8O5v!RvLd;Z{1$17tox z*_8_@dOtm6E9k?4!7ukI9y*%}jeOYa(^p-Eq&(hrMD}S+QF(n@r)qn%@HS|oO3tZl z4?i>RR`J8QCsRMp{)$Ej-;c&MDlpRr3#zvX%*4J~)T%pa6ue$jmt>Okf|MMkWh!_3 zZQYTyxz$Vwm?GlXr&&t!#4%I3Yu;V-gUUqCPSlZ>BOo>fYmcvRo`H6Z=k%QJvI@40 z+8MM8R~MAAy(w4g={ugg5J7NqA^ruS9~8oK@*qE>_%U#HXUqIS8;WO{(^9?Q{aC}P zMCG{e^#<%2{NiwNo^j;BR9)5TuU#!F7ex_Z-+t0LozsaRu63|<3Kqm7d&#eRNiffns0V1(pzQ$$+N>w{Q9v(Z>{^J?Y%=Gm_b=C|+{)-R{MeDUqKZVm5w@J8}SV*I;Kr)B^ht~0kg!%Z0Z@clJ zqRw?!J^%pBIgW@NeOz>*(&WCA)@L zeAMhrXPLhjUir*dWGi<GJ~k}Dw+ znT&{FXT?-e-15=wlUEtTg2c>VWm7eygrh{J5FbkSY~R6<&>{L^O0pwKV!QDQ0Lodr zG*r8N@1b^M$rG4n3(@Joj`dd%p~c{g$PZ}G=`sPQSEla_S7Kf+>WC$EwIffyc}?$$ zupT;hFjehw)s(kXlL5OF>J79N#=eB)q|B16t%z%h%Au?vQTxj`Q%A)1RD#C& zQD$T4C@B47(d!R?cUs4DT7*Ig*Vct?@7y0iD4Tcc#c^UbC1J&YJ^ zhV=dLCNtGEXOF1!-box|ir==8?$oPZmf2z5V<2EErp33Mdl3(kkOh2xj?Q?|_h_NT zpS}|(44R-kpAvJ&>&8BO8V@&t<{=Nc;i{s4QhmHC?Z(`(`M+M+UnS65)BLmYrxbW- zuL6SUte18VFZ~4(rmB-bQd4vWB*65Q7TupwP%h7nm@+q>JP@nx7QW1VY2$ECk}kuE zu#CQi2r}5q;r?gNv~K9-BBuwt7gCV&Zg)R$ z&^jo$0&w>PWk7dD{7os*UNeDnX&sGUI?3cw1MfsGdz+K2U!1MvJ_#HxRkgZu@g36uiZ^r==<_^S-(%9Qf~$ZV3Wz$ ziPo!x=>pL8*`V6qJ+QzzY|yuiD^Ovq=tcoNH`6gTmGi}ct;*S1$&V%!37uHJ zcF*Jo1w2(vo<3FflO~|e!q)b?oul0{pQJC!HE&2<@2Ie_sI}JF%6u^~l z^as#Yq1rx5vB$4H%Jg0w-G}c)d{P!sYkc!0;q-$~JeImYABn!>X6Ow#N``UuI!Ty0^isx4YILsD48UyMd1Ck^eIqdf+x>Il} zvE0u{POa;BV8w}tWqUbGNDR9 zi(|gUq>)zIa>z~Wb=8NdsD_|Ty>_}FB|5MYp>j*w-`=)I>Do!Tnww1f?w6a0$SiNu zN}+c!!l+hVq-=;YajmllHdD01TW>T|!0no1xD)b5@35_NQ&`vh8(y|rcM+k-t%WX` zAsn=P)LqXAP|G|uHrifLW0LHlW#&>D@Vwv2Rim!RW*K+=b#K_g8Eu|cO%o^Wj^Hi= z=mcY$p`~EpRY_t(N>vdso+?keYyi^Tx?MH@nU$cFqNlQ2qszhnu$5;7z)OPf z%uqdY1nsG^oO5Tke`1L7v>2CODPTa$)G%7A$J)j|yuKbDSZR4)_CfV8?}M^lpkulM zAX72|z!Yx8tU_l2e?XF^!l8idt`0BPtRC+222SLg`1?GjZ#PsAd6*?^#4&!I1MUDY z>=m?5c#>VQ08?Tg}`>~?-`3m3Fs_BTHe;EHD3<}z8*#eju8AQ1|v+>#e) z@wM7W^-WK%r82yXBhn@z*!O&8pJF?5HO?%}Wt;SEbPNNo(V*9Qwi8wj4$`~3Yl+rk z`|F!jkPTNaz)nW}91(q8QqqjRTQ@WvHbk$`36;W+s9XX@uqS8t!?*WP9BLX&E zQF&w6_kXx5-Kz)-o2s$yJg5T+2_;5%#!Rb1iHXbiotiF%FA0TwQS3Ba5Z!DQtJaYL zuf2tAZIp~to*Jv^xrLTh>-kOL!xXF5 zaT1dAAySq&SrQ73{l3H*99(`uqDSJcz<>}-_vs?9=>(n+`%^0WGD5V0Jp}h3rL$_5 zBHLS(Na-UxC*XP<1<&m)*cYiectX794=CDxo$n*X_Vap7eudyTbJTf?EF$ zv4|;Vq=F+X#I>en#4phI-Rk9_+oRGFX+5soyKnk946D1CP0&a^RI4%|onV}f24LZ% z_=XO-E56B`i`i8Lp#h6OUw7W}`);LtS1U!0X_Nqc)N%@pD!&&>z;$&&iDm_m5Zi(d zyQpHnvI)MATuU2mzS&XbZ_2|B@|f-_Ot$oTb0_==mtuJbPSw4u+Yo?@Ngf-e3#O6l zNjg=4!eDAS6~5z`8U3OK9jrwpi8m^IzpPD54B7kAI6#Y8gWeL0!+A#D^Se9Rq>VRL zk%Q?DNjw_wRxWS4rQat7c&V&cJXb@(uepe-i5O>1*w|o)7{3ceWR{)Lp>e2inEr9Q zK5Jw&0jqSiTIS5@ukF4I!sMzR6Uu35*BT4elhW|qHh>Q=-$2soZo}Og`&@xIaKcvd zuIwIerQ5lVv=29P`;~+9N>)L|E)yAi3|yf1wJ6idS~MsTR)boS(-Rlj<;tnrH~d6& z1LwG^J*9+Wh75~e_g(rX`1LKYnt%`;aK^Y%EXa3gX)VVt;b}r0R`DUY1fmk3#%*}{ zHrK?Zg!1YWyf}@`6{id^3WfrBdS@Ei){efS1`O*Q3|L2eo1B=h3ns9czPS!dg`cpx zn=V2#OyK#kSyhWXg=)P9>O-P2MDxBVv09e4XyXT6ZIfc|M>{4@U{`hX8#8*o145&l z4afD@yZInt2AV+-IB#QtDiu^vhMR@#&zW9J)U)BJ7kso5k`?H`4G$*HOVjpSW-k*vRUGglC2`0kDZHLIZN$vSMKlL3Vx?| z@Ga2?+wz!(#@s_i+IhD2iA}kp>YUz__M04Sl@(NoR@&WP1IIp4HyS&YAamknEAE0$ z#*!$w>4nFKoT6+4s@gORfh&-xYEATb%8^yI1RcXV%B_!!ZH-{{gqR;V?f;qUHTlpj zgqaA8{@{#JK>|!nhnJ3>R7?B#0K?=iyCtwCWACNq&+C6-?g-)5fv>FPuhhSP)0XK3 zZC7jGjK~2*)zz|R$T6`uVo6m^H)n(hwzZmzTSgaLeLQ_jg)}c{2`6!uc7#ez)vtZX zLvoID%vzCJO3DmKoNYL#jG6f62P(ldv+_&2{`_gTyuzQ6XATHR2>v>1Lit6^6r)JE zZ?7)NzmDkirmVVsei7*Hse-(Um|q*8n?0?o>On4aTbRQj({E#wq@~jpunD9%Y3-h4 z9C@xjAj`h_jSUxWFg;+f1=9U;BJYaV&a?HLGC(i&oYEA8C@vXgOEW_h#L>qkHjE5# zVSFdz*pC%5|L`qd=@G`_!;b2tH~AKB=u1NiA7c}e4KEn=l`LK5+#@Uu@-gaiGh}Dc zH#alN&AuUK2SXpj10dt5%+xF;NGQAr%?*jJlt!@{I_#K2&ZsE`n{VP%!wv^y>D=L< zAVUKbSrFo`4MCo#37Zd$fC`NrGhAB59+hHnwlpAC4B~8-1WEHc(aliT;QoEL{kVM# zu@;~tU@%*%n4!x}!!&3^UmMN<-|5$u5-8l4lxyx=WlT{df<6Z^9ceg=Q*1=WI7QM7h*qU2q5~LDB1KktT}N zX6YO!PR9GLyYa?ywawUapS|XPXhED&xsQ4X7?e3ze`z6{5s@Ay5iq_@>&H z>RaSdtHH$2CwL*#N$t0-mswUpM4oAx_LL4#8CsRJyhu}B`I^M}X#CqPO@2b1(_1cilsoXAHI18>TpSXM1NNf80K zW_3V`m0)yCUDNqd)?QM_fybtwk4rLJCP8?94U@n%+R6Ot9V_UvC_DBhz{9&TW>J;&k1Fe{@8DKH38dW*{8bfj_;>cs} z=v_M{`D9v=aOj)phwOa|v2e5sb6aFPHMt8kN>8fGDA!WqVCd!$fYDy`xGnX=tsK>>P}#eL$XpLsLt=!x+6YzJ*Z&@r75fe%&rEsCht6HPwE?dgS>7P$~bO6&|QreeAr_0izP zBAS&toa_+=_e}Zpen6W=5FkYAvKGlBRRbz^5yXv7Hx-p2=)bRnCaxkJtTh!0Eo??JSJIx)L|lG5^hYn%GYRBtL4SA zai|=&**a+ev0y7AHB2TA?_2;ZlP60+4YSF(f*vjISbg0P^%9=nxnqu&7g?Di>fm(V=d zC~tYjTTe?=8t6!1FxyGf-1{20j|u#Tldb+v+2%yltv13@-tERhOttE!{bLe8(2pbgXUz>djF`R#DLS-xs1ZWU>$!c z^jvw+ns0I{OS1yDg$DA0XQ*0$KWSseB*xApwiZ3K)=<|b6n$dFM~dz6ctS@(LCGas z5EtlL9iJA91eNF^Lipr^2%PVzT@t`^{mRw5cJjxY8b+@J;-c0bMJ0xd?e|}3B%B^9 zkb8E(c(>b?;Hk6nvnA_e^pP9Oy?JUIPTuK!joV4v>jcWUeTXDv>7W%^YQZt~2A%Ln=Mj zHY|LEt=8Uq42HF*>fLnMdh4Q8WToV0>SkQ$u9{S#?fYhU5{Ia+lRwt|YB0mjFD=es z$}vA~;^(GSOQYwr4a`W~4r3>(rXh|hIh%L1RfTT{`C3a?T*Hr$_W|L0IU0U4No9KL zJG1{(4W?By7K#X!nTbxC3AfoaTJlg<`qJZZ>$TO>Hc`vR^~~ByUbbeRs?*xr*iL)M zTO`Pn%`+-0$2E7{5Y}oR+c>o@-_1@CUTvuL9~`zHz4SvA)Mm9TQ7*7VDu1HOQGJFs zb5sUb%YW|AyGJ}8E|YiB{Fr4z$gasKU}Ua#@Sy!RqM(mJ!0zd6&!|M{c2 zA@m^LJEu_K4n|y5qT_b8rWH3u6kn2o;u4hpCLj z(dz?Sj*K4@QO}D5o9;BE?kweQ9w>hQ;QM4V;>XQhrI7Oxj-;$;WtDL3TC2+Z{FX@U zyC)sIQ4 z1g`R~=^p#G7GXM;w@ZIO@JfB=v|JN_5qLWqT*587h ziEtv;HMkc?#^Z%Wg}4NHTy78j+*R{-gr={BrW)6*+ocIxb;T%&*nh-LOhs)i3gXC} zR#EVrR~o`xFuf2hS_Vi_nC!;|Y`5F}Oq+33HGlm4b(&RfyT{X@UpMxv^$Do)%-=ls z)#_AvY5$AwMUA)#<>u5;vdx11FphF%gN_<*A$1)hh$Wf~*^p9J zN;Ms(^G&cJ)Rp*kMo}oOLfh7R*Ux>qE$n_n_q#WW^)sNlR0~L($%=B<^1JzJX;PwJ z;gm{u>5}==o3_!KLdSS?p7IQ6#h;0k9?1}p>Zo1A_VyXC<|pDlFMd6qJB_wda<)`A z>OAh&Y#!T33 z?x9WPE=mOrQxgGwW862#e}kxR;?Xl-JY~gioz1=VM$3IyG$5z7@l-`X z%gO#N5tH-rJwvr+h}?5_JgBMZ@BEgNQ=~&zmXo6}Z|ZAi*Vt?*WtJqB*qLuzu2(feG%|WW zdpHP(ym}V%dD^4nHe9TRCE3p;)^4iJ-EFz+N>*DO)=f2Q@BraiVvx#Dqy5V&;a)wr z-W+P}%pK-)T@q<5DjW1iyUKB>$SZ&d(6+&fLtMcf6~Rgy!2v(cVbloZbZeuX5Ow$)$f(!%YwPhCEePU zlYGIRWZ#UDl?+hupxp<6mNw^GQiyu1qj*j}L=Y{isKPZ!BsyyTjFX$-Bl`7y=f}^R zg%b+y?2P;@*%c2Ux8WP2kbJGBuG{hW9~-{ShLab`KDrk)BN*N%+#qH53hckBcKY#i zock5`_aS9Qlf8B@#FCG}f(?JqV8-=q#pE$~ zZ|k}$Pk$rNe(FTg3QQl6tKJ~}1$l@(21ha&tZpgdFB|xFkK10T%U3@r6jA@3AtHAc za<{QS82Je)4*Hz@k_AAQQno^@MH_m5nJ4K> z>2kGi<{zy6TtRP+IydZkGVWp~t57q)-YXdUj^LKwtwXUn*p?oO%Z%Jn6IuqsnV}UQV(0}Xt|lwo%1WfKqjynWQ8n zkYAOwQO2Cky#R%V?qyBCe|Ig~bV8jGhlW zDr`>Dvs3SYh;I57uNdvMM+BROQVJO-lZMi3A;EjRIX;_3E1(m2k3YxmJhyLA{!l0! zvUKIx7N7$HpY6r11S4!1N3Pj<^7AlAsB4>ORJO)^+WseEd;CKBMQM82Bn=CV%YAMd z*zEIg2L1VnG`$8lje+||b!wkSfRb3W@W2&52E}Z%KD$dsTZK%YMWm7Gq44eJ(~@=$ z=AyODa0W$P*U+AQ@nPvrTgBVxLjI@ELC1;Ie#vI}Gt!#a-8hD*U~^yeY_mw|+k-}N z*P^mYPJ}I=^6B6oeDFpVq+p*8VA3nd{@RUW-KxQbZ0UMx~Y6o0QtPX*4xhnf6vFF&BrTXPMsI7Cp$Qj>m{>pJgzZ_T`>(yI5bc zsz>G3?4%2j`r4DDROtf4?tY#%l%x9LfpRZw$%c<1pXLnOIHuQSMljQPPQt{lt~H7z zUsu&0FS1qq%o;xe_agq~QZ>Rq*7*<#*CX`yi2nH{A(MTPymZi)>;e7y^{Ui7#pG z8;igu+zt3 zY)Hv~j_3=s-Yh(V?INEg+LP^wlB={` zc!)c#tjUOE(z>l9NRd}gst|`qsa##t z3*o*ryAj80Qyn{BN3FPe6Scga3_2Se*32+i)NduglCOUKuwP>Kg^8i3_9B}b%1}&H zi+u)$>m#QD1WlP2lwITgdz-Lm!8`MHAW#6mB;<LyTAAWRWM&E8#vIB%s6aSn@I0PZR;1yXxODF0+yraD zHUgkiBkomZzQ zlA<-m0siD|igqO>d|60H$b`@JT%Xr{ywvk6Z!g+T#8{fDOQbL(lcmCH6zpzHES_a^w!%_;JEuhJqO-C?E7ePh!HJmi*uZX zelUJl1un`%s*IfJan>FDd6(C2YuTnlyXot*xy0{bcITRsiUsL5-C*lUaO93+VLYHB z+A|i#k32#-I^7qC>}@n@8@F{=YGb{Z-gUM+FtOmtd`daWP#T2lz80{cri(Ewbb$N) zX8d}8$Wh{_5Y3?`+k;a_+!Tv$S*Ey16`#lwV7-leTa`oSq#h!Iygv)5E*6Wy@X#eF zF74|9eQnmF!o;6XpHH3KY>aUDRGwxSW0DCmOZlFVkN8!FmhFmC@8V`ozCyV|QnaC{ zl4SHK&kAkFV3Y8{_?U_JT}Xn#(U8ifO=YqIK^j=u2}<>@X^1kEje2v&gauA^ z_v0DGDLEct6RH^4&k*vhlThL>j^X*Wu!){UYbJGlgTD5tMlZr@>5;Dx)@Nh7Fk)Zq`g zOq_h_?6p7gx!n@q$VWduv+pw1e?cs_V-_mBBgl0`YZHnE9i*T?*rF(NKKXLA7g{oS z6uT3gSL~3Mbg{9Yz~!cz`o}Jh$hS{jWaRX6{Fd7$mnT>@-to@-kx0fB|7+hXoHSq= zr}FbWlC*R<#RO}os$F%9UsTRK&-<0OT~`OVOR-;R%(NmMriK`(yFiP)YTRa-h~%}m z)j6hodRUCw&lGJM zChTeD&12)Nwb2tY0(C2^fZ?GrI+7umh{y;$0DCzcn)|6SL3ZGy`z%+otW2fq>BO-< z!^LQV`*fkV4ktwxHC_&+->gBslxf*va#Xjf#=J};5xMcSp@;kD^P$jDf3ZNvu?cwK zkhfN6rXYV%Ev+a~?E=&%!#<<#?qKGt(QU_!;rtS_T|){Vpv?u*J(d8}hh)$>LVhVI zUnP>*ms5gs(45gvQxo>SA3(0)jGznTOk*NjlqowqJ0cesE)Sw+MCzIvQ0LSu{R}R< zOStzMzFN?UdW)hUV9cTz7Ak=F2m=sIq%WjCZmQ1+^}=+s^~_|(i*JiK`LgmvSHis_ zsh20Z=E~g+By@{XN-)YlZYf@UlX*H|S@D`@PKNHeIO9RDc-KxDyqj?u;!X9k>4&>K zXZl-*<4qkJyuJJ#md%G%=t3QmgD-#b`HK-NFtYh682dB%%#WckHIi9Fr1iG>gXjb)#TYy z_HcBx?^x}MjQywBSgnnB=#P(|s(N!)_~#4K>Ol2#u-@S6?Lpu86~d|G%$d)8?k4-O zN`0KE{wxy9H1bw!P1d2d?8|1lE1FNh^|Tvd!cg;z#hdpg6}5K*%8Sl~3`=zmJG@f) zRaAa=H6!;O^|G0SzsV{s} zOu)?!JwDMBT7Gf8ukq@g3)W^0TC*Z6^ZF|$b2 zfBUv~>3Zq1+;zLg2e_rDdZ#;QhK^s0_u$AeZ<76W>{*TLSQ#1KPb&<$gr0JRvJ|~; zj`MuINGyM@&KRh$uCH-iZ2`|7R}ny}4l)llQ9M81DQ9nXN+$FEFxVUy;s&9@9#@9NpZP zb;K?6pv};)%X0yrv5CsjsjkM7Jtl$1#?bg8qiZdCF9P~zHpN&lxAI&*?2sGKlPms6 z$+|{_y-@Mnv+c+4FcGvC1k|Q)Gr}%{oH)zoRIFIt2g*QUz~B`}R;-bL!X3nqBe)!R zf5w%*z6^#aY~U@8I7$~um!n%XgnT~NuFJDu=)f{h0G_E3O6D>aQPBM@Bc7v=l z>zK;ZQd>7Z8AJnz&DHmm8y6OYNlxy7ZUr%2wIlw=JrWeC$_=0vFM1lB=ioxk3!`f~ zxyw3P_SsohbEQ_GT;W639wAFre(Ph!6?d~Wmv7d{8=4heH1n~B0K<*h`U3od)V zIH>J2Gg0-h9ELAg9pp@yZhlWXm3Nc3pnO8zC{SKjtS3OLQ}V#rw}aDRh{vSP5N(YSy;TwNJoc6p2 z&H|h|Qd<=0G=|FjTd?b2*SoHKRGxlOq;_R}xb~*Hp|NepM5XJ=Q{0XmJ&COEQ{Bqww(swv*F5Xo>+irC``3R+|ZJj<|z^)v#CG+4-E!NjJ)$80Zvo{|u z?Y}ppuXWgjX93CB_#linp0Q|B4kkn?3t`mVZGm2e+aq zY```}DowgzwW!Dt=NY3ucAF4IVtu?E_EiNTu_@MzV}w2Z)I|oh*4bxDWeYYsful*M zi)v1`|0#QTHrO$_@t#BG^$+fpt&ykX@lVac^jL&l+N9*u5=gXYiae80maC&mm0k!|; zMT74;h=tF~Hdjw!yM#jnc6#u9yBJHy2S52IMkTDT zq7a_Uk0XF(2Z(L1>@BVW?()=crNP$QK&tax0?zDFXs*NaBB_Qi=^5FnD0pwZS#q6_ zdB}i=dAfszclx`zZb_-nGWB)F%7e~JYY|9cB5wh)tQ8=Ud9p;#zf;R<=fkb8kaJuu z*Dqdfzs>yPhF@igO*O?}wh9NsBdZk`aU<_}(D93hm-%Ew3p5G)oSP08mv;7>ILXX{ z!^M-CgQXQ*L4W}d?wx`u$dO4la{*AoE6WAI&VSp?YV_ebuOh?f+LCTQ-cgBF+@oi{ z?_>*_d;ELWWR`2yT~hC!D>JXEDNsr?*toc)-ub{YpAg(s@6fVRpKP(riIeP9K?+bL ziR&`Ie5LE$`P!?z{7T^W5)Yl1c7JQ`f8;>7uf%MfpA$Dxtc{b8{%yyz%UHa#pMOh} z@)M7JDj^u&`w8m(<@^VczN^+B^JQr-n$F^(oQ{jxE^T70i`#r$8A;?XlULq8e6Mlz zI79Tk2uCJZgI>oIxybJ-f`%&yma)#)vi(kkPDKp=L=vUPWT!7v%kE`NcJ7HKLup-4 zJJ+t@HmmoQFe8LfbPaQ)@1kC&x8;fP^arJbxWNIaj;H-Z=s{vv8uD5}F_lby6Y-8Wv*^e6d z_cU?6@ivRWgp>bt3aDR%J_zo7URLp}ymromV2|)S8@OL3Al6_oy~y?C+9iU8?`Bi2 z-Nwn=YZy@8GIn>CfT@4P2dBeR|ALr?PXGLVAZ0;&V^rC>eP=Se;EmI}XKZgXm#B^s zQBz+*GD5UgKOf;;*06#;g60*IODe>_1oTcT;@yLGWc{61AoUbtSfa%)Z{>#Xqu+oxGBN z1QmNQB}~slW(?hK!^*v^HXMG#-ju z1C>{`c@1&CHq^8C-GBNU1Pb<^^>c1CUf=W6~rL~lm)u6I}ty|na}HoqTlVI0iU&HLS1Vkl$W zadQ4!Q_&gUVGZ9YMN97DTtVdUhQY~G*{)-fbJart_o>}ZYwC?ltZ%&iq8%O;sRUYy}INjQS&_Ba@X|OCxc&*3n?7u zSa?4F1!)7HIdssv`R9B*PXnjY)PD|4hb_fJjU^f{2|+9&PIYUalsmwV9^aqZLD+BCH}! zbw>}Ts=mG1Wq!pMb6_h`(hRg5X|$F&UeUw_1lcUuOgOYtatZejp7!eHR9?5nwfu1b8b$sYw*3~k`@7~ zHWri{CFvIX~F^u_x%YA0Lnu8JEM|$E|w!5A}ZAvq~VL^c3|oOZ0kztVH&~% zY3H}m3!_^lUIlwJ+MrS@KcKj9mvnWBBNuBnlC^Rkg6@%A(HlwGV;67AhA;~hZ9NY= z+9Dl{HQ%@jYM-2>QFfjqDG>Btc$87gG_Z(R{9<2(o*O{8!KScfyUu4d7@7dOY=CrQ z&fsG(r6gu|jk;GHb%i_ZU=f-n&IEmiuTBI+NY673U?W=RQ!E(Z+^o#U4h<0W16B;B zAb?t2(=0r65wg<3ooh~h!7v%8z1UTv1i(tt;y`5BOjoT3A`)0=9x4rI&@^9&lj>wq z`oO8=R}A0^HqkvN#q0pA2LS*G?U*uTJ8X0u|Ir^xdBHH4t!ZwKg>b(sCKr|1K{QMO z+D+XV23`0H7T|!CuAK(}D8go=aZo#Hh?$-e=a(n@1Bxmbm-M~#8I_t}N}~XOjq}B` zb#f4q(jM*`vq})N5g-7FR1Y`TcK}~hR40keOkoz7kJIq`dv$(GM*91*O1RTSH3s)0 z=ja`C25BFIk@P_TJ=DA}$x9z1Z1GSuJX>9-HaBRHagP*6U*x59&?b5<&R^s5!ZQ$? zC+GuMPAIFP6UGq4&JU;cV;|<%3SL+{&&-boD^grBO18VyqcHO1;8qa}30+hVqUPBS zL0Hj1G=PHvVRP=LEhXRiup?Q3oW03(pD!rlaPaC8feOm+3zZHscg_X~B9e6?FN6Gw zN`P^$86^!p=}^Fi-Fi@z?O?Vl1rhEK-J25#%e$#B!cSyXK=!5dYcB=Sq~0F9&;tp= z_A|tp1etZ&oz0ft=T}s9Dyxpklp%Q!WU1m5ClJsMb{ETao^7jmK5J#KzVN#l0U+%F zR2hR$pb#*~uaK!r*vu#aOa_zVrK=`;1npHZAl!OlNn3A&aW2jn5T>A-~U)G+t?Ee>pwo}p77yi*#I z{&rOwJoUi@Eu4%7`?lY7A4iZmO&SQKc%PTvNER;H?Zzo-le%Nu=#@Pg0bC-lY)&Nz zgTb1i+RAzG7mE(=x1dZCBCqYLy@aeayMMHq+n*Z4gFxo6)0#D?c84(NsK+|lU>|iojN#cUAFjE=i-8dUVgpm=Q!Ew73;qIVvaUW$1{ZW{MUH1z zyNEP3Nb`Kpzj~Y6yMGnQSYd@0wqSe(SkM~t%rI+hs6?@`d|tvURT{;URB3^h4~26L zqwWS+L)W=IcZpN8dSqB6W>IQtdj`|_&QO}8%bJ!oW*ki1=jWq;3gP8wMo<%b%}=MmfZdu;~bU7r7pRcT!(33I!p(YN}a=Z|Bl za)9IE&kQ)E1Bw;P!1`YQ1$pw11WZ=@{x_a?$%`QDp?(<=7+9m%Uy$Q}KdDq=^n0FN z^lz$^QORs4#q+&oyNVw%oByAAfVL5=1=om(!rs3#_w}a)RRFzxB5F{Mf?v-}-c@bY+>l%25S||07x@ zpzrH{LB9TZL8UZM^WF=99vVyln!>EXe|0|RbAAEM``b$F>EVfgL6AaJI1oz1KT02! z)*A`ilOvl?qUCQBll(u@Q2w%2RCVIX-Wp_4^M5NZYfsaty5BZ2DrtmGu~`O`$W*!U zzbCz?D6>BDKO&zqh6Gu>7O^I~M56w&%yd^I?_ZF@e}3?T4sh5QhEc%w#Qrs7m&jnZ zzbA`G2Rp3cw6^jr_9{?grS`m;Swv6hEVNsDlE(H`*T&x}x4t|EE*s&)E5tq*7Ppe+Grt zX#Ek016q2vLi5lv<_-1qHR#`R8vsIb`m-_T0Qc8{<*45}{JodZKtmu1{>NYz;^xc`~Rn*|5!;HFxr20 zR3Z7tO8zG`rT?njq2!Vt_n{RaHQE2~3o2c8(hvMLGnwRHe>)uXf7Ua4N?SUhRNglcU6+hK#}ucQ8Wf_FVq3(pEUikI?vp#Qkc^T6@^QI~hR zuX-WJ-t7PNBzw#I&o1%S97s}A`n>{cb^6e62W0qvR^aPfC<}ZtaMS;6lsz;0m z8-9S6^Y4(A=INx-><7P(T@x|f-(KkVe($0h|M7YH>=PHeFNIHit!_cYo;&m6L{q3i zxh&QXt?f1Wq-{yBnfq=E%cUMQC^lPN%S%@WlcCA52U=;&?MFthU?YmJ!9}F-sZUtF za^no0K+(tEHR(dfu@?+i|>l1Ax)pDuR`HkZFIIB=+?Lz1S+y3 zx|G69-0ZHJ4?>D}%==M!5J@|W|5w!c$24_Car_lwkKm*xz71D-rA(354FT6}rlht7 z9kftN+bv7F#Oi*f&n$DUMO+ECwF6w$Dx(f`Qb78Hk~GYv=;ns4S*nIPftGb0j&wpM zeH3u6Wz4Q?wHCWWZ*O1rYVT!tUXy-(x_zh^=>!-${!$8E>hfeV&9Uz#st7lu2yx4}`J?JoHB2rA zVkr793!y?begsuKpSu45kIn*QfQwu(H0(7^?xW+Cerq9+S}Sq_0;j9K2Lcx)fE&HAVNdY~^ zW1iYW-l9}y{OlRYir9#0l?L8_pNAOtwJ+5`dVor;H30yqKpHsh1a%v+#&LifO-SaM zBzZX|&l=h^ynS;1=Iu+HSD_G>vR|1(Si(vXXLiY!-D1{^Muc523a~IEG#j&-j~PAN z0C!#LYtuLxcm>49?arMsraxfxcu@}PP$cfJ6y3R?CYZW5pV{`gY3b$ak8)jgWg2r# z)9tgA9e1n0tQ8Fl2O3W;?rOUV^1g0g+trEB(v}la?8gu;99Ts8u>3|RHZwR=!^VoP zXYIl*=pOot?Myuai>Dl%6I6hVEqq8YX}l!o6fIJn%mZV2kY!|ZMu%v)KrP8`IUih~ zca;Gv1xLdcbR7*@PK@7Wf~Hq8c&bOS>58wJaJ_oay7sXmOhYv5z|1+UeQISQySt0L z+z&i~GK#G<{E=@Nc^aF;8jm8a4(mc(I!^_ax_tQGsv54k83F6yUAq>LB63= zt#7b*M-zUyBBgupVm^aBg}7&97LH0B+~*FMVitKspsw?f)vqnYtn7804=1Etk1C1Z z9GnsUEBu6hQG;#gt#qX&{I zs=I54Sxu-$dY87K8VZj<`UYqCp}!pIg@ZmI_BFSFHz8fjY&bxUkFms|Xm4gkC{o4p znSqSFK=W6L)4N$cnJtKz**Q8P-+eibN$R9|+?<{`5S5ILX z>|@z30G`U?1v=dKgj!eYqCp-_NI>jB`fsglAuWuF zq!lF5|GJBV8@n8{AUGF9Yz<{&sr!eDraAIdFR_Gjzq1Zp?oBJXwPQOkVR&3~siolS o<~O*coHf*+A7NI_EdeIYpoi>C&B_ie^%c} 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 HzlZ-XqlEL( literal 0 HcmV?d00001 From f75bf2d5bbaed259c1a3831f43705fe02c0f4779 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sun, 6 Feb 2022 13:53:18 -0600 Subject: [PATCH 021/180] Bump version number --- Xcodes.xcodeproj/project.pbxproj | 6 +++--- Xcodes/Resources/Info.plist | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index bb2de18..a6b780c 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -955,7 +955,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.1; + MARKETING_VERSION = 1.3.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1191,7 +1191,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.1; + MARKETING_VERSION = 1.3.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1214,7 +1214,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.1; + MARKETING_VERSION = 1.3.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index 06877b9..50c84cc 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 9 + 10 CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion @@ -35,7 +35,7 @@ SMPrivilegedExecutables com.robotsandpencils.XcodesApp.Helper - identifier "com.robotsandpencils.XcodesApp.Helper" and info [CFBundleShortVersionString] >= "1.0.0" and anchor apple generic and certificate leaf[subject.OU] = "$(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT)" + identifier "com.robotsandpencils.XcodesApp.Helper" and info [CFBundleShortVersionString] >= "1.0.0" and anchor apple generic and certificate leaf[subject.OU] = "$(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT)" SUFeedURL https://robotsandpencils.github.io/XcodesApp/appcast.xml From 9fc2c7aaf625f34e88fef1125fc2c1deecae72b8 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 7 Feb 2022 15:24:32 -0600 Subject: [PATCH 022/180] codesign unxip binary --- README.md | 2 +- Xcodes.xcodeproj/project.pbxproj | 2 -- Xcodes/Resources/unxip | Bin 236738 -> 255008 bytes 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 301c241..b44a925 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ scripts/package_release.sh # --password "app specific password" pushd Product -../scripts/notarize.sh "test@example.com" "@keychain:AC_PASSWORD" Xcodes.zip +../scripts/notarize.sh Xcodes.zip # Sign the .zip for Sparkle, note the signature in the output for later # If you're warned about the signing key not being found, see the Xcodes 1Password vault for the key and installation instructions. diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index a6b780c..59e65c8 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -104,7 +104,6 @@ E87DD6EB25D053FA00D86808 /* Progress+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87DD6EA25D053FA00D86808 /* Progress+.swift */; }; E89342FA25EDCC17007CF557 /* NotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E89342F925EDCC17007CF557 /* NotificationManager.swift */; }; E8977EA325C11E1500835F80 /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8977EA225C11E1500835F80 /* PreferencesView.swift */; }; - E8CBDB8727ADD92000B22292 /* unxip in Resources */ = {isa = PBXBuildFile; fileRef = E8CBDB8627ADD92000B22292 /* unxip */; }; E8CBDB8927ADE32300B22292 /* unxip in Copy aria2c */ = {isa = PBXBuildFile; fileRef = E8CBDB8627ADD92000B22292 /* unxip */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; E8CBDB8B27AE02FF00B22292 /* ExperiementsPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */; }; E8DA461125FAF7FB002E85EF /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8DA461025FAF7FB002E85EF /* NotificationsView.swift */; }; @@ -715,7 +714,6 @@ files = ( CAD2E7A92449575000113D76 /* Preview Assets.xcassets in Resources */, CA9FF83F2594FBC000E47BAF /* Licenses.rtf in Resources */, - E8CBDB8727ADD92000B22292 /* unxip in Resources */, CAA858DB25A3E11F00ACF8C0 /* aria2-release-1.35.0.tar.gz in Resources */, CAD2E7A62449575000113D76 /* Assets.xcassets in Resources */, ); diff --git a/Xcodes/Resources/unxip b/Xcodes/Resources/unxip index fb176857a91920e1ec080bf097ed67b6eb843840..cd304eea8aecf7a3664690b237c384841e534b61 100755 GIT binary patch delta 9435 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 Date: Wed, 2 Mar 2022 10:05:30 +0000 Subject: [PATCH 023/180] Bump actions/checkout from 2.4.0 to 3 Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 4 ++-- .github/workflows/ci.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 582a56d..dec3932 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -9,9 +9,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎 - uses: actions/checkout@v2.4.0 + uses: actions/checkout@v3 with: - # If you're using actions/checkout@v2.4.0 you must set persist-credentials to false in most cases for the deployment to work correctly. + # If you're using actions/checkout@v3 you must set persist-credentials to false in most cases for the deployment to work correctly. persist-credentials: false - name: Cache 📦 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 02586c1..0801756 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: test: runs-on: macOS-11.0 steps: - - uses: actions/checkout@v2.4.0 + - uses: actions/checkout@v3 - name: Run tests env: DEVELOPER_DIR: /Applications/Xcode_12.5.1.app From 1bd83870a29fffdd069b9e48b368e54f9613a760 Mon Sep 17 00:00:00 2001 From: Jordan Kay Date: Tue, 15 Mar 2022 18:09:36 -0400 Subject: [PATCH 024/180] Fix typo --- DECISIONS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DECISIONS.md b/DECISIONS.md index 8e85b1c..481a638 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -73,4 +73,4 @@ Based on [this blog post](https://yiqiu.me/2015/11/19/sparkle-update-on-github/) We're deliberately not capturing system profile data with Sparkle right now, because we don't want it and because it would require additional infrastructure. -We also considered https://github.com/mxcl/AppUpdater, but decided aganist it because it seemed less battle-tested than Sparkle and currently lacks an open source license. +We also considered https://github.com/mxcl/AppUpdater, but decided against it because it seemed less battle-tested than Sparkle and currently lacks an open source license. From f665054c7fa8d44d35de11d6ac41c0750bc50495 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 18 Mar 2022 09:05:20 -0500 Subject: [PATCH 025/180] Updates unxip to be universal. Updates experiment icon to support OS11 --- README.md | 14 ++++ Scripts/notarize.sh | 63 ++++++++---------- Scripts/package_release.sh | 3 + Xcodes/Frontend/About/AboutView.swift | 2 +- .../Preferences/PreferencesView.swift | 2 +- Xcodes/Resources/Licenses.rtf | 2 +- Xcodes/Resources/unxip | Bin 255008 -> 533536 bytes 7 files changed, 48 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index b44a925..6e8fb7b 100644 --- a/README.md +++ b/README.md @@ -48,10 +48,24 @@ You'll need macOS 11 Big Sur and Xcode 12 in order to build and run Xcodes.app. If you aren't a Robots and Pencils employee you'll need to change the CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT build setting to your Apple Developer team ID in order for code signing validation to succeed between the main app and the privileged helper. +`Unxip` and `aria2` must be compiled as a universal binary +``` +# compile for Intel + swiftc -parse-as-library -O -target x86_64-apple-macos11 unxip.swift +# compile for M1 + swiftc -parse-as-library -O -target arm64-apple-macos11 unxip.swift + +# combine for universal binary + lipo -create -output unxip unxip_intel unxip_m1 +# check it + lipo -archs unxip +``` + Notable design decisions are recorded in [DECISIONS.md](./DECISIONS.md). The Apple authentication flow is described in [Apple.paw](./Apple.paw), which will allow you to play with the API endpoints that are involved using the [Paw](https://paw.cloud) app. [`xcode-install`](https://github.com/xcpretty/xcode-install) and [fastlane/spaceship](https://github.com/fastlane/fastlane/tree/master/spaceship) both deserve credit for figuring out the hard parts of what makes this possible. +

Releasing a new version diff --git a/Scripts/notarize.sh b/Scripts/notarize.sh index b9dd426..a2ab52f 100755 --- a/Scripts/notarize.sh +++ b/Scripts/notarize.sh @@ -17,46 +17,39 @@ # https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution/customizing_the_notarization_workflow # Adapted from https://github.com/keybase/client/blob/46f5df0aa64ff19198ba7b044bbb7cd907c0be9f/packaging/desktop/package_darwin.sh -username="$1" -password="$2" -asc_provider="$3" -file="$4" +file="$1" +team_id="$2" echo "Uploading to notarization service" -uuid=$(xcrun altool \ - --notarize-app \ - --primary-bundle-id "com.robotsandpencils.XcodesApp.zip" \ - --username "$username" \ - --password "$password" \ - --asc-provider "$asc_provider" \ - --file "$file" 2>&1 | \ - grep 'RequestUUID' | \ - awk '{ print $3 }') +result=$(xcrun notarytool submit "$file" \ + --keychain-profile "AC_PASSWORD" \ + --team-id "$team_id" \ + --wait) +# echo "done1" +echo $result + +# My grep/awk is bad and I can't figure out how to get the UUID out properly +# uuid=$("$result" | \ +# grep 'id:' | tail -n1 | \ +# cut -d":" -f2-) echo "Successfully uploaded to notarization service, polling for result: $uuid" -sleep 15 - while : - do - fullstatus=$(xcrun altool \ - --notarization-info "$uuid" \ - --username "$username" \ - --password "$password" \ - --asc-provider "$asc_provider" 2>&1) - status=$(echo "$fullstatus" | grep 'Status\:' | awk '{ print $2 }') - if [ "$status" = "success" ]; then - echo "Notarization success" - exit 0 - elif [ "$status" = "in" ]; then - echo "Notarization still in progress, sleeping for 15 seconds and trying again" - sleep 15 - else - echo "Notarization failed, full status below" - echo "$fullstatus" - exit 1 - fi - done +# we should check here using the info (or notarytool log) to check the results and log +# + +# fullstatus=$(xcrun notarytool info "$uuid" \ +# --keychain-profile "AC_PASSWORD" 2>&1) +# status=$(echo "$fullstatus" | grep 'status\:' | awk '{ print $2 }') +# if [ "$status" = "Accepted" ]; then +# echo "Notarization success" +# exit 0 +# else +# echo "Notarization failed, full status below" +# echo "$fullstatus" +# exit 1 +# fi # Remove .zip rm $file @@ -66,4 +59,4 @@ app_path="$(basename -s ".zip" "$file").app" xcrun stapler staple "$app_path" # Zip the stapled app for distribution -ditto -c -k --sequesterRsrc --keepParent "$file" "$app_path" +ditto -c -k --sequesterRsrc --keepParent "$app_path" "$file" diff --git a/Scripts/package_release.sh b/Scripts/package_release.sh index 3cbd887..a56e14c 100755 --- a/Scripts/package_release.sh +++ b/Scripts/package_release.sh @@ -10,6 +10,9 @@ PROJECT_DIR=$(pwd)/$PROJECT_NAME/Resources SCRIPTS_DIR=$(pwd)/Scripts INFOPLIST_FILE="Info.plist" +# If needed ensure that the unxip binary is signed with a hardened runtime so we can notarize +# codesign --force --options runtime --sign "Developer ID Application: Robots and Pencils Inc." $PROJECT_DIR/unxip + # Ensure a clean build rm -rf Archive/* rm -rf Product/* diff --git a/Xcodes/Frontend/About/AboutView.swift b/Xcodes/Frontend/About/AboutView.swift index b89004b..94993f6 100644 --- a/Xcodes/Frontend/About/AboutView.swift +++ b/Xcodes/Frontend/About/AboutView.swift @@ -29,7 +29,7 @@ struct AboutView: View { } Color.clear .frame(width: 300, height: 0) - Label("Unxip Experiment", systemImage: "testtube.2") + Label("Unxip Experiment", systemImage: "lightbulb") HStack(spacing: 32) { Button(action: { openURL(URL(string: "https://github.com/saagarjha/unxip/")!) diff --git a/Xcodes/Frontend/Preferences/PreferencesView.swift b/Xcodes/Frontend/Preferences/PreferencesView.swift index b4cbc2c..8b773e8 100644 --- a/Xcodes/Frontend/Preferences/PreferencesView.swift +++ b/Xcodes/Frontend/Preferences/PreferencesView.swift @@ -27,7 +27,7 @@ struct PreferencesView: View { .tag(Tabs.advanced) ExperimentsPreferencePane() .tabItem { - Label("Experiments", systemImage: "testtube.2") + Label("Experiments", systemImage: "lightbulb") } .tag(Tabs.experiment) } diff --git a/Xcodes/Resources/Licenses.rtf b/Xcodes/Resources/Licenses.rtf index 0888bd6..4800d6a 100644 --- a/Xcodes/Resources/Licenses.rtf +++ b/Xcodes/Resources/Licenses.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2636 +{\rtf1\ansi\ansicpg1252\cocoartf2638 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} diff --git a/Xcodes/Resources/unxip b/Xcodes/Resources/unxip index cd304eea8aecf7a3664690b237c384841e534b61..271171c8dc041e6982ccb80584a265dd5f6fdac6 100755 GIT binary patch delta 153359 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�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 From e92434e9ba38265a3b427a911b3bb813b99e676a Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 28 Mar 2022 21:48:09 -0500 Subject: [PATCH 026/180] increment build 1.3.1 --- Xcodes.xcodeproj/project.pbxproj | 9 ++++++--- Xcodes/Resources/Info.plist | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 59e65c8..3c1ee78 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -944,6 +944,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 11; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -953,7 +954,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.3.0; + MARKETING_VERSION = 1.3.1; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1180,6 +1181,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 11; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1189,7 +1191,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.3.0; + MARKETING_VERSION = 1.3.1; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1203,6 +1205,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 11; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1212,7 +1215,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.3.0; + MARKETING_VERSION = 1.3.1; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index 50c84cc..f235687 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 10 + 11 CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion From 34dabd73dc747f7e286e38067d17c3fbf4f5394d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Mar 2022 10:05:47 +0000 Subject: [PATCH 027/180] Bump actions/cache from 2.1.7 to 3.0.1 Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.1. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.1) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index dec3932..555ee68 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v2.1.7 + uses: actions/cache@v3.0.1 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From c2259cf078867fe2a234ff719bde5beefc14cb24 Mon Sep 17 00:00:00 2001 From: Andrew Erickson Date: Sat, 9 Apr 2022 12:12:16 -0600 Subject: [PATCH 028/180] use fixed locale for date parsing of api responses --- Xcodes/Backend/DateFormatter+.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Xcodes/Backend/DateFormatter+.swift b/Xcodes/Backend/DateFormatter+.swift index a9eb59e..5aed8ab 100644 --- a/Xcodes/Backend/DateFormatter+.swift +++ b/Xcodes/Backend/DateFormatter+.swift @@ -5,6 +5,7 @@ extension DateFormatter { static let downloadsDateModified: DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "MM/dd/yy HH:mm" + formatter.locale = Locale(identifier: "en_US_POSIX") return formatter }() From 555843327be20282ba4db4aa230b7c03e00ee7a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Apr 2022 10:07:09 +0000 Subject: [PATCH 029/180] Bump actions/cache from 3.0.1 to 3.0.2 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.1 to 3.0.2. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.1...v3.0.2) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 555ee68..e088363 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.1 + uses: actions/cache@v3.0.2 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 4cee0f2f1559acd66a9dd030eb94f3c4e64c3402 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 11 Apr 2022 19:37:11 -0500 Subject: [PATCH 030/180] Adds option to create symbolic link at Path Xcode.app --- .../AcknowledgementsGenerator/Package.swift | 2 +- Xcodes/Backend/AppState+Install.swift | 4 +- Xcodes/Backend/AppState.swift | 39 ++++++++++++++++++- Xcodes/Backend/Path+.swift | 4 ++ Xcodes/Backend/XcodeCommands.swift | 30 ++++++++++++++ .../Frontend/XcodeList/XcodeListViewRow.swift | 1 + 6 files changed, 75 insertions(+), 5 deletions(-) diff --git a/Xcodes/AcknowledgementsGenerator/Package.swift b/Xcodes/AcknowledgementsGenerator/Package.swift index c41837e..98623d2 100644 --- a/Xcodes/AcknowledgementsGenerator/Package.swift +++ b/Xcodes/AcknowledgementsGenerator/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.3 +// swift-tools-version:5.4 import PackageDescription diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index a60a91c..b339520 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -88,7 +88,7 @@ extension AppState { private func getXcodeArchive(_ installationType: InstallationType, downloader: Downloader) -> AnyPublisher<(AvailableXcode, URL), Error> { switch installationType { case .version(let availableXcode): - if let installedXcode = Current.files.installedXcodes(Path.root/"Applications").first(where: { $0.version.isEquivalent(to: availableXcode.version) }) { + if let installedXcode = Current.files.installedXcodes(Path.installDirectory).first(where: { $0.version.isEquivalent(to: availableXcode.version) }) { return Fail(error: InstallationError.versionAlreadyInstalled(installedXcode)) .eraseToAnyPublisher() } @@ -178,7 +178,7 @@ extension AppState { public func installArchivedXcode(_ availableXcode: AvailableXcode, at archiveURL: URL) -> AnyPublisher { do { - let destinationURL = Path.root.join("Applications").join("Xcode-\(availableXcode.version.descriptionWithoutBuildMetadata).app").url + let destinationURL = Path.installDirectory.join("Xcode-\(availableXcode.version.descriptionWithoutBuildMetadata).app").url switch archiveURL.pathExtension { case "xip": return unarchiveAndMoveXIP(availableXcode: availableXcode, at: archiveURL, to: destinationURL) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index db190ca..412bd59 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -21,7 +21,7 @@ class AppState: ObservableObject { } updateAllXcodes( availableXcodes: newValue, - installedXcodes: Current.files.installedXcodes(Path.root/"Applications"), + installedXcodes: Current.files.installedXcodes(Path.installDirectory), selectedXcodePath: selectedXcodePath ) } @@ -34,7 +34,7 @@ class AppState: ObservableObject { willSet { updateAllXcodes( availableXcodes: availableXcodes, - installedXcodes: Current.files.installedXcodes(Path.root/"Applications"), + installedXcodes: Current.files.installedXcodes(Path.installDirectory), selectedXcodePath: newValue ) } @@ -495,6 +495,41 @@ class AppState: ObservableObject { NSPasteboard.general.writeObjects([installedXcodePath.url as NSURL]) NSPasteboard.general.setString(installedXcodePath.string, forType: .string) } + + func createSymbolicLink(xcode: Xcode) { + guard let installedXcodePath = xcode.installedPath else { return } + + let destinationPath: Path = Path.installDirectory/"Xcode.app" + + // does an Xcode.app file exist? + if FileManager.default.fileExists(atPath: destinationPath.string) { + do { + // if it's not a symlink, error because we don't want to delete an actual xcode.app file + let attributes: [FileAttributeKey : Any]? = try? FileManager.default.attributesOfItem(atPath: destinationPath.string) + + if attributes?[.type] as? FileAttributeType == FileAttributeType.typeSymbolicLink { + try FileManager.default.removeItem(atPath: destinationPath.string) + Logger.appState.info("Successfully deleted old symlink") + } else { + let message = "Xcode.app exists and is not a symbolic link" + self.presentedAlert = .generic(title: "Unable to create symbolic Link", message: message) + return + } + } catch { + self.presentedAlert = .generic(title: "Unable to create symbolic Link", message: error.localizedDescription) + } + } + + do { + try FileManager.default.createSymbolicLink(atPath: destinationPath.string, withDestinationPath: installedXcodePath.string) + Logger.appState.info("Successfully created symbolic link with Xcode.app") + } catch { + Logger.appState.error("Unable to create symbolic Link") + self.error = error + self.presentedAlert = .generic(title: "Unable to create symbolic Link", message: error.legibleLocalizedDescription) + } + + } func updateAllXcodes(availableXcodes: [AvailableXcode], installedXcodes: [InstalledXcode], selectedXcodePath: String?) { var adjustedAvailableXcodes = availableXcodes diff --git a/Xcodes/Backend/Path+.swift b/Xcodes/Backend/Path+.swift index 1aecb83..76eb29e 100644 --- a/Xcodes/Backend/Path+.swift +++ b/Xcodes/Backend/Path+.swift @@ -16,4 +16,8 @@ extension Path { static var cacheFile: Path { return xcodesApplicationSupport/"available-xcodes.json" } + + static var installDirectory: Path { + return Path.root/"Applications" + } } diff --git a/Xcodes/Backend/XcodeCommands.swift b/Xcodes/Backend/XcodeCommands.swift index 2e904ac..37d35f0 100644 --- a/Xcodes/Backend/XcodeCommands.swift +++ b/Xcodes/Backend/XcodeCommands.swift @@ -18,6 +18,7 @@ struct XcodeCommands: Commands { OpenCommand() RevealCommand() CopyPathCommand() + CreateSymbolicLinkCommand() Divider() @@ -153,6 +154,23 @@ struct CopyPathButton: View { } } +struct CreateSymbolicLinkButton: View { + @EnvironmentObject var appState: AppState + let xcode: Xcode? + + var body: some View { + Button(action: createSymbolicLink) { + Text("Create SymLink as Xcode.app") + } + .help("Create SymLink as Xcode.app") + } + + private func createSymbolicLink() { + guard let xcode = xcode else { return } + appState.createSymbolicLink(xcode: xcode) + } +} + // MARK: - Commands struct InstallCommand: View { @@ -225,3 +243,15 @@ struct UninstallCommand: View { .disabled(selectedXcode.unwrapped?.installState.installed != true) } } + +struct CreateSymbolicLinkCommand: View { + @EnvironmentObject var appState: AppState + @FocusedValue(\.selectedXcode) private var selectedXcode: SelectedXcode? + + var body: some View { + CreateSymbolicLinkButton(xcode: selectedXcode.unwrapped) + .keyboardShortcut("s", modifiers: [.command, .option]) + .disabled(selectedXcode.unwrapped?.installState.installed != true) + } +} + diff --git a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift index 5d88a70..65bdc12 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift @@ -53,6 +53,7 @@ struct XcodeListViewRow: View { OpenButton(xcode: xcode) RevealButton(xcode: xcode) CopyPathButton(xcode: xcode) + CreateSymbolicLinkButton(xcode: xcode) Divider() UninstallButton(xcode: xcode) From 20e7b57ad44e90e03d303be277149bb95660a23c Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 11 Apr 2022 22:21:09 -0500 Subject: [PATCH 031/180] Add check for min MacOS version when installing --- Xcodes.xcodeproj/project.pbxproj | 4 ++++ Xcodes/Backend/AppState+Install.swift | 5 ++-- Xcodes/Backend/AppState.swift | 24 +++++++++++++++++++ Xcodes/Backend/Collection+.swift | 17 +++++++++++++ Xcodes/Backend/XcodeCommands.swift | 2 +- Xcodes/Frontend/Common/XcodesAlert.swift | 2 ++ Xcodes/Frontend/MainWindow.swift | 12 ++++++++++ .../Frontend/XcodeList/XcodeListViewRow.swift | 2 +- 8 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 Xcodes/Backend/Collection+.swift diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 3c1ee78..48fc2e1 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -101,6 +101,7 @@ CAFE4AB425B7D3AF0064FE51 /* AdvancedPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFE4AB325B7D3AF0064FE51 /* AdvancedPreferencePane.swift */; }; CAFE4ABC25B7D54B0064FE51 /* UpdatesPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFE4ABB25B7D54B0064FE51 /* UpdatesPreferencePane.swift */; }; CAFFFED8259CDA5000903F81 /* XcodeListViewRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFFFED7259CDA5000903F81 /* XcodeListViewRow.swift */; }; + E81D7EA02805250100A205FC /* Collection+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E81D7E9F2805250100A205FC /* Collection+.swift */; }; E87DD6EB25D053FA00D86808 /* Progress+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87DD6EA25D053FA00D86808 /* Progress+.swift */; }; E89342FA25EDCC17007CF557 /* NotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E89342F925EDCC17007CF557 /* NotificationManager.swift */; }; E8977EA325C11E1500835F80 /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8977EA225C11E1500835F80 /* PreferencesView.swift */; }; @@ -272,6 +273,7 @@ CAFE4ABB25B7D54B0064FE51 /* UpdatesPreferencePane.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpdatesPreferencePane.swift; sourceTree = ""; }; CAFFFED7259CDA5000903F81 /* XcodeListViewRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeListViewRow.swift; sourceTree = ""; }; CAFFFEEE259CEAC400903F81 /* RingProgressViewStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RingProgressViewStyle.swift; sourceTree = ""; }; + E81D7E9F2805250100A205FC /* Collection+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+.swift"; sourceTree = ""; }; E87DD6EA25D053FA00D86808 /* Progress+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Progress+.swift"; sourceTree = ""; }; E89342F925EDCC17007CF557 /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = ""; }; E8977EA225C11E1500835F80 /* PreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = ""; }; @@ -458,6 +460,7 @@ CA25192925A9644800F08414 /* XcodeInstallState.swift */, CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */, E87DD6EA25D053FA00D86808 /* Progress+.swift */, + E81D7E9F2805250100A205FC /* Collection+.swift */, ); path = Backend; sourceTree = ""; @@ -815,6 +818,7 @@ CA25192A25A9644800F08414 /* XcodeInstallState.swift in Sources */, E8DA461125FAF7FB002E85EF /* NotificationsView.swift in Sources */, CAA1CB35255A5AD5003FD669 /* SignInCredentialsView.swift in Sources */, + E81D7EA02805250100A205FC /* Collection+.swift in Sources */, CA9FF877259528CC00E47BAF /* Version+XcodeReleases.swift in Sources */, CABFAA2D2592FBFC00380FEE /* Configure.swift in Sources */, CA73510D257BFCEF00EA9CF8 /* NSAttributedString+.swift in Sources */, diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index a60a91c..509f351 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -24,10 +24,10 @@ extension AppState { if autoInstallType == .newestBeta { Logger.appState.info("Auto installing newest Xcode Beta") // install it, as user doesn't have it installed and it's either latest beta or latest release - install(id: newestXcode.id) + checkMinVersionAndInstall(id: newestXcode.id) } else if autoInstallType == .newestVersion && newestXcode.version.isNotPrerelease { Logger.appState.info("Auto installing newest Xcode") - install(id: newestXcode.id) + checkMinVersionAndInstall(id: newestXcode.id) } else { Logger.appState.info("No new Xcodes version found to auto install") } @@ -92,6 +92,7 @@ extension AppState { return Fail(error: InstallationError.versionAlreadyInstalled(installedXcode)) .eraseToAnyPublisher() } + return downloadXcode(availableXcode: availableXcode, downloader: downloader) } } diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index db190ca..95db88a 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -312,6 +312,24 @@ class AppState: ObservableObject { // MARK: - Install + func checkMinVersionAndInstall(id: Xcode.ID) { + guard let availableXcode = availableXcodes.first(where: { $0.version == id }) else { return } + + // Check to see if users MacOS is supported + if let requiredMacOSVersion = availableXcode.requiredMacOSVersion { + let split = requiredMacOSVersion.components(separatedBy: ".").compactMap { Int($0) } + let xcodeMinimumMacOSVersion = OperatingSystemVersion(majorVersion: split[safe: 0] ?? 0, minorVersion: split[safe: 1] ?? 0, patchVersion: split[safe: 2] ?? 0) + + if !ProcessInfo.processInfo.isOperatingSystemAtLeast(xcodeMinimumMacOSVersion) { + // prompt + self.presentedAlert = .checkMinSupportedVersion(xcode: availableXcode, macOS: ProcessInfo.processInfo.operatingSystemVersion.versionString()) + return + } + } + + install(id: id) + } + func install(id: Xcode.ID) { guard let availableXcode = availableXcodes.first(where: { $0.version == id }) else { return } @@ -631,3 +649,9 @@ class AppState: ObservableObject { let sessionData: AppleSessionData } } + +extension OperatingSystemVersion { + func versionString() -> String { + return String(majorVersion) + "." + String(minorVersion) + "." + String(patchVersion) + } +} diff --git a/Xcodes/Backend/Collection+.swift b/Xcodes/Backend/Collection+.swift new file mode 100644 index 0000000..5a59f33 --- /dev/null +++ b/Xcodes/Backend/Collection+.swift @@ -0,0 +1,17 @@ +// +// Collection+.swift +// Xcodes +// +// Created by Matt Kiazyk on 2022-04-11. +// Copyright © 2022 Robots and Pencils. All rights reserved. +// + +import Foundation + +public extension Collection { + + /// Returns the element at the specified index iff it is within bounds, otherwise nil. + subscript (safe index: Index) -> Element? { + return indices.contains(index) ? self[index] : nil + } +} diff --git a/Xcodes/Backend/XcodeCommands.swift b/Xcodes/Backend/XcodeCommands.swift index 2e904ac..78d4504 100644 --- a/Xcodes/Backend/XcodeCommands.swift +++ b/Xcodes/Backend/XcodeCommands.swift @@ -44,7 +44,7 @@ struct InstallButton: View { private func install() { guard let xcode = xcode else { return } - appState.install(id: xcode.id) + appState.checkMinVersionAndInstall(id: xcode.id) } } diff --git a/Xcodes/Frontend/Common/XcodesAlert.swift b/Xcodes/Frontend/Common/XcodesAlert.swift index c57d089..c928501 100644 --- a/Xcodes/Frontend/Common/XcodesAlert.swift +++ b/Xcodes/Frontend/Common/XcodesAlert.swift @@ -4,12 +4,14 @@ enum XcodesAlert: Identifiable { case cancelInstall(xcode: Xcode) case privilegedHelper case generic(title: String, message: String) + case checkMinSupportedVersion(xcode: AvailableXcode, macOS: String) var id: Int { switch self { case .cancelInstall: return 1 case .privilegedHelper: return 2 case .generic: return 3 + case .checkMinSupportedVersion: return 4 } } } diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 3403e34..022413c 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -151,6 +151,18 @@ struct MainWindow: View { action: { appState.presentedAlert = nil } ) ) + case let .checkMinSupportedVersion(xcode, deviceVersion): + return Alert( + title: Text("Minimum requirements not met"), + message: Text("Xcode \(xcode.version.descriptionWithoutBuildMetadata) requires MacOS \(xcode.requiredMacOSVersion ?? ""), but you are running MacOS \(deviceVersion), do you still want to install it?"), + primaryButton: .default( + Text("Install"), + action: { + self.appState.install(id: xcode.version) + } + ), + secondaryButton: .cancel(Text("Cancel")) + ) } } } diff --git a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift index 5d88a70..fbb702b 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift @@ -105,7 +105,7 @@ struct XcodeListViewRow: View { .buttonStyle(AppStoreButtonStyle(primary: true, highlighted: selected)) .help("Open this version") case .notInstalled: - Button("INSTALL") { appState.install(id: xcode.id) } + Button("INSTALL") { appState.checkMinVersionAndInstall(id: xcode.id) } .buttonStyle(AppStoreButtonStyle(primary: false, highlighted: selected)) .help("Install this version") case let .installing(installationStep): From f7b4c5e2bb84b4d27ba37078e9cc9ab2af07d172 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Wed, 13 Apr 2022 21:34:03 -0500 Subject: [PATCH 032/180] Make Symbolic Link on Xcode Select --- Xcodes/Backend/AppState.swift | 12 +++++++++++- .../Preferences/AdvancedPreferencePane.swift | 15 ++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 8f38ca7..89a43ac 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -68,7 +68,13 @@ class AppState: ObservableObject { Current.defaults.set(unxipExperiment, forKey: "unxipExperiment") } } - + + @Published var createSymLinkOnSelect = false { + didSet { + Current.defaults.set(createSymLinkOnSelect, forKey: "createSymLinkOnSelect") + } + } + // MARK: - Publisher Cancellables var cancellables = Set() @@ -489,6 +495,10 @@ class AppState: ObservableObject { if case let .failure(error) = completion { self.error = error self.presentedAlert = .generic(title: "Unable to select Xcode", message: error.legibleLocalizedDescription) + } else { + if self.createSymLinkOnSelect { + createSymbolicLink(xcode: xcode) + } } self.selectPublisher = nil }, diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 9868e6f..7005d61 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -43,7 +43,20 @@ struct AdvancedPreferencePane: View { .font(.footnote) .fixedSize(horizontal: false, vertical: true) } - + } + .groupBoxStyle(PreferencesGroupBoxStyle()) + + GroupBox(label: Text("Active/Select")) { + VStack(alignment: .leading) { + Toggle( + "Automatically create symbolic link to Xcodes.app", + isOn: $appState.createSymLinkOnSelect + ) + Text("When making an Xcode version Active/Selected, try and create a symbolic link named Xcode.app in the installation directory") + .font(.footnote) + .fixedSize(horizontal: false, vertical: true) + } + .fixedSize(horizontal: false, vertical: true) } .groupBoxStyle(PreferencesGroupBoxStyle()) From 03a136385f964c22e5d52ba0123c09a891883a05 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 14 Apr 2022 15:15:48 -0500 Subject: [PATCH 033/180] Bump build v1.4.0 --- Xcodes.xcodeproj/project.pbxproj | 12 ++++++------ Xcodes/Resources/Info.plist | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 48fc2e1..6743022 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -948,7 +948,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 12; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -958,7 +958,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.4.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1185,7 +1185,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 12; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1195,7 +1195,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.4.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1209,7 +1209,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 12; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1219,7 +1219,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.3.1; + MARKETING_VERSION = 1.4.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index f235687..58e8717 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 11 + $(CURRENT_PROJECT_VERSION) CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion From abf8dbf7b29d50f48b68a0f722f41351f84d6973 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 15 Apr 2022 08:29:41 -0500 Subject: [PATCH 034/180] Fix: Load create SymLink preference on start --- Xcodes/Backend/AppState.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 89a43ac..57e0043 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -109,6 +109,7 @@ class AppState: ObservableObject { func setupDefaults() { localPath = Current.defaults.string(forKey: "localPath") ?? Path.defaultXcodesApplicationSupport.string unxipExperiment = Current.defaults.bool(forKey: "unxipExperiment") ?? false + createSymLinkOnSelect = Current.defaults.bool(forKey: "createSymLinkOnSelect") ?? false } // MARK: Timer From 1d22be649a7cb2a758e097a12d81df6eb890b97d Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 14 Apr 2022 23:18:42 -0500 Subject: [PATCH 035/180] convert strings to support Localization --- Xcodes.xcodeproj/project.pbxproj | 18 ++ Xcodes/Backend/AppState+Install.swift | 57 ++--- Xcodes/Backend/AppState+Update.swift | 4 +- Xcodes/Backend/AppState.swift | 19 +- Xcodes/Backend/HelperClient.swift | 2 +- Xcodes/Backend/InstallationStep.swift | 12 +- Xcodes/Backend/NotificationManager.swift | 4 +- Xcodes/Backend/XcodeCommands.swift | 16 +- Xcodes/Frontend/About/AboutView.swift | 8 +- .../Common/ObservingProgressIndicator.swift | 2 +- Xcodes/Frontend/InfoPane/InfoPane.swift | 22 +- .../InfoPane/InstallationStepDetailView.swift | 2 +- Xcodes/Frontend/MainWindow.swift | 20 +- .../Preferences/AdvancedPreferencePane.swift | 34 ++- .../ExperiementsPreferencePane.swift | 12 +- .../Preferences/GeneralPreferencePane.swift | 4 +- .../Preferences/NotificationsView.swift | 8 +- .../Preferences/UpdatesPreferencePane.swift | 16 +- Xcodes/Frontend/SignIn/SignIn2FAView.swift | 4 +- .../SignIn/SignInCredentialsView.swift | 6 +- .../Frontend/SignIn/SignInPhoneListView.swift | 4 +- Xcodes/Frontend/SignIn/SignInSMSView.swift | 2 +- Xcodes/Frontend/SignIn/SignedInView.swift | 2 +- .../XcodeList/InstallationStepRowView.swift | 4 +- Xcodes/Frontend/XcodeList/MainToolbar.swift | 24 +- .../XcodeList/XcodeListCategory.swift | 6 +- .../Frontend/XcodeList/XcodeListViewRow.swift | 18 +- Xcodes/Resources/en.lproj/Localizable.strings | 215 ++++++++++++++++++ Xcodes/XcodesApp.swift | 23 +- 29 files changed, 389 insertions(+), 179 deletions(-) create mode 100644 Xcodes/Resources/en.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 6743022..333da06 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -102,6 +102,7 @@ CAFE4ABC25B7D54B0064FE51 /* UpdatesPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFE4ABB25B7D54B0064FE51 /* UpdatesPreferencePane.swift */; }; CAFFFED8259CDA5000903F81 /* XcodeListViewRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFFFED7259CDA5000903F81 /* XcodeListViewRow.swift */; }; E81D7EA02805250100A205FC /* Collection+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E81D7E9F2805250100A205FC /* Collection+.swift */; }; + E872EE4E2808D4F100D3DD8B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E872EE502808D4F100D3DD8B /* Localizable.strings */; }; E87DD6EB25D053FA00D86808 /* Progress+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87DD6EA25D053FA00D86808 /* Progress+.swift */; }; E89342FA25EDCC17007CF557 /* NotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E89342F925EDCC17007CF557 /* NotificationManager.swift */; }; E8977EA325C11E1500835F80 /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8977EA225C11E1500835F80 /* PreferencesView.swift */; }; @@ -274,6 +275,7 @@ CAFFFED7259CDA5000903F81 /* XcodeListViewRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeListViewRow.swift; sourceTree = ""; }; CAFFFEEE259CEAC400903F81 /* RingProgressViewStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RingProgressViewStyle.swift; sourceTree = ""; }; E81D7E9F2805250100A205FC /* Collection+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+.swift"; sourceTree = ""; }; + E872EE4F2808D4F100D3DD8B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; E87DD6EA25D053FA00D86808 /* Progress+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Progress+.swift"; sourceTree = ""; }; E89342F925EDCC17007CF557 /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = ""; }; E8977EA225C11E1500835F80 /* PreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = ""; }; @@ -493,6 +495,7 @@ CAD2E7AE2449575000113D76 /* Xcodes.entitlements */, CA8FB64D256E17B100469DA5 /* XcodesTest.entitlements */, E8CBDB8627ADD92000B22292 /* unxip */, + E872EE502808D4F100D3DD8B /* Localizable.strings */, ); path = Resources; sourceTree = ""; @@ -715,6 +718,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + E872EE4E2808D4F100D3DD8B /* Localizable.strings in Resources */, CAD2E7A92449575000113D76 /* Preview Assets.xcassets in Resources */, CA9FF83F2594FBC000E47BAF /* Licenses.rtf in Resources */, CAA858DB25A3E11F00ACF8C0 /* aria2-release-1.35.0.tar.gz in Resources */, @@ -878,6 +882,17 @@ }; /* End PBXTargetDependency section */ +/* Begin PBXVariantGroup section */ + E872EE502808D4F100D3DD8B /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + E872EE4F2808D4F100D3DD8B /* en */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ CA8FB635256E154800469DA5 /* Test */ = { isa = XCBuildConfiguration; @@ -936,6 +951,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Test; @@ -1120,6 +1136,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; @@ -1174,6 +1191,7 @@ MTL_FAST_MATH = YES; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index 2f9119f..79caf96 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -215,7 +215,7 @@ extension AppState { .handleEvents(receiveCompletion: { [unowned self] completion in if case let .failure(error) = completion { self.error = error - self.presentedAlert = .generic(title: "Unable to install archived Xcode", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.InstallArchive.Error.Title"), message: error.legibleLocalizedDescription) } }) .catch { _ in @@ -362,7 +362,7 @@ extension AppState { receiveCompletion: { completion in if case let .failure(error) = completion { self.error = error - self.presentedAlert = .generic(title: "Unable to perform post install steps", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.PostInstall.Title"), message: error.legibleLocalizedDescription) } }, receiveValue: {} @@ -503,60 +503,41 @@ public enum InstallationError: LocalizedError, Equatable { public var errorDescription: String? { switch self { case .damagedXIP(let url): - return "The archive \"\(url.lastPathComponent)\" is damaged and can't be expanded." + return String(format: localizeString("InstallationError.DamagedXIP"), url.lastPathComponent) case let .notEnoughFreeSpaceToExpandArchive(archivePath, version): - return """ - The archive “\(archivePath.basename())” can’t be expanded because the current volume doesn’t have enough free space. - - Make more space available to expand the archive and then install Xcode \(version.appleDescription) again to start installation from where it left off. - """ + return String(format: localizeString("InstallationError.NotEnoughFreeSpaceToExpandArchive"), archivePath.basename(), version.appleDescription) case .failedToMoveXcodeToApplications: - return "Failed to move Xcode to the /Applications directory." + return String(format: localizeString("InstallationError.FailedToMoveXcodeToApplications"), Path.installDirectory.string) case .failedSecurityAssessment(let xcode, let output): - return """ - Xcode \(xcode.version) failed its security assessment with the following output: - \(output) - It remains installed at \(xcode.path) if you wish to use it anyways. - """ + return String(format: localizeString("InstallationError.FailedSecurityAssessment"), String(xcode.version), output, xcode.path.string) case .codesignVerifyFailed(let output): - return """ - The downloaded Xcode failed code signing verification with the following output: - \(output) - """ + return String(format: localizeString("InstallationError.CodesignVerifyFailed"), output) case .unexpectedCodeSigningIdentity(let identity, let certificateAuthority): - return """ - The downloaded Xcode doesn't have the expected code signing identity. - Got: - \(identity) - \(certificateAuthority) - Expected: - \(XcodeTeamIdentifier) - \(XcodeCertificateAuthority) - """ + return String(format: localizeString("InstallationError.UnexpectedCodeSigningIdentity"), identity, certificateAuthority, XcodeTeamIdentifier, XcodeCertificateAuthority) case .unsupportedFileFormat(let fileExtension): - return "xcodes doesn't (yet) support installing Xcode from the \(fileExtension) file format." + return String(format: localizeString("InstallationError.UnsuppoawwrtedFileFormat"), fileExtension) case .missingSudoerPassword: - return "Missing password. Please try again." + return localizeString("InstallationError.MissingSudoerPassword") case let .unavailableVersion(version): - return "Could not find version \(version.appleDescription)." + return String(format: localizeString("InstallationError.UnavailableVersion"), version.appleDescription) case .noNonPrereleaseVersionAvailable: - return "No non-prerelease versions available." + return localizeString("InstallationError.NoNonPrereleaseVersionAvailable") case .noPrereleaseVersionAvailable: - return "No prerelease versions available." + return localizeString("InstallationError.NoPrereleaseVersionAvailable") case .missingUsernameOrPassword: - return "Missing username or a password. Please try again." + return localizeString("InstallationError.MissingUsernameOrPassword") case let .versionAlreadyInstalled(installedXcode): - return "\(installedXcode.version.appleDescription) is already installed at \(installedXcode.path)" + return String(format: localizeString("InstallationError.VersionAlreadyInstalled"), installedXcode.version.appleDescription, installedXcode.path.string) case let .invalidVersion(version): - return "\(version) is not a valid version number." + return String(format: localizeString("InstallationError.InvalidVersion"), version) case let .versionNotInstalled(version): - return "\(version.appleDescription) is not installed." + return String(format: localizeString("InstallationError.VersionNotInstalled"), version.appleDescription) case let .postInstallStepsNotPerformed(version, helperInstallState): switch helperInstallState { case .installed: - return "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode \(version.appleDescription)." + return String(format: localizeString("InstallationError.PostInstallStepsNotPerformed.Installed"), version.appleDescription) case .notInstalled, .unknown: - return "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode \(version.appleDescription)." + return String(format: localizeString("InstallationError.PostInstallStepsNotPerformed.NotInstalled"), version.appleDescription) } } } diff --git a/Xcodes/Backend/AppState+Update.swift b/Xcodes/Backend/AppState+Update.swift index 58b3626..8dad172 100644 --- a/Xcodes/Backend/AppState+Update.swift +++ b/Xcodes/Backend/AppState+Update.swift @@ -47,7 +47,7 @@ extension AppState { // Prevent setting the app state error if it is an invalid session, we will present the sign in view instead if error as? AuthenticationError != .invalidSession { self.error = error - self.presentedAlert = .generic(title: "Unable to update selected Xcode", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.Update.Error.Title"), message: error.legibleLocalizedDescription) } case .finished: Current.defaults.setDate(Current.date(), forKey: "lastUpdated") @@ -141,7 +141,7 @@ extension AppState { throw AuthenticationError.invalidResult(resultString: downloads.resultsString) } guard let downloadList = downloads.downloads else { - throw AuthenticationError.invalidResult(resultString: "No download information found") + throw AuthenticationError.invalidResult(resultString: localizeString("DownloadingError")) } let xcodes = downloadList .filter { $0.name.range(of: "^Xcode [0-9]", options: .regularExpression) != nil } diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 89a43ac..dd02f38 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -17,7 +17,7 @@ class AppState: ObservableObject { @Published var availableXcodes: [AvailableXcode] = [] { willSet { if newValue.count > availableXcodes.count && availableXcodes.count != 0 { - Current.notificationManager.scheduleNotification(title: "New Xcode versions", body: "New Xcode versions are available to download.", category: .normal) + Current.notificationManager.scheduleNotification(title: localizeString("Notification.NewXcodeVersion.Title"), body: localizeString("Notification.NewXcodeVersion.Body"), category: .normal) } updateAllXcodes( availableXcodes: newValue, @@ -283,7 +283,7 @@ class AppState: ObservableObject { receiveCompletion: { [unowned self] completion in if case let .failure(error) = completion { self.error = error - self.presentedAlert = .generic(title: "Unable to install helper", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.PrivilegedHelper.Error.Title"), message: error.legibleLocalizedDescription) } }, receiveValue: {} @@ -377,7 +377,7 @@ class AppState: ObservableObject { throw AuthenticationError.invalidResult(resultString: downloads.resultsString) } if downloads.downloads == nil { - throw AuthenticationError.invalidResult(resultString: "No download information found") + throw AuthenticationError.invalidResult(resultString: localizeString("DownloadingError")) } } .mapError { $0 as Error } @@ -393,7 +393,7 @@ class AppState: ObservableObject { // Prevent setting the app state error if it is an invalid session, we will present the sign in view instead if error as? AuthenticationError != .invalidSession { self.error = error - self.presentedAlert = .generic(title: "Unable to install Xcode", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.Install.Error.Title"), message: error.legibleLocalizedDescription) } if let index = self.allXcodes.firstIndex(where: { $0.id == id }) { self.allXcodes[index].installState = .notInstalled @@ -437,7 +437,7 @@ class AppState: ObservableObject { receiveCompletion: { [unowned self] completion in if case let .failure(error) = completion { self.error = error - self.presentedAlert = .generic(title: "Unable to uninstall Xcode", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.Uninstall.Error.Title"), message: error.legibleLocalizedDescription) } self.uninstallPublisher = nil }, @@ -494,7 +494,7 @@ class AppState: ObservableObject { receiveCompletion: { [unowned self] completion in if case let .failure(error) = completion { self.error = error - self.presentedAlert = .generic(title: "Unable to select Xcode", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.Select.Error.Title"), message: error.legibleLocalizedDescription) } else { if self.createSymLinkOnSelect { createSymbolicLink(xcode: xcode) @@ -539,12 +539,11 @@ class AppState: ObservableObject { try FileManager.default.removeItem(atPath: destinationPath.string) Logger.appState.info("Successfully deleted old symlink") } else { - let message = "Xcode.app exists and is not a symbolic link" - self.presentedAlert = .generic(title: "Unable to create symbolic Link", message: message) + self.presentedAlert = .generic(title: localizeString("Alert.SymLink.Title"), message: localizeString("Alert.SymLink.Message")) return } } catch { - self.presentedAlert = .generic(title: "Unable to create symbolic Link", message: error.localizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.SymLink.Title"), message: error.localizedDescription) } } @@ -554,7 +553,7 @@ class AppState: ObservableObject { } catch { Logger.appState.error("Unable to create symbolic Link") self.error = error - self.presentedAlert = .generic(title: "Unable to create symbolic Link", message: error.legibleLocalizedDescription) + self.presentedAlert = .generic(title: localizeString("Alert.SymLink.Title"), message: error.legibleLocalizedDescription) } } diff --git a/Xcodes/Backend/HelperClient.swift b/Xcodes/Backend/HelperClient.swift index e917900..284d23d 100644 --- a/Xcodes/Backend/HelperClient.swift +++ b/Xcodes/Backend/HelperClient.swift @@ -361,7 +361,7 @@ enum HelperClientError: LocalizedError { var errorDescription: String? { switch self { case .failedToCreateRemoteObjectProxy: - return "Unable to communicate with privileged helper." + return localizeString("HelperClient.error") case let .message(message): return message } diff --git a/Xcodes/Backend/InstallationStep.swift b/Xcodes/Backend/InstallationStep.swift index f434229..ca2001d 100644 --- a/Xcodes/Backend/InstallationStep.swift +++ b/Xcodes/Backend/InstallationStep.swift @@ -16,17 +16,17 @@ enum InstallationStep: Equatable, CustomStringConvertible { var message: String { switch self { case .downloading: - return "Downloading" + return localizeString("Downloading") case .unarchiving: - return "Unarchiving (This can take a while)" + return localizeString("Unarchiving") case .moving(let destination): - return "Moving to \(destination)" + return String(format: localizeString("Moving"), destination) case .trashingArchive: - return "Moving archive to the Trash" + return localizeString("TrashingArchive") case .checkingSecurity: - return "Security verification" + return localizeString("CheckingSecurity") case .finishing: - return "Finishing" + return localizeString("Finishing") } } diff --git a/Xcodes/Backend/NotificationManager.swift b/Xcodes/Backend/NotificationManager.swift index cb37a5a..7c2a3af 100644 --- a/Xcodes/Backend/NotificationManager.swift +++ b/Xcodes/Backend/NotificationManager.swift @@ -22,9 +22,9 @@ public enum XcodesNotificationType: String, Identifiable, CaseIterable, CustomSt public var description: String { switch self { case .newVersionAvailable: - return "New version is available" + return localizeString("Notification.NewVersionAvailable") case .finishedInstalling: - return "Finished installing" + return localizeString("Notification.FinishedInstalling") } } } diff --git a/Xcodes/Backend/XcodeCommands.swift b/Xcodes/Backend/XcodeCommands.swift index 60e0fd5..f5efb4e 100644 --- a/Xcodes/Backend/XcodeCommands.swift +++ b/Xcodes/Backend/XcodeCommands.swift @@ -56,7 +56,7 @@ struct CancelInstallButton: View { var body: some View { Button(action: cancelInstall) { Text("Cancel") - .help("Stop installation") + .help(localizeString("StopInstallation")) } } @@ -75,7 +75,7 @@ struct SelectButton: View { if xcode?.selected == true { Text("Active") } else { - Text("Make active") + Text("MakeActive") } } .disabled(xcode?.selected != false) @@ -126,9 +126,9 @@ struct RevealButton: View { var body: some View { Button(action: reveal) { - Text("Reveal in Finder") + Text("RevealInFinder") } - .help("Reveal in Finder") + .help("RevealInFinder") } private func reveal() { @@ -143,9 +143,9 @@ struct CopyPathButton: View { var body: some View { Button(action: copyPath) { - Text("Copy Path") + Text("CopyPath") } - .help("Copy path") + .help("CopyPath") } private func copyPath() { @@ -160,9 +160,9 @@ struct CreateSymbolicLinkButton: View { var body: some View { Button(action: createSymbolicLink) { - Text("Create SymLink as Xcode.app") + Text("CreateSymLink") } - .help("Create SymLink as Xcode.app") + .help("CreateSymLink") } private func createSymbolicLink() { diff --git a/Xcodes/Frontend/About/AboutView.swift b/Xcodes/Frontend/About/AboutView.swift index 94993f6..2858b5f 100644 --- a/Xcodes/Frontend/About/AboutView.swift +++ b/Xcodes/Frontend/About/AboutView.swift @@ -12,13 +12,13 @@ struct AboutView: View { Text(Bundle.main.bundleName!) .font(.largeTitle) - Text("Version \(Bundle.main.shortVersion!) (\(Bundle.main.version!))") + Text(String(format: localizeString("VersionWithBuild"), Bundle.main.shortVersion!, Bundle.main.version!)) HStack(spacing: 32) { Button(action: { openURL(URL(string: "https://github.com/RobotsAndPencils/XcodesApp/")!) }) { - Label("GitHub Repo", systemImage: "link") + Label("GitHubRepo", systemImage: "link") } .buttonStyle(LinkButtonStyle()) @@ -29,12 +29,12 @@ struct AboutView: View { } Color.clear .frame(width: 300, height: 0) - Label("Unxip Experiment", systemImage: "lightbulb") + Label("UnxipExperiment", systemImage: "lightbulb") HStack(spacing: 32) { Button(action: { openURL(URL(string: "https://github.com/saagarjha/unxip/")!) }) { - Label("Github Repo", systemImage: "link") + Label("GithubRepo", systemImage: "link") } .buttonStyle(LinkButtonStyle()) diff --git a/Xcodes/Frontend/Common/ObservingProgressIndicator.swift b/Xcodes/Frontend/Common/ObservingProgressIndicator.swift index 88a11ef..3b2e5c8 100644 --- a/Xcodes/Frontend/Common/ObservingProgressIndicator.swift +++ b/Xcodes/Frontend/Common/ObservingProgressIndicator.swift @@ -46,7 +46,7 @@ public struct ObservingProgressIndicator: View { isIndeterminate: progress.progress.isIndeterminate, style: style ) - .help("Downloading: \(Int((progress.progress.fractionCompleted * 100)))% complete") + .help(String(format: localizeString("DownloadingPercentDescription"), Int((progress.progress.fractionCompleted * 100)))) if showsAdditionalDescription, progress.progress.xcodesLocalizedDescription.isEmpty == false { Text(progress.progress.xcodesLocalizedDescription) diff --git a/Xcodes/Frontend/InfoPane/InfoPane.swift b/Xcodes/Frontend/InfoPane/InfoPane.swift index 3ddfda7..7005b1c 100644 --- a/Xcodes/Frontend/InfoPane/InfoPane.swift +++ b/Xcodes/Frontend/InfoPane/InfoPane.swift @@ -35,7 +35,7 @@ struct InfoPane: View { Image(systemName: "arrow.right.circle.fill") } .buttonStyle(PlainButtonStyle()) - .help("Reveal in Finder") + .help("RevealInFinder") } HStack { @@ -90,11 +90,11 @@ struct InfoPane: View { if !xcode.identicalBuilds.isEmpty { VStack(alignment: .leading) { HStack { - Text("Identical Builds") + Text("IdenticalBuilds") Image(systemName: "square.fill.on.square.fill") .foregroundColor(.secondary) .accessibility(hidden: true) - .help("Sometimes a prerelease and release version are the exact same build. Xcodes will automatically display these versions together.") + .help("IdenticalBuilds.help") } .font(.headline) @@ -105,9 +105,9 @@ struct InfoPane: View { } .frame(maxWidth: .infinity, alignment: .leading) .accessibilityElement() - .accessibility(label: Text("Identical Builds")) + .accessibility(label: Text("IdenticalBuilds")) .accessibility(value: Text(xcode.identicalBuilds.map(\.appleDescription).joined(separator: ", "))) - .accessibility(hint: Text("Sometimes a prerelease and release version are the exact same build. Xcodes will automatically display these versions together.")) + .accessibility(hint: Text("IdenticalBuilds.help")) } else { EmptyView() } @@ -117,7 +117,7 @@ struct InfoPane: View { private func releaseDate(for xcode: Xcode) -> some View { if let releaseDate = xcode.releaseDate { VStack(alignment: .leading) { - Text("Release Date") + Text("ReleaseDate") .font(.headline) .frame(maxWidth: .infinity, alignment: .leading) Text(DateFormatter.downloadsReleaseDate.string(from: releaseDate)) @@ -133,11 +133,11 @@ struct InfoPane: View { private func releaseNotes(for xcode: Xcode) -> some View { if let releaseNotesURL = xcode.releaseNotesURL { Button(action: { openURL(releaseNotesURL) }) { - Label("Release Notes", systemImage: "link") + Label("ReleaseNotes", systemImage: "link") } .buttonStyle(LinkButtonStyle()) .frame(maxWidth: .infinity, alignment: .leading) - .help("View Release Notes") + .help("ReleaseNotes.help") } else { EmptyView() } @@ -150,7 +150,7 @@ struct InfoPane: View { Text("Compatibility") .font(.headline) .frame(maxWidth: .infinity, alignment: .leading) - Text("Requires macOS \(requiredMacOSVersion) or later") + Text(String(format: localizeString("MacOSRequirement"), requiredMacOSVersion)) .font(.subheadline) .frame(maxWidth: .infinity, alignment: .leading) } @@ -217,7 +217,7 @@ struct InfoPane: View { // if we've downloaded it no need to show the download size if let downloadFileSize = xcode.downloadFileSizeString, case .notInstalled = xcode.installState { VStack(alignment: .leading) { - Text("Download Size") + Text("DownloadSize") .font(.headline) .frame(maxWidth: .infinity, alignment: .leading) Text("\(downloadFileSize)") @@ -231,7 +231,7 @@ struct InfoPane: View { @ViewBuilder private var empty: some View { - Text("No Xcode Selected") + Text("NoXcodeSelected") .font(.title) .foregroundColor(.secondary) .frame(maxWidth: .infinity, maxHeight: .infinity) diff --git a/Xcodes/Frontend/InfoPane/InstallationStepDetailView.swift b/Xcodes/Frontend/InfoPane/InstallationStepDetailView.swift index a1992d5..863f204 100644 --- a/Xcodes/Frontend/InfoPane/InstallationStepDetailView.swift +++ b/Xcodes/Frontend/InfoPane/InstallationStepDetailView.swift @@ -5,7 +5,7 @@ struct InstallationStepDetailView: View { var body: some View { VStack(alignment: .leading, spacing: 0) { - Text("Step \(installationStep.stepNumber) of \(installationStep.stepCount): \(installationStep.message)") + Text(String(format: localizeString("InstallationStepDescription"), installationStep.stepNumber, installationStep.stepCount, installationStep.message)) switch installationStep { case let .downloading(progress): diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 022413c..36584e7 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -20,8 +20,8 @@ struct MainWindow: View { .frame(minWidth: 300) .layoutPriority(1) .alert(item: $appState.xcodeBeingConfirmedForUninstallation) { xcode in - Alert(title: Text("Uninstall Xcode \(xcode.description)?"), - message: Text("It will be moved to the Trash, but won't be emptied."), + Alert(title: Text(String(format: localizeString("Alert.Uninstall.Title"), xcode.description)), + message: Text("Alert.Uninstall.Message"), primaryButton: .destructive(Text("Uninstall"), action: { self.appState.uninstall(xcode: xcode) }), secondaryButton: .cancel(Text("Cancel"))) } @@ -60,7 +60,7 @@ struct MainWindow: View { private var subtitleText: Text { if let lastUpdated = lastUpdated.map(Date.init(timeIntervalSince1970:)) { - return Text("Updated at \(lastUpdated, style: .date) \(lastUpdated, style: .time)") + return Text("\(localizeString("UpdatedAt")) \(lastUpdated, style: .date) \(lastUpdated, style: .time)") } else { return Text("") } @@ -101,10 +101,10 @@ struct MainWindow: View { switch alertType { case let .cancelInstall(xcode): return Alert( - title: Text("Are you sure you want to stop the installation of Xcode \(xcode.description)?"), - message: Text("Any progress will be discarded."), + title: Text(String(format: "Alert.CancelInstall.Title", xcode.description)), + message: Text("Alert.CancelInstall.Message"), primaryButton: .destructive( - Text("Stop Installation"), + Text("Alert.CancelInstall.PrimaryButton"), action: { self.appState.cancelInstall(id: xcode.id) } @@ -113,8 +113,8 @@ struct MainWindow: View { ) case .privilegedHelper: return Alert( - title: Text("Privileged Helper"), - message: Text("Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."), + title: Text("Alert.PrivilegedHelper.Title"), + message: Text("Alert.PrivilegedHelper.Message"), primaryButton: .default(Text("Install"), action: { // The isPreparingUserForActionRequiringHelper closure is set to nil by the alert's binding when its dismissed. // We need to capture it to be invoked after that happens. @@ -153,8 +153,8 @@ struct MainWindow: View { ) case let .checkMinSupportedVersion(xcode, deviceVersion): return Alert( - title: Text("Minimum requirements not met"), - message: Text("Xcode \(xcode.version.descriptionWithoutBuildMetadata) requires MacOS \(xcode.requiredMacOSVersion ?? ""), but you are running MacOS \(deviceVersion), do you still want to install it?"), + title: Text("Alert.MinSupported.Title"), + message: Text(String(format: "Alert.MinSupported.Message", xcode.version.descriptionWithoutBuildMetadata, xcode.requiredMacOSVersion ?? "", deviceVersion)), primaryButton: .default( Text("Install"), action: { diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 7005d61..b0f1644 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -11,7 +11,7 @@ struct AdvancedPreferencePane: View { var body: some View { VStack(alignment: .leading, spacing: 20) { - GroupBox(label: Text("Local Cache Path")) { + GroupBox(label: Text("LocalCachePath")) { VStack(alignment: .leading) { HStack(alignment: .top, spacing: 5) { Text(appState.localPath).font(.footnote) @@ -39,7 +39,7 @@ struct AdvancedPreferencePane: View { self.appState.localPath = path.string } } - Text("Xcodes caches available Xcode versions and temporary downloads new versions to a directory") + Text("LocalCachePathDescription") .font(.footnote) .fixedSize(horizontal: false, vertical: true) } @@ -49,10 +49,10 @@ struct AdvancedPreferencePane: View { GroupBox(label: Text("Active/Select")) { VStack(alignment: .leading) { Toggle( - "Automatically create symbolic link to Xcodes.app", + "AutomaticallyCreateSymbolicLink", isOn: $appState.createSymLinkOnSelect ) - Text("When making an Xcode version Active/Selected, try and create a symbolic link named Xcode.app in the installation directory") + Text("AutomaticallyCreateSymbolicLinkDescription") .font(.footnote) .fixedSize(horizontal: false, vertical: true) } @@ -60,9 +60,9 @@ struct AdvancedPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) - GroupBox(label: Text("Data Source")) { + GroupBox(label: Text("DataSource")) { VStack(alignment: .leading) { - Picker("Data Source", selection: $dataSource) { + Picker("DataSource", selection: $dataSource) { ForEach(DataSource.allCases) { dataSource in Text(dataSource.description) .tag(dataSource) @@ -92,24 +92,24 @@ struct AdvancedPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) - GroupBox(label: Text("Privileged Helper")) { + GroupBox(label: Text("PrivilegedHelper")) { VStack(alignment: .leading, spacing: 8) { switch appState.helperInstallState { case .unknown: ProgressView() .scaleEffect(0.5, anchor: .center) case .installed: - Text("Helper is installed") + Text("HelperInstalled") case .notInstalled: HStack { - Text("Helper is not installed") - Button("Install helper") { + Text("HelperNotInstalled") + Button("InstallHelper") { appState.installHelperIfNecessary() } } } - Text("Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it.") + Text("PrivilegedHelperDescription") .font(.footnote) .fixedSize(horizontal: false, vertical: true) @@ -122,11 +122,7 @@ struct AdvancedPreferencePane: View { } private var dataSourceFootnote: NSAttributedString { - let string = """ - The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile. - - Xcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website. - """ + let string = localizeString("DataSourceDescription") let attributedString = NSMutableAttributedString( string: string, attributes: [ @@ -139,11 +135,7 @@ struct AdvancedPreferencePane: View { } private var downloaderFootnote: NSAttributedString { - let string = """ - aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license. - - URLSession is the default Apple API for making URL requests. - """ + let string = localizeString("DownloaderDescription") let attributedString = NSMutableAttributedString( string: string, attributes: [ diff --git a/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift b/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift index 1bc04e0..6f6c798 100644 --- a/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift @@ -7,10 +7,10 @@ struct ExperimentsPreferencePane: View { var body: some View { VStack(alignment: .leading, spacing: 20) { - GroupBox(label: Text("Faster Unxip")) { + GroupBox(label: Text("FasterUnxip")) { VStack(alignment: .leading) { Toggle( - "When unxipping, use experiment", + "UseUnxipExperiment", isOn: $appState.unxipExperiment ) AttributedText(unxipFootnote) @@ -25,13 +25,7 @@ struct ExperimentsPreferencePane: View { } private var unxipFootnote: NSAttributedString { - let string = """ - Thanks to @_saagarjha, this experiment can increase unxipping - speed by up to 70% for some systems. - - More information on how this is accomplished can be seen - on the unxip repo - https://github.com/saagarjha/unxip - """ + let string = localizeString("FasterUnxipDescription") let attributedString = NSMutableAttributedString( string: string, attributes: [ diff --git a/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift b/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift index 548545b..d55a223 100644 --- a/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift @@ -6,11 +6,11 @@ struct GeneralPreferencePane: View { var body: some View { VStack(alignment: .leading) { - GroupBox(label: Text("Apple ID")) { + GroupBox(label: Text("AppleID")) { if appState.authenticationState == .authenticated { SignedInView() } else { - Button("Sign In", action: { self.appState.presentedSheet = .signIn }) + Button("SignIn", action: { self.appState.presentedSheet = .signIn }) } } .groupBoxStyle(PreferencesGroupBoxStyle()) diff --git a/Xcodes/Frontend/Preferences/NotificationsView.swift b/Xcodes/Frontend/Preferences/NotificationsView.swift index 9b7297b..b878a06 100644 --- a/Xcodes/Frontend/Preferences/NotificationsView.swift +++ b/Xcodes/Frontend/Preferences/NotificationsView.swift @@ -8,17 +8,17 @@ struct NotificationsView: View { switch Current.notificationManager.notificationStatus { case .shownAndAccepted: - Text("Access Granted. You will receive notifications from Xcodes.") + Text("AccessGranted") .fixedSize(horizontal: false, vertical: true) case .shownAndDenied: - Text("⚠️ Access Denied ⚠️\n\nPlease open your Notification Settings and select Xcodes if you wish to allow access.") + Text("AccessDenied") .fixedSize(horizontal: false, vertical: true) - Button("Notification Settings", action: { + Button("NotificationSettings", action: { NSWorkspace.shared.open(URL(string: "x-apple.systempreferences:com.apple.preference.notifications")!) }) default: - Button("Enable Notifications", action: { + Button("EnableNotifications", action: { Current.notificationManager.requestAccess() }) } diff --git a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift index e159887..d99c73d 100644 --- a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift @@ -12,12 +12,12 @@ struct UpdatesPreferencePane: View { GroupBox(label: Text("Versions")) { VStack(alignment: .leading) { Toggle( - "Automatically install new versions of Xcode", + "AutomaticInstallNewVersion", isOn: $autoInstallationType.isAutoInstalling ) Toggle( - "Include prerelease/beta versions", + "IncludePreRelease", isOn: $autoInstallationType.isAutoInstallingBeta ) } @@ -27,23 +27,23 @@ struct UpdatesPreferencePane: View { Divider() - GroupBox(label: Text("Xcodes.app Updates")) { + GroupBox(label: Text("AppUpdates")) { VStack(alignment: .leading) { Toggle( - "Automatically check for app updates", + "CheckForAppUpdates", isOn: $updater.automaticallyChecksForUpdates ) Toggle( - "Include prerelease app versions", + "IncludePreRelease", isOn: $updater.includePrereleaseVersions ) - Button("Check Now") { + Button("CheckNow") { SUUpdater.shared()?.checkForUpdates(nil) } - Text("Last checked: \(lastUpdatedString)") + Text(String(format: localizeString("LastChecked"), lastUpdatedString)) .font(.footnote) } .frame(maxWidth: .infinity, alignment: .leading) @@ -57,7 +57,7 @@ struct UpdatesPreferencePane: View { if let lastUpdatedDate = updater.lastUpdateCheckDate { return Self.formatter.string(from: lastUpdatedDate) } else { - return "Never" + return localizeString("Never") } } diff --git a/Xcodes/Frontend/SignIn/SignIn2FAView.swift b/Xcodes/Frontend/SignIn/SignIn2FAView.swift index 37f4830..684cd0d 100644 --- a/Xcodes/Frontend/SignIn/SignIn2FAView.swift +++ b/Xcodes/Frontend/SignIn/SignIn2FAView.swift @@ -10,7 +10,7 @@ struct SignIn2FAView: View { var body: some View { VStack(alignment: .leading) { - Text("Enter the \(authOptions.securityCode.length) digit code from one of your trusted devices:") + Text(String(format: localizeString("DigitCodeDescription"), authOptions.securityCode.length)) HStack { Spacer() @@ -22,7 +22,7 @@ struct SignIn2FAView: View { HStack { Button("Cancel", action: { isPresented = false }) .keyboardShortcut(.cancelAction) - Button("Send SMS", action: { appState.choosePhoneNumberForSMS(authOptions: authOptions, sessionData: sessionData) }) + Button("SendSMS", action: { appState.choosePhoneNumberForSMS(authOptions: authOptions, sessionData: sessionData) }) Spacer() ProgressButton(isInProgress: appState.isProcessingAuthRequest, action: { appState.submitSecurityCode(.device(code: code), sessionData: sessionData) }) { diff --git a/Xcodes/Frontend/SignIn/SignInCredentialsView.swift b/Xcodes/Frontend/SignIn/SignInCredentialsView.swift index 593f735..6d07065 100644 --- a/Xcodes/Frontend/SignIn/SignInCredentialsView.swift +++ b/Xcodes/Frontend/SignIn/SignInCredentialsView.swift @@ -7,16 +7,16 @@ struct SignInCredentialsView: View { var body: some View { VStack(alignment: .leading) { - Text("Sign in with your Apple ID.") + Text("SignInWithApple") .bold() .padding(.vertical) HStack { - Text("Apple ID:") + Text("AppleID") .frame(minWidth: 100, alignment: .trailing) TextField("example@icloud.com", text: $username) } HStack { - Text("Password:") + Text("Password") .frame(minWidth: 100, alignment: .trailing) SecureField("Required", text: $password) } diff --git a/Xcodes/Frontend/SignIn/SignInPhoneListView.swift b/Xcodes/Frontend/SignIn/SignInPhoneListView.swift index e2dae0d..1efea67 100644 --- a/Xcodes/Frontend/SignIn/SignInPhoneListView.swift +++ b/Xcodes/Frontend/SignIn/SignInPhoneListView.swift @@ -11,14 +11,14 @@ struct SignInPhoneListView: View { var body: some View { VStack(alignment: .leading) { if let phoneNumbers = authOptions.trustedPhoneNumbers, !phoneNumbers.isEmpty { - Text("Select a trusted phone number to receive a \(authOptions.securityCode.length) digit code via SMS:") + Text(String(format: localizeString("SelectTrustedPhone"), authOptions.securityCode.length)) List(phoneNumbers, selection: $selectedPhoneNumberID) { Text($0.numberWithDialCode) } } else { AttributedText( - NSAttributedString(string: "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915.") + NSAttributedString(string: localizeString("NoTrustedPhones")) .convertingURLsToLinkAttributes() ) Spacer() diff --git a/Xcodes/Frontend/SignIn/SignInSMSView.swift b/Xcodes/Frontend/SignIn/SignInSMSView.swift index 51c2c0a..74d7af0 100644 --- a/Xcodes/Frontend/SignIn/SignInSMSView.swift +++ b/Xcodes/Frontend/SignIn/SignInSMSView.swift @@ -11,7 +11,7 @@ struct SignInSMSView: View { var body: some View { VStack(alignment: .leading) { - Text("Enter the \(authOptions.securityCode.length) digit code sent to \(trustedPhoneNumber.numberWithDialCode): ") + Text(String(format: localizeString("EnterDigitCodeDescription"), authOptions.securityCode.length, trustedPhoneNumber.numberWithDialCode)) HStack { Spacer() diff --git a/Xcodes/Frontend/SignIn/SignedInView.swift b/Xcodes/Frontend/SignIn/SignedInView.swift index 1cf5e5d..4b3bbf1 100644 --- a/Xcodes/Frontend/SignIn/SignedInView.swift +++ b/Xcodes/Frontend/SignIn/SignedInView.swift @@ -10,7 +10,7 @@ struct SignedInView: View { var body: some View { HStack(alignment:.top, spacing: 10) { Text(username) - Button("Sign Out", action: appState.signOut) + Button("SignOut", action: appState.signOut) } .frame(maxWidth: .infinity, alignment: .leading) } diff --git a/Xcodes/Frontend/XcodeList/InstallationStepRowView.swift b/Xcodes/Frontend/XcodeList/InstallationStepRowView.swift index 92d3c2d..e2e81f1 100644 --- a/Xcodes/Frontend/XcodeList/InstallationStepRowView.swift +++ b/Xcodes/Frontend/XcodeList/InstallationStepRowView.swift @@ -22,7 +22,7 @@ struct InstallationStepRowView: View { .scaleEffect(0.5) } - Text("Step \(installationStep.stepNumber) of \(installationStep.stepCount): \(installationStep.message)") + Text(String(format: localizeString("InstallationStepDescription"), installationStep.stepNumber, installationStep.stepCount, installationStep.message)) .font(.footnote) Button(action: cancel) { @@ -31,7 +31,7 @@ struct InstallationStepRowView: View { } .buttonStyle(PlainButtonStyle()) .foregroundColor(highlighted ? .white : .secondary) - .help("Stop installation") + .help("StopInstallation") } .frame(minWidth: 80) } diff --git a/Xcodes/Frontend/XcodeList/MainToolbar.swift b/Xcodes/Frontend/XcodeList/MainToolbar.swift index 0752931..69cb16e 100644 --- a/Xcodes/Frontend/XcodeList/MainToolbar.swift +++ b/Xcodes/Frontend/XcodeList/MainToolbar.swift @@ -17,7 +17,7 @@ struct MainToolbarModifier: ViewModifier { Button(action: { appState.presentedSheet = .signIn }, label: { Label("Login", systemImage: "person.circle") }) - .help("Open Login") + .help("LoginDescription") ProgressButton( isInProgress: appState.isUpdating, @@ -26,7 +26,7 @@ struct MainToolbarModifier: ViewModifier { Label("Refresh", systemImage: "arrow.clockwise") } .keyboardShortcut(KeyEquivalent("r")) - .help("Refresh Xcode List") + .help("RefreshDescription") Button(action: { switch category { @@ -40,27 +40,27 @@ struct MainToolbarModifier: ViewModifier { Label("All", systemImage: "line.horizontal.3.decrease.circle") case .release: if #available(macOS 11.3, *) { - Label("Release only", systemImage: "line.horizontal.3.decrease.circle.fill") + Label("ReleaseOnly", systemImage: "line.horizontal.3.decrease.circle.fill") .labelStyle(TitleAndIconLabelStyle()) .foregroundColor(.accentColor) } else { - Label("Release only", systemImage: "line.horizontal.3.decrease.circle.fill") + Label("ReleaseOnly", systemImage: "line.horizontal.3.decrease.circle.fill") .labelStyle(TitleOnlyLabelStyle()) .foregroundColor(.accentColor) } case .beta: if #available(macOS 11.3, *) { - Label("Beta only", systemImage: "line.horizontal.3.decrease.circle.fill") + Label("BetaOnly", systemImage: "line.horizontal.3.decrease.circle.fill") .labelStyle(TitleAndIconLabelStyle()) .foregroundColor(.accentColor) } else { - Label("Beta only", systemImage: "line.horizontal.3.decrease.circle.fill") + Label("BetaOnly", systemImage: "line.horizontal.3.decrease.circle.fill") .labelStyle(TitleOnlyLabelStyle()) .foregroundColor(.accentColor) } } } - .help("Filter available versions") + .help("FilterAvailableDescription") Button(action: { isInstalledOnly.toggle() @@ -73,7 +73,7 @@ struct MainToolbarModifier: ViewModifier { } } - .help("Filter installed versions") + .help("FilterInstalledDescription") Button(action: { isShowingInfoPane.toggle() }) { if isShowingInfoPane { @@ -84,17 +84,17 @@ struct MainToolbarModifier: ViewModifier { } } .keyboardShortcut(KeyboardShortcut("i", modifiers: [.command, .option])) - .help("Show or hide the info pane") + .help("InfoDescription") Button(action: { NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil) }, label: { Label("Preferences", systemImage: "gearshape") }) - .help("Open Preferences") + .help("PreferencesDescription") - TextField("Search...", text: $searchText) + TextField("Search", text: $searchText) .textFieldStyle(RoundedBorderTextFieldStyle()) .frame(width: 200) - .help("Search list") + .help("SearchDescription") } } } diff --git a/Xcodes/Frontend/XcodeList/XcodeListCategory.swift b/Xcodes/Frontend/XcodeList/XcodeListCategory.swift index 4c2e4db..52ea790 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListCategory.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListCategory.swift @@ -9,9 +9,9 @@ enum XcodeListCategory: String, CaseIterable, Identifiable, CustomStringConverti var description: String { switch self { - case .all: return "All" - case .release: return "Release" - case .beta: return "Beta" + case .all: return localizeString("All") + case .release: return localizeString("Release") + case .beta: return localizeString("Beta") } } } diff --git a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift index 74a5043..10f3cfb 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift @@ -20,9 +20,9 @@ struct XcodeListViewRow: View { Image(systemName: "square.fill.on.square.fill") .font(.subheadline) .foregroundColor(.secondary) - .accessibility(label: Text("Identical Builds")) + .accessibility(label: Text("IdenticalBuilds")) .accessibility(value: Text(xcode.identicalBuilds.map(\.appleDescription).joined(separator: ", "))) - .help("Sometimes a prerelease and release version are the exact same build. Xcodes will automatically display these versions together.") + .help("IdenticalBuilds.help") } } @@ -84,14 +84,14 @@ struct XcodeListViewRow: View { if xcode.selected { Image(systemName: "checkmark.circle.fill") .foregroundColor(.green) - .help("This is the active version") + .help("ActiveVersionDescription") } else { Button(action: { appState.select(xcode: xcode) }) { Image(systemName: "checkmark.circle") .foregroundColor(.secondary) } .buttonStyle(PlainButtonStyle()) - .help("Make this the active version") + .help("MakeActiveVersionDescription") } } else { EmptyView() @@ -102,13 +102,15 @@ struct XcodeListViewRow: View { private func installControl(for xcode: Xcode) -> some View { switch xcode.installState { case .installed: - Button("OPEN") { appState.open(xcode: xcode) } + Button("Open") { appState.open(xcode: xcode) } + .textCase(.uppercase) .buttonStyle(AppStoreButtonStyle(primary: true, highlighted: selected)) - .help("Open this version") + .help("OpenDescription") case .notInstalled: - Button("INSTALL") { appState.checkMinVersionAndInstall(id: xcode.id) } + Button("Install") { appState.checkMinVersionAndInstall(id: xcode.id) } + .textCase(.uppercase) .buttonStyle(AppStoreButtonStyle(primary: false, highlighted: selected)) - .help("Install this version") + .help("InstallDescription") case let .installing(installationStep): InstallationStepRowView( installationStep: installationStep, diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings new file mode 100644 index 0000000..bb56ecc --- /dev/null +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -0,0 +1,215 @@ +// Menu +"Menu.About" = "About Xcodes"; +"Menu.CheckForUpdates" = "Check for Updates..."; +"Menu.Acknowledgements" = "Xcodes Acknowledgements"; +"Menu.GitHubRepo" = "Xcodes GitHub Repo"; +"Menu.ReportABug" = "Report a Bug"; +"Menu.RequestNewFeature" = "Request a New Feature"; + +// Common +"Install" = "Install"; +"InstallDescription" = "Install this version"; +"RevealInFinder" = "Reveal in Finder"; +"Active" = "Active"; +"MakeActive" = "Make active"; +"Open" = "Open"; +"OpenDescription" = "Open this version"; +"CopyPath" = "Copy Path"; +"CreateSymLink" = "Create Symlink as Xcode.app"; +"Uninstall" = "Uninstall"; +"Selected" = "Selected"; +"Select" = "Select"; +"Cancel" = "Cancel"; +"Next" = "Next"; +"Continue" = "Continue"; +"Close" = "Close"; + +// Info Pane +"IdenticalBuilds" = "Identical Builds"; +"IdenticalBuilds.help" = "Sometimes a prerelease and release version are the exact same build. Xcodes will automatically display these versions together."; + +"ReleaseDate" = "Release Date"; +"ReleaseNotes" = "Release Notes"; +"ReleaseNotes.help" = "View Release Notes"; +"Compatibility" = "Compatibility"; +"MacOSRequirement" = "Requires macOS %@ or later"; +"SDKs" = "SDKs"; +"Compilers" = "Compilers"; +"DownloadSize" = "Download Size"; +"NoXcodeSelected" = "No Xcode Selected"; + +// Installation Steps +"InstallationStepDescription" = "Step %@ of %@: %@"; +"DownloadingPercentDescription" = "Downloading: %@% complete"; +"StopInstallation" = "Stop installation"; +"DownloadingError" = "No download information found"; + +// About +"VersionWithBuild" = "Version %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "Acknowledgements"; +"UnxipExperiment" = "Unxip Experiment"; +"License" = "License"; + +// General Preference Pane +"General" = "General"; +"AppleID" = "Apple ID"; +"SignIn" = "Sign In"; +"Notifications" = "Notifications"; + +// Updates Preference Pane +"Updates" = "Updates"; +"Versions" = "Versions"; +"AutomaticInstallNewVersion" = "Automatically install new versions of Xcode"; +"IncludePreRelease" = "Include prerelease/beta versions"; +"AppUpdates" = "Xcodes.app Updates"; +"CheckForAppUpdates" = "Automatically check for app updates"; +"CheckNow" = "Check Now"; +"LastChecked" = "Last checked: %@"; +"Never" = "Never"; + +// Advanced Preference Pane +"Advanced" = "Advanced"; +"LocalCachePath" = "Local Cache Path"; +"LocalCachePathDescription" = "Xcodes caches available Xcode versions and temporary downloads new versions to a directory"; +"Change" = "Change"; +"Active/Select" = "Active/Select"; +"AutomaticallyCreateSymbolicLink" = "Automatically create symbolic link to Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "When making an Xcode version Active/Selected, try and create a symbolic link named Xcode.app in the installation directory"; +"DataSource" = "Data Source"; +"DataSourceDescription" = "The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license.\n\nURLSession is the default Apple API for making URL requests."; +"PrivilegedHelper" = "Privileged Helper"; +"PrivilegedHelperDescription" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; +"HelperInstalled" = "Helper is installed"; +"HelperNotInstalled" = "Helper is not installed"; +"InstallHelper" = "Install helper"; + +// Experiment Preference Pane +"Experiments" = "Experiments"; +"FasterUnxip" = "Faster Unxip"; +"UseUnxipExperiment" = "When unxipping, use experiment"; +"FasterUnxipDescription" = "Thanks to @_saagarjha, this experiment can increase unxipping speed by up to 70% for some systems.\n\nMore information on how this is accomplished can be seen on the unxip repo - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Access Granted. You will receive notifications from Xcodes."; +"AccessDenied" = "⚠️ Access Denied ⚠️\n\nPlease open your Notification Settings and select Xcodes if you wish to allow access."; +"NotificationSettings" = "Notification Settings"; +"EnableNotifications" = "Enable Notifications"; + +// SignIn +"SignInWithApple" = "Sign in with your Apple ID."; +"AppleID" = "AppleID:"; +"Password" = "Password:"; +"Required" = "Required"; +"SignOut" = "Sign Out"; + +// SMS/2FA +"DigitCodeDescription" = "Enter the %@ digit code from one of your trusted devices:"; +"SendSMS" = "Send SMS"; +"EnterDigitCodeDescription" = "Enter the %@ digit code sent to %@: "; +"SelectTrustedPhone" = "Select a trusted phone number to receive a %@ digit code via SMS:"; +"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Updated at"; + +// ToolBar +"Login" = "Login"; +"LoginDescription" = "Open Login"; +"Refresh" = "Refresh"; +"RefreshDescription" = "Refresh Xcode List"; +"All" = "All"; +"Release" = "Release"; +"ReleaseOnly" = "Release only"; +"Beta" = "Beta"; +"BetaOnly" = "Beta only"; +"Filter" = "Filter"; +"FilterAvailableDescription" = "Filter available versions"; +"FilterInstalledDescription" = "Filter installed versions"; +"Info" = "Info"; +"InfoDescription" = "Show or hide the info pane"; +"Preferences" = "Preferences"; +"PreferencesDescription" = "Open Preferences"; +"Search" = "Search..."; +"SearchDescription" = "Search list"; + +// List +"ActiveVersionDescription" = "This is the active version"; +"MakeActiveVersionDescription" = "Make this the active version"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Uninstall Xcode %@?"; +"Alert.Uninstall.Message" = "It will be moved to the Trash, but won't be emptied."; +"Alert.Uninstall.Error.Title" = "Unable to uninstall Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Are you sure you want to stop the installation of Xcode %@?"; +"Alert.CancelInstall.Message" = "Any progress will be discarded."; +"Alert.CancelInstall.PrimaryButton" = "Stop Installation"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Privileged Helper"; +"Alert.PrivilegedHelper.Message" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; +"Alert.PrivilegedHelper.Error.Title" = "Unable to install helper"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Minimum requirements not met"; +"Alert.MinSupported.Message" = "Xcode %@ requires MacOS %@, but you are running MacOS %@, do you still want to install it?"; + +// Install +"Alert.Install.Error.Title" = "Unable to install Xcode"; +"Alert.InstallArchive.Error.Title" = "Unable to install archived Xcode"; + +// Update +"Alert.Update.Error.Title" = "Unable to update selected Xcode"; + +// Active/Select +"Alert.Select.Error.Title" = "Unable to select Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Unable to create symbolic Link"; +"Alert.SymLink.Message" = "Xcode.app exists and is not a symbolic link"; + +// Post install +"Alert.PostInstall.Title" = "Unable to perform post install steps"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "The archive \"%@\" is damaged and can't be expanded."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "The archive \"%@\" can’t be expanded because the current volume doesn’t have enough free space.\n\nMake more space available to expand the archive and then install Xcode %@ again to start installation from where it left off."; +"InstallationError.FailedToMoveXcodeToApplications" = "Failed to move Xcode to the %@ directory."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; +"InstallationError.CodesignVerifyFailed" = "The downloaded Xcode failed code signing verification with the following output:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "The downloaded Xcode doesn't have the expected code signing identity.\nGot:\n%@\n%@\nExpected:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes doesn't (yet) support installing Xcode from the %@ file format."; +"InstallationError.MissingSudoerPassword" = "Missing password. Please try again."; +"InstallationError.UnavailableVersion" = "Could not find version %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "No non-prerelease versions available."; +"InstallationError.NoPrereleaseVersionAvailable" = "No prerelease versions available."; +"InstallationError.MissingUsernameOrPassword" = "Missing username or a password. Please try again."; +"InstallationError.VersionAlreadyInstalled" = "%@ is already installed at %@"; +"InstallationError.InvalidVersion" = "%@ is not a valid version number."; +"InstallationError.VersionNotInstalled" = "%@ is not installed."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode %@."; + +// Installation Steps +"Downloading" = "Downloading"; +"Unarchiving" = "Unarchiving (This can take a while)"; +"Moving" = "Moving to %@"; +"TrashingArchive" = "Moving archive to the Trash"; +"CheckingSecurity" = "Security verification"; +"Finishing" = "Finishing"; + +// Notifications +"Notification.NewVersionAvailable" = "New version is available"; +"Notification.FinishedInstalling" = "Finished installing"; + + +"HelperClient.error" = "Unable to communicate with privileged helper."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "New Xcode versions"; +"Notification.NewXcodeVersion.Body" = "New Xcode versions are available to download."; diff --git a/Xcodes/XcodesApp.swift b/Xcodes/XcodesApp.swift index 76f5186..cfdb3af 100644 --- a/Xcodes/XcodesApp.swift +++ b/Xcodes/XcodesApp.swift @@ -26,12 +26,12 @@ struct XcodesApp: App { } .commands { CommandGroup(replacing: .appInfo) { - Button("About Xcodes") { + Button("Menu.About") { appDelegate.showAboutWindow() } } CommandGroup(after: .appInfo) { - Button("Check for Updates...") { + Button("Menu.CheckForUpdates") { appDelegate.checkForUpdates() } } @@ -47,19 +47,19 @@ struct XcodesApp: App { XcodeCommands(appState: appState) CommandGroup(replacing: CommandGroupPlacement.help) { - Button("Xcodes GitHub Repo") { + Button("Menu.GitHubRepo") { let xcodesRepoURL = URL(string: "https://github.com/RobotsAndPencils/XcodesApp/")! openURL(xcodesRepoURL) } Divider() - Button("Report a Bug") { + Button("Menu.ReportABug") { let bugReportURL = URL(string: "https://github.com/RobotsAndPencils/XcodesApp/issues/new?assignees=&labels=bug&template=bug_report.md&title=")! openURL(bugReportURL) } - Button("Request a New Feature") { + Button("Menu.RequestNewFeature") { let featureRequestURL = URL(string: "https://github.com/RobotsAndPencils/XcodesApp/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=")! openURL(featureRequestURL) } @@ -81,7 +81,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { backing: .buffered, defer: false )) { - $0.title = "About Xcodes" + $0.title = localizeString("About") $0.contentView = NSHostingView(rootView: AboutView(showAcknowledgementsWindow: showAcknowledgementsWindow)) $0.isReleasedWhenClosed = false } @@ -92,7 +92,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { backing: .buffered, defer: false )) { - $0.title = "Xcodes Acknowledgements" + $0.title = localizeString("Acknowledgements") $0.contentView = NSHostingView(rootView: AcknowledgmentsView()) $0.isReleasedWhenClosed = false } @@ -121,3 +121,12 @@ class AppDelegate: NSObject, NSApplicationDelegate { SUUpdater.shared() } } + +func localizeString(_ key: String, comment: String = "") -> String { + if #available(macOS 12, *) { + return String(localized: String.LocalizationValue(key)) + } else { + return NSLocalizedString(key, comment: comment) + } + +} From c8f4de47ea286e27361a31c789a0d48482211743 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 18 Apr 2022 09:42:54 -0500 Subject: [PATCH 036/180] Update CI to MacOS 12 + 13.2.1 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0801756..3a4a580 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,10 +8,10 @@ on: jobs: test: - runs-on: macOS-11.0 + runs-on: macos-12 steps: - uses: actions/checkout@v3 - name: Run tests env: - DEVELOPER_DIR: /Applications/Xcode_12.5.1.app + DEVELOPER_DIR: /Applications/Xcode_13.2.1.app run: xcodebuild test -scheme Xcodes From 77ab5b9f595994a5872943eb84e02ce52df07efa Mon Sep 17 00:00:00 2001 From: Alex Maslov Date: Thu, 21 Apr 2022 10:39:45 -0400 Subject: [PATCH 037/180] add rus --- Xcodes.xcodeproj/project.pbxproj | 6 + .../xcshareddata/xcschemes/Xcodes.xcscheme | 1 + Xcodes/Resources/Licenses.rtf | 2 +- Xcodes/Resources/ru.lproj/Localizable.strings | 215 ++++++++++++++++++ Xcodes/XcodesApp.swift | 8 +- 5 files changed, 227 insertions(+), 5 deletions(-) create mode 100644 Xcodes/Resources/ru.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 333da06..5967b75 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -166,6 +166,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 4A5AAA1D28118FAD00528958 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = ""; }; 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; @@ -689,6 +690,7 @@ knownRegions = ( en, Base, + ru, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -887,6 +889,7 @@ isa = PBXVariantGroup; children = ( E872EE4F2808D4F100D3DD8B /* en */, + 4A5AAA1D28118FAD00528958 /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -898,6 +901,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -1083,6 +1087,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -1145,6 +1150,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; diff --git a/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme b/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme index b181a5b..71c4833 100644 --- a/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme +++ b/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme @@ -44,6 +44,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "ru" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/Xcodes/Resources/Licenses.rtf b/Xcodes/Resources/Licenses.rtf index 4800d6a..f2290ab 100644 --- a/Xcodes/Resources/Licenses.rtf +++ b/Xcodes/Resources/Licenses.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2638 +{\rtf1\ansi\ansicpg1252\cocoartf2580 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings new file mode 100644 index 0000000..4c1db6b --- /dev/null +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -0,0 +1,215 @@ +// Menu +"Menu.About" = "О Xcodes"; +"Menu.CheckForUpdates" = "Проверить наличие обновлений..."; +"Menu.Acknowledgements" = "Благодарности Xcodes"; +"Menu.GitHubRepo" = "Репозиторий Xcodes GitHub"; +"Menu.ReportABug" = "Сообщить об ошибке"; +"Menu.RequestNewFeature" = "Запросить новую функцию"; + +// Common +"Install" = "Установить"; +"InstallDescription" = "Установить эту версию"; +"RevealInFinder" = "Показать в Finder"; +"Active" = "Активный"; +"MakeActive" = "Сделать активным"; +"Open" = "Открытым"; +"OpenDescription" = "Открыть эту версию"; +"CopyPath" = "Копировать путь"; +"CreateSymLink" = "Создать символическую ссылку как Xcode.app"; +"Uninstall" = "Удалить"; +"Selected" = "Выбрано"; +"Select" = "Выбирать"; +"Cancel" = "Отмена"; +"Next" = "Следующий"; +"Continue" = "Продолжать"; +"Close" = "Закрывать"; + +// Info Pane +"IdenticalBuilds" = "Идентичные сборки"; +"IdenticalBuilds.help" = "Иногда предварительная и релизная версии представляют собой одну и ту же сборку. Xcodes автоматически отображает эти версии вместе."; + +"ReleaseDate" = "Дата выпуска"; +"ReleaseNotes" = "Примечания к выпуску"; +"ReleaseNotes.help" = "Просмотреть примечания к выпуску"; +"Compatibility" = "Совместимость"; +"MacOSRequirement" = "Требуется macOS %@ или новее"; +"SDKs" = "SDK"; +"Compilers" = "Компиляторы"; +"DownloadSize" = "Размер загрузки"; +"NoXcodeSelected" = "Xcode не выбран"; + +// Installation Steps +"InstallationStepDescription" = "Шаг %@ из %@: %@"; +"DownloadingPercentDescription" = "Скачивание: %@% завершено"; +"StopInstallation" = "Остановить установку"; +"DownloadingError" = "Информация о загрузке не найдена"; + +// About +"VersionWithBuild" = "Версия %@ (%@)"; +"GithubRepo" = "Репозиторий GitHub"; +"Acknowledgements" = "Благодарности"; +"UnxipExperiment" = "Распаковать эксперимент"; +"License" = "Лицензия"; + +// General Preference Pane +"General" = "Общий"; +"AppleID" = "Идентификатор Apple ID"; +"SignIn" = "Войти"; +"Notifications" = "Уведомления"; + +// Updates Preference Pane +"Updates" = "Обновления"; +"Versions" = "Версии"; +"AutomaticInstallNewVersion" = "Автоматически устанавливать новые версии Xcode"; +"IncludePreRelease" = "Включить предварительные/бета-версии"; +"AppUpdates" = "Обновления Xcodes.app"; +"CheckForAppUpdates" = "Автоматически проверять наличие обновлений приложения"; +"CheckNow" = "Проверь сейчас"; +"LastChecked" = "Последняя проверка: %@"; +"Never" = "Никогда"; + +// Advanced Preference Pane +"Advanced" = "Передовой"; +"LocalCachePath" = "Путь к локальному кэшу"; +"LocalCachePathDescription" = "Xcodes кэширует доступные версии Xcode и временно загружает новые версии в каталог"; +"Change" = "Сдача"; +"Active/Select" = "Активировать/Выбрать"; +"AutomaticallyCreateSymbolicLink" = "Автоматически создавать символическую ссылку на Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Когда вы делаете версию Xcode активной/выбранной, попробуйте создать символическую ссылку с именем Xcode.app в каталоге установки"; +"DataSource" = "Источник данных"; +"DataSourceDescription" = "Источник данных Apple очищает веб-сайт Apple Developer. Он всегда показывает последние доступные выпуски, но является более уязвимым.\n\nВыпуски Xcode — это неофициальный список выпусков Xcode. Он предоставляется в виде правильно сформированных данных, содержит дополнительные информация, которую Apple не всегда может получить от Apple и которая с меньшей вероятностью будет повреждена, если Apple изменит дизайн своего веб-сайта для разработчиков."; +"Downloader" = "Загрузчик"; +"DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов URL. "; +"PrivilegedHelper" = "Привилегированный помощник"; +"PrivilegedHelperDescription" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени пользователя root. Это вещи, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать вашу macOS пароль учетной записи для его установки."; +"HelperInstalled" = "Помощник установлен"; +"HelperNotInstalled" = "Помощник не установлен"; +"InstallHelper" = "Установить помощник"; + +// Experiment Preference Pane +"Experiments" = "Эксперименты"; +"FasterUnxip" = "Быстрее разархивировать"; +"UseUnxipExperiment" = "При распаковке используйте эксперимент"; +"FasterUnxipDescription" = "Благодаря @_saagarjha этот эксперимент может увеличить скорость распаковки до 70% для некоторых систем.\n\nДополнительную информацию о том, как это достигается, можно увидеть в репозитории unxip — https://github.com/saagarjha/unxip. "; + +// Notifications +"AccessGranted" = "Доступ разрешен. Вы будете получать уведомления от Xcodes."; +"AccessDenied" = "⚠️ Отказано в доступе ⚠️\n\nПожалуйста, откройте настройки уведомлений и выберите Xcodes, если хотите разрешить доступ."; +"NotificationSettings" = "Настройки уведомлений"; +"EnableNotifications" = "Включить уведомления"; + +// SignIn +"SignInWithApple" = "Войти со своим Apple ID."; +"AppleID" = "Идентификатор Apple ID:"; +"Password" = "Пароль:"; +"Required" = "Необходимый"; +"SignOut" = "Выход"; + +// SMS/2FA +"DigitCodeDescription" = "Введите %@ цифровой код с одного из ваших доверенных устройств:"; +"SendSMS" = "Отправить смс"; +"EnterDigitCodeDescription" = "Введите %@ цифровой код, отправленный на %@: "; +"SelectTrustedPhone" = "Выберите доверенный номер телефона для получения %@ цифрового кода по SMS:"; +"NoTrustedPhones" = "В вашей учетной записи нет доверенных телефонных номеров, но они необходимы для двухфакторной аутентификации.\n\nСм. https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Обновлено в"; + +// ToolBar +"Login" = "Авторизоваться"; +"LoginDescription" = "Открыть вход"; +"Refresh" = "Обновить"; +"RefreshDescription" = "Обновить список Xcode"; +"All" = "Все"; +"Release" = "Выпуск"; +"ReleaseOnly" = "Только выпуск"; +"Beta" = "Бета"; +"BetaOnly" = "Только бета"; +"Filter" = "Фильтр"; +"FilterAvailableDescription" = "Отфильтровать доступные версии"; +"FilterInstalledDescription" = "Отфильтровать установленные версии"; +"Info" = "Информация"; +"InfoDescription" = "Показать или скрыть информационную панель"; +"Preferences" = "Предпочтения"; +"PreferencesDescription" = "Открыть настройки"; +"Search" = "Поиск..."; +"SearchDescription" = "Список поиска"; + +// List +"ActiveVersionDescription" = "Это активная версия"; +"MakeActiveVersionDescription" = "Сделать это активной версией"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Удалить Xcode %@?"; +"Alert.Uninstall.Message" = "Он будет перемещен в корзину, но не будет очищен."; +"Alert.Uninstall.Error.Title" = "Невозможно удалить Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Вы уверены, что хотите остановить установку Xcode %@?"; +"Alert.CancelInstall.Message" = "Любой прогресс будет сброшен."; +"Alert.CancelInstall.PrimaryButton" = "Остановить установку"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Привилегированный помощник"; +"Alert.PrivilegedHelper.Message" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени пользователя root. Это вещи, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать вашу macOS пароль учетной записи для его установки."; +"Alert.PrivilegedHelper.Error.Title" = "Невозможно установить помощник"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Минимальные требования не соблюдены"; +"Alert.MinSupported.Message" = "Xcode %@ требует MacOS %@, но вы используете MacOS %@, вы все еще хотите ее установить?"; + +// Install +"Alert.Install.Error.Title" = "Невозможно установить Xcode"; +"Alert.InstallArchive.Error.Title" = "Невозможно установить заархивированный Xcode"; + +// Update +"Alert.Update.Error.Title" = "Невозможно обновить выбранный Xcode"; + +// Active/Select +"Alert.Select.Error.Title" = "Невозможно выбрать Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Невозможно создать символическую ссылку"; +"Alert.SymLink.Message" = "Xcode.app существует и не является символической ссылкой"; + +// Post install +"Alert.PostInstall.Title" = "Невозможно выполнить шаги после установки"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "Архив \"%@\" поврежден и не может быть расширен."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Архив \"%@\" не может быть расширен, поскольку в текущем томе недостаточно свободного места.\n\nОсвободите больше места для расширения архива, а затем снова установите Xcode %@, чтобы начать установку с того места, где он остановился."; +"InstallationError.FailedToMoveXcodeToApplications" = "Не удалось переместить Xcode в каталог %@."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ не прошел оценку безопасности со следующим выводом:\n%@\nОн остается установленным в %@, если вы все равно хотите его использовать."; +"InstallationError.CodesignVerifyFailed" = "Загруженный Xcode не прошел проверку подписи кода со следующим выводом:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Загруженный Xcode не имеет ожидаемого идентификатора подписи кода.\nПолучено:\n%@\n%@\nОжидается:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes (пока) не поддерживает установку Xcode из формата файла %@."; +"InstallationError.MissingSudoerPassword" = "Отсутствует пароль. Повторите попытку."; +"InstallationError.UnavailableVersion" = "Не удалось найти версию %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Нет доступных не предварительных версий."; +"InstallationError.NoPrereleaseVersionAvailable" = "Предварительные версии недоступны."; +"InstallationError.MissingUsernameOrPassword" = "Отсутствует имя пользователя или пароль. Пожалуйста, попробуйте еще раз."; +"InstallationError.VersionAlreadyInstalled" = "%@ уже установлен в %@"; +"InstallationError.InvalidVersion" = "%@ не является допустимым номером версии."; +"InstallationError.VersionNotInstalled" = "%@ не установлен."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Установка завершена, но некоторые шаги после установки не были выполнены автоматически. Они будут выполнены при первом запуске Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Установка была завершена, но некоторые шаги после установки не были выполнены автоматически. Xcodes выполняет эти шаги с привилегированным помощником, который, похоже, не установлен. Вы можете установить его из Настройки > Дополнительно.\n\nЭти шаги будут выполнены при первом запуске Xcode %@."; + +// Installation Steps +"Downloading" = "Скачивание"; +"Unarchiving" = "Разархивирование (это может занять некоторое время)"; +"Moving" = "Переехать в %@"; +"TrashingArchive" = "Перемещение архива в корзину"; +"CheckingSecurity" = "Проверка безопасности"; +"Finishing" = "Отделка"; + +// Notifications +"Notification.NewVersionAvailable" = "Доступна новая версия"; +"Notification.FinishedInstalling" = "Завершена установка"; + + +"HelperClient.error" = "Невозможно установить связь с привилегированным помощником."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Новые версии Xcode"; +"Notification.NewXcodeVersion.Body" = "Новые версии Xcode доступны для скачивания."; diff --git a/Xcodes/XcodesApp.swift b/Xcodes/XcodesApp.swift index cfdb3af..7340ea2 100644 --- a/Xcodes/XcodesApp.swift +++ b/Xcodes/XcodesApp.swift @@ -123,10 +123,10 @@ class AppDelegate: NSObject, NSApplicationDelegate { } func localizeString(_ key: String, comment: String = "") -> String { - if #available(macOS 12, *) { - return String(localized: String.LocalizationValue(key)) - } else { +// if #available(macOS 12, *) { +// return String(localized: String.LocalizationValue(key)) +// } else { return NSLocalizedString(key, comment: comment) - } +// } } From 764a24209682437721ae060093e03fef8eeabc18 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 21 Apr 2022 09:49:39 -0500 Subject: [PATCH 038/180] Fixes some localization formatting from string to ints --- Xcodes/Resources/en.lproj/Localizable.strings | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index bb56ecc..4f986a4 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -39,8 +39,8 @@ "NoXcodeSelected" = "No Xcode Selected"; // Installation Steps -"InstallationStepDescription" = "Step %@ of %@: %@"; -"DownloadingPercentDescription" = "Downloading: %@% complete"; +"InstallationStepDescription" = "Step %d of %d: %@"; +"DownloadingPercentDescription" = "Downloading: %d%% complete"; "StopInstallation" = "Stop installation"; "DownloadingError" = "No download information found"; @@ -106,10 +106,10 @@ "SignOut" = "Sign Out"; // SMS/2FA -"DigitCodeDescription" = "Enter the %@ digit code from one of your trusted devices:"; +"DigitCodeDescription" = "Enter the %d digit code from one of your trusted devices:"; "SendSMS" = "Send SMS"; -"EnterDigitCodeDescription" = "Enter the %@ digit code sent to %@: "; -"SelectTrustedPhone" = "Select a trusted phone number to receive a %@ digit code via SMS:"; +"EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; +"SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; "NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; // MainWindow From 7a82620a8da3277a6377120119d73c777a4085b7 Mon Sep 17 00:00:00 2001 From: Alex Maslov Date: Thu, 21 Apr 2022 15:06:03 -0400 Subject: [PATCH 039/180] fix auto-translate errors --- Xcodes/Resources/ru.lproj/Localizable.strings | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index 4c1db6b..161f3a7 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -12,20 +12,20 @@ "RevealInFinder" = "Показать в Finder"; "Active" = "Активный"; "MakeActive" = "Сделать активным"; -"Open" = "Открытым"; +"Open" = "Открыты"; "OpenDescription" = "Открыть эту версию"; "CopyPath" = "Копировать путь"; -"CreateSymLink" = "Создать символическую ссылку как Xcode.app"; +"CreateSymLink" = "Создать Symlink к Xcode.app"; "Uninstall" = "Удалить"; "Selected" = "Выбрано"; -"Select" = "Выбирать"; +"Select" = "Выбрать"; "Cancel" = "Отмена"; "Next" = "Следующий"; -"Continue" = "Продолжать"; -"Close" = "Закрывать"; +"Continue" = "Продолжить"; +"Close" = "Закрыть"; // Info Pane -"IdenticalBuilds" = "Идентичные сборки"; +"IdenticalBuilds" = "Идентичные Cборки"; "IdenticalBuilds.help" = "Иногда предварительная и релизная версии представляют собой одну и ту же сборку. Xcodes автоматически отображает эти версии вместе."; "ReleaseDate" = "Дата выпуска"; @@ -48,12 +48,12 @@ "VersionWithBuild" = "Версия %@ (%@)"; "GithubRepo" = "Репозиторий GitHub"; "Acknowledgements" = "Благодарности"; -"UnxipExperiment" = "Распаковать эксперимент"; +"UnxipExperiment" = "Unxip эксперимент"; "License" = "Лицензия"; // General Preference Pane "General" = "Общий"; -"AppleID" = "Идентификатор Apple ID"; +"AppleID" = "Apple ID"; "SignIn" = "Войти"; "Notifications" = "Уведомления"; @@ -64,45 +64,45 @@ "IncludePreRelease" = "Включить предварительные/бета-версии"; "AppUpdates" = "Обновления Xcodes.app"; "CheckForAppUpdates" = "Автоматически проверять наличие обновлений приложения"; -"CheckNow" = "Проверь сейчас"; +"CheckNow" = "Проверь Cейчас"; "LastChecked" = "Последняя проверка: %@"; "Never" = "Никогда"; // Advanced Preference Pane -"Advanced" = "Передовой"; +"Advanced" = "Дополнительные"; "LocalCachePath" = "Путь к локальному кэшу"; -"LocalCachePathDescription" = "Xcodes кэширует доступные версии Xcode и временно загружает новые версии в каталог"; -"Change" = "Сдача"; +"LocalCachePathDescription" = "Xcodes кэширует доступные версии Xcode и временно загружает новые версии в директорию"; +"Change" = "Изменить"; "Active/Select" = "Активировать/Выбрать"; -"AutomaticallyCreateSymbolicLink" = "Автоматически создавать символическую ссылку на Xcodes.app"; -"AutomaticallyCreateSymbolicLinkDescription" = "Когда вы делаете версию Xcode активной/выбранной, попробуйте создать символическую ссылку с именем Xcode.app в каталоге установки"; +"AutomaticallyCreateSymbolicLink" = "Автоматически сосдавит символическую ссылку к Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Когда вы делаете версию Xcode активной/выбранной, попробуйте создать символическую ссылку с именем Xcode.app в директорию установки"; "DataSource" = "Источник данных"; "DataSourceDescription" = "Источник данных Apple очищает веб-сайт Apple Developer. Он всегда показывает последние доступные выпуски, но является более уязвимым.\n\nВыпуски Xcode — это неофициальный список выпусков Xcode. Он предоставляется в виде правильно сформированных данных, содержит дополнительные информация, которую Apple не всегда может получить от Apple и которая с меньшей вероятностью будет повреждена, если Apple изменит дизайн своего веб-сайта для разработчиков."; "Downloader" = "Загрузчик"; -"DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов URL. "; +"DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов URL."; "PrivilegedHelper" = "Привилегированный помощник"; -"PrivilegedHelperDescription" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени пользователя root. Это вещи, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать вашу macOS пароль учетной записи для его установки."; +"PrivilegedHelperDescription" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени пользователя root. Это вещи, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать вашу macOS пароль счета для его установки."; "HelperInstalled" = "Помощник установлен"; "HelperNotInstalled" = "Помощник не установлен"; -"InstallHelper" = "Установить помощник"; +"InstallHelper" = "Установить помощника"; // Experiment Preference Pane "Experiments" = "Эксперименты"; -"FasterUnxip" = "Быстрее разархивировать"; -"UseUnxipExperiment" = "При распаковке используйте эксперимент"; +"FasterUnxip" = "Быстрее Unxip"; +"UseUnxipExperiment" = "При unxip используйте эксперимент"; "FasterUnxipDescription" = "Благодаря @_saagarjha этот эксперимент может увеличить скорость распаковки до 70% для некоторых систем.\n\nДополнительную информацию о том, как это достигается, можно увидеть в репозитории unxip — https://github.com/saagarjha/unxip. "; // Notifications "AccessGranted" = "Доступ разрешен. Вы будете получать уведомления от Xcodes."; -"AccessDenied" = "⚠️ Отказано в доступе ⚠️\n\nПожалуйста, откройте настройки уведомлений и выберите Xcodes, если хотите разрешить доступ."; +"AccessDenied" = "⚠️ Доступ Oтказан ⚠️\n\nПожалуйста, откройте настройки уведомлений и выберите Xcodes, если хотите разрешить доступ."; "NotificationSettings" = "Настройки уведомлений"; "EnableNotifications" = "Включить уведомления"; // SignIn "SignInWithApple" = "Войти со своим Apple ID."; -"AppleID" = "Идентификатор Apple ID:"; +"AppleID" = "Apple ID:"; "Password" = "Пароль:"; -"Required" = "Необходимый"; +"Required" = "Необходимa"; "SignOut" = "Выход"; // SMS/2FA @@ -110,19 +110,19 @@ "SendSMS" = "Отправить смс"; "EnterDigitCodeDescription" = "Введите %@ цифровой код, отправленный на %@: "; "SelectTrustedPhone" = "Выберите доверенный номер телефона для получения %@ цифрового кода по SMS:"; -"NoTrustedPhones" = "В вашей учетной записи нет доверенных телефонных номеров, но они необходимы для двухфакторной аутентификации.\n\nСм. https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "В вашем аккаунтe нет доверенных телефонных номеров, но они необходимы для двухфакторной аутентификации.\n\nСм. https://support.apple.com/en-ca/HT204915."; // MainWindow "UpdatedAt" = "Обновлено в"; // ToolBar -"Login" = "Авторизоваться"; -"LoginDescription" = "Открыть вход"; +"Login" = "Логин"; +"LoginDescription" = "Открыть Логин"; "Refresh" = "Обновить"; -"RefreshDescription" = "Обновить список Xcode"; +"RefreshDescription" = "Обновить Cписок Xcode"; "All" = "Все"; -"Release" = "Выпуск"; -"ReleaseOnly" = "Только выпуск"; +"Release" = "Pелиз"; +"ReleaseOnly" = "Только Pелиз"; "Beta" = "Бета"; "BetaOnly" = "Только бета"; "Filter" = "Фильтр"; @@ -130,7 +130,7 @@ "FilterInstalledDescription" = "Отфильтровать установленные версии"; "Info" = "Информация"; "InfoDescription" = "Показать или скрыть информационную панель"; -"Preferences" = "Предпочтения"; +"Preferences" = "Hастройки"; "PreferencesDescription" = "Открыть настройки"; "Search" = "Поиск..."; "SearchDescription" = "Список поиска"; @@ -142,12 +142,12 @@ // Alerts // Uninstall "Alert.Uninstall.Title" = "Удалить Xcode %@?"; -"Alert.Uninstall.Message" = "Он будет перемещен в корзину, но не будет очищен."; +"Alert.Uninstall.Message" = "Он будет перемещен в мусорное ведро, но не будет очищен."; "Alert.Uninstall.Error.Title" = "Невозможно удалить Xcode"; // Cancel Install "Alert.CancelInstall.Title" = "Вы уверены, что хотите остановить установку Xcode %@?"; -"Alert.CancelInstall.Message" = "Любой прогресс будет сброшен."; +"Alert.CancelInstall.Message" = "Прогресс будет сброшен."; "Alert.CancelInstall.PrimaryButton" = "Остановить установку"; // Privileged Helper @@ -157,7 +157,7 @@ // Min MacOS Supported "Alert.MinSupported.Title" = "Минимальные требования не соблюдены"; -"Alert.MinSupported.Message" = "Xcode %@ требует MacOS %@, но вы используете MacOS %@, вы все еще хотите ее установить?"; +"Alert.MinSupported.Message" = "Xcode %@ требует MacOS %@, но вы используете MacOS %@, вы все еще хотите установить?"; // Install "Alert.Install.Error.Title" = "Невозможно установить Xcode"; @@ -174,15 +174,15 @@ "Alert.SymLink.Message" = "Xcode.app существует и не является символической ссылкой"; // Post install -"Alert.PostInstall.Title" = "Невозможно выполнить шаги после установки"; +"Alert.PostInstall.Title" = "Невозможно выполнить дальний шаги после установки"; // InstallationErrors "InstallationError.DamagedXIP" = "Архив \"%@\" поврежден и не может быть расширен."; -"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Архив \"%@\" не может быть расширен, поскольку в текущем томе недостаточно свободного места.\n\nОсвободите больше места для расширения архива, а затем снова установите Xcode %@, чтобы начать установку с того места, где он остановился."; -"InstallationError.FailedToMoveXcodeToApplications" = "Не удалось переместить Xcode в каталог %@."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Архив \"%@\" не может быть расширен, поскольку в текущем жестком диске недостаточно свободного места.\n\nОсвободите больше места для расширения архива, а затем снова установите Xcode %@, чтобы начать установку с того места, где он остановился."; +"InstallationError.FailedToMoveXcodeToApplications" = "Не удалось переместить Xcode в директорию %@."; "InstallationError.FailedSecurityAssessment" = "Xcode %@ не прошел оценку безопасности со следующим выводом:\n%@\nОн остается установленным в %@, если вы все равно хотите его использовать."; -"InstallationError.CodesignVerifyFailed" = "Загруженный Xcode не прошел проверку подписи кода со следующим выводом:\n%@"; -"InstallationError.UnexpectedCodeSigningIdentity" = "Загруженный Xcode не имеет ожидаемого идентификатора подписи кода.\nПолучено:\n%@\n%@\nОжидается:\n%@\n%@"; +"InstallationError.CodesignVerifyFailed" = "Загруженный Xcode не прошел проверку подписи сертификата со следующим выводом:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Загруженный Xcode не имеет ожидаемого идентификатора подписи сертификата.\nПолучено:\n%@\n%@\nОжидается:\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes (пока) не поддерживает установку Xcode из формата файла %@."; "InstallationError.MissingSudoerPassword" = "Отсутствует пароль. Повторите попытку."; "InstallationError.UnavailableVersion" = "Не удалось найти версию %@."; @@ -193,15 +193,15 @@ "InstallationError.InvalidVersion" = "%@ не является допустимым номером версии."; "InstallationError.VersionNotInstalled" = "%@ не установлен."; "InstallationError.PostInstallStepsNotPerformed.Installed" = "Установка завершена, но некоторые шаги после установки не были выполнены автоматически. Они будут выполнены при первом запуске Xcode %@."; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Установка была завершена, но некоторые шаги после установки не были выполнены автоматически. Xcodes выполняет эти шаги с привилегированным помощником, который, похоже, не установлен. Вы можете установить его из Настройки > Дополнительно.\n\nЭти шаги будут выполнены при первом запуске Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Установка была завершена, но некоторые шаги после установки не были выполнены автоматически. Xcodes выполняет эти шаги с привилегированным помощником, который, похоже, не установлен. Вы можете установить его из Настройки > Дополнительные.\n\nЭти шаги будут выполнены при первом запуске Xcode %@."; // Installation Steps "Downloading" = "Скачивание"; "Unarchiving" = "Разархивирование (это может занять некоторое время)"; -"Moving" = "Переехать в %@"; -"TrashingArchive" = "Перемещение архива в корзину"; +"Moving" = "Перемещение в %@"; +"TrashingArchive" = "Перемещение архива в мусорную корзину"; "CheckingSecurity" = "Проверка безопасности"; -"Finishing" = "Отделка"; +"Finishing" = "Завершение"; // Notifications "Notification.NewVersionAvailable" = "Доступна новая версия"; From dc85ab87f75fa483f17ce8a48265a0775d2f0237 Mon Sep 17 00:00:00 2001 From: Alex Maslov Date: Thu, 21 Apr 2022 15:09:42 -0400 Subject: [PATCH 040/180] apply formatter fixes from main --- Xcodes/Resources/ru.lproj/Localizable.strings | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index 161f3a7..7a52b44 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -39,8 +39,8 @@ "NoXcodeSelected" = "Xcode не выбран"; // Installation Steps -"InstallationStepDescription" = "Шаг %@ из %@: %@"; -"DownloadingPercentDescription" = "Скачивание: %@% завершено"; +"InstallationStepDescription" = "Шаг %d из %d: %@"; +"DownloadingPercentDescription" = "Скачивание: %d% завершено"; "StopInstallation" = "Остановить установку"; "DownloadingError" = "Информация о загрузке не найдена"; @@ -106,10 +106,10 @@ "SignOut" = "Выход"; // SMS/2FA -"DigitCodeDescription" = "Введите %@ цифровой код с одного из ваших доверенных устройств:"; +"DigitCodeDescription" = "Введите %d цифровой код с одного из ваших доверенных устройств:"; "SendSMS" = "Отправить смс"; -"EnterDigitCodeDescription" = "Введите %@ цифровой код, отправленный на %@: "; -"SelectTrustedPhone" = "Выберите доверенный номер телефона для получения %@ цифрового кода по SMS:"; +"EnterDigitCodeDescription" = "Введите %d цифровой код, отправленный на %@: "; +"SelectTrustedPhone" = "Выберите доверенный номер телефона для получения %d цифрового кода по SMS:"; "NoTrustedPhones" = "В вашем аккаунтe нет доверенных телефонных номеров, но они необходимы для двухфакторной аутентификации.\n\nСм. https://support.apple.com/en-ca/HT204915."; // MainWindow From d01013d8b8d2b2b128ccab6c3cdbb87d225a441f Mon Sep 17 00:00:00 2001 From: Alex Maslov Date: Thu, 21 Apr 2022 15:17:41 -0400 Subject: [PATCH 041/180] reinstate macOS 12 code --- Xcodes/XcodesApp.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Xcodes/XcodesApp.swift b/Xcodes/XcodesApp.swift index 7340ea2..cfdb3af 100644 --- a/Xcodes/XcodesApp.swift +++ b/Xcodes/XcodesApp.swift @@ -123,10 +123,10 @@ class AppDelegate: NSObject, NSApplicationDelegate { } func localizeString(_ key: String, comment: String = "") -> String { -// if #available(macOS 12, *) { -// return String(localized: String.LocalizationValue(key)) -// } else { + if #available(macOS 12, *) { + return String(localized: String.LocalizationValue(key)) + } else { return NSLocalizedString(key, comment: comment) -// } + } } From 795de95d536ee8594809395979812e9d584bee38 Mon Sep 17 00:00:00 2001 From: Alex Maslov Date: Fri, 22 Apr 2022 08:24:29 -0400 Subject: [PATCH 042/180] update DataSourceDescription to refer to first xcode releas instance in english --- Xcodes/Resources/ru.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index 7a52b44..b0b6693 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -77,7 +77,7 @@ "AutomaticallyCreateSymbolicLink" = "Автоматически сосдавит символическую ссылку к Xcodes.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Когда вы делаете версию Xcode активной/выбранной, попробуйте создать символическую ссылку с именем Xcode.app в директорию установки"; "DataSource" = "Источник данных"; -"DataSourceDescription" = "Источник данных Apple очищает веб-сайт Apple Developer. Он всегда показывает последние доступные выпуски, но является более уязвимым.\n\nВыпуски Xcode — это неофициальный список выпусков Xcode. Он предоставляется в виде правильно сформированных данных, содержит дополнительные информация, которую Apple не всегда может получить от Apple и которая с меньшей вероятностью будет повреждена, если Apple изменит дизайн своего веб-сайта для разработчиков."; +"DataSourceDescription" = "Источник данных Apple очищает веб-сайт Apple Developer. Он всегда показывает последние доступные выпуски, но является более уязвимым.\n\nXcode Releases — это неофициальный список выпусков Xcode. Он предоставляется в виде правильно сформированных данных, содержит дополнительные информация, которую Apple не всегда может получить от Apple и которая с меньшей вероятностью будет повреждена, если Apple изменит дизайн своего веб-сайта для разработчиков."; "Downloader" = "Загрузчик"; "DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов URL."; "PrivilegedHelper" = "Привилегированный помощник"; From 0821834fedea50002564f5db020604fed9185c47 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 22 Apr 2022 09:30:18 -0500 Subject: [PATCH 043/180] Add "OK" to localizable strings --- Xcodes/Frontend/MainWindow.swift | 2 +- Xcodes/Resources/en.lproj/Localizable.strings | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 36584e7..4b2c26d 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -147,7 +147,7 @@ struct MainWindow: View { title: Text(title), message: Text(message), dismissButton: .default( - Text("Ok"), + Text("OK"), action: { appState.presentedAlert = nil } ) ) diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 4f986a4..15dad55 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -23,6 +23,7 @@ "Next" = "Next"; "Continue" = "Continue"; "Close" = "Close"; +"OK" = "OK"; // Info Pane "IdenticalBuilds" = "Identical Builds"; From d1bee98abb4535ebdb28f15361f6c0b0de59e888 Mon Sep 17 00:00:00 2001 From: Dominic Pepin Date: Sat, 23 Apr 2022 07:55:46 -0600 Subject: [PATCH 044/180] Initial French Localization Strings File --- Xcodes.xcodeproj/project.pbxproj | 9 + .../Resources/fr-CA.lproj/Localizable.strings | 216 ++++++++++++++++++ Xcodes/Resources/fr.lproj/Localizable.strings | 216 ++++++++++++++++++ 3 files changed, 441 insertions(+) create mode 100644 Xcodes/Resources/fr-CA.lproj/Localizable.strings create mode 100644 Xcodes/Resources/fr.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 333da06..d0fab96 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -170,6 +170,8 @@ 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; + B648F22A2810C0330096781B /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = ""; }; CA25192925A9644800F08414 /* XcodeInstallState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeInstallState.swift; sourceTree = ""; }; @@ -689,6 +691,8 @@ knownRegions = ( en, Base, + "fr-CA", + fr, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -887,6 +891,8 @@ isa = PBXVariantGroup; children = ( E872EE4F2808D4F100D3DD8B /* en */, + B648F22A2810C0330096781B /* fr-CA */, + B648F22B2810C1130096781B /* fr */, ); name = Localizable.strings; sourceTree = ""; @@ -898,6 +904,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -1083,6 +1090,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -1145,6 +1153,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; diff --git a/Xcodes/Resources/fr-CA.lproj/Localizable.strings b/Xcodes/Resources/fr-CA.lproj/Localizable.strings new file mode 100644 index 0000000..420164f --- /dev/null +++ b/Xcodes/Resources/fr-CA.lproj/Localizable.strings @@ -0,0 +1,216 @@ +// Menu +"Menu.About" = "À propos de Xcodes"; +"Menu.CheckForUpdates" = "Vérifier les mises à jour..."; +"Menu.Acknowledgements" = "Xcodes Remerciements"; +"Menu.GitHubRepo" = "Xcodes GitHub"; +"Menu.ReportABug" = "Signaler un Bogue"; +"Menu.RequestNewFeature" = "Demander une Nouvelle Fonctionnalité"; + +// Common +"Install" = "Installer"; +"InstallDescription" = "Installer cette version"; +"RevealInFinder" = "Ouvrir dans le Finder"; +"Active" = "Version Active"; +"MakeActive" = "Activer"; +"Open" = "Ouvrir"; +"OpenDescription" = "Ouvrir cette version"; +"CopyPath" = "Copier le chemin d'accès"; +"CreateSymLink" = "Créer un Symlink pour Xcode.app"; +"Uninstall" = "Désinstaller"; +"Selected" = "Sélectionné"; +"Select" = "Sélectionner"; +"Cancel" = "Annuler"; +"Next" = "Suivant"; +"Continue" = "Continuer"; +"Close" = "Fermer"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Versions identiques"; +"IdenticalBuilds.help" = "Parfois, la version préliminaire et la version finale sont exactement la même version. Xcodes affichera automatiquement ces versions ensemble."; + +"ReleaseDate" = "Date de Sortie"; +"ReleaseNotes" = "Notes de Mise à Jour"; +"ReleaseNotes.help" = "Consulter le Notes de Mise á Jour"; +"Compatibility" = "Compatibilité"; +"MacOSRequirement" = "Nécessite macOS %@ ou une version ultérieure"; +"SDKs" = "SDKs"; +"Compilers" = "Compilateurs"; +"DownloadSize" = "Taille de téléchargement"; +"NoXcodeSelected" = "Aucun XCode Sélectionné"; + +// Installation Steps +"InstallationStepDescription" = "Étape %d de %d : %@"; +"DownloadingPercentDescription" = "Téléchargement: %d%% téléchargé"; +"StopInstallation" = "Arrêter l'installation"; +"DownloadingError" = "Aucune information de téléchargement trouvée"; + +// About +"VersionWithBuild" = "Version %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "Remerciements"; +"UnxipExperiment" = "Expérience Unxip"; +"License" = "Licence"; + +// General Preference Pane +"General" = "Général"; +"AppleID" = "Identifiant Apple"; +"SignIn" = "Connecter"; +"Notifications" = "Notifications"; + +// Updates Preference Pane +"Updates" = "Mise à jour"; +"Versions" = "Versions"; +"AutomaticInstallNewVersion" = "Installer automatiquement les nouvelles versions de Xcode"; +"IncludePreRelease" = "Inclure les versions préliminaires/bêta"; +"AppUpdates" = "Mises à Jour de Xcodes.app"; +"CheckForAppUpdates" = "Vérifier automatiquement les mises à jour de l'application"; +"CheckNow" = "Vérifier Maintenant"; +"LastChecked" = "Dernière vérification: %@"; +"Never" = "Jamais"; + +// Advanced Preference Pane +"Advanced" = "Avancé"; +"LocalCachePath" = "Cache Local"; +"LocalCachePathDescription" = "Xcodes met en cache les versions de Xcode disponibles et télécharge temporairement les nouvelles versions dans le répertoire de cache local"; +"Change" = "Changer"; +"Active/Select" = "Activer/Sélectionner"; +"AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Lorsque vous activez/sélectionnez une version de Xcode, essayez de créer un lien symbolique nommé Xcode.app dans le répertoire d'installation"; +"DataSource" = "Source de Données"; +"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Il affichera toujours les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; +"Downloader" = "Téléchargeur"; +"DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; +"PrivilegedHelper" = "Assistant Privilégié"; +"PrivilegedHelperDescription" = "Xcodes utilise un assistant privilégié distinct pour effectuer des tâches en tant que root. Ce sont des tâches qui nécessiteraient sudo sur la ligne de commande, y compris les étapes de post-installation et le changement de version de Xcode avec xcode-select.\n\nVous serez invité à saisir le mot de passe de votre compte macOS pour l'installer."; +"HelperInstalled" = "L'assistant est installé"; +"HelperNotInstalled" = "L'assistant n'est pas installé"; +"InstallHelper" = "Installer l'assistant'"; + +// Experiment Preference Pane +"Experiments" = "Experiences"; +"FasterUnxip" = "Unxip Plus Rapide"; +"UseUnxipExperiment" = "Utiliser l'expérience, lors de la décompression Unxip"; +"FasterUnxipDescription" = "Grâce à @_saagarjha, cette expérience peut augmenter jusqu'à 70% la vitesse d'extraction pour certains systèmes.\n\nPour plus d'informations sur la façon dont cela est accompli, consultez le référentiel GitHub unxip - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Accès autorisé. Vous recevrez des notifications de Xcodes."; +"AccessDenied" = "⚠️ Accès refusé ⚠️\n\nVeuillez ouvrir vos paramètres de notifications et sélectionnez Xcodes si vous souhaitez autoriser l'accès."; +"NotificationSettings" = "Paramètres de Notification"; +"EnableNotifications" = "Activer les Notifications"; + +// SignIn +"SignInWithApple" = "Connectez-vous avec votre identifiant Apple."; +"AppleID" = "Identifiant Apple:"; +"Password" = "Mot de passe:"; +"Required" = "Requis"; +"SignOut" = "Déconnecter"; + +// SMS/2FA +"DigitCodeDescription" = "Saisissez le code à %d chiffres de l'un de vos appareils de confiance:"; +"SendSMS" = "Envoyer un texto"; +"EnterDigitCodeDescription" = "Entrez le code à %d chiffres envoyé à %@: "; +"SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par texto:"; +"NoTrustedPhones" = "Votre compte n'a pas de numéros de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Actualisé: "; + +// ToolBar +"Login" = "Connexion"; +"LoginDescription" = "Ouvrir une connexion"; +"Refresh" = "Actualiser"; +"RefreshDescription" = "Actualiser la liste de Xcode"; +"All" = "Tout"; +"Release" = "Version"; +"ReleaseOnly" = "Seulement le versions finales"; +"Beta" = "Beta"; +"BetaOnly" = "Seulement les versions bêtas"; +"Filter" = "Filtre"; +"FilterAvailableDescription" = "Filtrer les versions disponibles"; +"FilterInstalledDescription" = "Filtrer les versions installées"; +"Info" = "Info"; +"InfoDescription" = "Afficher ou masquer le volet d'informations"; +"Preferences" = "Préférences"; +"PreferencesDescription" = "Ouvrir les Préférences"; +"Search" = "Rechercher..."; +"SearchDescription" = "Liste de recherche"; + +// List +"ActiveVersionDescription" = "Ceci est la version active"; +"MakeActiveVersionDescription" = "Activer"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Désinstaller Xcode %@ ?"; +"Alert.Uninstall.Message" = "Xcodes sera déplacé vers la corbeille, mais la corbeille ne sera pas vidé."; +"Alert.Uninstall.Error.Title" = "Impossible de désinstaller Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Êtes-vous sûr de vouloir arrêter l'installation de Xcode %@ ?"; +"Alert.CancelInstall.Message" = "Toute progression sera supprimée."; +"Alert.CancelInstall.PrimaryButton" = "Arrêter l'installation"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Assistant Privilégié"; +"Alert.PrivilegedHelper.Message" = "Xcodes utilise un assistant privilégié distinct pour effectuer des tâches en tant que root. Ce sont des tâches qui nécessiteraient sudo sur la ligne de commande, y compris les étapes de post-installation et le changement de version de Xcode avec xcode-select.\n\nVous serez invité à saisir le mot de passe de votre compte macOS pour l'installer."; +"Alert.PrivilegedHelper.Error.Title" = "Impossible d'installer l'assistant"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Exigences minimales non remplies"; +"Alert.MinSupported.Message" = "Xcode %@ nécessite MacOS %@, mais vous utilisez MacOS %@, voulez-vous toujours l'installer ?"; + +// Install +"Alert.Install.Error.Title" = "Impossible d'installer Xcode"; +"Alert.InstallArchive.Error.Title" = "Impossible d'installer l'archive de Xcode"; + +// Update +"Alert.Update.Error.Title" = "Impossible de mettre à jour la version de XCode sélectionnée"; + +// Active/Select +"Alert.Select.Error.Title" = "Impossible de sélectionner Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Impossible de créer un lien symbolique"; +"Alert.SymLink.Message" = "Xcode.app existe et n'est pas un lien symbolique"; + +// Post install +"Alert.PostInstall.Title" = "Impossible d'effectuer les étapes de post-installation"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "L'archive \"%@\" est endommagée et ne peut pas être agrandie."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "L'archive \"%@\" ne peut pas être agrandie car le volume actuel n'a pas assez d'espace libre.\n\nLibérez plus d'espace pour agrandir l'archive, puis réinstallez Xcode %@ pour démarrer l'installation là où elle s'est arrêtée."; +"InstallationError.FailedToMoveXcodeToApplications" = "Impossible de déplacer Xcode vers le répertoire %@."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ a échoué à son évaluation de sécurité avec le résultat suivant :\n%@\nXCode reste installé à %@ si vous souhaitez l'utiliser quand même."; +"InstallationError.CodesignVerifyFailed" = "Le Xcode téléchargé a échoué à la vérification de la signature de code avec le résultat suivant :\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Le Xcode téléchargé n'a pas l'identité de signature de code attendue.\nReçue :\n%@\n%@\nAttendue :\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes ne supporte pas (encore) l'installation de Xcode à partir du format de fichier %@."; +"InstallationError.MissingSudoerPassword" = "Mot de passe manquant. Veuillez réessayer."; +"InstallationError.UnavailableVersion" = "Impossible de trouver la version %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Aucune version non préliminaire disponible."; +"InstallationError.NoPrereleaseVersionAvailable" = "Aucune version préliminaire disponible."; +"InstallationError.MissingUsernameOrPassword" = "Nom d'utilisateur ou mot de passe manquant. Veuillez réessayer."; +"InstallationError.VersionAlreadyInstalled" = "%@ est déjà installé à %@"; +"InstallationError.InvalidVersion" = "%@ n'est pas un numéro de version valide."; +"InstallationError.VersionNotInstalled" = "%@ n'est pas installé."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "L'installation est terminée, mais certaines étapes de post-installation n'ont pas été effectuées automatiquement. Celles-ci seront exécutées lors du premier lancement de Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "L'installation est terminée, mais certaines étapes de post-installation n'ont pas été effectuées automatiquement. Xcodes effectue ces étapes avec un assistant privilégié, qui ne semble pas être installé. Vous pouvez l'installer depuis Préférences > Avancé.\n\nCes étapes seront effectuées lors du premier lancement de Xcode %@."; + +// Installation Steps +"Downloading" = "Téléchargement"; +"Unarchiving" = "Désarchivage (cela peut prendre un certain temps)"; +"Moving" = "Déplacement vers %@"; +"TrashingArchive" = "Déplacement de l'archive vers la corbeille"; +"CheckingSecurity" = "Vérification de sécurité"; +"Finishing" = "Finition"; + +// Notifications +"Notification.NewVersionAvailable" = "Une nouvelle version est disponible"; +"Notification.FinishedInstalling" = "Installation terminée"; + + +"HelperClient.error" = "Impossible de communiquer avec l'assistant privilégié."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Nouvelles versions de Xcode"; +"Notification.NewXcodeVersion.Body" = "De nouvelles versions de Xcode sont disponibles au téléchargement."; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings new file mode 100644 index 0000000..420164f --- /dev/null +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -0,0 +1,216 @@ +// Menu +"Menu.About" = "À propos de Xcodes"; +"Menu.CheckForUpdates" = "Vérifier les mises à jour..."; +"Menu.Acknowledgements" = "Xcodes Remerciements"; +"Menu.GitHubRepo" = "Xcodes GitHub"; +"Menu.ReportABug" = "Signaler un Bogue"; +"Menu.RequestNewFeature" = "Demander une Nouvelle Fonctionnalité"; + +// Common +"Install" = "Installer"; +"InstallDescription" = "Installer cette version"; +"RevealInFinder" = "Ouvrir dans le Finder"; +"Active" = "Version Active"; +"MakeActive" = "Activer"; +"Open" = "Ouvrir"; +"OpenDescription" = "Ouvrir cette version"; +"CopyPath" = "Copier le chemin d'accès"; +"CreateSymLink" = "Créer un Symlink pour Xcode.app"; +"Uninstall" = "Désinstaller"; +"Selected" = "Sélectionné"; +"Select" = "Sélectionner"; +"Cancel" = "Annuler"; +"Next" = "Suivant"; +"Continue" = "Continuer"; +"Close" = "Fermer"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Versions identiques"; +"IdenticalBuilds.help" = "Parfois, la version préliminaire et la version finale sont exactement la même version. Xcodes affichera automatiquement ces versions ensemble."; + +"ReleaseDate" = "Date de Sortie"; +"ReleaseNotes" = "Notes de Mise à Jour"; +"ReleaseNotes.help" = "Consulter le Notes de Mise á Jour"; +"Compatibility" = "Compatibilité"; +"MacOSRequirement" = "Nécessite macOS %@ ou une version ultérieure"; +"SDKs" = "SDKs"; +"Compilers" = "Compilateurs"; +"DownloadSize" = "Taille de téléchargement"; +"NoXcodeSelected" = "Aucun XCode Sélectionné"; + +// Installation Steps +"InstallationStepDescription" = "Étape %d de %d : %@"; +"DownloadingPercentDescription" = "Téléchargement: %d%% téléchargé"; +"StopInstallation" = "Arrêter l'installation"; +"DownloadingError" = "Aucune information de téléchargement trouvée"; + +// About +"VersionWithBuild" = "Version %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "Remerciements"; +"UnxipExperiment" = "Expérience Unxip"; +"License" = "Licence"; + +// General Preference Pane +"General" = "Général"; +"AppleID" = "Identifiant Apple"; +"SignIn" = "Connecter"; +"Notifications" = "Notifications"; + +// Updates Preference Pane +"Updates" = "Mise à jour"; +"Versions" = "Versions"; +"AutomaticInstallNewVersion" = "Installer automatiquement les nouvelles versions de Xcode"; +"IncludePreRelease" = "Inclure les versions préliminaires/bêta"; +"AppUpdates" = "Mises à Jour de Xcodes.app"; +"CheckForAppUpdates" = "Vérifier automatiquement les mises à jour de l'application"; +"CheckNow" = "Vérifier Maintenant"; +"LastChecked" = "Dernière vérification: %@"; +"Never" = "Jamais"; + +// Advanced Preference Pane +"Advanced" = "Avancé"; +"LocalCachePath" = "Cache Local"; +"LocalCachePathDescription" = "Xcodes met en cache les versions de Xcode disponibles et télécharge temporairement les nouvelles versions dans le répertoire de cache local"; +"Change" = "Changer"; +"Active/Select" = "Activer/Sélectionner"; +"AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Lorsque vous activez/sélectionnez une version de Xcode, essayez de créer un lien symbolique nommé Xcode.app dans le répertoire d'installation"; +"DataSource" = "Source de Données"; +"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Il affichera toujours les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; +"Downloader" = "Téléchargeur"; +"DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; +"PrivilegedHelper" = "Assistant Privilégié"; +"PrivilegedHelperDescription" = "Xcodes utilise un assistant privilégié distinct pour effectuer des tâches en tant que root. Ce sont des tâches qui nécessiteraient sudo sur la ligne de commande, y compris les étapes de post-installation et le changement de version de Xcode avec xcode-select.\n\nVous serez invité à saisir le mot de passe de votre compte macOS pour l'installer."; +"HelperInstalled" = "L'assistant est installé"; +"HelperNotInstalled" = "L'assistant n'est pas installé"; +"InstallHelper" = "Installer l'assistant'"; + +// Experiment Preference Pane +"Experiments" = "Experiences"; +"FasterUnxip" = "Unxip Plus Rapide"; +"UseUnxipExperiment" = "Utiliser l'expérience, lors de la décompression Unxip"; +"FasterUnxipDescription" = "Grâce à @_saagarjha, cette expérience peut augmenter jusqu'à 70% la vitesse d'extraction pour certains systèmes.\n\nPour plus d'informations sur la façon dont cela est accompli, consultez le référentiel GitHub unxip - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Accès autorisé. Vous recevrez des notifications de Xcodes."; +"AccessDenied" = "⚠️ Accès refusé ⚠️\n\nVeuillez ouvrir vos paramètres de notifications et sélectionnez Xcodes si vous souhaitez autoriser l'accès."; +"NotificationSettings" = "Paramètres de Notification"; +"EnableNotifications" = "Activer les Notifications"; + +// SignIn +"SignInWithApple" = "Connectez-vous avec votre identifiant Apple."; +"AppleID" = "Identifiant Apple:"; +"Password" = "Mot de passe:"; +"Required" = "Requis"; +"SignOut" = "Déconnecter"; + +// SMS/2FA +"DigitCodeDescription" = "Saisissez le code à %d chiffres de l'un de vos appareils de confiance:"; +"SendSMS" = "Envoyer un texto"; +"EnterDigitCodeDescription" = "Entrez le code à %d chiffres envoyé à %@: "; +"SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par texto:"; +"NoTrustedPhones" = "Votre compte n'a pas de numéros de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Actualisé: "; + +// ToolBar +"Login" = "Connexion"; +"LoginDescription" = "Ouvrir une connexion"; +"Refresh" = "Actualiser"; +"RefreshDescription" = "Actualiser la liste de Xcode"; +"All" = "Tout"; +"Release" = "Version"; +"ReleaseOnly" = "Seulement le versions finales"; +"Beta" = "Beta"; +"BetaOnly" = "Seulement les versions bêtas"; +"Filter" = "Filtre"; +"FilterAvailableDescription" = "Filtrer les versions disponibles"; +"FilterInstalledDescription" = "Filtrer les versions installées"; +"Info" = "Info"; +"InfoDescription" = "Afficher ou masquer le volet d'informations"; +"Preferences" = "Préférences"; +"PreferencesDescription" = "Ouvrir les Préférences"; +"Search" = "Rechercher..."; +"SearchDescription" = "Liste de recherche"; + +// List +"ActiveVersionDescription" = "Ceci est la version active"; +"MakeActiveVersionDescription" = "Activer"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Désinstaller Xcode %@ ?"; +"Alert.Uninstall.Message" = "Xcodes sera déplacé vers la corbeille, mais la corbeille ne sera pas vidé."; +"Alert.Uninstall.Error.Title" = "Impossible de désinstaller Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Êtes-vous sûr de vouloir arrêter l'installation de Xcode %@ ?"; +"Alert.CancelInstall.Message" = "Toute progression sera supprimée."; +"Alert.CancelInstall.PrimaryButton" = "Arrêter l'installation"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Assistant Privilégié"; +"Alert.PrivilegedHelper.Message" = "Xcodes utilise un assistant privilégié distinct pour effectuer des tâches en tant que root. Ce sont des tâches qui nécessiteraient sudo sur la ligne de commande, y compris les étapes de post-installation et le changement de version de Xcode avec xcode-select.\n\nVous serez invité à saisir le mot de passe de votre compte macOS pour l'installer."; +"Alert.PrivilegedHelper.Error.Title" = "Impossible d'installer l'assistant"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Exigences minimales non remplies"; +"Alert.MinSupported.Message" = "Xcode %@ nécessite MacOS %@, mais vous utilisez MacOS %@, voulez-vous toujours l'installer ?"; + +// Install +"Alert.Install.Error.Title" = "Impossible d'installer Xcode"; +"Alert.InstallArchive.Error.Title" = "Impossible d'installer l'archive de Xcode"; + +// Update +"Alert.Update.Error.Title" = "Impossible de mettre à jour la version de XCode sélectionnée"; + +// Active/Select +"Alert.Select.Error.Title" = "Impossible de sélectionner Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Impossible de créer un lien symbolique"; +"Alert.SymLink.Message" = "Xcode.app existe et n'est pas un lien symbolique"; + +// Post install +"Alert.PostInstall.Title" = "Impossible d'effectuer les étapes de post-installation"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "L'archive \"%@\" est endommagée et ne peut pas être agrandie."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "L'archive \"%@\" ne peut pas être agrandie car le volume actuel n'a pas assez d'espace libre.\n\nLibérez plus d'espace pour agrandir l'archive, puis réinstallez Xcode %@ pour démarrer l'installation là où elle s'est arrêtée."; +"InstallationError.FailedToMoveXcodeToApplications" = "Impossible de déplacer Xcode vers le répertoire %@."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ a échoué à son évaluation de sécurité avec le résultat suivant :\n%@\nXCode reste installé à %@ si vous souhaitez l'utiliser quand même."; +"InstallationError.CodesignVerifyFailed" = "Le Xcode téléchargé a échoué à la vérification de la signature de code avec le résultat suivant :\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Le Xcode téléchargé n'a pas l'identité de signature de code attendue.\nReçue :\n%@\n%@\nAttendue :\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes ne supporte pas (encore) l'installation de Xcode à partir du format de fichier %@."; +"InstallationError.MissingSudoerPassword" = "Mot de passe manquant. Veuillez réessayer."; +"InstallationError.UnavailableVersion" = "Impossible de trouver la version %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Aucune version non préliminaire disponible."; +"InstallationError.NoPrereleaseVersionAvailable" = "Aucune version préliminaire disponible."; +"InstallationError.MissingUsernameOrPassword" = "Nom d'utilisateur ou mot de passe manquant. Veuillez réessayer."; +"InstallationError.VersionAlreadyInstalled" = "%@ est déjà installé à %@"; +"InstallationError.InvalidVersion" = "%@ n'est pas un numéro de version valide."; +"InstallationError.VersionNotInstalled" = "%@ n'est pas installé."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "L'installation est terminée, mais certaines étapes de post-installation n'ont pas été effectuées automatiquement. Celles-ci seront exécutées lors du premier lancement de Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "L'installation est terminée, mais certaines étapes de post-installation n'ont pas été effectuées automatiquement. Xcodes effectue ces étapes avec un assistant privilégié, qui ne semble pas être installé. Vous pouvez l'installer depuis Préférences > Avancé.\n\nCes étapes seront effectuées lors du premier lancement de Xcode %@."; + +// Installation Steps +"Downloading" = "Téléchargement"; +"Unarchiving" = "Désarchivage (cela peut prendre un certain temps)"; +"Moving" = "Déplacement vers %@"; +"TrashingArchive" = "Déplacement de l'archive vers la corbeille"; +"CheckingSecurity" = "Vérification de sécurité"; +"Finishing" = "Finition"; + +// Notifications +"Notification.NewVersionAvailable" = "Une nouvelle version est disponible"; +"Notification.FinishedInstalling" = "Installation terminée"; + + +"HelperClient.error" = "Impossible de communiquer avec l'assistant privilégié."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Nouvelles versions de Xcode"; +"Notification.NewXcodeVersion.Body" = "De nouvelles versions de Xcode sont disponibles au téléchargement."; From fad96f497d8de7f07f78aebba8b724fa53d9dc1c Mon Sep 17 00:00:00 2001 From: Dominic Pepin Date: Sat, 23 Apr 2022 07:56:14 -0600 Subject: [PATCH 045/180] Fix issue where strings were not getting called in French --- Xcodes/Frontend/MainWindow.swift | 2 +- Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 4b2c26d..87c0276 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -101,7 +101,7 @@ struct MainWindow: View { switch alertType { case let .cancelInstall(xcode): return Alert( - title: Text(String(format: "Alert.CancelInstall.Title", xcode.description)), + title: Text(String(format: localizeString("Alert.CancelInstall.Title"), xcode.description)), message: Text("Alert.CancelInstall.Message"), primaryButton: .destructive( Text("Alert.CancelInstall.PrimaryButton"), diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index b0f1644..0f94bd5 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -21,7 +21,7 @@ struct AdvancedPreferencePane: View { Image(systemName: "arrow.right.circle.fill") } .buttonStyle(PlainButtonStyle()) - .help("Reveal in Finder") + .help("RevealInFinder") .fixedSize() } Button("Change") { From 4af1fca7c7bdc81642c7794c8a64736b3674c30d Mon Sep 17 00:00:00 2001 From: Dominic Pepin Date: Sat, 23 Apr 2022 07:56:49 -0600 Subject: [PATCH 046/180] Fix issue where French/Longer strings were getting truncated --- Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift | 1 + Xcodes/Frontend/SignIn/SignIn2FAView.swift | 1 + Xcodes/Resources/fr-CA.lproj/Localizable.strings | 2 +- Xcodes/Resources/fr.lproj/Localizable.strings | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift index d99c73d..e94274b 100644 --- a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift @@ -33,6 +33,7 @@ struct UpdatesPreferencePane: View { "CheckForAppUpdates", isOn: $updater.automaticallyChecksForUpdates ) + .fixedSize(horizontal: true, vertical: false) Toggle( "IncludePreRelease", diff --git a/Xcodes/Frontend/SignIn/SignIn2FAView.swift b/Xcodes/Frontend/SignIn/SignIn2FAView.swift index 684cd0d..2e336e4 100644 --- a/Xcodes/Frontend/SignIn/SignIn2FAView.swift +++ b/Xcodes/Frontend/SignIn/SignIn2FAView.swift @@ -11,6 +11,7 @@ struct SignIn2FAView: View { var body: some View { VStack(alignment: .leading) { Text(String(format: localizeString("DigitCodeDescription"), authOptions.securityCode.length)) + .fixedSize(horizontal: true, vertical: false) HStack { Spacer() diff --git a/Xcodes/Resources/fr-CA.lproj/Localizable.strings b/Xcodes/Resources/fr-CA.lproj/Localizable.strings index 420164f..1488374 100644 --- a/Xcodes/Resources/fr-CA.lproj/Localizable.strings +++ b/Xcodes/Resources/fr-CA.lproj/Localizable.strings @@ -78,7 +78,7 @@ "AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcodes.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Lorsque vous activez/sélectionnez une version de Xcode, essayez de créer un lien symbolique nommé Xcode.app dans le répertoire d'installation"; "DataSource" = "Source de Données"; -"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Il affichera toujours les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; +"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; "Downloader" = "Téléchargeur"; "DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; "PrivilegedHelper" = "Assistant Privilégié"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index 420164f..1488374 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -78,7 +78,7 @@ "AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcodes.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Lorsque vous activez/sélectionnez une version de Xcode, essayez de créer un lien symbolique nommé Xcode.app dans le répertoire d'installation"; "DataSource" = "Source de Données"; -"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Il affichera toujours les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; +"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; "Downloader" = "Téléchargeur"; "DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; "PrivilegedHelper" = "Assistant Privilégié"; From 5d680633e0a795becd81633023f73d60c348e848 Mon Sep 17 00:00:00 2001 From: Dominic Pepin Date: Sat, 23 Apr 2022 08:35:04 -0600 Subject: [PATCH 047/180] No need to fr-ca localization file. fr will be used if not present. --- Xcodes.xcodeproj/project.pbxproj | 3 - .../Resources/fr-CA.lproj/Localizable.strings | 216 ------------------ 2 files changed, 219 deletions(-) delete mode 100644 Xcodes/Resources/fr-CA.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index d0fab96..7dc041a 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -170,7 +170,6 @@ 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; - B648F22A2810C0330096781B /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = ""; }; @@ -691,7 +690,6 @@ knownRegions = ( en, Base, - "fr-CA", fr, ); mainGroup = CAD2E7952449574E00113D76; @@ -891,7 +889,6 @@ isa = PBXVariantGroup; children = ( E872EE4F2808D4F100D3DD8B /* en */, - B648F22A2810C0330096781B /* fr-CA */, B648F22B2810C1130096781B /* fr */, ); name = Localizable.strings; diff --git a/Xcodes/Resources/fr-CA.lproj/Localizable.strings b/Xcodes/Resources/fr-CA.lproj/Localizable.strings deleted file mode 100644 index 1488374..0000000 --- a/Xcodes/Resources/fr-CA.lproj/Localizable.strings +++ /dev/null @@ -1,216 +0,0 @@ -// Menu -"Menu.About" = "À propos de Xcodes"; -"Menu.CheckForUpdates" = "Vérifier les mises à jour..."; -"Menu.Acknowledgements" = "Xcodes Remerciements"; -"Menu.GitHubRepo" = "Xcodes GitHub"; -"Menu.ReportABug" = "Signaler un Bogue"; -"Menu.RequestNewFeature" = "Demander une Nouvelle Fonctionnalité"; - -// Common -"Install" = "Installer"; -"InstallDescription" = "Installer cette version"; -"RevealInFinder" = "Ouvrir dans le Finder"; -"Active" = "Version Active"; -"MakeActive" = "Activer"; -"Open" = "Ouvrir"; -"OpenDescription" = "Ouvrir cette version"; -"CopyPath" = "Copier le chemin d'accès"; -"CreateSymLink" = "Créer un Symlink pour Xcode.app"; -"Uninstall" = "Désinstaller"; -"Selected" = "Sélectionné"; -"Select" = "Sélectionner"; -"Cancel" = "Annuler"; -"Next" = "Suivant"; -"Continue" = "Continuer"; -"Close" = "Fermer"; -"OK" = "OK"; - -// Info Pane -"IdenticalBuilds" = "Versions identiques"; -"IdenticalBuilds.help" = "Parfois, la version préliminaire et la version finale sont exactement la même version. Xcodes affichera automatiquement ces versions ensemble."; - -"ReleaseDate" = "Date de Sortie"; -"ReleaseNotes" = "Notes de Mise à Jour"; -"ReleaseNotes.help" = "Consulter le Notes de Mise á Jour"; -"Compatibility" = "Compatibilité"; -"MacOSRequirement" = "Nécessite macOS %@ ou une version ultérieure"; -"SDKs" = "SDKs"; -"Compilers" = "Compilateurs"; -"DownloadSize" = "Taille de téléchargement"; -"NoXcodeSelected" = "Aucun XCode Sélectionné"; - -// Installation Steps -"InstallationStepDescription" = "Étape %d de %d : %@"; -"DownloadingPercentDescription" = "Téléchargement: %d%% téléchargé"; -"StopInstallation" = "Arrêter l'installation"; -"DownloadingError" = "Aucune information de téléchargement trouvée"; - -// About -"VersionWithBuild" = "Version %@ (%@)"; -"GithubRepo" = "GitHub Repo"; -"Acknowledgements" = "Remerciements"; -"UnxipExperiment" = "Expérience Unxip"; -"License" = "Licence"; - -// General Preference Pane -"General" = "Général"; -"AppleID" = "Identifiant Apple"; -"SignIn" = "Connecter"; -"Notifications" = "Notifications"; - -// Updates Preference Pane -"Updates" = "Mise à jour"; -"Versions" = "Versions"; -"AutomaticInstallNewVersion" = "Installer automatiquement les nouvelles versions de Xcode"; -"IncludePreRelease" = "Inclure les versions préliminaires/bêta"; -"AppUpdates" = "Mises à Jour de Xcodes.app"; -"CheckForAppUpdates" = "Vérifier automatiquement les mises à jour de l'application"; -"CheckNow" = "Vérifier Maintenant"; -"LastChecked" = "Dernière vérification: %@"; -"Never" = "Jamais"; - -// Advanced Preference Pane -"Advanced" = "Avancé"; -"LocalCachePath" = "Cache Local"; -"LocalCachePathDescription" = "Xcodes met en cache les versions de Xcode disponibles et télécharge temporairement les nouvelles versions dans le répertoire de cache local"; -"Change" = "Changer"; -"Active/Select" = "Activer/Sélectionner"; -"AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcodes.app"; -"AutomaticallyCreateSymbolicLinkDescription" = "Lorsque vous activez/sélectionnez une version de Xcode, essayez de créer un lien symbolique nommé Xcode.app dans le répertoire d'installation"; -"DataSource" = "Source de Données"; -"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; -"Downloader" = "Téléchargeur"; -"DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; -"PrivilegedHelper" = "Assistant Privilégié"; -"PrivilegedHelperDescription" = "Xcodes utilise un assistant privilégié distinct pour effectuer des tâches en tant que root. Ce sont des tâches qui nécessiteraient sudo sur la ligne de commande, y compris les étapes de post-installation et le changement de version de Xcode avec xcode-select.\n\nVous serez invité à saisir le mot de passe de votre compte macOS pour l'installer."; -"HelperInstalled" = "L'assistant est installé"; -"HelperNotInstalled" = "L'assistant n'est pas installé"; -"InstallHelper" = "Installer l'assistant'"; - -// Experiment Preference Pane -"Experiments" = "Experiences"; -"FasterUnxip" = "Unxip Plus Rapide"; -"UseUnxipExperiment" = "Utiliser l'expérience, lors de la décompression Unxip"; -"FasterUnxipDescription" = "Grâce à @_saagarjha, cette expérience peut augmenter jusqu'à 70% la vitesse d'extraction pour certains systèmes.\n\nPour plus d'informations sur la façon dont cela est accompli, consultez le référentiel GitHub unxip - https://github.com/saagarjha/unxip"; - -// Notifications -"AccessGranted" = "Accès autorisé. Vous recevrez des notifications de Xcodes."; -"AccessDenied" = "⚠️ Accès refusé ⚠️\n\nVeuillez ouvrir vos paramètres de notifications et sélectionnez Xcodes si vous souhaitez autoriser l'accès."; -"NotificationSettings" = "Paramètres de Notification"; -"EnableNotifications" = "Activer les Notifications"; - -// SignIn -"SignInWithApple" = "Connectez-vous avec votre identifiant Apple."; -"AppleID" = "Identifiant Apple:"; -"Password" = "Mot de passe:"; -"Required" = "Requis"; -"SignOut" = "Déconnecter"; - -// SMS/2FA -"DigitCodeDescription" = "Saisissez le code à %d chiffres de l'un de vos appareils de confiance:"; -"SendSMS" = "Envoyer un texto"; -"EnterDigitCodeDescription" = "Entrez le code à %d chiffres envoyé à %@: "; -"SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par texto:"; -"NoTrustedPhones" = "Votre compte n'a pas de numéros de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/en-ca/HT204915."; - -// MainWindow -"UpdatedAt" = "Actualisé: "; - -// ToolBar -"Login" = "Connexion"; -"LoginDescription" = "Ouvrir une connexion"; -"Refresh" = "Actualiser"; -"RefreshDescription" = "Actualiser la liste de Xcode"; -"All" = "Tout"; -"Release" = "Version"; -"ReleaseOnly" = "Seulement le versions finales"; -"Beta" = "Beta"; -"BetaOnly" = "Seulement les versions bêtas"; -"Filter" = "Filtre"; -"FilterAvailableDescription" = "Filtrer les versions disponibles"; -"FilterInstalledDescription" = "Filtrer les versions installées"; -"Info" = "Info"; -"InfoDescription" = "Afficher ou masquer le volet d'informations"; -"Preferences" = "Préférences"; -"PreferencesDescription" = "Ouvrir les Préférences"; -"Search" = "Rechercher..."; -"SearchDescription" = "Liste de recherche"; - -// List -"ActiveVersionDescription" = "Ceci est la version active"; -"MakeActiveVersionDescription" = "Activer"; - -// Alerts -// Uninstall -"Alert.Uninstall.Title" = "Désinstaller Xcode %@ ?"; -"Alert.Uninstall.Message" = "Xcodes sera déplacé vers la corbeille, mais la corbeille ne sera pas vidé."; -"Alert.Uninstall.Error.Title" = "Impossible de désinstaller Xcode"; - -// Cancel Install -"Alert.CancelInstall.Title" = "Êtes-vous sûr de vouloir arrêter l'installation de Xcode %@ ?"; -"Alert.CancelInstall.Message" = "Toute progression sera supprimée."; -"Alert.CancelInstall.PrimaryButton" = "Arrêter l'installation"; - -// Privileged Helper -"Alert.PrivilegedHelper.Title" = "Assistant Privilégié"; -"Alert.PrivilegedHelper.Message" = "Xcodes utilise un assistant privilégié distinct pour effectuer des tâches en tant que root. Ce sont des tâches qui nécessiteraient sudo sur la ligne de commande, y compris les étapes de post-installation et le changement de version de Xcode avec xcode-select.\n\nVous serez invité à saisir le mot de passe de votre compte macOS pour l'installer."; -"Alert.PrivilegedHelper.Error.Title" = "Impossible d'installer l'assistant"; - -// Min MacOS Supported -"Alert.MinSupported.Title" = "Exigences minimales non remplies"; -"Alert.MinSupported.Message" = "Xcode %@ nécessite MacOS %@, mais vous utilisez MacOS %@, voulez-vous toujours l'installer ?"; - -// Install -"Alert.Install.Error.Title" = "Impossible d'installer Xcode"; -"Alert.InstallArchive.Error.Title" = "Impossible d'installer l'archive de Xcode"; - -// Update -"Alert.Update.Error.Title" = "Impossible de mettre à jour la version de XCode sélectionnée"; - -// Active/Select -"Alert.Select.Error.Title" = "Impossible de sélectionner Xcode"; - -// Symbolic Links -"Alert.SymLink.Title" = "Impossible de créer un lien symbolique"; -"Alert.SymLink.Message" = "Xcode.app existe et n'est pas un lien symbolique"; - -// Post install -"Alert.PostInstall.Title" = "Impossible d'effectuer les étapes de post-installation"; - -// InstallationErrors -"InstallationError.DamagedXIP" = "L'archive \"%@\" est endommagée et ne peut pas être agrandie."; -"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "L'archive \"%@\" ne peut pas être agrandie car le volume actuel n'a pas assez d'espace libre.\n\nLibérez plus d'espace pour agrandir l'archive, puis réinstallez Xcode %@ pour démarrer l'installation là où elle s'est arrêtée."; -"InstallationError.FailedToMoveXcodeToApplications" = "Impossible de déplacer Xcode vers le répertoire %@."; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ a échoué à son évaluation de sécurité avec le résultat suivant :\n%@\nXCode reste installé à %@ si vous souhaitez l'utiliser quand même."; -"InstallationError.CodesignVerifyFailed" = "Le Xcode téléchargé a échoué à la vérification de la signature de code avec le résultat suivant :\n%@"; -"InstallationError.UnexpectedCodeSigningIdentity" = "Le Xcode téléchargé n'a pas l'identité de signature de code attendue.\nReçue :\n%@\n%@\nAttendue :\n%@\n%@"; -"InstallationError.UnsupportedFileFormat" = "Xcodes ne supporte pas (encore) l'installation de Xcode à partir du format de fichier %@."; -"InstallationError.MissingSudoerPassword" = "Mot de passe manquant. Veuillez réessayer."; -"InstallationError.UnavailableVersion" = "Impossible de trouver la version %@."; -"InstallationError.NoNonPrereleaseVersionAvailable" = "Aucune version non préliminaire disponible."; -"InstallationError.NoPrereleaseVersionAvailable" = "Aucune version préliminaire disponible."; -"InstallationError.MissingUsernameOrPassword" = "Nom d'utilisateur ou mot de passe manquant. Veuillez réessayer."; -"InstallationError.VersionAlreadyInstalled" = "%@ est déjà installé à %@"; -"InstallationError.InvalidVersion" = "%@ n'est pas un numéro de version valide."; -"InstallationError.VersionNotInstalled" = "%@ n'est pas installé."; -"InstallationError.PostInstallStepsNotPerformed.Installed" = "L'installation est terminée, mais certaines étapes de post-installation n'ont pas été effectuées automatiquement. Celles-ci seront exécutées lors du premier lancement de Xcode %@."; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "L'installation est terminée, mais certaines étapes de post-installation n'ont pas été effectuées automatiquement. Xcodes effectue ces étapes avec un assistant privilégié, qui ne semble pas être installé. Vous pouvez l'installer depuis Préférences > Avancé.\n\nCes étapes seront effectuées lors du premier lancement de Xcode %@."; - -// Installation Steps -"Downloading" = "Téléchargement"; -"Unarchiving" = "Désarchivage (cela peut prendre un certain temps)"; -"Moving" = "Déplacement vers %@"; -"TrashingArchive" = "Déplacement de l'archive vers la corbeille"; -"CheckingSecurity" = "Vérification de sécurité"; -"Finishing" = "Finition"; - -// Notifications -"Notification.NewVersionAvailable" = "Une nouvelle version est disponible"; -"Notification.FinishedInstalling" = "Installation terminée"; - - -"HelperClient.error" = "Impossible de communiquer avec l'assistant privilégié."; -///++ -// Notifications -"Notification.NewXcodeVersion.Title" = "Nouvelles versions de Xcode"; -"Notification.NewXcodeVersion.Body" = "De nouvelles versions de Xcode sont disponibles au téléchargement."; From 74f54c81289a18d4c8bd776411b5c9546d37e2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ce=CC=81sar=20Trujillo?= Date: Wed, 20 Apr 2022 17:04:55 -0500 Subject: [PATCH 048/180] Spanish Localization - Localizable ES file added. - Localizing all strings. --- Xcodes.xcodeproj/project.pbxproj | 3 + Xcodes/Resources/es.lproj/Localizable.strings | 215 ++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100644 Xcodes/Resources/es.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 5967b75..871e22c 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -170,6 +170,7 @@ 536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = ""; }; 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; + 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = ""; }; @@ -691,6 +692,7 @@ en, Base, ru, + es, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -890,6 +892,7 @@ children = ( E872EE4F2808D4F100D3DD8B /* en */, 4A5AAA1D28118FAD00528958 /* ru */, + 58F743C02810A34900EEC0F3 /* es */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings new file mode 100644 index 0000000..917a565 --- /dev/null +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -0,0 +1,215 @@ +// Menu +"Menu.About" = "Acerca de Xcodes"; +"Menu.CheckForUpdates" = "Buscar Actualizaciones..."; +"Menu.Acknowledgements" = "Xcodes Agradecimientos"; +"Menu.GitHubRepo" = "Xcodes GitHub Repositorio"; +"Menu.ReportABug" = "Reportar un fallo"; +"Menu.RequestNewFeature" = "Solicitar una nueva función"; + +// Common +"Install" = "Instalar"; +"InstallDescription" = "Instalar esta versión"; +"RevealInFinder" = "Mostrar en el Finder"; +"Active" = "Activo"; +"MakeActive" = "Activarlo"; +"Open" = "Abrir"; +"OpenDescription" = "Abrir esta versión"; +"CopyPath" = "Copiar Ruta"; +"CreateSymLink" = "Crear Symlink como Xcode.app"; +"Uninstall" = "Desinstalar"; +"Selected" = "Seleccionado"; +"Select" = "Seleccionar"; +"Cancel" = "Cancelar"; +"Next" = "Siguiente"; +"Continue" = "Continuar"; +"Close" = "Cerrar"; + +// Info Pane +"IdenticalBuilds" = "Compilaciones Idénticas"; +"IdenticalBuilds.help" = "A veces, una versión preliminar y una versión de lanzamiento tienen exactamente la misma compilación. Xcodes mostrará automáticamente estas versiones juntas."; + +"ReleaseDate" = "Fecha de lanzamiento"; +"ReleaseNotes" = "Notas del lanzamiento"; +"ReleaseNotes.help" = "Ver Notas del Lanzamiento"; +"Compatibility" = "Compatibilidad"; +"MacOSRequirement" = "Requiere macOS %@ o posterior"; +"SDKs" = "SDKs"; +"Compilers" = "Compiladores"; +"DownloadSize" = "Tamaño de descarga"; +"NoXcodeSelected" = "No se ha seleccionado un Xcode"; + +// Installation Steps +"InstallationStepDescription" = "Paso %@ de %@: %@"; +"DownloadingPercentDescription" = "Descargando: %@% completado"; +"StopInstallation" = "Detener Instalación"; +"DownloadingError" = "No se encontró información de descarga"; + +// About +"VersionWithBuild" = "Versión %@ (%@)"; +"GithubRepo" = "GitHub Repositorio"; +"Acknowledgements" = "Agradecimientos"; +"UnxipExperiment" = "Experimento Unxip"; +"License" = "Licencia"; + +// General Preference Pane +"General" = "General"; +"AppleID" = "Apple ID"; +"SignIn" = "Iniciar Sesión"; +"Notifications" = "Notificaciones"; + +// Updates Preference Pane +"Updates" = "Actualizaciones"; +"Versions" = "Versiones"; +"AutomaticInstallNewVersion" = "Instalar automáticamente versions de Xcode"; +"IncludePreRelease" = "Incluir versiones preliminares/beta"; +"AppUpdates" = "Xcodes.app Actualizaciones"; +"CheckForAppUpdates" = "Buscar automáticamente actualizaciones"; +"CheckNow" = "Revisarlo Ahora"; +"LastChecked" = "Última comprobación: %@"; +"Never" = "Nunca"; + +// Advanced Preference Pane +"Advanced" = "Avanzado"; +"LocalCachePath" = "Ruta de caché local"; +"LocalCachePathDescription" = "Xcodes almacena en caché versiones de Xcode disponibles y descargas temporalmente las nuevas versiones en un directorio"; +"Change" = "Cambiar"; +"Active/Select" = "Activar/Seleccionar"; +"AutomaticallyCreateSymbolicLink" = "Crear automáticamente enlace simbólico a Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Al activar/seleccionar una versión de Xcode, intentará crear un enlace simbólico llamado Xcode.app en el directorio de instalación."; +"DataSource" = "Fuente de datos"; +"DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nLos lanzamientos de Xcode es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 usa hasta 16 conexiones para descargar Xcode de 3 a 5 veces más rápido que URLSession. Se incluye como un ejecutable junto con su código fuente dentro de Xcodes para cumplir con su licencia GPLv2.\n\nURLSession es la API predeterminada de Apple para realizar solicitudes de URL."; +"PrivilegedHelper" = "Asistente privilegiado"; +"PrivilegedHelperDescription" = "Xcodes utiliza un asistente privilegiado independiente para realizar tareas como root. Estas son cosas que requerirían sudo en la línea de comandos, incluidos los pasos posteriores a la instalación y el cambio de versiones de Xcode con xcode-select.\n\nSe le pedirá la contraseña de su cuenta de macOS para instalarlo."; +"HelperInstalled" = "El Asistente está instalado"; +"HelperNotInstalled" = "El Asistente no está instalado."; +"InstallHelper" = "Instalar Asistente"; + +// Experiment Preference Pane +"Experiments" = "Experiments"; +"FasterUnxip" = "Unxip más rápido"; +"UseUnxipExperiment" = "Al descomprimir, use experiment"; +"FasterUnxipDescription" = "Gracias a @_saagarjha, este experimento puede aumentar la velocidad de liberación hasta en un 70 % para algunos sistemas.\n\nPuede ver más información sobre cómo se logra esto en el repositorio de unxip: https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Access Permitido. Recibirás notificaciones de Xcodes."; +"AccessDenied" = "⚠️ Acceso Denegado ⚠️\n\nPor favor abra su Configuración de notificaciones y seleccione Xcodes si desea permitir el acceso."; +"NotificationSettings" = "Configuración de las notificaciones"; +"EnableNotifications" = "Permitir notificaciones"; + +// SignIn +"SignInWithApple" = "Inicia sesión con tu ID de Apple."; +"AppleID" = "AppleID:"; +"Password" = "Contraseña:"; +"Required" = "Requerido"; +"SignOut" = "Cerrar Sesión"; + +// SMS/2FA +"DigitCodeDescription" = "Ingrese el código de %@ dígitos de uno de sus dispositivos de confianza:"; +"SendSMS" = "Enviar SMS"; +"EnterDigitCodeDescription" = "Ingrese el código de dígito %@ enviado a %@: "; +"SelectTrustedPhone" = "Selecciona un número de teléfono de confianza para recibir un código de %@ dígitos por SMS:"; +"NoTrustedPhones" = "Su cuenta no tiene números de teléfono de confianza, pero son necesarios para la autenticación de dos factores.\n\nVer https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Actualizado en"; + +// ToolBar +"Login" = "Iniciar Sesión"; +"LoginDescription" = "Abrir Inicio de Sesión"; +"Refresh" = "Refrescar"; +"RefreshDescription" = "Refrescar lista de Xcodes"; +"All" = "Todos"; +"Release" = "Liberado"; +"ReleaseOnly" = "Solo Liberados"; +"Beta" = "Beta"; +"BetaOnly" = "Solo Beta"; +"Filter" = "Filtro"; +"FilterAvailableDescription" = "Filtrar versiones disponibles"; +"FilterInstalledDescription" = "Filtrar versiones instaladas"; +"Info" = "Info"; +"InfoDescription" = "Mostrar u ocultar el panel de información"; +"Preferences" = "Preferencias"; +"PreferencesDescription" = "Abrir Preferencias"; +"Search" = "Buscar..."; +"SearchDescription" = "Lista de búsqueda"; + +// List +"ActiveVersionDescription" = "Esta es la versión activa."; +"MakeActiveVersionDescription" = "Haz que esta sea la versión activa"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Desinstalar Xcode %@?"; +"Alert.Uninstall.Message" = "Se moverá a la Papelera, pero no se vaciará."; +"Alert.Uninstall.Error.Title" = "No se puede desinstalar Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "¿Está seguro de que desea detener la instalación de Xcode %@?"; +"Alert.CancelInstall.Message" = "Cualquier progreso será descartado."; +"Alert.CancelInstall.PrimaryButton" = "Detener Instalación"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Asistente Privilegiado"; +"Alert.PrivilegedHelper.Message" = "Xcodes utiliza un Asistente Privilegiado independiente para realizar tareas como root. Estas son cosas que requerirían sudo en la línea de comando, incluidos los pasos posteriores a la instalación y el cambio de versiones de Xcode con xcode-select.\n\nSe le pedirá la contraseña de su cuenta de macOS para instalarlo."; +"Alert.PrivilegedHelper.Error.Title" = "No se puede instalar el asistente"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Requisitos mínimos no cumplidos"; +"Alert.MinSupported.Message" = "Xcode %@ requiere MacOS %@, pero está ejecutando MacOS %@, ¿aún desea instalarlo?"; + +// Install +"Alert.Install.Error.Title" = "No se puede instalar Xcode"; +"Alert.InstallArchive.Error.Title" = "No se puede instalar el Xcode archivado"; + +// Update +"Alert.Update.Error.Title" = "No se puede actualizar el Xcode seleccionado"; + +// Active/Select +"Alert.Select.Error.Title" = "No se puede seleccionar el Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "No se puede crear un enlace simbólico"; +"Alert.SymLink.Message" = "Xcode.app existe y no es un enlace simbólico"; + +// Post install +"Alert.PostInstall.Title" = "No se pueden realizar los pasos posteriores a la instalación"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "El archivo \"%@\" está dañado y no se puede expandir."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "El archivo \"%@\" no se puede expandir porque el volumen/disco actual no tiene suficiente espacio libre.\n\nHaga más espacio disponible para expandir el archivo y luego instale Xcode %@ nuevamente para comenzar la instalación desde donde lo dejó."; +"InstallationError.FailedToMoveXcodeToApplications" = "No se pudo mover Xcode al directorio %@."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ falló su evaluación de seguridad con el siguiente resultado:\n%@\nPermanece instalado en %@ si desea usarlo de todos modos."; +"InstallationError.CodesignVerifyFailed" = "El Xcode descargado falló en la verificación de firma de código con el siguiente resultado:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "El Xcode descargado no tiene la identidad de firma de código esperada.\nObtuvo:\n%@\n%@\nEsperado:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes no admite (todavía) la instalación de Xcode desde el formato de archivo %@."; +"InstallationError.MissingSudoerPassword" = "Falta la contraseña. Inténtalo de nuevo."; +"InstallationError.UnavailableVersion" = "No se pudo encontrar la versión %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "No hay versiones que no sean preliminares disponibles."; +"InstallationError.NoPrereleaseVersionAvailable" = "No hay versiones preliminares disponibles."; +"InstallationError.MissingUsernameOrPassword" = "Falta el nombre de usuario o una contraseña. Inténtalo de nuevo."; +"InstallationError.VersionAlreadyInstalled" = "%@ ya está instalado en %@"; +"InstallationError.InvalidVersion" = "%@ no es un número de versión válido."; +"InstallationError.VersionNotInstalled" = "%@ no esta instalada."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "La instalación se completó, pero algunos pasos posteriores a la instalación no se realizaron automáticamente. Estos se realizarán cuando inicie Xcode por primera vez %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "La instalación se completó, pero algunos pasos posteriores a la instalación no se realizaron automáticamente. Xcodes realiza estos pasos con un asistente privilegiado, que parece no estar instalado. Puede instalarlo desde Preferencias > Avanzado.\n\nEstos pasos se realizarán cuando inicie Xcode por primera vez %@."; + +// Installation Steps +"Downloading" = "Descargando"; +"Unarchiving" = "Desarchivando (esto puede llevar un tiempo)"; +"Moving" = "Moviendo a %@"; +"TrashingArchive" = "Mover archivo a la Papelera"; +"CheckingSecurity" = "Verificación de seguridad"; +"Finishing" = "Finalizando"; + +// Notifications +"Notification.NewVersionAvailable" = "Una nueva versión está disponible"; +"Notification.FinishedInstalling" = "Terminado de instalar"; + + +"HelperClient.error" = "No se puede comunicar con el Asistente privilegiado."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Nuevas versiones de Xcode"; +"Notification.NewXcodeVersion.Body" = "Nuevas versiones de Xcode están disponibles para descargar."; From 857c232fb02aa8fb2cb93ebf2862b23f6cd4da4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ce=CC=81sar=20Trujillo?= Date: Thu, 21 Apr 2022 09:43:31 -0500 Subject: [PATCH 049/180] Leaving a word in english due to an attributed text to a URL --- Xcodes/Resources/es.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index 917a565..24493c0 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -77,7 +77,7 @@ "AutomaticallyCreateSymbolicLink" = "Crear automáticamente enlace simbólico a Xcodes.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Al activar/seleccionar una versión de Xcode, intentará crear un enlace simbólico llamado Xcode.app en el directorio de instalación."; "DataSource" = "Fuente de datos"; -"DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nLos lanzamientos de Xcode es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; +"DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nXcode Releases es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; "Downloader" = "Downloader"; "DownloaderDescription" = "aria2 usa hasta 16 conexiones para descargar Xcode de 3 a 5 veces más rápido que URLSession. Se incluye como un ejecutable junto con su código fuente dentro de Xcodes para cumplir con su licencia GPLv2.\n\nURLSession es la API predeterminada de Apple para realizar solicitudes de URL."; "PrivilegedHelper" = "Asistente privilegiado"; From 8786b403cb5f55c04679db66e9ad3887be392e33 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 22 Apr 2022 08:47:27 -0500 Subject: [PATCH 050/180] Fixes that were on the english translation, moved over --- Xcodes/Resources/es.lproj/Localizable.strings | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index 24493c0..38e88ef 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -39,8 +39,8 @@ "NoXcodeSelected" = "No se ha seleccionado un Xcode"; // Installation Steps -"InstallationStepDescription" = "Paso %@ de %@: %@"; -"DownloadingPercentDescription" = "Descargando: %@% completado"; +"InstallationStepDescription" = "Paso %d de %d: %@"; +"DownloadingPercentDescription" = "Descargando: %d%% completado"; "StopInstallation" = "Detener Instalación"; "DownloadingError" = "No se encontró información de descarga"; @@ -106,10 +106,10 @@ "SignOut" = "Cerrar Sesión"; // SMS/2FA -"DigitCodeDescription" = "Ingrese el código de %@ dígitos de uno de sus dispositivos de confianza:"; +"DigitCodeDescription" = "Ingrese el código de %d dígitos de uno de sus dispositivos de confianza:"; "SendSMS" = "Enviar SMS"; -"EnterDigitCodeDescription" = "Ingrese el código de dígito %@ enviado a %@: "; -"SelectTrustedPhone" = "Selecciona un número de teléfono de confianza para recibir un código de %@ dígitos por SMS:"; +"EnterDigitCodeDescription" = "Ingrese el código de dígito %d enviado a %@: "; +"SelectTrustedPhone" = "Selecciona un número de teléfono de confianza para recibir un código de %d dígitos por SMS:"; "NoTrustedPhones" = "Su cuenta no tiene números de teléfono de confianza, pero son necesarios para la autenticación de dos factores.\n\nVer https://support.apple.com/en-ca/HT204915."; // MainWindow From 11f7cae14f90b4d62987bb22bbaf80faec7ec1dc Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 22 Apr 2022 09:30:18 -0500 Subject: [PATCH 051/180] Add "OK" to localizable strings --- Xcodes/Frontend/MainWindow.swift | 2 +- Xcodes/Resources/en.lproj/Localizable.strings | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 36584e7..4b2c26d 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -147,7 +147,7 @@ struct MainWindow: View { title: Text(title), message: Text(message), dismissButton: .default( - Text("Ok"), + Text("OK"), action: { appState.presentedAlert = nil } ) ) diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 4f986a4..15dad55 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -23,6 +23,7 @@ "Next" = "Next"; "Continue" = "Continue"; "Close" = "Close"; +"OK" = "OK"; // Info Pane "IdenticalBuilds" = "Identical Builds"; From dbdc7cf76d3ece96432627373914b7805909b9e1 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 22 Apr 2022 09:31:19 -0500 Subject: [PATCH 052/180] Add OK to spanish --- Xcodes/Resources/es.lproj/Localizable.strings | 1 + 1 file changed, 1 insertion(+) diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index 38e88ef..37234be 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -23,6 +23,7 @@ "Next" = "Siguiente"; "Continue" = "Continuar"; "Close" = "Cerrar"; +"OK" = "Aceptar"; // Info Pane "IdenticalBuilds" = "Compilaciones Idénticas"; From c64ff9f6ed1ab3733dfa7ed571e907e77e988866 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 23 Apr 2022 22:18:30 -0500 Subject: [PATCH 053/180] Update readme --- README.md | 19 ++++++++++++++++--- .../xcshareddata/xcschemes/Xcodes.xcscheme | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6e8fb7b..f883ff5 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,22 @@ _If you're looking for a command-line version of Xcodes.app, try [`xcodes`](http - Thanks to the wonderful work of [https://github.com/saagarjha/unxip](https://github.com/saagarjha/unxip), turn on the experiment to increase your unxipping time by up to 70%! More can be found on his repo, but bugs, high memory may occur if used. -![](experiment_light.png#gh-light-mode-only) -![](experiment_dark.png#gh-dark-mode-only) +![](experiment_light.jpg#gh-light-mode-only) +![](experiment_dark.jpg#gh-dark-mode-only) +## Localization + +Xcodes supports localization in several languages. + +The following languages are supported because of the following community users! + +||| +|-|-| +|French|[@dompepin](https://github.com/dompepin)| +|Spanish|[@cesartru88](https://github.com/cesartru88)| +|Russian|[@alexmazlov](https://github.com/alexmazlov)| + +Want to add more languages? Simply create a PR with the updated strings file. ## Installation Xcodes.app runs on macOS Big Sur 11.0 or later. @@ -44,7 +57,7 @@ brew install --cask xcodes ## Development -You'll need macOS 11 Big Sur and Xcode 12 in order to build and run Xcodes.app. +You'll need macOS 12 Big Sur and Xcode 13 in order to build and run Xcodes.app. If you aren't a Robots and Pencils employee you'll need to change the CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT build setting to your Apple Developer team ID in order for code signing validation to succeed between the main app and the privileged helper. diff --git a/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme b/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme index 71c4833..f0379f7 100644 --- a/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme +++ b/Xcodes.xcodeproj/xcshareddata/xcschemes/Xcodes.xcscheme @@ -44,7 +44,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "ru" + language = "en" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" From e3555f9868e70944c6a16e1ee41a96eda55a813a Mon Sep 17 00:00:00 2001 From: Gurpreet Kaur <49320239+KGurpreet@users.noreply.github.com> Date: Sun, 24 Apr 2022 22:47:34 -0700 Subject: [PATCH 054/180] Added Localisable (Hindi) file Added Localisable (Hindi) file to support multiple languages --- Xcodes.xcodeproj/project.pbxproj | 6 + Xcodes/Resources/hi.lproj/Localizable.strings | 215 ++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 Xcodes/Resources/hi.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 333da06..89f9f81 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -166,6 +166,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; 536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = ""; }; 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; @@ -689,6 +690,7 @@ knownRegions = ( en, Base, + hi, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -887,6 +889,7 @@ isa = PBXVariantGroup; children = ( E872EE4F2808D4F100D3DD8B /* en */, + 15FAD1652811D15600B63259 /* hi */, ); name = Localizable.strings; sourceTree = ""; @@ -898,6 +901,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -1083,6 +1087,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -1145,6 +1150,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings new file mode 100644 index 0000000..e9a03ba --- /dev/null +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -0,0 +1,215 @@ +// Menu +"Menu.About" = "एक्सकोड के बारे में"; +"Menu.CheckForUpdates" = "अद्यतनों के लिए जाँच करें..."; +"Menu.Acknowledgements" = "Xcodes स्वीकृति"; +"Menu.GitHubRepo" = "Xcodes GitHub रेपो"; +"Menu.ReportABug" = "किसी बग की रिपोर्ट करें"; +"Menu.RequestNewFeature" = "किसी नई सुविधा का अनुरोध करें"; + +// Common +"Install" = "स्थापित करे"; +"InstallDescription" = "इस संस्करण को स्थापित करें"; +"RevealInFinder" = "खोजक में प्रकट करें"; +"Active" = "सक्रिय"; +"MakeActive" = "सक्रिय बनाएँ"; +"Open" = "खोलना"; +"OpenDescription" = "इस संस्करण को खोलें"; +"CopyPath" = "पथ की कॉपी करे"; +"CreateSymLink" = "Xcode.app के रूप में सिमलिंक बनाएं"; +"Uninstall" = "असंस्थापित करे"; +"Selected" = "चयनित"; +"Select" = "चयन करे"; +"Cancel" = "रद्द करे"; +"Next" = "अगला"; +"Continue" = "जारी रखें"; +"Close" = "बंद करे"; + +// Info Pane +"IdenticalBuilds" = "Identical Builds"; +"IdenticalBuilds.help" = "कभी-कभी एक पूर्व-रिलीज़ और रिलीज़ संस्करण एक ही बिल्ड होते हैं। Xcodes स्वचालित रूप से इन संस्करणों को एक साथ प्रदर्शित करेगा।"; + +"ReleaseDate" = "रिलीज़ दिनांक"; +"ReleaseNotes" = "रिलीज नोट्स"; +"ReleaseNotes.help" = "रिलीज़ नोट्स देखें"; +"Compatibility" = "अनुकूलता"; +"MacOSRequirement" = "macOS %@ या बाद के संस्करण की आवश्यकता है"; +"SDKs" = "SDKs"; +"Compilers" = "संकलनकर्ता"; +"DownloadSize" = "डाउनलोड आकार"; +"NoXcodeSelected" = "कोई Xcode चयनित नहीं"; + +// Installation Steps +"InstallationStepDescription" = "%d: %@ का चरण %d"; +"DownloadingPercentDescription" = "डाउनलोड: %d%% पूर्ण"; +"StopInstallation" = "स्थापना रोकें"; +"DownloadingError" = "कोई डाउनलोड जानकारी नहीं मिली"; + +// About +"VersionWithBuild" = "संस्करण %@ (%@)"; +"GithubRepo" = "GitHub रेपो"; +"Acknowledgements" = "स्वीकृति"; +"UnxipExperiment" = "अनज़िप प्रयोग"; +"License" = "लाइसेंस"; + +// General Preference Pane +"General" = "सामान्य"; +"AppleID" = "Apple ID"; +"SignIn" = "साइन इन करें"; +"Notifications" = "सूचनाएँ"; + +// Updates Preference Pane +"Updates" = "अपडेट"; +"Versions" = "संस्करण"; +"AutomaticInstallNewVersion" = "Xcode के नए संस्करण स्वचालित रूप से स्थापित करें"; +"IncludePreRelease" = "पूर्व-रिलीज़/बीटा संस्करण शामिल करें"; +"AppUpdates" = "Xcodes.app अपडेट"; +"CheckForAppUpdates" = "ऐप अपडेट के लिए स्वचालित रूप से जांचें"; +"CheckNow" = "अभी जाँचें"; +"LastChecked" = "पिछली बार चेक किया गया: %@"; +"Never" = "कभी नहीं"; + +// Advanced Preference Pane +"Advanced" = "उन्नत"; +"LocalCachePath" = "स्थानीय कैश पथ"; +"LocalCachePathDescription" = "Xcodes उपलब्ध Xcode संस्करणों को कैश करता है और एक निर्देशिका में अस्थायी रूप से नए संस्करण डाउनलोड करता है"; +"Change" = "परिवर्तन"; +"Active/Select" = "सक्रिय/चयन"; +"AutomaticallyCreateSymbolicLink" = "Xcodes.app के लिए स्वचालित रूप से प्रतीकात्मक लिंक बनाएं"; +"AutomaticallyCreateSymbolicLinkDescription" = "Xcode संस्करण को सक्रिय/चयनित बनाते समय, स्थापना निर्देशिका में Xcode.app नामक एक प्रतीकात्मक लिंक बनाने का प्रयास करें"; +"DataSource" = "डेटा स्रोत"; +"DataSourceDescription" = "Apple डेटा स्रोत Apple डेवलपर वेबसाइट को स्क्रैप करता है। यह हमेशा नवीनतम रिलीज दिखाएगा जो उपलब्ध हैं, लेकिन अधिक नाजुक है।\n\nXcode Releases Xcode रिलीज़ की एक अनौपचारिक सूची है। यह सुव्यवस्थित डेटा के रूप में प्रदान किया जाता है, इसमें अतिरिक्त जानकारी होती है जो Apple से आसानी से उपलब्ध नहीं होती है, और यदि Apple अपनी डेवलपर वेबसाइट को फिर से डिज़ाइन करता है तो इसके टूटने की संभावना कम होती है।"; +"Downloader" = "डाउनलोडर"; +"DownloaderDescription" = "aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license.\n\nURLSession is the default Apple API for making URL requests."; +"PrivilegedHelper" = "विशेषाधिकार प्राप्त सहायक"; +"PrivilegedHelperDescription" = "Xcodes कार्यों को रूट के रूप में करने के लिए एक अलग विशेषाधिकार प्राप्त सहायक का उपयोग करता है। ये ऐसी चीजें हैं जिनके लिए कमांड लाइन पर sudo की आवश्यकता होगी, जिसमें पोस्ट-इंस्टॉल चरण और xcode-select के साथ Xcode संस्करण स्विच करना शामिल है।\n\nइसे इंस्टॉल करने के लिए आपको अपने macOS अकाउंट पासवर्ड के लिए कहा जाएगा।"; +"HelperInstalled" = "सहायक स्थापित है"; +"HelperNotInstalled" = "सहायक स्थापित नहीं है"; +"InstallHelper" = "सहायक स्थापित करें"; + +// Experiment Preference Pane +"Experiments" = "परीक्षण"; +"FasterUnxip" = "Faster Unxip"; +"UseUnxipExperiment" = "When unxipping, use experiment"; +"FasterUnxipDescription" = "Thanks to @_saagarjha, this experiment can increase unxipping speed by up to 70% for some systems.\n\nMore information on how this is accomplished can be seen on the unxip repo - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "प्रवेश करने की अनुमति है। आपको Xcodes से सूचनाएं प्राप्त होंगी।"; +"AccessDenied" = "⚠️ प्रवेश निषेध ⚠️\n\nकृपया अपनी सूचना सेटिंग्स खोलें और यदि आप प्रवेश की अनुमति देना चाहते हैं तो Xcodes का चयन करें."; +"NotificationSettings" = "सूचना सेटिंग्स"; +"EnableNotifications" = "सूचनाएँ सक्षम करें"; + +// SignIn +"SignInWithApple" = "अपनी Apple ID से साइन इन करें."; +"AppleID" = "AppleID:"; +"Password" = "पासवर्ड:"; +"Required" = "आवश्यक"; +"SignOut" = "साइन आउट करें"; + +// SMS/2FA +"DigitCodeDescription" = "अपने किसी विश्वसनीय डिवाइस से %d अंक कोड दर्ज करें:"; +"SendSMS" = "SMS भेजें"; +"EnterDigitCodeDescription" = "%@ को भेजा गया %d अंक कोड दर्ज करें: "; +"SelectTrustedPhone" = "SMS के द्वारा %d अंक कोड प्राप्त करने के लिए विश्वसनीय फ़ोन नंबर चुनें:"; +"NoTrustedPhones" = "आपके खाते में कोई विश्वसनीय फ़ोन नंबर नहीं है, लेकिन वे दो-कारक प्रमाणीकरण के लिए आवश्यक हैं।\n\nhttps://support.apple.com/en-ca/HT204915 देखें।"; + +// MainWindow +"UpdatedAt" = "पर अपडेट किया गया"; + +// ToolBar +"Login" = "लॉग इन करें"; +"LoginDescription" = "लॉगिन खोलें"; +"Refresh" = "ताज़ा करें"; +"RefreshDescription" = "Xcode सूची ताज़ा करें"; +"All" = "सभी"; +"Release" = "रिलीज़"; +"ReleaseOnly" = "केवल रिलीज़ करें"; +"Beta" = "बीटा"; +"BetaOnly" = "केवल बीटा"; +"Filter" = "फ़िल्टर"; +"FilterAvailableDescription" = "उपलब्ध संस्करणों को फ़िल्टर करें"; +"FilterInstalledDescription" = "स्थापित संस्करणों को फ़िल्टर करें"; +"Info" = "जानकारी"; +"InfoDescription" = "जानकारी फलक दिखाएँ या छिपाएँ"; +"Preferences" = "प्राथमिकताएँ"; +"PreferencesDescription" = "प्राथमिकताएँ खोलें"; +"Search" = "खोज..."; +"SearchDescription" = "खोज सूची"; + +// List +"ActiveVersionDescription" = "यह सक्रिय संस्करण है"; +"MakeActiveVersionDescription" = "इसे सक्रिय संस्करण बनाएं"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Xcode %@ की स्थापना रद्द करें?"; +"Alert.Uninstall.Message" = "इसे ट्रैश में ले जाया जाएगा, लेकिन खाली नहीं किया जाएगा।"; +"Alert.Uninstall.Error.Title" = "Xcode की स्थापना रद्द करने में असमर्थ"; + +// Cancel Install +"Alert.CancelInstall.Title" = "क्या आप वाकई Xcode %@ की स्थापना को रोकना चाहते हैं?"; +"Alert.CancelInstall.Message" = "किसी भी प्रगति को छोड़ दिया जाएगा।"; +"Alert.CancelInstall.PrimaryButton" = "स्थापना रोकें"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "विशेषाधिकार प्राप्त सहायक"; +"Alert.PrivilegedHelper.Message" = "Xcodes कार्यों को रूट के रूप में करने के लिए एक अलग विशेषाधिकार प्राप्त सहायक का उपयोग करता है। ये ऐसी चीजें हैं जिनके लिए कमांड लाइन पर sudo की आवश्यकता होगी, जिसमें पोस्ट-इंस्टॉल चरण और xcode-select के साथ Xcode संस्करण स्विच करना शामिल है।\n\nआपको इसे स्थापित करने के लिए अपने macOS खाता पासवर्ड के लिए संकेत दिया जाएगा।"; +"Alert.PrivilegedHelper.Error.Title" = "हेल्पर स्थापित करने में असमर्थ"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "न्यूनतम आवश्यकताएं पूरी नहीं हुई"; +"Alert.MinSupported.Message" = "Xcode %@ को MacOS %@ की आवश्यकता है, लेकिन आप MacOS %@ चला रहे हैं, क्या आप अभी भी इसे स्थापित करना चाहते हैं?"; + +// Install +"Alert.Install.Error.Title" = "एक्सकोड स्थापित करने में असमर्थ"; +"Alert.InstallArchive.Error.Title" = "संग्रहीत Xcode स्थापित करने में असमर्थ"; + +// Update +"Alert.Update.Error.Title" = "चयनित Xcode को अपडेट करने में असमर्थ"; + +// Active/Select +"Alert.Select.Error.Title" = "एक्सकोड का चयन करने में असमर्थ"; + +// Symbolic Links +"Alert.SymLink.Title" = "प्रतीकात्मक लिंक बनाने में असमर्थ"; +"Alert.SymLink.Message" = "Xcode.app मौजूद है और एक प्रतीकात्मक लिंक नहीं है"; + +// Post install +"Alert.PostInstall.Title" = "स्थापना के बाद के चरण निष्पादित करने में असमर्थ"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "संग्रह \"%@\" क्षतिग्रस्त है और इसे विस्तारित नहीं किया जा सकता है।"; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "The archive \"%@\" can’t be expanded because the current volume doesn’t have enough free space.\n\nMake more space available to expand the archive and then install Xcode %@ again to start installation from where it left off."; +"InstallationError.FailedToMoveXcodeToApplications" = "Xcode को %@ निर्देशिका में ले जाने में विफल।"; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; +"InstallationError.CodesignVerifyFailed" = "डाउनलोड किया गया Xcode निम्नलिखित आउटपुट के साथ कोड हस्ताक्षर सत्यापन में विफल रहा:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "डाउनलोड किए गए Xcode में अपेक्षित कोड हस्ताक्षर पहचान नहीं है।\nमिला:\n%@\n%@\अपेक्षित:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes (अभी तक) % @ फ़ाइल स्वरूप से Xcode स्थापित करने का समर्थन नहीं करता है।"; +"InstallationError.MissingSudoerPassword" = "पासवर्ड अनुपलब्ध है। कृपया पुन: प्रयास करें।"; +"InstallationError.UnavailableVersion" = "संस्करण %@ नहीं मिल सका।"; +"InstallationError.NoNonPrereleaseVersionAvailable" = "कोई गैर-पूर्व-रिलीज़ संस्करण उपलब्ध नहीं है।"; +"InstallationError.NoPrereleaseVersionAvailable" = "कोई पूर्व-रिलीज़ संस्करण उपलब्ध नहीं है।"; +"InstallationError.MissingUsernameOrPassword" = "उपयोगकर्ता नाम या पासवर्ड गुम है। कृपया पुन: प्रयास करें।"; +"InstallationError.VersionAlreadyInstalled" = "%@ पहले से ही %@ पर संस्थापित है"; +"InstallationError.InvalidVersion" = "%@ मान्य संस्करण संख्या नहीं है।"; +"InstallationError.VersionNotInstalled" = "%@ स्थापित नहीं किया गया।"; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "स्थापना पूर्ण हो गई थी, लेकिन कुछ पोस्ट-इंस्टॉलेशन चरण स्वचालित रूप से निष्पादित नहीं किए गए थे। ये तब किए जाएंगे जब आप पहली बार Xcode %@ लॉन्च करेंगे।"; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "स्थापना पूर्ण हो गई थी, लेकिन कुछ पोस्ट-इंस्टॉलेशन चरण स्वचालित रूप से निष्पादित नहीं किए गए थे। Xcodes इन चरणों को एक विशेषाधिकार प्राप्त सहायक के साथ निष्पादित करता है, जो स्थापित नहीं प्रतीत होता है। आप इसे Preferences > Advanced(वरीयताएँ> उन्नत) से स्थापित कर सकते हैं।\n\nजब आप पहली बार Xcode %@ लॉन्च करेंगे तो ये चरण निष्पादित किए जाएंगे।"; + +// Installation Steps +"Downloading" = "डाउनलोड"; +"Unarchiving" = "Unarchiving (इसमें कुछ समय लग सकता है)"; +"Moving" = "%@ पर जा रहा है"; +"TrashingArchive" = "संग्रह को ट्रैश में ले जाया जा रहा है"; +"CheckingSecurity" = "सुरक्षा सत्यापन"; +"Finishing" = "परिष्करण"; + +// Notifications +"Notification.NewVersionAvailable" = "नया संस्करण उपलब्ध है"; +"Notification.FinishedInstalling" = "स्थापना समाप्त हो गई"; + + +"HelperClient.error" = "विशेषाधिकार प्राप्त सहायक के साथ संवाद करने में असमर्थ।"; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "नए Xcode संस्करण"; +"Notification.NewXcodeVersion.Body" = "नए Xcode संस्करण डाउनलोड करने के लिए उपलब्ध हैं।"; From 048aac2a8bdd35f75740d32a077915978f91a406 Mon Sep 17 00:00:00 2001 From: Gurpreet Kaur <49320239+KGurpreet@users.noreply.github.com> Date: Mon, 25 Apr 2022 09:50:24 -0700 Subject: [PATCH 055/180] Updated Localizable.strings Updated Localizable(Hindi) file --- Xcodes/Resources/hi.lproj/Localizable.strings | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index e9a03ba..d984a21 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -79,7 +79,7 @@ "DataSource" = "डेटा स्रोत"; "DataSourceDescription" = "Apple डेटा स्रोत Apple डेवलपर वेबसाइट को स्क्रैप करता है। यह हमेशा नवीनतम रिलीज दिखाएगा जो उपलब्ध हैं, लेकिन अधिक नाजुक है।\n\nXcode Releases Xcode रिलीज़ की एक अनौपचारिक सूची है। यह सुव्यवस्थित डेटा के रूप में प्रदान किया जाता है, इसमें अतिरिक्त जानकारी होती है जो Apple से आसानी से उपलब्ध नहीं होती है, और यदि Apple अपनी डेवलपर वेबसाइट को फिर से डिज़ाइन करता है तो इसके टूटने की संभावना कम होती है।"; "Downloader" = "डाउनलोडर"; -"DownloaderDescription" = "aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license.\n\nURLSession is the default Apple API for making URL requests."; +"DownloaderDescription" = "aria2 URLSession की तुलना में Xcode 3-5x तेजी से डाउनलोड करने के लिए 16 कनेक्शन तक का उपयोग करता है। इसे अपने GPLv2 लाइसेंस का अनुपालन करने के लिए Xcodes के भीतर अपने स्रोत कोड के साथ एक निष्पादन योग्य के रूप में बंडल किया गया है।\n\nURL अनुरोध करने के लिए URLSession डिफ़ॉल्ट Apple API है।"; "PrivilegedHelper" = "विशेषाधिकार प्राप्त सहायक"; "PrivilegedHelperDescription" = "Xcodes कार्यों को रूट के रूप में करने के लिए एक अलग विशेषाधिकार प्राप्त सहायक का उपयोग करता है। ये ऐसी चीजें हैं जिनके लिए कमांड लाइन पर sudo की आवश्यकता होगी, जिसमें पोस्ट-इंस्टॉल चरण और xcode-select के साथ Xcode संस्करण स्विच करना शामिल है।\n\nइसे इंस्टॉल करने के लिए आपको अपने macOS अकाउंट पासवर्ड के लिए कहा जाएगा।"; "HelperInstalled" = "सहायक स्थापित है"; @@ -88,9 +88,9 @@ // Experiment Preference Pane "Experiments" = "परीक्षण"; -"FasterUnxip" = "Faster Unxip"; -"UseUnxipExperiment" = "When unxipping, use experiment"; -"FasterUnxipDescription" = "Thanks to @_saagarjha, this experiment can increase unxipping speed by up to 70% for some systems.\n\nMore information on how this is accomplished can be seen on the unxip repo - https://github.com/saagarjha/unxip"; +"FasterUnxip" = "तेज़ अनज़िप"; +"UseUnxipExperiment" = "अनज़िपिंग करते समय, प्रयोग का उपयोग करें"; +"FasterUnxipDescription" = "@_saagarjha के लिए धन्यवाद, यह प्रयोग कुछ प्रणालियों के लिए 70% तक की गति को बढ़ा सकता है।\n\nइसे कैसे पूरा किया जाता है, इस बारे में अधिक जानकारी अनएक्सआईपी रेपो पर देखी जा सकती है - https://github.com/saagarjha/unxip"; // Notifications "AccessGranted" = "प्रवेश करने की अनुमति है। आपको Xcodes से सूचनाएं प्राप्त होंगी।"; @@ -178,9 +178,9 @@ // InstallationErrors "InstallationError.DamagedXIP" = "संग्रह \"%@\" क्षतिग्रस्त है और इसे विस्तारित नहीं किया जा सकता है।"; -"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "The archive \"%@\" can’t be expanded because the current volume doesn’t have enough free space.\n\nMake more space available to expand the archive and then install Xcode %@ again to start installation from where it left off."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "संग्रह \"%@\" का विस्तार नहीं किया जा सकता क्योंकि वर्तमान वॉल्यूम में पर्याप्त रिक्त स्थान नहीं है.\n\nसंग्रह का विस्तार करने के लिए अधिक स्थान उपलब्ध कराएं और फिर Xcode %@ को फिर से स्थापित करें ताकि स्थापना वहीं से शुरू की जा सके जहां से इसे छोड़ा था।"; "InstallationError.FailedToMoveXcodeToApplications" = "Xcode को %@ निर्देशिका में ले जाने में विफल।"; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ निम्नलिखित आउटपुट के साथ अपने सुरक्षा मूल्यांकन में विफल रहा:\n%@\nयदि आप किसी भी तरह इसका उपयोग करना चाहते हैं तो यह %@ पर स्थापित रहता है।"; "InstallationError.CodesignVerifyFailed" = "डाउनलोड किया गया Xcode निम्नलिखित आउटपुट के साथ कोड हस्ताक्षर सत्यापन में विफल रहा:\n%@"; "InstallationError.UnexpectedCodeSigningIdentity" = "डाउनलोड किए गए Xcode में अपेक्षित कोड हस्ताक्षर पहचान नहीं है।\nमिला:\n%@\n%@\अपेक्षित:\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes (अभी तक) % @ फ़ाइल स्वरूप से Xcode स्थापित करने का समर्थन नहीं करता है।"; From 8ed69a97a1640ac1b8175e5374941264ea7113a6 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 9 May 2022 20:59:21 -0500 Subject: [PATCH 056/180] Update InstallationStepDescription using positional specifiers --- Xcodes/Resources/Licenses.rtf | 2 +- Xcodes/Resources/en.lproj/Localizable.strings | 4 +++- Xcodes/Resources/es.lproj/Localizable.strings | 4 +++- Xcodes/Resources/fr.lproj/Localizable.strings | 4 +++- Xcodes/Resources/ru.lproj/Localizable.strings | 4 +++- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Xcodes/Resources/Licenses.rtf b/Xcodes/Resources/Licenses.rtf index f2290ab..4800d6a 100644 --- a/Xcodes/Resources/Licenses.rtf +++ b/Xcodes/Resources/Licenses.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2580 +{\rtf1\ansi\ansicpg1252\cocoartf2638 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 15dad55..1d5a779 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -40,7 +40,9 @@ "NoXcodeSelected" = "No Xcode Selected"; // Installation Steps -"InstallationStepDescription" = "Step %d of %d: %@"; +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Step %1$d of %2$d: %3$@"; "DownloadingPercentDescription" = "Downloading: %d%% complete"; "StopInstallation" = "Stop installation"; "DownloadingError" = "No download information found"; diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index 37234be..4c3a2fd 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -40,7 +40,9 @@ "NoXcodeSelected" = "No se ha seleccionado un Xcode"; // Installation Steps -"InstallationStepDescription" = "Paso %d de %d: %@"; +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Paso %1$d de %2$d: %3$@"; "DownloadingPercentDescription" = "Descargando: %d%% completado"; "StopInstallation" = "Detener Instalación"; "DownloadingError" = "No se encontró información de descarga"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index 1488374..62c8bad 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -40,7 +40,9 @@ "NoXcodeSelected" = "Aucun XCode Sélectionné"; // Installation Steps -"InstallationStepDescription" = "Étape %d de %d : %@"; +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Étape %1$d de %2$d: %3$@"; "DownloadingPercentDescription" = "Téléchargement: %d%% téléchargé"; "StopInstallation" = "Arrêter l'installation"; "DownloadingError" = "Aucune information de téléchargement trouvée"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index b0b6693..57ae018 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -39,7 +39,9 @@ "NoXcodeSelected" = "Xcode не выбран"; // Installation Steps -"InstallationStepDescription" = "Шаг %d из %d: %@"; +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Шаг %1$d из %2$d: %3$@"; "DownloadingPercentDescription" = "Скачивание: %d% завершено"; "StopInstallation" = "Остановить установку"; "DownloadingError" = "Информация о загрузке не найдена"; From dd99b9c611ac5aa40ec10842a5d9ec9971405852 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 9 May 2022 21:00:21 -0500 Subject: [PATCH 057/180] Merge from main --- Xcodes/Resources/hi.lproj/Localizable.strings | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index d984a21..f3b5a61 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -39,6 +39,8 @@ "NoXcodeSelected" = "कोई Xcode चयनित नहीं"; // Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" "InstallationStepDescription" = "%d: %@ का चरण %d"; "DownloadingPercentDescription" = "डाउनलोड: %d%% पूर्ण"; "StopInstallation" = "स्थापना रोकें"; From becc545efdeb13a2edd392560c9abee7c5992b9d Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 9 May 2022 21:57:48 -0500 Subject: [PATCH 058/180] Update Sparkle to 2.1 --- Xcodes.xcodeproj/project.pbxproj | 4 ++-- .../xcshareddata/swiftpm/Package.resolved | 4 ++-- .../Preferences/PreferencesView.swift | 2 ++ .../Preferences/UpdatesPreferencePane.swift | 22 +++++++++++++------ Xcodes/Resources/Licenses.rtf | 2 +- Xcodes/XcodesApp.swift | 14 +++++------- 6 files changed, 28 insertions(+), 20 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 980d9fc..23f728c 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -1412,8 +1412,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/sparkle-project/Sparkle/"; requirement = { - kind = exactVersion; - version = "1.24.0-spm"; + kind = upToNextMajorVersion; + minimumVersion = 2.0.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/Xcodes.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Xcodes.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index c92db7b..58f4e08 100644 --- a/Xcodes.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Xcodes.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -60,8 +60,8 @@ "repositoryURL": "https://github.com/sparkle-project/Sparkle/", "state": { "branch": null, - "revision": "891afd44c7075e699924ed9b81d8dc94a5111dfd", - "version": "1.24.0-spm" + "revision": "286edd1fa22505a9e54d170e9fd07d775ea233f2", + "version": "2.1.0" } }, { diff --git a/Xcodes/Frontend/Preferences/PreferencesView.swift b/Xcodes/Frontend/Preferences/PreferencesView.swift index 8b773e8..5f6dc42 100644 --- a/Xcodes/Frontend/Preferences/PreferencesView.swift +++ b/Xcodes/Frontend/Preferences/PreferencesView.swift @@ -5,6 +5,7 @@ struct PreferencesView: View { case general, updates, advanced, experiment } @EnvironmentObject var appState: AppState + @EnvironmentObject var updater: ObservableUpdater var body: some View { TabView { @@ -15,6 +16,7 @@ struct PreferencesView: View { } .tag(Tabs.general) UpdatesPreferencePane() + .environmentObject(updater) .tabItem { Label("Updates", systemImage: "arrow.triangle.2.circlepath.circle") } diff --git a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift index e94274b..5e3db80 100644 --- a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift @@ -3,7 +3,7 @@ import Sparkle import SwiftUI struct UpdatesPreferencePane: View { - @StateObject var updater = ObservableUpdater() + @EnvironmentObject var updater: ObservableUpdater @AppStorage("autoInstallation") var autoInstallationType: AutoInstallationType = .none @@ -41,7 +41,7 @@ struct UpdatesPreferencePane: View { ) Button("CheckNow") { - SUUpdater.shared()?.checkForUpdates(nil) + updater.checkForUpdates() } Text(String(format: localizeString("LastChecked"), lastUpdatedString)) @@ -69,9 +69,11 @@ struct UpdatesPreferencePane: View { } class ObservableUpdater: ObservableObject { + private let updater: SPUUpdater + @Published var automaticallyChecksForUpdates = false { didSet { - SUUpdater.shared()?.automaticallyChecksForUpdates = automaticallyChecksForUpdates + updater.automaticallyChecksForUpdates = automaticallyChecksForUpdates } } private var automaticallyChecksForUpdatesObservation: NSKeyValueObservation? @@ -82,15 +84,17 @@ class ObservableUpdater: ObservableObject { UserDefaults.standard.setValue(includePrereleaseVersions, forKey: "includePrereleaseVersions") if includePrereleaseVersions { - SUUpdater.shared()?.feedURL = .prereleaseAppcast + updater.setFeedURL(.prereleaseAppcast) } else { - SUUpdater.shared()?.feedURL = .appcast + updater.setFeedURL(.appcast) } } } init() { - automaticallyChecksForUpdatesObservation = SUUpdater.shared()?.observe( + updater = SPUStandardUpdaterController(startingUpdater: true, updaterDelegate: nil, userDriverDelegate: nil).updater + + automaticallyChecksForUpdatesObservation = updater.observe( \.automaticallyChecksForUpdates, options: [.initial, .new, .old], changeHandler: { [unowned self] updater, change in @@ -98,7 +102,7 @@ class ObservableUpdater: ObservableObject { self.automaticallyChecksForUpdates = updater.automaticallyChecksForUpdates } ) - lastUpdateCheckDateObservation = SUUpdater.shared()?.observe( + lastUpdateCheckDateObservation = updater.observe( \.lastUpdateCheckDate, options: [.initial, .new, .old], changeHandler: { [unowned self] updater, change in @@ -107,6 +111,10 @@ class ObservableUpdater: ObservableObject { ) includePrereleaseVersions = UserDefaults.standard.bool(forKey: "includePrereleaseVersions") } + + func checkForUpdates() { + updater.checkForUpdates() + } } extension URL { diff --git a/Xcodes/Resources/Licenses.rtf b/Xcodes/Resources/Licenses.rtf index 4800d6a..68f9b51 100644 --- a/Xcodes/Resources/Licenses.rtf +++ b/Xcodes/Resources/Licenses.rtf @@ -402,7 +402,7 @@ bspatch.c and bsdiff.c, from bsdiff 4.3 :\ sais.c and sais.c, from sais-lite (2010/08/07) :\ Copyright (c) 2008-2010 Yuta Mori.\ \ -SUDSAVerifier.m:\ +SUSignatureVerifier.m:\ Copyright (c) 2011 Mark Hamlin.\ \ All rights reserved.\ diff --git a/Xcodes/XcodesApp.swift b/Xcodes/XcodesApp.swift index cfdb3af..76fb1a3 100644 --- a/Xcodes/XcodesApp.swift +++ b/Xcodes/XcodesApp.swift @@ -8,11 +8,13 @@ struct XcodesApp: App { @SwiftUI.Environment(\.scenePhase) private var scenePhase: ScenePhase @SwiftUI.Environment(\.openURL) var openURL: OpenURLAction @StateObject private var appState = AppState() - + @StateObject private var updater = ObservableUpdater() + var body: some Scene { WindowGroup("Xcodes") { MainWindow() .environmentObject(appState) + .environmentObject(updater) // This is intentionally used on a View, and not on a WindowGroup, // so that it's triggered when an individual window's phase changes instead of all window phases. // When used on a View it's also invoked on launch, which doesn't occur with a WindowGroup. @@ -32,7 +34,7 @@ struct XcodesApp: App { } CommandGroup(after: .appInfo) { Button("Menu.CheckForUpdates") { - appDelegate.checkForUpdates() + updater.checkForUpdates() } } @@ -69,6 +71,7 @@ struct XcodesApp: App { Settings { PreferencesView() .environmentObject(appState) + .environmentObject(updater) } #endif } @@ -112,13 +115,8 @@ class AppDelegate: NSObject, NSApplicationDelegate { acknowledgementsWindow.makeKeyAndOrderFront(nil) } - func checkForUpdates() { - SUUpdater.shared()?.checkForUpdates(self) - } - func applicationDidFinishLaunching(_ notification: Notification) { - // Initialize manually - SUUpdater.shared() + } } From 050cf98660cd7b2c651d4e8f82ca9d4b493aae85 Mon Sep 17 00:00:00 2001 From: Gurpreet Kaur <49320239+KGurpreet@users.noreply.github.com> Date: Tue, 10 May 2022 10:24:26 -0700 Subject: [PATCH 059/180] Updated Hindi Localizable.strings file Updated installation steps translation to retain positional specifier --- Xcodes/Resources/hi.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index f3b5a61..36f8bcc 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -41,7 +41,7 @@ // Installation Steps // When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" // So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" -"InstallationStepDescription" = "%d: %@ का चरण %d"; +"InstallationStepDescription" = "स्टेप %d, %d में से: %@"; "DownloadingPercentDescription" = "डाउनलोड: %d%% पूर्ण"; "StopInstallation" = "स्थापना रोकें"; "DownloadingError" = "कोई डाउनलोड जानकारी नहीं मिली"; From 0b03ee98ef6114394117a5e97b0844c12020b5ef Mon Sep 17 00:00:00 2001 From: Gurpreet Kaur <49320239+KGurpreet@users.noreply.github.com> Date: Tue, 10 May 2022 11:29:14 -0700 Subject: [PATCH 060/180] Updated Hindi localizable.strings file Added $ to retain positional specifier in Hindi localizable.strings file --- Xcodes/Resources/hi.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index 36f8bcc..9cd6011 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -41,7 +41,7 @@ // Installation Steps // When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" // So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" -"InstallationStepDescription" = "स्टेप %d, %d में से: %@"; +"InstallationStepDescription" = "%2$d का स्टेप %1$d: %3$@"; "DownloadingPercentDescription" = "डाउनलोड: %d%% पूर्ण"; "StopInstallation" = "स्थापना रोकें"; "DownloadingError" = "कोई डाउनलोड जानकारी नहीं मिली"; From 8b9a21ec745e3a229f3a888170479d92fe73908c Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 12 May 2022 13:34:08 -0500 Subject: [PATCH 061/180] Bump version 1.5 Signed-off-by: Matt Kiazyk --- Xcodes.xcodeproj/project.pbxproj | 28 ++++++++++++++-------------- Xcodes/Resources/Info.plist | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 9f6cdd2..3198f2b 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -96,7 +96,6 @@ CAFBDC4E2599B33D003DCC5A /* MainToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFBDC4D2599B33D003DCC5A /* MainToolbar.swift */; }; CAFBDC68259A308B003DCC5A /* InfoPane.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFBDC67259A308B003DCC5A /* InfoPane.swift */; }; CAFBDC6C259A3098003DCC5A /* View+Conditional.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFBDC6B259A3098003DCC5A /* View+Conditional.swift */; }; - CAFE4A9A25B7C7A30064FE51 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = CAFE4A9925B7C7A30064FE51 /* Sparkle */; }; CAFE4AAC25B7D2C70064FE51 /* GeneralPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFE4AAB25B7D2C70064FE51 /* GeneralPreferencePane.swift */; }; CAFE4AB425B7D3AF0064FE51 /* AdvancedPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFE4AB325B7D3AF0064FE51 /* AdvancedPreferencePane.swift */; }; CAFE4ABC25B7D54B0064FE51 /* UpdatesPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFE4ABB25B7D54B0064FE51 /* UpdatesPreferencePane.swift */; }; @@ -111,6 +110,7 @@ E8DA461125FAF7FB002E85EF /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8DA461025FAF7FB002E85EF /* NotificationsView.swift */; }; E8E98A9025D8631800EC89A0 /* InstallationStepRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFBC3FF259AC17F00E2A3D8 /* InstallationStepRowView.swift */; }; E8E98A9625D863D700EC89A0 /* InstallationStepDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E98A9525D863D700EC89A0 /* InstallationStepDetailView.swift */; }; + E8F81FC4282D8A17006CBD0F /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = E8F81FC3282D8A17006CBD0F /* Sparkle */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -301,7 +301,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CAFE4A9A25B7C7A30064FE51 /* Sparkle in Frameworks */, + E8F81FC4282D8A17006CBD0F /* Sparkle in Frameworks */, CABFA9E42592F08E00380FEE /* Version in Frameworks */, CABFA9FD2592F13300380FEE /* LegibleError in Frameworks */, CA9FF86D25951C6E00E47BAF /* XCModel in Frameworks */, @@ -637,7 +637,7 @@ CABFA9FC2592F13300380FEE /* LegibleError */, CA9FF86C25951C6E00E47BAF /* XCModel */, CAA858CC25A3D8BC00ACF8C0 /* ErrorHandling */, - CAFE4A9925B7C7A30064FE51 /* Sparkle */, + E8F81FC3282D8A17006CBD0F /* Sparkle */, ); productName = XcodesMac; productReference = CAD2E79E2449574E00113D76 /* Xcodes.app */; @@ -708,7 +708,7 @@ CA9FF86B25951C6E00E47BAF /* XCRemoteSwiftPackageReference "data" */, CAA858CB25A3D8BC00ACF8C0 /* XCRemoteSwiftPackageReference "ErrorHandling" */, CAC28186259EE27200B8AB0B /* XCRemoteSwiftPackageReference "CombineExpectations" */, - CAFE4A9825B7C7A30064FE51 /* XCRemoteSwiftPackageReference "Sparkle" */, + E8F81FC2282D8A17006CBD0F /* XCRemoteSwiftPackageReference "Sparkle" */, ); productRefGroup = CAD2E79F2449574E00113D76 /* Products */; projectDirPath = ""; @@ -977,7 +977,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 12; + CURRENT_PROJECT_VERSION = 13; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -987,7 +987,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.4.0; + MARKETING_VERSION = 1.5.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1218,7 +1218,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 12; + CURRENT_PROJECT_VERSION = 13; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1228,7 +1228,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.4.0; + MARKETING_VERSION = 1.5.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1242,7 +1242,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 12; + CURRENT_PROJECT_VERSION = 13; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1252,7 +1252,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.4.0; + MARKETING_VERSION = 1.5.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1411,9 +1411,9 @@ minimumVersion = 0.6.0; }; }; - CAFE4A9825B7C7A30064FE51 /* XCRemoteSwiftPackageReference "Sparkle" */ = { + E8F81FC2282D8A17006CBD0F /* XCRemoteSwiftPackageReference "Sparkle" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/sparkle-project/Sparkle/"; + repositoryURL = "https://github.com/sparkle-project/Sparkle"; requirement = { kind = upToNextMajorVersion; minimumVersion = 2.0.0; @@ -1466,9 +1466,9 @@ package = CAC28186259EE27200B8AB0B /* XCRemoteSwiftPackageReference "CombineExpectations" */; productName = CombineExpectations; }; - CAFE4A9925B7C7A30064FE51 /* Sparkle */ = { + E8F81FC3282D8A17006CBD0F /* Sparkle */ = { isa = XCSwiftPackageProductDependency; - package = CAFE4A9825B7C7A30064FE51 /* XCRemoteSwiftPackageReference "Sparkle" */; + package = E8F81FC2282D8A17006CBD0F /* XCRemoteSwiftPackageReference "Sparkle" */; productName = Sparkle; }; /* End XCSwiftPackageProductDependency section */ diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index 58e8717..ab164eb 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - $(CURRENT_PROJECT_VERSION) + 13 CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion From a4349ee540ac1754866bb1876005dc3fa84064a3 Mon Sep 17 00:00:00 2001 From: Ege Sucu Date: Fri, 13 May 2022 19:26:56 +0300 Subject: [PATCH 062/180] added turkish language as an option --- Xcodes.xcodeproj/project.pbxproj | 3 + Xcodes/Resources/tr.lproj/Localizable.strings | 218 ++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 Xcodes/Resources/tr.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 3198f2b..29134bd 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -173,6 +173,7 @@ 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; + 9D3C3AF7282EBE3300CB0D37 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = ""; }; @@ -697,6 +698,7 @@ fr, ru, es, + tr, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -899,6 +901,7 @@ B648F22B2810C1130096781B /* fr */, 4A5AAA1D28118FAD00528958 /* ru */, 58F743C02810A34900EEC0F3 /* es */, + 9D3C3AF7282EBE3300CB0D37 /* tr */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings new file mode 100644 index 0000000..a20ec0d --- /dev/null +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "Xcodes Hakkında"; +"Menu.CheckForUpdates" = "Güncellemeleri Denetle..."; +"Menu.Acknowledgements" = "Xcodes Teşekkür"; +"Menu.GitHubRepo" = "Xcodes GitHub Repo"; +"Menu.ReportABug" = "Bir Sorun Bildir"; +"Menu.RequestNewFeature" = "Yeni Özellik Talep Et"; + +// Common +"Install" = "Yükle"; +"InstallDescription" = "Bu sürümü indir"; +"RevealInFinder" = "Finder'da Görüntüle"; +"Active" = "Aktif"; +"MakeActive" = "Etkinleştir"; +"Open" = "Aç"; +"OpenDescription" = "Bu sürümü aç"; +"CopyPath" = "Yolu Kopyala"; +"CreateSymLink" = "Xcode.app olarak sembolik link yarat"; +"Uninstall" = "Kaldır"; +"Selected" = "Seçili"; +"Select" = "Seç"; +"Cancel" = "İptal Et"; +"Next" = "Sonraki"; +"Continue" = "Devam Et"; +"Close" = "Kapat"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Benzer Yapılar"; +"IdenticalBuilds.help" = " Bazen prerelase ve release sürümleri aynı yapı üzerindedir. Xcodes bu sürümleri birarada gösterecektir."; + +"ReleaseDate" = "Yayınlanma Tarihi"; +"ReleaseNotes" = "Yayınlanma Notları"; +"ReleaseNotes.help" = "Yayınlanma Notlarını Görüntüle"; +"Compatibility" = "Uyumluluk"; +"MacOSRequirement" = "macOS %@ veya sonrasını gerektirir"; +"SDKs" = "SDKler"; +"Compilers" = "Derleyiciler"; +"DownloadSize" = "İndirme Boyutu"; +"NoXcodeSelected" = "Bir Xcode Seçilmedi"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Adım %1$d/%2$d: %3$@"; +"DownloadingPercentDescription" = "İndirme: %d%% tamamlandı"; +"StopInstallation" = "İndirmeyi durdur"; +"DownloadingError" = "İndirme bilgisi bulunamadı"; + +// About +"VersionWithBuild" = "Sürüm %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "Teşekkür"; +"UnxipExperiment" = "Tecrübeyi çıkart"; +"License" = "Lisans"; + +// General Preference Pane +"General" = "Genel"; +"AppleID" = "Apple ID"; +"SignIn" = "Giriş Yap"; +"Notifications" = "Bildirimler"; + +// Updates Preference Pane +"Updates" = "Güncellemeler"; +"Versions" = "Sürümler"; +"AutomaticInstallNewVersion" = "Xcode'un yeni versiyonlarını otomatik yükle"; +"IncludePreRelease" = "prerelease/beta sürümlerini dahil et"; +"AppUpdates" = "Xcodes.app Güncellemeleri"; +"CheckForAppUpdates" = "Uygulama güncellemelerini otomatik kontrol et"; +"CheckNow" = "Kontrol Et"; +"LastChecked" = "Son kontrol: %@"; +"Never" = "Daha Yeni"; + +// Advanced Preference Pane +"Advanced" = "Gelişmiş"; +"LocalCachePath" = "Lokal Önbellek Konumu"; +"LocalCachePathDescription" = "Xcodes, uygun Xcode sürümlerini ve geçici yeni indirilenleri bir klasörde önbelleğe alır"; +"Change" = "Değiştir"; +"Active/Select" = "Aktif/Seç"; +"AutomaticallyCreateSymbolicLink" = "Xcodes.app'in sembolik linkini otomatik oluştur."; +"AutomaticallyCreateSymbolicLinkDescription" = "Bir Xcode sürümünü Aktif/Seç yaparken Xcode.app ismindeki uygulamanın sembolik linkini yükleme klasörüne otomatik oluşturmayı dene"; +"DataSource" = "Veri Kaynağı"; +"DataSourceDescription" = "Apple veri kaynağı Apple'ın geliştirici sitesini inceliyor. Uygun olan en son sürümleri gösterir, ama biraz daha hassastır.\n\nXcode Releases, Xcode sürümlerinin bulunduğu resmi olmayan bir listedir. Data düzenli bir formata sahip bilgileri barındırır, Apple tarafında olmayan ek bilgileri içerir ve Apple'ın ileride sitesini değiştireceği için bozabileceği bir kaynak değildir."; +"Downloader" = "Yükleyici"; +"DownloaderDescription" = "aria2 16ya kadar bağlantı kullanarak Xcode'u URLSession'a göre 3-5 kat daha hızlı indirir. Çalıştırılabilir bir dosya olarak Bundle'a dahildir ve kaynak dosyaları GPLv2 lisansıyla uyumlu olması açısından Xcode içerisinde yer alır.\n\nURLSession Apple'ın URL istekleri oluşturmak için sunduğu varsayılan API'dır."; +"PrivilegedHelper" = "Ayrıcalıklı Yardımcı"; +"PrivilegedHelperDescription" ="Xcodes, root görevlerini yerine getirmek için bir Ayrıcalıklı yardımcı aracı kullanır. Bunlar komut satırındaki sudo gerektiren, yükleme sonrası adımlarını sağlayan ve Xcode sürümü değiştiren xcode-select gibi komutlardan ibarettir.\n\nBunu yüklemek için macOS hesap şifrenizi girmeniz istenecektir."; +"HelperInstalled" = "Yardımcı yüklendi"; +"HelperNotInstalled" = "Yardımcı yüklenmedi"; +"InstallHelper" = "Yardımcıyı yükle"; + +// Experiment Preference Pane +"Experiments" = "Deneyler"; +"FasterUnxip" = "Daha Hızlı Unxip"; +"UseUnxipExperiment" = "Unxip yaparken dene"; +"FasterUnxipDescription" = "@_saagarjha sayesinde bu deney bazı sistemlerde unxip sürecini %70'e kadar hızlandırabilir.\n\nBu işlemin nasıl yapıldığına dair ayrıntılara unxip repo .- https://github.com/saagarjha/unxip adresinden bakabilirsiniz"; + +// Notifications +"AccessGranted" = "Erişim Tanımlandı. Xcodes'dan bildirimler alacaksınız."; +"AccessDenied" = "⚠️ Erişim Reddedildi ⚠️\n\nEğer bildirimler için erişim vermek istiyorsanız lütfen bildirim ayarlarını açın ve Xcodes uygulamasını seçin."; +"NotificationSettings" = "Bildirim Ayarları"; +"EnableNotifications" = "Bildirimleri Etkinleştir"; + +// SignIn +"SignInWithApple" = "Apple ID ile Giriş Yap."; +"AppleID" = "AppleID:"; +"Password" = "Şifre:"; +"Required" = "Gerekli"; +"SignOut" = "Oturumu Kapat"; + +// SMS/2FA +"DigitCodeDescription" = "Güvenilir cihazından aldığın %d rakamlı kodu gir:"; +"SendSMS" = "SMS Gönder"; +"EnterDigitCodeDescription" = "%@ kaynağından gönderilen %d rakamlı kodu gir: "; +"SelectTrustedPhone" = "%d rakamlı kodu SMS olarak almak için güvenilir telefon numarasını seç:"; +"NoTrustedPhones" = "Hesabına tanımlı güvenli bir telefon numarası yok, fakat iki aşamalı doğrulama için gerekmektedir.\n\nDaha fazlası için https://support.apple.com/tr-tr/HT204915 adresine bakın."; + +// MainWindow +"UpdatedAt" = "Güncellenme Zamanı"; + +// ToolBar +"Login" = "Giriş"; +"LoginDescription" = "Girişi Aç"; +"Refresh" = "Yenile"; +"RefreshDescription" = "Xcode Listesini Yenile"; +"All" = "Tümü"; +"Release" = "Kararlı Sürüm"; +"ReleaseOnly" = "Yalnızca Kararlı Sürüm"; +"Beta" = "Beta"; +"BetaOnly" = "Yalnızca Beta"; +"Filter" = "Filtre"; +"FilterAvailableDescription" = "Uygun sürümleri filtrele"; +"FilterInstalledDescription" = "Yüklü sürümleri filtrele"; +"Info" = "Bilgi"; +"InfoDescription" = "Bilgi panelini göster ya da gizle"; +"Preferences" = "Tercihler"; +"PreferencesDescription" = "Tercihleri Aç"; +"Search" = "Ara..."; +"SearchDescription" = "Arama listesi"; + +// List +"ActiveVersionDescription" = "Bu aktif sürümdür"; +"MakeActiveVersionDescription" = "Bu sürümü aktif et"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Xcode %@ sürümünü Kaldır?"; +"Alert.Uninstall.Message" = "Uygulama Çöp Kutusuna taşınacaktır, fakat silinmeyecektir."; +"Alert.Uninstall.Error.Title" = "Xcode Kaldırılamadı"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Xcode %@ sürümünün yüklenmesini durdurmak istediğinize emin misiniz?"; +"Alert.CancelInstall.Message" = "Herhangi bir ilerleme göz ardı edilecektir."; +"Alert.CancelInstall.PrimaryButton" = "Yüklemeyi Durdur"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Ayrıcalıklı Yardımcı"; +"Alert.PrivilegedHelper.Message" = "Xcodes, root görevlerini yerine getirmek için bir Ayrıcalıklı yardımcı aracı kullanır. Bunlar komut satırındaki sudo gerektiren, yükleme sonrası adımlarını sağlayan ve Xcode sürümü değiştiren xcode-select gibi komutlardan ibarettir.\n\nBunu yüklemek için macOS hesap şifrenizi girmeniz istenecektir."; +"Alert.PrivilegedHelper.Error.Title" = "Yardımcı yüklenemedi"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Minimum gereksinimler karşılanamadı"; +"Alert.MinSupported.Message" = "Xcode %@ macOS %@ sürümünü gerektirir, fakat siz macOS %@ sürümünü kullanıyorsunuz, yine de indirmek istediğinize emin misiniz?"; + +// Install +"Alert.Install.Error.Title" = "Xcode yüklenemedi"; +"Alert.InstallArchive.Error.Title" = "Arşivlenmiş Xcode yüklenemedi."; + +// Update +"Alert.Update.Error.Title" = "Seçili Xcode güncellenemedi"; + +// Active/Select +"Alert.Select.Error.Title" = "Xcode seçilemedi"; + +// Symbolic Links +"Alert.SymLink.Title" = "Uygulama sembolik linki oluşturulamadı"; +"Alert.SymLink.Message" = "Xcode.app zaten var ve bir sembolik link değil"; + +// Post install +"Alert.PostInstall.Title" = "Yükleme aşamaları çalıştırılamadı"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "\"%@\" arşivi hasar görmüş ve açılamıyor."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "\"%@\" arşivi açılamıyor çünkü diskte yeterli alan bulunmuyor.\n\nArşivi açmak için daha fazla alan aç ve ondan sonra kaldığın yerden devam ederek Xcode %@ sürümünü tekrar kur."; +"InstallationError.FailedToMoveXcodeToApplications" = "Xcode %@ klasörüne taşınamadı."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ güvenlik görevlerini gerçekleştirirken şu hatayı verdi:\n%@\nYine de devam etmek isterseniz uygulama %@ konumunda bulunmaya devam ediyor."; +"InstallationError.CodesignVerifyFailed" = "İndirilmiş Xcode imza onayı işleminde şu hatayı verdi:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "İndirilmiş Xcode beklenilen imza kimliğine sahip değil.\nEldeki:\n%@\n%@\nBeklenen:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes henüz Xcodu %@ dosya formatında yüklemeye (henüz) izin vermiyor."; +"InstallationError.MissingSudoerPassword" = "Eksik şifre. Lütfen tekrar deneyin"; +"InstallationError.UnavailableVersion" = "%@ sürümü bulunamadı."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "prerelease olmayan sürümler yok."; +"InstallationError.NoPrereleaseVersionAvailable" = "prerelease sürümleri yok."; +"InstallationError.MissingUsernameOrPassword" = "Eksik kullanıcı adı veya şifre. Lütfen tekrar deneyin."; +"InstallationError.VersionAlreadyInstalled" = "%@ zaten %@ konumunda yüklü."; +"InstallationError.InvalidVersion" = "%@ geçerli bir sürüm numarası değil."; +"InstallationError.VersionNotInstalled" = "%@ yüklenmedi."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "İndirme tamamlandı, fakat bazı indirme sonrası aşamaları tamamlanamadı. Bunlar Xcode %@ uygulamasını ilk açtığınızda gerçekleşecek."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "İndirme tamamlandı, fakat bazı indirme sonrası aşamaları otomatik tamamlanamadı. Xcodes bu aşamaları bir ayrıcalıklı yardımcı aracı ile gerçekleştirir, ama bu araç yüklenmemiş gözüküyor. Yüklemek için Tercihler > Gelişmiş yolunu kullanabilirsiniz. \n\nBunlar Xcode %@ uygulamasını ilk açtığınızda gerçekleşecek."; + +// Installation Steps +"Downloading" = "İndiriliyor"; +"Unarchiving" = "Arşivden Çıkarılıyor (Bu biraz sürebilir)"; +"Moving" = "%@ Konumuna Taşınıyor"; +"TrashingArchive" = "Arşiv Çöp Kutusuna taşınıyor"; +"CheckingSecurity" = "Güvenlik doğrulaması"; +"Finishing" = "Tamamlanıyor"; + +// Notifications +"Notification.NewVersionAvailable" = "Yeni sürüm mevcut"; +"Notification.FinishedInstalling" = "İndirme tamamlandı"; + + +"HelperClient.error" = "Yardımcı araç ile iletişim kurulamadı."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Yeni Xcode sürümü"; +"Notification.NewXcodeVersion.Body" = "Yeni Xcode sürümleri indirmek için mevcut."; From 4204b42044640fea0dd150fe88baa83bd561e987 Mon Sep 17 00:00:00 2001 From: Jinyu Meng Date: Sun, 15 May 2022 02:02:12 +0900 Subject: [PATCH 063/180] Adding Chinese-Simplified localizations. Chinese-Simplified localization changes. Chinese-Simplified localization changes. Removed all spaces between Chinese and English. Because the OS will add these spaces automatically. Chinese-Simplified localization changes. --- Xcodes.xcodeproj/project.pbxproj | 3 + .../zh-Hans.lproj/Localizable.strings | 218 ++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 Xcodes/Resources/zh-Hans.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 3198f2b..3c0e68d 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -174,6 +174,7 @@ 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + C0AE7FA4283002DC00DA63D2 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = ""; }; CA25192925A9644800F08414 /* XcodeInstallState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeInstallState.swift; sourceTree = ""; }; @@ -697,6 +698,7 @@ fr, ru, es, + "zh-Hans", ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -899,6 +901,7 @@ B648F22B2810C1130096781B /* fr */, 4A5AAA1D28118FAD00528958 /* ru */, 58F743C02810A34900EEC0F3 /* es */, + C0AE7FA4283002DC00DA63D2 /* zh-Hans */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000..ee088ca --- /dev/null +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "关于Xcodes"; +"Menu.CheckForUpdates" = "检查更新…"; +"Menu.Acknowledgements" = "Xcodes版权声明"; +"Menu.GitHubRepo" = "Xcodes GitHub仓库"; +"Menu.ReportABug" = "反馈问题"; +"Menu.RequestNewFeature" = "建议新功能"; + +// Common +"Install" = "安装"; +"InstallDescription" = "安装此版本"; +"RevealInFinder" = "在访达中显示"; +"Active" = "已激活"; +"MakeActive" = "激活"; +"Open" = "打开"; +"OpenDescription" = "打开此版本"; +"CopyPath" = "复制文件位置"; +"CreateSymLink" = "以Xcode.app创建软链接"; +"Uninstall" = "卸载"; +"Selected" = "已选定"; +"Select" = "选定"; +"Cancel" = "取消"; +"Next" = "下一步"; +"Continue" = "继续"; +"Close" = "关闭"; +"OK" = "好"; + +// Info Pane +"IdenticalBuilds" = "重复版本"; +"IdenticalBuilds.help" = "有时预发布版本会与正式版使用相同的Build号。Xcodes会自动将这些版本显示为一个。"; + +"ReleaseDate" = "发布日期"; +"ReleaseNotes" = "更新说明"; +"ReleaseNotes.help" = "查看更新说明"; +"Compatibility" = "兼容性"; +"MacOSRequirement" = "需要macOS %@及以上"; +"SDKs" = "SDK"; +"Compilers" = "编译器"; +"DownloadSize" = "下载文件大小"; +"NoXcodeSelected" = "没有选定的Xcode版本"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "第%1$d步,共%2$d步:%3$@"; +"DownloadingPercentDescription" = "正在下载:已完成%d%%"; +"StopInstallation" = "停止安装"; +"DownloadingError" = "没有找到下载信息"; + +// About +"VersionWithBuild" = "版本%@ (%@)"; +"GithubRepo" = "GitHub仓库"; +"Acknowledgements" = "版权声明"; +"UnxipExperiment" = "Unxip Experiment"; +"License" = "许可协议"; + +// General Preference Pane +"General" = "通用"; +"AppleID" = "Apple ID"; +"SignIn" = "登录"; +"Notifications" = "通知"; + +// Updates Preference Pane +"Updates" = "更新"; +"Versions" = "版本"; +"AutomaticInstallNewVersion" = "自动安装最新的Xcode版本"; +"IncludePreRelease" = "包含预发布/测试版本"; +"AppUpdates" = "Xcodes.app更新"; +"CheckForAppUpdates" = "自动检查更新"; +"CheckNow" = "现在检查"; +"LastChecked" = "上次检查时间:%@"; +"Never" = "从未检查"; + +// Advanced Preference Pane +"Advanced" = "高级"; +"LocalCachePath" = "本地缓存位置"; +"LocalCachePathDescription" = "Xcodes会缓存可用的Xcode版本并暂时下载新版本到一个目录。"; +"Change" = "变更"; +"Active/Select" = "激活/选定"; +"AutomaticallyCreateSymbolicLink" = "自动创建名为Xcode.app的软连接"; +"AutomaticallyCreateSymbolicLinkDescription" = "当激活/选定某个Xcode版本时,尝试在安装目录创建一个名为Xcode.app的软链接。"; +"DataSource" = "数据源"; +"DataSourceDescription" = "Apple数据源是从Apple开发者网站爬取的。它会及时反应最新版本,但较为脆弱。\n\nXcode Releases是一个非官方的Xcode版本列表。它提供了良好格式化的数据,包含了不便从Apple直接获得的附加信息,且更不容易在Apple开发者网站无法访问时出现问题。"; +"Downloader" = "下载器"; +"DownloaderDescription" = "aria2使用最高16线程,能提供3至5倍的下载速度。它与它的源代码被一同打包在Xcodes中以符合GPLv2授权。\n\nURLSession是用于发起URL请求的默认Apple API。"; +"PrivilegedHelper" = "提权帮助程序"; +"PrivilegedHelperDescription" = "Xcodes使用一个独立的提权帮助程序来以root身份执行任务。就是那些需要在命令行中用sudo执行的命令。包括一些安装前置步骤以及用xcode-select切换 Xcode 版本。\n\n您需要提供当前用户的密码来安装它。"; +"HelperInstalled" = "帮助程序已安装"; +"HelperNotInstalled" = "帮助程序未安装"; +"InstallHelper" = "安装帮助程序"; + +// Experiment Preference Pane +"Experiments" = "实验性功能"; +"FasterUnxip" = "更快的xip解压"; +"UseUnxipExperiment" = "使用实验性功能解压xip"; +"FasterUnxipDescription" = "感谢@_saagarjha,此实验性功能可在部分系统上将xip解压速度提高70%。\n\n请从此仓库获取关于其实现细节的信息:https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "已授权。您将会收到Xcodes的通知。"; +"AccessDenied" = "⚠️ 没有权限 ⚠️\n\n请打开您的通知偏好设置并允许Xcodes发送通知。"; +"NotificationSettings" = "通知设置"; +"EnableNotifications" = "启用通知"; + +// SignIn +"SignInWithApple" = "使用您的Apple ID登录。"; +"AppleID" = "Apple ID:"; +"Password" = "密码:"; +"Required" = "必填"; +"SignOut" = "登出"; + +// SMS/2FA +"DigitCodeDescription" = "请输入从信任的设备接收到的%d位代码:"; +"SendSMS" = "发送短信"; +"EnterDigitCodeDescription" = "请输入发送到%@的%d位代码:"; +"SelectTrustedPhone" = "请选择一个信任的手机号来从短信接收%d位代码:"; +"NoTrustedPhones" = "您的账户没有任何信任的手机号,但这是两步验证所必须的。\n\n请参阅 https://support.apple.com/en-ca/HT204915。"; + +// MainWindow +"UpdatedAt" = "更新于"; + +// ToolBar +"Login" = "登录"; +"LoginDescription" = "打开登录窗口"; +"Refresh" = "刷新"; +"RefreshDescription" = "刷新Xcode列表"; +"All" = "全部"; +"Release" = "正式版"; +"ReleaseOnly" = "只显示正式版"; +"Beta" = "测试版"; +"BetaOnly" = "只显示测试版"; +"Filter" = "过滤"; +"FilterAvailableDescription" = "过滤可用版本"; +"FilterInstalledDescription" = "过滤已安装版本"; +"Info" = "信息"; +"InfoDescription" = "显示或隐藏信息面板"; +"Preferences" = "偏好设置"; +"PreferencesDescription" = "打开偏好设置"; +"Search" = "搜索…"; +"SearchDescription" = "搜索列表"; + +// List +"ActiveVersionDescription" = "这是一个已激活的版本"; +"MakeActiveVersionDescription" = "激活此版本"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "要卸载Xcode %@吗?"; +"Alert.Uninstall.Message" = "它会被移动到废纸篓,但废纸篓不会清空。"; +"Alert.Uninstall.Error.Title" = "无法卸载Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "您确定要终止Xcode %@的安装吗?"; +"Alert.CancelInstall.Message" = "所有进度都将会丢失。"; +"Alert.CancelInstall.PrimaryButton" = "终止安装"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "提权帮助程序"; +"Alert.PrivilegedHelper.Message" = "Xcodes使用一个独立的提权帮助程序来以root身份执行任务。就是那些需要在命令行中用sudo执行的命令。包括安装前置步骤以及用xcode-select切换Xcode版本。\n\n您需要提供当前用户的密码来安装它。"; +"Alert.PrivilegedHelper.Error.Title" = "无法安装帮助程序"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "没有达到安装所需的最低要求"; +"Alert.MinSupported.Message" = "Xcode %@需要macOS %@及以上,但您运行的是macOS %@,仍然要安装吗?"; + +// Install +"Alert.Install.Error.Title" = "无法安装Xcode"; +"Alert.InstallArchive.Error.Title" = "无法安装Xcode压缩文件"; + +// Update +"Alert.Update.Error.Title" = "无法更新选定的Xcode版本"; + +// Active/Select +"Alert.Select.Error.Title" = "无法选定Xcode版本"; + +// Symbolic Links +"Alert.SymLink.Title" = "无法创建软链接"; +"Alert.SymLink.Message" = "Xcode.app已存在且不是软连接"; + +// Post install +"Alert.PostInstall.Title" = "无法执行安装前置步骤"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "此压缩文件“%@”已损坏且无法解压。"; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "此压缩文件“%@”无法解压因为当前宗卷没有足够的可用空间。\n\n请空出更多空间并再次安装Xcode %@以从失败处继续。"; +"InstallationError.FailedToMoveXcodeToApplications" = "无法将Xcode移动到目录%@。"; +"InstallationError.FailedSecurityAssessment" = "Xcode %@无法完成安全评估,并输出如下:\n%@\n但它依然被安装到了%@如果您依然想使用它的话。"; +"InstallationError.CodesignVerifyFailed" = "无法验证下载的Xcode版本的代码签名,并输出如下:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "下载的Xcode版本不包含期望的代码签名身份。\n读取到:\n%@\n%@\期望是:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes尚未支持从%@格式安装。"; +"InstallationError.MissingSudoerPassword" = "缺少密码。请再试一次。"; +"InstallationError.UnavailableVersion" = "无法找到版本%@。"; +"InstallationError.NoNonPrereleaseVersionAvailable" = "没有非预发布版以外的其他可用版本。"; +"InstallationError.NoPrereleaseVersionAvailable" = "没有可用的预发布版本。"; +"InstallationError.MissingUsernameOrPassword" = "缺少用户名或密码。请再试一次。"; +"InstallationError.VersionAlreadyInstalled" = "%@已经被安装到%@"; +"InstallationError.InvalidVersion" = "%@不是一个正确的版本。"; +"InstallationError.VersionNotInstalled" = "%@没有被安装。"; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "安装已完成,但一些前置步骤没有被自动执行。它们将会在您第一次运行Xcode %@时执行。"; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "安装已完成,但一些前置步骤没有被自动执行。Xcodes使用一个提权帮助程序来执行这些步骤,但帮助程序似乎没有被安装。您可以从 偏好设置 > 高级 中安装。\n\n这些步骤将会在您第一次运行Xcode %@时执行。"; + +// Installation Steps +"Downloading" = "正在下载"; +"Unarchiving" = "正在解压(这将需要一些时间)"; +"Moving" = "正在移动到%@"; +"TrashingArchive" = "正在将压缩文件移动到废纸篓"; +"CheckingSecurity" = "正在检查安全性"; +"Finishing" = "正在完成"; + +// Notifications +"Notification.NewVersionAvailable" = "新版本可用"; +"Notification.FinishedInstalling" = "安装完成"; + + +"HelperClient.error" = "无法与提权帮助程序通信。"; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "新Xcode版本可用"; +"Notification.NewXcodeVersion.Body" = "新的Xcode版本已经可以下载。"; From 2abae033eac00deaccf75fc7bf228e61ad873890 Mon Sep 17 00:00:00 2001 From: Jinyu Meng Date: Sun, 15 May 2022 15:43:11 +0900 Subject: [PATCH 064/180] Fix a small problem in English strings. --- Xcodes/Resources/en.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 1d5a779..6030e0c 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -77,7 +77,7 @@ "LocalCachePathDescription" = "Xcodes caches available Xcode versions and temporary downloads new versions to a directory"; "Change" = "Change"; "Active/Select" = "Active/Select"; -"AutomaticallyCreateSymbolicLink" = "Automatically create symbolic link to Xcodes.app"; +"AutomaticallyCreateSymbolicLink" = "Automatically create symbolic link to Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "When making an Xcode version Active/Selected, try and create a symbolic link named Xcode.app in the installation directory"; "DataSource" = "Data Source"; "DataSourceDescription" = "The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; From 3a0e06ded251faa3333474d5ed03639a6183ca0d Mon Sep 17 00:00:00 2001 From: Jinyu Meng Date: Mon, 16 May 2022 01:25:45 +0900 Subject: [PATCH 065/180] Chinese-Simplified localization changes. --- Xcodes/Resources/zh-Hans.lproj/Localizable.strings | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index ee088ca..9bd86a6 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -84,7 +84,7 @@ "Downloader" = "下载器"; "DownloaderDescription" = "aria2使用最高16线程,能提供3至5倍的下载速度。它与它的源代码被一同打包在Xcodes中以符合GPLv2授权。\n\nURLSession是用于发起URL请求的默认Apple API。"; "PrivilegedHelper" = "提权帮助程序"; -"PrivilegedHelperDescription" = "Xcodes使用一个独立的提权帮助程序来以root身份执行任务。就是那些需要在命令行中用sudo执行的命令。包括一些安装前置步骤以及用xcode-select切换 Xcode 版本。\n\n您需要提供当前用户的密码来安装它。"; +"PrivilegedHelperDescription" = "Xcodes使用一个独立的提权帮助程序来以root身份执行任务。就是那些需要在命令行中用sudo执行的命令。包括一些安装前置步骤以及用xcode-select切换Xcode版本。\n\n您需要提供当前用户的密码来安装它。"; "HelperInstalled" = "帮助程序已安装"; "HelperNotInstalled" = "帮助程序未安装"; "InstallHelper" = "安装帮助程序"; @@ -111,7 +111,7 @@ // SMS/2FA "DigitCodeDescription" = "请输入从信任的设备接收到的%d位代码:"; "SendSMS" = "发送短信"; -"EnterDigitCodeDescription" = "请输入发送到%@的%d位代码:"; +"EnterDigitCodeDescription" = "请输入%d位代码,已发送到%@:"; "SelectTrustedPhone" = "请选择一个信任的手机号来从短信接收%d位代码:"; "NoTrustedPhones" = "您的账户没有任何信任的手机号,但这是两步验证所必须的。\n\n请参阅 https://support.apple.com/en-ca/HT204915。"; @@ -185,7 +185,7 @@ "InstallationError.FailedToMoveXcodeToApplications" = "无法将Xcode移动到目录%@。"; "InstallationError.FailedSecurityAssessment" = "Xcode %@无法完成安全评估,并输出如下:\n%@\n但它依然被安装到了%@如果您依然想使用它的话。"; "InstallationError.CodesignVerifyFailed" = "无法验证下载的Xcode版本的代码签名,并输出如下:\n%@"; -"InstallationError.UnexpectedCodeSigningIdentity" = "下载的Xcode版本不包含期望的代码签名身份。\n读取到:\n%@\n%@\期望是:\n%@\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "下载的Xcode版本不包含期望的代码签名身份。\n读取到:\n%@\n%@\n期望是:\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes尚未支持从%@格式安装。"; "InstallationError.MissingSudoerPassword" = "缺少密码。请再试一次。"; "InstallationError.UnavailableVersion" = "无法找到版本%@。"; From 37c8d17716afffbe0807a879f9c04114b0d5d93b Mon Sep 17 00:00:00 2001 From: Jinyu Meng Date: Sat, 21 May 2022 21:31:12 +0900 Subject: [PATCH 066/180] Fix same typo in other languages. --- Xcodes/Resources/es.lproj/Localizable.strings | 2 +- Xcodes/Resources/fr.lproj/Localizable.strings | 2 +- Xcodes/Resources/hi.lproj/Localizable.strings | 2 +- Xcodes/Resources/ru.lproj/Localizable.strings | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index 4c3a2fd..3b99cdd 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -77,7 +77,7 @@ "LocalCachePathDescription" = "Xcodes almacena en caché versiones de Xcode disponibles y descargas temporalmente las nuevas versiones en un directorio"; "Change" = "Cambiar"; "Active/Select" = "Activar/Seleccionar"; -"AutomaticallyCreateSymbolicLink" = "Crear automáticamente enlace simbólico a Xcodes.app"; +"AutomaticallyCreateSymbolicLink" = "Crear automáticamente enlace simbólico a Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Al activar/seleccionar una versión de Xcode, intentará crear un enlace simbólico llamado Xcode.app en el directorio de instalación."; "DataSource" = "Fuente de datos"; "DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nXcode Releases es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index 62c8bad..d09e546 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -77,7 +77,7 @@ "LocalCachePathDescription" = "Xcodes met en cache les versions de Xcode disponibles et télécharge temporairement les nouvelles versions dans le répertoire de cache local"; "Change" = "Changer"; "Active/Select" = "Activer/Sélectionner"; -"AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcodes.app"; +"AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Lorsque vous activez/sélectionnez une version de Xcode, essayez de créer un lien symbolique nommé Xcode.app dans le répertoire d'installation"; "DataSource" = "Source de Données"; "DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index 9cd6011..ca587d5 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -76,7 +76,7 @@ "LocalCachePathDescription" = "Xcodes उपलब्ध Xcode संस्करणों को कैश करता है और एक निर्देशिका में अस्थायी रूप से नए संस्करण डाउनलोड करता है"; "Change" = "परिवर्तन"; "Active/Select" = "सक्रिय/चयन"; -"AutomaticallyCreateSymbolicLink" = "Xcodes.app के लिए स्वचालित रूप से प्रतीकात्मक लिंक बनाएं"; +"AutomaticallyCreateSymbolicLink" = "Xcode.app के लिए स्वचालित रूप से प्रतीकात्मक लिंक बनाएं"; "AutomaticallyCreateSymbolicLinkDescription" = "Xcode संस्करण को सक्रिय/चयनित बनाते समय, स्थापना निर्देशिका में Xcode.app नामक एक प्रतीकात्मक लिंक बनाने का प्रयास करें"; "DataSource" = "डेटा स्रोत"; "DataSourceDescription" = "Apple डेटा स्रोत Apple डेवलपर वेबसाइट को स्क्रैप करता है। यह हमेशा नवीनतम रिलीज दिखाएगा जो उपलब्ध हैं, लेकिन अधिक नाजुक है।\n\nXcode Releases Xcode रिलीज़ की एक अनौपचारिक सूची है। यह सुव्यवस्थित डेटा के रूप में प्रदान किया जाता है, इसमें अतिरिक्त जानकारी होती है जो Apple से आसानी से उपलब्ध नहीं होती है, और यदि Apple अपनी डेवलपर वेबसाइट को फिर से डिज़ाइन करता है तो इसके टूटने की संभावना कम होती है।"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index 57ae018..e45ff7a 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -76,7 +76,7 @@ "LocalCachePathDescription" = "Xcodes кэширует доступные версии Xcode и временно загружает новые версии в директорию"; "Change" = "Изменить"; "Active/Select" = "Активировать/Выбрать"; -"AutomaticallyCreateSymbolicLink" = "Автоматически сосдавит символическую ссылку к Xcodes.app"; +"AutomaticallyCreateSymbolicLink" = "Автоматически сосдавит символическую ссылку к Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Когда вы делаете версию Xcode активной/выбранной, попробуйте создать символическую ссылку с именем Xcode.app в директорию установки"; "DataSource" = "Источник данных"; "DataSourceDescription" = "Источник данных Apple очищает веб-сайт Apple Developer. Он всегда показывает последние доступные выпуски, но является более уязвимым.\n\nXcode Releases — это неофициальный список выпусков Xcode. Он предоставляется в виде правильно сформированных данных, содержит дополнительные информация, которую Apple не всегда может получить от Apple и которая с меньшей вероятностью будет повреждена, если Apple изменит дизайн своего веб-сайта для разработчиков."; From 7ae8f4211d23a89e11a893b06273d7e169b52762 Mon Sep 17 00:00:00 2001 From: ryan-son Date: Sun, 22 May 2022 09:40:50 +0900 Subject: [PATCH 067/180] Add Korean Localization --- Xcodes.xcodeproj/project.pbxproj | 3 + Xcodes/Resources/ko.lproj/Localizable.strings | 218 ++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 Xcodes/Resources/ko.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 29134bd..668e710 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -174,6 +174,7 @@ 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; 9D3C3AF7282EBE3300CB0D37 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + AAB037D32839BD4700017680 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = ""; }; @@ -699,6 +700,7 @@ ru, es, tr, + ko, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -902,6 +904,7 @@ 4A5AAA1D28118FAD00528958 /* ru */, 58F743C02810A34900EEC0F3 /* es */, 9D3C3AF7282EBE3300CB0D37 /* tr */, + AAB037D32839BD4700017680 /* ko */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/ko.lproj/Localizable.strings b/Xcodes/Resources/ko.lproj/Localizable.strings new file mode 100644 index 0000000..3c22f61 --- /dev/null +++ b/Xcodes/Resources/ko.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "Xcodes 정보"; +"Menu.CheckForUpdates" = "업데이트 확인..."; +"Menu.Acknowledgements" = "Xcodes 법적고지"; +"Menu.GitHubRepo" = "Xcodes GitHub 저장소"; +"Menu.ReportABug" = "버그 제보하기"; +"Menu.RequestNewFeature" = "새로운 기능 요청하기"; + +// Common +"Install" = "설치"; +"InstallDescription" = "이 버전 설치하기"; +"RevealInFinder" = "Finder에서 보기"; +"Active" = "기본 버전으로 사용 중"; +"MakeActive" = "기본 버전으로 만들기"; +"Open" = "열기"; +"OpenDescription" = "이 버전 열기"; +"CopyPath" = "경로 복사하기"; +"CreateSymLink" = "Xcode.app과 같은 Symlink 만들기"; +"Uninstall" = "제거"; +"Selected" = "선택됨"; +"Select" = "선택"; +"Cancel" = "취소"; +"Next" = "다음"; +"Continue" = "계속하기"; +"Close" = "닫기"; +"OK" = "확인"; + +// Info Pane +"IdenticalBuilds" = "동일한 빌드"; +"IdenticalBuilds.help" = "가끔 사전 출시 (prerelease) 버전과 출시 버전이 완전히 동일한 빌드인 경우가 있습니다. Xcodes는 자동으로 이 버전들을 함께 표시합니다."; + +"ReleaseDate" = "출시일"; +"ReleaseNotes" = "릴리즈 노트"; +"ReleaseNotes.help" = "릴리즈 노트 보기"; +"Compatibility" = "호환성"; +"MacOSRequirement" = "macOS %@ 또는 이후 버전"; +"SDKs" = "SDKs"; +"Compilers" = "컴파일러"; +"DownloadSize" = "다운로드 크기"; +"NoXcodeSelected" = "선택된 Xcode 없음"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "%1$d / %2$d 단계: %3$@"; +"DownloadingPercentDescription" = "다운로드 중: %d%% 완료"; +"StopInstallation" = "설치 중지"; +"DownloadingError" = "다운로드 정보를 찾을 수 없음"; + +// About +"VersionWithBuild" = "버전 %@ (%@)"; +"GithubRepo" = "GitHub 저장소"; +"Acknowledgements" = "Acknowledgements"; +"UnxipExperiment" = "Unxip 실험"; +"License" = "라이센스"; + +// General Preference Pane +"General" = "일반"; +"AppleID" = "Apple ID"; +"SignIn" = "로그인하기"; +"Notifications" = "알림"; + +// Updates Preference Pane +"Updates" = "업데이트"; +"Versions" = "버전"; +"AutomaticInstallNewVersion" = "새 Xcode 버전 자동으로 설치"; +"IncludePreRelease" = "사전 출시/베타 버전 포함"; +"AppUpdates" = "Xcodes.app 업데이트"; +"CheckForAppUpdates" = "업데이트 자동 확인"; +"CheckNow" = "지금 확인하기"; +"LastChecked" = "마지막 확인 시점: %@"; +"Never" = "확인하지 않음"; + +// Advanced Preference Pane +"Advanced" = "고급"; +"LocalCachePath" = "로컬 캐시 경로"; +"LocalCachePathDescription" = "Xcodes는 사용 가능한 Xcode 버전을 캐시하고 임시로 디렉토리에 새 버전을 다운로드 합니다."; +"Change" = "변경"; +"Active/Select" = "기본 버전/선택"; +"AutomaticallyCreateSymbolicLink" = "Xcodes.app에 대한 심볼릭 링크 자동 생성"; +"AutomaticallyCreateSymbolicLinkDescription" = "Xcode 버전을 기본 버전(활성)/선택됨 상태로 만들 때 설치 디렉토리에 Xcode.app이라는 심볼릭 링크를 만들어 보세요."; +"DataSource" = "데이터 소스"; +"DataSourceDescription" = "Apple 데이터 소스는 Apple Developer 웹사이트를 스크랩합니다. Apple Developer에는 항상 사용 가능한 최신 출시 버전이 표시되지만 취약한 면이 있습니다.\n\nXcode Releases는 비공식적인 Xcode 출시 버전 목록입니다. Xcode Releases에서는 정리된 데이터를 제공하며, Apple에서 쉽게 구할 수 없는 정보를 포함하며 Apple이 Apple Developer를 재설계할 경우에도 안전할 수 있습니다."; +"Downloader" = "다운로더"; +"DownloaderDescription" = "aria2는 최대 16 개의 연결을 사용하여 URLSession보다 3~5배 더 빠르게 Xcode를 다운로드합니다. GPLv2 라이센스를 준수하기 위해 Xcodes 내 소스 코드와 함께 실행 파일 번들로 제공됩니다.\n\nURLSession은 URL 요청을 만들기 위한 기본 Apple API입니다."; +"PrivilegedHelper" = "권한을 가진 도우미 (Privileged Helper)"; +"PrivilegedHelperDescription" = "Xcodes는 별도의 권한을 가진 도우미를 사용하여 작업을 루트로서 수행합니다. 설치 후 단계와 xcode-select로 Xcode 버전을 전환하는 것과 같이 커맨드 라인에서 sudo가 필요한 작업이 이에 해당합니다.\n\n설치하려면 macOS 계정 암호를 입력하라는 메시지가 표시됩니다."; +"HelperInstalled" = "도우미 설치됨"; +"HelperNotInstalled" = "도우미 설치되지 않음"; +"InstallHelper" = "도우미 설치"; + +// Experiment Preference Pane +"Experiments" = "실험실"; +"FasterUnxip" = "더 빠른 Unxip"; +"UseUnxipExperiment" = "unxipping 시 실험 기능 사용"; +"FasterUnxipDescription" = "@_saagarjha님 덕분에 이 실험 기능을 이용하면 일부 시스템에서 압축 해제 속도를 최대 70%까지 향상시킬 수 있습니다.\n\n이를 수행하는 방법에 대한 자세한 내용은 unxip 저장소 (https://github.com/saagarjha/unxip)에서 확인할 수 있습니다."; + +// Notifications +"AccessGranted" = "접근 권한이 부여되었습니다. Xcodes에서 알림을 받게 됩니다."; +"AccessDenied" = "⚠️ 접근 권한이 부여되지 않았습니다 ⚠️\n\n 접근을 허용하려면 알림 설정을 열고 Xcodes를 선택하여 알림을 허용해주세요."; +"NotificationSettings" = "알림 설정"; +"EnableNotifications" = "알림 활성화"; + +// SignIn +"SignInWithApple" = "Apple ID로 로그인하세요."; +"AppleID" = "AppleID:"; +"Password" = "비밀번호:"; +"Required" = "필수 입력"; +"SignOut" = "로그아웃"; + +// SMS/2FA +"DigitCodeDescription" = "신뢰할 수 있는 장치 중 하나에서 %d 자리 코드를 입력하세요."; +"SendSMS" = "SMS 보내기"; +"EnterDigitCodeDescription" = "%@(으)로 전송된 %d 자리 코드를 입력하세요."; +"SelectTrustedPhone" = "SMS를 통해 %d 자리 코드를 수신하려면 신뢰할 수 있는 전화번호를 선택하세요."; +"NoTrustedPhones" = "계정에 신뢰할 수 있는 전화번호가 없지만 이중 인증(2FA)에 필요합니다.\n\nhttps://support.apple.com/en-ca/HT204915를 참조하세요."; + +// MainWindow +"UpdatedAt" = "마지막 업데이트 시점"; + +// ToolBar +"Login" = "로그인"; +"LoginDescription" = "로그인 창 열기"; +"Refresh" = "갱신"; +"RefreshDescription" = "Xcode 목록 갱신"; +"All" = "전체"; +"Release" = "출시 버전"; +"ReleaseOnly" = "출시 버전만"; +"Beta" = "베타"; +"BetaOnly" = "베타만"; +"Filter" = "필터"; +"FilterAvailableDescription" = "이용 가능한 버전만 보기"; +"FilterInstalledDescription" = "설치한 버전만 보기"; +"Info" = "정보"; +"InfoDescription" = "정보창 표시 또는 숨기기"; +"Preferences" = "환경설정"; +"PreferencesDescription" = "환경설정 열기"; +"Search" = "검색하기..."; +"SearchDescription" = "목록 검색하기"; + +// List +"ActiveVersionDescription" = "기본 버전으로 사용 중"; +"MakeActiveVersionDescription" = "기본 버전으로 만들기"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Xcode %@을 제거하시겠습니까?"; +"Alert.Uninstall.Message" = "휴지통으로 이동되지만 비워지지는 않습니다."; +"Alert.Uninstall.Error.Title" = "Xcode를 제거할 수 없음"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Xcode %@ 설치를 중지하시겠습니까?"; +"Alert.CancelInstall.Message" = "진행된 모든 사항은 삭제됩니다"; +"Alert.CancelInstall.PrimaryButton" = "설치 중지"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "권한을 가진 도우미 (Privileged Helper)"; +"Alert.PrivilegedHelper.Message" = "Xcodes는 별도의 권한을 가진 도우미를 사용하여 작업을 루트로서 수행합니다. 설치 후 단계와 xcode-select로 Xcode 버전을 전환하는 것과 같이 커맨드 라인에서 sudo가 필요한 작업이 이에 해당합니다.\n\n설치하려면 macOS 계정 암호를 입력하라는 메시지가 표시됩니다."; +"Alert.PrivilegedHelper.Error.Title" = "도우미를 설치할 수 없음"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "최소 요건 충족되지 않음"; +"Alert.MinSupported.Message" = "Xcode %@는 MacOS %@이(가) 필요하지만 MacOS %@을(를) 실행 중입니다. 그래도 설치하시겠습니까?"; + +// Install +"Alert.Install.Error.Title" = "Xcode를 설치할 수 없음"; +"Alert.InstallArchive.Error.Title" = "아카이브된 Xcode를 설치할 수 없음"; + +// Update +"Alert.Update.Error.Title" = "선택된 Xcode를 업데이트할 수 없음"; + +// Active/Select +"Alert.Select.Error.Title" = "Xcode를 선택할 수 없음"; + +// Symbolic Links +"Alert.SymLink.Title" = "심볼릭 링크를 생성할 수 없음"; +"Alert.SymLink.Message" = "Xcode.app이 존재하며 심볼릭 링크가 아닙니다."; + +// Post install +"Alert.PostInstall.Title" = "설치 후 단계를 수행할 수 없음"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "아카이브 \"%@\"이(가) 손상되어 확장할 수 없습니다."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "현재 볼륨에 여유 공간이 충분하지 않기 때문에 아카이브 \"%@\"을(를) 확장할 수 없습니다.\n\n아카이브를 확장하기 위해 더 많은 공간을 확보한 다음 Xcode %@을(를) 다시 설치하여 중단된 위치에서 설치를 시작하세요."; +"InstallationError.FailedToMoveXcodeToApplications" = "Xcode를 %@ 디렉토리로 이동하지 못했습니다."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@이(가) 다음과 같이 보안 평가에 실패했습니다.\n%@\n그래도 사용하려는 경우 %@에 설치된 상태로 유지됩니다."; +"InstallationError.CodesignVerifyFailed" = "다운로드한 Xcode가 다음과 같이 코드 서명 확인에 실패했습니다.\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "다운로드한 Xcode에 예상된 코드 서명 ID가 없습니다.\n받은 값:\n%@\n%@\n예상된 값:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes는 (아직) %@ 파일 형식에서 Xcode 설치를 지원하지 않습니다."; +"InstallationError.MissingSudoerPassword" = "비밀번호가 입력되지 않았습니다. 다시 시도해 주세요."; +"InstallationError.UnavailableVersion" = "%@ 버전을 찾을 수 없습니다."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "사전 출시 버전 이외에 사용 가능한 버전이 없습니다."; +"InstallationError.NoPrereleaseVersionAvailable" = "사용 가능한 사전 출시 버전이 없습니다."; +"InstallationError.MissingUsernameOrPassword" = "사용자 이름 또는 비밀번호가 입력되지 않았습니다. 다시 시도해 주세요."; +"InstallationError.VersionAlreadyInstalled" = "%@은(는) 이미 %@에 설치되어 있습니다."; +"InstallationError.InvalidVersion" = "%@은(는) 유효한 버전 번호가 아닙니다."; +"InstallationError.VersionNotInstalled" = "%@이(가) 설치되지 않았습니다."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "설치가 완료되었지만 일부 설치 후 단계가 자동으로 수행되지 않았습니다. 이는 Xcode %@를 처음 실행할 때 수행됩니다."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "설치가 완료되었지만 일부 설치 후 단계가 자동으로 수행되지 않았습니다. Xcodes는 설치되지 않은 것으로 보이는 권한을 가진 도우미 (Privileged helper)를 사용하여 이러한 단계를 수행합니다. 권한을 가진 도우미는 환경설정 > 고급에서 설치할 수 있습니다.\n\n이 단계는 Xcode %@를 처음 실행할 때 수행됩니다."; + +// Installation Steps +"Downloading" = "다운로드 중"; +"Unarchiving" = "언아카이빙 중 (시간이 좀 걸릴 수 있습니다)"; +"Moving" = "%@(으)로 이동 중"; +"TrashingArchive" = "아카이브를 휴지통으로 이동"; +"CheckingSecurity" = "보안 확인"; +"Finishing" = "마무리하는 중"; + +// Notifications +"Notification.NewVersionAvailable" = "새 버전을 사용할 수 있습니다"; +"Notification.FinishedInstalling" = "설치 완료"; + + +"HelperClient.error" = "권한을 가진 도우미 (Privileged helper)와의 통신할 수 없습니다."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "새 Xcode 버전"; +"Notification.NewXcodeVersion.Body" = "새로운 Xcode 버전을 다운로드 할 수 있습니다."; From e59bf08e5420098306cd68d3a523a2d48b1efec3 Mon Sep 17 00:00:00 2001 From: Paul Semionov Date: Wed, 25 May 2022 20:40:14 +0300 Subject: [PATCH 068/180] Update Localizable.strings for Russian language --- Xcodes/Resources/ru.lproj/Localizable.strings | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index 57ae018..0e6214e 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -1,8 +1,8 @@ // Menu "Menu.About" = "О Xcodes"; "Menu.CheckForUpdates" = "Проверить наличие обновлений..."; -"Menu.Acknowledgements" = "Благодарности Xcodes"; -"Menu.GitHubRepo" = "Репозиторий Xcodes GitHub"; +"Menu.Acknowledgements" = "Юридическая информация Xcodes"; +"Menu.GitHubRepo" = "GitHub-репозиторий Xcodes"; "Menu.ReportABug" = "Сообщить об ошибке"; "Menu.RequestNewFeature" = "Запросить новую функцию"; @@ -10,9 +10,9 @@ "Install" = "Установить"; "InstallDescription" = "Установить эту версию"; "RevealInFinder" = "Показать в Finder"; -"Active" = "Активный"; -"MakeActive" = "Сделать активным"; -"Open" = "Открыты"; +"Active" = "Активно"; +"MakeActive" = "Активировать"; +"Open" = "Открыть"; "OpenDescription" = "Открыть эту версию"; "CopyPath" = "Копировать путь"; "CreateSymLink" = "Создать Symlink к Xcode.app"; @@ -20,7 +20,7 @@ "Selected" = "Выбрано"; "Select" = "Выбрать"; "Cancel" = "Отмена"; -"Next" = "Следующий"; +"Next" = "Далее"; "Continue" = "Продолжить"; "Close" = "Закрыть"; @@ -49,12 +49,12 @@ // About "VersionWithBuild" = "Версия %@ (%@)"; "GithubRepo" = "Репозиторий GitHub"; -"Acknowledgements" = "Благодарности"; -"UnxipExperiment" = "Unxip эксперимент"; +"Acknowledgements" = "Юридическая информация"; +"UnxipExperiment" = "Экспериментальный Unxip"; "License" = "Лицензия"; // General Preference Pane -"General" = "Общий"; +"General" = "Общее"; "AppleID" = "Apple ID"; "SignIn" = "Войти"; "Notifications" = "Уведомления"; @@ -66,14 +66,14 @@ "IncludePreRelease" = "Включить предварительные/бета-версии"; "AppUpdates" = "Обновления Xcodes.app"; "CheckForAppUpdates" = "Автоматически проверять наличие обновлений приложения"; -"CheckNow" = "Проверь Cейчас"; +"CheckNow" = "Проверить сейчас"; "LastChecked" = "Последняя проверка: %@"; "Never" = "Никогда"; // Advanced Preference Pane -"Advanced" = "Дополнительные"; -"LocalCachePath" = "Путь к локальному кэшу"; -"LocalCachePathDescription" = "Xcodes кэширует доступные версии Xcode и временно загружает новые версии в директорию"; +"Advanced" = "Дополнительно"; +"LocalCachePath" = "Путь к локальному кешу"; +"LocalCachePathDescription" = "Xcodes кеширует доступные версии Xcode и временно загружает новые версии в директорию"; "Change" = "Изменить"; "Active/Select" = "Активировать/Выбрать"; "AutomaticallyCreateSymbolicLink" = "Автоматически сосдавит символическую ссылку к Xcodes.app"; @@ -90,13 +90,13 @@ // Experiment Preference Pane "Experiments" = "Эксперименты"; -"FasterUnxip" = "Быстрее Unxip"; -"UseUnxipExperiment" = "При unxip используйте эксперимент"; +"FasterUnxip" = "Быстрый Unxip"; +"UseUnxipExperiment" = "При unxip будет использован экспериментальный функционал"; "FasterUnxipDescription" = "Благодаря @_saagarjha этот эксперимент может увеличить скорость распаковки до 70% для некоторых систем.\n\nДополнительную информацию о том, как это достигается, можно увидеть в репозитории unxip — https://github.com/saagarjha/unxip. "; // Notifications "AccessGranted" = "Доступ разрешен. Вы будете получать уведомления от Xcodes."; -"AccessDenied" = "⚠️ Доступ Oтказан ⚠️\n\nПожалуйста, откройте настройки уведомлений и выберите Xcodes, если хотите разрешить доступ."; +"AccessDenied" = "⚠️ Отказано в доступе ⚠️\n\nПожалуйста, откройте настройки уведомлений и выберите Xcodes, чтобы разрешить доступ."; "NotificationSettings" = "Настройки уведомлений"; "EnableNotifications" = "Включить уведомления"; @@ -109,7 +109,7 @@ // SMS/2FA "DigitCodeDescription" = "Введите %d цифровой код с одного из ваших доверенных устройств:"; -"SendSMS" = "Отправить смс"; +"SendSMS" = "Отправить SMS"; "EnterDigitCodeDescription" = "Введите %d цифровой код, отправленный на %@: "; "SelectTrustedPhone" = "Выберите доверенный номер телефона для получения %d цифрового кода по SMS:"; "NoTrustedPhones" = "В вашем аккаунтe нет доверенных телефонных номеров, но они необходимы для двухфакторной аутентификации.\n\nСм. https://support.apple.com/en-ca/HT204915."; @@ -119,9 +119,9 @@ // ToolBar "Login" = "Логин"; -"LoginDescription" = "Открыть Логин"; +"LoginDescription" = "Открыть окно логина"; "Refresh" = "Обновить"; -"RefreshDescription" = "Обновить Cписок Xcode"; +"RefreshDescription" = "Обновить список Xcode"; "All" = "Все"; "Release" = "Pелиз"; "ReleaseOnly" = "Только Pелиз"; @@ -135,16 +135,16 @@ "Preferences" = "Hастройки"; "PreferencesDescription" = "Открыть настройки"; "Search" = "Поиск..."; -"SearchDescription" = "Список поиска"; +"SearchDescription" = "Поиск по списку"; // List "ActiveVersionDescription" = "Это активная версия"; -"MakeActiveVersionDescription" = "Сделать это активной версией"; +"MakeActiveVersionDescription" = "Сделать эту версию активной"; // Alerts // Uninstall "Alert.Uninstall.Title" = "Удалить Xcode %@?"; -"Alert.Uninstall.Message" = "Он будет перемещен в мусорное ведро, но не будет очищен."; +"Alert.Uninstall.Message" = "Файлы будут перемещены в корзину, но не будут очищены из неё автоматически."; "Alert.Uninstall.Error.Title" = "Невозможно удалить Xcode"; // Cancel Install @@ -158,8 +158,8 @@ "Alert.PrivilegedHelper.Error.Title" = "Невозможно установить помощник"; // Min MacOS Supported -"Alert.MinSupported.Title" = "Минимальные требования не соблюдены"; -"Alert.MinSupported.Message" = "Xcode %@ требует MacOS %@, но вы используете MacOS %@, вы все еще хотите установить?"; +"Alert.MinSupported.Title" = "Текущая macOS не соответствует минимальным требованиям"; +"Alert.MinSupported.Message" = "Xcode %@ требует macOS %@, но вы используете macOS %@, вы все еще хотите установить?"; // Install "Alert.Install.Error.Title" = "Невозможно установить Xcode"; @@ -176,7 +176,7 @@ "Alert.SymLink.Message" = "Xcode.app существует и не является символической ссылкой"; // Post install -"Alert.PostInstall.Title" = "Невозможно выполнить дальний шаги после установки"; +"Alert.PostInstall.Title" = "Невозможно выполнить дополнительные шаги после установки"; // InstallationErrors "InstallationError.DamagedXIP" = "Архив \"%@\" поврежден и не может быть расширен."; @@ -195,13 +195,13 @@ "InstallationError.InvalidVersion" = "%@ не является допустимым номером версии."; "InstallationError.VersionNotInstalled" = "%@ не установлен."; "InstallationError.PostInstallStepsNotPerformed.Installed" = "Установка завершена, но некоторые шаги после установки не были выполнены автоматически. Они будут выполнены при первом запуске Xcode %@."; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Установка была завершена, но некоторые шаги после установки не были выполнены автоматически. Xcodes выполняет эти шаги с привилегированным помощником, который, похоже, не установлен. Вы можете установить его из Настройки > Дополнительные.\n\nЭти шаги будут выполнены при первом запуске Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Установка была завершена, но некоторые шаги после установки не были выполнены автоматически. Xcodes выполняет эти шаги с привилегированным помощником, который, похоже, не установлен. Вы можете установить его из Настройки > Дополнительно.\n\nЭти шаги будут выполнены при первом запуске Xcode %@."; // Installation Steps "Downloading" = "Скачивание"; "Unarchiving" = "Разархивирование (это может занять некоторое время)"; "Moving" = "Перемещение в %@"; -"TrashingArchive" = "Перемещение архива в мусорную корзину"; +"TrashingArchive" = "Перемещение архива в корзину"; "CheckingSecurity" = "Проверка безопасности"; "Finishing" = "Завершение"; From 5106ccead4651560868fbee96991a7b378eaca07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 May 2022 10:05:20 +0000 Subject: [PATCH 069/180] Bump actions/cache from 3.0.2 to 3.0.3 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.2...v3.0.3) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index e088363..f87f007 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.3 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 311014323a861897566892ed1313c08d2bc60901 Mon Sep 17 00:00:00 2001 From: Gualtiero Date: Thu, 19 May 2022 09:49:52 +0200 Subject: [PATCH 070/180] added Italian localization --- Xcodes/Resources/it.lproj/Localizable.strings | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 Xcodes/Resources/it.lproj/Localizable.strings diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings new file mode 100644 index 0000000..323a8b4 --- /dev/null +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "Informazioni di Xcodes"; +"Menu.CheckForUpdates" = "Controllo aggiornamenti..."; +"Menu.Acknowledgements" = "Ringraziamenti di Xcodes"; +"Menu.GitHubRepo" = "Xcodes Repository di Github"; +"Menu.ReportABug" = "Segnala un Bug"; +"Menu.RequestNewFeature" = "Richiedi una nuova Feature"; + +// Common +"Install" = "Installa"; +"InstallDescription" = "Installa questa versione"; +"RevealInFinder" = "Mostra in Finder"; +"Active" = "Attiva"; +"MakeActive" = "Rendi attiva"; +"Open" = "Apri"; +"OpenDescription" = "Apri questa versione"; +"CopyPath" = "Copia Percorso"; +"CreateSymLink" = "Crea Symlink come Xcode.app"; +"Uninstall" = "Disinstalla"; +"Selected" = "Selezionato"; +"Select" = "Seleziona"; +"Cancel" = "Annulla"; +"Next" = "Avanti"; +"Continue" = "Continua"; +"Close" = "Chiudi"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Build Identiche"; +"IdenticalBuilds.help" = "A volte una versione di prerelease e release sono esattamente la stessa build. Xcodes mostrerà automatiamente queste versioni assieme."; + +"ReleaseDate" = "Data di Rilascio"; +"ReleaseNotes" = "Note di Rilascio"; +"ReleaseNotes.help" = "Vedi Note di Rilascio"; +"Compatibility" = "Compatibilità"; +"MacOSRequirement" = "Richiede macOS %@ o successivo"; +"SDKs" = "SDKs"; +"Compilers" = "Compilatore"; +"DownloadSize" = "Dimensione Download"; +"NoXcodeSelected" = "Nessun Xcode selezionato"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Passo %1$d di %2$d: %3$@"; +"DownloadingPercentDescription" = "Download: %d%% completato"; +"StopInstallation" = "Ferma istallazione"; +"DownloadingError" = "Non trovo informazioni sul download"; + +// About +"VersionWithBuild" = "Versione %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "Ringraziamenti"; +"UnxipExperiment" = "Unxip Sperimentale"; +"License" = "Licenza"; + +// General Preference Pane +"General" = "Generale"; +"AppleID" = "Apple ID"; +"SignIn" = "Entra"; +"Notifications" = "Notifiche"; + +// Updates Preference Pane +"Updates" = "Aggiornamenti"; +"Versions" = "Versioni"; +"AutomaticInstallNewVersion" = "Installa automaticamente nuove versioni di Xcode"; +"IncludePreRelease" = "Includi versioni prerelease/beta"; +"AppUpdates" = "Xcodes.app Aggiornamenti"; +"CheckForAppUpdates" = "Controlla automaticamente per aggiornamenti"; +"CheckNow" = "Controlla Ora"; +"LastChecked" = "Ultimo controllo: %@"; +"Never" = "Mai"; + +// Advanced Preference Pane +"Advanced" = "Avanzate"; +"LocalCachePath" = "Percorso Cache Locale"; +"LocalCachePathDescription" = "Xcodes fa la cache delle versioni di Xcode disponibili e download temporanei in una directory."; +"Change" = "Cambia"; +"Active/Select" = "Attivo/Seleziona"; +"AutomaticallyCreateSymbolicLink" = "Crea Automaticamente link simbolico a Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Quando rendi una versione di Xcode Attiva/Selezionata, prova a fare un link simbolico chiamato nella directory di installazione."; +"DataSource" = "Sorgente Dati"; +"DataSourceDescription" = "La sorgente dati Apple controlla il sito sviluppatori Apple. Mostra sempre le ultime versioni disponibili, ma è più fragile. Xcode Releases è una lista non ufficiale di versioni di Xcode. E' disponibile con un formato ben strutturato, contiene più in formazioni che non vengono rilasciate da Apple ed è più difficile che smetta di funzionare se Apple ristruttura il suo sito sviluppatori."; +"Downloader" = "Scaricatore"; +"DownloaderDescription" = "aria2 usa fino a 16 connessioni per scaricar Xcode da 3 a 5 volte più veloce di URLSession. E' incluso come eseguibile assieme ai suoi sogenti dentro Xcodes per rispettare la sua licenza GPLv2. \n\nURLSession è l'API di default di Apple per fare richieste a URL remote."; +"PrivilegedHelper" = "Aiutante Privilegiato"; +"PrivilegedHelperDescription" = "Xcodes usa un aiutante privilegiato per svolgere dei compiti come root. Si tratta di comandi che normalmente richiederebbero sudo da linea di comando, incluse fasi di post-install e modificare la versione di Xcode con xcode-select.\n\nTi verrà richiesta la password del tuo account di macOS per installarlo."; +"HelperInstalled" = "Aiutante è installato"; +"HelperNotInstalled" = "Aiutante non è installato"; +"InstallHelper" = "Installa aiutante"; + +// Experiment Preference Pane +"Experiments" = "Sperimentale"; +"FasterUnxip" = "Unxip veloce"; +"UseUnxipExperiment" = "Quando fai unxipping, usa sperimentale"; +"FasterUnxipDescription" = "Grazie a @_saagarjha, questa versione sperimentale può incrementare la velocità di unxipping fino al 70% in certi sistemi.\n\nMaggiori informazioni su come questo è possibile sono disponibili nel repository unxip - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Accesso Garantito. Riceverai notifiche da Xcodes."; +"AccessDenied" = "⚠️ Accesso Negato ⚠️\n\nApri le Impostazioni delle Notifiche e seleziona Xcodes se desideri garantirgli accesso."; +"NotificationSettings" = "Impostazioni delle Notifiche"; +"EnableNotifications" = "Abilita Notifiche"; + +// SignIn +"SignInWithApple" = "Entra con il tuo Apple ID."; +"AppleID" = "AppleID:"; +"Password" = "Password:"; +"Required" = "Obbligatorio"; +"SignOut" = "Esci"; + +// SMS/2FA +"DigitCodeDescription" = "Inserisci il codice di %d cifre in uno dei tuo dispositivi registrati:"; +"SendSMS" = "Manda SMS"; +"EnterDigitCodeDescription" = "Inserisci il codice di %d cifre inviato a %@: "; +"SelectTrustedPhone" = "Seleziona un numero di telefono registrato per ricevere il codice di %d cifre via SMS:"; +"NoTrustedPhones" = "Il tuo account non ha dispositivi registrati, ma è richiesto dall'autenticazione a due fattori.\n\Vedi https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Aggiorna a"; + +// ToolBar +"Login" = "Login"; +"LoginDescription" = "Apri Login"; +"Refresh" = "Ricarica"; +"RefreshDescription" = "Ricarica Lista Xcode"; +"All" = "Tutti"; +"Release" = "Rilasci"; +"ReleaseOnly" = "Solo Rilasci"; +"Beta" = "Beta"; +"BetaOnly" = "Solo Beta"; +"Filter" = "Filtra"; +"FilterAvailableDescription" = "Filtra versioni disponibili"; +"FilterInstalledDescription" = "Filtra versioni installate"; +"Info" = "Info"; +"InfoDescription" = "Mostra o nascondi pannello informazioni"; +"Preferences" = "Preferenze"; +"PreferencesDescription" = "Apri Preferenze"; +"Search" = "Cerca..."; +"SearchDescription" = "Lista Ricerca"; + +// List +"ActiveVersionDescription" = "Questa è la versione attiva"; +"MakeActiveVersionDescription" = "Rendi questa versione attiva"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Disinstalla Xcode %@?"; +"Alert.Uninstall.Message" = "Sarà spostato nel cestino, ma non svuotato."; +"Alert.Uninstall.Error.Title" = "Non riesco a disinstallare Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Sei sicuro di voler interrompere l'installazione di Xcode %@?"; +"Alert.CancelInstall.Message" = "Perderai quanto fatto finora."; +"Alert.CancelInstall.PrimaryButton" = "Ferma Installazione"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Aiutante Privilegiato"; +"Alert.PrivilegedHelper.Message" = "Xcodes usa un aiutante privilegiato per svolgere dei compiti come root. Si tratta di comandi che normalmente richiederebbero sudo da linea di comando, incluse fasi di post-install e modificare la versione di Xcode con xcode-select.\n\nTi verrà richiesta la password del tuo account di macOS per installarlo."; +"Alert.PrivilegedHelper.Error.Title" = "Non riesco a installare aiutante"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Requisiti minimi non presenti"; +"Alert.MinSupported.Message" = "Xcode %@ richiede MacOS %@, ma la tua versione di MacOS è %@, vuoi installarlo comunque?"; + +// Install +"Alert.Install.Error.Title" = "Non riesco a installare Xcode"; +"Alert.InstallArchive.Error.Title" = "Non riesco a installare Xcode archiviato"; + +// Update +"Alert.Update.Error.Title" = "Non riesco ad aggiornare Xcode selezionato"; + +// Active/Select +"Alert.Select.Error.Title" = "Non riesco a selezionare Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Non riesco a creare il link simbolico"; +"Alert.SymLink.Message" = "Xcode.app esiste e non è un link simbolico"; + +// Post install +"Alert.PostInstall.Title" = "Non riesco ad eseguire i comandi post installazione"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "L'archivio \"%@\" è danneggiato e non può essere espanso."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "L'archivio \"%@\" non può essere espanso perché non c'è abbastanza spazio libero nel volume.\n\nAumenta lo spazio disponibile per poter espandere l'archivio e poi installa Xcode %@ nuovamente per riprendere da dove era arrivato."; +"InstallationError.FailedToMoveXcodeToApplications" = "Non sono riuscito a spostare Xcode nella directory %@ ."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ ha fallito i check di sicurezza con il seguente errore:\n%@\nRimane installato in %@ se vuoi usarlo comunque."; +"InstallationError.CodesignVerifyFailed" = "Xcode scaricato ha fallito le verifiche di firma con il seguente errore:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Xcode scaricato non ha l'identità di firma corretta.\nGot:\n%@\n%@\Ci aspettiamo:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes non supporta (per ora) l'installazione di Xcode dal formato %@ ."; +"InstallationError.MissingSudoerPassword" = "Manca la password. Prova di nuovo."; +"InstallationError.UnavailableVersion" = "Non trovo la versione %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Non sono disponibili versioni non-prerelease."; +"InstallationError.NoPrereleaseVersionAvailable" = "Non sono disponibili versioni prerelease."; +"InstallationError.MissingUsernameOrPassword" = "Mancano username o password. Prova di nuovo"; +"InstallationError.VersionAlreadyInstalled" = "%@ è già installato in %@"; +"InstallationError.InvalidVersion" = "%@ non è una versione valida."; +"InstallationError.VersionNotInstalled" = "%@ non è installato."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "L'installazione è completata, ma alcuni comandi di post installazione non sono partiti automaticamente. Verranno lanciati quando aprirai Xcode %@ per la prima volta."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "L'installazione è completata, ma alcuni comandi di post installazione non sono partiti automaticamente. Xcodes lancia questi comandi con un aiutante privilegiato, che sembra non essere installato. Puoi instlalarlo da Preferenze > Avanzate.\n\nTVerranno lanciati quando aprirai Xcode %@ per la prima volta."; + +// Installation Steps +"Downloading" = "Scaricando"; +"Unarchiving" = "Espandendo (Potrà metterci un po')"; +"Moving" = "Sposto in %@"; +"TrashingArchive" = "Sposto archivio nel Cestino"; +"CheckingSecurity" = "Verifica di sicurezza"; +"Finishing" = "Completando"; + +// Notifications +"Notification.NewVersionAvailable" = "Una nuova versione è disponibile"; +"Notification.FinishedInstalling" = "Ho terminato l'installazione"; + + +"HelperClient.error" = "Non riesco a comunicare con l'aiutante privilegiato."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Nuove versioni di Xcode"; +"Notification.NewXcodeVersion.Body" = "Nuove versioni di Xcode disponibili per il download."; From 4a2dc8b603ba282a2cc994c1f04b4797e9f40ba9 Mon Sep 17 00:00:00 2001 From: Gualtiero Date: Wed, 1 Jun 2022 11:33:25 +0200 Subject: [PATCH 071/180] added italian localization --- Xcodes.xcodeproj/project.pbxproj | 3 +++ Xcodes/Resources/it.lproj/Localizable.strings | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 4607b49..ea9bff8 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -167,6 +167,7 @@ /* Begin PBXFileReference section */ 15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; + 25E2FA26284769A00014A318 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; 4A5AAA1D28118FAD00528958 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = ""; }; 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; @@ -703,6 +704,7 @@ "zh-Hans", tr, ko, + it, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -908,6 +910,7 @@ C0AE7FA4283002DC00DA63D2 /* zh-Hans */, 9D3C3AF7282EBE3300CB0D37 /* tr */, AAB037D32839BD4700017680 /* ko */, + 25E2FA26284769A00014A318 /* it */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings index 323a8b4..7336969 100644 --- a/Xcodes/Resources/it.lproj/Localizable.strings +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -196,7 +196,7 @@ "InstallationError.InvalidVersion" = "%@ non è una versione valida."; "InstallationError.VersionNotInstalled" = "%@ non è installato."; "InstallationError.PostInstallStepsNotPerformed.Installed" = "L'installazione è completata, ma alcuni comandi di post installazione non sono partiti automaticamente. Verranno lanciati quando aprirai Xcode %@ per la prima volta."; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "L'installazione è completata, ma alcuni comandi di post installazione non sono partiti automaticamente. Xcodes lancia questi comandi con un aiutante privilegiato, che sembra non essere installato. Puoi instlalarlo da Preferenze > Avanzate.\n\nTVerranno lanciati quando aprirai Xcode %@ per la prima volta."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "L'installazione è completata, ma alcuni comandi di post installazione non sono partiti automaticamente. Xcodes lancia questi comandi con un aiutante privilegiato, che sembra non essere installato. Puoi instlalarlo da Preferenze > Avanzate.\n\nVerranno lanciati quando aprirai Xcode %@ per la prima volta."; // Installation Steps "Downloading" = "Scaricando"; From 9f013ccdf29646367ce69247d2aa736f2f5b83db Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 4 Jun 2022 21:30:39 -0500 Subject: [PATCH 072/180] Adds a bottom status bar to the window --- Xcodes.xcodeproj/project.pbxproj | 4 ++ Xcodes/Backend/AppState.swift | 11 +++++ Xcodes/Frontend/MainWindow.swift | 2 + .../Frontend/XcodeList/BottomStatusBar.swift | 49 +++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 Xcodes/Frontend/XcodeList/BottomStatusBar.swift diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index ea9bff8..0f8c35a 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -107,6 +107,7 @@ E8977EA325C11E1500835F80 /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8977EA225C11E1500835F80 /* PreferencesView.swift */; }; E8CBDB8927ADE32300B22292 /* unxip in Copy aria2c */ = {isa = PBXBuildFile; fileRef = E8CBDB8627ADD92000B22292 /* unxip */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; E8CBDB8B27AE02FF00B22292 /* ExperiementsPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */; }; + E8D0296F284B029800647641 /* BottomStatusBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D0296E284B029800647641 /* BottomStatusBar.swift */; }; E8DA461125FAF7FB002E85EF /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8DA461025FAF7FB002E85EF /* NotificationsView.swift */; }; E8E98A9025D8631800EC89A0 /* InstallationStepRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFBC3FF259AC17F00E2A3D8 /* InstallationStepRowView.swift */; }; E8E98A9625D863D700EC89A0 /* InstallationStepDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E98A9525D863D700EC89A0 /* InstallationStepDetailView.swift */; }; @@ -289,6 +290,7 @@ E8977EA225C11E1500835F80 /* PreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = ""; }; E8CBDB8627ADD92000B22292 /* unxip */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = unxip; sourceTree = ""; }; E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperiementsPreferencePane.swift; sourceTree = ""; }; + E8D0296E284B029800647641 /* BottomStatusBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomStatusBar.swift; sourceTree = ""; }; E8DA461025FAF7FB002E85EF /* NotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsView.swift; sourceTree = ""; }; E8E98A9525D863D700EC89A0 /* InstallationStepDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallationStepDetailView.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -426,6 +428,7 @@ CAE42486259A68A300B8B246 /* XcodeListCategory.swift */, CAD2E7A32449574E00113D76 /* XcodeListView.swift */, CAFFFED7259CDA5000903F81 /* XcodeListViewRow.swift */, + E8D0296E284B029800647641 /* BottomStatusBar.swift */, ); path = XcodeList; sourceTree = ""; @@ -860,6 +863,7 @@ CA9FF87B2595293E00E47BAF /* DataSource.swift in Sources */, CABFA9C92592EEEA00380FEE /* URLRequest+Apple.swift in Sources */, CABFAA432593104F00380FEE /* AboutView.swift in Sources */, + E8D0296F284B029800647641 /* BottomStatusBar.swift in Sources */, E8E98A9025D8631800EC89A0 /* InstallationStepRowView.swift in Sources */, CABFA9CC2592EEEA00380FEE /* Path+.swift in Sources */, CAD2E7A22449574E00113D76 /* XcodesApp.swift in Sources */, diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 146e153..8cc87c5 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -96,6 +96,17 @@ class AppState: ObservableObject { savedUsername != nil } + var bottomStatusBarMessage: String { + let formatter = DateFormatter() + formatter.dateFormat = "dd/MM/yyyy" + let finishDate = formatter.date(from: "11/06/2022") + + if Date().compare(finishDate!) == .orderedAscending { + return "👨🏻‍💻👩🏼‍💻 Happy WWDC 2022! 👨🏽‍💻🧑🏻‍💻" + } + return "" + } + // MARK: - Init init() { diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 87c0276..42de1da 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -37,6 +37,8 @@ struct MainWindow: View { isShowingInfoPane: $isShowingInfoPane, searchText: $searchText ) + .bottomStatusBar() + .padding([.top], 0) .navigationSubtitle(subtitleText) .frame(minWidth: 600, maxWidth: .infinity, minHeight: 300, maxHeight: .infinity) .emittingError($appState.error, recoveryHandler: { _ in }) diff --git a/Xcodes/Frontend/XcodeList/BottomStatusBar.swift b/Xcodes/Frontend/XcodeList/BottomStatusBar.swift new file mode 100644 index 0000000..ed74fe6 --- /dev/null +++ b/Xcodes/Frontend/XcodeList/BottomStatusBar.swift @@ -0,0 +1,49 @@ +// +// BottomStatusBar.swift +// Xcodes +// +// Created by Matt Kiazyk on 2022-06-03. +// Copyright © 2022 Robots and Pencils. All rights reserved. +// + +import Foundation +import SwiftUI + + +struct BottomStatusModifier: ViewModifier { + @EnvironmentObject var appState: AppState + + func body(content: Content) -> some View { + content + VStack(spacing: 0) { + Divider() + HStack { + Text(appState.bottomStatusBarMessage) + .font(.subheadline) + Spacer() + Text(Bundle.main.shortVersion!) + .font(.subheadline) + } + .frame(maxWidth: .infinity, maxHeight: 30, alignment: .leading) + .padding([.leading, .trailing], 10) + } + .frame(maxWidth: .infinity, maxHeight: 30, alignment: .leading) + } + +} + +extension View { + func bottomStatusBar() -> some View { + self.modifier( + BottomStatusModifier() + ) + } +} + +struct Previews_BottomStatusBar_Previews: PreviewProvider { + static var previews: some View { + HStack { + + }.bottomStatusBar() + } +} From f3e97f54f533f501118000d2f6e251ccb7efdf91 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 4 Jun 2022 21:37:38 -0500 Subject: [PATCH 073/180] Updated unxip binary --- Xcodes/Resources/unxip | Bin 533536 -> 551554 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Xcodes/Resources/unxip b/Xcodes/Resources/unxip index 271171c8dc041e6982ccb80584a265dd5f6fdac6..d8ce15e9b00a971731f995ab46c4c8a41e70f2f1 100755 GIT binary patch literal 551554 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

-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 z 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 Date: Sat, 4 Jun 2022 21:41:54 -0500 Subject: [PATCH 074/180] Bump version number --- Xcodes.xcodeproj/project.pbxproj | 12 ++++++------ Xcodes/Resources/Info.plist | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 0f8c35a..7871d60 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -993,7 +993,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 14; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -1003,7 +1003,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.5.0; + MARKETING_VERSION = 1.6.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1234,7 +1234,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 14; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1244,7 +1244,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.5.0; + MARKETING_VERSION = 1.6.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1258,7 +1258,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 13; + CURRENT_PROJECT_VERSION = 14; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1268,7 +1268,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.5.0; + MARKETING_VERSION = 1.6.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index ab164eb..7755757 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 13 + 14 CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion From 5fa3152918929228611e84ea44b1ed84a4c9e87f Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 4 Jun 2022 22:34:38 -0500 Subject: [PATCH 075/180] Update Readme with new localization contributors --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f883ff5..5ac99c8 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,12 @@ Xcodes supports localization in several languages. The following languages are supported because of the following community users! -||| -|-|-| -|French|[@dompepin](https://github.com/dompepin)| -|Spanish|[@cesartru88](https://github.com/cesartru88)| -|Russian|[@alexmazlov](https://github.com/alexmazlov)| +||||| +|-|-|-|-| +|French 🇫🇷 |[@dompepin](https://github.com/dompepin)|Italian 🇮🇹 |[gualtierofrigerio](https://github.com/gualtierofrigerio)| +|Spanish 🇲🇽 |[@cesartru88](https://github.com/cesartru88)|Korean 🇰🇷 |[@ryan-son](https://github.com/ryan-son)| +|Russian 🇷🇺 |[@alexmazlov](https://github.com/alexmazlov)|Turkish 🇹🇷 |[@egrimo](https://github.com/egrimo)| +|Hindi 🇮🇳 |[@KGurpreet](https://github.com/KGurpreet)|Chinese-Simplified 🇨🇳|[@megabitsenmzq](https://github.com/megabitsenmzq)| Want to add more languages? Simply create a PR with the updated strings file. ## Installation @@ -148,4 +149,4 @@ popd Made with ❤️ by [Robots & Pencils](http://www.robotsandpencils.com) -[Twitter](https://twitter.com/robotsNpencils) | [GitHub](https://github.com/robotsandpencils) +[Twitter](https://twitter.com/xcodesApp) | [GitHub](https://github.com/robotsandpencils) From bce40c95ae18d7c3d1d1a73b8f86acfdae4c193d Mon Sep 17 00:00:00 2001 From: Ethan Huang Date: Sat, 14 May 2022 01:13:40 +0800 Subject: [PATCH 076/180] Add Traditional Chinese localization --- Xcodes.xcodeproj/project.pbxproj | 3 + .../zh-Hant.lproj/Localizable.strings | 218 ++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 Xcodes/Resources/zh-Hant.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 7871d60..c108423 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -177,6 +177,7 @@ 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; 9D3C3AF7282EBE3300CB0D37 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; AAB037D32839BD4700017680 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 6CA3A090282EBE72005A6E35 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; C0AE7FA4283002DC00DA63D2 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; @@ -708,6 +709,7 @@ tr, ko, it, + "zh-Hant", ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -915,6 +917,7 @@ 9D3C3AF7282EBE3300CB0D37 /* tr */, AAB037D32839BD4700017680 /* ko */, 25E2FA26284769A00014A318 /* it */, + 6CA3A090282EBE72005A6E35 /* zh-Hant */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings new file mode 100644 index 0000000..e6fdb63 --- /dev/null +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "關於 Xcodes"; +"Menu.CheckForUpdates" = "檢查更新項目⋯"; +"Menu.Acknowledgements" = "Xcodes 版權宣告"; +"Menu.GitHubRepo" = "Xcodes GitHub Repo"; +"Menu.ReportABug" = "回報錯誤"; +"Menu.RequestNewFeature" = "請求新功能"; + +// Common +"Install" = "安裝"; +"InstallDescription" = "安裝這個版本"; +"RevealInFinder" = "顯示於Finder"; +"Active" = "啟用中"; +"MakeActive" = "啟用"; +"Open" = "打開"; +"OpenDescription" = "打開這個版本"; +"CopyPath" = "拷貝路徑"; +"CreateSymLink" = "製作指向 Xcode.app 的 Symlink"; +"Uninstall" = "解除安裝"; +"Selected" = "已選取"; +"Select" = "選取"; +"Cancel" = "取消"; +"Next" = "下一步"; +"Continue" = "繼續"; +"Close" = "關閉"; +"OK" = "好"; + +// Info Pane +"IdenticalBuilds" = "相同的建置版本"; +"IdenticalBuilds.help" = "Sometimes a prerelease and release version are the exact same build. Xcodes will automatically display these versions together."; + +"ReleaseDate" = "發行日期"; +"ReleaseNotes" = "版本附註"; +"ReleaseNotes.help" = "檢視版本附註"; +"Compatibility" = "相容性"; +"MacOSRequirement" = "需要 macOS %@ 或以上版本"; +"SDKs" = "SDKs"; +"Compilers" = "編譯器"; +"DownloadSize" = "下載大小"; +"NoXcodeSelected" = "沒有已選取的 Xcode"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "第%1$d步(共%2$d步):%3$@"; +"DownloadingPercentDescription" = "下載中:已完成%d%%"; +"StopInstallation" = "停止安裝"; +"DownloadingError" = "No download information found"; + +// About +"VersionWithBuild" = "Version %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "版權宣告"; +"UnxipExperiment" = "Unxip Experiment"; +"License" = "軟體許可證"; + +// General Preference Pane +"General" = "一般"; +"AppleID" = "Apple ID"; +"SignIn" = "登入"; +"Notifications" = "通知"; + +// Updates Preference Pane +"Updates" = "更新"; +"Versions" = "版本"; +"AutomaticInstallNewVersion" = "Automatically install new versions of Xcode"; +"IncludePreRelease" = "Include prerelease/beta versions"; +"AppUpdates" = "Xcodes.app Updates"; +"CheckForAppUpdates" = "自動檢查更新項目"; +"CheckNow" = "立即檢查"; +"LastChecked" = "上一次檢查::%@"; +"Never" = "從未使用"; + +// Advanced Preference Pane +"Advanced" = "進階"; +"LocalCachePath" = "Local Cache Path"; +"LocalCachePathDescription" = "Xcodes caches available Xcode versions and temporary downloads new versions to a directory"; +"Change" = "Change"; +"Active/Select" = "Active/Select"; +"AutomaticallyCreateSymbolicLink" = "Automatically create symbolic link to Xcodes.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "When making an Xcode version Active/Selected, try and create a symbolic link named Xcode.app in the installation directory"; +"DataSource" = "Data Source"; +"DataSourceDescription" = "The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license.\n\nURLSession is the default Apple API for making URL requests."; +"PrivilegedHelper" = "Privileged Helper"; +"PrivilegedHelperDescription" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; +"HelperInstalled" = "Helper is installed"; +"HelperNotInstalled" = "Helper is not installed"; +"InstallHelper" = "Install helper"; + +// Experiment Preference Pane +"Experiments" = "Experiments"; +"FasterUnxip" = "Faster Unxip"; +"UseUnxipExperiment" = "When unxipping, use experiment"; +"FasterUnxipDescription" = "Thanks to @_saagarjha, this experiment can increase unxipping speed by up to 70% for some systems.\n\nMore information on how this is accomplished can be seen on the unxip repo - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Access Granted. You will receive notifications from Xcodes."; +"AccessDenied" = "⚠️ Access Denied ⚠️\n\nPlease open your Notification Settings and select Xcodes if you wish to allow access."; +"NotificationSettings" = "通知偏好設定"; +"EnableNotifications" = "Enable Notifications"; + +// SignIn +"SignInWithApple" = "登入您的Apple ID"; +"AppleID" = "Apple ID:"; +"Password" = "密碼:"; +"Required" = "Required"; +"SignOut" = "登出"; + +// SMS/2FA +"DigitCodeDescription" = "Enter the %d digit code from one of your trusted devices:"; +"SendSMS" = "Send SMS"; +"EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; +"SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; +"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "上一次檢查:"; + +// ToolBar +"Login" = "Login"; +"LoginDescription" = "Open Login"; +"Refresh" = "Refresh"; +"RefreshDescription" = "Refresh Xcode List"; +"All" = "All"; +"Release" = "Release"; +"ReleaseOnly" = "Release only"; +"Beta" = "Beta"; +"BetaOnly" = "Beta only"; +"Filter" = "Filter"; +"FilterAvailableDescription" = "Filter available versions"; +"FilterInstalledDescription" = "Filter installed versions"; +"Info" = "Info"; +"InfoDescription" = "Show or hide the info pane"; +"Preferences" = "Preferences"; +"PreferencesDescription" = "Open Preferences"; +"Search" = "搜尋⋯"; +"SearchDescription" = "Search list"; + +// List +"ActiveVersionDescription" = "This is the active version"; +"MakeActiveVersionDescription" = "Make this the active version"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Uninstall Xcode %@?"; +"Alert.Uninstall.Message" = "It will be moved to the Trash, but won't be emptied."; +"Alert.Uninstall.Error.Title" = "Unable to uninstall Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Are you sure you want to stop the installation of Xcode %@?"; +"Alert.CancelInstall.Message" = "Any progress will be discarded."; +"Alert.CancelInstall.PrimaryButton" = "Stop Installation"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Privileged Helper"; +"Alert.PrivilegedHelper.Message" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; +"Alert.PrivilegedHelper.Error.Title" = "Unable to install helper"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Minimum requirements not met"; +"Alert.MinSupported.Message" = "Xcode %@ requires MacOS %@, but you are running MacOS %@, do you still want to install it?"; + +// Install +"Alert.Install.Error.Title" = "Unable to install Xcode"; +"Alert.InstallArchive.Error.Title" = "Unable to install archived Xcode"; + +// Update +"Alert.Update.Error.Title" = "Unable to update selected Xcode"; + +// Active/Select +"Alert.Select.Error.Title" = "Unable to select Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Unable to create symbolic Link"; +"Alert.SymLink.Message" = "Xcode.app exists and is not a symbolic link"; + +// Post install +"Alert.PostInstall.Title" = "Unable to perform post install steps"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "The archive \"%@\" is damaged and can't be expanded."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "The archive \"%@\" can’t be expanded because the current volume doesn’t have enough free space.\n\nMake more space available to expand the archive and then install Xcode %@ again to start installation from where it left off."; +"InstallationError.FailedToMoveXcodeToApplications" = "Failed to move Xcode to the %@ directory."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; +"InstallationError.CodesignVerifyFailed" = "The downloaded Xcode failed code signing verification with the following output:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "The downloaded Xcode doesn't have the expected code signing identity.\nGot:\n%@\n%@\nExpected:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes doesn't (yet) support installing Xcode from the %@ file format."; +"InstallationError.MissingSudoerPassword" = "Missing password. Please try again."; +"InstallationError.UnavailableVersion" = "Could not find version %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "No non-prerelease versions available."; +"InstallationError.NoPrereleaseVersionAvailable" = "No prerelease versions available."; +"InstallationError.MissingUsernameOrPassword" = "Missing username or a password. Please try again."; +"InstallationError.VersionAlreadyInstalled" = "%@ is already installed at %@"; +"InstallationError.InvalidVersion" = "%@ is not a valid version number."; +"InstallationError.VersionNotInstalled" = "%@ is not installed."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode %@."; + +// Installation Steps +"Downloading" = "Downloading"; +"Unarchiving" = "Unarchiving (This can take a while)"; +"Moving" = "Moving to %@"; +"TrashingArchive" = "Moving archive to the Trash"; +"CheckingSecurity" = "Security verification"; +"Finishing" = "Finishing"; + +// Notifications +"Notification.NewVersionAvailable" = "New version is available"; +"Notification.FinishedInstalling" = "Finished installing"; + + +"HelperClient.error" = "Unable to communicate with privileged helper."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "New Xcode versions"; +"Notification.NewXcodeVersion.Body" = "New Xcode versions are available to download."; From 2f408212444e7aaa42bec0a46cc9de938621fcf0 Mon Sep 17 00:00:00 2001 From: Ethan Huang Date: Sun, 15 May 2022 09:58:06 +0800 Subject: [PATCH 077/180] Delete the extra colon --- Xcodes/Resources/zh-Hant.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings index e6fdb63..8d1c7f8 100644 --- a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -68,7 +68,7 @@ "AppUpdates" = "Xcodes.app Updates"; "CheckForAppUpdates" = "自動檢查更新項目"; "CheckNow" = "立即檢查"; -"LastChecked" = "上一次檢查::%@"; +"LastChecked" = "上一次檢查:%@"; "Never" = "從未使用"; // Advanced Preference Pane From a9c7e524ad9eb8fbac3b7288463de5cdfd82ad29 Mon Sep 17 00:00:00 2001 From: Zero Cho Date: Mon, 6 Jun 2022 15:34:17 -0700 Subject: [PATCH 078/180] finish up TC localization --- Xcodes.xcodeproj/project.pbxproj | 2 +- .../zh-Hant.lproj/Localizable.strings | 212 +++++++++--------- 2 files changed, 107 insertions(+), 107 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index c108423..375e0fc 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -175,9 +175,9 @@ 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; + 6CA3A090282EBE72005A6E35 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; 9D3C3AF7282EBE3300CB0D37 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; AAB037D32839BD4700017680 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 6CA3A090282EBE72005A6E35 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; C0AE7FA4283002DC00DA63D2 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings index 8d1c7f8..c3a3dd0 100644 --- a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -1,6 +1,6 @@ // Menu "Menu.About" = "關於 Xcodes"; -"Menu.CheckForUpdates" = "檢查更新項目⋯"; +"Menu.CheckForUpdates" = "檢查更新版本⋯"; "Menu.Acknowledgements" = "Xcodes 版權宣告"; "Menu.GitHubRepo" = "Xcodes GitHub Repo"; "Menu.ReportABug" = "回報錯誤"; @@ -9,13 +9,13 @@ // Common "Install" = "安裝"; "InstallDescription" = "安裝這個版本"; -"RevealInFinder" = "顯示於Finder"; +"RevealInFinder" = "顯示於 Finder"; "Active" = "啟用中"; "MakeActive" = "啟用"; "Open" = "打開"; "OpenDescription" = "打開這個版本"; "CopyPath" = "拷貝路徑"; -"CreateSymLink" = "製作指向 Xcode.app 的 Symlink"; +"CreateSymLink" = "製作 Xcode.app 的 Symlink"; "Uninstall" = "解除安裝"; "Selected" = "已選取"; "Select" = "選取"; @@ -27,7 +27,7 @@ // Info Pane "IdenticalBuilds" = "相同的建置版本"; -"IdenticalBuilds.help" = "Sometimes a prerelease and release version are the exact same build. Xcodes will automatically display these versions together."; +"IdenticalBuilds.help" = "有時候預先發行版與正式版的建制版本號會相同,Xcodes 會自動將這些版本整理在一起。"; "ReleaseDate" = "發行日期"; "ReleaseNotes" = "版本附註"; @@ -42,16 +42,16 @@ // Installation Steps // When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" // So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" -"InstallationStepDescription" = "第%1$d步(共%2$d步):%3$@"; -"DownloadingPercentDescription" = "下載中:已完成%d%%"; +"InstallationStepDescription" = "步驟 %1$d 之 %2$d:%3$@"; +"DownloadingPercentDescription" = "下載中:已完成 %d%%"; "StopInstallation" = "停止安裝"; -"DownloadingError" = "No download information found"; +"DownloadingError" = "找不到下載相關資訊"; // About -"VersionWithBuild" = "Version %@ (%@)"; +"VersionWithBuild" = "版本 %@ (%@)"; "GithubRepo" = "GitHub Repo"; "Acknowledgements" = "版權宣告"; -"UnxipExperiment" = "Unxip Experiment"; +"UnxipExperiment" = "Unxip 試驗"; "License" = "軟體許可證"; // General Preference Pane @@ -63,156 +63,156 @@ // Updates Preference Pane "Updates" = "更新"; "Versions" = "版本"; -"AutomaticInstallNewVersion" = "Automatically install new versions of Xcode"; -"IncludePreRelease" = "Include prerelease/beta versions"; -"AppUpdates" = "Xcodes.app Updates"; +"AutomaticInstallNewVersion" = "自動安裝新版本的 Xcode"; +"IncludePreRelease" = "包含預先發行及測試版"; +"AppUpdates" = "Xcodes.app 更新"; "CheckForAppUpdates" = "自動檢查更新項目"; "CheckNow" = "立即檢查"; -"LastChecked" = "上一次檢查:%@"; +"LastChecked" = "上一次檢查: %@"; "Never" = "從未使用"; // Advanced Preference Pane "Advanced" = "進階"; -"LocalCachePath" = "Local Cache Path"; -"LocalCachePathDescription" = "Xcodes caches available Xcode versions and temporary downloads new versions to a directory"; -"Change" = "Change"; -"Active/Select" = "Active/Select"; -"AutomaticallyCreateSymbolicLink" = "Automatically create symbolic link to Xcodes.app"; -"AutomaticallyCreateSymbolicLinkDescription" = "When making an Xcode version Active/Selected, try and create a symbolic link named Xcode.app in the installation directory"; -"DataSource" = "Data Source"; -"DataSourceDescription" = "The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; -"Downloader" = "Downloader"; -"DownloaderDescription" = "aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license.\n\nURLSession is the default Apple API for making URL requests."; -"PrivilegedHelper" = "Privileged Helper"; -"PrivilegedHelperDescription" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; -"HelperInstalled" = "Helper is installed"; -"HelperNotInstalled" = "Helper is not installed"; -"InstallHelper" = "Install helper"; +"LocalCachePath" = "本機快取路徑"; +"LocalCachePathDescription" = "Xcodes 會快取可用的 Xcode 版本並將新版本暫存下載至這個目錄"; +"Change" = "變更"; +"Active/Select" = "啟用/選取"; +"AutomaticallyCreateSymbolicLink" = "自動建立 Symlink 至 Xcode.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "當你選擇/啟用一個 Xcode 版本,自動建立一個名為 Xcode.app 的 Symlink 到該版本的安裝目錄"; +"DataSource" = "資料來源"; +"DataSourceDescription" = "Apple 資料來源是擷取 Apple 開發者網站而來,永遠會顯示最新的可用版本,但比較容易出錯。\n\nXcode Releases 是一個非官方的 Xcodes 發行版本列表。這個來源提供格式良好的資料,包含了 Apple 開發者網站上未列出的額外資訊並且即使 Apple 決定重新設計他們的開發者網站也比較不容易出錯。"; +"Downloader" = "下載器"; +"DownloaderDescription" = "aria2 相較 URLSession 可以同時使用最多 16 條連線以 3 ~ 5 倍的速度下載 Xcode。Xcodes 包含了執行檔與其原始碼以遵循他的 GPLv2 授權合約。\n\nURLSession 是系統內建用來發送 URL 連線請求的 Apple API。"; +"PrivilegedHelper" = "權限輔助程式"; +"PrivilegedHelperDescription" = "Xcodes 使用一個分開的權限輔助程式以使用 root 身份執行特定工作。這些工作包含了通常需要在命令列使用 sudo 的指令,包含安裝後步驟以及使用 xcode-select 選擇 Xcode 版本。\n\n安裝時,你將會被詢問你的 macOS 帳號密碼。"; +"HelperInstalled" = "輔助程式已安裝"; +"HelperNotInstalled" = "輔助程式尚未安裝"; +"InstallHelper" = "安裝輔助程式"; // Experiment Preference Pane -"Experiments" = "Experiments"; -"FasterUnxip" = "Faster Unxip"; -"UseUnxipExperiment" = "When unxipping, use experiment"; -"FasterUnxipDescription" = "Thanks to @_saagarjha, this experiment can increase unxipping speed by up to 70% for some systems.\n\nMore information on how this is accomplished can be seen on the unxip repo - https://github.com/saagarjha/unxip"; +"Experiments" = "實驗"; +"FasterUnxip" = "更快的 Unxip"; +"UseUnxipExperiment" = "解壓縮 (Unxip) 時,使用這個試驗版本"; +"FasterUnxipDescription" = "感謝 @_saagarjha 的努力,這個試驗版本可以在某些系統上加快 70% 的解壓縮速度。\n\n更多關於這項成就是如何達成的資訊,請參閱 unxip 的 repo - https://github.com/saagarjha/unxip"; // Notifications -"AccessGranted" = "Access Granted. You will receive notifications from Xcodes."; -"AccessDenied" = "⚠️ Access Denied ⚠️\n\nPlease open your Notification Settings and select Xcodes if you wish to allow access."; +"AccessGranted" = "通知已啟用。你將會開始收到來自 Xcodes 的通知。"; +"AccessDenied" = "⚠️ 通知已停用 ⚠️\n\n如果你想要啟用通知,請打開你的通知設定並選擇 Xcodes。"; "NotificationSettings" = "通知偏好設定"; -"EnableNotifications" = "Enable Notifications"; +"EnableNotifications" = "啟用通知"; // SignIn "SignInWithApple" = "登入您的Apple ID"; "AppleID" = "Apple ID:"; "Password" = "密碼:"; -"Required" = "Required"; +"Required" = "必要"; "SignOut" = "登出"; // SMS/2FA -"DigitCodeDescription" = "Enter the %d digit code from one of your trusted devices:"; -"SendSMS" = "Send SMS"; -"EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; -"SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; -"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; +"DigitCodeDescription" = "請輸入顯示在你其中一個信任裝置中的 %d 位數密碼:"; +"SendSMS" = "傳送簡訊"; +"EnterDigitCodeDescription" = "請輸入 %d 位數密碼,已傳送至 %@: "; +"SelectTrustedPhone" = "請輸入一個你想用來接收 %d 位數密碼簡訊的電話號碼:"; +"NoTrustedPhones" = "你的帳號沒有任何已信任的手機號碼,但兩階段認證需要信任的手機號碼。\n\n請參閱 https://support.apple.com/zh-tw/HT204915."; // MainWindow "UpdatedAt" = "上一次檢查:"; // ToolBar -"Login" = "Login"; -"LoginDescription" = "Open Login"; -"Refresh" = "Refresh"; -"RefreshDescription" = "Refresh Xcode List"; -"All" = "All"; -"Release" = "Release"; -"ReleaseOnly" = "Release only"; -"Beta" = "Beta"; -"BetaOnly" = "Beta only"; -"Filter" = "Filter"; -"FilterAvailableDescription" = "Filter available versions"; -"FilterInstalledDescription" = "Filter installed versions"; -"Info" = "Info"; -"InfoDescription" = "Show or hide the info pane"; -"Preferences" = "Preferences"; -"PreferencesDescription" = "Open Preferences"; +"Login" = "登入"; +"LoginDescription" = "打開登入"; +"Refresh" = "更新"; +"RefreshDescription" = "更新 Xcode 版本列表"; +"All" = "全部"; +"Release" = "正式版"; +"ReleaseOnly" = "只看正式版"; +"Beta" = "測試版"; +"BetaOnly" = "只看測試版"; +"Filter" = "過濾"; +"FilterAvailableDescription" = "顯示可用的版本"; +"FilterInstalledDescription" = "顯示已安裝的版本"; +"Info" = "資訊"; +"InfoDescription" = "顯示或隱藏資訊面板"; +"Preferences" = "偏好設定"; +"PreferencesDescription" = "打開偏好設定"; "Search" = "搜尋⋯"; -"SearchDescription" = "Search list"; +"SearchDescription" = "搜尋列表"; // List -"ActiveVersionDescription" = "This is the active version"; -"MakeActiveVersionDescription" = "Make this the active version"; +"ActiveVersionDescription" = "這是啟用中版本"; +"MakeActiveVersionDescription" = "啟用這個版本"; // Alerts // Uninstall -"Alert.Uninstall.Title" = "Uninstall Xcode %@?"; -"Alert.Uninstall.Message" = "It will be moved to the Trash, but won't be emptied."; -"Alert.Uninstall.Error.Title" = "Unable to uninstall Xcode"; +"Alert.Uninstall.Title" = "解除安裝 Xcode %@?"; +"Alert.Uninstall.Message" = "它將會被移到垃圾桶,但不會被清除。"; +"Alert.Uninstall.Error.Title" = "無法解除安裝 Xcode"; // Cancel Install -"Alert.CancelInstall.Title" = "Are you sure you want to stop the installation of Xcode %@?"; -"Alert.CancelInstall.Message" = "Any progress will be discarded."; -"Alert.CancelInstall.PrimaryButton" = "Stop Installation"; +"Alert.CancelInstall.Title" = "你確定你想要停止安裝 Xcode %@?"; +"Alert.CancelInstall.Message" = "所有已進行的安裝步驟將被放棄。"; +"Alert.CancelInstall.PrimaryButton" = "停止安裝"; // Privileged Helper -"Alert.PrivilegedHelper.Title" = "Privileged Helper"; -"Alert.PrivilegedHelper.Message" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; -"Alert.PrivilegedHelper.Error.Title" = "Unable to install helper"; +"Alert.PrivilegedHelper.Title" = "權限輔助程式"; +"Alert.PrivilegedHelper.Message" = "Xcodes 使用一個分開的權限輔助程式以使用 root 身份執行特定工作。這些工作包含了通常需要在命令列使用 sudo 的指令,包含安裝後步驟以及使用 xcode-select 選擇 Xcode 版本。\n\n安裝時,你將會被詢問你的 macOS 帳號密碼。"; +"Alert.PrivilegedHelper.Error.Title" = "無法安裝輔助程式"; // Min MacOS Supported -"Alert.MinSupported.Title" = "Minimum requirements not met"; -"Alert.MinSupported.Message" = "Xcode %@ requires MacOS %@, but you are running MacOS %@, do you still want to install it?"; +"Alert.MinSupported.Title" = "未達最低版本要求"; +"Alert.MinSupported.Message" = "Xcode %@ 需要 MacOS %@,但你正在使用 MacOS %@,你確定還要繼續安裝嗎?"; // Install -"Alert.Install.Error.Title" = "Unable to install Xcode"; -"Alert.InstallArchive.Error.Title" = "Unable to install archived Xcode"; +"Alert.Install.Error.Title" = "無法安裝 Xcode"; +"Alert.InstallArchive.Error.Title" = "無法安裝已封存的 Xcode"; // Update -"Alert.Update.Error.Title" = "Unable to update selected Xcode"; +"Alert.Update.Error.Title" = "無法更新已選擇的 Xcode"; // Active/Select -"Alert.Select.Error.Title" = "Unable to select Xcode"; +"Alert.Select.Error.Title" = "無法選擇 Xcode"; // Symbolic Links -"Alert.SymLink.Title" = "Unable to create symbolic Link"; -"Alert.SymLink.Message" = "Xcode.app exists and is not a symbolic link"; +"Alert.SymLink.Title" = "無法建立 Symlink"; +"Alert.SymLink.Message" = "Xcode.app 已經存在,但並不是一個 Symlink"; // Post install -"Alert.PostInstall.Title" = "Unable to perform post install steps"; +"Alert.PostInstall.Title" = "無法進行安裝後步驟"; // InstallationErrors -"InstallationError.DamagedXIP" = "The archive \"%@\" is damaged and can't be expanded."; -"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "The archive \"%@\" can’t be expanded because the current volume doesn’t have enough free space.\n\nMake more space available to expand the archive and then install Xcode %@ again to start installation from where it left off."; -"InstallationError.FailedToMoveXcodeToApplications" = "Failed to move Xcode to the %@ directory."; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; -"InstallationError.CodesignVerifyFailed" = "The downloaded Xcode failed code signing verification with the following output:\n%@"; -"InstallationError.UnexpectedCodeSigningIdentity" = "The downloaded Xcode doesn't have the expected code signing identity.\nGot:\n%@\n%@\nExpected:\n%@\n%@"; -"InstallationError.UnsupportedFileFormat" = "Xcodes doesn't (yet) support installing Xcode from the %@ file format."; -"InstallationError.MissingSudoerPassword" = "Missing password. Please try again."; -"InstallationError.UnavailableVersion" = "Could not find version %@."; -"InstallationError.NoNonPrereleaseVersionAvailable" = "No non-prerelease versions available."; -"InstallationError.NoPrereleaseVersionAvailable" = "No prerelease versions available."; -"InstallationError.MissingUsernameOrPassword" = "Missing username or a password. Please try again."; -"InstallationError.VersionAlreadyInstalled" = "%@ is already installed at %@"; -"InstallationError.InvalidVersion" = "%@ is not a valid version number."; -"InstallationError.VersionNotInstalled" = "%@ is not installed."; -"InstallationError.PostInstallStepsNotPerformed.Installed" = "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode %@."; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode %@."; +"InstallationError.DamagedXIP" = "壓縮檔 \"%@\" 已經損壞並無法解壓縮。"; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "壓縮檔 \"%@\" 由於缺乏足夠的磁碟空間,無法解壓縮。\n\n請清空更多磁碟空間以確保可以解壓縮該檔案,然後再重新安裝 Xcode %@ 一次。安裝步驟將會從上次停住的地方繼續。"; +"InstallationError.FailedToMoveXcodeToApplications" = "無法將 Xcode 移動至 %@ 目錄。"; +"InstallationError.FailedSecurityAssessment" = "由於以下原因無法安全驗證 Xcode %@:\n%@\n如果你執意使用,該版本仍然安裝於 %@。"; +"InstallationError.CodesignVerifyFailed" = "下載的 Xcode 由於以下原因無法驗證 Codesign 簽章\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "下載的 Xcode 含有未預期的簽章。\n簽章人:\n%@\n%@\n預期的簽章人:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes 目前尚未支援由 %@ 檔案格式安裝 Xcode。"; +"InstallationError.MissingSudoerPassword" = "找不到密碼,請再試一次。"; +"InstallationError.UnavailableVersion" = "找不到版本 %@。"; +"InstallationError.NoNonPrereleaseVersionAvailable" = "目前沒有可用的非預先發行版本。"; +"InstallationError.NoPrereleaseVersionAvailable" = "目前沒有可用的預先發行版本。"; +"InstallationError.MissingUsernameOrPassword" = "找不到使用者名稱或是密碼,請再試一次。"; +"InstallationError.VersionAlreadyInstalled" = "%@ 已經安裝於 %@"; +"InstallationError.InvalidVersion" = "%@ 不是個正確的版本號碼。"; +"InstallationError.VersionNotInstalled" = "%@ 沒有被安裝。"; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "安裝已經完成,但有些安裝後步驟沒有自動執行。這些步驟在你第一次啟動 Xcode %@ 的時候會自動執行。"; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "安裝已經完成,但有些安裝後步驟沒有自動執行。 Xcodes 需要權限輔助程式來執行這些步驟,但該程式尚未被安裝。你可以在 偏好設定 > 進階中安裝它。\n\n這些步驟在你第一次啟動 Xcode %@ 的時候會自動執行。"; // Installation Steps -"Downloading" = "Downloading"; -"Unarchiving" = "Unarchiving (This can take a while)"; -"Moving" = "Moving to %@"; -"TrashingArchive" = "Moving archive to the Trash"; -"CheckingSecurity" = "Security verification"; -"Finishing" = "Finishing"; +"Downloading" = "下載中"; +"Unarchiving" = "解壓縮中 (可能需要一點時間)"; +"Moving" = "移動至 %@"; +"TrashingArchive" = "移動封存檔到垃圾桶"; +"CheckingSecurity" = "安全驗證中"; +"Finishing" = "收尾中"; // Notifications -"Notification.NewVersionAvailable" = "New version is available"; -"Notification.FinishedInstalling" = "Finished installing"; +"Notification.NewVersionAvailable" = "有新的版本可用"; +"Notification.FinishedInstalling" = "已經完成安裝"; -"HelperClient.error" = "Unable to communicate with privileged helper."; +"HelperClient.error" = "無法與權限輔助程式溝通。"; ///++ // Notifications -"Notification.NewXcodeVersion.Title" = "New Xcode versions"; -"Notification.NewXcodeVersion.Body" = "New Xcode versions are available to download."; +"Notification.NewXcodeVersion.Title" = "新的 Xcode 版本"; +"Notification.NewXcodeVersion.Body" = "新的 Xcode 版本已經可以下載了"; From 6d6b9db70e410cb6336e4971676ec6679bfb45c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Jun 2022 10:05:48 +0000 Subject: [PATCH 079/180] Bump actions/cache from 3.0.3 to 3.0.4 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.3 to 3.0.4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.3...v3.0.4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index f87f007..e8ebf51 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.3 + uses: actions/cache@v3.0.4 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 75a90474923e50ec19a1b937641205d93e3be0c8 Mon Sep 17 00:00:00 2001 From: Dietrich Tegge Date: Wed, 8 Jun 2022 14:49:15 +0200 Subject: [PATCH 080/180] German translation added --- Xcodes/Resources/de.lproj/Localizable.strings | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 Xcodes/Resources/de.lproj/Localizable.strings diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings new file mode 100644 index 0000000..9681120 --- /dev/null +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "Über Xcodes"; +"Menu.CheckForUpdates" = "Prüfe auf Updates..."; +"Menu.Acknowledgements" = "Xcodes Anerkennungen"; +"Menu.GitHubRepo" = "Xcodes GitHub-Repo"; +"Menu.ReportABug" = "Bug melden"; +"Menu.RequestNewFeature" = "Neues Feature anfordern"; + +// Common +"Install" = "Installieren"; +"InstallDescription" = "Diese Version installieren"; +"RevealInFinder" = "Im Finder anzeigen"; +"Active" = "Aktiv"; +"MakeActive" = "Aktivieren"; +"Open" = "Öffnen"; +"OpenDescription" = "Diese Version öffnen"; +"CopyPath" = "Pfad kopieren"; +"CreateSymLink" = "Symlink als Xcode.app erstellen"; +"Uninstall" = "Deinstallieren"; +"Selected" = "Ausgewählt"; +"Select" = "Auswählen"; +"Cancel" = "Abbrechen"; +"Next" = "Nächstes"; +"Continue" = "Fortfahren"; +"Close" = "Schließen"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Identische Builds"; +"IdenticalBuilds.help" = "Manchmal sind Prerelease- and Release-Version der exakt gleich Build. Xcodes zeigt diese beiden Versionen automatisch zusammen an."; + +"ReleaseDate" = "Release-Datum"; +"ReleaseNotes" = "Release-Notes"; +"ReleaseNotes.help" = "Release-Notes anzeigen"; +"Compatibility" = "Kompatibilität"; +"MacOSRequirement" = "Erfordert macOS %@ oder neuer"; +"SDKs" = "SDKs"; +"Compilers" = "Compiler"; +"DownloadSize" = "Download-Größe"; +"NoXcodeSelected" = "Kein Xcode ausgewählt"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Schritt %1$d von %2$d: %3$@"; +"DownloadingPercentDescription" = "Download: %d%% vollständig"; +"StopInstallation" = "Installation stoppen"; +"DownloadingError" = "Keine Download-Informationen gefunden"; + +// About +"VersionWithBuild" = "Version %@ (%@)"; +"GithubRepo" = "GitHub-Repo"; +"Acknowledgements" = "Anerkennungen"; +"UnxipExperiment" = "Unxip-Experiment"; +"License" = "Lizenz"; + +// General Preference Pane +"General" = "Allgemein"; +"AppleID" = "Apple-ID"; +"SignIn" = "Anmelden"; +"Notifications" = "Benachrichtigungen"; + +// Updates Preference Pane +"Updates" = "Updates"; +"Versions" = "Versionen"; +"AutomaticInstallNewVersion" = "Neue Versionen von Xcode automatisch installieren"; +"IncludePreRelease" = "Prerelease-/Beta-Versionen einschließen"; +"AppUpdates" = "Xcodes.app-Updates"; +"CheckForAppUpdates" = "Automatisch auf App-Updates prüfen"; +"CheckNow" = "Jetzt prüfen"; +"LastChecked" = "Letzte Prüfung: %@"; +"Never" = "Nie"; + +// Advanced Preference Pane +"Advanced" = "Erweitert"; +"LocalCachePath" = "Lokaler Cache-Pfad"; +"LocalCachePathDescription" = "Xcodes speichert verfügbare Xcode-Versionen zwischen und lädt neue Versionen temporär in ein Verzeichnis."; +"Change" = "Ändern"; +"Active/Select" = "Aktiv/Auswählen"; +"AutomaticallyCreateSymbolicLink" = "Symbolischen Link zur Xcode.app automatisch erstellen"; +"AutomaticallyCreateSymbolicLinkDescription" = "Beim Umstellen der Xcode-Version auf Aktiv/Ausgewählt versuchen einen symbolischen Link namens Xcode.app im Installationsverzeichnis zu erstellen."; +"DataSource" = "Datenquelle"; +"DataSourceDescription" = "Die Apple-Datenquelle liest die Apple Developer-Website aus. Sie zeigt immer die neuesten Releases an, die verfügbar sind, ist allerdings etwas instabiler.\n\nXcode-Releases ist eine inoffizielle Liste von Xcode-Veröffentlichungen. Sie wird als formatierte Daten bereitsgestellt, enthält Extrainformationen die nicht ohne weiteres von Apple erhältlich sind und ist mit höherer Wahrscheinlichkeit weiter verfügbar, sollte Apple seine Entwickler-Website neu gestalten."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 verwendet bis zu 16 Verbindungen, um Xcode 3-5x schneller als URLSession herunterzuladen. Es ist zusammen mit seinem Quellcode in Xcode enthalten, um seiner GPLv2-Lizenz nachzukommen.\n\nURLSession ist Apples Standard-API für URL-Requests."; +"PrivilegedHelper" = "Privilegierter Helfer"; +"PrivilegedHelperDescription" = "Xcodes verwendet einen separaten privilegierten Helfer, um Aufgaben als root zu erledigen. Das sind Dinge, die sudo in der Kommandozeile erfordern würden, einschließlich Post-Installationsschritte sowie das Umstellen von Xcode-Versionen mit xcode-select.\n\nUm ihn zu installieren, erfolgt eine Aufforderung zur Eingabe des Passworts für Dein macOS-Benutzerkonto."; +"HelperInstalled" = "Helfer ist installiert"; +"HelperNotInstalled" = "Helfer ist nicht installiert"; +"InstallHelper" = "Helfer installieren"; + +// Experiment Preference Pane +"Experiments" = "Experimente"; +"FasterUnxip" = "Schnellerer Unxip"; +"UseUnxipExperiment" = "Beim Unxipping, Experiment verwenden"; +"FasterUnxipDescription" = "Dank an @_saagarjha, dieses Experiment kann die Unxipping-Geschwindigkeit bis zu 70% auf einigen Systemen beschleunigen.\n\nMehr Informationen wie dies erreicht wird sind über das Unxip-Repo erhältlich - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Zugriff erlaubt. Du empfängst jetzt Benachrichtigungen von Xcodes."; +"AccessDenied" = "⚠️ Zugriff verweigert ⚠️\n\nBitte öffne Deine Benachrichtigungs-Einstellungen und wähle Xcodes aus, wenn Du den Zugriff erlauben möchtest."; +"NotificationSettings" = "Benachrichtigungs-Einstellungen"; +"EnableNotifications" = "Benachrichtigungen einschalten"; + +// SignIn +"SignInWithApple" = "Mit Deiner Apple-ID anmelden."; +"AppleID" = "Apple-ID:"; +"Password" = "Passwort:"; +"Required" = "Erforderlich"; +"SignOut" = "Abmelden"; + +// SMS/2FA +"DigitCodeDescription" = "Gib den %d-stelligen Code von einem Deiner Vertrauensgeräte ein:"; +"SendSMS" = "SMS senden"; +"EnterDigitCodeDescription" = "Gib den %d-stelligen Code ein der an '%@' gesendet wurde."; +"SelectTrustedPhone" = "Wähle eine vertrauenswürdige Telefonnummer aus, um einen %d-stelligen Code via SMS zum empfangen:"; +"NoTrustedPhones" = "Dein Account verfügt über keine vertrauenswürdigen Telefonnummern, diese sind aber für Zwei-Faktor-Authentifizierung erforderlich.\n\nInformationen dazu unter https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Aktalisiert am"; + +// ToolBar +"Login" = "Login"; +"LoginDescription" = "Login öffnen"; +"Refresh" = "Aktualisieren"; +"RefreshDescription" = "Xcode-Liste aktualisieren"; +"All" = "Alle"; +"Release" = "Release"; +"ReleaseOnly" = "Nur Release"; +"Beta" = "Beta"; +"BetaOnly" = "Nur Beta"; +"Filter" = "Filter"; +"FilterAvailableDescription" = "Verfügbare Versionen filtern"; +"FilterInstalledDescription" = "Installierte Versionen filtern"; +"Info" = "Info"; +"InfoDescription" = "Info-Panel anzeigen oder verbergen"; +"Preferences" = "Einstellungen"; +"PreferencesDescription" = "Einstellungen öffnen"; +"Search" = "Suchen ..."; +"SearchDescription" = "Suchliste"; + +// List +"ActiveVersionDescription" = "Dies ist die aktive Version"; +"MakeActiveVersionDescription" = "Dies zur aktiven Version machen"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Xcode %@ deinstallieren?"; +"Alert.Uninstall.Message" = "Die Anwendung wird in den Papierkorb verschoben, dieser wird aber nicht geleert."; +"Alert.Uninstall.Error.Title" = "Die Deinstallation von Xcode ist nicht möglich"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Bist du sicher, dass Du die installation von Xcode %@ anhalten möchtest?"; +"Alert.CancelInstall.Message" = "Jeglicher Fortschritt wird verworfen."; +"Alert.CancelInstall.PrimaryButton" = "Installation anhalten"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Privilegierter Helfer"; +"Alert.PrivilegedHelper.Message" = "Xcodes verwendet einen separaten privilegierten Helfer, um Aufgaben als root zu erledigen. Das sind Dinge, die sudo in der Kommandozeile erfordern würden, einschließlich Post-Installationsschritte sowie das Umstellen von Xcode-Versionen mit xcode-select.\n\nUm ihn zu installieren, erfolgt eine Aufforderung zur Eingabe des Passworts für Dein macOS-Benutzerkonto."; +"Alert.PrivilegedHelper.Error.Title" = "Installation des Helfers nicht möglich"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Minimalanforderungen nicht erfülltt"; +"Alert.MinSupported.Message" = "Xcode %@ erfordert MacOS %@ aber es läuft nur MacOS %@. Möchtest Du es trotzdem installieren?"; + +// Install +"Alert.Install.Error.Title" = "Installation von Xcode nicht möglich"; +"Alert.InstallArchive.Error.Title" = "Installation des archivierten Xcodes nicht möglich"; + +// Update +"Alert.Update.Error.Title" = "Update des ausgewählten Xcodes nicht möglich"; + +// Active/Select +"Alert.Select.Error.Title" = "Auswahl von Xcode nicht möglich"; + +// Symbolic Links +"Alert.SymLink.Title" = "Erstellung des symbolischen Links nicht möglich"; +"Alert.SymLink.Message" = "Xcode.app existiert und ist kein symbolischer Link"; + +// Post install +"Alert.PostInstall.Title" = "Ausführung von Post-Installationsschritten nicht möglich"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "Das Archiv \"%@\" ist beschädigt und kann nicht entpackt werden."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Das Archiv \"%@\" kann nicht entpackt werden, da auf dem aktuellen Volume nicht genügend freier Speicherplatz verfügbar ist.\n\nBitte stelle mehr Platz zur Verfügung, um das Archiv zu entpacken und installiere danach Xcode %@ erneut, um die Installation von dort zu beginnen wo sie beendet wurde."; +"InstallationError.FailedToMoveXcodeToApplications" = "Das Bewegen von Xcode in das %@-Verzeichnis ist nicht möglich."; +"InstallationError.FailedSecurityAssessment" = "Die Sicherheitsprüfung für Xcode %@ ist mit folgender Meldung gescheitert:\n%@\nXcode bleibt unter %@ installiert, für den Fall, dass es dennoch verwendet werden soll."; +"InstallationError.CodesignVerifyFailed" = "Die heruntergeladene Version von Xcode hat die Code-Signing-Prüfung nicht bestanden, mit folgendem Hinweis:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Die heruntergeladene Version von Xcode hat nicht die erwartete Code-Signing-Identity.\nErhalten:\n%@\n%@\nErwartet:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes unterstützt (bislang) nicht die Installation von Xcode per %@-Dateiformat."; +"InstallationError.MissingSudoerPassword" = "Passwort fehlt. Bitte erneut versuchen."; +"InstallationError.UnavailableVersion" = "Kann Version %@ nicht finden."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Keine Nicht-Prerelease-Versionen verfügbar."; +"InstallationError.NoPrereleaseVersionAvailable" = "Keine Prerelease-Versions verfügbar."; +"InstallationError.MissingUsernameOrPassword" = "Benutzername oder ein Passwort fehlt. Bitte erneut versuchen."; +"InstallationError.VersionAlreadyInstalled" = "%@ ist bereits installiert unter %@"; +"InstallationError.InvalidVersion" = "%@ ist keine gültige Versionsnummer."; +"InstallationError.VersionNotInstalled" = "%@ ist nicht installiert."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Die Installation ist abgeschlossen, allerdings wurden einige Post-Installationsschritte nicht automatisch ausgeführt. Diese werden beim ersten Start von Xcode %@ ausgeführt."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Die Installation ist abgeschlossen, allerdings wurden einige Post-Installationsschritte nicht automatisch ausgeführt. Xcodes führt diese Schritte mittels eines privilegierten Helfers aus, welcher aber nicht installiert zu sein scheint. Er kann über Einstellungen > Erweitert installiert werden. Diese Schritte werden beim ersten Start von Xcode %@ ausgeführt."; + +// Installation Steps +"Downloading" = "Herunterladen"; +"Unarchiving" = "Entpacken (Dies kann etwas dauern)"; +"Moving" = "In %@ bewegen"; +"TrashingArchive" = "Archiv in den Papierkorb bewegen"; +"CheckingSecurity" = "Sicherheitsprüfung"; +"Finishing" = "Abschließen"; + +// Notifications +"Notification.NewVersionAvailable" = "Neue Version verfügbar"; +"Notification.FinishedInstalling" = "Installation beendet"; + + +"HelperClient.error" = "Unable to communicate with privileged helper."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Neue Xcode-Versionen"; +"Notification.NewXcodeVersion.Body" = "Neue Xcode-Versionen stehen zum Download bereit."; From 25bbe1cb54e4f9a9b36935ae52ffbee3160963bf Mon Sep 17 00:00:00 2001 From: Ege Sucu Date: Thu, 9 Jun 2022 14:57:12 +0300 Subject: [PATCH 081/180] added Turkish Language improvements & Localized WWDC Message. --- Xcodes/Backend/AppState.swift | 2 +- Xcodes/Resources/en.lproj/Localizable.strings | 3 +++ Xcodes/Resources/es.lproj/Localizable.strings | 3 +++ Xcodes/Resources/fr.lproj/Localizable.strings | 3 +++ Xcodes/Resources/hi.lproj/Localizable.strings | 3 +++ Xcodes/Resources/it.lproj/Localizable.strings | 3 +++ Xcodes/Resources/ko.lproj/Localizable.strings | 3 +++ Xcodes/Resources/ru.lproj/Localizable.strings | 3 +++ Xcodes/Resources/tr.lproj/Localizable.strings | 15 +++++++++------ .../Resources/zh-Hans.lproj/Localizable.strings | 3 +++ 10 files changed, 34 insertions(+), 7 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 8cc87c5..664f355 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -102,7 +102,7 @@ class AppState: ObservableObject { let finishDate = formatter.date(from: "11/06/2022") if Date().compare(finishDate!) == .orderedAscending { - return "👨🏻‍💻👩🏼‍💻 Happy WWDC 2022! 👨🏽‍💻🧑🏻‍💻" + return String(format: localizeString("WWDC.Message"), "2022") } return "" } diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 6030e0c..1290573 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "New Xcode versions"; "Notification.NewXcodeVersion.Body" = "New Xcode versions are available to download."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index 3b99cdd..8c260ec 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "Nuevas versiones de Xcode"; "Notification.NewXcodeVersion.Body" = "Nuevas versiones de Xcode están disponibles para descargar."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index d09e546..253d074 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "Nouvelles versions de Xcode"; "Notification.NewXcodeVersion.Body" = "De nouvelles versions de Xcode sont disponibles au téléchargement."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index ca587d5..6fa1fcf 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -215,3 +215,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "नए Xcode संस्करण"; "Notification.NewXcodeVersion.Body" = "नए Xcode संस्करण डाउनलोड करने के लिए उपलब्ध हैं।"; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings index 7336969..c6b9c21 100644 --- a/Xcodes/Resources/it.lproj/Localizable.strings +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "Nuove versioni di Xcode"; "Notification.NewXcodeVersion.Body" = "Nuove versioni di Xcode disponibili per il download."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/ko.lproj/Localizable.strings b/Xcodes/Resources/ko.lproj/Localizable.strings index 3c22f61..4237712 100644 --- a/Xcodes/Resources/ko.lproj/Localizable.strings +++ b/Xcodes/Resources/ko.lproj/Localizable.strings @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "새 Xcode 버전"; "Notification.NewXcodeVersion.Body" = "새로운 Xcode 버전을 다운로드 할 수 있습니다."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index cbe41d3..e8d68ac 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -215,3 +215,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "Новые версии Xcode"; "Notification.NewXcodeVersion.Body" = "Новые версии Xcode доступны для скачивания."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index a20ec0d..ac4c6cc 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -37,7 +37,7 @@ "SDKs" = "SDKler"; "Compilers" = "Derleyiciler"; "DownloadSize" = "İndirme Boyutu"; -"NoXcodeSelected" = "Bir Xcode Seçilmedi"; +"NoXcodeSelected" = "Xcode Sürümü Seçilmedi"; // Installation Steps // When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" @@ -64,7 +64,7 @@ "Updates" = "Güncellemeler"; "Versions" = "Sürümler"; "AutomaticInstallNewVersion" = "Xcode'un yeni versiyonlarını otomatik yükle"; -"IncludePreRelease" = "prerelease/beta sürümlerini dahil et"; +"IncludePreRelease" = "Prerelease/beta sürümlerini dahil et"; "AppUpdates" = "Xcodes.app Güncellemeleri"; "CheckForAppUpdates" = "Uygulama güncellemelerini otomatik kontrol et"; "CheckNow" = "Kontrol Et"; @@ -116,11 +116,11 @@ "NoTrustedPhones" = "Hesabına tanımlı güvenli bir telefon numarası yok, fakat iki aşamalı doğrulama için gerekmektedir.\n\nDaha fazlası için https://support.apple.com/tr-tr/HT204915 adresine bakın."; // MainWindow -"UpdatedAt" = "Güncellenme Zamanı"; +"UpdatedAt" = "Güncellenme Zamanı:"; // ToolBar "Login" = "Giriş"; -"LoginDescription" = "Girişi Aç"; +"LoginDescription" = "Giriş Yap"; "Refresh" = "Yenile"; "RefreshDescription" = "Xcode Listesini Yenile"; "All" = "Tümü"; @@ -189,8 +189,8 @@ "InstallationError.UnsupportedFileFormat" = "Xcodes henüz Xcodu %@ dosya formatında yüklemeye (henüz) izin vermiyor."; "InstallationError.MissingSudoerPassword" = "Eksik şifre. Lütfen tekrar deneyin"; "InstallationError.UnavailableVersion" = "%@ sürümü bulunamadı."; -"InstallationError.NoNonPrereleaseVersionAvailable" = "prerelease olmayan sürümler yok."; -"InstallationError.NoPrereleaseVersionAvailable" = "prerelease sürümleri yok."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Prerelease olmayan sürümler yok."; +"InstallationError.NoPrereleaseVersionAvailable" = "Prerelease sürümleri yok."; "InstallationError.MissingUsernameOrPassword" = "Eksik kullanıcı adı veya şifre. Lütfen tekrar deneyin."; "InstallationError.VersionAlreadyInstalled" = "%@ zaten %@ konumunda yüklü."; "InstallationError.InvalidVersion" = "%@ geçerli bir sürüm numarası değil."; @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "Yeni Xcode sürümü"; "Notification.NewXcodeVersion.Body" = "Yeni Xcode sürümleri indirmek için mevcut."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 WWDC %@ haftanız kutlu olsun! 👨🏽‍💻🧑🏻‍💻"; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index 9bd86a6..a8487d3 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "新Xcode版本可用"; "Notification.NewXcodeVersion.Body" = "新的Xcode版本已经可以下载。"; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From 3213b3ef334ecb60bdaae4acbd04bd3492f71a9d Mon Sep 17 00:00:00 2001 From: Paul Semionov Date: Thu, 9 Jun 2022 23:03:03 +0300 Subject: [PATCH 082/180] Fixed wrong localization key for Github Repo in AboutView --- Xcodes/Frontend/About/AboutView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Frontend/About/AboutView.swift b/Xcodes/Frontend/About/AboutView.swift index 2858b5f..4967e2e 100644 --- a/Xcodes/Frontend/About/AboutView.swift +++ b/Xcodes/Frontend/About/AboutView.swift @@ -18,7 +18,7 @@ struct AboutView: View { Button(action: { openURL(URL(string: "https://github.com/RobotsAndPencils/XcodesApp/")!) }) { - Label("GitHubRepo", systemImage: "link") + Label("GithubRepo", systemImage: "link") } .buttonStyle(LinkButtonStyle()) From 8185b1054fd5bfb970cab45f78f7ee00d9306da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=9F=E3=81=A4=E3=81=9D=E3=82=99=E3=81=86?= Date: Sat, 11 Jun 2022 15:18:59 +0900 Subject: [PATCH 083/180] Add Japanese Translation (List, Setting, InfoPane) --- Xcodes.xcodeproj/project.pbxproj | 3 + Xcodes/Resources/ja.lproj/Localizable.strings | 218 ++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 Xcodes/Resources/ja.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 7871d60..f697e98 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -177,6 +177,7 @@ 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; 9D3C3AF7282EBE3300CB0D37 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; AAB037D32839BD4700017680 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + AB4EB0DE28541FA000FF3B1D /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; C0AE7FA4283002DC00DA63D2 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; @@ -708,6 +709,7 @@ tr, ko, it, + ja, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -915,6 +917,7 @@ 9D3C3AF7282EBE3300CB0D37 /* tr */, AAB037D32839BD4700017680 /* ko */, 25E2FA26284769A00014A318 /* it */, + AB4EB0DE28541FA000FF3B1D /* ja */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings new file mode 100644 index 0000000..3f432fe --- /dev/null +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "Xcodesについて"; +"Menu.CheckForUpdates" = "アップデートを確認..."; +"Menu.Acknowledgements" = "謝辞"; +"Menu.GitHubRepo" = "Xcodes GitHubリポジトリ"; +"Menu.ReportABug" = "バグを報告"; +"Menu.RequestNewFeature" = "新機能をリクエスト"; + +// Common +"Install" = "インストール"; +"InstallDescription" = "このバージョンをインストール"; +"RevealInFinder" = "Finderに表示"; +"Active" = "アクティブ"; +"MakeActive" = "アクティブにする"; +"Open" = "開く"; +"OpenDescription" = "このバージョンを開く"; +"CopyPath" = "パスをコピー"; +"CreateSymLink" = "Xcode.appとしてシンボリックリンクを作成"; +"Uninstall" = "アンインストール"; +"Selected" = "アクティブ"; +"Select" = "アクティブにする"; +"Cancel" = "キャンセル"; +"Next" = "次へ"; +"Continue" = "続ける"; +"Close" = "閉じる"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "同一ビルド"; +"IdenticalBuilds.help" = "プレリリース・リリースバージョンが同じビルドになることもあります。Xcodesでは同一ビルドとして表示されます。"; + +"ReleaseDate" = "リリース日時"; +"ReleaseNotes" = "リリースノート"; +"ReleaseNotes.help" = "リリースノートを表示"; +"Compatibility" = "互換性"; +"MacOSRequirement" = "macOS %@以降"; +"SDKs" = "SDKs"; +"Compilers" = "コンパイラ"; +"DownloadSize" = "サイズ"; +"NoXcodeSelected" = "バージョン情報を表示するには、いずれかのXcodeバージョンを選択してください。"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "ステップ %1$d / %2$d: %3$@"; +"DownloadingPercentDescription" = "ダウンロード中: %d%%"; +"StopInstallation" = "インストールを中止"; +"DownloadingError" = "ダウンロードに関する情報が見つかりませんでした。"; + +// About +"VersionWithBuild" = "バージョン%@ (%@)"; +"GithubRepo" = "GitHubリポジトリ"; +"Acknowledgements" = "謝辞"; +"UnxipExperiment" = "Unxip Experiment"; +"License" = "ライセンス"; + +// General Preference Pane +"General" = "一般"; +"AppleID" = "Apple ID"; +"SignIn" = "サインイン"; +"Notifications" = "通知"; + +// Updates Preference Pane +"Updates" = "アップデート"; +"Versions" = "バージョン"; +"AutomaticInstallNewVersion" = "新しいXcodeバージョンを自動的にインストールする"; +"IncludePreRelease" = "プレリリース・ベータバージョンを含める"; +"AppUpdates" = "Xcodes.app アップデート"; +"CheckForAppUpdates" = "アプリを自動的に最新の状態に保つ"; +"CheckNow" = "確認"; +"LastChecked" = "前回の確認: %@"; +"Never" = "なし"; + +// Advanced Preference Pane +"Advanced" = "高度"; +"LocalCachePath" = "ローカルキャッシュパス"; +"LocalCachePathDescription" = "Xcodesは利用可能なXcodeバージョンをキャッシュし、新バージョンを一時的に特定のディレクトリにダウンロードします。"; +"Change" = "変更"; +"Active/Select" = "アクティブ"; +"AutomaticallyCreateSymbolicLink" = "Xcode.appまでシンボリックリンクを自動的に作成する"; +"AutomaticallyCreateSymbolicLinkDescription" = "Xcodeバージョンをアクティブにする時、インストール先でXcode.appというシンボリックリンクを作成することを試みます。"; +"DataSource" = "データソース"; +"DataSourceDescription" = "AppleデータソースはApple Developerサイトからスクレイピングで情報を取得します。常に最新の利用可能なリリースを表示しますが、サイトのリデザインによって使えなくなることがあります。\n\nXcode Releasesは非公式のリリースリストです。よく整えられているデータを提供し、Appleからすぐに取得できない追加情報を含め、Apple Developerサイトがリデザインされた場合でも使えなくなる可能性は比較的に低いです。"; +"Downloader" = "ダウンローダー"; +"DownloaderDescription" = "aria2は最大16個のコネクションを使ってURLSessionより3-5倍速いスピードでXcodeをダウンロードします。GPLv2ライセンスを遵守するため、実行ファイルとしてソースコードと共にXcodesの中にバンドルされています。\n\nURLSessionはURLリクエストをするためのデフォルトのApple APIです。"; +"PrivilegedHelper" = "特権ヘルパー"; +"PrivilegedHelperDescription" = "Xcodesは独自の特権ヘルパーを使うことで、rootユーザとしてタスクを実行することができます。インストール後の作業やxcode-selectコマンドでXcode各バージョン間の切り替えを含め、コマンドラインでsudoしないとできないことがあります。\n\nインストールするには、macOSユーザのパスワードが求められます。"; +"HelperInstalled" = "インストール済み"; +"HelperNotInstalled" = "インストールされていません"; +"InstallHelper" = "ヘルパーをインストール"; + +// Experiment Preference Pane +"Experiments" = "実験"; +"FasterUnxip" = "より速いUnxip"; +"UseUnxipExperiment" = "実験的な実装でUnxipする"; +"FasterUnxipDescription" = "@_saagarjhaさんのおかげで、この実験的な実装ではUnxipをシステムによって最大70%スピードアップできます。\n\n実装の細部については、下記のunxipリポジトリをご参照ください。\nhttps://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "アクセスが許可されました。Xcodesから通知を受け取ることができます。"; +"AccessDenied" = "⚠️ アクセス拒否 ⚠️\n\nアクセスを許可したい場合は、通知設定を開いてXcodesを選択してください。"; +"NotificationSettings" = "通知設定"; +"EnableNotifications" = "通知を有効にする"; + +// SignIn +"SignInWithApple" = "Sign in with your Apple ID."; +"AppleID" = "AppleID:"; +"Password" = "Password:"; +"Required" = "Required"; +"SignOut" = "Sign Out"; + +// SMS/2FA +"DigitCodeDescription" = "Enter the %d digit code from one of your trusted devices:"; +"SendSMS" = "Send SMS"; +"EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; +"SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; +"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Updated at"; + +// ToolBar +"Login" = "Login"; +"LoginDescription" = "Open Login"; +"Refresh" = "Refresh"; +"RefreshDescription" = "Refresh Xcode List"; +"All" = "All"; +"Release" = "Release"; +"ReleaseOnly" = "Release only"; +"Beta" = "Beta"; +"BetaOnly" = "Beta only"; +"Filter" = "Filter"; +"FilterAvailableDescription" = "Filter available versions"; +"FilterInstalledDescription" = "Filter installed versions"; +"Info" = "Info"; +"InfoDescription" = "Show or hide the info pane"; +"Preferences" = "Preferences"; +"PreferencesDescription" = "Open Preferences"; +"Search" = "Search..."; +"SearchDescription" = "Search list"; + +// List +"ActiveVersionDescription" = "This is the active version"; +"MakeActiveVersionDescription" = "Make this the active version"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Uninstall Xcode %@?"; +"Alert.Uninstall.Message" = "It will be moved to the Trash, but won't be emptied."; +"Alert.Uninstall.Error.Title" = "Unable to uninstall Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Are you sure you want to stop the installation of Xcode %@?"; +"Alert.CancelInstall.Message" = "Any progress will be discarded."; +"Alert.CancelInstall.PrimaryButton" = "Stop Installation"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Privileged Helper"; +"Alert.PrivilegedHelper.Message" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; +"Alert.PrivilegedHelper.Error.Title" = "Unable to install helper"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Minimum requirements not met"; +"Alert.MinSupported.Message" = "Xcode %@ requires MacOS %@, but you are running MacOS %@, do you still want to install it?"; + +// Install +"Alert.Install.Error.Title" = "Unable to install Xcode"; +"Alert.InstallArchive.Error.Title" = "Unable to install archived Xcode"; + +// Update +"Alert.Update.Error.Title" = "Unable to update selected Xcode"; + +// Active/Select +"Alert.Select.Error.Title" = "Unable to select Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Unable to create symbolic Link"; +"Alert.SymLink.Message" = "Xcode.app exists and is not a symbolic link"; + +// Post install +"Alert.PostInstall.Title" = "Unable to perform post install steps"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "The archive \"%@\" is damaged and can't be expanded."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "The archive \"%@\" can’t be expanded because the current volume doesn’t have enough free space.\n\nMake more space available to expand the archive and then install Xcode %@ again to start installation from where it left off."; +"InstallationError.FailedToMoveXcodeToApplications" = "Failed to move Xcode to the %@ directory."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; +"InstallationError.CodesignVerifyFailed" = "The downloaded Xcode failed code signing verification with the following output:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "The downloaded Xcode doesn't have the expected code signing identity.\nGot:\n%@\n%@\nExpected:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes doesn't (yet) support installing Xcode from the %@ file format."; +"InstallationError.MissingSudoerPassword" = "Missing password. Please try again."; +"InstallationError.UnavailableVersion" = "Could not find version %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "No non-prerelease versions available."; +"InstallationError.NoPrereleaseVersionAvailable" = "No prerelease versions available."; +"InstallationError.MissingUsernameOrPassword" = "Missing username or a password. Please try again."; +"InstallationError.VersionAlreadyInstalled" = "%@ is already installed at %@"; +"InstallationError.InvalidVersion" = "%@ is not a valid version number."; +"InstallationError.VersionNotInstalled" = "%@ is not installed."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode %@."; + +// Installation Steps +"Downloading" = "Downloading"; +"Unarchiving" = "Unarchiving (This can take a while)"; +"Moving" = "Moving to %@"; +"TrashingArchive" = "Moving archive to the Trash"; +"CheckingSecurity" = "Security verification"; +"Finishing" = "Finishing"; + +// Notifications +"Notification.NewVersionAvailable" = "New version is available"; +"Notification.FinishedInstalling" = "Finished installing"; + + +"HelperClient.error" = "Unable to communicate with privileged helper."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "New Xcode versions"; +"Notification.NewXcodeVersion.Body" = "New Xcode versions are available to download."; From 65f79d9313a8d85cf41295de41270810626f260b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=9F=E3=81=A4=E3=81=9D=E3=82=99=E3=81=86?= Date: Sat, 11 Jun 2022 18:46:36 +0900 Subject: [PATCH 084/180] Add Japanese Translation (the rest) --- Xcodes/Resources/ja.lproj/Localizable.strings | 196 +++++++++--------- 1 file changed, 98 insertions(+), 98 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 3f432fe..7bf5081 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -1,21 +1,21 @@ // Menu -"Menu.About" = "Xcodesについて"; +"Menu.About" = "Xcodes について"; "Menu.CheckForUpdates" = "アップデートを確認..."; "Menu.Acknowledgements" = "謝辞"; -"Menu.GitHubRepo" = "Xcodes GitHubリポジトリ"; +"Menu.GitHubRepo" = "Xcodes GitHub リポジトリ"; "Menu.ReportABug" = "バグを報告"; "Menu.RequestNewFeature" = "新機能をリクエスト"; // Common "Install" = "インストール"; "InstallDescription" = "このバージョンをインストール"; -"RevealInFinder" = "Finderに表示"; +"RevealInFinder" = "Finder に表示"; "Active" = "アクティブ"; "MakeActive" = "アクティブにする"; "Open" = "開く"; "OpenDescription" = "このバージョンを開く"; "CopyPath" = "パスをコピー"; -"CreateSymLink" = "Xcode.appとしてシンボリックリンクを作成"; +"CreateSymLink" = "Xcode.app としてシンボリックリンクを作成"; "Uninstall" = "アンインストール"; "Selected" = "アクティブ"; "Select" = "アクティブにする"; @@ -27,17 +27,17 @@ // Info Pane "IdenticalBuilds" = "同一ビルド"; -"IdenticalBuilds.help" = "プレリリース・リリースバージョンが同じビルドになることもあります。Xcodesでは同一ビルドとして表示されます。"; +"IdenticalBuilds.help" = "プレリリース・リリースバージョンが同じビルドになることもあります。Xcodes では同一ビルドとして表示されます。"; "ReleaseDate" = "リリース日時"; "ReleaseNotes" = "リリースノート"; "ReleaseNotes.help" = "リリースノートを表示"; "Compatibility" = "互換性"; -"MacOSRequirement" = "macOS %@以降"; +"MacOSRequirement" = "macOS %@ 以降"; "SDKs" = "SDKs"; "Compilers" = "コンパイラ"; "DownloadSize" = "サイズ"; -"NoXcodeSelected" = "バージョン情報を表示するには、いずれかのXcodeバージョンを選択してください。"; +"NoXcodeSelected" = "バージョン情報を表示するには、いずれかの Xcode バージョンを選択してください。"; // Installation Steps // When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" @@ -48,8 +48,8 @@ "DownloadingError" = "ダウンロードに関する情報が見つかりませんでした。"; // About -"VersionWithBuild" = "バージョン%@ (%@)"; -"GithubRepo" = "GitHubリポジトリ"; +"VersionWithBuild" = "バージョン %@ (%@)"; +"GithubRepo" = "GitHub リポジトリ"; "Acknowledgements" = "謝辞"; "UnxipExperiment" = "Unxip Experiment"; "License" = "ライセンス"; @@ -63,7 +63,7 @@ // Updates Preference Pane "Updates" = "アップデート"; "Versions" = "バージョン"; -"AutomaticInstallNewVersion" = "新しいXcodeバージョンを自動的にインストールする"; +"AutomaticInstallNewVersion" = "新しい Xcode バージョンを自動的にインストールする"; "IncludePreRelease" = "プレリリース・ベータバージョンを含める"; "AppUpdates" = "Xcodes.app アップデート"; "CheckForAppUpdates" = "アプリを自動的に最新の状態に保つ"; @@ -74,145 +74,145 @@ // Advanced Preference Pane "Advanced" = "高度"; "LocalCachePath" = "ローカルキャッシュパス"; -"LocalCachePathDescription" = "Xcodesは利用可能なXcodeバージョンをキャッシュし、新バージョンを一時的に特定のディレクトリにダウンロードします。"; +"LocalCachePathDescription" = "Xcodes は利用可能な Xcode バージョンをキャッシュし、新しいバージョンを一時的に特定のディレクトリにダウンロードします。"; "Change" = "変更"; "Active/Select" = "アクティブ"; -"AutomaticallyCreateSymbolicLink" = "Xcode.appまでシンボリックリンクを自動的に作成する"; -"AutomaticallyCreateSymbolicLinkDescription" = "Xcodeバージョンをアクティブにする時、インストール先でXcode.appというシンボリックリンクを作成することを試みます。"; +"AutomaticallyCreateSymbolicLink" = "Xcode.app までシンボリックリンクを自動的に作成する"; +"AutomaticallyCreateSymbolicLinkDescription" = "Xcode バージョンをアクティブにする時、インストール先で Xcode.app というシンボリックリンクを作成することを試みます。"; "DataSource" = "データソース"; -"DataSourceDescription" = "AppleデータソースはApple Developerサイトからスクレイピングで情報を取得します。常に最新の利用可能なリリースを表示しますが、サイトのリデザインによって使えなくなることがあります。\n\nXcode Releasesは非公式のリリースリストです。よく整えられているデータを提供し、Appleからすぐに取得できない追加情報を含め、Apple Developerサイトがリデザインされた場合でも使えなくなる可能性は比較的に低いです。"; +"DataSourceDescription" = "Apple データソースは Apple Developer サイトからスクレイピングで情報を取得します。常に最新の利用可能なリリースを表示しますが、サイトのリデザインによって使えなくなることがあります。\n\nXcode Releases は非公式のリリースリストです。よく整えられているデータを提供し、Apple からすぐに取得できない追加情報を含め、Apple Developer サイトがリデザインされた場合でも使えなくなる可能性は比較的に低いです。"; "Downloader" = "ダウンローダー"; -"DownloaderDescription" = "aria2は最大16個のコネクションを使ってURLSessionより3-5倍速いスピードでXcodeをダウンロードします。GPLv2ライセンスを遵守するため、実行ファイルとしてソースコードと共にXcodesの中にバンドルされています。\n\nURLSessionはURLリクエストをするためのデフォルトのApple APIです。"; +"DownloaderDescription" = "aria2 は最大 16 個のコネクションを使って URLSession より 3-5 倍速いスピードで Xcode をダウンロードします。GPLv2 ライセンスを遵守するため、実行ファイルとしてソースコードと共に Xcodes の中にバンドルされています。\n\nURLSession は URL リクエストをするためのデフォルトの Apple API です。"; "PrivilegedHelper" = "特権ヘルパー"; -"PrivilegedHelperDescription" = "Xcodesは独自の特権ヘルパーを使うことで、rootユーザとしてタスクを実行することができます。インストール後の作業やxcode-selectコマンドでXcode各バージョン間の切り替えを含め、コマンドラインでsudoしないとできないことがあります。\n\nインストールするには、macOSユーザのパスワードが求められます。"; +"PrivilegedHelperDescription" = "Xcodes は独自の特権ヘルパーを使うことで、root ユーザとしてタスクを実行することができます。インストール後の作業や xcode-select コマンドで Xcode 各バージョン間の切り替えなどは、コマンドラインで sudo しないとできないことなのです。\n\nインストールするには、macOS ユーザのパスワードが求められます。"; "HelperInstalled" = "インストール済み"; "HelperNotInstalled" = "インストールされていません"; "InstallHelper" = "ヘルパーをインストール"; // Experiment Preference Pane "Experiments" = "実験"; -"FasterUnxip" = "より速いUnxip"; -"UseUnxipExperiment" = "実験的な実装でUnxipする"; -"FasterUnxipDescription" = "@_saagarjhaさんのおかげで、この実験的な実装ではUnxipをシステムによって最大70%スピードアップできます。\n\n実装の細部については、下記のunxipリポジトリをご参照ください。\nhttps://github.com/saagarjha/unxip"; +"FasterUnxip" = "より速い Unxip"; +"UseUnxipExperiment" = "実験的な実装で Unxip する"; +"FasterUnxipDescription" = "@_saagarjha さんのおかげで、この実験的な実装では Unxip をシステムによって最大 70% スピードアップできます。\n\n実装の細部については、こちらの unxip リポジトリをご確認ください。https://github.com/saagarjha/unxip"; // Notifications -"AccessGranted" = "アクセスが許可されました。Xcodesから通知を受け取ることができます。"; -"AccessDenied" = "⚠️ アクセス拒否 ⚠️\n\nアクセスを許可したい場合は、通知設定を開いてXcodesを選択してください。"; +"AccessGranted" = "アクセスが許可されました。Xcodes から通知を受け取ることができます。"; +"AccessDenied" = "⚠️ アクセス拒否 ⚠️\n\nアクセスを許可したい場合は、通知設定を開いて Xcodes を選択してください。"; "NotificationSettings" = "通知設定"; "EnableNotifications" = "通知を有効にする"; // SignIn -"SignInWithApple" = "Sign in with your Apple ID."; -"AppleID" = "AppleID:"; -"Password" = "Password:"; -"Required" = "Required"; -"SignOut" = "Sign Out"; +"SignInWithApple" = "Apple ID でサインインします。"; +"AppleID" = "Apple ID:"; +"Password" = "パスワード:"; +"Required" = "必須"; +"SignOut" = "サインアウト"; // SMS/2FA -"DigitCodeDescription" = "Enter the %d digit code from one of your trusted devices:"; -"SendSMS" = "Send SMS"; -"EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; -"SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; -"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; +"DigitCodeDescription" = "信頼できるデバイスからの %d 桁の確認コードを:"; +"SendSMS" = "SMS を送信"; +"EnterDigitCodeDescription" = "%d 桁の確認コードを (%@):"; +"SelectTrustedPhone" = "%d 桁の確認コードを受信する信頼できる電話番号を:"; +"NoTrustedPhones" = "このアカウントには、2ファクタ認証に必要な信頼できる電話番号がありません。\n\n詳しくはこちらをご確認ください。https://support.apple.com/ja-jp/HT204915"; // MainWindow -"UpdatedAt" = "Updated at"; +"UpdatedAt" = "前回のアップデート:"; // ToolBar -"Login" = "Login"; -"LoginDescription" = "Open Login"; -"Refresh" = "Refresh"; -"RefreshDescription" = "Refresh Xcode List"; -"All" = "All"; -"Release" = "Release"; -"ReleaseOnly" = "Release only"; -"Beta" = "Beta"; -"BetaOnly" = "Beta only"; -"Filter" = "Filter"; -"FilterAvailableDescription" = "Filter available versions"; -"FilterInstalledDescription" = "Filter installed versions"; -"Info" = "Info"; -"InfoDescription" = "Show or hide the info pane"; -"Preferences" = "Preferences"; -"PreferencesDescription" = "Open Preferences"; -"Search" = "Search..."; -"SearchDescription" = "Search list"; +"Login" = "ログイン"; +"LoginDescription" = "ログイン画面を開く"; +"Refresh" = "再読み込み"; +"RefreshDescription" = "Xcode リストを再読み込み"; +"All" = "すべて"; +"Release" = "リリース"; +"ReleaseOnly" = "リリースのみ"; +"Beta" = "ベータ"; +"BetaOnly" = "ベータのみ"; +"Filter" = "フィルタリング"; +"FilterAvailableDescription" = "利用可能なバージョンでフィルタリング"; +"FilterInstalledDescription" = "インストール済みのバージョンでフィルタリング"; +"Info" = "情報"; +"InfoDescription" = "情報パネルを表示・非表示する"; +"Preferences" = "環境設定"; +"PreferencesDescription" = "環境設定画面を開く"; +"Search" = "検索..."; +"SearchDescription" = "リストを検索"; // List -"ActiveVersionDescription" = "This is the active version"; -"MakeActiveVersionDescription" = "Make this the active version"; +"ActiveVersionDescription" = "アクティブなバージョン"; +"MakeActiveVersionDescription" = "アクティブなバージョンにする"; // Alerts // Uninstall -"Alert.Uninstall.Title" = "Uninstall Xcode %@?"; -"Alert.Uninstall.Message" = "It will be moved to the Trash, but won't be emptied."; -"Alert.Uninstall.Error.Title" = "Unable to uninstall Xcode"; +"Alert.Uninstall.Title" = "本当に Xcode %@ をアンインストールしてもよろしいですか?"; +"Alert.Uninstall.Message" = "ゴミ箱に移動されますが、ゴミ箱を自動的に空にすることはありません。"; +"Alert.Uninstall.Error.Title" = "Xcode をアンインストールできませんでした"; // Cancel Install -"Alert.CancelInstall.Title" = "Are you sure you want to stop the installation of Xcode %@?"; -"Alert.CancelInstall.Message" = "Any progress will be discarded."; -"Alert.CancelInstall.PrimaryButton" = "Stop Installation"; +"Alert.CancelInstall.Title" = "本当に Xcode %@ のインストールを中止してもよろしいですか?"; +"Alert.CancelInstall.Message" = "インストール前の状態に戻します。"; +"Alert.CancelInstall.PrimaryButton" = "インストールを中止"; // Privileged Helper -"Alert.PrivilegedHelper.Title" = "Privileged Helper"; -"Alert.PrivilegedHelper.Message" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; -"Alert.PrivilegedHelper.Error.Title" = "Unable to install helper"; +"Alert.PrivilegedHelper.Title" = "特権ヘルパー"; +"Alert.PrivilegedHelper.Message" = "Xcodes は独自の特権ヘルパーを使うことで、root ユーザとしてタスクを実行することができます。インストール後の作業や xcode-select コマンドで Xcode 各バージョン間の切り替えなどは、コマンドラインで sudo しないとできないことなのです。\n\nインストールするには、macOS ユーザのパスワードが求められます。"; +"Alert.PrivilegedHelper.Error.Title" = "ヘルパーをインストールできませんでした"; // Min MacOS Supported -"Alert.MinSupported.Title" = "Minimum requirements not met"; -"Alert.MinSupported.Message" = "Xcode %@ requires MacOS %@, but you are running MacOS %@, do you still want to install it?"; +"Alert.MinSupported.Title" = "最小システム要件を満たしていません"; +"Alert.MinSupported.Message" = "Xcode %@ を使うには macOS %@ 以降が必要です。お使いのシステムは macOS %@ ですが、それでもインストールを続行しますか?"; // Install -"Alert.Install.Error.Title" = "Unable to install Xcode"; -"Alert.InstallArchive.Error.Title" = "Unable to install archived Xcode"; +"Alert.Install.Error.Title" = "Xcode をインストールできませんでした"; +"Alert.InstallArchive.Error.Title" = "Xcode アーカイブをインストールできませんでした"; // Update -"Alert.Update.Error.Title" = "Unable to update selected Xcode"; +"Alert.Update.Error.Title" = "Xcode リストをアップデートできませんでした"; // Active/Select -"Alert.Select.Error.Title" = "Unable to select Xcode"; +"Alert.Select.Error.Title" = "Xcode をアクティブにすることができませんでした"; // Symbolic Links -"Alert.SymLink.Title" = "Unable to create symbolic Link"; -"Alert.SymLink.Message" = "Xcode.app exists and is not a symbolic link"; +"Alert.SymLink.Title" = "シンボリックリンクを作成できませんでした"; +"Alert.SymLink.Message" = "Xcode.app が既にシンボリックリンクではない形で存在しています。"; // Post install -"Alert.PostInstall.Title" = "Unable to perform post install steps"; +"Alert.PostInstall.Title" = "インストール後の作業を実行できませんでした"; // InstallationErrors -"InstallationError.DamagedXIP" = "The archive \"%@\" is damaged and can't be expanded."; -"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "The archive \"%@\" can’t be expanded because the current volume doesn’t have enough free space.\n\nMake more space available to expand the archive and then install Xcode %@ again to start installation from where it left off."; -"InstallationError.FailedToMoveXcodeToApplications" = "Failed to move Xcode to the %@ directory."; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; -"InstallationError.CodesignVerifyFailed" = "The downloaded Xcode failed code signing verification with the following output:\n%@"; -"InstallationError.UnexpectedCodeSigningIdentity" = "The downloaded Xcode doesn't have the expected code signing identity.\nGot:\n%@\n%@\nExpected:\n%@\n%@"; -"InstallationError.UnsupportedFileFormat" = "Xcodes doesn't (yet) support installing Xcode from the %@ file format."; -"InstallationError.MissingSudoerPassword" = "Missing password. Please try again."; -"InstallationError.UnavailableVersion" = "Could not find version %@."; -"InstallationError.NoNonPrereleaseVersionAvailable" = "No non-prerelease versions available."; -"InstallationError.NoPrereleaseVersionAvailable" = "No prerelease versions available."; -"InstallationError.MissingUsernameOrPassword" = "Missing username or a password. Please try again."; -"InstallationError.VersionAlreadyInstalled" = "%@ is already installed at %@"; -"InstallationError.InvalidVersion" = "%@ is not a valid version number."; -"InstallationError.VersionNotInstalled" = "%@ is not installed."; -"InstallationError.PostInstallStepsNotPerformed.Installed" = "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode %@."; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode %@."; +"InstallationError.DamagedXIP" = "このアーカイブ \"%@\" は既に破損していて展開できません。"; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "このボリュームの空き容量が不足しているため、アーカイブ \"%@\" を展開できません。\n\n空き容量を増やしてから Xcode %@ のインストールをもう一度お試しください。"; +"InstallationError.FailedToMoveXcodeToApplications" = "Xcode をディレクトリ %@ に移動できませんでした。"; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ が自分のセキュリティ評価に失敗しました:\n%@\n%@ にインストールされていますので、そのままお使いになりたい場合はご確認ください。"; +"InstallationError.CodesignVerifyFailed" = "ダウンロードされた Xcode がコードサイニング検証に失敗しました:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "ダウンロードされた Xcode には、予期のコードサイニングアイデンティティが含まれていません。\n実際:\n%@\n%@\n予期:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes はファイルフォーマット %@ でのインストールを対応していません。"; +"InstallationError.MissingSudoerPassword" = "パスワードが見つかりません。もう一度お試しください。"; +"InstallationError.UnavailableVersion" = "バージョン %@ が見つかりません。"; +"InstallationError.NoNonPrereleaseVersionAvailable" = "プレリリース以外の利用可能なバージョンがありません。"; +"InstallationError.NoPrereleaseVersionAvailable" = "利用可能なプレリリースバージョンがありません。"; +"InstallationError.MissingUsernameOrPassword" = "ユーザ名またはパスワードが見つかりません。もう一度お試しください。"; +"InstallationError.VersionAlreadyInstalled" = "%@ は既に %@ にインストールされています。"; +"InstallationError.InvalidVersion" = "%@ は有効なバージョン番号ではありません。"; +"InstallationError.VersionNotInstalled" = "%@ がまだインストールされていません。"; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "インストール自体は完了しましたが、いくつかのインストール後作業が自動的に実行されませんでした。これらの作業は Xcode %@ を初回起動後に実行されます。"; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "インストール自体は完了しましたが、いくつかのインストール後作業が自動的に実行されませんでした。Xcodes は特権ヘルパーを使って作業を実行しますが、ヘルパーがまだインストールされていないようです。環境設定 > 高度にてインストールできます。\n\nこれらの作業は Xcode %@ を初回起動後に実行されます。"; // Installation Steps -"Downloading" = "Downloading"; -"Unarchiving" = "Unarchiving (This can take a while)"; -"Moving" = "Moving to %@"; -"TrashingArchive" = "Moving archive to the Trash"; -"CheckingSecurity" = "Security verification"; -"Finishing" = "Finishing"; +"Downloading" = "ダウンロード中"; +"Unarchiving" = "アーカイブ中 (時間かかることがあります)"; +"Moving" = "%@ に移動中"; +"TrashingArchive" = "アーカイブをゴミ箱に移動中"; +"CheckingSecurity" = "セキュリティ検証"; +"Finishing" = "完了中"; // Notifications -"Notification.NewVersionAvailable" = "New version is available"; -"Notification.FinishedInstalling" = "Finished installing"; +"Notification.NewVersionAvailable" = "利用可能な新しいバージョンがあります"; +"Notification.FinishedInstalling" = "インストールを完了しました"; -"HelperClient.error" = "Unable to communicate with privileged helper."; +"HelperClient.error" = "特権ヘルパーと通信できません。"; ///++ // Notifications -"Notification.NewXcodeVersion.Title" = "New Xcode versions"; -"Notification.NewXcodeVersion.Body" = "New Xcode versions are available to download."; +"Notification.NewXcodeVersion.Title" = "新しい Xcode バージョン"; +"Notification.NewXcodeVersion.Body" = "ダウンロード可能な新しい Xcode バージョンがあります。"; From a1923ea29a71226b76606b6975940eb3ffe37ecf Mon Sep 17 00:00:00 2001 From: Tatsuzou Araki Date: Sun, 12 Jun 2022 10:42:51 +0900 Subject: [PATCH 085/180] Apply suggestions from code review Co-authored-by: Daiki Matsudate --- Xcodes/Resources/ja.lproj/Localizable.strings | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 7bf5081..c3528b1 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -1,10 +1,10 @@ // Menu -"Menu.About" = "Xcodes について"; +"Menu.About" = "Xcodesについて"; "Menu.CheckForUpdates" = "アップデートを確認..."; "Menu.Acknowledgements" = "謝辞"; -"Menu.GitHubRepo" = "Xcodes GitHub リポジトリ"; +"Menu.GitHubRepo" = "GitHub"; "Menu.ReportABug" = "バグを報告"; -"Menu.RequestNewFeature" = "新機能をリクエスト"; +"Menu.RequestNewFeature" = "機能のリクエスト"; // Common "Install" = "インストール"; @@ -15,7 +15,7 @@ "Open" = "開く"; "OpenDescription" = "このバージョンを開く"; "CopyPath" = "パスをコピー"; -"CreateSymLink" = "Xcode.app としてシンボリックリンクを作成"; +"CreateSymLink" = "Xcode.appとしてシンボリックリンクを作成"; "Uninstall" = "アンインストール"; "Selected" = "アクティブ"; "Select" = "アクティブにする"; @@ -27,17 +27,17 @@ // Info Pane "IdenticalBuilds" = "同一ビルド"; -"IdenticalBuilds.help" = "プレリリース・リリースバージョンが同じビルドになることもあります。Xcodes では同一ビルドとして表示されます。"; +"IdenticalBuilds.help" = "プレリリース版とリリース版が全く同じビルドであることがあります。Xcodesはこれらのバージョンを自動的に一緒に表示します。"; "ReleaseDate" = "リリース日時"; "ReleaseNotes" = "リリースノート"; "ReleaseNotes.help" = "リリースノートを表示"; "Compatibility" = "互換性"; "MacOSRequirement" = "macOS %@ 以降"; -"SDKs" = "SDKs"; +"SDKs" = "SDK"; "Compilers" = "コンパイラ"; "DownloadSize" = "サイズ"; -"NoXcodeSelected" = "バージョン情報を表示するには、いずれかの Xcode バージョンを選択してください。"; +"NoXcodeSelected" = "Xcodeが選択されていません"; // Installation Steps // When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" @@ -64,15 +64,15 @@ "Updates" = "アップデート"; "Versions" = "バージョン"; "AutomaticInstallNewVersion" = "新しい Xcode バージョンを自動的にインストールする"; -"IncludePreRelease" = "プレリリース・ベータバージョンを含める"; +"IncludePreRelease" = "プレリリース版 / ベータ版を含む"; "AppUpdates" = "Xcodes.app アップデート"; -"CheckForAppUpdates" = "アプリを自動的に最新の状態に保つ"; +"CheckForAppUpdates" = "アプリのアップデートを自動で確認する"; "CheckNow" = "確認"; "LastChecked" = "前回の確認: %@"; "Never" = "なし"; // Advanced Preference Pane -"Advanced" = "高度"; +"Advanced" = "上級者向け"; "LocalCachePath" = "ローカルキャッシュパス"; "LocalCachePathDescription" = "Xcodes は利用可能な Xcode バージョンをキャッシュし、新しいバージョンを一時的に特定のディレクトリにダウンロードします。"; "Change" = "変更"; From 71760ca6e3aaf8865ce24c721deaf2ef8a01bd1f Mon Sep 17 00:00:00 2001 From: Tatsuzou Araki Date: Sun, 12 Jun 2022 10:45:34 +0900 Subject: [PATCH 086/180] Apply suggestions from code review Co-authored-by: Daiki Matsudate --- Xcodes/Resources/ja.lproj/Localizable.strings | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index c3528b1..8ce16b1 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -9,7 +9,7 @@ // Common "Install" = "インストール"; "InstallDescription" = "このバージョンをインストール"; -"RevealInFinder" = "Finder に表示"; +"RevealInFinder" = "Finderに表示"; "Active" = "アクティブ"; "MakeActive" = "アクティブにする"; "Open" = "開く"; @@ -49,7 +49,7 @@ // About "VersionWithBuild" = "バージョン %@ (%@)"; -"GithubRepo" = "GitHub リポジトリ"; +"GithubRepo" = "GitHub"; "Acknowledgements" = "謝辞"; "UnxipExperiment" = "Unxip Experiment"; "License" = "ライセンス"; @@ -77,17 +77,17 @@ "LocalCachePathDescription" = "Xcodes は利用可能な Xcode バージョンをキャッシュし、新しいバージョンを一時的に特定のディレクトリにダウンロードします。"; "Change" = "変更"; "Active/Select" = "アクティブ"; -"AutomaticallyCreateSymbolicLink" = "Xcode.app までシンボリックリンクを自動的に作成する"; -"AutomaticallyCreateSymbolicLinkDescription" = "Xcode バージョンをアクティブにする時、インストール先で Xcode.app というシンボリックリンクを作成することを試みます。"; +"AutomaticallyCreateSymbolicLink" = "Xcode.appへのシンボリックリンクの自動生成"; +"AutomaticallyCreateSymbolicLinkDescription" = "Xcodeのバージョンをアクティブにする時、インストール先でXcode.appのシンボリックリンクの作成を試みます。"; "DataSource" = "データソース"; -"DataSourceDescription" = "Apple データソースは Apple Developer サイトからスクレイピングで情報を取得します。常に最新の利用可能なリリースを表示しますが、サイトのリデザインによって使えなくなることがあります。\n\nXcode Releases は非公式のリリースリストです。よく整えられているデータを提供し、Apple からすぐに取得できない追加情報を含め、Apple Developer サイトがリデザインされた場合でも使えなくなる可能性は比較的に低いです。"; -"Downloader" = "ダウンローダー"; +"DataSourceDescription" = "Appleのデータソースは、Apple Developerのウェブサイトをスクレイピングしています。常に最新のリリースが表示されますが、比較的壊れやすくなっています。\n\nXcode Releasesは、非公式なXcodeのリリース一覧です。この一覧は整形されたデータとして提供されます。Appleからは簡単に入手できない特別な情報を含んでおり、AppleがDeveloper ウェブサイトを再設計しても壊れにくくなっています。"; +"Downloader" = "ダウンローダ"; "DownloaderDescription" = "aria2 は最大 16 個のコネクションを使って URLSession より 3-5 倍速いスピードで Xcode をダウンロードします。GPLv2 ライセンスを遵守するため、実行ファイルとしてソースコードと共に Xcodes の中にバンドルされています。\n\nURLSession は URL リクエストをするためのデフォルトの Apple API です。"; -"PrivilegedHelper" = "特権ヘルパー"; -"PrivilegedHelperDescription" = "Xcodes は独自の特権ヘルパーを使うことで、root ユーザとしてタスクを実行することができます。インストール後の作業や xcode-select コマンドで Xcode 各バージョン間の切り替えなどは、コマンドラインで sudo しないとできないことなのです。\n\nインストールするには、macOS ユーザのパスワードが求められます。"; +"PrivilegedHelper" = "権限のあるヘルパー"; +"PrivilegedHelperDescription" = "Xcodesは、rootとしてタスクを実行するために、別の権限のあるヘルパーを使用します。インストール後の手順や xcode-select による Xcode のバージョン切り替えなど、コマンドラインで sudo を必要とするものです。\n\nインストールには、macOS アカウントのパスワードの入力が必要です。"; "HelperInstalled" = "インストール済み"; -"HelperNotInstalled" = "インストールされていません"; -"InstallHelper" = "ヘルパーをインストール"; +"HelperNotInstalled" = "未インストール"; +"InstallHelper" = "ヘルパーのインストール"; // Experiment Preference Pane "Experiments" = "実験"; From d461721221632d6697b3bbf166e517ad76311446 Mon Sep 17 00:00:00 2001 From: Tatsuzou Araki Date: Sun, 12 Jun 2022 10:49:44 +0900 Subject: [PATCH 087/180] Apply suggestions from code review Co-authored-by: Daiki Matsudate --- Xcodes/Resources/ja.lproj/Localizable.strings | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 8ce16b1..abe8531 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -1,9 +1,9 @@ // Menu "Menu.About" = "Xcodesについて"; -"Menu.CheckForUpdates" = "アップデートを確認..."; +"Menu.CheckForUpdates" = "アップデートを確認…"; "Menu.Acknowledgements" = "謝辞"; "Menu.GitHubRepo" = "GitHub"; -"Menu.ReportABug" = "バグを報告"; +"Menu.ReportABug" = "不具合の報告"; "Menu.RequestNewFeature" = "機能のリクエスト"; // Common @@ -26,10 +26,10 @@ "OK" = "OK"; // Info Pane -"IdenticalBuilds" = "同一ビルド"; +"IdenticalBuilds" = "ビルドの同一性"; "IdenticalBuilds.help" = "プレリリース版とリリース版が全く同じビルドであることがあります。Xcodesはこれらのバージョンを自動的に一緒に表示します。"; -"ReleaseDate" = "リリース日時"; +"ReleaseDate" = "リリース日"; "ReleaseNotes" = "リリースノート"; "ReleaseNotes.help" = "リリースノートを表示"; "Compatibility" = "互換性"; @@ -65,16 +65,16 @@ "Versions" = "バージョン"; "AutomaticInstallNewVersion" = "新しい Xcode バージョンを自動的にインストールする"; "IncludePreRelease" = "プレリリース版 / ベータ版を含む"; -"AppUpdates" = "Xcodes.app アップデート"; +"AppUpdates" = "Xcodes.appの更新"; "CheckForAppUpdates" = "アプリのアップデートを自動で確認する"; -"CheckNow" = "確認"; +"CheckNow" = "今すぐ確認"; "LastChecked" = "前回の確認: %@"; "Never" = "なし"; // Advanced Preference Pane "Advanced" = "上級者向け"; "LocalCachePath" = "ローカルキャッシュパス"; -"LocalCachePathDescription" = "Xcodes は利用可能な Xcode バージョンをキャッシュし、新しいバージョンを一時的に特定のディレクトリにダウンロードします。"; +"LocalCachePathDescription" = "Xcodesは、利用可能なXcodeのバージョンをキャッシュし、新しいバージョンをディレクトリに一時的にダウンロードします。"; "Change" = "変更"; "Active/Select" = "アクティブ"; "AutomaticallyCreateSymbolicLink" = "Xcode.appへのシンボリックリンクの自動生成"; @@ -90,7 +90,7 @@ "InstallHelper" = "ヘルパーのインストール"; // Experiment Preference Pane -"Experiments" = "実験"; +"Experiments" = "試験的な機能"; "FasterUnxip" = "より速い Unxip"; "UseUnxipExperiment" = "実験的な実装で Unxip する"; "FasterUnxipDescription" = "@_saagarjha さんのおかげで、この実験的な実装では Unxip をシステムによって最大 70% スピードアップできます。\n\n実装の細部については、こちらの unxip リポジトリをご確認ください。https://github.com/saagarjha/unxip"; From f2a7c155eb48d0c449d2a6d21558094c173b0bac Mon Sep 17 00:00:00 2001 From: Tatsuzou Araki Date: Sun, 12 Jun 2022 10:51:33 +0900 Subject: [PATCH 088/180] Apply suggestions from code review Co-authored-by: Daiki Matsudate --- Xcodes/Resources/ja.lproj/Localizable.strings | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index abe8531..8aa13b1 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -91,52 +91,52 @@ // Experiment Preference Pane "Experiments" = "試験的な機能"; -"FasterUnxip" = "より速い Unxip"; -"UseUnxipExperiment" = "実験的な実装で Unxip する"; -"FasterUnxipDescription" = "@_saagarjha さんのおかげで、この実験的な実装では Unxip をシステムによって最大 70% スピードアップできます。\n\n実装の細部については、こちらの unxip リポジトリをご確認ください。https://github.com/saagarjha/unxip"; +"FasterUnxip" = "高速な Unxip"; +"UseUnxipExperiment" = "試験的な Unxip の実装を使う"; +"FasterUnxipDescription" = "@_saagarjha さんの方法で、一部のシステムで Unxip の速度が最大70%向上します。\n\n方法の詳細については、 unxipのリポジトリ (https://github.com/saagarjha/unxip)をご覧ください。"; // Notifications -"AccessGranted" = "アクセスが許可されました。Xcodes から通知を受け取ることができます。"; -"AccessDenied" = "⚠️ アクセス拒否 ⚠️\n\nアクセスを許可したい場合は、通知設定を開いて Xcodes を選択してください。"; +"AccessGranted" = "アクセスが許可されました。Xcodesから通知が届きます。"; +"AccessDenied" = "⚠️ アクセス拒否 ⚠️\n\nアクセス許可する場合は、通知設定を開き、Xcodesを選択してください。"; "NotificationSettings" = "通知設定"; "EnableNotifications" = "通知を有効にする"; // SignIn -"SignInWithApple" = "Apple ID でサインインします。"; +"SignInWithApple" = "Apple IDでサインインしてください。"; "AppleID" = "Apple ID:"; "Password" = "パスワード:"; "Required" = "必須"; "SignOut" = "サインアウト"; // SMS/2FA -"DigitCodeDescription" = "信頼できるデバイスからの %d 桁の確認コードを:"; +"DigitCodeDescription" = "信頼できるデバイスから、%d桁のコードを入力してください。"; "SendSMS" = "SMS を送信"; "EnterDigitCodeDescription" = "%d 桁の確認コードを (%@):"; -"SelectTrustedPhone" = "%d 桁の確認コードを受信する信頼できる電話番号を:"; +"SelectTrustedPhone" = "信頼できる電話番号を選択し、%d桁のコードをSMSで受信します。"; "NoTrustedPhones" = "このアカウントには、2ファクタ認証に必要な信頼できる電話番号がありません。\n\n詳しくはこちらをご確認ください。https://support.apple.com/ja-jp/HT204915"; // MainWindow -"UpdatedAt" = "前回のアップデート:"; +"UpdatedAt" = "前回の更新:"; // ToolBar "Login" = "ログイン"; "LoginDescription" = "ログイン画面を開く"; "Refresh" = "再読み込み"; -"RefreshDescription" = "Xcode リストを再読み込み"; +"RefreshDescription" = "Xcodeの一覧を再度取得する"; "All" = "すべて"; "Release" = "リリース"; -"ReleaseOnly" = "リリースのみ"; +"ReleaseOnly" = "リリース版のみ"; "Beta" = "ベータ"; -"BetaOnly" = "ベータのみ"; -"Filter" = "フィルタリング"; -"FilterAvailableDescription" = "利用可能なバージョンでフィルタリング"; -"FilterInstalledDescription" = "インストール済みのバージョンでフィルタリング"; +"BetaOnly" = "ベータ版のみ"; +"Filter" = "フィルタ"; +"FilterAvailableDescription" = "利用可能なバージョンのフィルタを適用する"; +"FilterInstalledDescription" = "インストール済みバージョンのフィルタを適用する"; "Info" = "情報"; -"InfoDescription" = "情報パネルを表示・非表示する"; +"InfoDescription" = "情報パネルの切り替え"; "Preferences" = "環境設定"; -"PreferencesDescription" = "環境設定画面を開く"; -"Search" = "検索..."; -"SearchDescription" = "リストを検索"; +"PreferencesDescription" = "環境設定を開く"; +"Search" = "検索…"; +"SearchDescription" = "一覧の検索"; // List "ActiveVersionDescription" = "アクティブなバージョン"; @@ -154,39 +154,39 @@ "Alert.CancelInstall.PrimaryButton" = "インストールを中止"; // Privileged Helper -"Alert.PrivilegedHelper.Title" = "特権ヘルパー"; -"Alert.PrivilegedHelper.Message" = "Xcodes は独自の特権ヘルパーを使うことで、root ユーザとしてタスクを実行することができます。インストール後の作業や xcode-select コマンドで Xcode 各バージョン間の切り替えなどは、コマンドラインで sudo しないとできないことなのです。\n\nインストールするには、macOS ユーザのパスワードが求められます。"; +"Alert.PrivilegedHelper.Title" = "権限のあるヘルパー"; +"Alert.PrivilegedHelper.Message" = "Xcodesは、Rootとしてタスクを実行するために、別の権限のあるヘルパーを使用します。インストール後の手順や xcode-select による Xcode のバージョン切り替えなど、コマンドラインで sudo を必要とするものです。\n\nインストールには、macOS アカウントのパスワードの入力が必要です。"; "Alert.PrivilegedHelper.Error.Title" = "ヘルパーをインストールできませんでした"; // Min MacOS Supported -"Alert.MinSupported.Title" = "最小システム要件を満たしていません"; -"Alert.MinSupported.Message" = "Xcode %@ を使うには macOS %@ 以降が必要です。お使いのシステムは macOS %@ ですが、それでもインストールを続行しますか?"; +"Alert.MinSupported.Title" = "システム要件を満たしていません"; +"Alert.MinSupported.Message" = "Xcode %@ を使うには macOS %@ 以降が必要です。このシステムは macOS %@ ですが、インストールを続行しますか?"; // Install "Alert.Install.Error.Title" = "Xcode をインストールできませんでした"; "Alert.InstallArchive.Error.Title" = "Xcode アーカイブをインストールできませんでした"; // Update -"Alert.Update.Error.Title" = "Xcode リストをアップデートできませんでした"; +"Alert.Update.Error.Title" = "Xcode の一覧をアップデートできませんでした"; // Active/Select "Alert.Select.Error.Title" = "Xcode をアクティブにすることができませんでした"; // Symbolic Links "Alert.SymLink.Title" = "シンボリックリンクを作成できませんでした"; -"Alert.SymLink.Message" = "Xcode.app が既にシンボリックリンクではない形で存在しています。"; +"Alert.SymLink.Message" = "Xcode.appが存在し、シンボリックリンクではありません。"; // Post install "Alert.PostInstall.Title" = "インストール後の作業を実行できませんでした"; // InstallationErrors -"InstallationError.DamagedXIP" = "このアーカイブ \"%@\" は既に破損していて展開できません。"; +"InstallationError.DamagedXIP" = "このアーカイブ \"%@\" は破損していて展開できません。"; "InstallationError.NotEnoughFreeSpaceToExpandArchive" = "このボリュームの空き容量が不足しているため、アーカイブ \"%@\" を展開できません。\n\n空き容量を増やしてから Xcode %@ のインストールをもう一度お試しください。"; -"InstallationError.FailedToMoveXcodeToApplications" = "Xcode をディレクトリ %@ に移動できませんでした。"; +"InstallationError.FailedToMoveXcodeToApplications" = "Xcode を %@ に移動できませんでした。"; "InstallationError.FailedSecurityAssessment" = "Xcode %@ が自分のセキュリティ評価に失敗しました:\n%@\n%@ にインストールされていますので、そのままお使いになりたい場合はご確認ください。"; "InstallationError.CodesignVerifyFailed" = "ダウンロードされた Xcode がコードサイニング検証に失敗しました:\n%@"; -"InstallationError.UnexpectedCodeSigningIdentity" = "ダウンロードされた Xcode には、予期のコードサイニングアイデンティティが含まれていません。\n実際:\n%@\n%@\n予期:\n%@\n%@"; -"InstallationError.UnsupportedFileFormat" = "Xcodes はファイルフォーマット %@ でのインストールを対応していません。"; +"InstallationError.UnexpectedCodeSigningIdentity" = "ダウンロードしたXcodeに想定された署名IDがありません。\nGot:\n%@\n%@\nExpected:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes は %@ 形式でのインストールには(まだ)対応していません。"; "InstallationError.MissingSudoerPassword" = "パスワードが見つかりません。もう一度お試しください。"; "InstallationError.UnavailableVersion" = "バージョン %@ が見つかりません。"; "InstallationError.NoNonPrereleaseVersionAvailable" = "プレリリース以外の利用可能なバージョンがありません。"; @@ -194,25 +194,25 @@ "InstallationError.MissingUsernameOrPassword" = "ユーザ名またはパスワードが見つかりません。もう一度お試しください。"; "InstallationError.VersionAlreadyInstalled" = "%@ は既に %@ にインストールされています。"; "InstallationError.InvalidVersion" = "%@ は有効なバージョン番号ではありません。"; -"InstallationError.VersionNotInstalled" = "%@ がまだインストールされていません。"; -"InstallationError.PostInstallStepsNotPerformed.Installed" = "インストール自体は完了しましたが、いくつかのインストール後作業が自動的に実行されませんでした。これらの作業は Xcode %@ を初回起動後に実行されます。"; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "インストール自体は完了しましたが、いくつかのインストール後作業が自動的に実行されませんでした。Xcodes は特権ヘルパーを使って作業を実行しますが、ヘルパーがまだインストールされていないようです。環境設定 > 高度にてインストールできます。\n\nこれらの作業は Xcode %@ を初回起動後に実行されます。"; +"InstallationError.VersionNotInstalled" = "%@ がインストールされていません。"; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "インストールは完了しましたが、いくつかのインストール後のタスクが自動的に実行されませんでした。このタスクは Xcode %@ を初回起動した際に実行されます。"; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "インストールは完了しましたが、いくつかのインストール後作業が自動的に実行されませんでした。Xcodes は権限のあるヘルパーを使ってタスクを実行しますが、ヘルパーがインストールされていません。環境設定 > 上級者向け でインストールできます。\n\nこのタスクは Xcode %@ を初回起動した際に実行されます。"; // Installation Steps -"Downloading" = "ダウンロード中"; -"Unarchiving" = "アーカイブ中 (時間かかることがあります)"; -"Moving" = "%@ に移動中"; -"TrashingArchive" = "アーカイブをゴミ箱に移動中"; -"CheckingSecurity" = "セキュリティ検証"; -"Finishing" = "完了中"; +"Downloading" = "ダウンロードしています"; +"Unarchiving" = "アーカイブしています (時間かかることがあります)"; +"Moving" = "%@ に移動しています"; +"TrashingArchive" = "アーカイブをゴミ箱に移動しています"; +"CheckingSecurity" = "セキュリティを検証しています"; +"Finishing" = "終了しています"; // Notifications -"Notification.NewVersionAvailable" = "利用可能な新しいバージョンがあります"; +"Notification.NewVersionAvailable" = "新しいバージョンが利用可能です"; "Notification.FinishedInstalling" = "インストールを完了しました"; -"HelperClient.error" = "特権ヘルパーと通信できません。"; +"HelperClient.error" = "権限のあるヘルパーと通信できません。"; ///++ // Notifications -"Notification.NewXcodeVersion.Title" = "新しい Xcode バージョン"; -"Notification.NewXcodeVersion.Body" = "ダウンロード可能な新しい Xcode バージョンがあります。"; +"Notification.NewXcodeVersion.Title" = "新しいXcodeのバージョン"; +"Notification.NewXcodeVersion.Body" = "新しいバージョンがダウンロードできます。"; From 961e4e9d5b83f015f5c968f9348c63d3e681f3a6 Mon Sep 17 00:00:00 2001 From: Tatsuzou Araki Date: Sun, 12 Jun 2022 12:25:54 +0900 Subject: [PATCH 089/180] Apply suggestions from code review Co-authored-by: Daiki Matsudate --- Xcodes/Resources/ja.lproj/Localizable.strings | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 8aa13b1..4b69b0e 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -82,7 +82,7 @@ "DataSource" = "データソース"; "DataSourceDescription" = "Appleのデータソースは、Apple Developerのウェブサイトをスクレイピングしています。常に最新のリリースが表示されますが、比較的壊れやすくなっています。\n\nXcode Releasesは、非公式なXcodeのリリース一覧です。この一覧は整形されたデータとして提供されます。Appleからは簡単に入手できない特別な情報を含んでおり、AppleがDeveloper ウェブサイトを再設計しても壊れにくくなっています。"; "Downloader" = "ダウンローダ"; -"DownloaderDescription" = "aria2 は最大 16 個のコネクションを使って URLSession より 3-5 倍速いスピードで Xcode をダウンロードします。GPLv2 ライセンスを遵守するため、実行ファイルとしてソースコードと共に Xcodes の中にバンドルされています。\n\nURLSession は URL リクエストをするためのデフォルトの Apple API です。"; +"DownloaderDescription" = "aria2 は、最大16個の接続を使用して、Xcode を URLSession の3-5 倍のスピードでダウンロードします。GPLv2 ライセンスに準拠するため、Xcodes 内にソースコードと一緒に実行ファイルとしてバンドルされています。\n\nURLSession は、URLリクエストを行うための Apple のデフォルト API です。"; "PrivilegedHelper" = "権限のあるヘルパー"; "PrivilegedHelperDescription" = "Xcodesは、rootとしてタスクを実行するために、別の権限のあるヘルパーを使用します。インストール後の手順や xcode-select による Xcode のバージョン切り替えなど、コマンドラインで sudo を必要とするものです。\n\nインストールには、macOS アカウントのパスワードの入力が必要です。"; "HelperInstalled" = "インストール済み"; @@ -111,9 +111,9 @@ // SMS/2FA "DigitCodeDescription" = "信頼できるデバイスから、%d桁のコードを入力してください。"; "SendSMS" = "SMS を送信"; -"EnterDigitCodeDescription" = "%d 桁の確認コードを (%@):"; +"EnterDigitCodeDescription" = "%@に送信された%d桁のコードを入力してください。"; "SelectTrustedPhone" = "信頼できる電話番号を選択し、%d桁のコードをSMSで受信します。"; -"NoTrustedPhones" = "このアカウントには、2ファクタ認証に必要な信頼できる電話番号がありません。\n\n詳しくはこちらをご確認ください。https://support.apple.com/ja-jp/HT204915"; +"NoTrustedPhones" = "このアカウントに2要素認証に利用する、信頼できる電話番号がありません。\n\n詳しくはこちらをご確認ください。https://support.apple.com/ja-jp/HT204915"; // MainWindow "UpdatedAt" = "前回の更新:"; @@ -144,12 +144,12 @@ // Alerts // Uninstall -"Alert.Uninstall.Title" = "本当に Xcode %@ をアンインストールしてもよろしいですか?"; +"Alert.Uninstall.Title" = "Xcode %@ をアンインストールしてもよろしいですか?"; "Alert.Uninstall.Message" = "ゴミ箱に移動されますが、ゴミ箱を自動的に空にすることはありません。"; "Alert.Uninstall.Error.Title" = "Xcode をアンインストールできませんでした"; // Cancel Install -"Alert.CancelInstall.Title" = "本当に Xcode %@ のインストールを中止してもよろしいですか?"; +"Alert.CancelInstall.Title" = "Xcode %@ のインストールを中止してもよろしいですか?"; "Alert.CancelInstall.Message" = "インストール前の状態に戻します。"; "Alert.CancelInstall.PrimaryButton" = "インストールを中止"; @@ -183,8 +183,8 @@ "InstallationError.DamagedXIP" = "このアーカイブ \"%@\" は破損していて展開できません。"; "InstallationError.NotEnoughFreeSpaceToExpandArchive" = "このボリュームの空き容量が不足しているため、アーカイブ \"%@\" を展開できません。\n\n空き容量を増やしてから Xcode %@ のインストールをもう一度お試しください。"; "InstallationError.FailedToMoveXcodeToApplications" = "Xcode を %@ に移動できませんでした。"; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ が自分のセキュリティ評価に失敗しました:\n%@\n%@ にインストールされていますので、そのままお使いになりたい場合はご確認ください。"; -"InstallationError.CodesignVerifyFailed" = "ダウンロードされた Xcode がコードサイニング検証に失敗しました:\n%@"; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ は、次の出力でセキュリティ評価に失敗しました。\n%@\nそれでも使用したい場合は、%@にインストールされたままになっています。"; +"InstallationError.CodesignVerifyFailed" = "ダウンロードしたXcodeは、以下の出力で署名の検証に失敗しました。\n%@"; "InstallationError.UnexpectedCodeSigningIdentity" = "ダウンロードしたXcodeに想定された署名IDがありません。\nGot:\n%@\n%@\nExpected:\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes は %@ 形式でのインストールには(まだ)対応していません。"; "InstallationError.MissingSudoerPassword" = "パスワードが見つかりません。もう一度お試しください。"; From 9a926af7ee4aad585ba2b9fa020e8db4e8c5daa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=9F=E3=81=A4=E3=81=9D=E3=82=99=E3=81=86?= Date: Sun, 12 Jun 2022 12:28:31 +0900 Subject: [PATCH 090/180] Apply suggestions from code review --- Xcodes/Resources/ja.lproj/Localizable.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 4b69b0e..06eeb3f 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -111,7 +111,7 @@ // SMS/2FA "DigitCodeDescription" = "信頼できるデバイスから、%d桁のコードを入力してください。"; "SendSMS" = "SMS を送信"; -"EnterDigitCodeDescription" = "%@に送信された%d桁のコードを入力してください。"; +"EnterDigitCodeDescription" = "%d桁のコードを%@に送信したので入力してください。"; "SelectTrustedPhone" = "信頼できる電話番号を選択し、%d桁のコードをSMSで受信します。"; "NoTrustedPhones" = "このアカウントに2要素認証に利用する、信頼できる電話番号がありません。\n\n詳しくはこちらをご確認ください。https://support.apple.com/ja-jp/HT204915"; @@ -183,7 +183,7 @@ "InstallationError.DamagedXIP" = "このアーカイブ \"%@\" は破損していて展開できません。"; "InstallationError.NotEnoughFreeSpaceToExpandArchive" = "このボリュームの空き容量が不足しているため、アーカイブ \"%@\" を展開できません。\n\n空き容量を増やしてから Xcode %@ のインストールをもう一度お試しください。"; "InstallationError.FailedToMoveXcodeToApplications" = "Xcode を %@ に移動できませんでした。"; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ は、次の出力でセキュリティ評価に失敗しました。\n%@\nそれでも使用したい場合は、%@にインストールされたままになっています。"; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ は、以下の出力でセキュリティ評価に失敗しました。\n%@\nそれでも使用したい場合は、%@にインストールされたままになっています。"; "InstallationError.CodesignVerifyFailed" = "ダウンロードしたXcodeは、以下の出力で署名の検証に失敗しました。\n%@"; "InstallationError.UnexpectedCodeSigningIdentity" = "ダウンロードしたXcodeに想定された署名IDがありません。\nGot:\n%@\n%@\nExpected:\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes は %@ 形式でのインストールには(まだ)対応していません。"; From b2143744b37efbfd627a63450d8821baff52ddd1 Mon Sep 17 00:00:00 2001 From: Dietrich Tegge Date: Mon, 13 Jun 2022 17:48:00 +0200 Subject: [PATCH 091/180] German localization added including XcodeProj --- Xcodes.xcodeproj/project.pbxproj | 3 +++ Xcodes/Resources/de.lproj/Localizable.strings | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 375e0fc..4892ba1 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -177,6 +177,7 @@ 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; 6CA3A090282EBE72005A6E35 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; 9D3C3AF7282EBE3300CB0D37 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + A0187D39285792D1002F46F9 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; AAB037D32839BD4700017680 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; C0AE7FA4283002DC00DA63D2 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; @@ -710,6 +711,7 @@ ko, it, "zh-Hant", + de, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -918,6 +920,7 @@ AAB037D32839BD4700017680 /* ko */, 25E2FA26284769A00014A318 /* it */, 6CA3A090282EBE72005A6E35 /* zh-Hant */, + A0187D39285792D1002F46F9 /* de */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 9681120..7ab8f22 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -216,3 +216,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "Neue Xcode-Versionen"; "Notification.NewXcodeVersion.Body" = "Neue Xcode-Versionen stehen zum Download bereit."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From d35106868407f889fe297a6252f57e0dd5db1927 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 13 Jun 2022 19:34:07 -0500 Subject: [PATCH 092/180] Fix Minimum version supported alert to show proper message --- Xcodes/Frontend/MainWindow.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 42de1da..9bd23d0 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -156,7 +156,7 @@ struct MainWindow: View { case let .checkMinSupportedVersion(xcode, deviceVersion): return Alert( title: Text("Alert.MinSupported.Title"), - message: Text(String(format: "Alert.MinSupported.Message", xcode.version.descriptionWithoutBuildMetadata, xcode.requiredMacOSVersion ?? "", deviceVersion)), + message: Text(String(format: localizeString("Alert.MinSupported.Message"), xcode.version.descriptionWithoutBuildMetadata, xcode.requiredMacOSVersion ?? "", deviceVersion)), primaryButton: .default( Text("Install"), action: { From c9f7c3b7d1306d3c9c470aec54af026a7d46cc00 Mon Sep 17 00:00:00 2001 From: Dietrich T Date: Tue, 14 Jun 2022 08:50:06 +0200 Subject: [PATCH 093/180] Data source name changed to Xcode Releases Co-authored-by: Matt Kiazyk --- Xcodes/Resources/de.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 7ab8f22..85b67c9 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -80,7 +80,7 @@ "AutomaticallyCreateSymbolicLink" = "Symbolischen Link zur Xcode.app automatisch erstellen"; "AutomaticallyCreateSymbolicLinkDescription" = "Beim Umstellen der Xcode-Version auf Aktiv/Ausgewählt versuchen einen symbolischen Link namens Xcode.app im Installationsverzeichnis zu erstellen."; "DataSource" = "Datenquelle"; -"DataSourceDescription" = "Die Apple-Datenquelle liest die Apple Developer-Website aus. Sie zeigt immer die neuesten Releases an, die verfügbar sind, ist allerdings etwas instabiler.\n\nXcode-Releases ist eine inoffizielle Liste von Xcode-Veröffentlichungen. Sie wird als formatierte Daten bereitsgestellt, enthält Extrainformationen die nicht ohne weiteres von Apple erhältlich sind und ist mit höherer Wahrscheinlichkeit weiter verfügbar, sollte Apple seine Entwickler-Website neu gestalten."; +"DataSourceDescription" = "Die Apple-Datenquelle liest die Apple Developer-Website aus. Sie zeigt immer die neuesten Releases an, die verfügbar sind, ist allerdings etwas instabiler.\n\nXcode Releases ist eine inoffizielle Liste von Xcode-Veröffentlichungen. Sie wird als formatierte Daten bereitsgestellt, enthält Extrainformationen die nicht ohne weiteres von Apple erhältlich sind und ist mit höherer Wahrscheinlichkeit weiter verfügbar, sollte Apple seine Entwickler-Website neu gestalten."; "Downloader" = "Downloader"; "DownloaderDescription" = "aria2 verwendet bis zu 16 Verbindungen, um Xcode 3-5x schneller als URLSession herunterzuladen. Es ist zusammen mit seinem Quellcode in Xcode enthalten, um seiner GPLv2-Lizenz nachzukommen.\n\nURLSession ist Apples Standard-API für URL-Requests."; "PrivilegedHelper" = "Privilegierter Helfer"; From 564ca961490869a1b6edc9063119f49bbcd96ca3 Mon Sep 17 00:00:00 2001 From: Daiki Matsudate Date: Wed, 15 Jun 2022 19:23:18 +0900 Subject: [PATCH 094/180] Use string interpolation --- Xcodes/Frontend/InfoPane/InfoPane.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Frontend/InfoPane/InfoPane.swift b/Xcodes/Frontend/InfoPane/InfoPane.swift index 7005b1c..e2a3216 100644 --- a/Xcodes/Frontend/InfoPane/InfoPane.swift +++ b/Xcodes/Frontend/InfoPane/InfoPane.swift @@ -120,7 +120,7 @@ struct InfoPane: View { Text("ReleaseDate") .font(.headline) .frame(maxWidth: .infinity, alignment: .leading) - Text(DateFormatter.downloadsReleaseDate.string(from: releaseDate)) + Text("\(releaseDate, style: .date)") .font(.subheadline) .frame(maxWidth: .infinity, alignment: .leading) } From 575a7269df33d37ce7cc739970b8c40371602e73 Mon Sep 17 00:00:00 2001 From: Daiki Matsudate Date: Fri, 17 Jun 2022 13:57:12 +0900 Subject: [PATCH 095/180] Add copy release note url menu --- Xcodes/Backend/AppState.swift | 7 +++++++ Xcodes/Backend/XcodeCommands.swift | 18 ++++++++++++++++++ Xcodes/Frontend/InfoPane/InfoPane.swift | 8 ++++++++ Xcodes/Resources/de.lproj/Localizable.strings | 1 + Xcodes/Resources/en.lproj/Localizable.strings | 1 + Xcodes/Resources/es.lproj/Localizable.strings | 1 + Xcodes/Resources/fr.lproj/Localizable.strings | 1 + Xcodes/Resources/hi.lproj/Localizable.strings | 1 + Xcodes/Resources/it.lproj/Localizable.strings | 1 + Xcodes/Resources/ja.lproj/Localizable.strings | 1 + Xcodes/Resources/ko.lproj/Localizable.strings | 1 + Xcodes/Resources/ru.lproj/Localizable.strings | 1 + Xcodes/Resources/tr.lproj/Localizable.strings | 1 + .../zh-Hans.lproj/Localizable.strings | 1 + .../zh-Hant.lproj/Localizable.strings | 1 + 15 files changed, 45 insertions(+) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 664f355..a5bb7e9 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -535,6 +535,13 @@ class AppState: ObservableObject { NSPasteboard.general.writeObjects([installedXcodePath.url as NSURL]) NSPasteboard.general.setString(installedXcodePath.string, forType: .string) } + + func copyReleaseNote(xcode: Xcode) { + guard let url = xcode.releaseNotesURL else { return } + NSPasteboard.general.declareTypes([.URL, .string], owner: nil) + NSPasteboard.general.writeObjects([url as NSURL]) + NSPasteboard.general.setString(url.absoluteString, forType: .string) + } func createSymbolicLink(xcode: Xcode) { guard let installedXcodePath = xcode.installedPath else { return } diff --git a/Xcodes/Backend/XcodeCommands.swift b/Xcodes/Backend/XcodeCommands.swift index f5efb4e..3120c0f 100644 --- a/Xcodes/Backend/XcodeCommands.swift +++ b/Xcodes/Backend/XcodeCommands.swift @@ -154,6 +154,24 @@ struct CopyPathButton: View { } } +struct CopyReleaseNoteButton: View { + @EnvironmentObject var appState: AppState + let xcode: Xcode? + + var body: some View { + Button(action: copyReleaseNote) { + Text("CopyReleaseNoteURL") + } + .help("CopyReleaseNoteURL") + } + + private func copyReleaseNote() { + guard let xcode = xcode else { return } + appState.copyReleaseNote(xcode: xcode) + } +} + + struct CreateSymbolicLinkButton: View { @EnvironmentObject var appState: AppState let xcode: Xcode? diff --git a/Xcodes/Frontend/InfoPane/InfoPane.swift b/Xcodes/Frontend/InfoPane/InfoPane.swift index e2a3216..88195da 100644 --- a/Xcodes/Frontend/InfoPane/InfoPane.swift +++ b/Xcodes/Frontend/InfoPane/InfoPane.swift @@ -136,12 +136,20 @@ struct InfoPane: View { Label("ReleaseNotes", systemImage: "link") } .buttonStyle(LinkButtonStyle()) + .contextMenu(menuItems: { + releaseNotesMenu(for: xcode) + }) .frame(maxWidth: .infinity, alignment: .leading) .help("ReleaseNotes.help") } else { EmptyView() } } + + @ViewBuilder + private func releaseNotesMenu(for xcode: Xcode) -> some View { + CopyReleaseNoteButton(xcode: xcode) + } @ViewBuilder private func compatibility(for xcode: Xcode) -> some View { diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 85b67c9..3d14936 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "Release-Datum"; "ReleaseNotes" = "Release-Notes"; "ReleaseNotes.help" = "Release-Notes anzeigen"; +"CopyReleaseNoteURL" = "URL kopieren"; "Compatibility" = "Kompatibilität"; "MacOSRequirement" = "Erfordert macOS %@ oder neuer"; "SDKs" = "SDKs"; diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 1290573..21286a9 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "Release Date"; "ReleaseNotes" = "Release Notes"; "ReleaseNotes.help" = "View Release Notes"; +"CopyReleaseNoteURL" = "Copy URL"; "Compatibility" = "Compatibility"; "MacOSRequirement" = "Requires macOS %@ or later"; "SDKs" = "SDKs"; diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index 8c260ec..c287435 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "Fecha de lanzamiento"; "ReleaseNotes" = "Notas del lanzamiento"; "ReleaseNotes.help" = "Ver Notas del Lanzamiento"; +"CopyReleaseNoteURL" = "Copiar URL"; "Compatibility" = "Compatibilidad"; "MacOSRequirement" = "Requiere macOS %@ o posterior"; "SDKs" = "SDKs"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index 253d074..a725ce4 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -10,6 +10,7 @@ "Install" = "Installer"; "InstallDescription" = "Installer cette version"; "RevealInFinder" = "Ouvrir dans le Finder"; +"CopyReleaseNoteURL" = "Copier l'URL"; "Active" = "Version Active"; "MakeActive" = "Activer"; "Open" = "Ouvrir"; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index 6fa1fcf..28e13b4 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -31,6 +31,7 @@ "ReleaseDate" = "रिलीज़ दिनांक"; "ReleaseNotes" = "रिलीज नोट्स"; "ReleaseNotes.help" = "रिलीज़ नोट्स देखें"; +"CopyReleaseNoteURL" = "URL कॉपी करें"; "Compatibility" = "अनुकूलता"; "MacOSRequirement" = "macOS %@ या बाद के संस्करण की आवश्यकता है"; "SDKs" = "SDKs"; diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings index c6b9c21..353b3d9 100644 --- a/Xcodes/Resources/it.lproj/Localizable.strings +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "Data di Rilascio"; "ReleaseNotes" = "Note di Rilascio"; "ReleaseNotes.help" = "Vedi Note di Rilascio"; +"CopyReleaseNoteURL" = "Copia URL"; "Compatibility" = "Compatibilità"; "MacOSRequirement" = "Richiede macOS %@ o successivo"; "SDKs" = "SDKs"; diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 06eeb3f..7d231e1 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "リリース日"; "ReleaseNotes" = "リリースノート"; "ReleaseNotes.help" = "リリースノートを表示"; +"CopyReleaseNoteURL" = "URLをコピー"; "Compatibility" = "互換性"; "MacOSRequirement" = "macOS %@ 以降"; "SDKs" = "SDK"; diff --git a/Xcodes/Resources/ko.lproj/Localizable.strings b/Xcodes/Resources/ko.lproj/Localizable.strings index 4237712..752d24f 100644 --- a/Xcodes/Resources/ko.lproj/Localizable.strings +++ b/Xcodes/Resources/ko.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "출시일"; "ReleaseNotes" = "릴리즈 노트"; "ReleaseNotes.help" = "릴리즈 노트 보기"; +"CopyReleaseNoteURL" = "URL 복사"; "Compatibility" = "호환성"; "MacOSRequirement" = "macOS %@ 또는 이후 버전"; "SDKs" = "SDKs"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index e8d68ac..c2689a7 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -31,6 +31,7 @@ "ReleaseDate" = "Дата выпуска"; "ReleaseNotes" = "Примечания к выпуску"; "ReleaseNotes.help" = "Просмотреть примечания к выпуску"; +"CopyReleaseNoteURL" = "Копировать URL"; "Compatibility" = "Совместимость"; "MacOSRequirement" = "Требуется macOS %@ или новее"; "SDKs" = "SDK"; diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index ac4c6cc..3336bfa 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "Yayınlanma Tarihi"; "ReleaseNotes" = "Yayınlanma Notları"; "ReleaseNotes.help" = "Yayınlanma Notlarını Görüntüle"; +"CopyReleaseNoteURL" = "URL'yi kopyala"; "Compatibility" = "Uyumluluk"; "MacOSRequirement" = "macOS %@ veya sonrasını gerektirir"; "SDKs" = "SDKler"; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index a8487d3..132c7d8 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "发布日期"; "ReleaseNotes" = "更新说明"; "ReleaseNotes.help" = "查看更新说明"; +"CopyReleaseNoteURL" = "复制 URL"; "Compatibility" = "兼容性"; "MacOSRequirement" = "需要macOS %@及以上"; "SDKs" = "SDK"; diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings index c3a3dd0..3b2c07c 100644 --- a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -32,6 +32,7 @@ "ReleaseDate" = "發行日期"; "ReleaseNotes" = "版本附註"; "ReleaseNotes.help" = "檢視版本附註"; +"CopyReleaseNoteURL" = "複製 URL"; "Compatibility" = "相容性"; "MacOSRequirement" = "需要 macOS %@ 或以上版本"; "SDKs" = "SDKs"; From a70069ce8728da6b3337190f33db374d54de7fef Mon Sep 17 00:00:00 2001 From: swiftty <62803132+swiftty@users.noreply.github.com> Date: Fri, 24 Jun 2022 12:28:09 +0900 Subject: [PATCH 096/180] Fix sign in sheet cancel behavior --- Xcodes/Backend/AppState.swift | 19 +++++-------- Xcodes/Frontend/Common/XcodesSheet.swift | 35 ++++++++++++++++++++++-- Xcodes/Frontend/MainWindow.swift | 12 ++++---- 3 files changed, 46 insertions(+), 20 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 664f355..866346b 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -43,7 +43,6 @@ class AppState: ObservableObject { var isUpdating: Bool { updatePublisher != nil } @Published var presentedSheet: XcodesSheet? = nil @Published var isProcessingAuthRequest = false - @Published var secondFactorData: SecondFactorData? @Published var xcodeBeingConfirmedForUninstallation: Xcode? @Published var presentedAlert: XcodesAlert? @Published var helperInstallState: HelperInstallState = .notInstalled @@ -197,12 +196,11 @@ class AppState: ObservableObject { } func handleTwoFactorOption(_ option: TwoFactorOption, authOptions: AuthOptionsResponse, serviceKey: String, sessionID: String, scnt: String) { - self.secondFactorData = SecondFactorData( + self.presentedSheet = .twoFactor(.init( option: option, authOptions: authOptions, sessionData: AppleSessionData(serviceKey: serviceKey, sessionID: sessionID, scnt: scnt) - ) - self.presentedSheet = .twoFactor + )) } func requestSMS(to trustedPhoneNumber: AuthOptionsResponse.TrustedPhoneNumber, authOptions: AuthOptionsResponse, sessionData: AppleSessionData) { @@ -225,7 +223,11 @@ class AppState: ObservableObject { } func choosePhoneNumberForSMS(authOptions: AuthOptionsResponse, sessionData: AppleSessionData) { - secondFactorData = SecondFactorData(option: .smsPendingChoice, authOptions: authOptions, sessionData: sessionData) + self.presentedSheet = .twoFactor(.init( + option: .smsPendingChoice, + authOptions: authOptions, + sessionData: sessionData + )) } func submitSecurityCode(_ code: SecurityCode, sessionData: AppleSessionData) { @@ -255,7 +257,6 @@ class AppState: ObservableObject { switch self.authenticationState { case .authenticated, .unauthenticated, .notAppleDeveloper: self.presentedSheet = nil - self.secondFactorData = nil case let .waitingForSecondFactor(option, authOptions, sessionData): self.handleTwoFactorOption(option, authOptions: authOptions, serviceKey: sessionData.serviceKey, sessionID: sessionData.sessionID, scnt: sessionData.scnt) } @@ -698,12 +699,6 @@ class AppState: ObservableObject { var message: String var id: String { title + message } } - - struct SecondFactorData { - let option: TwoFactorOption - let authOptions: AuthOptionsResponse - let sessionData: AppleSessionData - } } extension OperatingSystemVersion { diff --git a/Xcodes/Frontend/Common/XcodesSheet.swift b/Xcodes/Frontend/Common/XcodesSheet.swift index 0a39add..a0270b5 100644 --- a/Xcodes/Frontend/Common/XcodesSheet.swift +++ b/Xcodes/Frontend/Common/XcodesSheet.swift @@ -1,8 +1,39 @@ import Foundation +import AppleAPI enum XcodesSheet: Identifiable { case signIn - case twoFactor + case twoFactor(SecondFactorData) - var id: Int { hashValue } + var id: Int { Kind(self).hashValue } + + struct SecondFactorData { + let option: TwoFactorOption + let authOptions: AuthOptionsResponse + let sessionData: AppleSessionData + } +} + +extension XcodesSheet { + private enum Kind: Hashable { + case signIn, twoFactor(TwoFactorOption) + + enum TwoFactorOption { + case smsSent + case codeSent + case smsPendingChoice + } + + init(_ sheet: XcodesSheet) { + switch sheet { + case .signIn: self = .signIn + case .twoFactor(let data): + switch data.option { + case .smsSent: self = .twoFactor(.smsSent) + case .smsPendingChoice: self = .twoFactor(.smsPendingChoice) + case .codeSent: self = .twoFactor(.codeSent) + } + } + } + } } diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index 9bd23d0..fcde005 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -47,8 +47,8 @@ struct MainWindow: View { case .signIn: signInView() .environmentObject(appState) - case .twoFactor: - secondFactorView(appState.secondFactorData!) + case .twoFactor(let secondFactorData): + secondFactorView(secondFactorData) .environmentObject(appState) } } @@ -69,14 +69,14 @@ struct MainWindow: View { } @ViewBuilder - private func secondFactorView(_ secondFactorData: AppState.SecondFactorData) -> some View { + private func secondFactorView(_ secondFactorData: XcodesSheet.SecondFactorData) -> some View { switch secondFactorData.option { case .codeSent: - SignIn2FAView(isPresented: $appState.secondFactorData.isNotNil, authOptions: secondFactorData.authOptions, sessionData: secondFactorData.sessionData) + SignIn2FAView(isPresented: $appState.presentedSheet.isNotNil, authOptions: secondFactorData.authOptions, sessionData: secondFactorData.sessionData) case .smsSent(let trustedPhoneNumber): - SignInSMSView(isPresented: $appState.secondFactorData.isNotNil, trustedPhoneNumber: trustedPhoneNumber, authOptions: secondFactorData.authOptions, sessionData: secondFactorData.sessionData) + SignInSMSView(isPresented: $appState.presentedSheet.isNotNil, trustedPhoneNumber: trustedPhoneNumber, authOptions: secondFactorData.authOptions, sessionData: secondFactorData.sessionData) case .smsPendingChoice: - SignInPhoneListView(isPresented: $appState.secondFactorData.isNotNil, authOptions: secondFactorData.authOptions, sessionData: secondFactorData.sessionData) + SignInPhoneListView(isPresented: $appState.presentedSheet.isNotNil, authOptions: secondFactorData.authOptions, sessionData: secondFactorData.sessionData) } } From 7945f94bf8a062443c178fe66e46cbd3b9bf833b Mon Sep 17 00:00:00 2001 From: Ethan Wong Date: Sat, 25 Jun 2022 14:39:12 +0800 Subject: [PATCH 097/180] Fix crash on macOS Ventura by moving pane .frame(width:) to its parents. --- Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift | 2 +- Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift | 2 +- Xcodes/Frontend/Preferences/GeneralPreferencePane.swift | 2 +- Xcodes/Frontend/Preferences/PreferencesView.swift | 1 + Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 0f94bd5..890e1ca 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -118,7 +118,6 @@ struct AdvancedPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) } - .frame(width: 500) } private var dataSourceFootnote: NSAttributedString { @@ -153,6 +152,7 @@ struct AdvancedPreferencePane_Previews: PreviewProvider { Group { AdvancedPreferencePane() .environmentObject(AppState()) + .frame(maxWidth: 500) } } } diff --git a/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift b/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift index 6f6c798..3696552 100644 --- a/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift @@ -21,7 +21,6 @@ struct ExperimentsPreferencePane: View { Divider() } - .frame(width: 500) } private var unxipFootnote: NSAttributedString { @@ -44,6 +43,7 @@ struct ExperimentsPreferencePane_Previews: PreviewProvider { Group { ExperimentsPreferencePane() .environmentObject(AppState()) + .frame(maxWidth: 500) } } } diff --git a/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift b/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift index d55a223..4735c24 100644 --- a/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/GeneralPreferencePane.swift @@ -21,7 +21,6 @@ struct GeneralPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) } - .frame(width: 500) } } @@ -30,6 +29,7 @@ struct GeneralPreferencePane_Previews: PreviewProvider { Group { GeneralPreferencePane() .environmentObject(AppState()) + .frame(maxWidth: 500) } } } diff --git a/Xcodes/Frontend/Preferences/PreferencesView.swift b/Xcodes/Frontend/Preferences/PreferencesView.swift index 5f6dc42..7442236 100644 --- a/Xcodes/Frontend/Preferences/PreferencesView.swift +++ b/Xcodes/Frontend/Preferences/PreferencesView.swift @@ -34,5 +34,6 @@ struct PreferencesView: View { .tag(Tabs.experiment) } .padding(20) + .frame(width: 500) } } diff --git a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift index 5e3db80..282b806 100644 --- a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift @@ -51,7 +51,6 @@ struct UpdatesPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) } - .frame(width: 500) } private var lastUpdatedString: String { @@ -127,6 +126,7 @@ struct UpdatesPreferencePane_Previews: PreviewProvider { Group { UpdatesPreferencePane() .environmentObject(AppState()) + .frame(maxWidth: 500) } } } From 8f3f9924609f248737f3be7e11c7bdd6a49ce37e Mon Sep 17 00:00:00 2001 From: Oleg Shanyuk Date: Sun, 26 Jun 2022 11:05:52 +0200 Subject: [PATCH 098/180] Adding Ukrainian Localization --- Xcodes.xcodeproj/project.pbxproj | 3 + Xcodes/Resources/uk.lproj/Localizable.strings | 221 ++++++++++++++++++ 2 files changed, 224 insertions(+) create mode 100644 Xcodes/Resources/uk.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 8867c6b..260aaa3 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -176,6 +176,7 @@ 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; 6CA3A090282EBE72005A6E35 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + 7CBF284E28606D2C001AA66B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = ""; }; 9D3C3AF7282EBE3300CB0D37 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; A0187D39285792D1002F46F9 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; AAB037D32839BD4700017680 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; @@ -714,6 +715,7 @@ ja, "zh-Hant", de, + uk, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -924,6 +926,7 @@ AB4EB0DE28541FA000FF3B1D /* ja */, 6CA3A090282EBE72005A6E35 /* zh-Hant */, A0187D39285792D1002F46F9 /* de */, + 7CBF284E28606D2C001AA66B /* uk */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/uk.lproj/Localizable.strings b/Xcodes/Resources/uk.lproj/Localizable.strings new file mode 100644 index 0000000..33bf2af --- /dev/null +++ b/Xcodes/Resources/uk.lproj/Localizable.strings @@ -0,0 +1,221 @@ +// Menu +"Menu.About" = "Про Xcodes"; +"Menu.CheckForUpdates" = "Перевірити Оновлення..."; +"Menu.Acknowledgements" = "Подяки"; +"Menu.GitHubRepo" = "Xcodes GitHub Repo"; +"Menu.ReportABug" = "Повідомити про помилку"; +"Menu.RequestNewFeature" = "Запит на нову Фічу"; + +// Common +"Install" = "Встановити"; +"InstallDescription" = "Встановити цю версію"; +"RevealInFinder" = "Показати у Finder"; +"Active" = "Активний"; +"MakeActive" = "Зробити активним"; +"Open" = "Запустити"; +"OpenDescription" = "Запустити цю версію"; +"CopyPath" = "Скопіювати шлях"; +"CreateSymLink" = "Створити символічну ссилку як Xcode.app"; +"Uninstall" = "Видалити"; +"Selected" = "Обрано"; +"Select" = "Обрати"; +"Cancel" = "Відміна"; +"Next" = "Далі"; +"Continue" = "Продовжити"; +"Close" = "Закрити"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Ідентичні Білди"; +"IdenticalBuilds.help" = "Буває що prerelease та release насправді ідентичні (то й же Build). У такому разі Xcodes будуть показувати обидві версії разом"; + +"ReleaseDate" = "Дата релізу"; +"ReleaseNotes" = "Деталі релізу"; +"ReleaseNotes.help" = "Переглянути деталі релізу"; +"Compatibility" = "Сумісність"; +"MacOSRequirement" = "Потрібен macOS %@ чи новіший"; +"SDKs" = "SDKs"; +"Compilers" = "Компілятори"; +"DownloadSize" = "Розмір завантаження"; +"NoXcodeSelected" = "Не обрано Xcode"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Крок %1$d з %2$d: %3$@"; +"DownloadingPercentDescription" = "Закачка: %d%% готово"; +"StopInstallation" = "Зупинити встановлення"; +"DownloadingError" = "Не знайдено інформації для закачування"; + +// About +"VersionWithBuild" = "Версія %@ (%@)"; +"GithubRepo" = "GitHub репозиторій"; +"Acknowledgements" = "Подяки"; +"UnxipExperiment" = "Експеримент Unxip"; +"License" = "Ліцензія"; + +// General Preference Pane +"General" = "Основне"; +"AppleID" = "Apple ID"; +"SignIn" = "Логін"; +"Notifications" = "Сповіщення"; + +// Updates Preference Pane +"Updates" = "Оновлення"; +"Versions" = "Версії"; +"AutomaticInstallNewVersion" = "Автоматично встановлювати нові версії Xcode"; +"IncludePreRelease" = "Також встановлювати prerelease/beta версії"; +"AppUpdates" = "Оновлення Xcodes.app"; +"CheckForAppUpdates" = "Автоматично перевіряти наявність оновлень."; +"CheckNow" = "Перевірити зараз"; +"LastChecked" = "Перевірено в останнє: %@"; +"Never" = "Ніколи"; + +// Advanced Preference Pane +"Advanced" = "Розширені"; +"LocalCachePath" = "Локальний Кеш"; +"LocalCachePathDescription" = "Сюди зберігаються тимчасові закачки встановлюваних версій Xcode"; +"Change" = "Змінити"; +"Active/Select" = "Акивний/Обрати"; +"AutomaticallyCreateSymbolicLink" = "Автоматично створювати символічну ссилку Xcode.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Обираючи Акивний Xcode, спробувати створити символічну ссилку Xcode.app що вказує на обрану версію. Ссилка буде розміщена у папці інсталяції Xcode"; +"DataSource" = "Джерело інформації"; +"DataSourceDescription" = "Apple – cканування порталу Apple Developer у пошуку доступних версій Xcode. Створюючи список усих нових релізів, але це не завжи спрацьовує.\n\nXcode Releases – це не офіційний список релізів Xcode. Він являє собою відформатований список, що також має додаткову інформацію не завжди доступну напряму з сайту Apple, і менш ймовірно що він зламається якщо Apple випустить редизайн Developer Portal"; +"Downloader" = "Завантажувач"; +"DownloaderDescription" = "aria2 може використовувати до 16 з'єднань, завантажуючи Xcode у 3-5 разів швидше ніж URLSession. Вона поставляється у вигляді бінарника та коду, відповідно до вимог її GPLv2 ліцензії.\n\nURLSession – це завантажувач по замовчуванню від Apple"; +"PrivilegedHelper" = "Privileged Helper"; +"PrivilegedHelperDescription" = "Xcodes використовує спеціальний \"privilege helper\" щоб запускати задачі як суперюзер. Це включає наприклад sudo в терміналі, та кроки після інсталяції або перемикання версії Xcode за допомогою xcode-select.\n\nБуде запит на ваш пароль від Мак щоб встановити цей хелпер."; +"HelperInstalled" = "Helper встановлено"; +"HelperNotInstalled" = "Helper не встановлено"; +"InstallHelper" = "Встановити Install helper"; + +// Experiment Preference Pane +"Experiments" = "Експерименти"; +"FasterUnxip" = "Швидкий Unxip"; +"UseUnxipExperiment" = "Під час розпаковки Unxip використовувати експериментальний метод."; +"FasterUnxipDescription" = "Завдяки @_saagarjha, цей експеримент може пришвидшити розпаковку майже на 70%. Подробиці про unxip тут – https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Сповіщення Дозволено. Ви будете отримувати сповіщення від Xcodes."; +"AccessDenied" = "⚠️ Сповіщення Заборонено ⚠️\n\nВідкрийте будьласка Налаштування Сповіщень та надайте дозвіл Xcodes для отримання дозволу."; +"NotificationSettings" = "Налаштування Сповіщень"; +"EnableNotifications" = "Увімкнути Сповіщення"; + +// SignIn +"SignInWithApple" = "Вхід з вашим Apple ID."; +"AppleID" = "Apple ID:"; +"Password" = "Пароль:"; +"Required" = "Вимагається"; +"SignOut" = "Логаут"; + +// SMS/2FA +"DigitCodeDescription" = "Введіть %d-значний код з одного з довірених пристроїв:"; +"SendSMS" = "Надіслати СМС"; +"EnterDigitCodeDescription" = "Введіть %d-значний код відправлений на %@:"; +"SelectTrustedPhone" = "Виберіть довірений номер телефону щоб отримати %d-значний код в СМС:"; +"NoTrustedPhones" = "Ваш аккаунт не має перевіреного телефонного номеру, що вимагається для двофакторної авторизації.\n\nДивіться https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Оновлено о"; + +// ToolBar +"Login" = "Apple ID"; +"LoginDescription" = "Показати Apple ID"; +"Refresh" = "Оновити"; +"RefreshDescription" = "Оновити список Xcode"; +"All" = "Всі"; +"Release" = "Release"; +"ReleaseOnly" = "лише Release"; +"Beta" = "Beta"; +"BetaOnly" = "лише Beta"; +"Filter" = "Фільтр"; +"FilterAvailableDescription" = "Фільтрувати доступні версії"; +"FilterInstalledDescription" = "Фільтрувати встановлені версії"; +"Info" = "Info"; +"InfoDescription" = "Показати або сховати панель інформації"; +"Preferences" = "Налаштування"; +"PreferencesDescription" = "Відкрити Налаштування"; +"Search" = "Пошук..."; +"SearchDescription" = "Список знайденого"; + +// List +"ActiveVersionDescription" = "Це активна версія"; +"MakeActiveVersionDescription" = "Зробити цю версію активною"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Видалити Xcode %@?"; +"Alert.Uninstall.Message" = "Xcode буде просто переміщено до Кошика, без очищення."; +"Alert.Uninstall.Error.Title" = "Не можливо видалити Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Впевнені що хочете скасувати встановлення Xcode %@?"; +"Alert.CancelInstall.Message" = "Увесь прогрес буде скасовано."; +"Alert.CancelInstall.PrimaryButton" = "Зупинити встановлення"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Privileged Helper"; +"Alert.PrivilegedHelper.Message" = "Xcodes використовує спеціальний \"privilege helper\" щоб запускати задачі як суперюзер. Це включає наприклад sudo в терміналі, та кроки після інсталяції або перемикання версії Xcode за допомогою xcode-select.\n\nЗараз буде запит на ваш пароль від Мак щоб встановити цей хелпер."; +"Alert.PrivilegedHelper.Error.Title" = "Не вдалося встановити \"privilege helper\""; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Мінімальні вимоги не задоволені"; +"Alert.MinSupported.Message" = "Xcode %@ вимагає як мінімум MacOS %@, але у вас MacOS %@, всеодно продовжити?"; + +// Install +"Alert.Install.Error.Title" = "Не вдалося встановити Xcode"; +"Alert.InstallArchive.Error.Title" = "Помилка з архівом Xcode"; + +// Update +"Alert.Update.Error.Title" = "Не вдалося оновити обраний Xcode"; + +// Active/Select +"Alert.Select.Error.Title" = "Не вдалося вибрати Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Не вдалося створити символічну ссилку"; +"Alert.SymLink.Message" = "Xcode.app вже існує, і це не символічна ссилка"; + +// Post install +"Alert.PostInstall.Title" = "Не можливо виконати пост-інсталяційні дії"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "Архів \"%@\" пошкожено і не можливо розпакувати."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Архів \"%@\" не можливо розпакувати, так як бракує місця.\n\nПочистіть файлове сховище щоб вистачило місця на розпаковку Архіву, та спробуйте встановити Xcode %@ знову."; +"InstallationError.FailedToMoveXcodeToApplications" = "Помилка при переміщенні Xcode в %@."; +"InstallationError.FailedSecurityAssessment" = "Xcode провалив перевірку безпеки (security assessment) з наступним повідомленням:\n%@\nВін залишиться установлений в %@ якщо ви все ж наважитесь його використовувати."; +"InstallationError.CodesignVerifyFailed" = "Викачаний Xcode не зміг пройти перевірку коду підпису (code signing verification) з наступним повідомленням:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Викачаний Xcode має неочікуваний код підпису (code signing identity).\nМає:\n%@\n%@\nОчікується:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcode (поки що) не підтримує свою установку у %@ форматі."; +"InstallationError.MissingSudoerPassword" = "Не вистачає sudo паролю. Спробуйте ще раз."; +"InstallationError.UnavailableVersion" = "Не можу знайти версію %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Немає доступних релізних версій."; +"InstallationError.NoPrereleaseVersionAvailable" = "Немає доступного пререлізу."; +"InstallationError.MissingUsernameOrPassword" = "Не вистачає юзернейму чи паролю. Спробуйте ще раз."; +"InstallationError.VersionAlreadyInstalled" = "%@ вже встановлено в %@"; +"InstallationError.InvalidVersion" = "%@ не є вірним номером версії."; +"InstallationError.VersionNotInstalled" = "%@ не встановлено."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Установку завершено. Але деякі post-install кроки не виконано автоматично. Ці кроки буде виконано коли ви вперше запустите Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Установку завершено. Але деякі post-install кроки не виконано автоматично. Xcodes виконує цю роботу за допомогою \"privileged helper\", який схоже що не встановлено. Ви можете встановити його за доромогою Налаштування > Додатково.\n\nЦі кроки буде виконано коли ви вперше запустите Xcode %@."; + +// Installation Steps +"Downloading" = "Скачування"; +"Unarchiving" = "Розпаковка (Може бути довго)"; +"Moving" = "Переміщення до %@"; +"TrashingArchive" = "Видалення архіву"; +"CheckingSecurity" = "Перевірка безпеки"; +"Finishing" = "Завершення"; + +// Notifications +"Notification.NewVersionAvailable" = "Доступна нова версія"; +"Notification.FinishedInstalling" = "Встановлено"; + + +"HelperClient.error" = "Помилка з'єднання з \"privileged helper\"."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Нові версії Xcode"; +"Notification.NewXcodeVersion.Body" = "Нові версії Xcode доступні до завантаження."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Веселого WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From 43d604aa6b5f58133115a05ff2db15d6bfb191f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Jul 2022 10:07:54 +0000 Subject: [PATCH 099/180] Bump actions/cache from 3.0.4 to 3.0.5 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.4 to 3.0.5. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.4...v3.0.5) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index e8ebf51..8fa1414 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.4 + uses: actions/cache@v3.0.5 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 45f034565bc86a12404b3bf44eb78d42ad44ca84 Mon Sep 17 00:00:00 2001 From: Gareth Redman Date: Fri, 15 Jul 2022 10:15:48 +1200 Subject: [PATCH 100/180] Use monospaced digit font for download progress --- Xcodes/Frontend/Common/ObservingProgressIndicator.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Frontend/Common/ObservingProgressIndicator.swift b/Xcodes/Frontend/Common/ObservingProgressIndicator.swift index 3b2e5c8..a677486 100644 --- a/Xcodes/Frontend/Common/ObservingProgressIndicator.swift +++ b/Xcodes/Frontend/Common/ObservingProgressIndicator.swift @@ -50,7 +50,7 @@ public struct ObservingProgressIndicator: View { if showsAdditionalDescription, progress.progress.xcodesLocalizedDescription.isEmpty == false { Text(progress.progress.xcodesLocalizedDescription) - .font(.subheadline) + .font(.subheadline.monospacedDigit()) .foregroundColor(.secondary) } } From 60bbe49ea7f02b303485ada46ca91f8b9ee388a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Ziad=C3=A9?= Date: Fri, 8 Jul 2022 08:18:10 +0300 Subject: [PATCH 101/180] Add Finnish localizations --- Xcodes.xcodeproj/project.pbxproj | 3 + Xcodes/Resources/fi.lproj/Localizable.strings | 221 ++++++++++++++++++ 2 files changed, 224 insertions(+) create mode 100644 Xcodes/Resources/fi.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 260aaa3..cd61575 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -174,6 +174,7 @@ 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = ""; }; 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 5AA8A6102877EDAD009ECDB0 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; 6CA3A090282EBE72005A6E35 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; 7CBF284E28606D2C001AA66B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = ""; }; @@ -716,6 +717,7 @@ "zh-Hant", de, uk, + fi, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -927,6 +929,7 @@ 6CA3A090282EBE72005A6E35 /* zh-Hant */, A0187D39285792D1002F46F9 /* de */, 7CBF284E28606D2C001AA66B /* uk */, + 5AA8A6102877EDAD009ECDB0 /* fi */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/fi.lproj/Localizable.strings b/Xcodes/Resources/fi.lproj/Localizable.strings new file mode 100644 index 0000000..f12d770 --- /dev/null +++ b/Xcodes/Resources/fi.lproj/Localizable.strings @@ -0,0 +1,221 @@ +// Menu +"Menu.About" = "Tietoa Xcodesista"; +"Menu.CheckForUpdates" = "Tarkasta uusia päivityksiä..."; +"Menu.Acknowledgements" = "Xcodes kunnianosoitukset"; +"Menu.GitHubRepo" = "Xcodes GitHub Repo"; +"Menu.ReportABug" = "Ilmoita bugi"; +"Menu.RequestNewFeature" = "Pyydä uutta ominaisuutta"; + +// Common +"Install" = "Asenna"; +"InstallDescription" = "Asenna tämä versio"; +"RevealInFinder" = "Näytä finderissa"; +"Active" = "Aktiivinen"; +"MakeActive" = "Aktivoi"; +"Open" = "Avaa"; +"OpenDescription" = "Avaa tämä versio"; +"CopyPath" = "Kopioi polku"; +"CreateSymLink" = "Luo Symlink nimellä Xcode.app"; +"Uninstall" = "Poista"; +"Selected" = "Valittu"; +"Select" = "Valitse"; +"Cancel" = "Peruuta"; +"Next" = "Seuraava"; +"Continue" = "Jatka"; +"Close" = "Sulje"; +"OK" = "Ok"; + +// Info Pane +"IdenticalBuilds" = "Identtiset rakenteet"; +"IdenticalBuilds.help" = "Joskus esijulkaisu ja julkaisuversio ovat täsmälleen sama rakenne. Xcodes näyttää nämä versiot automaattisesti yhdessä."; + +"ReleaseDate" = "Julkaisupäivä"; +"ReleaseNotes" = "Julkaisutiedot"; +"ReleaseNotes.help" = "Lue julkaisutiedot"; +"Compatibility" = "Yhteensopivuus"; +"MacOSRequirement" = "Vaatii macOS version %@ tai myöhemmän"; +"SDKs" = "SDKs"; +"Compilers" = "Kääntäjät"; +"DownloadSize" = "Latauskoko"; +"NoXcodeSelected" = "Xcode versiota ei ole valittuna"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Vaihe %1$d / %2$d: %3$@"; +"DownloadingPercentDescription" = "Lataa: %d%% valmis"; +"StopInstallation" = "Lopeta asennus"; +"DownloadingError" = "Lataustietoja ei löytynyt"; + +// About +"VersionWithBuild" = "Versio %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "Kunnianosoitukset"; +"UnxipExperiment" = "Unxip Kokeilu"; +"License" = "Lisenssi"; + +// General Preference Pane +"General" = "Yleisasetukset"; +"AppleID" = "Apple ID"; +"SignIn" = "Kirjaudu sisään"; +"Notifications" = "Ilmoitukset"; + +// Updates Preference Pane +"Updates" = "Päivitysasetukset"; +"Versions" = "Versiot"; +"AutomaticInstallNewVersion" = "Asenna uudet Xcode versiot automaattisesti"; +"IncludePreRelease" = "Sisällytä esijulkaisu/beta versiot"; +"AppUpdates" = "Xcodes.app päivitykset"; +"CheckForAppUpdates" = "Tarkista päivitykset automaattisesti"; +"CheckNow" = "Tarkista nyt"; +"LastChecked" = "Viimeksi tarkistettu: %@"; +"Never" = "Ei koskaan"; + +// Advanced Preference Pane +"Advanced" = "Lisäasetukset"; +"LocalCachePath" = "Paikallisen välimuistin polku"; +"LocalCachePathDescription" = "Xcodes tallentaa saatavilla olevat Xcode-versiot välimuistiin ja lataa tilapäisesti uudet versiot hakemistoon"; +"Change" = "Vaihda"; +"Active/Select" = "Aktiivinen/Valitse"; +"AutomaticallyCreateSymbolicLink" = "Luo automaattisesti symbolinen linkki Xcode.appiin"; +"AutomaticallyCreateSymbolicLinkDescription" = "Kun teet Xcode-versiosta aktiivisen/valitun, yritä luoda symbolinen linkki nimeltä Xcode.app asennushakemistoon"; +"DataSource" = "Tietolähde"; +"DataSourceDescription" = "Applen tietolähde kaappaa Apple Developer -sivuston. Se näyttää aina uusimmat saatavilla olevat julkaisut, mutta se on herkempi hajoamiselle.\n\nXcode Releases on epävirallinen luettelo Xcode-julkaisuista. Se toimitetaan hyvin muotoiltuina tietoina, sisältää lisätietoa, jota ei ole helposti saatavilla Applelta, ja se ei todennäköisesti hajoa, jos Apple suunnittelee uudelleen kehittäjäsivustonsa."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 käyttää jopa 16 yhteyttä ladatakseen Xcoden 3–5 kertaa nopeammin kuin URLSession. Se on niputettu suoritettavaksi tiedostoksi ja sen lähdekoodiin Xcodesissa GPLv2-lisenssin noudattamiseksi.\n\nURLSession on Applen oletussovellusliittymä URL-pyyntöjen tekemiseen.."; +"PrivilegedHelper" = "Etuoikeutettu auttaja"; +"PrivilegedHelperDescription" = "Xcodes käyttää erillistä etuoikeutettua avustajaa tehtävien suorittamiseen pääkäyttäjänä. Nämä ovat asioita, jotka edellyttävät sudo komentoa komentorivillä, mukaan lukien asennuksen jälkeiset vaiheet ja Xcode-versioiden vaihtaminen xcode-selectillä.\n\nSinua pyydetään antamaan macOS-tilisi salasana sen asentamiseksi."; +"HelperInstalled" = "Apulainen on asennettu"; +"HelperNotInstalled" = "Apulaista ei ole asennettu"; +"InstallHelper" = "Asenna apulainen"; + +// Experiment Preference Pane +"Experiments" = "Kokeilut"; +"FasterUnxip" = "Nopeampi Unxip"; +"UseUnxipExperiment" = "Kun purat xip-tiedoston, käytä kokeiluversiota"; +"FasterUnxipDescription" = "@_saagarjhan ansiosta tämä kokeilu voi nostaa purkamisnopeutta jopa 70 % joissakin järjestelmissä.\n\nLisätietoja siitä, miten tämä tehdään, on unxip-repossa - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Pääsy myönnetty. Saat ilmoituksia Xcodesilta."; +"AccessDenied" = "⚠️ Pääsy kielletty ⚠️\n\nAvaa ilmoitusasetukset ja valitse Xcodes, jos haluat sallia pääsyn."; +"NotificationSettings" = "Ilmoitusasetukset"; +"EnableNotifications" = "Salli ilmoitukset"; + +// SignIn +"SignInWithApple" = "Kirjaudu sisään Apple ID:lläsi."; +"AppleID" = "AppleID:"; +"Password" = "Salasana:"; +"Required" = "Vaaditaan"; +"SignOut" = "Kirjaudu ulos"; + +// SMS/2FA +"DigitCodeDescription" = "Anna %d numeroinen koodi jostakin luotetusta laitteesta:"; +"SendSMS" = "Lähetä tekstiviesti"; +"EnterDigitCodeDescription" = "Anna %d numeroinen koodi, joka lähetettiin osoitteeseen %@: "; +"SelectTrustedPhone" = "Valitse luotettu puhelinnumero saadaksesi %d numeroisen koodin tekstiviestinä:"; +"NoTrustedPhones" = "Tililläsi ei ole luotettuja puhelinnumeroita, mutta ne vaaditaan kaksivaiheiseen todentamiseen.\n\nKatso https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Päivitetty ajankohtana"; + +// ToolBar +"Login" = "Kirjaudu sisään"; +"LoginDescription" = "Avaa kirjautuminen"; +"Refresh" = "Päivitä"; +"RefreshDescription" = "Päivitä Xcode lista"; +"All" = "Kaikki"; +"Release" = "Julkaisuversio"; +"ReleaseOnly" = "Vain julkaisuversiot"; +"Beta" = "Beta"; +"BetaOnly" = "Vain beta versiot"; +"Filter" = "Suodata"; +"FilterAvailableDescription" = "Suodata saatavilla olevat versiot"; +"FilterInstalledDescription" = "Suodata asennetut versiot"; +"Info" = "Tietoja"; +"InfoDescription" = "Näytä tai piilota tietoruutu"; +"Preferences" = "Asetukset"; +"PreferencesDescription" = "Avaa asetukset"; +"Search" = "Etsi..."; +"SearchDescription" = "Hakulista"; + +// List +"ActiveVersionDescription" = "Tämä on aktiivinen versio"; +"MakeActiveVersionDescription" = "Tee tästä aktiivinen versio"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Poista Xcode %@?"; +"Alert.Uninstall.Message" = "Se siirretään roskakoriin, mutta sitä ei tyhjennetä."; +"Alert.Uninstall.Error.Title" = "Xcode-asennuksen poistaminen ei onnistu"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Haluatko varmasti lopettaa Xcode versio %@ asennuksen?"; +"Alert.CancelInstall.Message" = "Kaikki edistyminen hylätään."; +"Alert.CancelInstall.PrimaryButton" = "Lopeta asennus"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Etuoikeutettu auttaja"; +"Alert.PrivilegedHelper.Message" = "Xcodes käyttää erillistä etuoikeutettua avustajaa tehtävien suorittamiseen pääkäyttäjänä. Nämä ovat asioita, jotka edellyttävät sudo komentoa komentorivillä, mukaan lukien asennuksen jälkeiset vaiheet ja Xcode-versioiden vaihtaminen xcode-selectillä.\n\nSinua pyydetään antamaan macOS-tilisi salasana sen asentamista varten."; +"Alert.PrivilegedHelper.Error.Title" = "Apuohjelmaa ei voi asentaa"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Vähimmäisvaatimukset eivät täyty"; +"Alert.MinSupported.Message" = "Xcode %@ vaatii macOS version %@, mutta käytät macOS versiota %@, haluatko silti asentaa sen?"; + +// Install +"Alert.Install.Error.Title" = "Xcoden asentaminen ei onnistu"; +"Alert.InstallArchive.Error.Title" = "Arkistoitua Xcodea ei voi asentaa"; + +// Update +"Alert.Update.Error.Title" = "Valittua Xcodea ei voi päivittää"; + +// Active/Select +"Alert.Select.Error.Title" = "Xcodea ei voi valita"; + +// Symbolic Links +"Alert.SymLink.Title" = "Symbolista linkkiä ei voi luoda"; +"Alert.SymLink.Message" = "Xcode.app on olemassa, eikä se ole symbolinen linkki"; + +// Post install +"Alert.PostInstall.Title" = "Asennuksen jälkeisiä vaiheita ei voi suorittaa"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "Arkisto \"%@\" on vaurioitunut, eikä sitä voi laajentaa."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Arkistoa \"%@\" ei voi laajentaa, koska nykyisessä taltiossa ei ole tarpeeksi vapaata tilaa.\n\nAnna lisää tilaa arkiston laajentamiseksi ja asenna sitten Xcode versio %@ uudelleen aloittaaksesi asennuksen siitä, mihin se jäi."; +"InstallationError.FailedToMoveXcodeToApplications" = "Xcoden siirtäminen hakemistoon %@ epäonnistui."; +"InstallationError.FailedSecurityAssessment" = "Xcode versio %@ epäonnistui turvallisuusarvioinnissaan seuraavalla lähdöllä:\n%@\nSe pysyy asennettuna osoitteeseen %@, jos haluat käyttää sitä joka tapauksessa."; +"InstallationError.CodesignVerifyFailed" = "Ladattu Xcode versio epäonnistui koodin allekirjoitusvahvistuksessa seuraavalla lähdöllä:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Ladatulla Xcodella ei ole odotettua koodin allekirjoitusidentiteettiä.\nSaatu:\n%@\n%@\nOletettu:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes ei (vielä) tue Xcoden asentamista %@ tiedostomuodosta."; +"InstallationError.MissingSudoerPassword" = "Salasana puuttuu. Yritä uudelleen."; +"InstallationError.UnavailableVersion" = "Versiota %@ ei löytynyt."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Julkaisua edeltäviä versioita ei ole saatavilla."; +"InstallationError.NoPrereleaseVersionAvailable" = "Esijulkaisuversioita ei saatavilla."; +"InstallationError.MissingUsernameOrPassword" = "Käyttäjätunnus tai salasana puuttuu. Yritä uudelleen."; +"InstallationError.VersionAlreadyInstalled" = "%@ on jo asennettu osoitteeseen %@"; +"InstallationError.InvalidVersion" = "%@ ei ole kelvollinen versionumero."; +"InstallationError.VersionNotInstalled" = "%@ ei ole asennettu."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Asennus valmistui, mutta joitain asennuksen jälkeisiä vaiheita ei suoritettu automaattisesti. Nämä suoritetaan, kun käynnistät Xcoden version %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Asennus valmistui, mutta joitain asennuksen jälkeisiä vaiheita ei suoritettu automaattisesti. Xcodes suorittaa nämä vaiheet etuoikeutetulla avustajalla, jota ei näytä olevan asennettuna. Voit asentaa sen kohdasta Asetukset > Lisäasetukset.\n\nNämä vaiheet suoritetaan, kun käynnistät Xcode version %@ ensimmäisen kerran.."; + +// Installation Steps +"Downloading" = "Ladataan"; +"Unarchiving" = "Poistetaan arkistointi (tämä voi kestää hetken)"; +"Moving" = "Siirretään kohteeseen %@"; +"TrashingArchive" = "Siirretään arkistoa roskakoriin"; +"CheckingSecurity" = "Turvallisuustarkastus"; +"Finishing" = "Viimeistellään"; + +// Notifications +"Notification.NewVersionAvailable" = "Uusi versio on saatavilla"; +"Notification.FinishedInstalling" = "Asennus valmis"; + + +"HelperClient.error" = "Ei pysty kommunikoimaan etuoikeutetun avustajan kanssa."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Uudet Xcode-versiot"; +"Notification.NewXcodeVersion.Body" = "Uusia Xcode-versioita on ladattavissa."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Hyvää WWDC tapahtumaa %@! 👨🏽‍💻🧑🏻‍💻"; From 672efcbca43f076af8ecceec86f0477d64144c37 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 24 Jul 2022 17:33:49 +0000 Subject: [PATCH 102/180] Bump tzinfo from 1.2.9 to 1.2.10 in /AppCast Bumps [tzinfo](https://github.com/tzinfo/tzinfo) from 1.2.9 to 1.2.10. - [Release notes](https://github.com/tzinfo/tzinfo/releases) - [Changelog](https://github.com/tzinfo/tzinfo/blob/master/CHANGES.md) - [Commits](https://github.com/tzinfo/tzinfo/compare/v1.2.9...v1.2.10) --- updated-dependencies: - dependency-name: tzinfo dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- AppCast/Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppCast/Gemfile.lock b/AppCast/Gemfile.lock index a5e40a6..dafd74c 100644 --- a/AppCast/Gemfile.lock +++ b/AppCast/Gemfile.lock @@ -71,7 +71,7 @@ GEM addressable (>= 2.3.5) faraday (> 0.8, < 2.0) thread_safe (0.3.6) - tzinfo (1.2.9) + tzinfo (1.2.10) thread_safe (~> 0.1) tzinfo-data (1.2020.6) tzinfo (>= 1.0.0) From 2ecd1398fb32e729507fee1b51aace5e9962c65b Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sun, 24 Jul 2022 12:59:09 -0500 Subject: [PATCH 103/180] Updates AcknowledgementsGenerator for SPM 5.4 --- Xcodes/AcknowledgementsGenerator/Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/AcknowledgementsGenerator/Package.swift b/Xcodes/AcknowledgementsGenerator/Package.swift index 98623d2..622680e 100644 --- a/Xcodes/AcknowledgementsGenerator/Package.swift +++ b/Xcodes/AcknowledgementsGenerator/Package.swift @@ -14,7 +14,7 @@ let package = Package( dependencies: [ ], targets: [ - .target( + .executableTarget( name: "AcknowledgementsGenerator", dependencies: [] ), From b64af2fc448c0456b3517667e319f4a21f59d3bc Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sun, 24 Jul 2022 15:01:03 -0500 Subject: [PATCH 104/180] add option to rename Xcode to Xcode.app on select. --- Xcodes.xcodeproj/project.pbxproj | 4 ++ Xcodes/Backend/AppState.swift | 54 ++++++++++++++++++- Xcodes/Backend/Entry+.swift | 13 +++-- Xcodes/Backend/Environment.swift | 9 ++++ Xcodes/Backend/SelectedActionType.swift | 31 +++++++++++ .../Preferences/AdvancedPreferencePane.swift | 25 +++++++-- Xcodes/Resources/en.lproj/Localizable.strings | 6 +++ 7 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 Xcodes/Backend/SelectedActionType.swift diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index cd61575..bf47b53 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -108,6 +108,7 @@ E8CBDB8927ADE32300B22292 /* unxip in Copy aria2c */ = {isa = PBXBuildFile; fileRef = E8CBDB8627ADD92000B22292 /* unxip */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; E8CBDB8B27AE02FF00B22292 /* ExperiementsPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */; }; E8D0296F284B029800647641 /* BottomStatusBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D0296E284B029800647641 /* BottomStatusBar.swift */; }; + E8D655C0288DD04700A139C2 /* SelectedActionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D655BF288DD04700A139C2 /* SelectedActionType.swift */; }; E8DA461125FAF7FB002E85EF /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8DA461025FAF7FB002E85EF /* NotificationsView.swift */; }; E8E98A9025D8631800EC89A0 /* InstallationStepRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFBC3FF259AC17F00E2A3D8 /* InstallationStepRowView.swift */; }; E8E98A9625D863D700EC89A0 /* InstallationStepDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E98A9525D863D700EC89A0 /* InstallationStepDetailView.swift */; }; @@ -296,6 +297,7 @@ E8CBDB8627ADD92000B22292 /* unxip */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = unxip; sourceTree = ""; }; E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperiementsPreferencePane.swift; sourceTree = ""; }; E8D0296E284B029800647641 /* BottomStatusBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomStatusBar.swift; sourceTree = ""; }; + E8D655BF288DD04700A139C2 /* SelectedActionType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectedActionType.swift; sourceTree = ""; }; E8DA461025FAF7FB002E85EF /* NotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsView.swift; sourceTree = ""; }; E8E98A9525D863D700EC89A0 /* InstallationStepDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallationStepDetailView.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -479,6 +481,7 @@ CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */, E87DD6EA25D053FA00D86808 /* Progress+.swift */, E81D7E9F2805250100A205FC /* Collection+.swift */, + E8D655BF288DD04700A139C2 /* SelectedActionType.swift */, ); path = Backend; sourceTree = ""; @@ -844,6 +847,7 @@ CAFE4AB425B7D3AF0064FE51 /* AdvancedPreferencePane.swift in Sources */, CA9FF84E2595079F00E47BAF /* ScrollingTextView.swift in Sources */, CABFA9C12592EEEA00380FEE /* Version+.swift in Sources */, + E8D655C0288DD04700A139C2 /* SelectedActionType.swift in Sources */, CA9FF8522595080100E47BAF /* AcknowledgementsView.swift in Sources */, CABFA9CE2592EEEA00380FEE /* Version+Xcode.swift in Sources */, CAFBDB912598FE80003DCC5A /* SelectedXcode.swift in Sources */, diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 3fc9940..b13cff7 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -74,6 +74,20 @@ class AppState: ObservableObject { } } + var createSymLinkOnSelectDisabled: Bool { + return onSelectActionType == .rename + } + + @Published var onSelectActionType = SelectedActionType.none { + didSet { + Current.defaults.set(onSelectActionType.rawValue, forKey: "onSelectActionType") + + if onSelectActionType == .rename { + createSymLinkOnSelect = false + } + } + } + // MARK: - Publisher Cancellables var cancellables = Set() @@ -120,6 +134,7 @@ class AppState: ObservableObject { localPath = Current.defaults.string(forKey: "localPath") ?? Path.defaultXcodesApplicationSupport.string unxipExperiment = Current.defaults.bool(forKey: "unxipExperiment") ?? false createSymLinkOnSelect = Current.defaults.bool(forKey: "createSymLinkOnSelect") ?? false + onSelectActionType = SelectedActionType(rawValue: Current.defaults.string(forKey: "onSelectActionType") ?? "none") ?? .none } // MARK: Timer @@ -492,10 +507,15 @@ class AppState: ObservableObject { } guard - let installedXcodePath = xcode.installedPath, + var installedXcodePath = xcode.installedPath, selectPublisher == nil else { return } + if onSelectActionType == .rename { + guard let newDestinationXcodePath = renameToXcode(xcode: xcode) else { return } + installedXcodePath = newDestinationXcodePath + } + selectPublisher = installHelperIfNecessary() .flatMap { Current.helper.switchXcodePath(installedXcodePath.string) @@ -575,7 +595,39 @@ class AppState: ObservableObject { self.error = error self.presentedAlert = .generic(title: localizeString("Alert.SymLink.Title"), message: error.legibleLocalizedDescription) } + } + + func renameToXcode(xcode: Xcode) -> Path? { + guard let installedXcodePath = xcode.installedPath else { return nil } + let destinationPath: Path = Path.installDirectory/"Xcode.app" + + // rename any old named `Xcode.app` to the Xcodes versioned named files + if FileManager.default.fileExists(atPath: destinationPath.string) { + if let originalXcode = Current.files.installedXcode(destination: destinationPath) { + let newName = "Xcode-\(originalXcode.version.descriptionWithoutBuildMetadata).app" + Logger.appState.debug("Found Xcode.app - renaming back to \(newName)") + do { + try destinationPath.rename(to: newName) + } catch { + Logger.appState.error("Unable to create rename Xcode.app back to original") + self.error = error + // TODO UPDATE MY ERROR STRING + self.presentedAlert = .generic(title: localizeString("Alert.SymLink.Title"), message: error.legibleLocalizedDescription) + } + } + } + // rename passed in xcode to xcode.app + Logger.appState.debug("Found Xcode.app - renaming back to Xcode.app") + do { + return try installedXcodePath.rename(to: "Xcode.app") + } catch { + Logger.appState.error("Unable to create rename Xcode.app back to original") + self.error = error + // TODO UPDATE MY ERROR STRING + self.presentedAlert = .generic(title: localizeString("Alert.SymLink.Title"), message: error.legibleLocalizedDescription) + } + return nil } func updateAllXcodes(availableXcodes: [AvailableXcode], installedXcodes: [InstalledXcode], selectedXcodePath: String?) { diff --git a/Xcodes/Backend/Entry+.swift b/Xcodes/Backend/Entry+.swift index bdf85f7..c6e8c11 100644 --- a/Xcodes/Backend/Entry+.swift +++ b/Xcodes/Backend/Entry+.swift @@ -2,13 +2,12 @@ import Foundation import Path extension Entry { - var isAppBundle: Bool { + static func isAppBundle(kind: Kind, path: Path) -> Bool { kind == .directory && path.extension == "app" && !path.isSymlink } - - var infoPlist: InfoPlist? { + static func infoPlist(kind: Kind, path: Path) -> InfoPlist? { let infoPlistPath = path.join("Contents").join("Info.plist") guard let infoPlistData = try? Data(contentsOf: infoPlistPath.url), @@ -17,4 +16,12 @@ extension Entry { return infoPlist } + + var isAppBundle: Bool { + Entry.isAppBundle(kind: kind, path: path) + } + + var infoPlist: InfoPlist? { + Entry.infoPlist(kind: kind, path: path) + } } diff --git a/Xcodes/Backend/Environment.swift b/Xcodes/Backend/Environment.swift index de3b6b4..b94fbc7 100644 --- a/Xcodes/Backend/Environment.swift +++ b/Xcodes/Backend/Environment.swift @@ -164,7 +164,16 @@ public struct Files { } public var installedXcodes = _installedXcodes + + public func installedXcode(destination: Path) -> InstalledXcode? { + if Entry.isAppBundle(kind: destination.isDirectory ? .directory : .file, path: destination) && Entry.infoPlist(kind: destination.isDirectory ? .directory : .file, path: destination)?.bundleID == "com.apple.dt.Xcode" { + return InstalledXcode.init(path: destination) + } else { + return nil + } + } } + private func _installedXcodes(destination: Path) -> [InstalledXcode] { ((try? destination.ls()) ?? []) .filter { $0.isAppBundle && $0.infoPlist?.bundleID == "com.apple.dt.Xcode" } diff --git a/Xcodes/Backend/SelectedActionType.swift b/Xcodes/Backend/SelectedActionType.swift new file mode 100644 index 0000000..bce3a88 --- /dev/null +++ b/Xcodes/Backend/SelectedActionType.swift @@ -0,0 +1,31 @@ +// +// SelectedActionType.swift +// Xcodes +// +// Created by Matt Kiazyk on 2022-07-24. +// Copyright © 2022 Robots and Pencils. All rights reserved. +// + +import Foundation +public enum SelectedActionType: String, CaseIterable, Identifiable, CustomStringConvertible { + case none + case rename + + public var id: Self { self } + + public static var `default` = SelectedActionType.none + + public var description: String { + switch self { + case .none: return localizeString("OnSelectDoNothing") + case .rename: return localizeString("OnSelectRenameXcode") + } + } + + public var detailedDescription: String { + switch self { + case .none: return localizeString("OnSelectDoNothingDescription") + case .rename: return localizeString("OnSelectRenameXcodeDescription") + } + } +} diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 0f94bd5..2f4394b 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -48,13 +48,27 @@ struct AdvancedPreferencePane: View { GroupBox(label: Text("Active/Select")) { VStack(alignment: .leading) { - Toggle( - "AutomaticallyCreateSymbolicLink", - isOn: $appState.createSymLinkOnSelect - ) - Text("AutomaticallyCreateSymbolicLinkDescription") + Picker("OnSelect", selection: $appState.onSelectActionType) { + + Text(SelectedActionType.none.description) + .tag(SelectedActionType.none) + Text(SelectedActionType.rename.description) + .tag(SelectedActionType.rename) + } + .labelsHidden() + .pickerStyle(.inline) + + Text(appState.onSelectActionType.detailedDescription) .font(.footnote) .fixedSize(horizontal: false, vertical: true) + Spacer() + .frame(height: 20) + + Toggle("AutomaticallyCreateSymbolicLink", isOn: $appState.createSymLinkOnSelect) + .disabled(appState.createSymLinkOnSelectDisabled) + Text("AutomaticallyCreateSymbolicLinkDescription") + .font(.footnote) + .fixedSize(horizontal: false, vertical: true) } .fixedSize(horizontal: false, vertical: true) } @@ -154,6 +168,7 @@ struct AdvancedPreferencePane_Previews: PreviewProvider { AdvancedPreferencePane() .environmentObject(AppState()) } + .frame(width: 500, height: 700, alignment: .center) } } diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 21286a9..d304463 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -78,8 +78,14 @@ "LocalCachePathDescription" = "Xcodes caches available Xcode versions and temporary downloads new versions to a directory"; "Change" = "Change"; "Active/Select" = "Active/Select"; + +"OnSelectDoNothing" = "Keep name as Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "On select, will keep the name as the version eg. Xcode-13.4.1.app"; "AutomaticallyCreateSymbolicLink" = "Automatically create symbolic link to Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "When making an Xcode version Active/Selected, try and create a symbolic link named Xcode.app in the installation directory"; +"OnSelectRenameXcode" = "Always rename to Xcode.app"; +"OnSelectRenameXcodeDescription" = "On select, will automatically try and rename the active Xcode to Xcode.app, renaming the previous Xcode.app to the version name."; + "DataSource" = "Data Source"; "DataSourceDescription" = "The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; "Downloader" = "Downloader"; From 38b7fe77dde35e61c3e65fb106e3ce86ffda2105 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 28 Jul 2022 19:51:13 -0500 Subject: [PATCH 105/180] Allow ability to change the installation directory --- Xcodes/Backend/AppState.swift | 7 ++++ Xcodes/Backend/Path+.swift | 10 +++++- .../Preferences/AdvancedPreferencePane.swift | 35 +++++++++++++++++++ Xcodes/Resources/en.lproj/Localizable.strings | 2 ++ 4 files changed, 53 insertions(+), 1 deletion(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index b13cff7..302e883 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -62,6 +62,12 @@ class AppState: ObservableObject { } } + @Published var installPath = "" { + didSet { + Current.defaults.set(installPath, forKey: "installPath") + } + } + @Published var unxipExperiment = false { didSet { Current.defaults.set(unxipExperiment, forKey: "unxipExperiment") @@ -135,6 +141,7 @@ class AppState: ObservableObject { unxipExperiment = Current.defaults.bool(forKey: "unxipExperiment") ?? false createSymLinkOnSelect = Current.defaults.bool(forKey: "createSymLinkOnSelect") ?? false onSelectActionType = SelectedActionType(rawValue: Current.defaults.string(forKey: "onSelectActionType") ?? "none") ?? .none + installPath = Current.defaults.string(forKey: "installPath") ?? Path.defaultInstallDirectory.string } // MARK: Timer diff --git a/Xcodes/Backend/Path+.swift b/Xcodes/Backend/Path+.swift index 76eb29e..36e0042 100644 --- a/Xcodes/Backend/Path+.swift +++ b/Xcodes/Backend/Path+.swift @@ -17,7 +17,15 @@ extension Path { return xcodesApplicationSupport/"available-xcodes.json" } + static let defaultInstallDirectory = Path.root/"Applications" + static var installDirectory: Path { - return Path.root/"Applications" + guard let savedInstallDirectory = Current.defaults.string(forKey: "installPath") else { + return defaultInstallDirectory + } + guard let path = Path(savedInstallDirectory) else { + return defaultInstallDirectory + } + return path } } diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 3b86539..c908460 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -10,6 +10,41 @@ struct AdvancedPreferencePane: View { var body: some View { VStack(alignment: .leading, spacing: 20) { + + GroupBox(label: Text("InstallDirectory")) { + VStack(alignment: .leading) { + HStack(alignment: .top, spacing: 5) { + Text(appState.installPath).font(.footnote) + .fixedSize(horizontal: false, vertical: true) + .lineLimit(2) + Button(action: { appState.reveal(path: appState.installPath) }) { + Image(systemName: "arrow.right.circle.fill") + } + .buttonStyle(PlainButtonStyle()) + .help("RevealInFinder") + .fixedSize() + } + Button("Change") { + let panel = NSOpenPanel() + panel.allowsMultipleSelection = false + panel.canChooseDirectories = true + panel.canChooseFiles = false + panel.canCreateDirectories = true + panel.allowedContentTypes = [.folder] + panel.directoryURL = URL(fileURLWithPath: appState.installPath) + + if panel.runModal() == .OK { + + guard let pathURL = panel.url, let path = Path(url: pathURL) else { return } + self.appState.installPath = path.string + } + } + Text("InstallPathDescription") + .font(.footnote) + .fixedSize(horizontal: false, vertical: true) + } + } + .groupBoxStyle(PreferencesGroupBoxStyle()) GroupBox(label: Text("LocalCachePath")) { VStack(alignment: .leading) { diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index d304463..9d45c5e 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -78,6 +78,8 @@ "LocalCachePathDescription" = "Xcodes caches available Xcode versions and temporary downloads new versions to a directory"; "Change" = "Change"; "Active/Select" = "Active/Select"; +"InstallDirectory" = "Install Directory"; +"InstallPathDescription" = "Xcodes searches and installs to a single directory. By default (and recommended) is to keep this /Applications. Any changes to where Xcode is stored may result in other apps/services to stop working. "; "OnSelectDoNothing" = "Keep name as Xcode-X.X.X.app"; "OnSelectDoNothingDescription" = "On select, will keep the name as the version eg. Xcode-13.4.1.app"; From a0b45f45be5a62874a18be31bc4be90c5ade3bcd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Aug 2022 10:05:49 +0000 Subject: [PATCH 106/180] Bump actions/cache from 3.0.5 to 3.0.6 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.5 to 3.0.6. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.5...v3.0.6) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 8fa1414..255af7e 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.5 + uses: actions/cache@v3.0.6 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 48b1b19185640f4de2a27b85b911ae3473670c1e Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 8 Aug 2022 20:24:17 -0500 Subject: [PATCH 107/180] bump version - 1.7.0 --- Xcodes.xcodeproj/project.pbxproj | 12 ++++++------ Xcodes/Resources/Info.plist | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index bf47b53..8e5f846 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -1012,7 +1012,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 14; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -1022,7 +1022,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.6.0; + MARKETING_VERSION = 1.7.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1253,7 +1253,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 14; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1263,7 +1263,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.6.0; + MARKETING_VERSION = 1.7.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1277,7 +1277,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 14; + CURRENT_PROJECT_VERSION = 15; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1287,7 +1287,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.6.0; + MARKETING_VERSION = 1.7.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index 7755757..58e8717 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 14 + $(CURRENT_PROJECT_VERSION) CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion From 0296f14632db6811f6d488527a2622425b10b7bf Mon Sep 17 00:00:00 2001 From: Jinyu Meng Date: Tue, 9 Aug 2022 13:55:30 +0900 Subject: [PATCH 108/180] Update zh_Hans localizations. --- Xcodes/Resources/zh-Hans.lproj/Localizable.strings | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index 132c7d8..7b991b7 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -78,8 +78,16 @@ "LocalCachePathDescription" = "Xcodes会缓存可用的Xcode版本并暂时下载新版本到一个目录。"; "Change" = "变更"; "Active/Select" = "激活/选定"; +"InstallDirectory" = "安装目录"; +"InstallPathDescription" = "Xcodes会在一个目录中检索及安装。默认(推荐)保持/Applications。任何对Xcode存储位置的变更都可能会导致其他App或服务停止工作。"; + +"OnSelectDoNothing" = "保持名称为Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "选中时,将会将会保持各版本的名称。例如Xcode-13.4.1.app。"; "AutomaticallyCreateSymbolicLink" = "自动创建名为Xcode.app的软连接"; "AutomaticallyCreateSymbolicLinkDescription" = "当激活/选定某个Xcode版本时,尝试在安装目录创建一个名为Xcode.app的软链接。"; +"OnSelectRenameXcode" = "总是重命名为Xcode.app"; +"OnSelectRenameXcodeDescription" = "选中时,会自动尝试重命名活跃的Xcode为Xcode.app,将之前的Xcode.app重命名为包含版本的名称。"; + "DataSource" = "数据源"; "DataSourceDescription" = "Apple数据源是从Apple开发者网站爬取的。它会及时反应最新版本,但较为脆弱。\n\nXcode Releases是一个非官方的Xcode版本列表。它提供了良好格式化的数据,包含了不便从Apple直接获得的附加信息,且更不容易在Apple开发者网站无法访问时出现问题。"; "Downloader" = "下载器"; From b2c949d68a62ae1a18a164837bdb19cc4537c698 Mon Sep 17 00:00:00 2001 From: Paul Semionov Date: Wed, 10 Aug 2022 19:09:16 +0300 Subject: [PATCH 109/180] Update Localizable.strings for Russian language (2) Fixed typos here and there, made casing more consistent, rewrote some sentences to make more sense, localized new strings from en.lproj. --- Xcodes/Resources/ru.lproj/Localizable.strings | 41 +++++++++++-------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index c2689a7..e9ebb75 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -15,7 +15,7 @@ "Open" = "Открыть"; "OpenDescription" = "Открыть эту версию"; "CopyPath" = "Копировать путь"; -"CreateSymLink" = "Создать Symlink к Xcode.app"; +"CreateSymLink" = "Создать символическую ссылку к Xcode.app"; "Uninstall" = "Удалить"; "Selected" = "Выбрано"; "Select" = "Выбрать"; @@ -23,10 +23,11 @@ "Next" = "Далее"; "Continue" = "Продолжить"; "Close" = "Закрыть"; +"OK" = "OK"; // Info Pane -"IdenticalBuilds" = "Идентичные Cборки"; -"IdenticalBuilds.help" = "Иногда предварительная и релизная версии представляют собой одну и ту же сборку. Xcodes автоматически отображает эти версии вместе."; +"IdenticalBuilds" = "Идентичные выпуски"; +"IdenticalBuilds.help" = "Иногда предварительная и релизная версии представляют собой один и тот же выпуск. Xcodes автоматически отображает эти версии вместе."; "ReleaseDate" = "Дата выпуска"; "ReleaseNotes" = "Примечания к выпуску"; @@ -66,7 +67,7 @@ "AutomaticInstallNewVersion" = "Автоматически устанавливать новые версии Xcode"; "IncludePreRelease" = "Включить предварительные/бета-версии"; "AppUpdates" = "Обновления Xcodes.app"; -"CheckForAppUpdates" = "Автоматически проверять наличие обновлений приложения"; +"CheckForAppUpdates" = "Автоматически проверять наличие обновлений"; "CheckNow" = "Проверить сейчас"; "LastChecked" = "Последняя проверка: %@"; "Never" = "Никогда"; @@ -74,17 +75,25 @@ // Advanced Preference Pane "Advanced" = "Дополнительно"; "LocalCachePath" = "Путь к локальному кешу"; -"LocalCachePathDescription" = "Xcodes кеширует доступные версии Xcode и временно загружает новые версии в директорию"; +"LocalCachePathDescription" = "Xcodes кеширует доступные версии Xcode и временно загружает новые версии в указанную директорию"; "Change" = "Изменить"; "Active/Select" = "Активировать/Выбрать"; -"AutomaticallyCreateSymbolicLink" = "Автоматически сосдавит символическую ссылку к Xcode.app"; -"AutomaticallyCreateSymbolicLinkDescription" = "Когда вы делаете версию Xcode активной/выбранной, попробуйте создать символическую ссылку с именем Xcode.app в директорию установки"; +"InstallDirectory" = "Путь для установки"; +"InstallPathDescription" = "Xcodes использует единый путь для поиска и установки выпусков Xcode. По умолчанию, рекомендуется оставить /Applications. Любые изменения в то, где находится Xcode, могут привести к тому, что другие приложения/сервисы могут перестать работать. "; + +"OnSelectDoNothing" = "Сохранять формат имени Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "Если выбрано, формат имени будет содержать версию, прим. Xcode-13.4.1.app"; +"AutomaticallyCreateSymbolicLink" = "Автоматически создавать символическую ссылку к Xcode.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Когда вы делаете версию Xcode активной/выбранной, будет выполнена попытка создать символическую ссылку с именем Xcode.app в директории установки"; +"OnSelectRenameXcode" = "Всегда переименовывать в Xcode.app"; +"OnSelectRenameXcodeDescription" = "Если выбрано, будет выполнена попытка переименовать активный Xcode в Xcode.app, а предыдущий Xcode.app в формат имени с версией."; + "DataSource" = "Источник данных"; -"DataSourceDescription" = "Источник данных Apple очищает веб-сайт Apple Developer. Он всегда показывает последние доступные выпуски, но является более уязвимым.\n\nXcode Releases — это неофициальный список выпусков Xcode. Он предоставляется в виде правильно сформированных данных, содержит дополнительные информация, которую Apple не всегда может получить от Apple и которая с меньшей вероятностью будет повреждена, если Apple изменит дизайн своего веб-сайта для разработчиков."; +"DataSourceDescription" = "Источник данных Apple применяет технологию \"веб-скрейпинга\" к веб-сайту Apple для разработчиков. Он всегда показывает последние доступные выпуски, но является менее стабильным источником данных.\n\nXcode Releases — это неофициальный список выпусков Xcode. Он предоставляется в виде удобно структурированных данных, содержит дополнительную информацию, которую не всегда можно получить от Apple и который с меньшей вероятностью перестанет работать, если Apple изменит дизайн своего веб-сайта для разработчиков."; "Downloader" = "Загрузчик"; -"DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов URL."; +"DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов по сети."; "PrivilegedHelper" = "Привилегированный помощник"; -"PrivilegedHelperDescription" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени пользователя root. Это вещи, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать вашу macOS пароль счета для его установки."; +"PrivilegedHelperDescription" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени root-пользователя. Это команды, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать пароль от вашей учетной записи macOS для его установки."; "HelperInstalled" = "Помощник установлен"; "HelperNotInstalled" = "Помощник не установлен"; "InstallHelper" = "Установить помощника"; @@ -92,8 +101,8 @@ // Experiment Preference Pane "Experiments" = "Эксперименты"; "FasterUnxip" = "Быстрый Unxip"; -"UseUnxipExperiment" = "При unxip будет использован экспериментальный функционал"; -"FasterUnxipDescription" = "Благодаря @_saagarjha этот эксперимент может увеличить скорость распаковки до 70% для некоторых систем.\n\nДополнительную информацию о том, как это достигается, можно увидеть в репозитории unxip — https://github.com/saagarjha/unxip. "; +"UseUnxipExperiment" = "При выполнении unxip будет использован экспериментальный функционал"; +"FasterUnxipDescription" = "Благодаря @_saagarjha этот эксперимент может увеличить скорость распаковки до 70% на некоторых системах.\n\nДополнительную информацию о том, как достигается такой результат, можно прочесть в репозитории unxip — https://github.com/saagarjha/unxip. "; // Notifications "AccessGranted" = "Доступ разрешен. Вы будете получать уведомления от Xcodes."; @@ -105,7 +114,7 @@ "SignInWithApple" = "Войти со своим Apple ID."; "AppleID" = "Apple ID:"; "Password" = "Пароль:"; -"Required" = "Необходимa"; +"Required" = "Обязательно"; "SignOut" = "Выход"; // SMS/2FA @@ -125,7 +134,7 @@ "RefreshDescription" = "Обновить список Xcode"; "All" = "Все"; "Release" = "Pелиз"; -"ReleaseOnly" = "Только Pелиз"; +"ReleaseOnly" = "Только релиз"; "Beta" = "Бета"; "BetaOnly" = "Только бета"; "Filter" = "Фильтр"; @@ -155,7 +164,7 @@ // Privileged Helper "Alert.PrivilegedHelper.Title" = "Привилегированный помощник"; -"Alert.PrivilegedHelper.Message" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени пользователя root. Это вещи, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать вашу macOS пароль учетной записи для его установки."; +"Alert.PrivilegedHelper.Message" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени root-пользователя. Это команды, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать пароль от вашей учетной записи macOS для его установки."; "Alert.PrivilegedHelper.Error.Title" = "Невозможно установить помощник"; // Min MacOS Supported @@ -218,4 +227,4 @@ "Notification.NewXcodeVersion.Body" = "Новые версии Xcode доступны для скачивания."; // WWDC -"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Счастливого WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From dcb9c0e860b635b8d4c75795ed76324689f06418 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Aug 2022 10:06:03 +0000 Subject: [PATCH 110/180] Bump actions/cache from 3.0.6 to 3.0.7 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.6 to 3.0.7. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.6...v3.0.7) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 255af7e..27cd0cd 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.6 + uses: actions/cache@v3.0.7 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 653f1ae59edeac91fd5a8942d25722d41dfd20b2 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 11 Aug 2022 22:54:59 -0500 Subject: [PATCH 111/180] Update readme with more localization contributors --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5ac99c8..705d273 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,9 @@ _If you're looking for a command-line version of Xcodes.app, try [`xcodes`](http ## Features - List all available Xcode versions from [Xcode Releases'](https://xcodereleases.com) data or the Apple Developer website. -- Install any Xcode version, fully automated from start to finish. Xcodes uses [`aria2`](https://aria2.github.io), which uses up to 16 connections to download 3-5x faster than URLSession. -- Automatically install new releases! +- Install any Xcode version, **fully automated** from start to finish. Xcodes uses [`aria2`](https://aria2.github.io), which uses up to 16 connections to download 3-5x faster than URLSession. +- Automatically resumes installs if network errors. +- Apple ID required to download Xcode versions. - Just click a button to make a version active with `xcode-select`. - View release notes, OS compatibility, included SDKs and compilers from [Xcode Releases](https://xcodereleases.com). - Dark/Light Mode supported @@ -34,9 +35,12 @@ The following languages are supported because of the following community users! ||||| |-|-|-|-| |French 🇫🇷 |[@dompepin](https://github.com/dompepin)|Italian 🇮🇹 |[gualtierofrigerio](https://github.com/gualtierofrigerio)| -|Spanish 🇲🇽 |[@cesartru88](https://github.com/cesartru88)|Korean 🇰🇷 |[@ryan-son](https://github.com/ryan-son)| +|Spanish 🇪🇸🇲 |[@cesartru88](https://github.com/cesartru88)|Korean 🇰🇷 |[@ryan-son](https://github.com/ryan-son)| |Russian 🇷🇺 |[@alexmazlov](https://github.com/alexmazlov)|Turkish 🇹🇷 |[@egrimo](https://github.com/egrimo)| |Hindi 🇮🇳 |[@KGurpreet](https://github.com/KGurpreet)|Chinese-Simplified 🇨🇳|[@megabitsenmzq](https://github.com/megabitsenmzq)| +|Finish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇨🇳|[@itszero](https://github.com/itszero)| +|Ukranian 🇺🇦 |[@gelosi](https://github.com/gelosi)|Japanese 🇯🇵|[@tatsuz0u](https://github.com/tatsuz0u)| +|German 🇩🇪|[@drct](https://github.com/drct)|| Want to add more languages? Simply create a PR with the updated strings file. ## Installation @@ -143,7 +147,10 @@ popd ```

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

-## Contact +## Maintainers + +[Matt Kiazyk](https://github.com/mattkiazyk) - [Twitter](https://www.twitter.com/mattkiazyk) + From ac3bb5a330ebfd914b8cc2246bd26880bae217b2 Mon Sep 17 00:00:00 2001 From: John Huang Date: Wed, 17 Aug 2022 13:58:13 +0800 Subject: [PATCH 112/180] Update readme with Taiwan flag --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 705d273..34f8b2e 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ The following languages are supported because of the following community users! |Spanish 🇪🇸🇲 |[@cesartru88](https://github.com/cesartru88)|Korean 🇰🇷 |[@ryan-son](https://github.com/ryan-son)| |Russian 🇷🇺 |[@alexmazlov](https://github.com/alexmazlov)|Turkish 🇹🇷 |[@egrimo](https://github.com/egrimo)| |Hindi 🇮🇳 |[@KGurpreet](https://github.com/KGurpreet)|Chinese-Simplified 🇨🇳|[@megabitsenmzq](https://github.com/megabitsenmzq)| -|Finish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇨🇳|[@itszero](https://github.com/itszero)| +|Finish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇹🇼|[@itszero](https://github.com/itszero)| |Ukranian 🇺🇦 |[@gelosi](https://github.com/gelosi)|Japanese 🇯🇵|[@tatsuz0u](https://github.com/tatsuz0u)| |German 🇩🇪|[@drct](https://github.com/drct)|| From b74c567a5c7866cfcd00d2c55bddae5759cebe7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 10:04:41 +0000 Subject: [PATCH 113/180] Bump actions/cache from 3.0.7 to 3.0.8 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 27cd0cd..ccfe648 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.7 + uses: actions/cache@v3.0.8 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From c85f48ae3c4f9fc46a8e03993045c1bb0ce804c2 Mon Sep 17 00:00:00 2001 From: Ege Sucu Date: Wed, 24 Aug 2022 21:16:31 +0300 Subject: [PATCH 114/180] Added missing translations in 1.7.0 --- Xcodes/Resources/tr.lproj/Localizable.strings | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index 3336bfa..cb901ac 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -78,8 +78,16 @@ "LocalCachePathDescription" = "Xcodes, uygun Xcode sürümlerini ve geçici yeni indirilenleri bir klasörde önbelleğe alır"; "Change" = "Değiştir"; "Active/Select" = "Aktif/Seç"; +"InstallDirectory" = "Yükleme Klasörü"; +"InstallPathDescription" = "Xcodes bir klasörü arayıp oraya yükler. Varsayılan(ve önerilen) yöntem /Uygulamalar klasöründe tutmaktır. Xcode'un bulunduğu ortamdaki herhangi bir değişiklik başka bir uygulamanın/servisin çalışmasını durdurabilir."; + +"OnSelectDoNothing" = "Uygulama ismini Xcode-X.X.X.app gibi tut."; +"OnSelectDoNothingDescription" = "Seçildiğinde, ismi Xcode-13.4.1.app örneğindeki gibi tutar."; "AutomaticallyCreateSymbolicLink" = "Xcodes.app'in sembolik linkini otomatik oluştur."; "AutomaticallyCreateSymbolicLinkDescription" = "Bir Xcode sürümünü Aktif/Seç yaparken Xcode.app ismindeki uygulamanın sembolik linkini yükleme klasörüne otomatik oluşturmayı dene"; +"OnSelectRenameXcode" = "Her zaman Xcode.app şeklinde ismi değiştir"; +"OnSelectRenameXcodeDescription" = "Seçildiğinde, aktif olan Xcode'u Xcode.app olarak isimlendirmeye çalışır ve eski Xcode ismine sürüm ismi ekler."; + "DataSource" = "Veri Kaynağı"; "DataSourceDescription" = "Apple veri kaynağı Apple'ın geliştirici sitesini inceliyor. Uygun olan en son sürümleri gösterir, ama biraz daha hassastır.\n\nXcode Releases, Xcode sürümlerinin bulunduğu resmi olmayan bir listedir. Data düzenli bir formata sahip bilgileri barındırır, Apple tarafında olmayan ek bilgileri içerir ve Apple'ın ileride sitesini değiştireceği için bozabileceği bir kaynak değildir."; "Downloader" = "Yükleyici"; From 410e1e5ae3b94bf6ab42d952503250f074f3fb57 Mon Sep 17 00:00:00 2001 From: swiftty <62803132+swiftty@users.noreply.github.com> Date: Mon, 29 Aug 2022 18:35:28 +0900 Subject: [PATCH 115/180] Fix "Unarchiving" localization in Japanese --- Xcodes/Resources/ja.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 7d231e1..abf1026 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -201,7 +201,7 @@ // Installation Steps "Downloading" = "ダウンロードしています"; -"Unarchiving" = "アーカイブしています (時間かかることがあります)"; +"Unarchiving" = "アーカイブを展開しています (時間がかかることがあります)"; "Moving" = "%@ に移動しています"; "TrashingArchive" = "アーカイブをゴミ箱に移動しています"; "CheckingSecurity" = "セキュリティを検証しています"; From bb0e4d489fd751e6f9f77920e7c2eccff3e939a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Ziad=C3=A9?= Date: Wed, 7 Sep 2022 23:37:52 +0300 Subject: [PATCH 116/180] Fix Finnish language name typo in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34f8b2e..965dcb8 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ The following languages are supported because of the following community users! |Spanish 🇪🇸🇲 |[@cesartru88](https://github.com/cesartru88)|Korean 🇰🇷 |[@ryan-son](https://github.com/ryan-son)| |Russian 🇷🇺 |[@alexmazlov](https://github.com/alexmazlov)|Turkish 🇹🇷 |[@egrimo](https://github.com/egrimo)| |Hindi 🇮🇳 |[@KGurpreet](https://github.com/KGurpreet)|Chinese-Simplified 🇨🇳|[@megabitsenmzq](https://github.com/megabitsenmzq)| -|Finish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇹🇼|[@itszero](https://github.com/itszero)| +|Finnish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇹🇼|[@itszero](https://github.com/itszero)| |Ukranian 🇺🇦 |[@gelosi](https://github.com/gelosi)|Japanese 🇯🇵|[@tatsuz0u](https://github.com/tatsuz0u)| |German 🇩🇪|[@drct](https://github.com/drct)|| From c045592aea25dd7bec351e7458d695d4103846a5 Mon Sep 17 00:00:00 2001 From: Dietrich Tegge Date: Thu, 8 Sep 2022 08:42:09 +0200 Subject: [PATCH 117/180] German translation added German translation added for install and renaming features --- Xcodes/Resources/de.lproj/Localizable.strings | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 3d14936..06abf2a 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -78,8 +78,16 @@ "LocalCachePathDescription" = "Xcodes speichert verfügbare Xcode-Versionen zwischen und lädt neue Versionen temporär in ein Verzeichnis."; "Change" = "Ändern"; "Active/Select" = "Aktiv/Auswählen"; +"InstallDirectory" = "Installationsverzeichnis"; +"InstallPathDescription" = "Xcodes sucht and installiert in ein einzelnes Verzeichnis. Standard (und empfohlen beizubehalten) ist /Applications. Änderungen am Speicherort von Xcode können dazu führen, dass andere Apps/Dienste aufhören zu funktionieren. "; + +"OnSelectDoNothing" = "Name beibehalten als Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "Bei Auswahl wird der Name mit Version beibehalten, z. B. Xcode-13.4.1.app"; "AutomaticallyCreateSymbolicLink" = "Symbolischen Link zur Xcode.app automatisch erstellen"; -"AutomaticallyCreateSymbolicLinkDescription" = "Beim Umstellen der Xcode-Version auf Aktiv/Ausgewählt versuchen einen symbolischen Link namens Xcode.app im Installationsverzeichnis zu erstellen."; +"AutomaticallyCreateSymbolicLinkDescription" = "Beim Umstellen einer Xcode-Version auf Aktiv/Ausgewählt versuchen einen symbolischen Link namens Xcode.app im Installationsverzeichnis zu erstellen."; +"OnSelectRenameXcode" = "Immer in Xcode.app umbenennen"; +"OnSelectRenameXcodeDescription" = "Bei Auswahl wird versucht das aktive Xcode in Xcode.app umzubenennen. Die vorherige Xcode.app wird dazu in den Versionsnamen umbenannt."; + "DataSource" = "Datenquelle"; "DataSourceDescription" = "Die Apple-Datenquelle liest die Apple Developer-Website aus. Sie zeigt immer die neuesten Releases an, die verfügbar sind, ist allerdings etwas instabiler.\n\nXcode Releases ist eine inoffizielle Liste von Xcode-Veröffentlichungen. Sie wird als formatierte Daten bereitsgestellt, enthält Extrainformationen die nicht ohne weiteres von Apple erhältlich sind und ist mit höherer Wahrscheinlichkeit weiter verfügbar, sollte Apple seine Entwickler-Website neu gestalten."; "Downloader" = "Downloader"; From e2f49bee23a6a8715681e2536c4f497c3e90a345 Mon Sep 17 00:00:00 2001 From: Florent Morin Date: Sat, 10 Sep 2022 10:33:26 +0200 Subject: [PATCH 118/180] Fix French Localization --- Xcodes/Resources/fr.lproj/Localizable.strings | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index a725ce4..bbb9248 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -32,19 +32,19 @@ "ReleaseDate" = "Date de Sortie"; "ReleaseNotes" = "Notes de Mise à Jour"; -"ReleaseNotes.help" = "Consulter le Notes de Mise á Jour"; +"ReleaseNotes.help" = "Consulter les Notes de Mise á Jour"; "Compatibility" = "Compatibilité"; "MacOSRequirement" = "Nécessite macOS %@ ou une version ultérieure"; "SDKs" = "SDKs"; "Compilers" = "Compilateurs"; "DownloadSize" = "Taille de téléchargement"; -"NoXcodeSelected" = "Aucun XCode Sélectionné"; +"NoXcodeSelected" = "Aucun Xcode Sélectionné"; // Installation Steps // When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" // So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" -"InstallationStepDescription" = "Étape %1$d de %2$d: %3$@"; -"DownloadingPercentDescription" = "Téléchargement: %d%% téléchargé"; +"InstallationStepDescription" = "Étape %1$d sur %2$d : %3$@"; +"DownloadingPercentDescription" = "Téléchargement : %d%% téléchargé"; "StopInstallation" = "Arrêter l'installation"; "DownloadingError" = "Aucune information de téléchargement trouvée"; @@ -69,7 +69,7 @@ "AppUpdates" = "Mises à Jour de Xcodes.app"; "CheckForAppUpdates" = "Vérifier automatiquement les mises à jour de l'application"; "CheckNow" = "Vérifier Maintenant"; -"LastChecked" = "Dernière vérification: %@"; +"LastChecked" = "Dernière vérification : %@"; "Never" = "Jamais"; // Advanced Preference Pane @@ -80,8 +80,12 @@ "Active/Select" = "Activer/Sélectionner"; "AutomaticallyCreateSymbolicLink" = "Créer automatiquement un lien symbolique vers Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Lorsque vous activez/sélectionnez une version de Xcode, essayez de créer un lien symbolique nommé Xcode.app dans le répertoire d'installation"; +"OnSelectDoNothing" = "Ne rien faire"; +"OnSelectRenameXcode" = "Toujours renommer en Xcode.app"; +"OnSelectRenameXcodeDescription" = "À la sélection, toujours essayer de renommer la version active de Xcode en Xcode.app, en renommant l'ancienne Xcode.app avec le nom de version."; + "DataSource" = "Source de Données"; -"DataSourceDescription" = "La source de données Apple gratte le site Web de developpeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; +"DataSourceDescription" = "La source de données Apple gratte le site Web de développeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; "Downloader" = "Téléchargeur"; "DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; "PrivilegedHelper" = "Assistant Privilégié"; @@ -104,20 +108,20 @@ // SignIn "SignInWithApple" = "Connectez-vous avec votre identifiant Apple."; -"AppleID" = "Identifiant Apple:"; -"Password" = "Mot de passe:"; +"AppleID" = "Identifiant Apple :"; +"Password" = "Mot de passe :"; "Required" = "Requis"; "SignOut" = "Déconnecter"; // SMS/2FA -"DigitCodeDescription" = "Saisissez le code à %d chiffres de l'un de vos appareils de confiance:"; +"DigitCodeDescription" = "Saisissez le code à %d chiffres de l'un de vos appareils de confiance :"; "SendSMS" = "Envoyer un texto"; -"EnterDigitCodeDescription" = "Entrez le code à %d chiffres envoyé à %@: "; -"SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par texto:"; -"NoTrustedPhones" = "Votre compte n'a pas de numéros de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/en-ca/HT204915."; +"EnterDigitCodeDescription" = "Entrez le code à %d chiffres envoyé à %@ : "; +"SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par texto :"; +"NoTrustedPhones" = "Votre compte n'a pas de numéros de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/fr-fr/HT204915."; // MainWindow -"UpdatedAt" = "Actualisé: "; +"UpdatedAt" = "Mis à jour le "; // ToolBar "Login" = "Connexion"; @@ -168,7 +172,7 @@ "Alert.InstallArchive.Error.Title" = "Impossible d'installer l'archive de Xcode"; // Update -"Alert.Update.Error.Title" = "Impossible de mettre à jour la version de XCode sélectionnée"; +"Alert.Update.Error.Title" = "Impossible de mettre à jour la version de Xcode sélectionnée"; // Active/Select "Alert.Select.Error.Title" = "Impossible de sélectionner Xcode"; @@ -184,7 +188,7 @@ "InstallationError.DamagedXIP" = "L'archive \"%@\" est endommagée et ne peut pas être agrandie."; "InstallationError.NotEnoughFreeSpaceToExpandArchive" = "L'archive \"%@\" ne peut pas être agrandie car le volume actuel n'a pas assez d'espace libre.\n\nLibérez plus d'espace pour agrandir l'archive, puis réinstallez Xcode %@ pour démarrer l'installation là où elle s'est arrêtée."; "InstallationError.FailedToMoveXcodeToApplications" = "Impossible de déplacer Xcode vers le répertoire %@."; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ a échoué à son évaluation de sécurité avec le résultat suivant :\n%@\nXCode reste installé à %@ si vous souhaitez l'utiliser quand même."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ a échoué à son évaluation de sécurité avec le résultat suivant :\n%@\nXcode reste installé à %@ si vous souhaitez l'utiliser quand même."; "InstallationError.CodesignVerifyFailed" = "Le Xcode téléchargé a échoué à la vérification de la signature de code avec le résultat suivant :\n%@"; "InstallationError.UnexpectedCodeSigningIdentity" = "Le Xcode téléchargé n'a pas l'identité de signature de code attendue.\nReçue :\n%@\n%@\nAttendue :\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes ne supporte pas (encore) l'installation de Xcode à partir du format de fichier %@."; From 0f3d92b70fc4058ab273228abb1c0c65bd45fc62 Mon Sep 17 00:00:00 2001 From: Florent Morin Date: Sat, 10 Sep 2022 10:41:09 +0200 Subject: [PATCH 119/180] Update French Localization --- Xcodes/Resources/fr.lproj/Localizable.strings | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index bbb9248..d9e5270 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -1,8 +1,8 @@ // Menu "Menu.About" = "À propos de Xcodes"; "Menu.CheckForUpdates" = "Vérifier les mises à jour..."; -"Menu.Acknowledgements" = "Xcodes Remerciements"; -"Menu.GitHubRepo" = "Xcodes GitHub"; +"Menu.Acknowledgements" = "Remerciements Xcodes"; +"Menu.GitHubRepo" = "Dépôt GitHub Xcodes"; "Menu.ReportABug" = "Signaler un Bogue"; "Menu.RequestNewFeature" = "Demander une Nouvelle Fonctionnalité"; @@ -50,9 +50,9 @@ // About "VersionWithBuild" = "Version %@ (%@)"; -"GithubRepo" = "GitHub Repo"; +"GithubRepo" = "Dépôt GitHub"; "Acknowledgements" = "Remerciements"; -"UnxipExperiment" = "Expérience Unxip"; +"UnxipExperiment" = "Expérimentation Unxip"; "License" = "Licence"; // General Preference Pane @@ -85,7 +85,7 @@ "OnSelectRenameXcodeDescription" = "À la sélection, toujours essayer de renommer la version active de Xcode en Xcode.app, en renommant l'ancienne Xcode.app avec le nom de version."; "DataSource" = "Source de Données"; -"DataSourceDescription" = "La source de données Apple gratte le site Web de développeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple redessine son site Web de développeurs."; +"DataSourceDescription" = "La source de données Apple analyse le site Web de développeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple refait son site Web de développeurs."; "Downloader" = "Téléchargeur"; "DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; "PrivilegedHelper" = "Assistant Privilégié"; @@ -95,10 +95,10 @@ "InstallHelper" = "Installer l'assistant'"; // Experiment Preference Pane -"Experiments" = "Experiences"; +"Experiments" = "Expérimentations"; "FasterUnxip" = "Unxip Plus Rapide"; -"UseUnxipExperiment" = "Utiliser l'expérience, lors de la décompression Unxip"; -"FasterUnxipDescription" = "Grâce à @_saagarjha, cette expérience peut augmenter jusqu'à 70% la vitesse d'extraction pour certains systèmes.\n\nPour plus d'informations sur la façon dont cela est accompli, consultez le référentiel GitHub unxip - https://github.com/saagarjha/unxip"; +"UseUnxipExperiment" = "Lors de la décompression Unxip, utiliser l'expérimentation"; +"FasterUnxipDescription" = "Grâce à @_saagarjha, cette expérimentation peut augmenter jusqu'à 70% la vitesse de décompression pour certains systèmes.\n\nPour plus d'informations sur la façon dont cela est accompli, consultez le dépôt GitHub unxip - https://github.com/saagarjha/unxip"; // Notifications "AccessGranted" = "Accès autorisé. Vous recevrez des notifications de Xcodes."; @@ -115,10 +115,10 @@ // SMS/2FA "DigitCodeDescription" = "Saisissez le code à %d chiffres de l'un de vos appareils de confiance :"; -"SendSMS" = "Envoyer un texto"; +"SendSMS" = "Envoyer un SMS"; "EnterDigitCodeDescription" = "Entrez le code à %d chiffres envoyé à %@ : "; -"SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par texto :"; -"NoTrustedPhones" = "Votre compte n'a pas de numéros de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/fr-fr/HT204915."; +"SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par SMS :"; +"NoTrustedPhones" = "Votre compte n'a aucun numéro de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/fr-fr/HT204915."; // MainWindow "UpdatedAt" = "Mis à jour le "; @@ -127,7 +127,7 @@ "Login" = "Connexion"; "LoginDescription" = "Ouvrir une connexion"; "Refresh" = "Actualiser"; -"RefreshDescription" = "Actualiser la liste de Xcode"; +"RefreshDescription" = "Actualiser la liste des Xcode"; "All" = "Tout"; "Release" = "Version"; "ReleaseOnly" = "Seulement le versions finales"; @@ -136,7 +136,7 @@ "Filter" = "Filtre"; "FilterAvailableDescription" = "Filtrer les versions disponibles"; "FilterInstalledDescription" = "Filtrer les versions installées"; -"Info" = "Info"; +"Info" = "Informations"; "InfoDescription" = "Afficher ou masquer le volet d'informations"; "Preferences" = "Préférences"; "PreferencesDescription" = "Ouvrir les Préférences"; @@ -150,7 +150,7 @@ // Alerts // Uninstall "Alert.Uninstall.Title" = "Désinstaller Xcode %@ ?"; -"Alert.Uninstall.Message" = "Xcodes sera déplacé vers la corbeille, mais la corbeille ne sera pas vidé."; +"Alert.Uninstall.Message" = "Xcodes sera déplacé vers la corbeille, mais la corbeille ne sera pas vidée."; "Alert.Uninstall.Error.Title" = "Impossible de désinstaller Xcode"; // Cancel Install @@ -164,7 +164,7 @@ "Alert.PrivilegedHelper.Error.Title" = "Impossible d'installer l'assistant"; // Min MacOS Supported -"Alert.MinSupported.Title" = "Exigences minimales non remplies"; +"Alert.MinSupported.Title" = "Pré-requis minimum non satisfaits"; "Alert.MinSupported.Message" = "Xcode %@ nécessite MacOS %@, mais vous utilisez MacOS %@, voulez-vous toujours l'installer ?"; // Install @@ -185,11 +185,11 @@ "Alert.PostInstall.Title" = "Impossible d'effectuer les étapes de post-installation"; // InstallationErrors -"InstallationError.DamagedXIP" = "L'archive \"%@\" est endommagée et ne peut pas être agrandie."; -"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "L'archive \"%@\" ne peut pas être agrandie car le volume actuel n'a pas assez d'espace libre.\n\nLibérez plus d'espace pour agrandir l'archive, puis réinstallez Xcode %@ pour démarrer l'installation là où elle s'est arrêtée."; +"InstallationError.DamagedXIP" = "L'archive \"%@\" est endommagée et ne peut pas être décompressée."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "L'archive \"%@\" ne peut pas être décompressée car le volume actuel n'a pas assez d'espace libre.\n\nLibérez plus d'espace pour décompresser l'archive, puis réinstallez Xcode %@ pour démarrer l'installation là où elle s'est arrêtée."; "InstallationError.FailedToMoveXcodeToApplications" = "Impossible de déplacer Xcode vers le répertoire %@."; "InstallationError.FailedSecurityAssessment" = "Xcode %@ a échoué à son évaluation de sécurité avec le résultat suivant :\n%@\nXcode reste installé à %@ si vous souhaitez l'utiliser quand même."; -"InstallationError.CodesignVerifyFailed" = "Le Xcode téléchargé a échoué à la vérification de la signature de code avec le résultat suivant :\n%@"; +"InstallationError.CodesignVerifyFailed" = "La vérification de signature de code du Xcode téléchargé a échoué avec le résultat suivant :\n%@"; "InstallationError.UnexpectedCodeSigningIdentity" = "Le Xcode téléchargé n'a pas l'identité de signature de code attendue.\nReçue :\n%@\n%@\nAttendue :\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes ne supporte pas (encore) l'installation de Xcode à partir du format de fichier %@."; "InstallationError.MissingSudoerPassword" = "Mot de passe manquant. Veuillez réessayer."; @@ -205,7 +205,7 @@ // Installation Steps "Downloading" = "Téléchargement"; -"Unarchiving" = "Désarchivage (cela peut prendre un certain temps)"; +"Unarchiving" = "Décompression (cela peut prendre un certain temps)"; "Moving" = "Déplacement vers %@"; "TrashingArchive" = "Déplacement de l'archive vers la corbeille"; "CheckingSecurity" = "Vérification de sécurité"; From 8b43903b42dd501f6b3e6e5452ac6595f3256b33 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 16 Sep 2022 21:34:14 -0500 Subject: [PATCH 120/180] Add ability to download Xcode without logging in using XcodeRelease --- Xcodes/Backend/AppState+Install.swift | 24 ++++++++-------- Xcodes/Backend/AppState.swift | 40 ++++++++++++++++++++++++++- Xcodes/Backend/AvailableXcode.swift | 3 ++ Xcodes/Backend/Environment.swift | 2 +- Xcodes/Backend/URLRequest+Apple.swift | 10 +++++++ 5 files changed, 64 insertions(+), 15 deletions(-) diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index 79caf96..b4ef931 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -40,15 +40,10 @@ extension AppState { } private func install(_ installationType: InstallationType, downloader: Downloader, attemptNumber: Int) -> AnyPublisher { - // We need to check if the Apple ID that is logged in is an Apple Developer - // Since users can use xcodereleases, we don't check for Apple ID on a xcode list refresh - // If the Apple Id is not a developer, the download action will try and download a xip that is invalid, causing a `xcode13.0.xip is damaged and can't be expanded.` + Logger.appState.info("Using \(downloader) downloader") - return validateSession() - .flatMap { _ in - self.getXcodeArchive(installationType, downloader: downloader) - } + return self.getXcodeArchive(installationType, downloader: downloader) .flatMap { xcode, url -> AnyPublisher in self.installArchivedXcode(xcode, at: url) } @@ -98,13 +93,16 @@ extension AppState { } private func downloadXcode(availableXcode: AvailableXcode, downloader: Downloader) -> AnyPublisher<(AvailableXcode, URL), Error> { - downloadOrUseExistingArchive(for: availableXcode, downloader: downloader, progressChanged: { [unowned self] progress in - DispatchQueue.main.async { - self.setInstallationStep(of: availableXcode.version, to: .downloading(progress: progress)) + return validateADCSession(path: availableXcode.downloadPath) + .flatMap { _ in + return self.downloadOrUseExistingArchive(for: availableXcode, downloader: downloader, progressChanged: { [unowned self] progress in + DispatchQueue.main.async { + self.setInstallationStep(of: availableXcode.version, to: .downloading(progress: progress)) + } + }) + .map { return (availableXcode, $0) } } - }) - .map { return (availableXcode, $0) } - .eraseToAnyPublisher() + .eraseToAnyPublisher() } public func downloadOrUseExistingArchive(for availableXcode: AvailableXcode, downloader: Downloader, progressChanged: @escaping (Progress) -> Void) -> AnyPublisher { diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 302e883..a098642 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -157,7 +157,16 @@ class AppState: ObservableObject { } // MARK: - Authentication + func validateADCSession(path: String) -> AnyPublisher { + return Current.network.dataTask(with: URLRequest.downloadADCAuth(path: path)) + .receive(on: DispatchQueue.main) + .tryMap { _ in + } + .eraseToAnyPublisher() + } + func validateSession() -> AnyPublisher { + return Current.network.validateSession() .receive(on: DispatchQueue.main) .handleEvents(receiveCompletion: { completion in @@ -368,7 +377,12 @@ class AppState: ObservableObject { } } - install(id: id) + switch self.dataSource { + case .apple: + install(id: id) + case .xcodeReleases: + installWithoutLogin(id: id) + } } func install(id: Xcode.ID) { @@ -439,6 +453,30 @@ class AppState: ObservableObject { ) } + /// Skips using the username/password to log in to Apple, and simply gets a Auth Cookie used in downloading + func installWithoutLogin(id: Xcode.ID) { + guard let availableXcode = availableXcodes.first(where: { $0.version == id }) else { return } + + installationPublishers[id] = self.install(.version(availableXcode), downloader: Downloader(rawValue: UserDefaults.standard.string(forKey: "downloader") ?? "aria2") ?? .aria2) + .receive(on: DispatchQueue.main) + .sink( + receiveCompletion: { [unowned self] completion in + self.installationPublishers[id] = nil + if case let .failure(error) = completion { + // Prevent setting the app state error if it is an invalid session, we will present the sign in view instead + if error as? AuthenticationError != .invalidSession { + self.error = error + self.presentedAlert = .generic(title: localizeString("Alert.Install.Error.Title"), message: error.legibleLocalizedDescription) + } + if let index = self.allXcodes.firstIndex(where: { $0.id == id }) { + self.allXcodes[index].installState = .notInstalled + } + } + }, + receiveValue: { _ in } + ) + } + func cancelInstall(id: Xcode.ID) { guard let availableXcode = availableXcodes.first(where: { $0.version == id }) else { return } diff --git a/Xcodes/Backend/AvailableXcode.swift b/Xcodes/Backend/AvailableXcode.swift index cf3f0e4..d0f877e 100644 --- a/Xcodes/Backend/AvailableXcode.swift +++ b/Xcodes/Backend/AvailableXcode.swift @@ -14,6 +14,9 @@ public struct AvailableXcode: Codable { public let sdks: SDKs? public let compilers: Compilers? public let fileSize: Int64? + public var downloadPath: String { + return url.path + } public init( version: Version, diff --git a/Xcodes/Backend/Environment.swift b/Xcodes/Backend/Environment.swift index b94fbc7..9a43ec8 100644 --- a/Xcodes/Backend/Environment.swift +++ b/Xcodes/Backend/Environment.swift @@ -43,7 +43,7 @@ public struct Shell { "--max-connection-per-server=16", "--split=16", "--summary-interval=1", - "--stop-with-process=\(ProcessInfo.processInfo.processIdentifier)", + "--stop-with-process=\(ProcessInfo.processInfo.processIdentifier)", // if xcodes quits, stop aria2 process "--dir=\(destination.parent.string)", "--out=\(destination.basename())", "--human-readable=false", // sets the output to use bytes instead of formatting diff --git a/Xcodes/Backend/URLRequest+Apple.swift b/Xcodes/Backend/URLRequest+Apple.swift index efe9afc..99e4b6e 100644 --- a/Xcodes/Backend/URLRequest+Apple.swift +++ b/Xcodes/Backend/URLRequest+Apple.swift @@ -4,6 +4,7 @@ extension URL { static let download = URL(string: "https://developer.apple.com/download")! static let downloads = URL(string: "https://developer.apple.com/services-account/QH65B2/downloadws/listDownloads.action")! static let downloadXcode = URL(string: "https://developer.apple.com/devcenter/download.action")! + static let downloadADCAuth = URL(string: "https://developerservices2.apple.com/services/download")! } extension URLRequest { @@ -25,4 +26,13 @@ extension URLRequest { request.allHTTPHeaderFields?["Accept"] = "*/*" return request } + + static func downloadADCAuth(path: String) -> URLRequest { + var components = URLComponents(url: .downloadADCAuth, resolvingAgainstBaseURL: false)! + components.queryItems = [URLQueryItem(name: "path", value: path)] + var request = URLRequest(url: components.url!) + request.allHTTPHeaderFields = request.allHTTPHeaderFields ?? [:] + request.allHTTPHeaderFields?["Accept"] = "*/*" + return request + } } From bb665528121a7ef3de92b618cd76fb055fee933f Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 16 Sep 2022 22:36:36 -0500 Subject: [PATCH 121/180] Add localization category for Release drafter --- .github/release-drafter.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 1e84109..f195d3e 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -5,6 +5,9 @@ categories: - title: '🐛 Bug Fixes' labels: - 'bugfix' + - title: '🌎 Localization' + labels: + - 'localization' - title: '🧰 Maintenance' label: - 'chore' From dc6124f25ce39db5e427f1c430cca5b2c3d49432 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 16 Sep 2022 22:46:31 -0500 Subject: [PATCH 122/180] Bump version Signed-off-by: Matt Kiazyk --- Xcodes.xcodeproj/project.pbxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 8e5f846..63ea87c 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -1012,7 +1012,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 15; + CURRENT_PROJECT_VERSION = 16; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -1022,7 +1022,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.7.0; + MARKETING_VERSION = 1.8.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1253,7 +1253,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 15; + CURRENT_PROJECT_VERSION = 16; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1263,7 +1263,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.7.0; + MARKETING_VERSION = 1.8.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1277,7 +1277,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 15; + CURRENT_PROJECT_VERSION = 16; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1287,7 +1287,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.7.0; + MARKETING_VERSION = 1.8.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; From 998a8982f8319ae26b521c5ae0164e5f8146ac8b Mon Sep 17 00:00:00 2001 From: Niklas Stambor Date: Sun, 25 Sep 2022 21:54:38 +0200 Subject: [PATCH 123/180] Typo in German Localization File Aktalisiert --> Aktualisiert --- Xcodes/Resources/de.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 06abf2a..7b568cc 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -125,7 +125,7 @@ "NoTrustedPhones" = "Dein Account verfügt über keine vertrauenswürdigen Telefonnummern, diese sind aber für Zwei-Faktor-Authentifizierung erforderlich.\n\nInformationen dazu unter https://support.apple.com/en-ca/HT204915."; // MainWindow -"UpdatedAt" = "Aktalisiert am"; +"UpdatedAt" = "Aktualisiert am"; // ToolBar "Login" = "Login"; From da93339a3d0acf9fc360e2d8f7450d02a8319d01 Mon Sep 17 00:00:00 2001 From: Yusaku Nishi Date: Thu, 29 Sep 2022 21:48:13 +0900 Subject: [PATCH 124/180] Add missing localization keys for Japanese --- Xcodes/Resources/ja.lproj/Localizable.strings | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index abf1026..b1e03b6 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -78,8 +78,16 @@ "LocalCachePathDescription" = "Xcodesは、利用可能なXcodeのバージョンをキャッシュし、新しいバージョンをディレクトリに一時的にダウンロードします。"; "Change" = "変更"; "Active/Select" = "アクティブ"; +"InstallDirectory" = "Install Directory"; +"InstallPathDescription" = "Xcodes searches and installs to a single directory. By default (and recommended) is to keep this /Applications. Any changes to where Xcode is stored may result in other apps/services to stop working. "; + +"OnSelectDoNothing" = "Keep name as Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "On select, will keep the name as the version eg. Xcode-13.4.1.app"; "AutomaticallyCreateSymbolicLink" = "Xcode.appへのシンボリックリンクの自動生成"; "AutomaticallyCreateSymbolicLinkDescription" = "Xcodeのバージョンをアクティブにする時、インストール先でXcode.appのシンボリックリンクの作成を試みます。"; +"OnSelectRenameXcode" = "Always rename to Xcode.app"; +"OnSelectRenameXcodeDescription" = "On select, will automatically try and rename the active Xcode to Xcode.app, renaming the previous Xcode.app to the version name."; + "DataSource" = "データソース"; "DataSourceDescription" = "Appleのデータソースは、Apple Developerのウェブサイトをスクレイピングしています。常に最新のリリースが表示されますが、比較的壊れやすくなっています。\n\nXcode Releasesは、非公式なXcodeのリリース一覧です。この一覧は整形されたデータとして提供されます。Appleからは簡単に入手できない特別な情報を含んでおり、AppleがDeveloper ウェブサイトを再設計しても壊れにくくなっています。"; "Downloader" = "ダウンローダ"; @@ -217,3 +225,6 @@ // Notifications "Notification.NewXcodeVersion.Title" = "新しいXcodeのバージョン"; "Notification.NewXcodeVersion.Body" = "新しいバージョンがダウンロードできます。"; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From cb1120624bfacafc6938895c9b5c7e50cd3f6108 Mon Sep 17 00:00:00 2001 From: Yusaku Nishi Date: Thu, 29 Sep 2022 22:16:42 +0900 Subject: [PATCH 125/180] Update Japanese localization --- Xcodes/Resources/ja.lproj/Localizable.strings | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index b1e03b6..048c334 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -78,15 +78,15 @@ "LocalCachePathDescription" = "Xcodesは、利用可能なXcodeのバージョンをキャッシュし、新しいバージョンをディレクトリに一時的にダウンロードします。"; "Change" = "変更"; "Active/Select" = "アクティブ"; -"InstallDirectory" = "Install Directory"; -"InstallPathDescription" = "Xcodes searches and installs to a single directory. By default (and recommended) is to keep this /Applications. Any changes to where Xcode is stored may result in other apps/services to stop working. "; +"InstallDirectory" = "インストール先"; +"InstallPathDescription" = "Xcodesは1つのディレクトリを検索し、そこにインストールします。デフォルト (推奨) は /Applications です。Xcodeの格納場所を変更すると、他のアプリケーションやサービスが動作しなくなる可能性があります。"; -"OnSelectDoNothing" = "Keep name as Xcode-X.X.X.app"; -"OnSelectDoNothingDescription" = "On select, will keep the name as the version eg. Xcode-13.4.1.app"; +"OnSelectDoNothing" = "名前をXcode-X.X.X.appのまま維持する"; +"OnSelectDoNothingDescription" = "選択時、バージョン付きの名前を維持します。例) Xcode-13.4.1.app"; "AutomaticallyCreateSymbolicLink" = "Xcode.appへのシンボリックリンクの自動生成"; "AutomaticallyCreateSymbolicLinkDescription" = "Xcodeのバージョンをアクティブにする時、インストール先でXcode.appのシンボリックリンクの作成を試みます。"; -"OnSelectRenameXcode" = "Always rename to Xcode.app"; -"OnSelectRenameXcodeDescription" = "On select, will automatically try and rename the active Xcode to Xcode.app, renaming the previous Xcode.app to the version name."; +"OnSelectRenameXcode" = "名前を常にXcode.appに変更する"; +"OnSelectRenameXcodeDescription" = "選択時、自動的にアクティブなXcodeをXcode.appに、以前のXcode.appをバージョン付きの名前に変更します。"; "DataSource" = "データソース"; "DataSourceDescription" = "Appleのデータソースは、Apple Developerのウェブサイトをスクレイピングしています。常に最新のリリースが表示されますが、比較的壊れやすくなっています。\n\nXcode Releasesは、非公式なXcodeのリリース一覧です。この一覧は整形されたデータとして提供されます。Appleからは簡単に入手できない特別な情報を含んでおり、AppleがDeveloper ウェブサイトを再設計しても壊れにくくなっています。"; From bb8676b62007d6d2dc6227f512afbb516a42a09e Mon Sep 17 00:00:00 2001 From: chedabob Date: Wed, 5 Oct 2022 00:27:08 +0100 Subject: [PATCH 126/180] fix: Preference button on toolbar not working on Mac OS 13 Ventura --- Xcodes/Frontend/XcodeList/MainToolbar.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Xcodes/Frontend/XcodeList/MainToolbar.swift b/Xcodes/Frontend/XcodeList/MainToolbar.swift index 69cb16e..dcff73a 100644 --- a/Xcodes/Frontend/XcodeList/MainToolbar.swift +++ b/Xcodes/Frontend/XcodeList/MainToolbar.swift @@ -86,7 +86,13 @@ struct MainToolbarModifier: ViewModifier { .keyboardShortcut(KeyboardShortcut("i", modifiers: [.command, .option])) .help("InfoDescription") - Button(action: { NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil) }, label: { + Button(action: { + if #available(macOS 13, *) { + NSApp.sendAction(Selector(("showSettingsWindow:")), to: nil, from: nil) + } else { + NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil) + } + }, label: { Label("Preferences", systemImage: "gearshape") }) .help("PreferencesDescription") From 78c920787726d416703efd4f4f2c94323cf5d8a9 Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Wed, 5 Oct 2022 20:30:35 +0200 Subject: [PATCH 127/180] add .idea to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 18d371b..c32cb51 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,9 @@ Product/* timeline.xctimeline playground.xcworkspace +# Jetbrains IDEA +.idea + # Swift Package Manager # # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. From 7ae956e44d385792fa93c8e92286fa9eb8bc9e6c Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Wed, 5 Oct 2022 20:34:35 +0200 Subject: [PATCH 128/180] add Xcode-Beta.app Symlink and localizations --- Xcodes/Backend/AppState.swift | 6 +-- Xcodes/Backend/XcodeCommands.swift | 17 ++++++++ .../Frontend/XcodeList/XcodeListViewRow.swift | 39 ++++++++++--------- Xcodes/Resources/de.lproj/Localizable.strings | 1 + Xcodes/Resources/en.lproj/Localizable.strings | 1 + Xcodes/Resources/es.lproj/Localizable.strings | 1 + Xcodes/Resources/fi.lproj/Localizable.strings | 1 + Xcodes/Resources/fr.lproj/Localizable.strings | 1 + Xcodes/Resources/hi.lproj/Localizable.strings | 1 + Xcodes/Resources/it.lproj/Localizable.strings | 1 + Xcodes/Resources/ja.lproj/Localizable.strings | 1 + Xcodes/Resources/ko.lproj/Localizable.strings | 1 + Xcodes/Resources/ru.lproj/Localizable.strings | 1 + Xcodes/Resources/tr.lproj/Localizable.strings | 1 + Xcodes/Resources/uk.lproj/Localizable.strings | 1 + .../zh-Hans.lproj/Localizable.strings | 1 + .../zh-Hant.lproj/Localizable.strings | 1 + 17 files changed, 55 insertions(+), 21 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index a098642..c2c62aa 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -609,10 +609,10 @@ class AppState: ObservableObject { NSPasteboard.general.setString(url.absoluteString, forType: .string) } - func createSymbolicLink(xcode: Xcode) { + func createSymbolicLink(xcode: Xcode, isBeta: Bool = false) { guard let installedXcodePath = xcode.installedPath else { return } - let destinationPath: Path = Path.installDirectory/"Xcode.app" + let destinationPath: Path = Path.installDirectory/"Xcode\(isBeta ? "-Beta" : "").app" // does an Xcode.app file exist? if FileManager.default.fileExists(atPath: destinationPath.string) { @@ -634,7 +634,7 @@ class AppState: ObservableObject { do { try FileManager.default.createSymbolicLink(atPath: destinationPath.string, withDestinationPath: installedXcodePath.string) - Logger.appState.info("Successfully created symbolic link with Xcode.app") + Logger.appState.info("Successfully created symbolic link with Xcode\(isBeta ? "-Beta": "").app") } catch { Logger.appState.error("Unable to create symbolic Link") self.error = error diff --git a/Xcodes/Backend/XcodeCommands.swift b/Xcodes/Backend/XcodeCommands.swift index 3120c0f..b02cf60 100644 --- a/Xcodes/Backend/XcodeCommands.swift +++ b/Xcodes/Backend/XcodeCommands.swift @@ -189,6 +189,23 @@ struct CreateSymbolicLinkButton: View { } } +struct CreateSymbolicBetaLinkButton: View { + @EnvironmentObject var appState: AppState + let xcode: Xcode? + + var body: some View { + Button(action: createSymbolicBetaLink) { + Text("CreateSymLinkBeta") + } + .help("CreateSymLinkBeta") + } + + private func createSymbolicBetaLink() { + guard let xcode = xcode else { return } + appState.createSymbolicLink(xcode: xcode, isBeta: true) + } +} + // MARK: - Commands struct InstallCommand: View { diff --git a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift index 10f3cfb..555c361 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift @@ -6,16 +6,16 @@ struct XcodeListViewRow: View { let xcode: Xcode let selected: Bool let appState: AppState - + var body: some View { HStack { appIconView(for: xcode) - + VStack(alignment: .leading) { HStack { Text(verbatim: "\(xcode.description) \(xcode.version.buildMetadataIdentifiersDisplay)") .font(.body) - + if !xcode.identicalBuilds.isEmpty { Image(systemName: "square.fill.on.square.fill") .font(.subheadline) @@ -25,7 +25,7 @@ struct XcodeListViewRow: View { .help("IdenticalBuilds.help") } } - + if case let .installed(path) = xcode.installState { Text(verbatim: path.string) .font(.caption) @@ -35,9 +35,9 @@ struct XcodeListViewRow: View { .font(.caption) } } - + Spacer() - + selectControl(for: xcode) .padding(.trailing, 16) installControl(for: xcode) @@ -54,14 +54,17 @@ struct XcodeListViewRow: View { RevealButton(xcode: xcode) CopyPathButton(xcode: xcode) CreateSymbolicLinkButton(xcode: xcode) + if xcode.version.isPrerelease { + CreateSymbolicBetaLinkButton(xcode: xcode) + } Divider() UninstallButton(xcode: xcode) - + #if DEBUG - Divider() - Button("Perform post-install steps") { - appState.performPostInstallSteps(for: InstalledXcode(path: path)!) as Void - } + Divider() + Button("Perform post-install steps") { + appState.performPostInstallSteps(for: InstalledXcode(path: path)!) as Void + } #endif } } @@ -77,7 +80,7 @@ struct XcodeListViewRow: View { .foregroundColor(.secondary) } } - + @ViewBuilder private func selectControl(for xcode: Xcode) -> some View { if xcode.installState.installed { @@ -97,7 +100,7 @@ struct XcodeListViewRow: View { EmptyView() } } - + @ViewBuilder private func installControl(for xcode: Xcode) -> some View { switch xcode.installState { @@ -129,31 +132,31 @@ struct XcodeListViewRow_Previews: PreviewProvider { selected: false, appState: AppState() ) - + XcodeListViewRow( xcode: Xcode(version: Version("12.2.0")!, installState: .notInstalled, selected: false, icon: nil), selected: false, appState: AppState() ) - + XcodeListViewRow( xcode: Xcode(version: Version("12.1.0")!, installState: .installing(.downloading(progress: configure(Progress(totalUnitCount: 100)) { $0.completedUnitCount = 40 })), selected: false, icon: nil), selected: false, appState: AppState() ) - + XcodeListViewRow( xcode: Xcode(version: Version("12.0.0")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil), selected: false, appState: AppState() ) - + XcodeListViewRow( xcode: Xcode(version: Version("12.0.0+1234A")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil), selected: false, appState: AppState() ) - + XcodeListViewRow( xcode: Xcode(version: Version("12.0.0+1234A")!, identicalBuilds: [Version("12.0.0-RC+1234A")!], installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil), selected: false, diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 7b568cc..990435f 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Diese Version öffnen"; "CopyPath" = "Pfad kopieren"; "CreateSymLink" = "Symlink als Xcode.app erstellen"; +"CreateSymLinkBeta" = "Symlink als Xcode-Beta.app erstellen"; "Uninstall" = "Deinstallieren"; "Selected" = "Ausgewählt"; "Select" = "Auswählen"; diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 9d45c5e..ba59d33 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Open this version"; "CopyPath" = "Copy Path"; "CreateSymLink" = "Create Symlink as Xcode.app"; +"CreateSymLinkBeta" = "Create Symlink as Xcode-Beta.app"; "Uninstall" = "Uninstall"; "Selected" = "Selected"; "Select" = "Select"; diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index c287435..76b1fb4 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Abrir esta versión"; "CopyPath" = "Copiar Ruta"; "CreateSymLink" = "Crear Symlink como Xcode.app"; +"CreateSymLinkBeta" = "Crear Symlink como Xcode-Beta.app"; "Uninstall" = "Desinstalar"; "Selected" = "Seleccionado"; "Select" = "Seleccionar"; diff --git a/Xcodes/Resources/fi.lproj/Localizable.strings b/Xcodes/Resources/fi.lproj/Localizable.strings index f12d770..a90332f 100644 --- a/Xcodes/Resources/fi.lproj/Localizable.strings +++ b/Xcodes/Resources/fi.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Avaa tämä versio"; "CopyPath" = "Kopioi polku"; "CreateSymLink" = "Luo Symlink nimellä Xcode.app"; +"CreateSymLinkBeta" = "Luo Symlink nimellä Xcode-Beta.app"; "Uninstall" = "Poista"; "Selected" = "Valittu"; "Select" = "Valitse"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index d9e5270..ee50ed2 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -17,6 +17,7 @@ "OpenDescription" = "Ouvrir cette version"; "CopyPath" = "Copier le chemin d'accès"; "CreateSymLink" = "Créer un Symlink pour Xcode.app"; +"CreateSymLink" = "Créer un Symlink pour Xcode-Beta.app"; "Uninstall" = "Désinstaller"; "Selected" = "Sélectionné"; "Select" = "Sélectionner"; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index 28e13b4..044bc53 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "इस संस्करण को खोलें"; "CopyPath" = "पथ की कॉपी करे"; "CreateSymLink" = "Xcode.app के रूप में सिमलिंक बनाएं"; +"CreateSymLinkBeta" = "Xcode-Beta.app के रूप में सिमलिंक बनाएं"; "Uninstall" = "असंस्थापित करे"; "Selected" = "चयनित"; "Select" = "चयन करे"; diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings index 353b3d9..32165ad 100644 --- a/Xcodes/Resources/it.lproj/Localizable.strings +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Apri questa versione"; "CopyPath" = "Copia Percorso"; "CreateSymLink" = "Crea Symlink come Xcode.app"; +"CreateSymLinkBeta" = "Crea Symlink come Xcode-Beta.app"; "Uninstall" = "Disinstalla"; "Selected" = "Selezionato"; "Select" = "Seleziona"; diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index abf1026..c6009eb 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "このバージョンを開く"; "CopyPath" = "パスをコピー"; "CreateSymLink" = "Xcode.appとしてシンボリックリンクを作成"; +"CreateSymLinkBeta" = "Xcode-Beta.appとしてシンボリックリンクを作成"; "Uninstall" = "アンインストール"; "Selected" = "アクティブ"; "Select" = "アクティブにする"; diff --git a/Xcodes/Resources/ko.lproj/Localizable.strings b/Xcodes/Resources/ko.lproj/Localizable.strings index 752d24f..56857f6 100644 --- a/Xcodes/Resources/ko.lproj/Localizable.strings +++ b/Xcodes/Resources/ko.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "이 버전 열기"; "CopyPath" = "경로 복사하기"; "CreateSymLink" = "Xcode.app과 같은 Symlink 만들기"; +"CreateSymLinkBeta" = "Xcode-Beta.app과 같은 Symlink 만들기"; "Uninstall" = "제거"; "Selected" = "선택됨"; "Select" = "선택"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index e9ebb75..db97db7 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Открыть эту версию"; "CopyPath" = "Копировать путь"; "CreateSymLink" = "Создать символическую ссылку к Xcode.app"; +"CreateSymLinkBeta" = "Создать символическую ссылку к Xcode-Beta.app"; "Uninstall" = "Удалить"; "Selected" = "Выбрано"; "Select" = "Выбрать"; diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index cb901ac..94d59df 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Bu sürümü aç"; "CopyPath" = "Yolu Kopyala"; "CreateSymLink" = "Xcode.app olarak sembolik link yarat"; +"CreateSymLinkBeta" = "Xcode-Beta.app olarak sembolik link yarat"; "Uninstall" = "Kaldır"; "Selected" = "Seçili"; "Select" = "Seç"; diff --git a/Xcodes/Resources/uk.lproj/Localizable.strings b/Xcodes/Resources/uk.lproj/Localizable.strings index 33bf2af..0ae658c 100644 --- a/Xcodes/Resources/uk.lproj/Localizable.strings +++ b/Xcodes/Resources/uk.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "Запустити цю версію"; "CopyPath" = "Скопіювати шлях"; "CreateSymLink" = "Створити символічну ссилку як Xcode.app"; +"CreateSymLinkBeta" = "Створити символічну ссилку як Xcode-Beta.app"; "Uninstall" = "Видалити"; "Selected" = "Обрано"; "Select" = "Обрати"; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index 7b991b7..f35a535 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "打开此版本"; "CopyPath" = "复制文件位置"; "CreateSymLink" = "以Xcode.app创建软链接"; +"CreateSymLinkBeta" = "以Xcode-Beta.app创建软链接"; "Uninstall" = "卸载"; "Selected" = "已选定"; "Select" = "选定"; diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings index 3b2c07c..1eea596 100644 --- a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -16,6 +16,7 @@ "OpenDescription" = "打開這個版本"; "CopyPath" = "拷貝路徑"; "CreateSymLink" = "製作 Xcode.app 的 Symlink"; +"CreateSymLink" = "製作 Xcode-Beta.app 的 Symlink"; "Uninstall" = "解除安裝"; "Selected" = "已選取"; "Select" = "選取"; From 0e7deed1c676d9ea1f1e2e668474f4c77fd69d20 Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Wed, 5 Oct 2022 21:06:02 +0200 Subject: [PATCH 129/180] move download settings to own PreferencePane --- .../Preferences/AdvancedPreferencePane.swift | 78 ++---------------- .../Preferences/DownloadPreferencePane.swift | 82 +++++++++++++++++++ .../Preferences/PreferencesView.swift | 5 ++ 3 files changed, 96 insertions(+), 69 deletions(-) create mode 100644 Xcodes/Frontend/Preferences/DownloadPreferencePane.swift diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index c908460..439f55a 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -4,19 +4,16 @@ import Path struct AdvancedPreferencePane: View { @EnvironmentObject var appState: AppState - - @AppStorage("dataSource") var dataSource: DataSource = .xcodeReleases - @AppStorage("downloader") var downloader: Downloader = .aria2 var body: some View { VStack(alignment: .leading, spacing: 20) { - + GroupBox(label: Text("InstallDirectory")) { VStack(alignment: .leading) { HStack(alignment: .top, spacing: 5) { Text(appState.installPath).font(.footnote) - .fixedSize(horizontal: false, vertical: true) - .lineLimit(2) + .fixedSize(horizontal: false, vertical: true) + .lineLimit(2) Button(action: { appState.reveal(path: appState.installPath) }) { Image(systemName: "arrow.right.circle.fill") } @@ -34,7 +31,7 @@ struct AdvancedPreferencePane: View { panel.directoryURL = URL(fileURLWithPath: appState.installPath) if panel.runModal() == .OK { - + guard let pathURL = panel.url, let path = Path(url: pathURL) else { return } self.appState.installPath = path.string } @@ -50,8 +47,8 @@ struct AdvancedPreferencePane: View { VStack(alignment: .leading) { HStack(alignment: .top, spacing: 5) { Text(appState.localPath).font(.footnote) - .fixedSize(horizontal: false, vertical: true) - .lineLimit(2) + .fixedSize(horizontal: false, vertical: true) + .lineLimit(2) Button(action: { appState.reveal(path: appState.localPath) }) { Image(systemName: "arrow.right.circle.fill") } @@ -69,7 +66,7 @@ struct AdvancedPreferencePane: View { panel.directoryURL = URL(fileURLWithPath: appState.localPath) if panel.runModal() == .OK { - + guard let pathURL = panel.url, let path = Path(url: pathURL) else { return } self.appState.localPath = path.string } @@ -102,44 +99,13 @@ struct AdvancedPreferencePane: View { Toggle("AutomaticallyCreateSymbolicLink", isOn: $appState.createSymLinkOnSelect) .disabled(appState.createSymLinkOnSelectDisabled) Text("AutomaticallyCreateSymbolicLinkDescription") - .font(.footnote) - .fixedSize(horizontal: false, vertical: true) + .font(.footnote) + .fixedSize(horizontal: false, vertical: true) } .fixedSize(horizontal: false, vertical: true) } .groupBoxStyle(PreferencesGroupBoxStyle()) - GroupBox(label: Text("DataSource")) { - VStack(alignment: .leading) { - Picker("DataSource", selection: $dataSource) { - ForEach(DataSource.allCases) { dataSource in - Text(dataSource.description) - .tag(dataSource) - } - } - .labelsHidden() - - AttributedText(dataSourceFootnote) - } - - } - .groupBoxStyle(PreferencesGroupBoxStyle()) - - GroupBox(label: Text("Downloader")) { - VStack(alignment: .leading) { - Picker("Downloader", selection: $downloader) { - ForEach(Downloader.allCases) { downloader in - Text(downloader.description) - .tag(downloader) - } - } - .labelsHidden() - - AttributedText(downloaderFootnote) - } - - } - .groupBoxStyle(PreferencesGroupBoxStyle()) GroupBox(label: Text("PrivilegedHelper")) { VStack(alignment: .leading, spacing: 8) { @@ -168,32 +134,6 @@ struct AdvancedPreferencePane: View { .groupBoxStyle(PreferencesGroupBoxStyle()) } } - - private var dataSourceFootnote: NSAttributedString { - let string = localizeString("DataSourceDescription") - let attributedString = NSMutableAttributedString( - string: string, - attributes: [ - .font: NSFont.preferredFont(forTextStyle: .footnote, options: [:]), - .foregroundColor: NSColor.labelColor - ] - ) - attributedString.addAttribute(.link, value: URL(string: "https://xcodereleases.com")!, range: NSRange(string.range(of: "Xcode Releases")!, in: string)) - return attributedString - } - - private var downloaderFootnote: NSAttributedString { - let string = localizeString("DownloaderDescription") - let attributedString = NSMutableAttributedString( - string: string, - attributes: [ - .font: NSFont.preferredFont(forTextStyle: .footnote, options: [:]), - .foregroundColor: NSColor.labelColor - ] - ) - attributedString.addAttribute(.link, value: URL(string: "https://github.com/aria2/aria2")!, range: NSRange(string.range(of: "aria2")!, in: string)) - return attributedString - } } struct AdvancedPreferencePane_Previews: PreviewProvider { diff --git a/Xcodes/Frontend/Preferences/DownloadPreferencePane.swift b/Xcodes/Frontend/Preferences/DownloadPreferencePane.swift new file mode 100644 index 0000000..e453dc2 --- /dev/null +++ b/Xcodes/Frontend/Preferences/DownloadPreferencePane.swift @@ -0,0 +1,82 @@ +import AppleAPI +import SwiftUI + +struct DownloadPreferencePane: View { + @EnvironmentObject var appState: AppState + + @AppStorage("dataSource") var dataSource: DataSource = .xcodeReleases + @AppStorage("downloader") var downloader: Downloader = .aria2 + + var body: some View { + VStack(alignment: .leading) { + GroupBox(label: Text("DataSource")) { + VStack(alignment: .leading) { + Picker("DataSource", selection: $dataSource) { + ForEach(DataSource.allCases) { dataSource in + Text(dataSource.description) + .tag(dataSource) + } + } + .labelsHidden() + + AttributedText(dataSourceFootnote) + } + + } + .groupBoxStyle(PreferencesGroupBoxStyle()) + + GroupBox(label: Text("Downloader")) { + VStack(alignment: .leading) { + Picker("Downloader", selection: $downloader) { + ForEach(Downloader.allCases) { downloader in + Text(downloader.description) + .tag(downloader) + } + } + .labelsHidden() + + AttributedText(downloaderFootnote) + } + + } + .groupBoxStyle(PreferencesGroupBoxStyle()) + + } + } + + private var dataSourceFootnote: NSAttributedString { + let string = localizeString("DataSourceDescription") + let attributedString = NSMutableAttributedString( + string: string, + attributes: [ + .font: NSFont.preferredFont(forTextStyle: .footnote, options: [:]), + .foregroundColor: NSColor.labelColor + ] + ) + attributedString.addAttribute(.link, value: URL(string: "https://xcodereleases.com")!, range: NSRange(string.range(of: "Xcode Releases")!, in: string)) + return attributedString + } + + private var downloaderFootnote: NSAttributedString { + let string = localizeString("DownloaderDescription") + let attributedString = NSMutableAttributedString( + string: string, + attributes: [ + .font: NSFont.preferredFont(forTextStyle: .footnote, options: [:]), + .foregroundColor: NSColor.labelColor + ] + ) + attributedString.addAttribute(.link, value: URL(string: "https://github.com/aria2/aria2")!, range: NSRange(string.range(of: "aria2")!, in: string)) + return attributedString + } +} + +struct DownloadPreferencePane_Previews: PreviewProvider { + static var previews: some View { + Group { + GeneralPreferencePane() + .environmentObject(AppState()) + .frame(maxWidth: 500) + } + } +} diff --git a/Xcodes/Frontend/Preferences/PreferencesView.swift b/Xcodes/Frontend/Preferences/PreferencesView.swift index 7442236..83ab775 100644 --- a/Xcodes/Frontend/Preferences/PreferencesView.swift +++ b/Xcodes/Frontend/Preferences/PreferencesView.swift @@ -21,6 +21,11 @@ struct PreferencesView: View { Label("Updates", systemImage: "arrow.triangle.2.circlepath.circle") } .tag(Tabs.updates) + DownloadPreferencePane() + .environmentObject(appState) + .tabItem { + Label("Downloads", systemImage: "icloud.and.arrow.down") + } AdvancedPreferencePane() .environmentObject(appState) .tabItem { From ea3264a2ceb6d3ebd41051ad58a4c53498eae10d Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Wed, 5 Oct 2022 21:44:48 +0200 Subject: [PATCH 130/180] add localizations --- Xcodes/Resources/de.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/en.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/es.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/fi.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/fr.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/hi.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/it.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/ja.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/ko.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/ru.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/tr.lproj/Localizable.strings | 12 +++++++----- Xcodes/Resources/uk.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/zh-Hans.lproj/Localizable.strings | 11 +++++++---- Xcodes/Resources/zh-Hant.lproj/Localizable.strings | 11 +++++++---- 14 files changed, 98 insertions(+), 57 deletions(-) diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 7b568cc..192f23d 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "Letzte Prüfung: %@"; "Never" = "Nie"; +// Download Preference Pane +"Downloads" = "Downloads"; +"DataSource" = "Datenquelle"; +"DataSourceDescription" = "Die Apple-Datenquelle liest die Apple Developer-Website aus. Sie zeigt immer die neuesten Releases an, die verfügbar sind, ist allerdings etwas instabiler.\n\nXcode Releases ist eine inoffizielle Liste von Xcode-Veröffentlichungen. Sie wird als formatierte Daten bereitsgestellt, enthält Extrainformationen die nicht ohne weiteres von Apple erhältlich sind und ist mit höherer Wahrscheinlichkeit weiter verfügbar, sollte Apple seine Entwickler-Website neu gestalten."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 verwendet bis zu 16 Verbindungen, um Xcode 3-5x schneller als URLSession herunterzuladen. Es ist zusammen mit seinem Quellcode in Xcode enthalten, um seiner GPLv2-Lizenz nachzukommen.\n\nURLSession ist Apples Standard-API für URL-Requests."; + // Advanced Preference Pane "Advanced" = "Erweitert"; "LocalCachePath" = "Lokaler Cache-Pfad"; @@ -88,10 +95,6 @@ "OnSelectRenameXcode" = "Immer in Xcode.app umbenennen"; "OnSelectRenameXcodeDescription" = "Bei Auswahl wird versucht das aktive Xcode in Xcode.app umzubenennen. Die vorherige Xcode.app wird dazu in den Versionsnamen umbenannt."; -"DataSource" = "Datenquelle"; -"DataSourceDescription" = "Die Apple-Datenquelle liest die Apple Developer-Website aus. Sie zeigt immer die neuesten Releases an, die verfügbar sind, ist allerdings etwas instabiler.\n\nXcode Releases ist eine inoffizielle Liste von Xcode-Veröffentlichungen. Sie wird als formatierte Daten bereitsgestellt, enthält Extrainformationen die nicht ohne weiteres von Apple erhältlich sind und ist mit höherer Wahrscheinlichkeit weiter verfügbar, sollte Apple seine Entwickler-Website neu gestalten."; -"Downloader" = "Downloader"; -"DownloaderDescription" = "aria2 verwendet bis zu 16 Verbindungen, um Xcode 3-5x schneller als URLSession herunterzuladen. Es ist zusammen mit seinem Quellcode in Xcode enthalten, um seiner GPLv2-Lizenz nachzukommen.\n\nURLSession ist Apples Standard-API für URL-Requests."; "PrivilegedHelper" = "Privilegierter Helfer"; "PrivilegedHelperDescription" = "Xcodes verwendet einen separaten privilegierten Helfer, um Aufgaben als root zu erledigen. Das sind Dinge, die sudo in der Kommandozeile erfordern würden, einschließlich Post-Installationsschritte sowie das Umstellen von Xcode-Versionen mit xcode-select.\n\nUm ihn zu installieren, erfolgt eine Aufforderung zur Eingabe des Passworts für Dein macOS-Benutzerkonto."; "HelperInstalled" = "Helfer ist installiert"; diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 9d45c5e..22300c0 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "Last checked: %@"; "Never" = "Never"; +// Download Preference Pane +"Downloads" = "Downloads"; +"DataSource" = "Data Source"; +"DataSourceDescription" = "The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license.\n\nURLSession is the default Apple API for making URL requests."; + // Advanced Preference Pane "Advanced" = "Advanced"; "LocalCachePath" = "Local Cache Path"; @@ -88,10 +95,6 @@ "OnSelectRenameXcode" = "Always rename to Xcode.app"; "OnSelectRenameXcodeDescription" = "On select, will automatically try and rename the active Xcode to Xcode.app, renaming the previous Xcode.app to the version name."; -"DataSource" = "Data Source"; -"DataSourceDescription" = "The Apple data source scrapes the Apple Developer website. It will always show the latest releases that are available, but is more fragile.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; -"Downloader" = "Downloader"; -"DownloaderDescription" = "aria2 uses up to 16 connections to download Xcode 3-5x faster than URLSession. It's bundled as an executable along with its source code within Xcodes to comply with its GPLv2 license.\n\nURLSession is the default Apple API for making URL requests."; "PrivilegedHelper" = "Privileged Helper"; "PrivilegedHelperDescription" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; "HelperInstalled" = "Helper is installed"; diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index c287435..a3db55b 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "Última comprobación: %@"; "Never" = "Nunca"; +// Download Preference Pane +"Downloads" = "Descargas" +"DataSource" = "Fuente de datos"; +"DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nXcode Releases es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 usa hasta 16 conexiones para descargar Xcode de 3 a 5 veces más rápido que URLSession. Se incluye como un ejecutable junto con su código fuente dentro de Xcodes para cumplir con su licencia GPLv2.\n\nURLSession es la API predeterminada de Apple para realizar solicitudes de URL."; + // Advanced Preference Pane "Advanced" = "Avanzado"; "LocalCachePath" = "Ruta de caché local"; @@ -80,10 +87,6 @@ "Active/Select" = "Activar/Seleccionar"; "AutomaticallyCreateSymbolicLink" = "Crear automáticamente enlace simbólico a Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Al activar/seleccionar una versión de Xcode, intentará crear un enlace simbólico llamado Xcode.app en el directorio de instalación."; -"DataSource" = "Fuente de datos"; -"DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nXcode Releases es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; -"Downloader" = "Downloader"; -"DownloaderDescription" = "aria2 usa hasta 16 conexiones para descargar Xcode de 3 a 5 veces más rápido que URLSession. Se incluye como un ejecutable junto con su código fuente dentro de Xcodes para cumplir con su licencia GPLv2.\n\nURLSession es la API predeterminada de Apple para realizar solicitudes de URL."; "PrivilegedHelper" = "Asistente privilegiado"; "PrivilegedHelperDescription" = "Xcodes utiliza un asistente privilegiado independiente para realizar tareas como root. Estas son cosas que requerirían sudo en la línea de comandos, incluidos los pasos posteriores a la instalación y el cambio de versiones de Xcode con xcode-select.\n\nSe le pedirá la contraseña de su cuenta de macOS para instalarlo."; "HelperInstalled" = "El Asistente está instalado"; diff --git a/Xcodes/Resources/fi.lproj/Localizable.strings b/Xcodes/Resources/fi.lproj/Localizable.strings index f12d770..5dd7b91 100644 --- a/Xcodes/Resources/fi.lproj/Localizable.strings +++ b/Xcodes/Resources/fi.lproj/Localizable.strings @@ -71,6 +71,13 @@ "LastChecked" = "Viimeksi tarkistettu: %@"; "Never" = "Ei koskaan"; +// Download Preference Pane +"Downloads" = "Lataukset" +"DataSource" = "Tietolähde"; +"DataSourceDescription" = "Applen tietolähde kaappaa Apple Developer -sivuston. Se näyttää aina uusimmat saatavilla olevat julkaisut, mutta se on herkempi hajoamiselle.\n\nXcode Releases on epävirallinen luettelo Xcode-julkaisuista. Se toimitetaan hyvin muotoiltuina tietoina, sisältää lisätietoa, jota ei ole helposti saatavilla Applelta, ja se ei todennäköisesti hajoa, jos Apple suunnittelee uudelleen kehittäjäsivustonsa."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 käyttää jopa 16 yhteyttä ladatakseen Xcoden 3–5 kertaa nopeammin kuin URLSession. Se on niputettu suoritettavaksi tiedostoksi ja sen lähdekoodiin Xcodesissa GPLv2-lisenssin noudattamiseksi.\n\nURLSession on Applen oletussovellusliittymä URL-pyyntöjen tekemiseen.."; + // Advanced Preference Pane "Advanced" = "Lisäasetukset"; "LocalCachePath" = "Paikallisen välimuistin polku"; @@ -79,10 +86,6 @@ "Active/Select" = "Aktiivinen/Valitse"; "AutomaticallyCreateSymbolicLink" = "Luo automaattisesti symbolinen linkki Xcode.appiin"; "AutomaticallyCreateSymbolicLinkDescription" = "Kun teet Xcode-versiosta aktiivisen/valitun, yritä luoda symbolinen linkki nimeltä Xcode.app asennushakemistoon"; -"DataSource" = "Tietolähde"; -"DataSourceDescription" = "Applen tietolähde kaappaa Apple Developer -sivuston. Se näyttää aina uusimmat saatavilla olevat julkaisut, mutta se on herkempi hajoamiselle.\n\nXcode Releases on epävirallinen luettelo Xcode-julkaisuista. Se toimitetaan hyvin muotoiltuina tietoina, sisältää lisätietoa, jota ei ole helposti saatavilla Applelta, ja se ei todennäköisesti hajoa, jos Apple suunnittelee uudelleen kehittäjäsivustonsa."; -"Downloader" = "Downloader"; -"DownloaderDescription" = "aria2 käyttää jopa 16 yhteyttä ladatakseen Xcoden 3–5 kertaa nopeammin kuin URLSession. Se on niputettu suoritettavaksi tiedostoksi ja sen lähdekoodiin Xcodesissa GPLv2-lisenssin noudattamiseksi.\n\nURLSession on Applen oletussovellusliittymä URL-pyyntöjen tekemiseen.."; "PrivilegedHelper" = "Etuoikeutettu auttaja"; "PrivilegedHelperDescription" = "Xcodes käyttää erillistä etuoikeutettua avustajaa tehtävien suorittamiseen pääkäyttäjänä. Nämä ovat asioita, jotka edellyttävät sudo komentoa komentorivillä, mukaan lukien asennuksen jälkeiset vaiheet ja Xcode-versioiden vaihtaminen xcode-selectillä.\n\nSinua pyydetään antamaan macOS-tilisi salasana sen asentamiseksi."; "HelperInstalled" = "Apulainen on asennettu"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index d9e5270..f564a9f 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "Dernière vérification : %@"; "Never" = "Jamais"; +// Download Preference Pane +"Downloads" = "Téléchargements" +"DataSource" = "Source de Données"; +"DataSourceDescription" = "La source de données Apple analyse le site Web de développeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple refait son site Web de développeurs."; +"Downloader" = "Téléchargeur"; +"DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; + // Advanced Preference Pane "Advanced" = "Avancé"; "LocalCachePath" = "Cache Local"; @@ -84,10 +91,6 @@ "OnSelectRenameXcode" = "Toujours renommer en Xcode.app"; "OnSelectRenameXcodeDescription" = "À la sélection, toujours essayer de renommer la version active de Xcode en Xcode.app, en renommant l'ancienne Xcode.app avec le nom de version."; -"DataSource" = "Source de Données"; -"DataSourceDescription" = "La source de données Apple analyse le site Web de développeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple refait son site Web de développeurs."; -"Downloader" = "Téléchargeur"; -"DownloaderDescription" = "aria2 utilise jusqu'à 16 connexions pour télécharger Xcode de 3 à 5 fois plus rapidement que URLSession. aria2 est fourni sous forme d'exécutable avec son code source dans Xcodes pour se conformer à sa licence GPLv2.\n\nURLSession est l'API d'Apple utilisée par défaut pour effectuer des requêtes d'URL."; "PrivilegedHelper" = "Assistant Privilégié"; "PrivilegedHelperDescription" = "Xcodes utilise un assistant privilégié distinct pour effectuer des tâches en tant que root. Ce sont des tâches qui nécessiteraient sudo sur la ligne de commande, y compris les étapes de post-installation et le changement de version de Xcode avec xcode-select.\n\nVous serez invité à saisir le mot de passe de votre compte macOS pour l'installer."; "HelperInstalled" = "L'assistant est installé"; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index 28e13b4..22ecafd 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -71,6 +71,13 @@ "LastChecked" = "पिछली बार चेक किया गया: %@"; "Never" = "कभी नहीं"; +// Download Preference Pane +"Downloads" = "डाउनलोड" +"DataSource" = "डेटा स्रोत"; +"DataSourceDescription" = "Apple डेटा स्रोत Apple डेवलपर वेबसाइट को स्क्रैप करता है। यह हमेशा नवीनतम रिलीज दिखाएगा जो उपलब्ध हैं, लेकिन अधिक नाजुक है।\n\nXcode Releases Xcode रिलीज़ की एक अनौपचारिक सूची है। यह सुव्यवस्थित डेटा के रूप में प्रदान किया जाता है, इसमें अतिरिक्त जानकारी होती है जो Apple से आसानी से उपलब्ध नहीं होती है, और यदि Apple अपनी डेवलपर वेबसाइट को फिर से डिज़ाइन करता है तो इसके टूटने की संभावना कम होती है।"; +"Downloader" = "डाउनलोडर"; +"DownloaderDescription" = "aria2 URLSession की तुलना में Xcode 3-5x तेजी से डाउनलोड करने के लिए 16 कनेक्शन तक का उपयोग करता है। इसे अपने GPLv2 लाइसेंस का अनुपालन करने के लिए Xcodes के भीतर अपने स्रोत कोड के साथ एक निष्पादन योग्य के रूप में बंडल किया गया है।\n\nURL अनुरोध करने के लिए URLSession डिफ़ॉल्ट Apple API है।"; + // Advanced Preference Pane "Advanced" = "उन्नत"; "LocalCachePath" = "स्थानीय कैश पथ"; @@ -79,10 +86,6 @@ "Active/Select" = "सक्रिय/चयन"; "AutomaticallyCreateSymbolicLink" = "Xcode.app के लिए स्वचालित रूप से प्रतीकात्मक लिंक बनाएं"; "AutomaticallyCreateSymbolicLinkDescription" = "Xcode संस्करण को सक्रिय/चयनित बनाते समय, स्थापना निर्देशिका में Xcode.app नामक एक प्रतीकात्मक लिंक बनाने का प्रयास करें"; -"DataSource" = "डेटा स्रोत"; -"DataSourceDescription" = "Apple डेटा स्रोत Apple डेवलपर वेबसाइट को स्क्रैप करता है। यह हमेशा नवीनतम रिलीज दिखाएगा जो उपलब्ध हैं, लेकिन अधिक नाजुक है।\n\nXcode Releases Xcode रिलीज़ की एक अनौपचारिक सूची है। यह सुव्यवस्थित डेटा के रूप में प्रदान किया जाता है, इसमें अतिरिक्त जानकारी होती है जो Apple से आसानी से उपलब्ध नहीं होती है, और यदि Apple अपनी डेवलपर वेबसाइट को फिर से डिज़ाइन करता है तो इसके टूटने की संभावना कम होती है।"; -"Downloader" = "डाउनलोडर"; -"DownloaderDescription" = "aria2 URLSession की तुलना में Xcode 3-5x तेजी से डाउनलोड करने के लिए 16 कनेक्शन तक का उपयोग करता है। इसे अपने GPLv2 लाइसेंस का अनुपालन करने के लिए Xcodes के भीतर अपने स्रोत कोड के साथ एक निष्पादन योग्य के रूप में बंडल किया गया है।\n\nURL अनुरोध करने के लिए URLSession डिफ़ॉल्ट Apple API है।"; "PrivilegedHelper" = "विशेषाधिकार प्राप्त सहायक"; "PrivilegedHelperDescription" = "Xcodes कार्यों को रूट के रूप में करने के लिए एक अलग विशेषाधिकार प्राप्त सहायक का उपयोग करता है। ये ऐसी चीजें हैं जिनके लिए कमांड लाइन पर sudo की आवश्यकता होगी, जिसमें पोस्ट-इंस्टॉल चरण और xcode-select के साथ Xcode संस्करण स्विच करना शामिल है।\n\nइसे इंस्टॉल करने के लिए आपको अपने macOS अकाउंट पासवर्ड के लिए कहा जाएगा।"; "HelperInstalled" = "सहायक स्थापित है"; diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings index 353b3d9..fc03a6e 100644 --- a/Xcodes/Resources/it.lproj/Localizable.strings +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "Ultimo controllo: %@"; "Never" = "Mai"; +// Download Preference Pane +"Downloads" = "Downloads" +"DataSource" = "Sorgente Dati"; +"DataSourceDescription" = "La sorgente dati Apple controlla il sito sviluppatori Apple. Mostra sempre le ultime versioni disponibili, ma è più fragile. Xcode Releases è una lista non ufficiale di versioni di Xcode. E' disponibile con un formato ben strutturato, contiene più in formazioni che non vengono rilasciate da Apple ed è più difficile che smetta di funzionare se Apple ristruttura il suo sito sviluppatori."; +"Downloader" = "Scaricatore"; +"DownloaderDescription" = "aria2 usa fino a 16 connessioni per scaricar Xcode da 3 a 5 volte più veloce di URLSession. E' incluso come eseguibile assieme ai suoi sogenti dentro Xcodes per rispettare la sua licenza GPLv2. \n\nURLSession è l'API di default di Apple per fare richieste a URL remote."; + // Advanced Preference Pane "Advanced" = "Avanzate"; "LocalCachePath" = "Percorso Cache Locale"; @@ -80,10 +87,6 @@ "Active/Select" = "Attivo/Seleziona"; "AutomaticallyCreateSymbolicLink" = "Crea Automaticamente link simbolico a Xcodes.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Quando rendi una versione di Xcode Attiva/Selezionata, prova a fare un link simbolico chiamato nella directory di installazione."; -"DataSource" = "Sorgente Dati"; -"DataSourceDescription" = "La sorgente dati Apple controlla il sito sviluppatori Apple. Mostra sempre le ultime versioni disponibili, ma è più fragile. Xcode Releases è una lista non ufficiale di versioni di Xcode. E' disponibile con un formato ben strutturato, contiene più in formazioni che non vengono rilasciate da Apple ed è più difficile che smetta di funzionare se Apple ristruttura il suo sito sviluppatori."; -"Downloader" = "Scaricatore"; -"DownloaderDescription" = "aria2 usa fino a 16 connessioni per scaricar Xcode da 3 a 5 volte più veloce di URLSession. E' incluso come eseguibile assieme ai suoi sogenti dentro Xcodes per rispettare la sua licenza GPLv2. \n\nURLSession è l'API di default di Apple per fare richieste a URL remote."; "PrivilegedHelper" = "Aiutante Privilegiato"; "PrivilegedHelperDescription" = "Xcodes usa un aiutante privilegiato per svolgere dei compiti come root. Si tratta di comandi che normalmente richiederebbero sudo da linea di comando, incluse fasi di post-install e modificare la versione di Xcode con xcode-select.\n\nTi verrà richiesta la password del tuo account di macOS per installarlo."; "HelperInstalled" = "Aiutante è installato"; diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index abf1026..5120ffe 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "前回の確認: %@"; "Never" = "なし"; +// Download Preference Pane +"Downloads" = "ダウンロード" +"DataSource" = "データソース"; +"DataSourceDescription" = "Appleのデータソースは、Apple Developerのウェブサイトをスクレイピングしています。常に最新のリリースが表示されますが、比較的壊れやすくなっています。\n\nXcode Releasesは、非公式なXcodeのリリース一覧です。この一覧は整形されたデータとして提供されます。Appleからは簡単に入手できない特別な情報を含んでおり、AppleがDeveloper ウェブサイトを再設計しても壊れにくくなっています。"; +"Downloader" = "ダウンローダ"; +"DownloaderDescription" = "aria2 は、最大16個の接続を使用して、Xcode を URLSession の3-5 倍のスピードでダウンロードします。GPLv2 ライセンスに準拠するため、Xcodes 内にソースコードと一緒に実行ファイルとしてバンドルされています。\n\nURLSession は、URLリクエストを行うための Apple のデフォルト API です。"; + // Advanced Preference Pane "Advanced" = "上級者向け"; "LocalCachePath" = "ローカルキャッシュパス"; @@ -80,10 +87,6 @@ "Active/Select" = "アクティブ"; "AutomaticallyCreateSymbolicLink" = "Xcode.appへのシンボリックリンクの自動生成"; "AutomaticallyCreateSymbolicLinkDescription" = "Xcodeのバージョンをアクティブにする時、インストール先でXcode.appのシンボリックリンクの作成を試みます。"; -"DataSource" = "データソース"; -"DataSourceDescription" = "Appleのデータソースは、Apple Developerのウェブサイトをスクレイピングしています。常に最新のリリースが表示されますが、比較的壊れやすくなっています。\n\nXcode Releasesは、非公式なXcodeのリリース一覧です。この一覧は整形されたデータとして提供されます。Appleからは簡単に入手できない特別な情報を含んでおり、AppleがDeveloper ウェブサイトを再設計しても壊れにくくなっています。"; -"Downloader" = "ダウンローダ"; -"DownloaderDescription" = "aria2 は、最大16個の接続を使用して、Xcode を URLSession の3-5 倍のスピードでダウンロードします。GPLv2 ライセンスに準拠するため、Xcodes 内にソースコードと一緒に実行ファイルとしてバンドルされています。\n\nURLSession は、URLリクエストを行うための Apple のデフォルト API です。"; "PrivilegedHelper" = "権限のあるヘルパー"; "PrivilegedHelperDescription" = "Xcodesは、rootとしてタスクを実行するために、別の権限のあるヘルパーを使用します。インストール後の手順や xcode-select による Xcode のバージョン切り替えなど、コマンドラインで sudo を必要とするものです。\n\nインストールには、macOS アカウントのパスワードの入力が必要です。"; "HelperInstalled" = "インストール済み"; diff --git a/Xcodes/Resources/ko.lproj/Localizable.strings b/Xcodes/Resources/ko.lproj/Localizable.strings index 752d24f..261bffc 100644 --- a/Xcodes/Resources/ko.lproj/Localizable.strings +++ b/Xcodes/Resources/ko.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "마지막 확인 시점: %@"; "Never" = "확인하지 않음"; +// Download Preference Pane +"Downloads" = "다운로드" +"DataSource" = "데이터 소스"; +"DataSourceDescription" = "Apple 데이터 소스는 Apple Developer 웹사이트를 스크랩합니다. Apple Developer에는 항상 사용 가능한 최신 출시 버전이 표시되지만 취약한 면이 있습니다.\n\nXcode Releases는 비공식적인 Xcode 출시 버전 목록입니다. Xcode Releases에서는 정리된 데이터를 제공하며, Apple에서 쉽게 구할 수 없는 정보를 포함하며 Apple이 Apple Developer를 재설계할 경우에도 안전할 수 있습니다."; +"Downloader" = "다운로더"; +"DownloaderDescription" = "aria2는 최대 16 개의 연결을 사용하여 URLSession보다 3~5배 더 빠르게 Xcode를 다운로드합니다. GPLv2 라이센스를 준수하기 위해 Xcodes 내 소스 코드와 함께 실행 파일 번들로 제공됩니다.\n\nURLSession은 URL 요청을 만들기 위한 기본 Apple API입니다."; + // Advanced Preference Pane "Advanced" = "고급"; "LocalCachePath" = "로컬 캐시 경로"; @@ -80,10 +87,6 @@ "Active/Select" = "기본 버전/선택"; "AutomaticallyCreateSymbolicLink" = "Xcodes.app에 대한 심볼릭 링크 자동 생성"; "AutomaticallyCreateSymbolicLinkDescription" = "Xcode 버전을 기본 버전(활성)/선택됨 상태로 만들 때 설치 디렉토리에 Xcode.app이라는 심볼릭 링크를 만들어 보세요."; -"DataSource" = "데이터 소스"; -"DataSourceDescription" = "Apple 데이터 소스는 Apple Developer 웹사이트를 스크랩합니다. Apple Developer에는 항상 사용 가능한 최신 출시 버전이 표시되지만 취약한 면이 있습니다.\n\nXcode Releases는 비공식적인 Xcode 출시 버전 목록입니다. Xcode Releases에서는 정리된 데이터를 제공하며, Apple에서 쉽게 구할 수 없는 정보를 포함하며 Apple이 Apple Developer를 재설계할 경우에도 안전할 수 있습니다."; -"Downloader" = "다운로더"; -"DownloaderDescription" = "aria2는 최대 16 개의 연결을 사용하여 URLSession보다 3~5배 더 빠르게 Xcode를 다운로드합니다. GPLv2 라이센스를 준수하기 위해 Xcodes 내 소스 코드와 함께 실행 파일 번들로 제공됩니다.\n\nURLSession은 URL 요청을 만들기 위한 기본 Apple API입니다."; "PrivilegedHelper" = "권한을 가진 도우미 (Privileged Helper)"; "PrivilegedHelperDescription" = "Xcodes는 별도의 권한을 가진 도우미를 사용하여 작업을 루트로서 수행합니다. 설치 후 단계와 xcode-select로 Xcode 버전을 전환하는 것과 같이 커맨드 라인에서 sudo가 필요한 작업이 이에 해당합니다.\n\n설치하려면 macOS 계정 암호를 입력하라는 메시지가 표시됩니다."; "HelperInstalled" = "도우미 설치됨"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index e9ebb75..0bbda92 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "Последняя проверка: %@"; "Never" = "Никогда"; +// Download Preference Pane +"Downloads" = "Загрузки" +"DataSource" = "Источник данных"; +"DataSourceDescription" = "Источник данных Apple применяет технологию \"веб-скрейпинга\" к веб-сайту Apple для разработчиков. Он всегда показывает последние доступные выпуски, но является менее стабильным источником данных.\n\nXcode Releases — это неофициальный список выпусков Xcode. Он предоставляется в виде удобно структурированных данных, содержит дополнительную информацию, которую не всегда можно получить от Apple и который с меньшей вероятностью перестанет работать, если Apple изменит дизайн своего веб-сайта для разработчиков."; +"Downloader" = "Загрузчик"; +"DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов по сети."; + // Advanced Preference Pane "Advanced" = "Дополнительно"; "LocalCachePath" = "Путь к локальному кешу"; @@ -88,10 +95,6 @@ "OnSelectRenameXcode" = "Всегда переименовывать в Xcode.app"; "OnSelectRenameXcodeDescription" = "Если выбрано, будет выполнена попытка переименовать активный Xcode в Xcode.app, а предыдущий Xcode.app в формат имени с версией."; -"DataSource" = "Источник данных"; -"DataSourceDescription" = "Источник данных Apple применяет технологию \"веб-скрейпинга\" к веб-сайту Apple для разработчиков. Он всегда показывает последние доступные выпуски, но является менее стабильным источником данных.\n\nXcode Releases — это неофициальный список выпусков Xcode. Он предоставляется в виде удобно структурированных данных, содержит дополнительную информацию, которую не всегда можно получить от Apple и который с меньшей вероятностью перестанет работать, если Apple изменит дизайн своего веб-сайта для разработчиков."; -"Downloader" = "Загрузчик"; -"DownloaderDescription" = "aria2 использует до 16 подключений для загрузки Xcode в 3-5 раз быстрее, чем URLSession. Он поставляется в виде исполняемого файла вместе с исходным кодом в Xcodes, чтобы соответствовать лицензии GPLv2.\n\nURLSession — это API Apple по умолчанию для выполнения запросов по сети."; "PrivilegedHelper" = "Привилегированный помощник"; "PrivilegedHelperDescription" = "Xcodes использует отдельный привилегированный помощник для выполнения задач от имени root-пользователя. Это команды, которые потребуют sudo в командной строке, включая шаги после установки и переключение версий Xcode с помощью xcode-select.\n\nВам будет предложено указать пароль от вашей учетной записи macOS для его установки."; "HelperInstalled" = "Помощник установлен"; diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index cb901ac..b93484f 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "Son kontrol: %@"; "Never" = "Daha Yeni"; +// Download Preference Pane +"Downloads" = "İndirilenler" +"DataSource" = "Veri Kaynağı"; +"DataSourceDescription" = "Apple veri kaynağı Apple'ın geliştirici sitesini inceliyor. Uygun olan en son sürümleri gösterir, ama biraz daha hassastır.\n\nXcode Releases, Xcode sürümlerinin bulunduğu resmi olmayan bir listedir. Data düzenli bir formata sahip bilgileri barındırır, Apple tarafında olmayan ek bilgileri içerir ve Apple'ın ileride sitesini değiştireceği için bozabileceği bir kaynak değildir."; +"Downloader" = "Yükleyici"; +"DownloaderDescription" = "aria2 16ya kadar bağlantı kullanarak Xcode'u URLSession'a göre 3-5 kat daha hızlı indirir. Çalıştırılabilir bir dosya olarak Bundle'a dahildir ve kaynak dosyaları GPLv2 lisansıyla uyumlu olması açısından Xcode içerisinde yer alır.\n\nURLSession Apple'ın URL istekleri oluşturmak için sunduğu varsayılan API'dır."; + // Advanced Preference Pane "Advanced" = "Gelişmiş"; "LocalCachePath" = "Lokal Önbellek Konumu"; @@ -87,11 +94,6 @@ "AutomaticallyCreateSymbolicLinkDescription" = "Bir Xcode sürümünü Aktif/Seç yaparken Xcode.app ismindeki uygulamanın sembolik linkini yükleme klasörüne otomatik oluşturmayı dene"; "OnSelectRenameXcode" = "Her zaman Xcode.app şeklinde ismi değiştir"; "OnSelectRenameXcodeDescription" = "Seçildiğinde, aktif olan Xcode'u Xcode.app olarak isimlendirmeye çalışır ve eski Xcode ismine sürüm ismi ekler."; - -"DataSource" = "Veri Kaynağı"; -"DataSourceDescription" = "Apple veri kaynağı Apple'ın geliştirici sitesini inceliyor. Uygun olan en son sürümleri gösterir, ama biraz daha hassastır.\n\nXcode Releases, Xcode sürümlerinin bulunduğu resmi olmayan bir listedir. Data düzenli bir formata sahip bilgileri barındırır, Apple tarafında olmayan ek bilgileri içerir ve Apple'ın ileride sitesini değiştireceği için bozabileceği bir kaynak değildir."; -"Downloader" = "Yükleyici"; -"DownloaderDescription" = "aria2 16ya kadar bağlantı kullanarak Xcode'u URLSession'a göre 3-5 kat daha hızlı indirir. Çalıştırılabilir bir dosya olarak Bundle'a dahildir ve kaynak dosyaları GPLv2 lisansıyla uyumlu olması açısından Xcode içerisinde yer alır.\n\nURLSession Apple'ın URL istekleri oluşturmak için sunduğu varsayılan API'dır."; "PrivilegedHelper" = "Ayrıcalıklı Yardımcı"; "PrivilegedHelperDescription" ="Xcodes, root görevlerini yerine getirmek için bir Ayrıcalıklı yardımcı aracı kullanır. Bunlar komut satırındaki sudo gerektiren, yükleme sonrası adımlarını sağlayan ve Xcode sürümü değiştiren xcode-select gibi komutlardan ibarettir.\n\nBunu yüklemek için macOS hesap şifrenizi girmeniz istenecektir."; "HelperInstalled" = "Yardımcı yüklendi"; diff --git a/Xcodes/Resources/uk.lproj/Localizable.strings b/Xcodes/Resources/uk.lproj/Localizable.strings index 33bf2af..6dff10e 100644 --- a/Xcodes/Resources/uk.lproj/Localizable.strings +++ b/Xcodes/Resources/uk.lproj/Localizable.strings @@ -71,6 +71,13 @@ "LastChecked" = "Перевірено в останнє: %@"; "Never" = "Ніколи"; +// Download Preference Pane +"Downloads" = "Завантаження" +"DataSource" = "Джерело інформації"; +"DataSourceDescription" = "Apple – cканування порталу Apple Developer у пошуку доступних версій Xcode. Створюючи список усих нових релізів, але це не завжи спрацьовує.\n\nXcode Releases – це не офіційний список релізів Xcode. Він являє собою відформатований список, що також має додаткову інформацію не завжди доступну напряму з сайту Apple, і менш ймовірно що він зламається якщо Apple випустить редизайн Developer Portal"; +"Downloader" = "Завантажувач"; +"DownloaderDescription" = "aria2 може використовувати до 16 з'єднань, завантажуючи Xcode у 3-5 разів швидше ніж URLSession. Вона поставляється у вигляді бінарника та коду, відповідно до вимог її GPLv2 ліцензії.\n\nURLSession – це завантажувач по замовчуванню від Apple"; + // Advanced Preference Pane "Advanced" = "Розширені"; "LocalCachePath" = "Локальний Кеш"; @@ -79,10 +86,6 @@ "Active/Select" = "Акивний/Обрати"; "AutomaticallyCreateSymbolicLink" = "Автоматично створювати символічну ссилку Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Обираючи Акивний Xcode, спробувати створити символічну ссилку Xcode.app що вказує на обрану версію. Ссилка буде розміщена у папці інсталяції Xcode"; -"DataSource" = "Джерело інформації"; -"DataSourceDescription" = "Apple – cканування порталу Apple Developer у пошуку доступних версій Xcode. Створюючи список усих нових релізів, але це не завжи спрацьовує.\n\nXcode Releases – це не офіційний список релізів Xcode. Він являє собою відформатований список, що також має додаткову інформацію не завжди доступну напряму з сайту Apple, і менш ймовірно що він зламається якщо Apple випустить редизайн Developer Portal"; -"Downloader" = "Завантажувач"; -"DownloaderDescription" = "aria2 може використовувати до 16 з'єднань, завантажуючи Xcode у 3-5 разів швидше ніж URLSession. Вона поставляється у вигляді бінарника та коду, відповідно до вимог її GPLv2 ліцензії.\n\nURLSession – це завантажувач по замовчуванню від Apple"; "PrivilegedHelper" = "Privileged Helper"; "PrivilegedHelperDescription" = "Xcodes використовує спеціальний \"privilege helper\" щоб запускати задачі як суперюзер. Це включає наприклад sudo в терміналі, та кроки після інсталяції або перемикання версії Xcode за допомогою xcode-select.\n\nБуде запит на ваш пароль від Мак щоб встановити цей хелпер."; "HelperInstalled" = "Helper встановлено"; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index 7b991b7..fbe39ce 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "上次检查时间:%@"; "Never" = "从未检查"; +// Download Preference Pane +"Downloads" = "下载" +"DataSource" = "数据源"; +"DataSourceDescription" = "Apple数据源是从Apple开发者网站爬取的。它会及时反应最新版本,但较为脆弱。\n\nXcode Releases是一个非官方的Xcode版本列表。它提供了良好格式化的数据,包含了不便从Apple直接获得的附加信息,且更不容易在Apple开发者网站无法访问时出现问题。"; +"Downloader" = "下载器"; +"DownloaderDescription" = "aria2使用最高16线程,能提供3至5倍的下载速度。它与它的源代码被一同打包在Xcodes中以符合GPLv2授权。\n\nURLSession是用于发起URL请求的默认Apple API。"; + // Advanced Preference Pane "Advanced" = "高级"; "LocalCachePath" = "本地缓存位置"; @@ -88,10 +95,6 @@ "OnSelectRenameXcode" = "总是重命名为Xcode.app"; "OnSelectRenameXcodeDescription" = "选中时,会自动尝试重命名活跃的Xcode为Xcode.app,将之前的Xcode.app重命名为包含版本的名称。"; -"DataSource" = "数据源"; -"DataSourceDescription" = "Apple数据源是从Apple开发者网站爬取的。它会及时反应最新版本,但较为脆弱。\n\nXcode Releases是一个非官方的Xcode版本列表。它提供了良好格式化的数据,包含了不便从Apple直接获得的附加信息,且更不容易在Apple开发者网站无法访问时出现问题。"; -"Downloader" = "下载器"; -"DownloaderDescription" = "aria2使用最高16线程,能提供3至5倍的下载速度。它与它的源代码被一同打包在Xcodes中以符合GPLv2授权。\n\nURLSession是用于发起URL请求的默认Apple API。"; "PrivilegedHelper" = "提权帮助程序"; "PrivilegedHelperDescription" = "Xcodes使用一个独立的提权帮助程序来以root身份执行任务。就是那些需要在命令行中用sudo执行的命令。包括一些安装前置步骤以及用xcode-select切换Xcode版本。\n\n您需要提供当前用户的密码来安装它。"; "HelperInstalled" = "帮助程序已安装"; diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings index 3b2c07c..45c0f4e 100644 --- a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -72,6 +72,13 @@ "LastChecked" = "上一次檢查: %@"; "Never" = "從未使用"; +// Download Preference Pane +"Downloads" = "下載" +"DataSource" = "資料來源"; +"DataSourceDescription" = "Apple 資料來源是擷取 Apple 開發者網站而來,永遠會顯示最新的可用版本,但比較容易出錯。\n\nXcode Releases 是一個非官方的 Xcodes 發行版本列表。這個來源提供格式良好的資料,包含了 Apple 開發者網站上未列出的額外資訊並且即使 Apple 決定重新設計他們的開發者網站也比較不容易出錯。"; +"Downloader" = "下載器"; +"DownloaderDescription" = "aria2 相較 URLSession 可以同時使用最多 16 條連線以 3 ~ 5 倍的速度下載 Xcode。Xcodes 包含了執行檔與其原始碼以遵循他的 GPLv2 授權合約。\n\nURLSession 是系統內建用來發送 URL 連線請求的 Apple API。"; + // Advanced Preference Pane "Advanced" = "進階"; "LocalCachePath" = "本機快取路徑"; @@ -80,10 +87,6 @@ "Active/Select" = "啟用/選取"; "AutomaticallyCreateSymbolicLink" = "自動建立 Symlink 至 Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "當你選擇/啟用一個 Xcode 版本,自動建立一個名為 Xcode.app 的 Symlink 到該版本的安裝目錄"; -"DataSource" = "資料來源"; -"DataSourceDescription" = "Apple 資料來源是擷取 Apple 開發者網站而來,永遠會顯示最新的可用版本,但比較容易出錯。\n\nXcode Releases 是一個非官方的 Xcodes 發行版本列表。這個來源提供格式良好的資料,包含了 Apple 開發者網站上未列出的額外資訊並且即使 Apple 決定重新設計他們的開發者網站也比較不容易出錯。"; -"Downloader" = "下載器"; -"DownloaderDescription" = "aria2 相較 URLSession 可以同時使用最多 16 條連線以 3 ~ 5 倍的速度下載 Xcode。Xcodes 包含了執行檔與其原始碼以遵循他的 GPLv2 授權合約。\n\nURLSession 是系統內建用來發送 URL 連線請求的 Apple API。"; "PrivilegedHelper" = "權限輔助程式"; "PrivilegedHelperDescription" = "Xcodes 使用一個分開的權限輔助程式以使用 root 身份執行特定工作。這些工作包含了通常需要在命令列使用 sudo 的指令,包含安裝後步驟以及使用 xcode-select 選擇 Xcode 版本。\n\n安裝時,你將會被詢問你的 macOS 帳號密碼。"; "HelperInstalled" = "輔助程式已安裝"; From 2bad04fec7c4431467748a6a45ebc0c22b83911e Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Wed, 5 Oct 2022 21:50:49 +0200 Subject: [PATCH 131/180] fix localization --- Xcodes/Resources/es.lproj/Localizable.strings | 2 +- Xcodes/Resources/fi.lproj/Localizable.strings | 2 +- Xcodes/Resources/fr.lproj/Localizable.strings | 2 +- Xcodes/Resources/hi.lproj/Localizable.strings | 2 +- Xcodes/Resources/it.lproj/Localizable.strings | 2 +- Xcodes/Resources/ja.lproj/Localizable.strings | 2 +- Xcodes/Resources/ko.lproj/Localizable.strings | 2 +- Xcodes/Resources/ru.lproj/Localizable.strings | 2 +- Xcodes/Resources/tr.lproj/Localizable.strings | 2 +- Xcodes/Resources/uk.lproj/Localizable.strings | 2 +- Xcodes/Resources/zh-Hans.lproj/Localizable.strings | 2 +- Xcodes/Resources/zh-Hant.lproj/Localizable.strings | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index a3db55b..b383c9e 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "Nunca"; // Download Preference Pane -"Downloads" = "Descargas" +"Downloads" = "Descargas"; "DataSource" = "Fuente de datos"; "DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nXcode Releases es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; "Downloader" = "Downloader"; diff --git a/Xcodes/Resources/fi.lproj/Localizable.strings b/Xcodes/Resources/fi.lproj/Localizable.strings index 5dd7b91..42a512b 100644 --- a/Xcodes/Resources/fi.lproj/Localizable.strings +++ b/Xcodes/Resources/fi.lproj/Localizable.strings @@ -72,7 +72,7 @@ "Never" = "Ei koskaan"; // Download Preference Pane -"Downloads" = "Lataukset" +"Downloads" = "Lataukset"; "DataSource" = "Tietolähde"; "DataSourceDescription" = "Applen tietolähde kaappaa Apple Developer -sivuston. Se näyttää aina uusimmat saatavilla olevat julkaisut, mutta se on herkempi hajoamiselle.\n\nXcode Releases on epävirallinen luettelo Xcode-julkaisuista. Se toimitetaan hyvin muotoiltuina tietoina, sisältää lisätietoa, jota ei ole helposti saatavilla Applelta, ja se ei todennäköisesti hajoa, jos Apple suunnittelee uudelleen kehittäjäsivustonsa."; "Downloader" = "Downloader"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index f564a9f..5f59597 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "Jamais"; // Download Preference Pane -"Downloads" = "Téléchargements" +"Downloads" = "Téléchargements"; "DataSource" = "Source de Données"; "DataSourceDescription" = "La source de données Apple analyse le site Web de développeurs d'Apple. Elle contient les dernières versions disponibles, mais est plus fragile.\n\nXcode Releases est une liste non officielle des versions de Xcode. Elle contient des informations supplémentaires qui ne sont pas facilement disponibles auprès d'Apple et est moins susceptible de se briser si Apple refait son site Web de développeurs."; "Downloader" = "Téléchargeur"; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index 22ecafd..ab6221d 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -72,7 +72,7 @@ "Never" = "कभी नहीं"; // Download Preference Pane -"Downloads" = "डाउनलोड" +"Downloads" = "डाउनलोड"; "DataSource" = "डेटा स्रोत"; "DataSourceDescription" = "Apple डेटा स्रोत Apple डेवलपर वेबसाइट को स्क्रैप करता है। यह हमेशा नवीनतम रिलीज दिखाएगा जो उपलब्ध हैं, लेकिन अधिक नाजुक है।\n\nXcode Releases Xcode रिलीज़ की एक अनौपचारिक सूची है। यह सुव्यवस्थित डेटा के रूप में प्रदान किया जाता है, इसमें अतिरिक्त जानकारी होती है जो Apple से आसानी से उपलब्ध नहीं होती है, और यदि Apple अपनी डेवलपर वेबसाइट को फिर से डिज़ाइन करता है तो इसके टूटने की संभावना कम होती है।"; "Downloader" = "डाउनलोडर"; diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings index fc03a6e..b88b0c7 100644 --- a/Xcodes/Resources/it.lproj/Localizable.strings +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "Mai"; // Download Preference Pane -"Downloads" = "Downloads" +"Downloads" = "Downloads"; "DataSource" = "Sorgente Dati"; "DataSourceDescription" = "La sorgente dati Apple controlla il sito sviluppatori Apple. Mostra sempre le ultime versioni disponibili, ma è più fragile. Xcode Releases è una lista non ufficiale di versioni di Xcode. E' disponibile con un formato ben strutturato, contiene più in formazioni che non vengono rilasciate da Apple ed è più difficile che smetta di funzionare se Apple ristruttura il suo sito sviluppatori."; "Downloader" = "Scaricatore"; diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 5120ffe..f935db7 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "なし"; // Download Preference Pane -"Downloads" = "ダウンロード" +"Downloads" = "ダウンロード"; "DataSource" = "データソース"; "DataSourceDescription" = "Appleのデータソースは、Apple Developerのウェブサイトをスクレイピングしています。常に最新のリリースが表示されますが、比較的壊れやすくなっています。\n\nXcode Releasesは、非公式なXcodeのリリース一覧です。この一覧は整形されたデータとして提供されます。Appleからは簡単に入手できない特別な情報を含んでおり、AppleがDeveloper ウェブサイトを再設計しても壊れにくくなっています。"; "Downloader" = "ダウンローダ"; diff --git a/Xcodes/Resources/ko.lproj/Localizable.strings b/Xcodes/Resources/ko.lproj/Localizable.strings index 261bffc..533bae4 100644 --- a/Xcodes/Resources/ko.lproj/Localizable.strings +++ b/Xcodes/Resources/ko.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "확인하지 않음"; // Download Preference Pane -"Downloads" = "다운로드" +"Downloads" = "다운로드"; "DataSource" = "데이터 소스"; "DataSourceDescription" = "Apple 데이터 소스는 Apple Developer 웹사이트를 스크랩합니다. Apple Developer에는 항상 사용 가능한 최신 출시 버전이 표시되지만 취약한 면이 있습니다.\n\nXcode Releases는 비공식적인 Xcode 출시 버전 목록입니다. Xcode Releases에서는 정리된 데이터를 제공하며, Apple에서 쉽게 구할 수 없는 정보를 포함하며 Apple이 Apple Developer를 재설계할 경우에도 안전할 수 있습니다."; "Downloader" = "다운로더"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index 0bbda92..3f46ba2 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "Никогда"; // Download Preference Pane -"Downloads" = "Загрузки" +"Downloads" = "Загрузки"; "DataSource" = "Источник данных"; "DataSourceDescription" = "Источник данных Apple применяет технологию \"веб-скрейпинга\" к веб-сайту Apple для разработчиков. Он всегда показывает последние доступные выпуски, но является менее стабильным источником данных.\n\nXcode Releases — это неофициальный список выпусков Xcode. Он предоставляется в виде удобно структурированных данных, содержит дополнительную информацию, которую не всегда можно получить от Apple и который с меньшей вероятностью перестанет работать, если Apple изменит дизайн своего веб-сайта для разработчиков."; "Downloader" = "Загрузчик"; diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index b93484f..eed6e95 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "Daha Yeni"; // Download Preference Pane -"Downloads" = "İndirilenler" +"Downloads" = "İndirilenler"; "DataSource" = "Veri Kaynağı"; "DataSourceDescription" = "Apple veri kaynağı Apple'ın geliştirici sitesini inceliyor. Uygun olan en son sürümleri gösterir, ama biraz daha hassastır.\n\nXcode Releases, Xcode sürümlerinin bulunduğu resmi olmayan bir listedir. Data düzenli bir formata sahip bilgileri barındırır, Apple tarafında olmayan ek bilgileri içerir ve Apple'ın ileride sitesini değiştireceği için bozabileceği bir kaynak değildir."; "Downloader" = "Yükleyici"; diff --git a/Xcodes/Resources/uk.lproj/Localizable.strings b/Xcodes/Resources/uk.lproj/Localizable.strings index 6dff10e..4f8b746 100644 --- a/Xcodes/Resources/uk.lproj/Localizable.strings +++ b/Xcodes/Resources/uk.lproj/Localizable.strings @@ -72,7 +72,7 @@ "Never" = "Ніколи"; // Download Preference Pane -"Downloads" = "Завантаження" +"Downloads" = "Завантаження"; "DataSource" = "Джерело інформації"; "DataSourceDescription" = "Apple – cканування порталу Apple Developer у пошуку доступних версій Xcode. Створюючи список усих нових релізів, але це не завжи спрацьовує.\n\nXcode Releases – це не офіційний список релізів Xcode. Він являє собою відформатований список, що також має додаткову інформацію не завжди доступну напряму з сайту Apple, і менш ймовірно що він зламається якщо Apple випустить редизайн Developer Portal"; "Downloader" = "Завантажувач"; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index fbe39ce..66c64f1 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "从未检查"; // Download Preference Pane -"Downloads" = "下载" +"Downloads" = "下载"; "DataSource" = "数据源"; "DataSourceDescription" = "Apple数据源是从Apple开发者网站爬取的。它会及时反应最新版本,但较为脆弱。\n\nXcode Releases是一个非官方的Xcode版本列表。它提供了良好格式化的数据,包含了不便从Apple直接获得的附加信息,且更不容易在Apple开发者网站无法访问时出现问题。"; "Downloader" = "下载器"; diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings index 45c0f4e..5220a58 100644 --- a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -73,7 +73,7 @@ "Never" = "從未使用"; // Download Preference Pane -"Downloads" = "下載" +"Downloads" = "下載"; "DataSource" = "資料來源"; "DataSourceDescription" = "Apple 資料來源是擷取 Apple 開發者網站而來,永遠會顯示最新的可用版本,但比較容易出錯。\n\nXcode Releases 是一個非官方的 Xcodes 發行版本列表。這個來源提供格式良好的資料,包含了 Apple 開發者網站上未列出的額外資訊並且即使 Apple 決定重新設計他們的開發者網站也比較不容易出錯。"; "Downloader" = "下載器"; From ed2e5bfcaa8c84d579d6c56736487478326e7f0a Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Thu, 6 Oct 2022 08:42:40 +0200 Subject: [PATCH 132/180] add error message when trying to uninstall Xcode if file not found --- Xcodes/Backend/FileError.swift | 23 +++++++++++++++++++ Xcodes/Backend/FileManager+.swift | 8 +++++-- Xcodes/Resources/de.lproj/Localizable.strings | 1 + Xcodes/Resources/en.lproj/Localizable.strings | 1 + 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 Xcodes/Backend/FileError.swift diff --git a/Xcodes/Backend/FileError.swift b/Xcodes/Backend/FileError.swift new file mode 100644 index 0000000..c3965bb --- /dev/null +++ b/Xcodes/Backend/FileError.swift @@ -0,0 +1,23 @@ +// +// FileError.swift +// Xcodes +// +// Created by Leon Wolf on 06.10.22. +// Copyright © 2022 Robots and Pencils. All rights reserved. +// + +import Foundation +import LegibleError + +enum FileError: LocalizedError{ + case fileNotFound(_ fileName: String) +} + +extension FileError { + var errorDescription: String? { + switch self { + case .fileNotFound(let fileName): + return String(format: localizeString("Alert.Uninstall.Error.Message.FileNotFound"), fileName) + } + } +} diff --git a/Xcodes/Backend/FileManager+.swift b/Xcodes/Backend/FileManager+.swift index 12c96e1..72fd1ee 100644 --- a/Xcodes/Backend/FileManager+.swift +++ b/Xcodes/Backend/FileManager+.swift @@ -11,7 +11,11 @@ extension FileManager { @discardableResult func trashItem(at url: URL) throws -> URL { var resultingItemURL: NSURL! - try trashItem(at: url, resultingItemURL: &resultingItemURL) + if fileExists(atPath: url.path) { + try trashItem(at: url, resultingItemURL: &resultingItemURL) + } else { + throw FileError.fileNotFound(url.lastPathComponent) + } return resultingItemURL as URL } -} \ No newline at end of file +} diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 7b568cc..846566d 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -156,6 +156,7 @@ "Alert.Uninstall.Title" = "Xcode %@ deinstallieren?"; "Alert.Uninstall.Message" = "Die Anwendung wird in den Papierkorb verschoben, dieser wird aber nicht geleert."; "Alert.Uninstall.Error.Title" = "Die Deinstallation von Xcode ist nicht möglich"; +"Alert.Uninstall.Error.Message.FileNotFound" = "Datei \"%@\" konnte nicht gefunden werden."; // Cancel Install "Alert.CancelInstall.Title" = "Bist du sicher, dass Du die installation von Xcode %@ anhalten möchtest?"; diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 9d45c5e..56857ff 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -156,6 +156,7 @@ "Alert.Uninstall.Title" = "Uninstall Xcode %@?"; "Alert.Uninstall.Message" = "It will be moved to the Trash, but won't be emptied."; "Alert.Uninstall.Error.Title" = "Unable to uninstall Xcode"; +"Alert.Uninstall.Error.Message.FileNotFound" = "Could not find file \"%@\"."; // Cancel Install "Alert.CancelInstall.Title" = "Are you sure you want to stop the installation of Xcode %@?"; From 5e0eb827d305bb6a3ac17c393afa483da3f86fef Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Thu, 6 Oct 2022 16:43:04 +0200 Subject: [PATCH 133/180] Create Localizable.strings --- Xcodes/Resources/nl.lproj/Localizable.strings | 230 ++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 Xcodes/Resources/nl.lproj/Localizable.strings diff --git a/Xcodes/Resources/nl.lproj/Localizable.strings b/Xcodes/Resources/nl.lproj/Localizable.strings new file mode 100644 index 0000000..f8c46fb --- /dev/null +++ b/Xcodes/Resources/nl.lproj/Localizable.strings @@ -0,0 +1,230 @@ +// Menu +"Menu.About" = "Over Xcodes"; +"Menu.CheckForUpdates" = "Controleren op Updates..."; +"Menu.Acknowledgements" = "Xcodes Dankbetuigingen"; +"Menu.GitHubRepo" = "Xcodes GitHub Repo"; +"Menu.ReportABug" = "Bug Rapporteren"; +"Menu.RequestNewFeature" = "Nieuwe Feature Aanvragen"; + +// Common +"Install" = "Installeren"; +"InstallDescription" = "Installeer deze versie"; +"RevealInFinder" = "Toon in Finder"; +"Active" = "Actief"; +"MakeActive" = "Maak actief"; +"Open" = "Open"; +"OpenDescription" = "Open deze versie"; +"CopyPath" = "Kopieer Pad"; +"CreateSymLink" = "Creëer Symlink als Xcode.app"; +"Uninstall" = "Deinstalleren"; +"Selected" = "Geselecteerd"; +"Select" = "Selecteer"; +"Cancel" = "Annuleren"; +"Next" = "Volgende"; +"Continue" = "Doorgaan"; +"Close" = "Sluiten"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Identieke Builds"; +"IdenticalBuilds.help" = "Soms zijn een prerelease en release versie exact hetzelfde. Xcodes toont deze versies automatisch samen."; + +"ReleaseDate" = "Release Datum"; +"ReleaseNotes" = "Release Notes"; +"ReleaseNotes.help" = "Toon Release Notes"; +"CopyReleaseNoteURL" = "Kopieer URL"; +"Compatibility" = "Compatibiliteit"; +"MacOSRequirement" = "Vereist macOS %@ of hoger"; +"SDKs" = "SDKs"; +"Compilers" = "Compilers"; +"DownloadSize" = "Download Grootte"; +"NoXcodeSelected" = "Geen Xcode Geselecteerd"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Stap %1$d van %2$d: %3$@"; +"DownloadingPercentDescription" = "Downloaden: %d%% compleet"; +"StopInstallation" = "Stop installatie"; +"DownloadingError" = "Geen download informatie gevonden"; + +// About +"VersionWithBuild" = "Versie %@ (%@)"; +"GithubRepo" = "GitHub Repo"; +"Acknowledgements" = "Dankbetuigingen"; +"UnxipExperiment" = "Unxip Experiment"; +"License" = "Licentie"; + +// General Preference Pane +"General" = "Algemeen"; +"AppleID" = "Apple ID"; +"SignIn" = "Inloggen"; +"Notifications" = "Notificaties"; + +// Updates Preference Pane +"Updates" = "Updates"; +"Versions" = "Versies"; +"AutomaticInstallNewVersion" = "Installeer nieuwe versies van Xcode automatisch"; +"IncludePreRelease" = "Prerelease/beta versies toestaan"; +"AppUpdates" = "Xcodes.app Updates"; +"CheckForAppUpdates" = "Automatisch controleren op app updates"; +"CheckNow" = "Nu Controleren"; +"LastChecked" = "Laatste gecontroleerd: %@"; +"Never" = "Nooit"; + +// Advanced Preference Pane +"Advanced" = "Geavanceerd"; +"LocalCachePath" = "Lokaal Cache Pad"; +"LocalCachePathDescription" = "Xcodes cached beschikbare Xcode versies en download tijdelijk nieuwe versies naar een map"; +"Change" = "Wijzig"; +"Active/Select" = "Active/Select"; +"InstallDirectory" = "Installatie Map"; +"InstallPathDescription" = "Xcodes zoekt en installeert naar een enkele map. Standaard (en aanbevolen) is om dit in te stellen op /Applications. Wijzigingen die gemaakt worden in waar Xcode is opgeslagen kan resulteren in niet werkende apps/services. "; + +"OnSelectDoNothing" = "Behoud naam als Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "Wanneer ingeschakeld, zal de bestandsnaam altijd het versienummer bevatten. Bijvoorbeeld Xcode-13.4.1.app"; +"AutomaticallyCreateSymbolicLink" = "Creëer automatisch een symbolic link naar Xcode.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Bij het actief maken/selecteren van een Xcode versie, probeer een symbolic link genaamd Xcode.app te maken in de installatie map"; +"OnSelectRenameXcode" = "Altijd hernoemen naar Xcode.app"; +"OnSelectRenameXcodeDescription" = "Wanneer ingeschakeld, zal automatisch de actieve Xcode hernoemd worden naar Xcode.app, de vorige Xcode.app zal hernoemd worden naar de desbetreffende versie."; + +"DataSource" = "Databron"; +"DataSourceDescription" = "De Apple databron scraped de Apple Developer website. Dit zal altijd de laatste nieuwe versies tonen die beschikbaar zijn, maar is meer foutgevoelig.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; +"Downloader" = "Downloader"; +"DownloaderDescription" = "aria2 gebruikt tot 16 verbindingen om Xcode 3-5x sneller te downloaden dan met URLSession. Het is gebundeld als een executable samen met de broncode binnen Xcodes om te voldoen aan de GPLv2 licentie.\n\nURLSession is de standaard Apple API voor het maken van URL verzoeken."; +"PrivilegedHelper" = "Privileged Helper"; +"PrivilegedHelperDescription" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; +"HelperInstalled" = "Helper is geïnstalleerd"; +"HelperNotInstalled" = "Helper is niet geïnstalleerd"; +"InstallHelper" = "Installeer helper"; + +// Experiment Preference Pane +"Experiments" = "Experimenten"; +"FasterUnxip" = "Snellere Unxip"; +"UseUnxipExperiment" = "Bij unxipping, gebruik expiriment"; +"FasterUnxipDescription" = "Dankzij @_saagarjha, this experiment can increase unxipping speed by up to 70% for some systems.\n\nMore information on how this is accomplished can be seen on the unxip repo - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Toegang Verleend. Je krijgt notificaties van Xcodes."; +"AccessDenied" = "⚠️ Toegang Geweigerd ⚠️\n\nPlease open your Notification Settings and select Xcodes if you wish to allow access."; +"NotificationSettings" = "Notificatie Instellingen"; +"EnableNotifications" = "Notificaties Inschakelen"; + +// SignIn +"SignInWithApple" = "Log in met je Apple ID."; +"AppleID" = "AppleID:"; +"Password" = "Wachtwoord:"; +"Required" = "Vereist"; +"SignOut" = "Uitloggen"; + +// SMS/2FA +"DigitCodeDescription" = "Enter the %d digit code from one of your trusted devices:"; +"SendSMS" = "Verstuur SMS"; +"EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; +"SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; +"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Bijgewerkt op"; + +// ToolBar +"Login" = "Inloggen"; +"LoginDescription" = "Open Inloggen"; +"Refresh" = "Verversen"; +"RefreshDescription" = "Ververs Xcode Lijst"; +"All" = "Alles"; +"Release" = "Release"; +"ReleaseOnly" = "Alleen release"; +"Beta" = "Beta"; +"BetaOnly" = "Alleen beta"; +"Filter" = "Filter"; +"FilterAvailableDescription" = "Filter beschikbare versies"; +"FilterInstalledDescription" = "Filter geïnstalleerde versies"; +"Info" = "Info"; +"InfoDescription" = "Show or hide the info pane"; +"Preferences" = "Voorkeuren"; +"PreferencesDescription" = "Open Voorkeuren"; +"Search" = "Zoeken..."; +"SearchDescription" = "Zoek lijst"; + +// List +"ActiveVersionDescription" = "Dit is de actieve versie"; +"MakeActiveVersionDescription" = "Maak dit de actieve versie"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Xcode %@ deinstalleren?"; +"Alert.Uninstall.Message" = "Het zal worden verplaatst naar de Prullenbak, maar deze zal niet geleegd worden."; +"Alert.Uninstall.Error.Title" = "Kan Xcode niet deinstalleren"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Weet je zeker dat je de installatie van Xcode %@ wilt stoppen?"; +"Alert.CancelInstall.Message" = "Elke voortgang zal worden weggegooid."; +"Alert.CancelInstall.PrimaryButton" = "Stop Installatie"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Privileged Helper"; +"Alert.PrivilegedHelper.Message" = "Xcodes gebruikt een separate privilged helper om taken uit te voeren als root. Dit zijn operaties die een sudo vereisen op de command line, inclusief post-installatie stappen en het wijzigen van Xcode versies met xcode-select.\n\nJe zult worden gevraagd om je macOS account wachtwoord om deze te installeren."; +"Alert.PrivilegedHelper.Error.Title" = "Kan helper niet installeren"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Minimale vereisten niet voldaan"; +"Alert.MinSupported.Message" = "Xcode %@ requires MacOS %@, but you are running MacOS %@, do you still want to install it?"; + +// Install +"Alert.Install.Error.Title" = "Kan Xcode niet installeren"; +"Alert.InstallArchive.Error.Title" = "Kan gearchiveerde Xcode niet installeren"; + +// Update +"Alert.Update.Error.Title" = "Kan geselecteerde Xcode niet updaten"; + +// Active/Select +"Alert.Select.Error.Title" = "Kan Xcode niet selecteren"; + +// Symbolic Links +"Alert.SymLink.Title" = "Kan geen symbolic link maken"; +"Alert.SymLink.Message" = "Xcode.app bestaat en is geen symbolic link"; + +// Post install +"Alert.PostInstall.Title" = "Kan na-installatie stappen niet uitvoeren"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "Het archief \"%@\" is beschadigd en kan niet worden uitgepakt."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Het archief \"%@\" kan niet worden uitgepakt omdat het huidige volume niet voldoende vrije schijf ruimte heeft.\n\nMaak meer ruimte beschikbaar om het archief uit te pakken en installeer dan Xcode %@ opnieuw om de installatie voort te zetten."; +"InstallationError.FailedToMoveXcodeToApplications" = "Het is mislukt om Xcode te verplaatsen naar de %@ map."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; +"InstallationError.CodesignVerifyFailed" = "The downloaded Xcode failed code signing verification with the following output:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "The downloaded Xcode doesn't have the expected code signing identity.\nGot:\n%@\n%@\nExpected:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes heeft (nog) geen ondersteuning om Xcode te installeren vanaf het %@ bestandsformaat."; +"InstallationError.MissingSudoerPassword" = "Wachtwoord ontbreekt. Probeer het opnieuw."; +"InstallationError.UnavailableVersion" = "Kan versie %@ niet vinden."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Geen niet-prerelease versies beschikbaar."; +"InstallationError.NoPrereleaseVersionAvailable" = "Geen prerelease versies beschikbaar."; +"InstallationError.MissingUsernameOrPassword" = "Ontbrekende gebruikersnaam of wachtwoord. Probeer het opnieuw."; +"InstallationError.VersionAlreadyInstalled" = "%@ is al geïnstalleerd op %@"; +"InstallationError.InvalidVersion" = "%@ is geen geldig versie nummer."; +"InstallationError.VersionNotInstalled" = "%@ is niet geïnstalleerd."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode %@."; + +// Installation Steps +"Downloading" = "Downloaden"; +"Unarchiving" = "Dearchiveren (Dit kan even duren)"; +"Moving" = "Verplaatsen naar %@"; +"TrashingArchive" = "Bezig met archief naar Prullenbak verplaatsen"; +"CheckingSecurity" = "Beveiliging verificatie"; +"Finishing" = "Finishing"; + +// Notifications +"Notification.NewVersionAvailable" = "Nieuwe versie beschikbaar"; +"Notification.FinishedInstalling" = "Installatie voltooid"; + + +"HelperClient.error" = "Kan niet communiceren met de privileged helper."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Nieuwe Xcode versies"; +"Notification.NewXcodeVersion.Body" = "Nieuwe Xcode versies zijn beschikbaar om te downloaden."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Happy WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From 64d6b5d5dcae862227fc955d823e38ebe76054a5 Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Fri, 7 Oct 2022 11:07:23 +0200 Subject: [PATCH 134/180] Update Localizable.strings --- Xcodes/Resources/nl.lproj/Localizable.strings | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Xcodes/Resources/nl.lproj/Localizable.strings b/Xcodes/Resources/nl.lproj/Localizable.strings index f8c46fb..2b52b12 100644 --- a/Xcodes/Resources/nl.lproj/Localizable.strings +++ b/Xcodes/Resources/nl.lproj/Localizable.strings @@ -69,7 +69,7 @@ "AppUpdates" = "Xcodes.app Updates"; "CheckForAppUpdates" = "Automatisch controleren op app updates"; "CheckNow" = "Nu Controleren"; -"LastChecked" = "Laatste gecontroleerd: %@"; +"LastChecked" = "Laatste controle: %@"; "Never" = "Nooit"; // Advanced Preference Pane @@ -89,11 +89,11 @@ "OnSelectRenameXcodeDescription" = "Wanneer ingeschakeld, zal automatisch de actieve Xcode hernoemd worden naar Xcode.app, de vorige Xcode.app zal hernoemd worden naar de desbetreffende versie."; "DataSource" = "Databron"; -"DataSourceDescription" = "De Apple databron scraped de Apple Developer website. Dit zal altijd de laatste nieuwe versies tonen die beschikbaar zijn, maar is meer foutgevoelig.\n\nXcode Releases is an unofficial list of Xcode releases. It's provided as well-formed data, contains extra information that is not readily available from Apple, and is less likely to break if Apple redesigns their developer website."; +"DataSourceDescription" = "De Apple databron scraped de Apple Developer website. Dit zal altijd de laatste nieuwe versies tonen die beschikbaar zijn, maar is meer foutgevoelig.\n\nXcode Releases is een onofficiële lijst van Xcode releases. Deze lijst wordt gepresenteerd als gevalideerde data en bevat extra informatie die niet beschikbaar is vanuit Apple. Deze databron is minder foutgevoelig en niet afhankelijk van wanneer Apple de developer website aanpast."; "Downloader" = "Downloader"; "DownloaderDescription" = "aria2 gebruikt tot 16 verbindingen om Xcode 3-5x sneller te downloaden dan met URLSession. Het is gebundeld als een executable samen met de broncode binnen Xcodes om te voldoen aan de GPLv2 licentie.\n\nURLSession is de standaard Apple API voor het maken van URL verzoeken."; "PrivilegedHelper" = "Privileged Helper"; -"PrivilegedHelperDescription" = "Xcodes uses a separate privileged helper to perform tasks as root. These are things that would require sudo on the command line, including post-install steps and switching Xcode versions with xcode-select.\n\nYou'll be prompted for your macOS account password to install it."; +"PrivilegedHelperDescription" = "Xcodes gebruikt een separate privilged helper om taken uit te voeren als root. Dit zijn operaties die een sudo vereisen op de command line, inclusief post-installatie stappen en het wijzigen van Xcode versies met xcode-select.\n\nJe zult worden gevraagd om je macOS account wachtwoord om deze te installeren."; "HelperInstalled" = "Helper is geïnstalleerd"; "HelperNotInstalled" = "Helper is niet geïnstalleerd"; "InstallHelper" = "Installeer helper"; @@ -102,11 +102,11 @@ "Experiments" = "Experimenten"; "FasterUnxip" = "Snellere Unxip"; "UseUnxipExperiment" = "Bij unxipping, gebruik expiriment"; -"FasterUnxipDescription" = "Dankzij @_saagarjha, this experiment can increase unxipping speed by up to 70% for some systems.\n\nMore information on how this is accomplished can be seen on the unxip repo - https://github.com/saagarjha/unxip"; +"FasterUnxipDescription" = "Dankzij @_saagarjha, kan met dit experiment het uitpakken van Xcode tot 70% sneller gaan op sommige systemen.\n\nMeer informatie over hoe dit mogelijk wordt gemaakt kan worden gevonden op de unxip repo - https://github.com/saagarjha/unxip"; // Notifications "AccessGranted" = "Toegang Verleend. Je krijgt notificaties van Xcodes."; -"AccessDenied" = "⚠️ Toegang Geweigerd ⚠️\n\nPlease open your Notification Settings and select Xcodes if you wish to allow access."; +"AccessDenied" = "⚠️ Toegang Geweigerd ⚠️\n\nOpen je Notificatie Instellingen en selecteer Xcodes om toegang te verlenen."; "NotificationSettings" = "Notificatie Instellingen"; "EnableNotifications" = "Notificaties Inschakelen"; @@ -118,11 +118,11 @@ "SignOut" = "Uitloggen"; // SMS/2FA -"DigitCodeDescription" = "Enter the %d digit code from one of your trusted devices:"; +"DigitCodeDescription" = "Voer de %d code in van een van je vertrouwde apparaten:"; "SendSMS" = "Verstuur SMS"; -"EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; -"SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; -"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; +"EnterDigitCodeDescription" = "Voer de %d code in die is verstuurd naar %@: "; +"SelectTrustedPhone" = "Selecteer een vertrouwd telefoonnumer on een %d code te ontvangen via SMS:"; +"NoTrustedPhones" = "Je account heeft geen vertrouwde telefoonnummers, dit is nodig voor two-factor authenticatie.\n\nZie https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Bijgewerkt op"; @@ -169,7 +169,7 @@ // Min MacOS Supported "Alert.MinSupported.Title" = "Minimale vereisten niet voldaan"; -"Alert.MinSupported.Message" = "Xcode %@ requires MacOS %@, but you are running MacOS %@, do you still want to install it?"; +"Alert.MinSupported.Message" = "Xcode %@ vereist MacOS %@, maar jouw MacOS versie is %@, wil je doorgaan met installeren?"; // Install "Alert.Install.Error.Title" = "Kan Xcode niet installeren"; @@ -186,15 +186,15 @@ "Alert.SymLink.Message" = "Xcode.app bestaat en is geen symbolic link"; // Post install -"Alert.PostInstall.Title" = "Kan na-installatie stappen niet uitvoeren"; +"Alert.PostInstall.Title" = "Kan post-installatie stappen niet uitvoeren"; // InstallationErrors "InstallationError.DamagedXIP" = "Het archief \"%@\" is beschadigd en kan niet worden uitgepakt."; "InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Het archief \"%@\" kan niet worden uitgepakt omdat het huidige volume niet voldoende vrije schijf ruimte heeft.\n\nMaak meer ruimte beschikbaar om het archief uit te pakken en installeer dan Xcode %@ opnieuw om de installatie voort te zetten."; "InstallationError.FailedToMoveXcodeToApplications" = "Het is mislukt om Xcode te verplaatsen naar de %@ map."; -"InstallationError.FailedSecurityAssessment" = "Xcode %@ failed its security assessment with the following output:\n%@\nIt remains installed at %@ if you wish to use it anyways."; -"InstallationError.CodesignVerifyFailed" = "The downloaded Xcode failed code signing verification with the following output:\n%@"; -"InstallationError.UnexpectedCodeSigningIdentity" = "The downloaded Xcode doesn't have the expected code signing identity.\nGot:\n%@\n%@\nExpected:\n%@\n%@"; +"InstallationError.FailedSecurityAssessment" = "De Xcode %@ veiligheidsbeoordeling was onsuccesvol en gaf de volgende melding:\n%@\nXcode blijft geïnstalleerd op %@ als je deze toch wilt gebruiken."; +"InstallationError.CodesignVerifyFailed" = "De gedownloade Xcode is mislukt voor verificatie van code-ondertekening met de volgende melding:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "De gedownloade Xcode heeft niet de verwachte code-ondertekeningsidentiteit.\nVerkregen:\n%@\n%@\nVerwacht:\n%@\n%@"; "InstallationError.UnsupportedFileFormat" = "Xcodes heeft (nog) geen ondersteuning om Xcode te installeren vanaf het %@ bestandsformaat."; "InstallationError.MissingSudoerPassword" = "Wachtwoord ontbreekt. Probeer het opnieuw."; "InstallationError.UnavailableVersion" = "Kan versie %@ niet vinden."; @@ -204,8 +204,8 @@ "InstallationError.VersionAlreadyInstalled" = "%@ is al geïnstalleerd op %@"; "InstallationError.InvalidVersion" = "%@ is geen geldig versie nummer."; "InstallationError.VersionNotInstalled" = "%@ is niet geïnstalleerd."; -"InstallationError.PostInstallStepsNotPerformed.Installed" = "Installation was completed, but some post-install steps weren't performed automatically. These will be performed when you first launch Xcode %@."; -"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Installation was completed, but some post-install steps weren't performed automatically. Xcodes performs these steps with a privileged helper, which appears to not be installed. You can install it from Preferences > Advanced.\n\nThese steps will be performed when you first launch Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "De installatie is voltooid, maar sommige post-installatie taken zijn niet uitgevoerd. Deze taken zullen worden uitgevoerd wanneer je Xcode %@ voor het eerst start."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "De installatie is voltooid, maar sommige post-installatie taken zijn niet uitgevoerd. Xcodes voert deze taken uit door middel van de privileged helper, maar deze lijkt niet te zijn geïnstalleerd. Je kunt deze installeren vanaf Voorkeuren > Geavanceerd.\n\nDeze taken zullen worden uitgevoerd wanneer je Xcode %@ voor het eerst start."; // Installation Steps "Downloading" = "Downloaden"; From 90dbf4f010bd82385f9b439383236c2cd5784131 Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Fri, 7 Oct 2022 11:12:11 +0200 Subject: [PATCH 135/180] Update project.pbxproj --- Xcodes.xcodeproj/project.pbxproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 63ea87c..531acba 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -289,6 +289,7 @@ CAFE4ABB25B7D54B0064FE51 /* UpdatesPreferencePane.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpdatesPreferencePane.swift; sourceTree = ""; }; CAFFFED7259CDA5000903F81 /* XcodeListViewRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeListViewRow.swift; sourceTree = ""; }; CAFFFEEE259CEAC400903F81 /* RingProgressViewStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RingProgressViewStyle.swift; sourceTree = ""; }; + E2AFDCCA28F024D000864ADD /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; E81D7E9F2805250100A205FC /* Collection+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+.swift"; sourceTree = ""; }; E872EE4F2808D4F100D3DD8B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; E87DD6EA25D053FA00D86808 /* Progress+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Progress+.swift"; sourceTree = ""; }; @@ -721,6 +722,7 @@ de, uk, fi, + nl, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -934,6 +936,7 @@ A0187D39285792D1002F46F9 /* de */, 7CBF284E28606D2C001AA66B /* uk */, 5AA8A6102877EDAD009ECDB0 /* fi */, + E2AFDCCA28F024D000864ADD /* nl */, ); name = Localizable.strings; sourceTree = ""; From 651fe480a0a244f5c20c16403dae02cd6ac80142 Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Fri, 7 Oct 2022 11:14:53 +0200 Subject: [PATCH 136/180] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 965dcb8..1bb2e2f 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ The following languages are supported because of the following community users! |Hindi 🇮🇳 |[@KGurpreet](https://github.com/KGurpreet)|Chinese-Simplified 🇨🇳|[@megabitsenmzq](https://github.com/megabitsenmzq)| |Finnish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇹🇼|[@itszero](https://github.com/itszero)| |Ukranian 🇺🇦 |[@gelosi](https://github.com/gelosi)|Japanese 🇯🇵|[@tatsuz0u](https://github.com/tatsuz0u)| -|German 🇩🇪|[@drct](https://github.com/drct)|| +|German 🇩🇪|[@drct](https://github.com/drct)|Dutch 🇳🇱|[@jfversluis](https://github/com/jfversluis)| Want to add more languages? Simply create a PR with the updated strings file. ## Installation From a02cc71ac65806ce8be9410c1392b09581e26d9e Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Fri, 7 Oct 2022 11:18:02 +0200 Subject: [PATCH 137/180] Remove localization from apple.com links --- Xcodes/Resources/de.lproj/Localizable.strings | 2 +- Xcodes/Resources/en.lproj/Localizable.strings | 2 +- Xcodes/Resources/es.lproj/Localizable.strings | 2 +- Xcodes/Resources/fi.lproj/Localizable.strings | 2 +- Xcodes/Resources/fr.lproj/Localizable.strings | 2 +- Xcodes/Resources/hi.lproj/Localizable.strings | 2 +- Xcodes/Resources/it.lproj/Localizable.strings | 2 +- Xcodes/Resources/ja.lproj/Localizable.strings | 2 +- Xcodes/Resources/ko.lproj/Localizable.strings | 2 +- Xcodes/Resources/ru.lproj/Localizable.strings | 2 +- Xcodes/Resources/tr.lproj/Localizable.strings | 2 +- Xcodes/Resources/uk.lproj/Localizable.strings | 2 +- Xcodes/Resources/zh-Hans.lproj/Localizable.strings | 2 +- Xcodes/Resources/zh-Hant.lproj/Localizable.strings | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Xcodes/Resources/de.lproj/Localizable.strings b/Xcodes/Resources/de.lproj/Localizable.strings index 7b568cc..d6c025c 100644 --- a/Xcodes/Resources/de.lproj/Localizable.strings +++ b/Xcodes/Resources/de.lproj/Localizable.strings @@ -122,7 +122,7 @@ "SendSMS" = "SMS senden"; "EnterDigitCodeDescription" = "Gib den %d-stelligen Code ein der an '%@' gesendet wurde."; "SelectTrustedPhone" = "Wähle eine vertrauenswürdige Telefonnummer aus, um einen %d-stelligen Code via SMS zum empfangen:"; -"NoTrustedPhones" = "Dein Account verfügt über keine vertrauenswürdigen Telefonnummern, diese sind aber für Zwei-Faktor-Authentifizierung erforderlich.\n\nInformationen dazu unter https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "Dein Account verfügt über keine vertrauenswürdigen Telefonnummern, diese sind aber für Zwei-Faktor-Authentifizierung erforderlich.\n\nInformationen dazu unter https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Aktualisiert am"; diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index 9d45c5e..848fbda 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -122,7 +122,7 @@ "SendSMS" = "Send SMS"; "EnterDigitCodeDescription" = "Enter the %d digit code sent to %@: "; "SelectTrustedPhone" = "Select a trusted phone number to receive a %d digit code via SMS:"; -"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "Your account doesn't have any trusted phone numbers, but they're required for two-factor authentication.\n\nSee https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Updated at"; diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index c287435..f28da49 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -114,7 +114,7 @@ "SendSMS" = "Enviar SMS"; "EnterDigitCodeDescription" = "Ingrese el código de dígito %d enviado a %@: "; "SelectTrustedPhone" = "Selecciona un número de teléfono de confianza para recibir un código de %d dígitos por SMS:"; -"NoTrustedPhones" = "Su cuenta no tiene números de teléfono de confianza, pero son necesarios para la autenticación de dos factores.\n\nVer https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "Su cuenta no tiene números de teléfono de confianza, pero son necesarios para la autenticación de dos factores.\n\nVer https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Actualizado en"; diff --git a/Xcodes/Resources/fi.lproj/Localizable.strings b/Xcodes/Resources/fi.lproj/Localizable.strings index f12d770..7a6564b 100644 --- a/Xcodes/Resources/fi.lproj/Localizable.strings +++ b/Xcodes/Resources/fi.lproj/Localizable.strings @@ -113,7 +113,7 @@ "SendSMS" = "Lähetä tekstiviesti"; "EnterDigitCodeDescription" = "Anna %d numeroinen koodi, joka lähetettiin osoitteeseen %@: "; "SelectTrustedPhone" = "Valitse luotettu puhelinnumero saadaksesi %d numeroisen koodin tekstiviestinä:"; -"NoTrustedPhones" = "Tililläsi ei ole luotettuja puhelinnumeroita, mutta ne vaaditaan kaksivaiheiseen todentamiseen.\n\nKatso https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "Tililläsi ei ole luotettuja puhelinnumeroita, mutta ne vaaditaan kaksivaiheiseen todentamiseen.\n\nKatso https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Päivitetty ajankohtana"; diff --git a/Xcodes/Resources/fr.lproj/Localizable.strings b/Xcodes/Resources/fr.lproj/Localizable.strings index d9e5270..4916089 100644 --- a/Xcodes/Resources/fr.lproj/Localizable.strings +++ b/Xcodes/Resources/fr.lproj/Localizable.strings @@ -118,7 +118,7 @@ "SendSMS" = "Envoyer un SMS"; "EnterDigitCodeDescription" = "Entrez le code à %d chiffres envoyé à %@ : "; "SelectTrustedPhone" = "Sélectionnez le numéro de téléphone de confiance pour recevoir un code à %d chiffres par SMS :"; -"NoTrustedPhones" = "Votre compte n'a aucun numéro de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/fr-fr/HT204915."; +"NoTrustedPhones" = "Votre compte n'a aucun numéro de téléphone de confiance, mais ils sont requis pour l'authentification à deux facteurs.\n\nVoir https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Mis à jour le "; diff --git a/Xcodes/Resources/hi.lproj/Localizable.strings b/Xcodes/Resources/hi.lproj/Localizable.strings index 28e13b4..9280eca 100644 --- a/Xcodes/Resources/hi.lproj/Localizable.strings +++ b/Xcodes/Resources/hi.lproj/Localizable.strings @@ -113,7 +113,7 @@ "SendSMS" = "SMS भेजें"; "EnterDigitCodeDescription" = "%@ को भेजा गया %d अंक कोड दर्ज करें: "; "SelectTrustedPhone" = "SMS के द्वारा %d अंक कोड प्राप्त करने के लिए विश्वसनीय फ़ोन नंबर चुनें:"; -"NoTrustedPhones" = "आपके खाते में कोई विश्वसनीय फ़ोन नंबर नहीं है, लेकिन वे दो-कारक प्रमाणीकरण के लिए आवश्यक हैं।\n\nhttps://support.apple.com/en-ca/HT204915 देखें।"; +"NoTrustedPhones" = "आपके खाते में कोई विश्वसनीय फ़ोन नंबर नहीं है, लेकिन वे दो-कारक प्रमाणीकरण के लिए आवश्यक हैं।\n\nhttps://support.apple.com/HT204915 देखें।"; // MainWindow "UpdatedAt" = "पर अपडेट किया गया"; diff --git a/Xcodes/Resources/it.lproj/Localizable.strings b/Xcodes/Resources/it.lproj/Localizable.strings index 353b3d9..549ee8e 100644 --- a/Xcodes/Resources/it.lproj/Localizable.strings +++ b/Xcodes/Resources/it.lproj/Localizable.strings @@ -114,7 +114,7 @@ "SendSMS" = "Manda SMS"; "EnterDigitCodeDescription" = "Inserisci il codice di %d cifre inviato a %@: "; "SelectTrustedPhone" = "Seleziona un numero di telefono registrato per ricevere il codice di %d cifre via SMS:"; -"NoTrustedPhones" = "Il tuo account non ha dispositivi registrati, ma è richiesto dall'autenticazione a due fattori.\n\Vedi https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "Il tuo account non ha dispositivi registrati, ma è richiesto dall'autenticazione a due fattori.\n\Vedi https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Aggiorna a"; diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index abf1026..5b2be1f 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -114,7 +114,7 @@ "SendSMS" = "SMS を送信"; "EnterDigitCodeDescription" = "%d桁のコードを%@に送信したので入力してください。"; "SelectTrustedPhone" = "信頼できる電話番号を選択し、%d桁のコードをSMSで受信します。"; -"NoTrustedPhones" = "このアカウントに2要素認証に利用する、信頼できる電話番号がありません。\n\n詳しくはこちらをご確認ください。https://support.apple.com/ja-jp/HT204915"; +"NoTrustedPhones" = "このアカウントに2要素認証に利用する、信頼できる電話番号がありません。\n\n詳しくはこちらをご確認ください。https://support.apple.com/HT204915"; // MainWindow "UpdatedAt" = "前回の更新:"; diff --git a/Xcodes/Resources/ko.lproj/Localizable.strings b/Xcodes/Resources/ko.lproj/Localizable.strings index 752d24f..29f1909 100644 --- a/Xcodes/Resources/ko.lproj/Localizable.strings +++ b/Xcodes/Resources/ko.lproj/Localizable.strings @@ -114,7 +114,7 @@ "SendSMS" = "SMS 보내기"; "EnterDigitCodeDescription" = "%@(으)로 전송된 %d 자리 코드를 입력하세요."; "SelectTrustedPhone" = "SMS를 통해 %d 자리 코드를 수신하려면 신뢰할 수 있는 전화번호를 선택하세요."; -"NoTrustedPhones" = "계정에 신뢰할 수 있는 전화번호가 없지만 이중 인증(2FA)에 필요합니다.\n\nhttps://support.apple.com/en-ca/HT204915를 참조하세요."; +"NoTrustedPhones" = "계정에 신뢰할 수 있는 전화번호가 없지만 이중 인증(2FA)에 필요합니다.\n\nhttps://support.apple.com/HT204915를 참조하세요."; // MainWindow "UpdatedAt" = "마지막 업데이트 시점"; diff --git a/Xcodes/Resources/ru.lproj/Localizable.strings b/Xcodes/Resources/ru.lproj/Localizable.strings index e9ebb75..1f78394 100644 --- a/Xcodes/Resources/ru.lproj/Localizable.strings +++ b/Xcodes/Resources/ru.lproj/Localizable.strings @@ -122,7 +122,7 @@ "SendSMS" = "Отправить SMS"; "EnterDigitCodeDescription" = "Введите %d цифровой код, отправленный на %@: "; "SelectTrustedPhone" = "Выберите доверенный номер телефона для получения %d цифрового кода по SMS:"; -"NoTrustedPhones" = "В вашем аккаунтe нет доверенных телефонных номеров, но они необходимы для двухфакторной аутентификации.\n\nСм. https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "В вашем аккаунтe нет доверенных телефонных номеров, но они необходимы для двухфакторной аутентификации.\n\nСм. https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Обновлено в"; diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index cb901ac..abc547c 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -122,7 +122,7 @@ "SendSMS" = "SMS Gönder"; "EnterDigitCodeDescription" = "%@ kaynağından gönderilen %d rakamlı kodu gir: "; "SelectTrustedPhone" = "%d rakamlı kodu SMS olarak almak için güvenilir telefon numarasını seç:"; -"NoTrustedPhones" = "Hesabına tanımlı güvenli bir telefon numarası yok, fakat iki aşamalı doğrulama için gerekmektedir.\n\nDaha fazlası için https://support.apple.com/tr-tr/HT204915 adresine bakın."; +"NoTrustedPhones" = "Hesabına tanımlı güvenli bir telefon numarası yok, fakat iki aşamalı doğrulama için gerekmektedir.\n\nDaha fazlası için https://support.apple.com/HT204915 adresine bakın."; // MainWindow "UpdatedAt" = "Güncellenme Zamanı:"; diff --git a/Xcodes/Resources/uk.lproj/Localizable.strings b/Xcodes/Resources/uk.lproj/Localizable.strings index 33bf2af..19a675f 100644 --- a/Xcodes/Resources/uk.lproj/Localizable.strings +++ b/Xcodes/Resources/uk.lproj/Localizable.strings @@ -113,7 +113,7 @@ "SendSMS" = "Надіслати СМС"; "EnterDigitCodeDescription" = "Введіть %d-значний код відправлений на %@:"; "SelectTrustedPhone" = "Виберіть довірений номер телефону щоб отримати %d-значний код в СМС:"; -"NoTrustedPhones" = "Ваш аккаунт не має перевіреного телефонного номеру, що вимагається для двофакторної авторизації.\n\nДивіться https://support.apple.com/en-ca/HT204915."; +"NoTrustedPhones" = "Ваш аккаунт не має перевіреного телефонного номеру, що вимагається для двофакторної авторизації.\n\nДивіться https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "Оновлено о"; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index 7b991b7..0f15cec 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -122,7 +122,7 @@ "SendSMS" = "发送短信"; "EnterDigitCodeDescription" = "请输入%d位代码,已发送到%@:"; "SelectTrustedPhone" = "请选择一个信任的手机号来从短信接收%d位代码:"; -"NoTrustedPhones" = "您的账户没有任何信任的手机号,但这是两步验证所必须的。\n\n请参阅 https://support.apple.com/en-ca/HT204915。"; +"NoTrustedPhones" = "您的账户没有任何信任的手机号,但这是两步验证所必须的。\n\n请参阅 https://support.apple.com/HT204915。"; // MainWindow "UpdatedAt" = "更新于"; diff --git a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings index 3b2c07c..ba19012 100644 --- a/Xcodes/Resources/zh-Hant.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hant.lproj/Localizable.strings @@ -114,7 +114,7 @@ "SendSMS" = "傳送簡訊"; "EnterDigitCodeDescription" = "請輸入 %d 位數密碼,已傳送至 %@: "; "SelectTrustedPhone" = "請輸入一個你想用來接收 %d 位數密碼簡訊的電話號碼:"; -"NoTrustedPhones" = "你的帳號沒有任何已信任的手機號碼,但兩階段認證需要信任的手機號碼。\n\n請參閱 https://support.apple.com/zh-tw/HT204915."; +"NoTrustedPhones" = "你的帳號沒有任何已信任的手機號碼,但兩階段認證需要信任的手機號碼。\n\n請參閱 https://support.apple.com/HT204915."; // MainWindow "UpdatedAt" = "上一次檢查:"; From 6e8dbbc6def6ec5053b4456952b67b7c0db0da2f Mon Sep 17 00:00:00 2001 From: tt37 Date: Thu, 13 Oct 2022 11:13:28 +0200 Subject: [PATCH 138/180] Fix typo --- Xcodes/Backend/AppState+Install.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index b4ef931..8f3650e 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -513,7 +513,7 @@ public enum InstallationError: LocalizedError, Equatable { case .unexpectedCodeSigningIdentity(let identity, let certificateAuthority): return String(format: localizeString("InstallationError.UnexpectedCodeSigningIdentity"), identity, certificateAuthority, XcodeTeamIdentifier, XcodeCertificateAuthority) case .unsupportedFileFormat(let fileExtension): - return String(format: localizeString("InstallationError.UnsuppoawwrtedFileFormat"), fileExtension) + return String(format: localizeString("InstallationError.UnsupportedFileFormat"), fileExtension) case .missingSudoerPassword: return localizeString("InstallationError.MissingSudoerPassword") case let .unavailableVersion(version): From 502559e7a43852236a9db2d6bc90c4a598d043a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Oct 2022 10:04:21 +0000 Subject: [PATCH 139/180] Bump actions/cache from 3.0.8 to 3.0.11 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.8 to 3.0.11. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.8...v3.0.11) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index ccfe648..fe8b09e 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.8 + uses: actions/cache@v3.0.11 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 093e44c21f14851d5704ab005912010fc11a163b Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 29 Oct 2022 22:51:11 -0500 Subject: [PATCH 140/180] Add new contributing.md --- CONTRIBUTING.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e2e2249 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,43 @@ +# Contributing to Xcodes +We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: + +- Reporting a bug +- Discussing the current state of the code +- Submitting a fix +- Proposing new features +- Becoming a maintainer + +## We Develop with Github +We use github to host code, to track issues and feature requests, as well as accept pull requests. + +## All Code Changes Happen Through Pull Requests +Pull requests are the best way to propose changes to the codebase We actively welcome your pull requests: + +1. Fork the repo and create your branch from `main`. +2. If you've added code that should be tested, add tests. +3. If you've added new functionality, add documentation +4. Ensure the test suite passes. +5. Make sure your code lints. +6. Issue that pull request! + +## Any contributions you make will be under the MIT Software License +In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that's a concern. + +## Report bugs using Github's [issues](https://github.com/robotsandpencils/xcodesapp/issues) +We use GitHub issues to track public bugs. Report a bug by [opening a new issue](); it's that easy! + +## Write bug reports with detail, background, and sample code + +**Great Bug Reports** tend to have: + +- A quick summary and/or background +- Steps to reproduce + - Be specific! +- What you expected would happen +- What actually happens +- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work) + +People *love* thorough bug reports. + +## License +By contributing, you agree that your contributions will be licensed under its MIT License. From 7150bced6301c8c7a9dd6b31de0e11c9cb55c7df Mon Sep 17 00:00:00 2001 From: Bruno Muniz Date: Tue, 28 Jun 2022 02:21:43 -0300 Subject: [PATCH 141/180] Update project.pbxproj --- Xcodes.xcodeproj/project.pbxproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 63ea87c..d81ae86 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -170,6 +170,7 @@ /* Begin PBXFileReference section */ 15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; 25E2FA26284769A00014A318 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 327DF109286ABE6B00D694D5 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; 4A5AAA1D28118FAD00528958 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = ""; }; 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; @@ -721,6 +722,7 @@ de, uk, fi, + "pt-BR", ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -934,6 +936,7 @@ A0187D39285792D1002F46F9 /* de */, 7CBF284E28606D2C001AA66B /* uk */, 5AA8A6102877EDAD009ECDB0 /* fi */, + 327DF109286ABE6B00D694D5 /* pt-BR */, ); name = Localizable.strings; sourceTree = ""; From 513d39d45ec5d806efac782e0a42068bd69e0a2b Mon Sep 17 00:00:00 2001 From: Bruno Muniz Date: Tue, 28 Jun 2022 02:24:44 -0300 Subject: [PATCH 142/180] Add files via upload --- .../Resources/pt-BR.lproj/Localizable.strings | 222 ++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 Xcodes/Resources/pt-BR.lproj/Localizable.strings diff --git a/Xcodes/Resources/pt-BR.lproj/Localizable.strings b/Xcodes/Resources/pt-BR.lproj/Localizable.strings new file mode 100644 index 0000000..68e69cf --- /dev/null +++ b/Xcodes/Resources/pt-BR.lproj/Localizable.strings @@ -0,0 +1,222 @@ +// Menu +"Menu.About" = "Sobre Xcodes"; +"Menu.CheckForUpdates" = "Verificar atualizações..."; +"Menu.Acknowledgements" = "Menções de Xcodes"; +"Menu.GitHubRepo" = "Repositório Xcodes no GitHub"; +"Menu.ReportABug" = "Reportar um bug"; +"Menu.RequestNewFeature" = "Requerir uma nova funcionalidade"; + +// Common +"Install" = "Instalar"; +"InstallDescription" = "Instalar esta versão"; +"RevealInFinder" = "Abrir no Finder"; +"Active" = "Ativo"; +"MakeActive" = "Ativar"; +"Open" = "Abrir"; +"OpenDescription" = "Abrir essa versão"; +"CopyPath" = "Copiar caminho"; +"CreateSymLink" = "Criar Symlink como Xcode.app"; +"Uninstall" = "Desinstalar"; +"Selected" = "Selecionado(s)"; +"Select" = "Selecionar"; +"Cancel" = "Cancelar"; +"Next" = "Próximo"; +"Continue" = "Continuar"; +"Close" = "Fechar"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Builds idênticos"; +"IdenticalBuilds.help" = "As vezes, uma versão pré-lançamento e uma versão de lançamento são exatemente o mesmo build. Xcodes mostrará essas versões juntas automaticamente."; + +"ReleaseDate" = "Data de lançamento"; +"ReleaseNotes" = "Notas de lançamento"; +"ReleaseNotes.help" = "Visualizar notas de lançamento"; +"Compatibility" = "Compatibilidade"; +"MacOSRequirement" = "Necessário macOS %@ ou mais recente"; +"SDKs" = "SDKs"; +"Compilers" = "Compiladores"; +"DownloadSize" = "Tamanho do download"; +"NoXcodeSelected" = "Nenhum Xcode selecionado"; + + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Passo %1$d de %2$d: %3$@"; +"DownloadingPercentDescription" = "Baixando: %d%% finalizado"; +"StopInstallation" = "Interromper instalação"; +"DownloadingError" = "Nenhuma informação de download encontrada"; + +// About +"VersionWithBuild" = "Versão %@ (%@)"; +"GithubRepo" = "Repositório GitHub"; +"Acknowledgements" = "Menções"; +"UnxipExperiment" = "Experimento Unxip"; +"License" = "Licensa"; + +// General Preference Pane +"General" = "Ajustes"; +"AppleID" = "Apple ID"; +"SignIn" = "Entrar"; +"Notifications" = "Notificações"; + +// Updates Preference Pane +"Updates" = "Atualizações"; +"Versions" = "Versões"; +"AutomaticInstallNewVersion" = "Instalar novas versões do Xcode automaticamente"; +"IncludePreRelease" = "Incluir versōes pré-lançamento/beta"; +"AppUpdates" = "Atualizações de Xcodes.app"; +"CheckForAppUpdates" = "Verificar atualizações do app automaticamente"; +"CheckNow" = "Verificar agora"; +"LastChecked" = "Ultima vez verificado: %@"; +"Never" = "Nunca"; + +// Advanced Preference Pane +"Advanced" = "Avançado"; +"LocalCachePath" = "Caminho de caches local"; +"LocalCachePathDescription" = "Xcodes faz caches de versões disponíveis do Xcode e baixa temporariamente estas novas versões para um diretório."; +"Change" = "Alterar"; +"Active/Select" = "Ativo/Selecionar"; +"AutomaticallyCreateSymbolicLink" = "Criar link simbólico para o Xcode.app automaticamente"; +"AutomaticallyCreateSymbolicLinkDescription" = "Quando ativar/selecionar uma versão do Xcode, tentar criar um link simbólico chamado Xcode.app no diretório de instalação"; +"DataSource" = "Fonte de dados"; +"DataSourceDescription" = "A fonte de dados da Apple copia o site Apple Developer. Sempre mostrará os lançamentos mais recentes que estão disponíveis, porém é mais frágil.\n\nLançamentos do Xcode é uma lista de lançamentos do Xcode não-oficial. É provido como dado formatado, contem informação extra que não está prontamente disponível pela Apple, e é menos provável que quebre se a Apple redesenhar o seu site de desenvolvedores."; +"Downloader" = "Baixador"; +"DownloaderDescription" = "aria2 usa até 16 conexões para baixar o Xcode 3-5x mais rápido que URLSession. Está empacotado como um executável junto com o seu código fonte dentro do Xcodes para conformar com a licensa GPLv2.\n\nURLSession é a API padrão da Apple para performar requisições URL."; +"PrivilegedHelper" = "Ajudante privilegiado"; +"PrivilegedHelperDescription" = "Xcodes usa um ajudante privilegiado separado para performar atividades como raiz. São atividades que iriam requerir sudo na linha de comando, incluindo passos pós-instalação e trocar versões do Xcode com xcode-select.\n\nVocê será pedido para instalá-lo na sua conta do macOS."; +"HelperInstalled" = "Ajudante está instalado"; +"HelperNotInstalled" = "Ajudante não está instalado"; +"InstallHelper" = "Instalar ajudante"; + +// Experiment Preference Pane +"Experiments" = "Experiments"; +"FasterUnxip" = "Unxip mais rápido"; +"UseUnxipExperiment" = "Quando performar unxipping, use experiment"; +"FasterUnxipDescription" = "Graças à @_saagarjha, esse experimento pode acelerar o unxip em até 70% para algum sistemas.\n\nMais informações sobre como isso ocorre pode ser encontrada no repositório do unxip - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Acesso autorizado. Você receberá notificações de Xcodes."; +"AccessDenied" = "⚠️ Acesso negado ⚠️\n\nPor favor, abra suas configurações de notificação e selecione Xcodes se você deseja autorizar o acesso."; +"NotificationSettings" = "Configurações de notificação"; +"EnableNotifications" = "Ativar notificações"; + +// SignIn +"SignInWithApple" = "Entrar com o seu Apple ID."; +"AppleID" = "AppleID:"; +"Password" = "Senha:"; +"Required" = "Obrigatório"; +"SignOut" = "Sair"; + +// SMS/2FA +"DigitCodeDescription" = "Insira o código de %d dígitos de um de seus dispositivos confiáveis:"; +"SendSMS" = "Enviar SMS"; +"EnterDigitCodeDescription" = "Insira o código de %d dígitos enviado para %@: "; +"SelectTrustedPhone" = "Selecione um número de telefone confiável para receber um código de %d dígitos via SMS:"; +"NoTrustedPhones" = "Sua conta não possui nenhum telefone confiável, mas é necessário para autenticação de dois fatores.\n\nVer https://support.apple.com/en-ca/HT204915."; + +// MainWindow +"UpdatedAt" = "Atualizado em"; + +// ToolBar +"Login" = "Login"; +"LoginDescription" = "Abrir login"; +"Refresh" = "Atualizar"; +"RefreshDescription" = "Atualizar lista de Xcode"; +"All" = "Todos"; +"Release" = "Release"; +"ReleaseOnly" = "Somente release"; +"Beta" = "Beta"; +"BetaOnly" = "Somente beta"; +"Filter" = "Filtrar"; +"FilterAvailableDescription" = "Filtrar versões disponíveis"; +"FilterInstalledDescription" = "Filtrar versões instaladas"; +"Info" = "Informação"; +"InfoDescription" = "Mostrar ou esconder o painel de informações"; +"Preferences" = "Preferências"; +"PreferencesDescription" = "Abrir preferências"; +"Search" = "Procurar..."; +"SearchDescription" = "Lista de procura"; + +// List +"ActiveVersionDescription" = "Essa é a versão ativa"; +"MakeActiveVersionDescription" = "Ativar esta versão"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Desinstalar Xcode %@?"; +"Alert.Uninstall.Message" = "Será movido para a lixeira, mas não será esvaziada."; +"Alert.Uninstall.Error.Title" = "Não foi possível desinstalar o Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "Tem certeza que deseja interromper a instalação do Xcode %@?"; +"Alert.CancelInstall.Message" = "Todo progresso será descartado."; +"Alert.CancelInstall.PrimaryButton" = "Interromper instalação"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Ajudante privilegiado"; +"Alert.PrivilegedHelper.Message" = "Xcodes usa um ajudante privilegiado separado para realizar tarefas como root (raíz). São tarefas onde seria necessário permissão de super usuário (sudo) na linha de comando, incluindo comandos de pós-instalação e trocar versões de Xcode com xcode-select.\n\nVocê deverá inserir sua senha do macOS para instalá-lo."; +"Alert.PrivilegedHelper.Error.Title" = "Não foi possível instalar o ajudante"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Requerimentos mínimos não satisfeitos."; +"Alert.MinSupported.Message" = "Xcode %@ requere MacOS %@, mas você está rodando MacOS %@, você ainda quer instalá-lo?"; + +// Install +"Alert.Install.Error.Title" = "Não foi possível instalar o Xcode"; +"Alert.InstallArchive.Error.Title" = "Não foi possível instalar o Xcode arquivado"; + +// Update +"Alert.Update.Error.Title" = "Não foi possível atualizar o Xcode selecionado"; + +// Active/Select +"Alert.Select.Error.Title" = "Não foi possível selecionar Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Não foi possível criar link simbólico"; +"Alert.SymLink.Message" = "Xcode.app existe e não é um link simbólico"; + +// Post install +"Alert.PostInstall.Title" = "Não foi possível realizar os comandos de pós-instalação"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "O arquivamento \"%@\" está danificado e não pode ser expandido."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "O arquivamento \"%@\" não pode ser expandido porquê o volume atual não possui espaço disponível o suficiente.\n\nLibere espaço para expandir o arquivamento e então instale o Xcode %@ novamente para iniciar uma instalação de onde você parou."; +"InstallationError.FailedToMoveXcodeToApplications" = "Falha ao mover Xcode para o diretório: %@"; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ falhou suas checagens de segurança com a seguinte saída:\n%@\nAinda está instalado em %@ se você deseja usar ainda assim."; +"InstallationError.CodesignVerifyFailed" = "O Xcode baixado falhou a verificação de assinatura de código (code signing) com a seguinte saída:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "O Xcode baixado não possui a identidade de assinatura de código esperada.\nPossui:\n%@\n%@\nEsperada:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes (ainda) não suporta instalação de Xcode no formato de arquivo %@."; +"InstallationError.MissingSudoerPassword" = "Faltando senha. Por favor, tente novamente."; +"InstallationError.UnavailableVersion" = "Não foi possível encontrar versão %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Nenhuma versão não-pré-lançamento disponível."; +"InstallationError.NoPrereleaseVersionAvailable" = "Nenhuma versão de pré-lançamento disponível."; +"InstallationError.MissingUsernameOrPassword" = "Faltando usuário ou senha. Por favor, tente novamente."; +"InstallationError.VersionAlreadyInstalled" = "%@ já está instalada em %@"; +"InstallationError.InvalidVersion" = "%@ não é uma versão válida."; +"InstallationError.VersionNotInstalled" = "%@ não está instalada."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "A instalação foi completada, mas alguns passos de pós-instalação não puderam ser performados automaticamente. Estes serão performados quando você rodar o Xcode %@ pela primeira vez."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "A instalação foi completada, mas alguns passos de pós-instalação não puderam ser performados automaticamente. Xcodes performa estes passos com o ajudante privilegiado, que aparentemente não está instalado. Você pode instalá-lo em Preferências > Avançado.\n\nEstes passos serão performados quando você rodar o Xcode %@ pela primeira vez."; + +// Installation Steps +"Downloading" = "Baixando"; +"Unarchiving" = "Desarquivando (Pode demorar um pouco)"; +"Moving" = "Movendo para %@"; +"TrashingArchive" = "Movendo arquivo para a lixeira"; +"CheckingSecurity" = "Verificação de segurança"; +"Finishing" = "Finalizando"; + +// Notifications +"Notification.NewVersionAvailable" = "Nova versão disponível"; +"Notification.FinishedInstalling" = "Instalação finalizada"; + + +"HelperClient.error" = "Não foi possível se comunicar com o ajudante."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Novas versões do Xcode"; +"Notification.NewXcodeVersion.Body" = "Novas versões do Xcode estão disponíveis para baixar"; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Feliz WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From 5be971cc8e76febb928f2ad91fb4a6c0a5d265b8 Mon Sep 17 00:00:00 2001 From: Bruno Muniz Azevedo Filho Date: Wed, 9 Nov 2022 23:24:59 -0300 Subject: [PATCH 143/180] updated readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 965dcb8..99d7ea6 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ The following languages are supported because of the following community users! |Hindi 🇮🇳 |[@KGurpreet](https://github.com/KGurpreet)|Chinese-Simplified 🇨🇳|[@megabitsenmzq](https://github.com/megabitsenmzq)| |Finnish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇹🇼|[@itszero](https://github.com/itszero)| |Ukranian 🇺🇦 |[@gelosi](https://github.com/gelosi)|Japanese 🇯🇵|[@tatsuz0u](https://github.com/tatsuz0u)| -|German 🇩🇪|[@drct](https://github.com/drct)|| +|German 🇩🇪|[@drct](https://github.com/drct)|Brazilian Portuguese 🇧🇷|[@brunomunizaf](https://github.com/brunomunizaf)| Want to add more languages? Simply create a PR with the updated strings file. ## Installation From e533012ea065355085b0f03125e4bdb9cb3ac2eb Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Fri, 11 Nov 2022 10:40:03 +0100 Subject: [PATCH 144/180] adding DownloadPreferencePane to project --- Xcodes.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 63ea87c..6b019b0 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 36741BFD291E4FDB00A85AAE /* DownloadPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36741BFC291E4FDB00A85AAE /* DownloadPreferencePane.swift */; }; 536CFDD2263C94DE00026CE0 /* SignedInView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536CFDD1263C94DE00026CE0 /* SignedInView.swift */; }; 536CFDD4263C9A8000026CE0 /* XcodesSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */; }; 53CBAB2C263DCC9100410495 /* XcodesAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */; }; @@ -170,6 +171,7 @@ /* Begin PBXFileReference section */ 15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; 25E2FA26284769A00014A318 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 36741BFC291E4FDB00A85AAE /* DownloadPreferencePane.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadPreferencePane.swift; sourceTree = ""; }; 4A5AAA1D28118FAD00528958 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = ""; }; 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; @@ -588,6 +590,7 @@ isa = PBXGroup; children = ( CAFE4AB325B7D3AF0064FE51 /* AdvancedPreferencePane.swift */, + 36741BFC291E4FDB00A85AAE /* DownloadPreferencePane.swift */, CAFE4AAB25B7D2C70064FE51 /* GeneralPreferencePane.swift */, CAFE4ABB25B7D54B0064FE51 /* UpdatesPreferencePane.swift */, E8977EA225C11E1500835F80 /* PreferencesView.swift */, @@ -848,6 +851,7 @@ CA9FF84E2595079F00E47BAF /* ScrollingTextView.swift in Sources */, CABFA9C12592EEEA00380FEE /* Version+.swift in Sources */, E8D655C0288DD04700A139C2 /* SelectedActionType.swift in Sources */, + 36741BFD291E4FDB00A85AAE /* DownloadPreferencePane.swift in Sources */, CA9FF8522595080100E47BAF /* AcknowledgementsView.swift in Sources */, CABFA9CE2592EEEA00380FEE /* Version+Xcode.swift in Sources */, CAFBDB912598FE80003DCC5A /* SelectedXcode.swift in Sources */, From d31065e55ef9b9a190ec8ab2b36720267f8b93ae Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Fri, 11 Nov 2022 10:44:40 +0100 Subject: [PATCH 145/180] add FileError.swift to project --- Xcodes.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 63ea87c..d1226ca 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 36741BFF291E50F500A85AAE /* FileError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36741BFE291E50F500A85AAE /* FileError.swift */; }; 536CFDD2263C94DE00026CE0 /* SignedInView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536CFDD1263C94DE00026CE0 /* SignedInView.swift */; }; 536CFDD4263C9A8000026CE0 /* XcodesSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */; }; 53CBAB2C263DCC9100410495 /* XcodesAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */; }; @@ -170,6 +171,7 @@ /* Begin PBXFileReference section */ 15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; 25E2FA26284769A00014A318 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 36741BFE291E50F500A85AAE /* FileError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileError.swift; sourceTree = ""; }; 4A5AAA1D28118FAD00528958 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = ""; }; 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = ""; }; @@ -456,6 +458,7 @@ CAA858C325A2BE4E00ACF8C0 /* Downloader.swift */, CABFA9B22592EEEA00380FEE /* Entry+.swift */, CABFA9A92592EEE900380FEE /* Environment.swift */, + 36741BFE291E50F500A85AAE /* FileError.swift */, CABFA9B82592EEEA00380FEE /* FileManager+.swift */, CAFBDB942598FE96003DCC5A /* FocusedValues.swift */, CABFA9AC2592EEE900380FEE /* Foundation.swift */, @@ -838,6 +841,7 @@ CAA1CB45255A5B60003FD669 /* SignIn2FAView.swift in Sources */, CABFA9C52592EEEA00380FEE /* FileManager+.swift in Sources */, CABFA9CD2592EEEA00380FEE /* Foundation.swift in Sources */, + 36741BFF291E50F500A85AAE /* FileError.swift in Sources */, CA9FF8872595607900E47BAF /* InstalledXcode.swift in Sources */, 53CBAB2C263DCC9100410495 /* XcodesAlert.swift in Sources */, CA42DD6E25AEA8B200BC0B0C /* Logger.swift in Sources */, From 2d748a1a2af26a2472d4869c56f37c53c170a705 Mon Sep 17 00:00:00 2001 From: Danny Kirkham Date: Fri, 11 Nov 2022 19:05:01 +0000 Subject: [PATCH 146/180] Improve Spanish strings in Preferences I've not added all the missing ones but this fills some of them in, including some corrections --- Xcodes/Resources/es.lproj/Localizable.strings | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Xcodes/Resources/es.lproj/Localizable.strings b/Xcodes/Resources/es.lproj/Localizable.strings index eec9ea6..b11df1d 100644 --- a/Xcodes/Resources/es.lproj/Localizable.strings +++ b/Xcodes/Resources/es.lproj/Localizable.strings @@ -76,7 +76,7 @@ "Downloads" = "Descargas"; "DataSource" = "Fuente de datos"; "DataSourceDescription" = "La fuente de datos de Apple la extrae de el sitio web de Apple Developer. Siempre mostrará los últimos lanzamientos disponibles, pero es más frágil.\n\nXcode Releases es una lista no oficial de lanzamientos de Xcode. Se proporciona como datos bien estructurados, contiene información adicional que no está disponible fácilmente en Apple y es menos probable que se rompa si Apple rediseña su sitio web para desarrolladores."; -"Downloader" = "Downloader"; +"Downloader" = "Descargador"; "DownloaderDescription" = "aria2 usa hasta 16 conexiones para descargar Xcode de 3 a 5 veces más rápido que URLSession. Se incluye como un ejecutable junto con su código fuente dentro de Xcodes para cumplir con su licencia GPLv2.\n\nURLSession es la API predeterminada de Apple para realizar solicitudes de URL."; // Advanced Preference Pane @@ -85,6 +85,10 @@ "LocalCachePathDescription" = "Xcodes almacena en caché versiones de Xcode disponibles y descargas temporalmente las nuevas versiones en un directorio"; "Change" = "Cambiar"; "Active/Select" = "Activar/Seleccionar"; +"InstallDirectory" = "Directorio de instalación"; + +"OnSelectDoNothing" = "Mantener el nombre como Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "Al seleccionar, mantener el nombre como la versión p.ej. Xcode-13.4.1.app"; "AutomaticallyCreateSymbolicLink" = "Crear automáticamente enlace simbólico a Xcode.app"; "AutomaticallyCreateSymbolicLinkDescription" = "Al activar/seleccionar una versión de Xcode, intentará crear un enlace simbólico llamado Xcode.app en el directorio de instalación."; "PrivilegedHelper" = "Asistente privilegiado"; @@ -94,13 +98,13 @@ "InstallHelper" = "Instalar Asistente"; // Experiment Preference Pane -"Experiments" = "Experiments"; +"Experiments" = "Experimentos"; "FasterUnxip" = "Unxip más rápido"; -"UseUnxipExperiment" = "Al descomprimir, use experiment"; +"UseUnxipExperiment" = "Al descomprimir, usar experimento"; "FasterUnxipDescription" = "Gracias a @_saagarjha, este experimento puede aumentar la velocidad de liberación hasta en un 70 % para algunos sistemas.\n\nPuede ver más información sobre cómo se logra esto en el repositorio de unxip: https://github.com/saagarjha/unxip"; // Notifications -"AccessGranted" = "Access Permitido. Recibirás notificaciones de Xcodes."; +"AccessGranted" = "Acceso Permitido. Recibirás notificaciones de Xcodes."; "AccessDenied" = "⚠️ Acceso Denegado ⚠️\n\nPor favor abra su Configuración de notificaciones y seleccione Xcodes si desea permitir el acceso."; "NotificationSettings" = "Configuración de las notificaciones"; "EnableNotifications" = "Permitir notificaciones"; From a0a74ed5bf18422e744f69d2dd3c1d3c7bc1e129 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 17 Nov 2022 22:39:38 -0600 Subject: [PATCH 147/180] Switch Xcode releases back to using Apple Auth :( --- Xcodes/Backend/AppState+Install.swift | 20 ++++++++++---------- Xcodes/Backend/AppState.swift | 3 ++- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index 8f3650e..ccf637d 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -43,7 +43,10 @@ extension AppState { Logger.appState.info("Using \(downloader) downloader") - return self.getXcodeArchive(installationType, downloader: downloader) + return validateSession() + .flatMap { _ in + self.getXcodeArchive(installationType, downloader: downloader) + } .flatMap { xcode, url -> AnyPublisher in self.installArchivedXcode(xcode, at: url) } @@ -93,15 +96,12 @@ extension AppState { } private func downloadXcode(availableXcode: AvailableXcode, downloader: Downloader) -> AnyPublisher<(AvailableXcode, URL), Error> { - return validateADCSession(path: availableXcode.downloadPath) - .flatMap { _ in - return self.downloadOrUseExistingArchive(for: availableXcode, downloader: downloader, progressChanged: { [unowned self] progress in - DispatchQueue.main.async { - self.setInstallationStep(of: availableXcode.version, to: .downloading(progress: progress)) - } - }) - .map { return (availableXcode, $0) } - } + self.downloadOrUseExistingArchive(for: availableXcode, downloader: downloader, progressChanged: { [unowned self] progress in + DispatchQueue.main.async { + self.setInstallationStep(of: availableXcode.version, to: .downloading(progress: progress)) + } + }) + .map { return (availableXcode, $0) } .eraseToAnyPublisher() } diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index a098642..bf25352 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -381,7 +381,7 @@ class AppState: ObservableObject { case .apple: install(id: id) case .xcodeReleases: - installWithoutLogin(id: id) + install(id: id) } } @@ -454,6 +454,7 @@ class AppState: ObservableObject { } /// Skips using the username/password to log in to Apple, and simply gets a Auth Cookie used in downloading + /// As of Nov 2022 this was returning a 403 forbidden func installWithoutLogin(id: Xcode.ID) { guard let availableXcode = availableXcodes.first(where: { $0.version == id }) else { return } From f8ec0a37fe9e23a963c7515ccd0329eb3ef87956 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Tue, 22 Nov 2022 21:42:55 -0600 Subject: [PATCH 148/180] Bump version 1.9.0 --- Xcodes.xcodeproj/project.pbxproj | 14 +++++++------- Xcodes/Resources/Licenses.rtf | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index f11c36f..3e5a3d8 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -172,7 +172,7 @@ /* Begin PBXFileReference section */ 15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; 25E2FA26284769A00014A318 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 327DF109286ABE6B00D694D5 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 327DF109286ABE6B00D694D5 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; 36741BFC291E4FDB00A85AAE /* DownloadPreferencePane.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadPreferencePane.swift; sourceTree = ""; }; 36741BFE291E50F500A85AAE /* FileError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileError.swift; sourceTree = ""; }; 4A5AAA1D28118FAD00528958 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; @@ -1026,7 +1026,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 16; + CURRENT_PROJECT_VERSION = 17; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -1036,7 +1036,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.8.0; + MARKETING_VERSION = 1.9.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1267,7 +1267,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 16; + CURRENT_PROJECT_VERSION = 17; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1277,7 +1277,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.8.0; + MARKETING_VERSION = 1.9.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1291,7 +1291,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 16; + CURRENT_PROJECT_VERSION = 17; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1301,7 +1301,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.8.0; + MARKETING_VERSION = 1.9.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Licenses.rtf b/Xcodes/Resources/Licenses.rtf index 68f9b51..93bc0ff 100644 --- a/Xcodes/Resources/Licenses.rtf +++ b/Xcodes/Resources/Licenses.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2638 +{\rtf1\ansi\ansicpg1252\cocoartf2639 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} From b4a4f8e3298e25ed27eb5aa1c2e7424dc024fe93 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 5 Dec 2022 23:08:44 -0600 Subject: [PATCH 149/180] Adds open in Rosetta option for Apple Silicon machines --- Xcodes.xcodeproj/project.pbxproj | 4 +++ Xcodes/Backend/AppState.swift | 25 ++++++++++++----- Xcodes/Backend/Hardware.swift | 28 +++++++++++++++++++ Xcodes/Backend/XcodeCommands.swift | 26 ++++++++++++++--- .../Preferences/AdvancedPreferencePane.swift | 10 +++++++ Xcodes/Resources/en.lproj/Localizable.strings | 3 ++ 6 files changed, 85 insertions(+), 11 deletions(-) create mode 100644 Xcodes/Backend/Hardware.swift diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 3e5a3d8..c8ca65c 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -104,6 +104,7 @@ CAFFFED8259CDA5000903F81 /* XcodeListViewRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFFFED7259CDA5000903F81 /* XcodeListViewRow.swift */; }; E81D7EA02805250100A205FC /* Collection+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E81D7E9F2805250100A205FC /* Collection+.swift */; }; E872EE4E2808D4F100D3DD8B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E872EE502808D4F100D3DD8B /* Localizable.strings */; }; + E87AB3C52939B65E00D72F43 /* Hardware.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87AB3C42939B65E00D72F43 /* Hardware.swift */; }; E87DD6EB25D053FA00D86808 /* Progress+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87DD6EA25D053FA00D86808 /* Progress+.swift */; }; E89342FA25EDCC17007CF557 /* NotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E89342F925EDCC17007CF557 /* NotificationManager.swift */; }; E8977EA325C11E1500835F80 /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8977EA225C11E1500835F80 /* PreferencesView.swift */; }; @@ -297,6 +298,7 @@ E2AFDCCA28F024D000864ADD /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; E81D7E9F2805250100A205FC /* Collection+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+.swift"; sourceTree = ""; }; E872EE4F2808D4F100D3DD8B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + E87AB3C42939B65E00D72F43 /* Hardware.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Hardware.swift; sourceTree = ""; }; E87DD6EA25D053FA00D86808 /* Progress+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Progress+.swift"; sourceTree = ""; }; E89342F925EDCC17007CF557 /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = ""; }; E8977EA225C11E1500835F80 /* PreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = ""; }; @@ -489,6 +491,7 @@ E87DD6EA25D053FA00D86808 /* Progress+.swift */, E81D7E9F2805250100A205FC /* Collection+.swift */, E8D655BF288DD04700A139C2 /* SelectedActionType.swift */, + E87AB3C42939B65E00D72F43 /* Hardware.swift */, ); path = Backend; sourceTree = ""; @@ -877,6 +880,7 @@ CAC281CD259F97FA00B8AB0B /* ObservingProgressIndicator.swift in Sources */, CABFA9C22592EEEA00380FEE /* Publisher+Resumable.swift in Sources */, CAFBDC68259A308B003DCC5A /* InfoPane.swift in Sources */, + E87AB3C52939B65E00D72F43 /* Hardware.swift in Sources */, CAA1CB4D255A5CFD003FD669 /* SignInPhoneListView.swift in Sources */, CAFBDC6C259A3098003DCC5A /* View+Conditional.swift in Sources */, CABFA9CF2592EEEA00380FEE /* Process.swift in Sources */, diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 39c57a8..ebd44b5 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -93,7 +93,12 @@ class AppState: ObservableObject { } } } - + + @Published var showOpenInRosettaOption = false { + didSet { + Current.defaults.set(showOpenInRosettaOption, forKey: "showOpenInRosettaOption") + } + } // MARK: - Publisher Cancellables var cancellables = Set() @@ -142,6 +147,7 @@ class AppState: ObservableObject { createSymLinkOnSelect = Current.defaults.bool(forKey: "createSymLinkOnSelect") ?? false onSelectActionType = SelectedActionType(rawValue: Current.defaults.string(forKey: "onSelectActionType") ?? "none") ?? .none installPath = Current.defaults.string(forKey: "installPath") ?? Path.defaultInstallDirectory.string + showOpenInRosettaOption = Current.defaults.bool(forKey: "showOpenInRosettaOption") ?? false } // MARK: Timer @@ -585,13 +591,18 @@ class AppState: ObservableObject { ) } - func open(xcode: Xcode) { + func open(xcode: Xcode, openInRosetta: Bool? = false) { switch xcode.installState { - case let .installed(path): - NSWorkspace.shared.openApplication(at: path.url, configuration: .init()) - default: - Logger.appState.error("\(xcode.id) is not installed") - return + case let .installed(path): + let config = NSWorkspace.OpenConfiguration.init() + if (openInRosetta ?? false) { + config.architecture = CPU_TYPE_X86_64 + } + config.allowsRunningApplicationSubstitution = false + NSWorkspace.shared.openApplication(at: path.url, configuration: config) + default: + Logger.appState.error("\(xcode.id) is not installed") + return } } diff --git a/Xcodes/Backend/Hardware.swift b/Xcodes/Backend/Hardware.swift new file mode 100644 index 0000000..0f7601b --- /dev/null +++ b/Xcodes/Backend/Hardware.swift @@ -0,0 +1,28 @@ +import Foundation + + +struct Hardware { + + /// + /// Determines the architecture of the Mac on which we're running. Returns `arm64` for Apple Silicon + /// and `x86_64` for Intel-based Macs or `nil` if the system call fails. + static func getMachineHardwareName() -> String? + { + var sysInfo = utsname() + let retVal = uname(&sysInfo) + var finalString: String? = nil + + if retVal == EXIT_SUCCESS + { + let bytes = Data(bytes: &sysInfo.machine, count: Int(_SYS_NAMELEN)) + finalString = String(data: bytes, encoding: .utf8) + } + + // _SYS_NAMELEN will include a billion null-terminators. Clear those out so string comparisons work as you expect. + return finalString?.trimmingCharacters(in: CharacterSet(charactersIn: "\0")) + } + + static func isAppleSilicon() -> Bool { + return Hardware.getMachineHardwareName() == "arm64" + } +} diff --git a/Xcodes/Backend/XcodeCommands.swift b/Xcodes/Backend/XcodeCommands.swift index b02cf60..76e9924 100644 --- a/Xcodes/Backend/XcodeCommands.swift +++ b/Xcodes/Backend/XcodeCommands.swift @@ -92,16 +92,34 @@ struct OpenButton: View { @EnvironmentObject var appState: AppState let xcode: Xcode? + var openInRosetta: Bool { + appState.showOpenInRosettaOption && Hardware.isAppleSilicon() + } + var body: some View { - Button(action: open) { - Text("Open") + if openInRosetta { + Menu("Open") { + Button(action: open) { + Text("Open") + } + .help("Open") + Button(action: open) { + Text("Open In Rosetta") + } + .help("Open In Rosetta") + } + } else { + Button(action: open) { + Text("Open") + } + .help("Open") } - .help("Open") + } private func open() { guard let xcode = xcode else { return } - appState.open(xcode: xcode) + appState.open(xcode: xcode, openInRosetta: openInRosetta) } } diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 439f55a..21d6b8c 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -106,6 +106,16 @@ struct AdvancedPreferencePane: View { } .groupBoxStyle(PreferencesGroupBoxStyle()) + if Hardware.isAppleSilicon() { + GroupBox(label: Text("Apple Silicon")) { + Toggle("ShowOpenInRosetta", isOn: $appState.showOpenInRosettaOption) + .disabled(appState.createSymLinkOnSelectDisabled) + Text("ShowOpenInRosettaDescription") + .font(.footnote) + .fixedSize(horizontal: false, vertical: true) + } + .groupBoxStyle(PreferencesGroupBoxStyle()) + } GroupBox(label: Text("PrivilegedHelper")) { VStack(alignment: .leading, spacing: 8) { diff --git a/Xcodes/Resources/en.lproj/Localizable.strings b/Xcodes/Resources/en.lproj/Localizable.strings index a4a685d..59a8676 100644 --- a/Xcodes/Resources/en.lproj/Localizable.strings +++ b/Xcodes/Resources/en.lproj/Localizable.strings @@ -102,6 +102,9 @@ "HelperNotInstalled" = "Helper is not installed"; "InstallHelper" = "Install helper"; +"ShowOpenInRosetta" = "Show Open In Rosetta option"; +"ShowOpenInRosettaDescription" = "Open in Rosetta option will show where other \"Open\" functions are available. Note: This will only show for Apple Silicon machines."; + // Experiment Preference Pane "Experiments" = "Experiments"; "FasterUnxip" = "Faster Unxip"; From b56a73c8feba555aedf28704c1ca30e58419a88c Mon Sep 17 00:00:00 2001 From: Yusaku Nishi Date: Sat, 10 Dec 2022 23:10:27 +0900 Subject: [PATCH 150/180] Add missing localizations for Japanese --- Xcodes/Resources/ja.lproj/Localizable.strings | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Xcodes/Resources/ja.lproj/Localizable.strings b/Xcodes/Resources/ja.lproj/Localizable.strings index 0751472..90aa86f 100644 --- a/Xcodes/Resources/ja.lproj/Localizable.strings +++ b/Xcodes/Resources/ja.lproj/Localizable.strings @@ -102,6 +102,9 @@ "HelperNotInstalled" = "未インストール"; "InstallHelper" = "ヘルパーのインストール"; +"ShowOpenInRosetta" = "Rosettaで開くオプションを表示する"; +"ShowOpenInRosettaDescription" = "Rosettaで開くオプションは \"開く\" 機能が利用できる場所に表示されます。注意: これはApple Siliconマシンにのみ表示されます。"; + // Experiment Preference Pane "Experiments" = "試験的な機能"; "FasterUnxip" = "高速な Unxip"; @@ -160,6 +163,7 @@ "Alert.Uninstall.Title" = "Xcode %@ をアンインストールしてもよろしいですか?"; "Alert.Uninstall.Message" = "ゴミ箱に移動されますが、ゴミ箱を自動的に空にすることはありません。"; "Alert.Uninstall.Error.Title" = "Xcode をアンインストールできませんでした"; +"Alert.Uninstall.Error.Message.FileNotFound" = "ファイル \"%@\" が見つかりませんでした。"; // Cancel Install "Alert.CancelInstall.Title" = "Xcode %@ のインストールを中止してもよろしいですか?"; From 550d917b334c29fba38f8760bf0aaf5cf7901daf Mon Sep 17 00:00:00 2001 From: Yossi Zahn Date: Sun, 18 Dec 2022 00:29:33 +0200 Subject: [PATCH 151/180] Fix #329 --- Xcodes/Backend/DateFormatter+.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Xcodes/Backend/DateFormatter+.swift b/Xcodes/Backend/DateFormatter+.swift index 5aed8ab..a0073de 100644 --- a/Xcodes/Backend/DateFormatter+.swift +++ b/Xcodes/Backend/DateFormatter+.swift @@ -6,6 +6,7 @@ extension DateFormatter { let formatter = DateFormatter() formatter.dateFormat = "MM/dd/yy HH:mm" formatter.locale = Locale(identifier: "en_US_POSIX") + formatter.calendar = .init(identifier: .iso8601) return formatter }() From 816c00460d8711dc17ff0c2435ff6930bd0253b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Dec 2022 10:01:42 +0000 Subject: [PATCH 152/180] Bump actions/cache from 3.0.11 to 3.2.2 Bumps [actions/cache](https://github.com/actions/cache) from 3.0.11 to 3.2.2. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.11...v3.2.2) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index fe8b09e..e4d0ccd 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.0.11 + uses: actions/cache@v3.2.2 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 834dd9807a0601a8af3b284af04158eca64266ab Mon Sep 17 00:00:00 2001 From: Ege Sucu Date: Tue, 10 Jan 2023 00:43:23 +0300 Subject: [PATCH 153/180] Updating the username --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a68212..66e97cf 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ The following languages are supported because of the following community users! |-|-|-|-| |French 🇫🇷 |[@dompepin](https://github.com/dompepin)|Italian 🇮🇹 |[gualtierofrigerio](https://github.com/gualtierofrigerio)| |Spanish 🇪🇸🇲 |[@cesartru88](https://github.com/cesartru88)|Korean 🇰🇷 |[@ryan-son](https://github.com/ryan-son)| -|Russian 🇷🇺 |[@alexmazlov](https://github.com/alexmazlov)|Turkish 🇹🇷 |[@egrimo](https://github.com/egrimo)| +|Russian 🇷🇺 |[@alexmazlov](https://github.com/alexmazlov)|Turkish 🇹🇷 |[@egesucu](https://github.com/egesucu)| |Hindi 🇮🇳 |[@KGurpreet](https://github.com/KGurpreet)|Chinese-Simplified 🇨🇳|[@megabitsenmzq](https://github.com/megabitsenmzq)| |Finnish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇹🇼|[@itszero](https://github.com/itszero)| |Ukranian 🇺🇦 |[@gelosi](https://github.com/gelosi)|Japanese 🇯🇵|[@tatsuz0u](https://github.com/tatsuz0u)| From 7eb5a8f0734d7838bcb69be661c80787ed3f67c3 Mon Sep 17 00:00:00 2001 From: Felix Herrmann Date: Mon, 16 Jan 2023 17:52:26 +0100 Subject: [PATCH 154/180] fix Ventura toolbar placement --- Xcodes/Frontend/XcodeList/MainToolbar.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Xcodes/Frontend/XcodeList/MainToolbar.swift b/Xcodes/Frontend/XcodeList/MainToolbar.swift index dcff73a..69a48f2 100644 --- a/Xcodes/Frontend/XcodeList/MainToolbar.swift +++ b/Xcodes/Frontend/XcodeList/MainToolbar.swift @@ -13,12 +13,12 @@ struct MainToolbarModifier: ViewModifier { } private var toolbar: some ToolbarContent { - ToolbarItemGroup(placement: .status) { + ToolbarItemGroup { Button(action: { appState.presentedSheet = .signIn }, label: { Label("Login", systemImage: "person.circle") }) .help("LoginDescription") - + ProgressButton( isInProgress: appState.isUpdating, action: appState.update @@ -85,7 +85,7 @@ struct MainToolbarModifier: ViewModifier { } .keyboardShortcut(KeyboardShortcut("i", modifiers: [.command, .option])) .help("InfoDescription") - + Button(action: { if #available(macOS 13, *) { NSApp.sendAction(Selector(("showSettingsWindow:")), to: nil, from: nil) From c496238fb91a8ffcff4613c3207b944a68db9473 Mon Sep 17 00:00:00 2001 From: Felix Herrmann Date: Mon, 16 Jan 2023 17:53:19 +0100 Subject: [PATCH 155/180] fix Ventura status bar spacing --- .../Frontend/XcodeList/BottomStatusBar.swift | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Xcodes/Frontend/XcodeList/BottomStatusBar.swift b/Xcodes/Frontend/XcodeList/BottomStatusBar.swift index ed74fe6..cd38c3b 100644 --- a/Xcodes/Frontend/XcodeList/BottomStatusBar.swift +++ b/Xcodes/Frontend/XcodeList/BottomStatusBar.swift @@ -9,27 +9,27 @@ import Foundation import SwiftUI - struct BottomStatusModifier: ViewModifier { @EnvironmentObject var appState: AppState func body(content: Content) -> some View { - content VStack(spacing: 0) { - Divider() - HStack { - Text(appState.bottomStatusBarMessage) - .font(.subheadline) - Spacer() - Text(Bundle.main.shortVersion!) - .font(.subheadline) + content + VStack(spacing: 0) { + Divider() + HStack { + Text(appState.bottomStatusBarMessage) + .font(.subheadline) + Spacer() + Text(Bundle.main.shortVersion!) + .font(.subheadline) + } + .frame(maxWidth: .infinity, maxHeight: 30, alignment: .leading) + .padding([.leading, .trailing], 10) } .frame(maxWidth: .infinity, maxHeight: 30, alignment: .leading) - .padding([.leading, .trailing], 10) } - .frame(maxWidth: .infinity, maxHeight: 30, alignment: .leading) } - } extension View { From f20ba75384620ded506bd4bc945a08e2413e9ea2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 Jan 2023 10:01:12 +0000 Subject: [PATCH 156/180] Bump actions/cache from 3.2.2 to 3.2.4 Bumps [actions/cache](https://github.com/actions/cache) from 3.2.2 to 3.2.4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.2.2...v3.2.4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index e4d0ccd..880e5d6 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.2.2 + uses: actions/cache@v3.2.4 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 7e459f89336eb850bd21a01869a206961297332c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Feb 2023 10:56:59 +0000 Subject: [PATCH 157/180] Bump actions/cache from 3.2.4 to 3.2.5 Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.2.4...v3.2.5) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 880e5d6..876b598 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.2.4 + uses: actions/cache@v3.2.5 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 9452db4749c487cb57fd914aadc322dfe9e4642a Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Tue, 14 Feb 2023 23:07:16 -0600 Subject: [PATCH 158/180] Update unxip binary to 1.1.3 --- Xcodes/Resources/unxip | Bin 551554 -> 595666 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Xcodes/Resources/unxip b/Xcodes/Resources/unxip index d8ce15e9b00a971731f995ab46c4c8a41e70f2f1..022d50d8921a8c492dc1b996d227a57548e827a4 100755 GIT binary patch literal 595666 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®W_RQb>jQqSC?EIz5PtD46=jTQ(KaSPs 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 literal 551554 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 Date: Tue, 21 Feb 2023 10:57:00 +0000 Subject: [PATCH 159/180] Bump actions/cache from 3.2.5 to 3.2.6 Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.2.6. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.2.5...v3.2.6) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 876b598..8f4e76a 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.2.5 + uses: actions/cache@v3.2.6 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From 29503ad9cf84dd98b37861b1f8317e524b0007da Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 23 Feb 2023 23:04:31 -0600 Subject: [PATCH 160/180] Testing Hashcash --- .../AppleAPI/Sources/AppleAPI/Hashcash.swift | 127 ++++++++++++++++++ Xcodes/AppleAPI/Sources/AppleAPI/Stamp.swift | 101 ++++++++++++++ .../Tests/AppleAPITests/AppleAPITests.swift | 21 ++- 3 files changed, 243 insertions(+), 6 deletions(-) create mode 100644 Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift create mode 100644 Xcodes/AppleAPI/Sources/AppleAPI/Stamp.swift diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift b/Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift new file mode 100644 index 0000000..42d8b39 --- /dev/null +++ b/Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift @@ -0,0 +1,127 @@ +// +// Hashcash.swift +// +// +// Created by Matt Kiazyk on 2023-02-23. +// + +import Foundation +import CryptoKit +import CommonCrypto + +public struct Hashcash { + + public func mint(resource: String, + bits: UInt = 20, + ext: String = "", + saltCharacters: UInt = 16, + stampSeconds: Bool = true, + date: String? = nil) -> String? { + + let ver = "1" + + var ts: String + if let date = date { + ts = date + } else { + let formatter = DateFormatter() + formatter.dateFormat = stampSeconds ? "yyMMddHHmmss" : "yyMMdd" + ts = formatter.string(from: Date()) + } + + let challenge = "\(ver):\(bits):\(ts):\(resource):" + + var counter = 0 + let hexDigits = Int(ceil((Double(bits) / 4))) + let zeros = String(repeating: "0", count: hexDigits) + + while true { + guard let digest = ("\(challenge):\(counter)").sha1 else { + print("ERROR: Can't generate SHA1 digest") + return nil + } + + if digest.prefix(hexDigits) == zeros { + return "\(challenge):\(counter)" + } + counter += 1 + } + } + + /** + Checks whether a stamp is valid + - parameter stamp: stamp to check e.g. 1:16:040922:foo::+ArSrtKd:164b3 + - parameter resource: resource to check against + - parameter bits: minimum bit value to check + - parameter expiration: number of seconds old the stamp may be + - returns: true if stamp is valid + */ + public func check(stamp: String, + resource: String? = nil, + bits: UInt, + expiration: UInt? = nil) -> Bool { + + guard let stamped = Stamp(stamp: stamp) else { + print("Invalid stamp format") + return false + } + + if let res = resource, res != stamped.resource { + print("Resources do not match") + return false + } + + var count = bits + if let claim = stamped.claim { + if bits > claim { + return false + } else { + count = claim + } + } + + if let expiration = expiration { + let goodUntilDate = Date(timeIntervalSinceNow: -TimeInterval(expiration)) + if (stamped.date < goodUntilDate) { + print("Stamp expired") + return false + } + } + + guard let digest = stamp.sha1 else { + return false + } + + let hexDigits = Int(ceil((Double(count) / 4))) + return digest.hasPrefix(String(repeating: "0", count: hexDigits)) + } + + /** + Generates random string of chosen length + - parameter length: length of random string + - returns: random string + */ + internal func salt(length: UInt) -> String { + let allowedCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/=" + var result = "" + + for _ in 0.. 1 { + print("Version > 1. Not handled") + return nil + } + + if (self.version == 0 && components.count < 4) { + print("Not enough components for version 0") + return nil + } + + if (self.version == 1 && components.count < 7) { + print("Not enough components for version 1") + return nil + } + + if (self.version == 0) { + if let date = Stamp.parseDate(dateString: components[1]) { + self.date = date + } else { + return nil + } + self.resource = components[2] + self.suffix = components[3] + } else if (self.version == 1) { + if let claim = UInt(components[1]) { + self.claim = claim + } + if let date = Stamp.parseDate(dateString: components[2]) { + self.date = date + } else { + return nil + } + self.resource = components[3] + self.ext = components[4] + self.random = components[5] + self.counter = components[6] + } else { + return nil + } + } + + private static func parseDate(dateString: String) -> Date? { + let formatter = DateFormatter() + formatter.dateFormat = Stamp.DateFormatWithoutTime + + if let date = formatter.date(from: dateString) { + return date + } + + formatter.dateFormat = Stamp.DateFormatWithTime + + if let date = formatter.date(from: dateString) { + return date + } else { + print("Unable to parse date") + return nil + } + } +} diff --git a/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift b/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift index 283dbc6..b161151 100644 --- a/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift +++ b/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift @@ -2,14 +2,23 @@ import XCTest @testable import AppleAPI final class AppleAPITests: XCTestCase { - func testExample() { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct - // results. - XCTAssertEqual(AppleAPI().text, "Hello, World!") + + func testValidHashCashMint() { + let bits: UInt = 10 + let resource = "bb63edf88d2f9c39f23eb4d6f0281158" + let testDate = "20230224001754" + +// "1:11:20230224004345:8982e236688f6ebf588c4bd4b445c4cc::877" +// 7395f792caf430dca2d07ae7be0c63fa + + let stamp = Hashcash().mint(resource: resource, bits: bits, date: testDate) + XCTAssertNotNil(stamp) + XCTAssertEqual(stamp, "1:10:20230224001754:bb63edf88d2f9c39f23eb4d6f0281158::866") + + print(stamp) } static var allTests = [ - ("testExample", testExample), + ("testValidHashCashMint", testValidHashCashMint), ] } From 76bb3fbae0f945673198818116b3d61b8349999a Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Mon, 27 Feb 2023 12:11:12 -0600 Subject: [PATCH 161/180] Adds hashcash implementation --- Xcodes/AppleAPI/Sources/AppleAPI/Client.swift | 57 ++++++++- .../AppleAPI/Sources/AppleAPI/Hashcash.swift | 121 +++++++----------- Xcodes/AppleAPI/Sources/AppleAPI/Stamp.swift | 101 --------------- .../Sources/AppleAPI/URLRequest+Apple.swift | 21 ++- .../Tests/AppleAPITests/AppleAPITests.swift | 17 ++- 5 files changed, 129 insertions(+), 188 deletions(-) delete mode 100644 Xcodes/AppleAPI/Sources/AppleAPI/Stamp.swift diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift index c8e2810..6f33a4a 100644 --- a/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift +++ b/Xcodes/AppleAPI/Sources/AppleAPI/Client.swift @@ -14,12 +14,22 @@ public class Client { return Current.network.dataTask(with: URLRequest.itcServiceKey) .map(\.data) .decode(type: ServiceKeyResponse.self, decoder: JSONDecoder()) - .flatMap { serviceKeyResponse -> AnyPublisher in + .flatMap { serviceKeyResponse -> AnyPublisher<(String, String), Swift.Error> in serviceKey = serviceKeyResponse.authServiceKey - return Current.network.dataTask(with: URLRequest.signIn(serviceKey: serviceKey, accountName: accountName, password: password)) - .mapError { $0 as Swift.Error } + + // Fixes issue https://github.com/RobotsAndPencils/XcodesApp/issues/360 + // On 2023-02-23, Apple added a custom implementation of hashcash to their auth flow + // Without this addition, Apple ID's would get set to locked + return self.loadHashcash(accountName: accountName, serviceKey: serviceKey) + .map { return (serviceKey, $0)} .eraseToAnyPublisher() } + .flatMap { (serviceKey, hashcash) -> AnyPublisher in + + return Current.network.dataTask(with: URLRequest.signIn(serviceKey: serviceKey, accountName: accountName, password: password, hashcash: hashcash)) + .mapError { $0 as Swift.Error } + .eraseToAnyPublisher() + } .flatMap { result -> AnyPublisher in let (data, response) = result return Just(data) @@ -56,6 +66,44 @@ public class Client { .mapError { $0 as Swift.Error } .eraseToAnyPublisher() } + + func loadHashcash(accountName: String, serviceKey: String) -> AnyPublisher { + + Result { + try URLRequest.federate(account: accountName, serviceKey: serviceKey) + } + .publisher + .flatMap { request in + Current.network.dataTask(with: request) + .mapError { $0 as Error } + .tryMap { (data, response) throws -> (String) in + guard let urlResponse = response as? HTTPURLResponse else { + throw AuthenticationError.invalidSession + } + switch urlResponse.statusCode { + case 200..<300: + + let httpResponse = response as! HTTPURLResponse + guard let bitsString = httpResponse.allHeaderFields["X-Apple-HC-Bits"] as? String, let bits = UInt(bitsString) else { + throw AuthenticationError.invalidHashcash + } + guard let challenge = httpResponse.allHeaderFields["X-Apple-HC-Challenge"] as? String else { + throw AuthenticationError.invalidHashcash + } + guard let hashcash = Hashcash().mint(resource: challenge, bits: bits) else { + throw AuthenticationError.invalidHashcash + } + return (hashcash) + case 400, 401: + throw AuthenticationError.invalidHashcash + case let code: + throw AuthenticationError.badStatusCode(statusCode: code, data: data, response: urlResponse) + } + } + } + .eraseToAnyPublisher() + + } func handleTwoStepOrFactor(data: Data, response: URLResponse, serviceKey: String) -> AnyPublisher { let httpResponse = response as! HTTPURLResponse @@ -190,6 +238,7 @@ public enum AuthenticationState: Equatable { public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { case invalidSession + case invalidHashcash case invalidUsernameOrPassword(username: String) case incorrectSecurityCode case unexpectedSignInResponse(statusCode: Int, message: String?) @@ -206,6 +255,8 @@ public enum AuthenticationError: Swift.Error, LocalizedError, Equatable { switch self { case .invalidSession: return "Your authentication session is invalid. Try signing in again." + case .invalidHashcash: + return "Could not create a hashcash for the session." case .invalidUsernameOrPassword: return "Invalid username and password combination." case .incorrectSecurityCode: diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift b/Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift index 42d8b39..135f1ea 100644 --- a/Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift +++ b/Xcodes/AppleAPI/Sources/AppleAPI/Hashcash.swift @@ -9,13 +9,44 @@ import Foundation import CryptoKit import CommonCrypto +/* +# This App Store Connect hashcash spec was generously donated by... + # + # __ _ + # __ _ _ __ _ __ / _|(_) __ _ _ _ _ __ ___ ___ + # / _` || '_ \ | '_ \ | |_ | | / _` || | | || '__|/ _ \/ __| + # | (_| || |_) || |_) || _|| || (_| || |_| || | | __/\__ \ + # \__,_|| .__/ | .__/ |_| |_| \__, | \__,_||_| \___||___/ + # |_| |_| |___/ + # + # +*/ public struct Hashcash { - + /// A function to returned a minted hash, using a bit and resource string + /// + /** + X-APPLE-HC: 1:11:20230223170600:4d74fb15eb23f465f1f6fcbf534e5877::6373 + ^ ^ ^ ^ ^ + | | | | +-- Counter + | | | +-- Resource + | | +-- Date YYMMDD[hhmm[ss]] + | +-- Bits (number of leading zeros) + +-- Version + + We can't use an off-the-shelf Hashcash because Apple's implementation is not quite the same as the spec/convention. + 1. The spec calls for a nonce called "Rand" to be inserted between the Ext and Counter. They don't do that at all. + 2. The Counter conventionally encoded as base-64 but Apple just uses the decimal number's string representation. + + Iterate from Counter=0 to Counter=N finding an N that makes the SHA1(X-APPLE-HC) lead with Bits leading zero bits + We get the "Resource" from the X-Apple-HC-Challenge header and Bits from X-Apple-HC-Bits + */ + /// - Parameters: + /// - resource: a string to be used for minting + /// - bits: grabbed from `X-Apple-HC-Bits` header + /// - date: Default uses Date() otherwise used for testing to check. + /// - Returns: A String hash to use in `X-Apple-HC` header on /signin public func mint(resource: String, - bits: UInt = 20, - ext: String = "", - saltCharacters: UInt = 16, - stampSeconds: Bool = true, + bits: UInt = 10, date: String? = nil) -> String? { let ver = "1" @@ -25,15 +56,13 @@ public struct Hashcash { ts = date } else { let formatter = DateFormatter() - formatter.dateFormat = stampSeconds ? "yyMMddHHmmss" : "yyMMdd" + formatter.dateFormat = "yyMMddHHmmss" ts = formatter.string(from: Date()) } let challenge = "\(ver):\(bits):\(ts):\(resource):" var counter = 0 - let hexDigits = Int(ceil((Double(bits) / 4))) - let zeros = String(repeating: "0", count: hexDigits) while true { guard let digest = ("\(challenge):\(counter)").sha1 else { @@ -41,87 +70,27 @@ public struct Hashcash { return nil } - if digest.prefix(hexDigits) == zeros { + if digest == bits { return "\(challenge):\(counter)" } counter += 1 } } - - /** - Checks whether a stamp is valid - - parameter stamp: stamp to check e.g. 1:16:040922:foo::+ArSrtKd:164b3 - - parameter resource: resource to check against - - parameter bits: minimum bit value to check - - parameter expiration: number of seconds old the stamp may be - - returns: true if stamp is valid - */ - public func check(stamp: String, - resource: String? = nil, - bits: UInt, - expiration: UInt? = nil) -> Bool { - - guard let stamped = Stamp(stamp: stamp) else { - print("Invalid stamp format") - return false - } - - if let res = resource, res != stamped.resource { - print("Resources do not match") - return false - } - - var count = bits - if let claim = stamped.claim { - if bits > claim { - return false - } else { - count = claim - } - } - - if let expiration = expiration { - let goodUntilDate = Date(timeIntervalSinceNow: -TimeInterval(expiration)) - if (stamped.date < goodUntilDate) { - print("Stamp expired") - return false - } - } - - guard let digest = stamp.sha1 else { - return false - } - - let hexDigits = Int(ceil((Double(count) / 4))) - return digest.hasPrefix(String(repeating: "0", count: hexDigits)) - } - - /** - Generates random string of chosen length - - parameter length: length of random string - - returns: random string - */ - internal func salt(length: UInt) -> String { - let allowedCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/=" - var result = "" - - for _ in 0.. 1 { - print("Version > 1. Not handled") - return nil - } - - if (self.version == 0 && components.count < 4) { - print("Not enough components for version 0") - return nil - } - - if (self.version == 1 && components.count < 7) { - print("Not enough components for version 1") - return nil - } - - if (self.version == 0) { - if let date = Stamp.parseDate(dateString: components[1]) { - self.date = date - } else { - return nil - } - self.resource = components[2] - self.suffix = components[3] - } else if (self.version == 1) { - if let claim = UInt(components[1]) { - self.claim = claim - } - if let date = Stamp.parseDate(dateString: components[2]) { - self.date = date - } else { - return nil - } - self.resource = components[3] - self.ext = components[4] - self.random = components[5] - self.counter = components[6] - } else { - return nil - } - } - - private static func parseDate(dateString: String) -> Date? { - let formatter = DateFormatter() - formatter.dateFormat = Stamp.DateFormatWithoutTime - - if let date = formatter.date(from: dateString) { - return date - } - - formatter.dateFormat = Stamp.DateFormatWithTime - - if let date = formatter.date(from: dateString) { - return date - } else { - print("Unable to parse date") - return nil - } - } -} diff --git a/Xcodes/AppleAPI/Sources/AppleAPI/URLRequest+Apple.swift b/Xcodes/AppleAPI/Sources/AppleAPI/URLRequest+Apple.swift index 01b98fb..d052d63 100644 --- a/Xcodes/AppleAPI/Sources/AppleAPI/URLRequest+Apple.swift +++ b/Xcodes/AppleAPI/Sources/AppleAPI/URLRequest+Apple.swift @@ -7,6 +7,7 @@ public extension URL { static let requestSecurityCode = URL(string: "https://idmsa.apple.com/appleauth/auth/verify/phone")! static func submitSecurityCode(_ code: SecurityCode) -> URL { URL(string: "https://idmsa.apple.com/appleauth/auth/verify/\(code.urlPathComponent)/securitycode")! } static let trust = URL(string: "https://idmsa.apple.com/appleauth/auth/2sv/trust")! + static let federate = URL(string: "https://idmsa.apple.com/appleauth/auth/federate")! static let olympusSession = URL(string: "https://appstoreconnect.apple.com/olympus/v1/session")! } @@ -15,7 +16,7 @@ public extension URLRequest { return URLRequest(url: .itcServiceKey) } - static func signIn(serviceKey: String, accountName: String, password: String) -> URLRequest { + static func signIn(serviceKey: String, accountName: String, password: String, hashcash: String) -> URLRequest { struct Body: Encodable { let accountName: String let password: String @@ -27,6 +28,7 @@ public extension URLRequest { request.allHTTPHeaderFields?["Content-Type"] = "application/json" request.allHTTPHeaderFields?["X-Requested-With"] = "XMLHttpRequest" request.allHTTPHeaderFields?["X-Apple-Widget-Key"] = serviceKey + request.allHTTPHeaderFields?["X-Apple-HC"] = hashcash request.allHTTPHeaderFields?["Accept"] = "application/json, text/javascript" request.httpMethod = "POST" request.httpBody = try! JSONEncoder().encode(Body(accountName: accountName, password: password)) @@ -117,4 +119,21 @@ public extension URLRequest { static var olympusSession: URLRequest { return URLRequest(url: .olympusSession) } + + static func federate(account: String, serviceKey: String) throws -> URLRequest { + struct FederateRequest: Encodable { + let accountName: String + let rememberMe: Bool + } + var request = URLRequest(url: .signIn) + request.allHTTPHeaderFields?["Accept"] = "application/json" + request.allHTTPHeaderFields?["Content-Type"] = "application/json" + request.httpMethod = "GET" + +// let encoder = JSONEncoder() +// encoder.outputFormatting = .withoutEscapingSlashes +// request.httpBody = try encoder.encode(FederateRequest(accountName: account, rememberMe: true)) + + return request + } } diff --git a/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift b/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift index b161151..ecb93e7 100644 --- a/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift +++ b/Xcodes/AppleAPI/Tests/AppleAPITests/AppleAPITests.swift @@ -4,21 +4,24 @@ import XCTest final class AppleAPITests: XCTestCase { func testValidHashCashMint() { + let bits: UInt = 11 + let resource = "4d74fb15eb23f465f1f6fcbf534e5877" + let testDate = "20230223170600" + + let stamp = Hashcash().mint(resource: resource, bits: bits, date: testDate) + XCTAssertEqual(stamp, "1:11:20230223170600:4d74fb15eb23f465f1f6fcbf534e5877::6373") + } + func testValidHashCashMint2() { let bits: UInt = 10 let resource = "bb63edf88d2f9c39f23eb4d6f0281158" let testDate = "20230224001754" - -// "1:11:20230224004345:8982e236688f6ebf588c4bd4b445c4cc::877" -// 7395f792caf430dca2d07ae7be0c63fa - + let stamp = Hashcash().mint(resource: resource, bits: bits, date: testDate) - XCTAssertNotNil(stamp) XCTAssertEqual(stamp, "1:10:20230224001754:bb63edf88d2f9c39f23eb4d6f0281158::866") - - print(stamp) } static var allTests = [ ("testValidHashCashMint", testValidHashCashMint), + ("testValidHashCashMint2", testValidHashCashMint2), ] } From d955ec8bd247b228f5dfbc042d4d3715642d5e37 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Tue, 28 Feb 2023 18:58:53 -0600 Subject: [PATCH 162/180] v1.10.0 --- Xcodes.xcodeproj/project.pbxproj | 12 ++++++------ .../Frontend/Preferences/UpdatesPreferencePane.swift | 4 ++-- Xcodes/Resources/Info.plist | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index c8ca65c..3f9e7d7 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -1030,7 +1030,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 17; + CURRENT_PROJECT_VERSION = 18; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; @@ -1040,7 +1040,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.9.0; + MARKETING_VERSION = 1.10.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1271,7 +1271,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 17; + CURRENT_PROJECT_VERSION = 18; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1281,7 +1281,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.9.0; + MARKETING_VERSION = 1.10.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1295,7 +1295,7 @@ CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 17; + CURRENT_PROJECT_VERSION = 18; DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\""; DEVELOPMENT_TEAM = PBH8V487HB; ENABLE_HARDENED_RUNTIME = YES; @@ -1305,7 +1305,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.9.0; + MARKETING_VERSION = 1.10.0; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift index 282b806..349d9be 100644 --- a/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/UpdatesPreferencePane.swift @@ -117,8 +117,8 @@ class ObservableUpdater: ObservableObject { } extension URL { - static let appcast = URL(string: "https://robotsandpencils.github.io/XcodesApp/appcast.xml")! - static let prereleaseAppcast = URL(string: "https://robotsandpencils.github.io/XcodesApp/appcast_pre.xml")! + static let appcast = URL(string: "https://www.xcodes.app/appcast.xml")! + static let prereleaseAppcast = URL(string: "https://www.xcodes.app/appcast_pre.xml")! } struct UpdatesPreferencePane_Previews: PreviewProvider { diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index 58e8717..49fe676 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -25,7 +25,7 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - Copyright © 2022 Robots and Pencils. + Copyright © 2023 Robots and Pencils. NSPrincipalClass NSApplication NSSupportsAutomaticTermination @@ -38,7 +38,7 @@ identifier "com.robotsandpencils.XcodesApp.Helper" and info [CFBundleShortVersionString] >= "1.0.0" and anchor apple generic and certificate leaf[subject.OU] = "$(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT)" SUFeedURL - https://robotsandpencils.github.io/XcodesApp/appcast.xml + https://www.xcodes.app/appcast.xml SUPublicEDKey SEcz0vgUSeBTOoAXYe+64zea95G6lIf5NgzFs3InYJQ= From b439eb555b3e55bdc2b11197b0aaae1307253216 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Tue, 28 Feb 2023 19:29:25 -0600 Subject: [PATCH 163/180] Update appcast ruby action --- .github/workflows/appcast.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 876b598..74a8e23 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -22,8 +22,8 @@ jobs: restore-keys: | ${{ runner.os }}-gems- - - name: Ruby ♦️ - uses: actions/setup-ruby@v1.1.3 + - name: Setup Ruby, JRuby and TruffleRuby + uses: ruby/setup-ruby@v1.139.0 with: ruby-version: '2.7' From 0bc8edf75ec253131a22bba54313228755fd5c8a Mon Sep 17 00:00:00 2001 From: Ege Sucu Date: Sat, 4 Mar 2023 16:57:29 +0300 Subject: [PATCH 164/180] Updated Turkish Localization with New Content --- Xcodes/Resources/tr.lproj/Localizable.strings | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Xcodes/Resources/tr.lproj/Localizable.strings b/Xcodes/Resources/tr.lproj/Localizable.strings index fd192fd..1cbb514 100644 --- a/Xcodes/Resources/tr.lproj/Localizable.strings +++ b/Xcodes/Resources/tr.lproj/Localizable.strings @@ -95,12 +95,16 @@ "AutomaticallyCreateSymbolicLinkDescription" = "Bir Xcode sürümünü Aktif/Seç yaparken Xcode.app ismindeki uygulamanın sembolik linkini yükleme klasörüne otomatik oluşturmayı dene"; "OnSelectRenameXcode" = "Her zaman Xcode.app şeklinde ismi değiştir"; "OnSelectRenameXcodeDescription" = "Seçildiğinde, aktif olan Xcode'u Xcode.app olarak isimlendirmeye çalışır ve eski Xcode ismine sürüm ismi ekler."; + "PrivilegedHelper" = "Ayrıcalıklı Yardımcı"; "PrivilegedHelperDescription" ="Xcodes, root görevlerini yerine getirmek için bir Ayrıcalıklı yardımcı aracı kullanır. Bunlar komut satırındaki sudo gerektiren, yükleme sonrası adımlarını sağlayan ve Xcode sürümü değiştiren xcode-select gibi komutlardan ibarettir.\n\nBunu yüklemek için macOS hesap şifrenizi girmeniz istenecektir."; "HelperInstalled" = "Yardımcı yüklendi"; "HelperNotInstalled" = "Yardımcı yüklenmedi"; "InstallHelper" = "Yardımcıyı yükle"; +"ShowOpenInRosetta" = "Rosetta ile açma seçeneğini göster"; +"ShowOpenInRosettaDescription" = "Rosetta ile açma opsiyonu diğer uygun \"Açma\" fonksiyonlarını gösterecektir. Not: Bu sadece Apple Silikon makinelerinde gözükecektir."; + // Experiment Preference Pane "Experiments" = "Deneyler"; "FasterUnxip" = "Daha Hızlı Unxip"; @@ -159,6 +163,7 @@ "Alert.Uninstall.Title" = "Xcode %@ sürümünü Kaldır?"; "Alert.Uninstall.Message" = "Uygulama Çöp Kutusuna taşınacaktır, fakat silinmeyecektir."; "Alert.Uninstall.Error.Title" = "Xcode Kaldırılamadı"; +"Alert.Uninstall.Error.Message.FileNotFound" = "\"%@\" dosyası bulunamadı."; // Cancel Install "Alert.CancelInstall.Title" = "Xcode %@ sürümünün yüklenmesini durdurmak istediğinize emin misiniz?"; From 846fbc06354d11a80fbf930b5fedd3b097ae61f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Mar 2023 10:57:48 +0000 Subject: [PATCH 165/180] Bump ruby/setup-ruby from 1.139.0 to 1.143.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.139.0 to 1.143.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.139.0...v1.143.0) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 74a8e23..60e1781 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -23,7 +23,7 @@ jobs: ${{ runner.os }}-gems- - name: Setup Ruby, JRuby and TruffleRuby - uses: ruby/setup-ruby@v1.139.0 + uses: ruby/setup-ruby@v1.143.0 with: ruby-version: '2.7' From 48b5611e0b65fa2770d885422de63494e3640377 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Mar 2023 10:57:06 +0000 Subject: [PATCH 166/180] Bump ruby/setup-ruby from 1.143.0 to 1.144.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.143.0 to 1.144.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.143.0...v1.144.0) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 4dcd3cd..6339053 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -23,7 +23,7 @@ jobs: ${{ runner.os }}-gems- - name: Setup Ruby, JRuby and TruffleRuby - uses: ruby/setup-ruby@v1.143.0 + uses: ruby/setup-ruby@v1.144.0 with: ruby-version: '2.7' From 74a870d4ff100511b18189d3498857de925e1fbd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Mar 2023 10:57:22 +0000 Subject: [PATCH 167/180] Bump actions/cache from 3.2.6 to 3.3.1 Bumps [actions/cache](https://github.com/actions/cache) from 3.2.6 to 3.3.1. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.2.6...v3.3.1) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 4dcd3cd..b995051 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -15,7 +15,7 @@ jobs: persist-credentials: false - name: Cache 📦 - uses: actions/cache@v3.2.6 + uses: actions/cache@v3.3.1 with: path: AppCast/vendor/bundle key: ${{ runner.os }}-gems-v1.0-${{ hashFiles('AppCast/Gemfile') }} From ce906c5ce9859d54dbdf4d2c104f879d6eeff1f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Mar 2023 10:57:07 +0000 Subject: [PATCH 168/180] Bump ruby/setup-ruby from 1.144.0 to 1.144.1 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.0 to 1.144.1. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.144.0...v1.144.1) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index 79c4482..f25873f 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -23,7 +23,7 @@ jobs: ${{ runner.os }}-gems- - name: Setup Ruby, JRuby and TruffleRuby - uses: ruby/setup-ruby@v1.144.0 + uses: ruby/setup-ruby@v1.144.1 with: ruby-version: '2.7' From 95c9776788c6acb8b79e9704fa1e4fd8846b8e85 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Mar 2023 10:57:04 +0000 Subject: [PATCH 169/180] Bump ruby/setup-ruby from 1.144.1 to 1.144.2 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.1 to 1.144.2. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.144.1...v1.144.2) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/appcast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/appcast.yml b/.github/workflows/appcast.yml index f25873f..aae935a 100644 --- a/.github/workflows/appcast.yml +++ b/.github/workflows/appcast.yml @@ -23,7 +23,7 @@ jobs: ${{ runner.os }}-gems- - name: Setup Ruby, JRuby and TruffleRuby - uses: ruby/setup-ruby@v1.144.1 + uses: ruby/setup-ruby@v1.144.2 with: ruby-version: '2.7' From 2d22210d5bbd5ce3f8f6f19bc1c9717eb3dd5b83 Mon Sep 17 00:00:00 2001 From: Jakub Grzywacz Date: Sun, 16 Apr 2023 11:27:46 +0200 Subject: [PATCH 170/180] Locale: introduce Polish translations --- Xcodes.xcodeproj/project.pbxproj | 3 + Xcodes/Resources/pl.lproj/Localizable.strings | 239 ++++++++++++++++++ 2 files changed, 242 insertions(+) create mode 100644 Xcodes/Resources/pl.lproj/Localizable.strings diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 3f9e7d7..0fc83e8 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -172,6 +172,7 @@ /* Begin PBXFileReference section */ 15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; + 23703D6E29EBF63500DFA346 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; 25E2FA26284769A00014A318 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; 327DF109286ABE6B00D694D5 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; 36741BFC291E4FDB00A85AAE /* DownloadPreferencePane.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadPreferencePane.swift; sourceTree = ""; }; @@ -734,6 +735,7 @@ fi, "pt-BR", nl, + pl, ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -952,6 +954,7 @@ 5AA8A6102877EDAD009ECDB0 /* fi */, 327DF109286ABE6B00D694D5 /* pt-BR */, E2AFDCCA28F024D000864ADD /* nl */, + 23703D6E29EBF63500DFA346 /* pl */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/pl.lproj/Localizable.strings b/Xcodes/Resources/pl.lproj/Localizable.strings new file mode 100644 index 0000000..c505451 --- /dev/null +++ b/Xcodes/Resources/pl.lproj/Localizable.strings @@ -0,0 +1,239 @@ +// Menu +"Menu.About" = "O Xcodes"; +"Menu.CheckForUpdates" = "Sprawdź aktualizacje..."; +"Menu.Acknowledgements" = "Podziękowania Xcodes"; +"Menu.GitHubRepo" = "Repozytorium Xcodes na GitHubie"; +"Menu.ReportABug" = "Zgłoś błąd"; +"Menu.RequestNewFeature" = "Poproś o nową funkcję"; + +// Common +"Install" = "Zainstaluj"; +"InstallDescription" = "Zainstaluj tę wersję"; +"RevealInFinder" = "Pokaż w Finderze"; +"Active" = "Aktywny"; +"MakeActive" = "Ustaw jako aktywny"; +"Open" = "Otwórz"; +"OpenDescription" = "Otwórz tę wersję"; +"CopyPath" = "Kopiuj ścieżkę"; +"CreateSymLink" = "Utwórz Symlink jako Xcode.app"; +"CreateSymLinkBeta" = "Utwórz Symlink jako Xcode-Beta.app"; +"Uninstall" = "Odinstaluj"; +"Selected" = "Wybrany"; +"Select" = "Wybierz"; +"Cancel" = "Anuluj"; +"Next" = "Dalej"; +"Continue" = "Kontynuuj"; +"Close" = "Zamknij"; +"OK" = "OK"; + +// Info Pane +"IdenticalBuilds" = "Takie same wersje"; +"IdenticalBuilds.help" = "Czasami wersja przedpremierowa i wydana są dokładnie takie same. Xcodes automatycznie wyświetla te wersje razem."; + +"ReleaseDate" = "Data wydania"; +"ReleaseNotes" = "Notatki wydania"; +"ReleaseNotes.help" = "Wyświetl notatki wydania"; +"CopyReleaseNoteURL" = "Kopiuj adres URL"; +"Compatibility" = "Kompatybilność"; +"MacOSRequirement" = "Wymaga systemu macOS %@ lub nowszego"; +"SDKs" = "SDK"; +"Compilers" = "Kompilatory"; +"DownloadSize" = "Wielkość pobierania"; +"NoXcodeSelected" = "Nie wybrano Xcode"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "Krok %1$d z %2$d: %3$@"; +"DownloadingPercentDescription" = "Pobieranie: %d%% ukończone"; +"StopInstallation" = "Przerwij instalację"; +"DownloadingError" = "Nie znaleziono informacji o pobieraniu"; + +// About +"VersionWithBuild" = "Wersja %@ (%@)"; +"GithubRepo" = "Repozytorium GitHub"; +"Acknowledgements" = "Podziękowania"; +"UnxipExperiment" = "Eksperyment Unxip"; +"License" = "Licencja"; + +// General Preference Pane +"General" = "Ogólne"; +"AppleID" = "Apple ID"; +"SignIn" = "Zaloguj się"; +"Notifications" = "Powiadomienia"; + +// Updates Preference Pane +"Updates" = "Aktualizacje"; +"Versions" = "Wersje"; +"AutomaticInstallNewVersion" = "Automatycznie instaluj nowe wersje Xcode"; +"IncludePreRelease" = "Dołącz wersje beta/wstępne"; +"AppUpdates" = "Aktualizacje Xcodes.app"; +"CheckForAppUpdates" = "Automatycznie sprawdzaj aktualizacje aplikacji"; +"CheckNow" = "Sprawdź teraz"; +"LastChecked" = "Ostatnio sprawdzono: %@"; +"Never" = "Nigdy"; + +// Download Preference Pane +"Downloads" = "Pobieranie"; +"DataSource" = "Źródło danych"; +"DataSourceDescription" = "Źródło danych Apple przeszukuje stronę internetową Apple Developer. Zawsze wyświetla najnowsze dostępne wydania, ale jest bardziej podatne na problemy.\n\nXcode Releases to nieoficjalna lista wydań Xcode. Udostępnia ona dobrze sformatowane dane, zawiera dodatkowe informacje, które nie są łatwo dostępne w Apple, i jest mniej podatna na problemy, gdy Apple zmienia swoją stronę dla deweloperów."; +"Downloader" = "Pobieranie"; +"DownloaderDescription" = "aria2 używa do pobierania do 16 połączeń, co pozwala na pobieranie Xcode 3-5x szybciej niż URLSession. Jest on dostarczany jako plik wykonywalny wraz ze swoim kodem źródłowym w ramach Xcodes w celu przestrzegania jego licencji GPLv2.\n\nURLSession to domyślne API Apple do tworzenia żądań URL."; + +// Advanced Preference Pane +"Advanced" = "Zaawansowane"; +"LocalCachePath" = "Katalog cache"; +"LocalCachePathDescription" = "Xcodes przechowuje w cache dostępne wersje Xcode oraz tymczasowo pobiera nowe pliki do tego katalogu."; +"Change" = "Zmień"; +"Active/Select" = "Aktywny/wybrany"; +"InstallDirectory" = "Katalog instalacji"; +"InstallPathDescription" = "Xcodes wyszukuje i instaluje w jednym katalogu. Domyślnie (i zalecane) jest to /Applications. Wszelkie zmiany w miejscu przechowywania Xcode mogą spowodować, że inne aplikacje/usługi przestaną działać."; + +"OnSelectDoNothing" = "Zachowaj nazwę jako Xcode-X.X.X.app"; +"OnSelectDoNothingDescription" = "Po wybraniu, nazwa pozostanie w formacie z numerem wersji, np. Xcode-13.4.1.app"; +"AutomaticallyCreateSymbolicLink" = "Automatycznie twórz symboliczne połączenie do Xcode.app"; +"AutomaticallyCreateSymbolicLinkDescription" = "Przy ustawianiu Xcode jako aktywny/wybrany, próbuj automatycznie stworzyć symboliczne połączenie o nazwie Xcode.app w katalogu instalacji."; +"OnSelectRenameXcode" = "Zawsze zmieniaj nazwę na Xcode.app"; +"OnSelectRenameXcodeDescription" = "Po wybraniu, automatycznie zmienia aktywną wersję Xcode na Xcode.app, a poprzednie Xcode.app zostanie zmienione na nazwę wersji."; + +"PrivilegedHelper" = "Helper z uprawnieniami"; +"PrivilegedHelperDescription" = "Xcodes używa oddzielnego helpera z uprawnieniami do wykonywania zadań jako root. Są to rzeczy, które wymagałyby użycia komendy sudo w wierszu poleceń, w tym kroki po instalacji oraz przełączanie wersji Xcode za pomocą xcode-select.\n\nZostaniesz poproszony o podanie hasła do swojego konta macOS, aby go zainstalować."; +"HelperInstalled" = "Helper jest zainstalowany"; +"HelperNotInstalled" = "Helper nie jest zainstalowany"; +"InstallHelper" = "Zainstaluj helpera"; + +"ShowOpenInRosetta" = "Pokaż opcję Otwórz w Rosetta"; +"ShowOpenInRosettaDescription" = "Opcja Otwórz w Rosetta będzie wyświetlana, gdy dostępne są inne funkcje \"Otwórz\". Uwaga: Będzie to działać tylko na urządzeniach z Apple Silicon."; + +// Experiment Preference Pane +"Experiments" = "Eksperymenty"; +"FasterUnxip" = "Szybsze Unxip"; +"UseUnxipExperiment" = "Podczas rozpakowywania, użyj wersji eksperymentalnej"; +"FasterUnxipDescription" = "Dzięki @_saagarjha, wersja eksperymentalna może zwiększyć prędkość rozpakowywania o nawet 70% dla niektórych systemów.\n\nWięcej informacji na temat tego, jak to jest osiągane, można znaleźć w repozytorium unxip - https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "Dostęp przyznany. Będziesz otrzymywać powiadomienia z Xcodes."; +"AccessDenied" = "⚠️ Dostęp zabroniony ⚠️\n\nOtwórz ustawienia powiadomień i wybierz Xcodes, jeśli chcesz zezwolić na dostęp."; +"NotificationSettings" = "Ustawienia powiadomień"; +"EnableNotifications" = "Włącz powiadomienia"; + +// SignIn +"SignInWithApple" = "Zaloguj się przy użyciu Apple ID."; +"AppleID" = "AppleID:"; +"Password" = "Hasło:"; +"Required" = "Wymagane"; +"SignOut" = "Wyloguj się"; + +// SMS/2FA +"DigitCodeDescription" = "Wprowadź %d-cyfrowy kod z jednego ze swoich zaufanych urządzeń:"; +"SendSMS" = "Wyślij SMS"; +"EnterDigitCodeDescription" = "Wprowadź %d-cyfrowy kod wysłany do %@: "; +"SelectTrustedPhone" = "Wybierz zaufany numer telefonu, aby otrzymać %d-cyfrowy kod przez SMS:"; +"NoTrustedPhones" = "Twoje konto nie ma żadnych zaufanych numerów telefonów, ale są one wymagane do autoryzacji dwuskładnikowej.\n\nZobacz https://support.apple.com/HT204915."; + +// MainWindow +"UpdatedAt" = "Zaktualizowano o"; + +// ToolBar +"Login" = "Zaloguj się"; +"LoginDescription" = "Otwórz okno logowania"; +"Refresh" = "Odśwież"; +"RefreshDescription" = "Odśwież listę Xcode"; +"All" = "Wszystkie"; +"Release" = "Stabilne"; +"ReleaseOnly" = "Tylko stabilne"; +"Beta" = "Beta"; +"BetaOnly" = "Tylko beta"; +"Filter" = "Filtr"; +"FilterAvailableDescription" = "Filtruj dostępne wersje"; +"FilterInstalledDescription" = "Filtruj zainstalowane wersje"; +"Info" = "Informacje"; +"InfoDescription" = "Pokaż lub ukryj okno informacji"; +"Preferences" = "Ustawienia"; +"PreferencesDescription" = "Otwórz ustawienia"; +"Search" = "Szukaj..."; +"SearchDescription" = "Przeszukaj listę"; + +// List +"ActiveVersionDescription" = "To jest aktywna wersja"; +"MakeActiveVersionDescription" = "Ustaw jako aktywną wersję"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "Odinstalować Xcode %@?"; +"Alert.Uninstall.Message" = "Zostanie przeniesiony do kosza, ale nie zostanie opróżniony."; +"Alert.Uninstall.Error.Title" = "Nie można odinstalować Xcode"; +"Alert.Uninstall.Error.Message.FileNotFound" = "Nie znaleziono pliku \"%@\"."; + +// Cancel Install +"Alert.CancelInstall.Title" = "Czy na pewno chcesz przerwać instalację Xcode %@?"; +"Alert.CancelInstall.Message" = "Postęp zostanie utracony."; +"Alert.CancelInstall.PrimaryButton" = "Przerwij instalację"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "Helper z uprawnieniami"; +"Alert.PrivilegedHelper.Message" = "Xcodes używa oddzielnego helpera z uprawnieniami, aby wykonywać zadania jako root. Są to rzeczy, które wymagałyby sudo w wierszu poleceń, w tym kroki po instalacji i przełączanie wersji Xcode z xcode-select.\n\nBędziesz proszony o podanie hasła do konta macOS, aby go zainstalować."; +"Alert.PrivilegedHelper.Error.Title" = "Nie można zainstalować helpera"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "Niezgodność z minimalnymi wymaganiami"; +"Alert.MinSupported.Message" = "Xcode %@ wymaga macOS %@, a ty masz macOS %@. Czy nadal chcesz go zainstalować?"; + +// Install +"Alert.Install.Error.Title" = "Nie można zainstalować Xcode"; +"Alert.InstallArchive.Error.Title" = "Nie można zainstalować zarchiwizowanego Xcode"; + +// Update +"Alert.Update.Error.Title" = "Nie można zaktualizować wybranej wersji Xcode"; + +// Active/Select +"Alert.Select.Error.Title" = "Nie można wybrać Xcode"; + +// Symbolic Links +"Alert.SymLink.Title" = "Nie można utworzyć linku symbolicznego"; +"Alert.SymLink.Message" = "Xcode.app istnieje i nie jest linkiem symbolicznym"; + +// Post install +"Alert.PostInstall.Title" = "Nie można wykonać czynności po-instalacyjnych"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "Archiwum \"%@\" jest uszkodzone i nie może zostać rozpakowane."; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "Nie można rozpakować archiwum \"%@\", ponieważ wolumin nie ma wystarczającej ilości wolnego miejsca.\n\nZrób więcej miejsca, aby rozpakować archiwum, a następnie zainstaluj ponownie Xcode %@, aby kontynuować instalację od miejsca, w którym została wstrzymana."; +"InstallationError.FailedToMoveXcodeToApplications" = "Nie udało się przenieść Xcode do katalogu %@."; +"InstallationError.FailedSecurityAssessment" = "Xcode %@ nie przeszedł testu bezpieczeństwa z następującym wynikiem:\n%@\nPozostaje zainstalowany w %@, jeśli mimo to chcesz go używać."; +"InstallationError.CodesignVerifyFailed" = "Pobrany Xcode nie przeszedł weryfikacji sygnatury kodu z wynikiem:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "Pobrany Xcode nie ma oczekiwanej sygnatury kodu.\nOtrzymano:\n%@\n%@\nOczekiwano:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes nie obsługuje (jeszcze) instalowania Xcode z formatu %@."; + +"InstallationError.MissingSudoerPassword" = "Brak hasła. Spróbuj ponownie."; +"InstallationError.UnavailableVersion" = "Nie można znaleźć wersji %@."; +"InstallationError.NoNonPrereleaseVersionAvailable" = "Brak wersji nie-przedpremierowych."; +"InstallationError.NoPrereleaseVersionAvailable" = "Brak wersji przedpremierowych."; +"InstallationError.MissingUsernameOrPassword" = "Brak nazwy użytkownika lub hasła. Spróbuj ponownie."; +"InstallationError.VersionAlreadyInstalled" = "%@ jest już zainstalowany w %@."; +"InstallationError.InvalidVersion" = "%@ nie jest prawidłowym numerem wersji."; +"InstallationError.VersionNotInstalled" = "%@ nie jest zainstalowany."; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "Instalacja została zakończona, ale niektóre kroki po instalacji nie zostały wykonane automatycznie. Zostaną one wykonane przy pierwszym uruchomieniu Xcode %@."; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "Instalacja została zakończona, ale niektóre kroki po instalacji nie zostały wykonane automatycznie. Xcodes wykonuje te kroki z pomocą helpera z uprawnieniami, który nie jest zainstalowany. Możesz go zainstalować w Ustawienia > Zaawansowane.\n\nTe kroki zostaną wykonane przy pierwszym uruchomieniu Xcode %@."; + +// Installation Steps +"Downloading" = "Pobieranie"; +"Unarchiving" = "Rozpakowywanie (To może chwilę potrwać)"; +"Moving" = "Przenoszenie do %@"; +"TrashingArchive" = "Przenoszenie archiwum do kosza"; +"CheckingSecurity" = "Weryfikacja zabezpieczeń"; +"Finishing" = "Kończenie"; + +// Notifications +"Notification.NewVersionAvailable" = "Dostępna jest nowa wersja"; +"Notification.FinishedInstalling" = "Zakończono instalację"; + + +"HelperClient.error" = "Nie można komunikować się z helperem z uprawnieniami."; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "Nowe wersje Xcode"; +"Notification.NewXcodeVersion.Body" = "Dostępne są nowe wersje Xcode do pobrania."; + +// WWDC +"WWDC.Message" = "👨🏻‍💻👩🏼‍💻 Wesołego WWDC %@! 👨🏽‍💻🧑🏻‍💻"; From 7245d54a7c4c3b075a2c38225f17c28658ebb466 Mon Sep 17 00:00:00 2001 From: Jakub Grzywacz Date: Sun, 16 Apr 2023 12:50:55 +0200 Subject: [PATCH 171/180] Docs: Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 66e97cf..fa5cb36 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ The following languages are supported because of the following community users! |Finnish 🇫🇮 |[@marcusziade](https://github.com/marcusziade)|Chinese-Traditional 🇹🇼|[@itszero](https://github.com/itszero)| |Ukranian 🇺🇦 |[@gelosi](https://github.com/gelosi)|Japanese 🇯🇵|[@tatsuz0u](https://github.com/tatsuz0u)| |German 🇩🇪|[@drct](https://github.com/drct)|Dutch 🇳🇱|[@jfversluis](https://github/com/jfversluis)| -|Brazilian Portuguese 🇧🇷|[@brunomunizaf](https://github.com/brunomunizaf)|| +|Brazilian Portuguese 🇧🇷|[@brunomunizaf](https://github.com/brunomunizaf)|Polish 🇵🇱|[@jakex7](https://github.com/jakex7)| Want to add more languages? Simply create a PR with the updated strings file. ## Installation From 771cb3242c1d31db331f9f54f4b9f1b3790e4cb6 Mon Sep 17 00:00:00 2001 From: LinXunFeng Date: Mon, 17 Apr 2023 13:37:49 +0800 Subject: [PATCH 172/180] Fix zh_Hans localizations --- Xcodes/Resources/zh-Hans.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings index c18bb9d..3bea058 100644 --- a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -90,7 +90,7 @@ "InstallPathDescription" = "Xcodes会在一个目录中检索及安装。默认(推荐)保持/Applications。任何对Xcode存储位置的变更都可能会导致其他App或服务停止工作。"; "OnSelectDoNothing" = "保持名称为Xcode-X.X.X.app"; -"OnSelectDoNothingDescription" = "选中时,将会将会保持各版本的名称。例如Xcode-13.4.1.app。"; +"OnSelectDoNothingDescription" = "选中时,将会保持各版本的名称。例如Xcode-13.4.1.app。"; "AutomaticallyCreateSymbolicLink" = "自动创建名为Xcode.app的软连接"; "AutomaticallyCreateSymbolicLinkDescription" = "当激活/选定某个Xcode版本时,尝试在安装目录创建一个名为Xcode.app的软链接。"; "OnSelectRenameXcode" = "总是重命名为Xcode.app"; From 3529b19295066d141df811b9a48870a8b7c8fa97 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 28 Mar 2023 20:49:10 +0800 Subject: [PATCH 173/180] Update unxip binary to v2.1 --- Xcodes/Resources/unxip | Bin 595666 -> 777392 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Xcodes/Resources/unxip b/Xcodes/Resources/unxip index 022d50d8921a8c492dc1b996d227a57548e827a4..46a7f314bab20f9d541e761366b6d8e2bd0907b6 100755 GIT binary patch literal 777392 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

{cS@9rZ<4xc%D=I;B(|F-;(>U~;0X~k6l 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 =GFW7 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μ=s@vI&g&A#4#jIR>8sf)mff0rjx%9MtiHAAZn9M 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 _o#z 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 Zo5@*Z&PEoNRRrKiURp(}T*CDE{{eKI(+~gv literal 0 HcmV?d00001 From c0974edc98f1ae392ff58452efa003a74092ba52 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Thu, 6 Jan 2022 21:38:22 -0600 Subject: [PATCH 019/180] Increment build number Signed-off-by: Matt Kiazyk --- Xcodes.xcodeproj/project.pbxproj | 6 +-- Xcodes/Resources/Info.plist | 2 +- Xcodes/Resources/Licenses.rtf | 69 +++++++++++++++++++++++++++++++- 3 files changed, 72 insertions(+), 5 deletions(-) diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 609ff3d..9d79db5 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -945,7 +945,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.0; + MARKETING_VERSION = 1.2.1; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1181,7 +1181,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.0; + MARKETING_VERSION = 1.2.1; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; @@ -1204,7 +1204,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.0; + MARKETING_VERSION = 1.2.1; PRODUCT_BUNDLE_IDENTIFIER = com.robotsandpencils.XcodesApp; PRODUCT_NAME = Xcodes; SWIFT_VERSION = 5.0; diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index ac71cf1..207b615 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 8 + 9 CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT $(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT) LSMinimumSystemVersion diff --git a/Xcodes/Resources/Licenses.rtf b/Xcodes/Resources/Licenses.rtf index 96bf513..0888bd6 100644 --- a/Xcodes/Resources/Licenses.rtf +++ b/Xcodes/Resources/Licenses.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2580 +{\rtf1\ansi\ansicpg1252\cocoartf2636 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} @@ -363,6 +363,73 @@ SOFTWARE.\ \ \ +\fs34 Sparkle\ +\ + +\fs26 Copyright (c) 2006-2013 Andy Matuschak.\ +Copyright (c) 2009-2013 Elgato Systems GmbH.\ +Copyright (c) 2011-2014 Kornel Lesi\uc0\u324 ski.\ +Copyright (c) 2015-2017 Mayur Pawashe.\ +Copyright (c) 2014 C.W. Betts.\ +Copyright (c) 2014 Petroules Corporation.\ +Copyright (c) 2014 Big Nerd Ranch.\ +All rights reserved.\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of\ +this software and associated documentation files (the "Software"), to deal in\ +the Software without restriction, including without limitation the rights to\ +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\ +the Software, and to permit persons to whom the Software is furnished to do so,\ +subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all\ +copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\ +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\ +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\ +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\ +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\ +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\ +=================\ +EXTERNAL LICENSES\ +=================\ +\ +bspatch.c and bsdiff.c, from bsdiff 4.3 :\ + Copyright (c) 2003-2005 Colin Percival.\ +\ +sais.c and sais.c, from sais-lite (2010/08/07) :\ + Copyright (c) 2008-2010 Yuta Mori.\ +\ +SUDSAVerifier.m:\ + Copyright (c) 2011 Mark Hamlin.\ +\ +All rights reserved.\ +\ +Redistribution and use in source and binary forms, with or without\ +modification, are permitted providing that the following conditions\ +are met:\ +1. Redistributions of source code must retain the above copyright\ + notice, this list of conditions and the following disclaimer.\ +2. Redistributions in binary form must reproduce the above copyright\ + notice, this list of conditions and the following disclaimer in the\ + documentation and/or other materials provided with the distribution.\ +\ +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\ +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\ +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\ +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\ +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\ +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\ +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\ +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\ +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\ +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\ +POSSIBILITY OF SUCH DAMAGE.\ +\ +\ + \fs34 LegibleError\ \ From ce001c8e68daf25d8287756b8b1cd343edac2398 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 4 Feb 2022 22:11:07 -0600 Subject: [PATCH 020/180] add a unxip experiment for faster unxipping --- README.md | 12 +++- Xcodes.xcodeproj/project.pbxproj | 10 ++++ .../contents.xcworkspacedata | 7 +++ Xcodes/Backend/AppState+Install.swift | 14 ++++- Xcodes/Backend/AppState.swift | 7 +++ Xcodes/Backend/Environment.swift | 11 ++++ Xcodes/Frontend/About/AboutView.swift | 21 ++++++- .../ExperiementsPreferencePane.swift | 55 ++++++++++++++++++ .../Preferences/PreferencesView.swift | 7 ++- Xcodes/Resources/Info.plist | 4 +- Xcodes/Resources/unxip | Bin 0 -> 236738 bytes experiment_dark.jpg | Bin 0 -> 76759 bytes experiment_light.jpg | Bin 0 -> 82443 bytes 13 files changed, 139 insertions(+), 9 deletions(-) create mode 100644 Xcodes/AcknowledgementsGenerator/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata create mode 100644 Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift create mode 100755 Xcodes/Resources/unxip create mode 100644 experiment_dark.jpg create mode 100644 experiment_light.jpg diff --git a/README.md b/README.md index 0d3a600..301c241 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,13 @@ _If you're looking for a command-line version of Xcodes.app, try [`xcodes`](http - View release notes, OS compatibility, included SDKs and compilers from [Xcode Releases](https://xcodereleases.com). - Dark/Light Mode supported +## Experiments + +- Thanks to the wonderful work of [https://github.com/saagarjha/unxip](https://github.com/saagarjha/unxip), turn on the experiment to increase your unxipping time by up to 70%! More can be found on his repo, but bugs, high memory may occur if used. + +![](experiment_light.png#gh-light-mode-only) +![](experiment_dark.png#gh-dark-mode-only) + ## Installation Xcodes.app runs on macOS Big Sur 11.0 or later. @@ -80,7 +87,10 @@ scripts/package_release.sh # Notarize the app # Do this from the Product directory so the app is zipped without being nested inside Product # Create a app specific password on appleid.apple.com if you haven't already -# % xcrun altool --store-password-in-keychain-item "AC_PASSWORD" -u "" -p +# xcrun notarytool store-credentials "AC_PASSWORD" \ +# --apple-id "test@example.com" \ +# --team-id "teamid" \ +# --password "app specific password" pushd Product ../scripts/notarize.sh "test@example.com" "@keychain:AC_PASSWORD" Xcodes.zip diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 9d79db5..bb2de18 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -104,6 +104,9 @@ E87DD6EB25D053FA00D86808 /* Progress+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87DD6EA25D053FA00D86808 /* Progress+.swift */; }; E89342FA25EDCC17007CF557 /* NotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E89342F925EDCC17007CF557 /* NotificationManager.swift */; }; E8977EA325C11E1500835F80 /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8977EA225C11E1500835F80 /* PreferencesView.swift */; }; + E8CBDB8727ADD92000B22292 /* unxip in Resources */ = {isa = PBXBuildFile; fileRef = E8CBDB8627ADD92000B22292 /* unxip */; }; + E8CBDB8927ADE32300B22292 /* unxip in Copy aria2c */ = {isa = PBXBuildFile; fileRef = E8CBDB8627ADD92000B22292 /* unxip */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + E8CBDB8B27AE02FF00B22292 /* ExperiementsPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */; }; E8DA461125FAF7FB002E85EF /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8DA461025FAF7FB002E85EF /* NotificationsView.swift */; }; E8E98A9025D8631800EC89A0 /* InstallationStepRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFBC3FF259AC17F00E2A3D8 /* InstallationStepRowView.swift */; }; E8E98A9625D863D700EC89A0 /* InstallationStepDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E98A9525D863D700EC89A0 /* InstallationStepDetailView.swift */; }; @@ -153,6 +156,7 @@ dstPath = ""; dstSubfolderSpec = 6; files = ( + E8CBDB8927ADE32300B22292 /* unxip in Copy aria2c */, CAA8589325A2B77E00ACF8C0 /* aria2c in Copy aria2c */, ); name = "Copy aria2c"; @@ -272,6 +276,8 @@ E87DD6EA25D053FA00D86808 /* Progress+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Progress+.swift"; sourceTree = ""; }; E89342F925EDCC17007CF557 /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = ""; }; E8977EA225C11E1500835F80 /* PreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = ""; }; + E8CBDB8627ADD92000B22292 /* unxip */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = unxip; sourceTree = ""; }; + E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperiementsPreferencePane.swift; sourceTree = ""; }; E8DA461025FAF7FB002E85EF /* NotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsView.swift; sourceTree = ""; }; E8E98A9525D863D700EC89A0 /* InstallationStepDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallationStepDetailView.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -484,6 +490,7 @@ CA9FF83E2594FBC000E47BAF /* Licenses.rtf */, CAD2E7AE2449575000113D76 /* Xcodes.entitlements */, CA8FB64D256E17B100469DA5 /* XcodesTest.entitlements */, + E8CBDB8627ADD92000B22292 /* unxip */, ); path = Resources; sourceTree = ""; @@ -561,6 +568,7 @@ CAFE4ABB25B7D54B0064FE51 /* UpdatesPreferencePane.swift */, E8977EA225C11E1500835F80 /* PreferencesView.swift */, E8DA461025FAF7FB002E85EF /* NotificationsView.swift */, + E8CBDB8A27AE02FF00B22292 /* ExperiementsPreferencePane.swift */, ); path = Preferences; sourceTree = ""; @@ -707,6 +715,7 @@ files = ( CAD2E7A92449575000113D76 /* Preview Assets.xcassets in Resources */, CA9FF83F2594FBC000E47BAF /* Licenses.rtf in Resources */, + E8CBDB8727ADD92000B22292 /* unxip in Resources */, CAA858DB25A3E11F00ACF8C0 /* aria2-release-1.35.0.tar.gz in Resources */, CAD2E7A62449575000113D76 /* Assets.xcassets in Resources */, ); @@ -785,6 +794,7 @@ CABFA9BD2592EEEA00380FEE /* Environment.swift in Sources */, CABFA9C32592EEEA00380FEE /* Downloads.swift in Sources */, CAC281DA259F985100B8AB0B /* InstallationStep.swift in Sources */, + E8CBDB8B27AE02FF00B22292 /* ExperiementsPreferencePane.swift in Sources */, E8E98A9625D863D700EC89A0 /* InstallationStepDetailView.swift in Sources */, CA378F992466567600A58CE0 /* AppState.swift in Sources */, CAD2E7A42449574E00113D76 /* XcodeListView.swift in Sources */, diff --git a/Xcodes/AcknowledgementsGenerator/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/Xcodes/AcknowledgementsGenerator/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/Xcodes/AcknowledgementsGenerator/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Xcodes/Backend/AppState+Install.swift b/Xcodes/Backend/AppState+Install.swift index 28449ee..a60a91c 100644 --- a/Xcodes/Backend/AppState+Install.swift +++ b/Xcodes/Backend/AppState+Install.swift @@ -238,8 +238,8 @@ extension AppState { func unarchiveAndMoveXIP(availableXcode: AvailableXcode, at source: URL, to destination: URL) -> AnyPublisher { self.setInstallationStep(of: availableXcode.version, to: .unarchiving) - - return Current.shell.unxip(source) + + return unxipOrUnxipExperiment(source) .catch { error -> AnyPublisher in if let executionError = error as? ProcessExecutionError { if executionError.standardError.contains("damaged and can’t be expanded") { @@ -278,6 +278,16 @@ extension AppState { }) .eraseToAnyPublisher() } + + func unxipOrUnxipExperiment(_ source: URL) -> AnyPublisher { + if unxipExperiment { + // All hard work done by https://github.com/saagarjha/unxip + // Compiled to binary with `swiftc -parse-as-library -O unxip.swift` + return Current.shell.unxipExperiment(source) + } else { + return Current.shell.unxip(source) + } + } public func verifySecurityAssessment(of xcode: InstalledXcode) -> AnyPublisher { return Current.shell.spctlAssess(xcode.path.url) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index 78755e6..db190ca 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -62,6 +62,12 @@ class AppState: ObservableObject { Current.defaults.set(localPath, forKey: "localPath") } } + + @Published var unxipExperiment = false { + didSet { + Current.defaults.set(unxipExperiment, forKey: "unxipExperiment") + } + } // MARK: - Publisher Cancellables @@ -96,6 +102,7 @@ class AppState: ObservableObject { func setupDefaults() { localPath = Current.defaults.string(forKey: "localPath") ?? Path.defaultXcodesApplicationSupport.string + unxipExperiment = Current.defaults.bool(forKey: "unxipExperiment") ?? false } // MARK: Timer diff --git a/Xcodes/Backend/Environment.swift b/Xcodes/Backend/Environment.swift index ef93c4a..de3b6b4 100644 --- a/Xcodes/Backend/Environment.swift +++ b/Xcodes/Backend/Environment.swift @@ -111,6 +111,12 @@ public struct Shell { return (progress, publisher) } + + public var unxipExperiment: (URL) -> AnyPublisher = { url in + let unxipPath = Path(url: Bundle.main.url(forAuxiliaryExecutable: "unxip")!)! + return Process.run(unxipPath.url, workingDirectory: url.deletingLastPathComponent(), ["\(url.path)"]) + } + } public struct Files { @@ -238,6 +244,11 @@ public struct Defaults { public func get(forKey key: String) -> Any? { get(key) } + + public var bool: (String) -> Bool? = { UserDefaults.standard.bool(forKey: $0) } + public func bool(forKey key: String) -> Bool? { + bool(key) + } } private let helperClient = HelperClient() diff --git a/Xcodes/Frontend/About/AboutView.swift b/Xcodes/Frontend/About/AboutView.swift index a34a817..b89004b 100644 --- a/Xcodes/Frontend/About/AboutView.swift +++ b/Xcodes/Frontend/About/AboutView.swift @@ -14,9 +14,6 @@ struct AboutView: View { Text("Version \(Bundle.main.shortVersion!) (\(Bundle.main.version!))") - Color.clear - .frame(width: 300, height: 16) - HStack(spacing: 32) { Button(action: { openURL(URL(string: "https://github.com/RobotsAndPencils/XcodesApp/")!) @@ -30,6 +27,24 @@ struct AboutView: View { } .buttonStyle(LinkButtonStyle()) } + Color.clear + .frame(width: 300, height: 0) + Label("Unxip Experiment", systemImage: "testtube.2") + HStack(spacing: 32) { + Button(action: { + openURL(URL(string: "https://github.com/saagarjha/unxip/")!) + }) { + Label("Github Repo", systemImage: "link") + } + .buttonStyle(LinkButtonStyle()) + + Button(action: { + openURL(URL(string: "https://github.com/saagarjha/unxip/blob/main/LICENSE")!) + }) { + Label("License", systemImage: "link") + } + .buttonStyle(LinkButtonStyle()) + } Text(Bundle.main.humanReadableCopyright!) .font(.footnote) diff --git a/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift b/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift new file mode 100644 index 0000000..1bc04e0 --- /dev/null +++ b/Xcodes/Frontend/Preferences/ExperiementsPreferencePane.swift @@ -0,0 +1,55 @@ +import AppleAPI +import SwiftUI +import Path + +struct ExperimentsPreferencePane: View { + @EnvironmentObject var appState: AppState + + var body: some View { + VStack(alignment: .leading, spacing: 20) { + GroupBox(label: Text("Faster Unxip")) { + VStack(alignment: .leading) { + Toggle( + "When unxipping, use experiment", + isOn: $appState.unxipExperiment + ) + AttributedText(unxipFootnote) + } + .fixedSize(horizontal: false, vertical: true) + } + .groupBoxStyle(PreferencesGroupBoxStyle()) + + Divider() + } + .frame(width: 500) + } + + private var unxipFootnote: NSAttributedString { + let string = """ + Thanks to @_saagarjha, this experiment can increase unxipping + speed by up to 70% for some systems. + + More information on how this is accomplished can be seen + on the unxip repo - https://github.com/saagarjha/unxip + """ + let attributedString = NSMutableAttributedString( + string: string, + attributes: [ + .font: NSFont.preferredFont(forTextStyle: .footnote, options: [:]), + .foregroundColor: NSColor.labelColor + ] + ) + attributedString.addAttribute(.link, value: URL(string: "https://twitter.com/_saagarjha")!, range: NSRange(string.range(of: "@_saagarjha")!, in: string)) + attributedString.addAttribute(.link, value: URL(string: "https://github.com/saagarjha/unxip")!, range: NSRange(string.range(of: "https://github.com/saagarjha/unxip")!, in: string)) + return attributedString + } +} + +struct ExperimentsPreferencePane_Previews: PreviewProvider { + static var previews: some View { + Group { + ExperimentsPreferencePane() + .environmentObject(AppState()) + } + } +} diff --git a/Xcodes/Frontend/Preferences/PreferencesView.swift b/Xcodes/Frontend/Preferences/PreferencesView.swift index 8e896aa..b4cbc2c 100644 --- a/Xcodes/Frontend/Preferences/PreferencesView.swift +++ b/Xcodes/Frontend/Preferences/PreferencesView.swift @@ -2,7 +2,7 @@ import SwiftUI struct PreferencesView: View { private enum Tabs: Hashable { - case general, updates, advanced + case general, updates, advanced, experiment } @EnvironmentObject var appState: AppState @@ -25,6 +25,11 @@ struct PreferencesView: View { Label("Advanced", systemImage: "gearshape.2") } .tag(Tabs.advanced) + ExperimentsPreferencePane() + .tabItem { + Label("Experiments", systemImage: "testtube.2") + } + .tag(Tabs.experiment) } .padding(20) } diff --git a/Xcodes/Resources/Info.plist b/Xcodes/Resources/Info.plist index 207b615..06877b9 100644 --- a/Xcodes/Resources/Info.plist +++ b/Xcodes/Resources/Info.plist @@ -25,7 +25,7 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - Copyright © 2020 Robots and Pencils. + Copyright © 2022 Robots and Pencils. NSPrincipalClass NSApplication NSSupportsAutomaticTermination @@ -35,7 +35,7 @@ SMPrivilegedExecutables com.robotsandpencils.XcodesApp.Helper - identifier "com.robotsandpencils.XcodesApp.Helper" and info [CFBundleShortVersionString] >= "1.0.0" and anchor apple generic and certificate leaf[subject.OU] = "$(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT)" + identifier "com.robotsandpencils.XcodesApp.Helper" and info [CFBundleShortVersionString] >= "1.0.0" and anchor apple generic and certificate leaf[subject.OU] = "$(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT)" SUFeedURL https://robotsandpencils.github.io/XcodesApp/appcast.xml diff --git a/Xcodes/Resources/unxip b/Xcodes/Resources/unxip new file mode 100755 index 0000000000000000000000000000000000000000..fb176857a91920e1ec080bf097ed67b6eb843840 GIT binary patch literal 236738 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