diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index 4523900..a190ae5 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -25,6 +25,7 @@ B0C6AD042AD6E65700E64698 /* ReleaseDateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C6AD032AD6E65700E64698 /* ReleaseDateView.swift */; }; B0C6AD0B2AD9178E00E64698 /* IdenticalBuildView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C6AD0A2AD9178E00E64698 /* IdenticalBuildView.swift */; }; B0C6AD0D2AD91D7900E64698 /* IconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C6AD0C2AD91D7900E64698 /* IconView.swift */; }; + C02500722B5B7F7300E826A1 /* String+.swift in Sources */ = {isa = PBXBuildFile; fileRef = C02500712B5B7F7300E826A1 /* String+.swift */; }; CA11E7BA2598476C00D2EE1C /* XcodeCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */; }; CA2518EC25A7FF2B00F08414 /* AppStateUpdateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */; }; CA25192A25A9644800F08414 /* XcodeInstallState.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA25192925A9644800F08414 /* XcodeInstallState.swift */; }; @@ -209,6 +210,7 @@ B0C6AD032AD6E65700E64698 /* ReleaseDateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReleaseDateView.swift; sourceTree = ""; }; B0C6AD0A2AD9178E00E64698 /* IdenticalBuildView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdenticalBuildView.swift; sourceTree = ""; }; B0C6AD0C2AD91D7900E64698 /* IconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconView.swift; sourceTree = ""; }; + C02500712B5B7F7300E826A1 /* String+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+.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 = ""; }; CA25192925A9644800F08414 /* XcodeInstallState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeInstallState.swift; sourceTree = ""; }; @@ -380,6 +382,7 @@ 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */, 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */, E84B7D0C2B296A8900DBDA2B /* NavigationSplitViewWrapper.swift */, + C02500712B5B7F7300E826A1 /* String+.swift */, ); path = Common; sourceTree = ""; @@ -886,6 +889,7 @@ CA9FF8662595130600E47BAF /* View+IsHidden.swift in Sources */, CAE4248C259A68B800B8B246 /* Optional+IsNotNil.swift in Sources */, B0C6AD0D2AD91D7900E64698 /* IconView.swift in Sources */, + C02500722B5B7F7300E826A1 /* String+.swift in Sources */, CA9FF9362595B44700E47BAF /* HelperClient.swift in Sources */, B0C6AD042AD6E65700E64698 /* ReleaseDateView.swift in Sources */, CAA8587C25A2B37900ACF8C0 /* IsTesting.swift in Sources */, diff --git a/Xcodes/Frontend/Common/String+.swift b/Xcodes/Frontend/Common/String+.swift new file mode 100644 index 0000000..cab5f89 --- /dev/null +++ b/Xcodes/Frontend/Common/String+.swift @@ -0,0 +1,16 @@ +// +// String+.swift +// Xcodes +// +// Created by Jinyu Meng on 2024/01/20. +// Copyright © 2024 Robots and Pencils. All rights reserved. +// + +import Foundation + +extension String { + // Declare String as String explicitly. Prevent it from being recognized as a LocalizedStringKey. + var hideInLocalizations: String { + return String(self) + } +} diff --git a/Xcodes/Frontend/InfoPane/CornerRadiusModifier.swift b/Xcodes/Frontend/InfoPane/CornerRadiusModifier.swift index 4d9d7e2..8b71b37 100644 --- a/Xcodes/Frontend/InfoPane/CornerRadiusModifier.swift +++ b/Xcodes/Frontend/InfoPane/CornerRadiusModifier.swift @@ -29,7 +29,7 @@ extension View { struct Previews_CornerRadius_Previews: PreviewProvider { static var previews: some View { HStack { - Text("XCODES RULES!") + Text("XCODES RULES!".hideInLocalizations) }.xcodesBackground() } } diff --git a/Xcodes/Frontend/InfoPane/IdenticalBuildView.swift b/Xcodes/Frontend/InfoPane/IdenticalBuildView.swift index 04ef3b8..78de8f6 100644 --- a/Xcodes/Frontend/InfoPane/IdenticalBuildView.swift +++ b/Xcodes/Frontend/InfoPane/IdenticalBuildView.swift @@ -29,7 +29,7 @@ struct IdenticalBuildsView: View { .font(.headline) ForEach(builds, id: \.description) { version in - Text("• \(version.appleDescription)") + Text("• \(version.appleDescription)".hideInLocalizations) .font(.subheadline) } } diff --git a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift index 21d6b8c..eef31b5 100644 --- a/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift +++ b/Xcodes/Frontend/Preferences/AdvancedPreferencePane.swift @@ -80,7 +80,7 @@ struct AdvancedPreferencePane: View { GroupBox(label: Text("Active/Select")) { VStack(alignment: .leading) { - Picker("OnSelect", selection: $appState.onSelectActionType) { + Picker("OnSelect".hideInLocalizations, selection: $appState.onSelectActionType) { Text(SelectedActionType.none.description) .tag(SelectedActionType.none) diff --git a/Xcodes/Frontend/SignIn/SignInCredentialsView.swift b/Xcodes/Frontend/SignIn/SignInCredentialsView.swift index 6d07065..8dabd39 100644 --- a/Xcodes/Frontend/SignIn/SignInCredentialsView.swift +++ b/Xcodes/Frontend/SignIn/SignInCredentialsView.swift @@ -13,7 +13,7 @@ struct SignInCredentialsView: View { HStack { Text("AppleID") .frame(minWidth: 100, alignment: .trailing) - TextField("example@icloud.com", text: $username) + TextField("example@icloud.com".hideInLocalizations, text: $username) } HStack { Text("Password") diff --git a/Xcodes/Frontend/XcodeList/AppStoreButtonStyle.swift b/Xcodes/Frontend/XcodeList/AppStoreButtonStyle.swift index 3b7b7df..74cd042 100644 --- a/Xcodes/Frontend/XcodeList/AppStoreButtonStyle.swift +++ b/Xcodes/Frontend/XcodeList/AppStoreButtonStyle.swift @@ -97,33 +97,33 @@ struct AppStoreButtonStyle_Previews: PreviewProvider { Group { ForEach([ColorScheme.light, .dark], id: \.self) { colorScheme in Group { - Button("OPEN", action: {}) + Button("OPEN".hideInLocalizations, action: {}) .buttonStyle(AppStoreButtonStyle(primary: true, highlighted: false)) .padding() .background(Color(.textBackgroundColor)) .previewDisplayName("Primary") - Button("OPEN", action: {}) + Button("OPEN".hideInLocalizations, action: {}) .buttonStyle(AppStoreButtonStyle(primary: true, highlighted: true)) .padding() .background(Color(.controlAccentColor)) .previewDisplayName("Primary, Highlighted") - Button("OPEN", action: {}) + Button("OPEN".hideInLocalizations, action: {}) .buttonStyle(AppStoreButtonStyle(primary: true, highlighted: false)) .padding() .disabled(true) .background(Color(.textBackgroundColor)) .previewDisplayName("Primary, Disabled") - Button("INSTALL", action: {}) + Button("INSTALL".hideInLocalizations, action: {}) .buttonStyle(AppStoreButtonStyle(primary: false, highlighted: false)) .padding() .background(Color(.textBackgroundColor)) .previewDisplayName("Secondary") - Button("INSTALL", action: {}) + Button("INSTALL".hideInLocalizations, action: {}) .buttonStyle(AppStoreButtonStyle(primary: false, highlighted: true)) .padding() .background(Color(.controlAccentColor)) .previewDisplayName("Secondary, Highlighted") - Button("INSTALL", action: {}) + Button("INSTALL".hideInLocalizations, action: {}) .buttonStyle(AppStoreButtonStyle(primary: false, highlighted: false)) .padding() .disabled(true)