From 77ab5b9f595994a5872943eb84e02ce52df07efa Mon Sep 17 00:00:00 2001 From: Alex Maslov Date: Thu, 21 Apr 2022 10:39:45 -0400 Subject: [PATCH 01/10] 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 7a82620a8da3277a6377120119d73c777a4085b7 Mon Sep 17 00:00:00 2001 From: Alex Maslov Date: Thu, 21 Apr 2022 15:06:03 -0400 Subject: [PATCH 02/10] 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 03/10] 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 04/10] 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 05/10] 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 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 06/10] 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 07/10] 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 08/10] 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 09/10] 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 10/10] 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";