diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 3198f2b..3c0e68d 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -174,6 +174,7 @@ 58F743C02810A34900EEC0F3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 63EAA4EA259944450046AB8F /* ProgressButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressButton.swift; sourceTree = ""; }; B648F22B2810C1130096781B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + C0AE7FA4283002DC00DA63D2 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = ""; }; CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = ""; }; CA25192925A9644800F08414 /* XcodeInstallState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeInstallState.swift; sourceTree = ""; }; @@ -697,6 +698,7 @@ fr, ru, es, + "zh-Hans", ); mainGroup = CAD2E7952449574E00113D76; packageReferences = ( @@ -899,6 +901,7 @@ B648F22B2810C1130096781B /* fr */, 4A5AAA1D28118FAD00528958 /* ru */, 58F743C02810A34900EEC0F3 /* es */, + C0AE7FA4283002DC00DA63D2 /* zh-Hans */, ); name = Localizable.strings; sourceTree = ""; diff --git a/Xcodes/Resources/zh-Hans.lproj/Localizable.strings b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000..ee088ca --- /dev/null +++ b/Xcodes/Resources/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,218 @@ +// Menu +"Menu.About" = "关于Xcodes"; +"Menu.CheckForUpdates" = "检查更新…"; +"Menu.Acknowledgements" = "Xcodes版权声明"; +"Menu.GitHubRepo" = "Xcodes GitHub仓库"; +"Menu.ReportABug" = "反馈问题"; +"Menu.RequestNewFeature" = "建议新功能"; + +// Common +"Install" = "安装"; +"InstallDescription" = "安装此版本"; +"RevealInFinder" = "在访达中显示"; +"Active" = "已激活"; +"MakeActive" = "激活"; +"Open" = "打开"; +"OpenDescription" = "打开此版本"; +"CopyPath" = "复制文件位置"; +"CreateSymLink" = "以Xcode.app创建软链接"; +"Uninstall" = "卸载"; +"Selected" = "已选定"; +"Select" = "选定"; +"Cancel" = "取消"; +"Next" = "下一步"; +"Continue" = "继续"; +"Close" = "关闭"; +"OK" = "好"; + +// Info Pane +"IdenticalBuilds" = "重复版本"; +"IdenticalBuilds.help" = "有时预发布版本会与正式版使用相同的Build号。Xcodes会自动将这些版本显示为一个。"; + +"ReleaseDate" = "发布日期"; +"ReleaseNotes" = "更新说明"; +"ReleaseNotes.help" = "查看更新说明"; +"Compatibility" = "兼容性"; +"MacOSRequirement" = "需要macOS %@及以上"; +"SDKs" = "SDK"; +"Compilers" = "编译器"; +"DownloadSize" = "下载文件大小"; +"NoXcodeSelected" = "没有选定的Xcode版本"; + +// Installation Steps +// When localizing. Items will be replaced in order. ie "Step 1 of 6: Downloading" +// So if changing order, make sure the positional specficier is retained. ex: "%3$@: Step %1$d of %2$d" +"InstallationStepDescription" = "第%1$d步,共%2$d步:%3$@"; +"DownloadingPercentDescription" = "正在下载:已完成%d%%"; +"StopInstallation" = "停止安装"; +"DownloadingError" = "没有找到下载信息"; + +// About +"VersionWithBuild" = "版本%@ (%@)"; +"GithubRepo" = "GitHub仓库"; +"Acknowledgements" = "版权声明"; +"UnxipExperiment" = "Unxip Experiment"; +"License" = "许可协议"; + +// General Preference Pane +"General" = "通用"; +"AppleID" = "Apple ID"; +"SignIn" = "登录"; +"Notifications" = "通知"; + +// Updates Preference Pane +"Updates" = "更新"; +"Versions" = "版本"; +"AutomaticInstallNewVersion" = "自动安装最新的Xcode版本"; +"IncludePreRelease" = "包含预发布/测试版本"; +"AppUpdates" = "Xcodes.app更新"; +"CheckForAppUpdates" = "自动检查更新"; +"CheckNow" = "现在检查"; +"LastChecked" = "上次检查时间:%@"; +"Never" = "从未检查"; + +// Advanced Preference Pane +"Advanced" = "高级"; +"LocalCachePath" = "本地缓存位置"; +"LocalCachePathDescription" = "Xcodes会缓存可用的Xcode版本并暂时下载新版本到一个目录。"; +"Change" = "变更"; +"Active/Select" = "激活/选定"; +"AutomaticallyCreateSymbolicLink" = "自动创建名为Xcode.app的软连接"; +"AutomaticallyCreateSymbolicLinkDescription" = "当激活/选定某个Xcode版本时,尝试在安装目录创建一个名为Xcode.app的软链接。"; +"DataSource" = "数据源"; +"DataSourceDescription" = "Apple数据源是从Apple开发者网站爬取的。它会及时反应最新版本,但较为脆弱。\n\nXcode Releases是一个非官方的Xcode版本列表。它提供了良好格式化的数据,包含了不便从Apple直接获得的附加信息,且更不容易在Apple开发者网站无法访问时出现问题。"; +"Downloader" = "下载器"; +"DownloaderDescription" = "aria2使用最高16线程,能提供3至5倍的下载速度。它与它的源代码被一同打包在Xcodes中以符合GPLv2授权。\n\nURLSession是用于发起URL请求的默认Apple API。"; +"PrivilegedHelper" = "提权帮助程序"; +"PrivilegedHelperDescription" = "Xcodes使用一个独立的提权帮助程序来以root身份执行任务。就是那些需要在命令行中用sudo执行的命令。包括一些安装前置步骤以及用xcode-select切换 Xcode 版本。\n\n您需要提供当前用户的密码来安装它。"; +"HelperInstalled" = "帮助程序已安装"; +"HelperNotInstalled" = "帮助程序未安装"; +"InstallHelper" = "安装帮助程序"; + +// Experiment Preference Pane +"Experiments" = "实验性功能"; +"FasterUnxip" = "更快的xip解压"; +"UseUnxipExperiment" = "使用实验性功能解压xip"; +"FasterUnxipDescription" = "感谢@_saagarjha,此实验性功能可在部分系统上将xip解压速度提高70%。\n\n请从此仓库获取关于其实现细节的信息:https://github.com/saagarjha/unxip"; + +// Notifications +"AccessGranted" = "已授权。您将会收到Xcodes的通知。"; +"AccessDenied" = "⚠️ 没有权限 ⚠️\n\n请打开您的通知偏好设置并允许Xcodes发送通知。"; +"NotificationSettings" = "通知设置"; +"EnableNotifications" = "启用通知"; + +// SignIn +"SignInWithApple" = "使用您的Apple ID登录。"; +"AppleID" = "Apple ID:"; +"Password" = "密码:"; +"Required" = "必填"; +"SignOut" = "登出"; + +// SMS/2FA +"DigitCodeDescription" = "请输入从信任的设备接收到的%d位代码:"; +"SendSMS" = "发送短信"; +"EnterDigitCodeDescription" = "请输入发送到%@的%d位代码:"; +"SelectTrustedPhone" = "请选择一个信任的手机号来从短信接收%d位代码:"; +"NoTrustedPhones" = "您的账户没有任何信任的手机号,但这是两步验证所必须的。\n\n请参阅 https://support.apple.com/en-ca/HT204915。"; + +// MainWindow +"UpdatedAt" = "更新于"; + +// ToolBar +"Login" = "登录"; +"LoginDescription" = "打开登录窗口"; +"Refresh" = "刷新"; +"RefreshDescription" = "刷新Xcode列表"; +"All" = "全部"; +"Release" = "正式版"; +"ReleaseOnly" = "只显示正式版"; +"Beta" = "测试版"; +"BetaOnly" = "只显示测试版"; +"Filter" = "过滤"; +"FilterAvailableDescription" = "过滤可用版本"; +"FilterInstalledDescription" = "过滤已安装版本"; +"Info" = "信息"; +"InfoDescription" = "显示或隐藏信息面板"; +"Preferences" = "偏好设置"; +"PreferencesDescription" = "打开偏好设置"; +"Search" = "搜索…"; +"SearchDescription" = "搜索列表"; + +// List +"ActiveVersionDescription" = "这是一个已激活的版本"; +"MakeActiveVersionDescription" = "激活此版本"; + +// Alerts +// Uninstall +"Alert.Uninstall.Title" = "要卸载Xcode %@吗?"; +"Alert.Uninstall.Message" = "它会被移动到废纸篓,但废纸篓不会清空。"; +"Alert.Uninstall.Error.Title" = "无法卸载Xcode"; + +// Cancel Install +"Alert.CancelInstall.Title" = "您确定要终止Xcode %@的安装吗?"; +"Alert.CancelInstall.Message" = "所有进度都将会丢失。"; +"Alert.CancelInstall.PrimaryButton" = "终止安装"; + +// Privileged Helper +"Alert.PrivilegedHelper.Title" = "提权帮助程序"; +"Alert.PrivilegedHelper.Message" = "Xcodes使用一个独立的提权帮助程序来以root身份执行任务。就是那些需要在命令行中用sudo执行的命令。包括安装前置步骤以及用xcode-select切换Xcode版本。\n\n您需要提供当前用户的密码来安装它。"; +"Alert.PrivilegedHelper.Error.Title" = "无法安装帮助程序"; + +// Min MacOS Supported +"Alert.MinSupported.Title" = "没有达到安装所需的最低要求"; +"Alert.MinSupported.Message" = "Xcode %@需要macOS %@及以上,但您运行的是macOS %@,仍然要安装吗?"; + +// Install +"Alert.Install.Error.Title" = "无法安装Xcode"; +"Alert.InstallArchive.Error.Title" = "无法安装Xcode压缩文件"; + +// Update +"Alert.Update.Error.Title" = "无法更新选定的Xcode版本"; + +// Active/Select +"Alert.Select.Error.Title" = "无法选定Xcode版本"; + +// Symbolic Links +"Alert.SymLink.Title" = "无法创建软链接"; +"Alert.SymLink.Message" = "Xcode.app已存在且不是软连接"; + +// Post install +"Alert.PostInstall.Title" = "无法执行安装前置步骤"; + +// InstallationErrors +"InstallationError.DamagedXIP" = "此压缩文件“%@”已损坏且无法解压。"; +"InstallationError.NotEnoughFreeSpaceToExpandArchive" = "此压缩文件“%@”无法解压因为当前宗卷没有足够的可用空间。\n\n请空出更多空间并再次安装Xcode %@以从失败处继续。"; +"InstallationError.FailedToMoveXcodeToApplications" = "无法将Xcode移动到目录%@。"; +"InstallationError.FailedSecurityAssessment" = "Xcode %@无法完成安全评估,并输出如下:\n%@\n但它依然被安装到了%@如果您依然想使用它的话。"; +"InstallationError.CodesignVerifyFailed" = "无法验证下载的Xcode版本的代码签名,并输出如下:\n%@"; +"InstallationError.UnexpectedCodeSigningIdentity" = "下载的Xcode版本不包含期望的代码签名身份。\n读取到:\n%@\n%@\期望是:\n%@\n%@"; +"InstallationError.UnsupportedFileFormat" = "Xcodes尚未支持从%@格式安装。"; +"InstallationError.MissingSudoerPassword" = "缺少密码。请再试一次。"; +"InstallationError.UnavailableVersion" = "无法找到版本%@。"; +"InstallationError.NoNonPrereleaseVersionAvailable" = "没有非预发布版以外的其他可用版本。"; +"InstallationError.NoPrereleaseVersionAvailable" = "没有可用的预发布版本。"; +"InstallationError.MissingUsernameOrPassword" = "缺少用户名或密码。请再试一次。"; +"InstallationError.VersionAlreadyInstalled" = "%@已经被安装到%@"; +"InstallationError.InvalidVersion" = "%@不是一个正确的版本。"; +"InstallationError.VersionNotInstalled" = "%@没有被安装。"; +"InstallationError.PostInstallStepsNotPerformed.Installed" = "安装已完成,但一些前置步骤没有被自动执行。它们将会在您第一次运行Xcode %@时执行。"; +"InstallationError.PostInstallStepsNotPerformed.NotInstalled" = "安装已完成,但一些前置步骤没有被自动执行。Xcodes使用一个提权帮助程序来执行这些步骤,但帮助程序似乎没有被安装。您可以从 偏好设置 > 高级 中安装。\n\n这些步骤将会在您第一次运行Xcode %@时执行。"; + +// Installation Steps +"Downloading" = "正在下载"; +"Unarchiving" = "正在解压(这将需要一些时间)"; +"Moving" = "正在移动到%@"; +"TrashingArchive" = "正在将压缩文件移动到废纸篓"; +"CheckingSecurity" = "正在检查安全性"; +"Finishing" = "正在完成"; + +// Notifications +"Notification.NewVersionAvailable" = "新版本可用"; +"Notification.FinishedInstalling" = "安装完成"; + + +"HelperClient.error" = "无法与提权帮助程序通信。"; +///++ +// Notifications +"Notification.NewXcodeVersion.Title" = "新Xcode版本可用"; +"Notification.NewXcodeVersion.Body" = "新的Xcode版本已经可以下载。";