From 0e7deed1c676d9ea1f1e2e668474f4c77fd69d20 Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Wed, 5 Oct 2022 21:06:02 +0200 Subject: [PATCH 01/10] 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 02/10] 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 03/10] 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 04/10] 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 05/10] 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 06/10] 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 07/10] 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 08/10] 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 e533012ea065355085b0f03125e4bdb9cb3ac2eb Mon Sep 17 00:00:00 2001 From: Leon Wolf Date: Fri, 11 Nov 2022 10:40:03 +0100 Subject: [PATCH 09/10] 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 10/10] 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 */,