This commit is contained in:
Alex Maslov 2022-04-21 10:39:45 -04:00
parent aad0f54ed3
commit 77ab5b9f59
5 changed files with 227 additions and 5 deletions

View file

@ -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 = "<group>"; };
536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = "<group>"; };
536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = "<group>"; };
53CBAB2B263DCC9100410495 /* XcodesAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesAlert.swift; sourceTree = "<group>"; };
@ -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 = "<group>";
@ -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";

View file

@ -44,6 +44,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "ru"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"

View file

@ -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;;}

View file

@ -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 доступны для скачивания.";

View file

@ -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)
}
// }
}