mirror of
				https://github.com/maxgoedjen/secretive.git
				synced 2025-10-30 23:10:57 +00:00 
			
		
		
		
	Set up and start main content view
This commit is contained in:
		
							parent
							
								
									8c67ea7c73
								
							
						
					
					
						commit
						de959345ed
					
				| @ -18,6 +18,7 @@ | ||||
| 		5003EF612780081600DF2006 /* SmartCardSecretKit in Frameworks */ = {isa = PBXBuildFile; productRef = 5003EF602780081600DF2006 /* SmartCardSecretKit */; }; | ||||
| 		5003EF632780081B00DF2006 /* SecureEnclaveSecretKit in Frameworks */ = {isa = PBXBuildFile; productRef = 5003EF622780081B00DF2006 /* SecureEnclaveSecretKit */; }; | ||||
| 		5003EF652780081B00DF2006 /* SmartCardSecretKit in Frameworks */ = {isa = PBXBuildFile; productRef = 5003EF642780081B00DF2006 /* SmartCardSecretKit */; }; | ||||
| 		500B93C32B478D8400E157DE /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 500B93C22B478D8400E157DE /* Localizable.xcstrings */; }; | ||||
| 		501421622781262300BBAA70 /* Brief in Frameworks */ = {isa = PBXBuildFile; productRef = 501421612781262300BBAA70 /* Brief */; }; | ||||
| 		501421652781268000BBAA70 /* SecretAgent.app in CopyFiles */ = {isa = PBXBuildFile; fileRef = 50A3B78A24026B7500D209EA /* SecretAgent.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; | ||||
| 		50153E20250AFCB200525160 /* UpdateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50153E1F250AFCB200525160 /* UpdateView.swift */; }; | ||||
| @ -108,6 +109,7 @@ | ||||
| 		50020BAF24064869003D4025 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; | ||||
| 		50033AC227813F1700253856 /* BundleIDs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleIDs.swift; sourceTree = "<group>"; }; | ||||
| 		5003EF39278005C800DF2006 /* Packages */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Packages; sourceTree = "<group>"; }; | ||||
| 		500B93C22B478D8400E157DE /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; }; | ||||
| 		50153E1F250AFCB200525160 /* UpdateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateView.swift; sourceTree = "<group>"; }; | ||||
| 		50153E21250DECA300525160 /* SecretListItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretListItemView.swift; sourceTree = "<group>"; }; | ||||
| 		5018F54E24064786002EB505 /* Notifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notifier.swift; sourceTree = "<group>"; }; | ||||
| @ -228,6 +230,7 @@ | ||||
| 				508BF28D25B4F005009EFB7E /* InternetAccessPolicy.plist */, | ||||
| 				50617D8F23FCE48E0099B055 /* Secretive.entitlements */, | ||||
| 				506772C62424784600034DED /* Credits.rtf */, | ||||
| 				500B93C22B478D8400E157DE /* Localizable.xcstrings */, | ||||
| 				50617D8823FCE48E0099B055 /* Preview Content */, | ||||
| 			); | ||||
| 			path = Secretive; | ||||
| @ -444,6 +447,7 @@ | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				50617D8A23FCE48E0099B055 /* Preview Assets.xcassets in Resources */, | ||||
| 				500B93C32B478D8400E157DE /* Localizable.xcstrings in Resources */, | ||||
| 				50617D8723FCE48E0099B055 /* Assets.xcassets in Resources */, | ||||
| 				506772C72424784600034DED /* Credits.rtf in Resources */, | ||||
| 				508BF28E25B4F005009EFB7E /* InternetAccessPolicy.plist in Resources */, | ||||
|  | ||||
							
								
								
									
										154
									
								
								Sources/Secretive/Localizable.xcstrings
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								Sources/Secretive/Localizable.xcstrings
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,154 @@ | ||||
| { | ||||
|   "sourceLanguage" : "en", | ||||
|   "strings" : { | ||||
|     "\n" : { | ||||
| 
 | ||||
|     }, | ||||
|     "\n\n" : { | ||||
| 
 | ||||
|     }, | ||||
|     "✓" : { | ||||
|       "localizations" : { | ||||
|         "en" : { | ||||
|           "stringUnit" : { | ||||
|             "state" : "translated", | ||||
|             "value" : "✓" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "agent_running_notice_detail_body" : { | ||||
|       "localizations" : { | ||||
|         "en" : { | ||||
|           "stringUnit" : { | ||||
|             "state" : "translated", | ||||
|             "value" : "SecretAgent is a process that runs in the background to sign requests, so you don't need to keep Secretive open all the time.\\n\\n**You can close Secretive, and everything will still keep working.**" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "agent_running_notice_detail_title" : { | ||||
|       "localizations" : { | ||||
|         "en" : { | ||||
|           "stringUnit" : { | ||||
|             "state" : "translated", | ||||
|             "value" : "SecretAgent is Running" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "agent_running_notice_title" : { | ||||
|       "localizations" : { | ||||
|         "en" : { | ||||
|           "stringUnit" : { | ||||
|             "state" : "translated", | ||||
|             "value" : "Agent is Running" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "app_not_in_applications_notice_detail_body" : { | ||||
|       "localizations" : { | ||||
|         "en" : { | ||||
|           "stringUnit" : { | ||||
|             "state" : "translated", | ||||
|             "value" : "Secretive needs to be in your Applications folder to work properly. Please move it and relaunch." | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "app_not_in_applications_notice_title" : { | ||||
|       "localizations" : { | ||||
|         "en" : { | ||||
|           "stringUnit" : { | ||||
|             "state" : "translated", | ||||
|             "value" : "Secretive Is Not in Applications Folder" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "Authentication not required when Mac is unlocked" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Confirm Name:" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Create a new one by clicking here." : { | ||||
| 
 | ||||
|     }, | ||||
|     "Create a New Secret" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Delete" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Delete %@?" : { | ||||
| 
 | ||||
|     }, | ||||
|     "If you delete %@, you will not be able to recover it. Type \"%@\" to confirm." : { | ||||
|       "localizations" : { | ||||
|         "en" : { | ||||
|           "stringUnit" : { | ||||
|             "state" : "translated", | ||||
|             "value" : "If you delete %1$@, you will not be able to recover it. Type \"%2$@\" to confirm." | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "Name:" : { | ||||
| 
 | ||||
|     }, | ||||
|     "No Secrets" : { | ||||
| 
 | ||||
|     }, | ||||
|     "No Secure Storage Available" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Release Notes" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Rename" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Requires Authentication (Biometrics or Password) before each use" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Secret Agent Is Not Running" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Secretive" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Secretive %@" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Secretive supports EC256, EC384, RSA1024, and RSA2048 keys." : { | ||||
| 
 | ||||
|     }, | ||||
|     "Secretive wants to sign" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Setup Secretive" : { | ||||
| 
 | ||||
|     }, | ||||
|     "This helper app is called **Secret Agent** and you may see it in Activity Manager from time to time." : { | ||||
| 
 | ||||
|     }, | ||||
|     "Touch ID Detail prompt.Detail two." : { | ||||
| 
 | ||||
|     }, | ||||
|     "Touch ID Prompt" : { | ||||
| 
 | ||||
|     }, | ||||
|     "Type your new name for \"%@\" below." : { | ||||
| 
 | ||||
|     }, | ||||
|     "Use your Smart Card's management tool to create a secret." : { | ||||
| 
 | ||||
|     }, | ||||
|     "Your Mac doesn't have a Secure Enclave, and there's not a compatible Smart Card inserted." : { | ||||
| 
 | ||||
|     } | ||||
|   }, | ||||
|   "version" : "1.0" | ||||
| } | ||||
| @ -138,7 +138,7 @@ extension ContentView { | ||||
|             showingAgentInfo = true | ||||
|         }, label: { | ||||
|             HStack { | ||||
|                 Text("Agent is Running") | ||||
|                 Text("agent_running_notice_title") | ||||
|                     .font(.headline) | ||||
|                     .foregroundColor(colorScheme == .light ? Color(white: 0.3) : .white) | ||||
|                 Circle() | ||||
| @ -149,10 +149,10 @@ extension ContentView { | ||||
|         .buttonStyle(ToolbarButtonStyle(lightColor: .black.opacity(0.05), darkColor: .white.opacity(0.05))) | ||||
|         .popover(isPresented: $showingAgentInfo, attachmentAnchor: attachmentAnchor, arrowEdge: .bottom) { | ||||
|             VStack { | ||||
|                 Text("SecretAgent is Running") | ||||
|                 Text("agent_running_notice_detail_title") | ||||
|                     .font(.title) | ||||
|                     .padding(5) | ||||
|                 Text("SecretAgent is a process that runs in the background to sign requests, so you don't need to keep Secretive open all the time.\n\n**You can close Secretive, and everything will still keep working.**") | ||||
|                 Text("agent_running_notice_detail_body") | ||||
|                     .frame(width: 300) | ||||
|             } | ||||
|             .padding() | ||||
| @ -166,7 +166,7 @@ extension ContentView { | ||||
|                 showingAppPathNotice = true | ||||
|             }, label: { | ||||
|                 Group { | ||||
|                     Text("Secretive Is Not in Applications Folder") | ||||
|                     Text("app_not_in_applications_notice_title") | ||||
|                 } | ||||
|                 .font(.headline) | ||||
|                 .foregroundColor(.white) | ||||
| @ -178,7 +178,7 @@ extension ContentView { | ||||
|                         .resizable() | ||||
|                         .aspectRatio(contentMode: .fit) | ||||
|                         .frame(width: 64) | ||||
|                     Text("Secretive needs to be in your Applications folder to work properly. Please move it and relaunch.") | ||||
|                     Text("app_not_in_applications_notice_detail_body") | ||||
|                         .frame(maxWidth: 300) | ||||
|                 } | ||||
|                 .padding() | ||||
|  | ||||
| @ -150,7 +150,7 @@ struct SecretAgentSetupView: View { | ||||
|                       bodyText: "Secretive needs to set up a helper app to work properly. It will sign requests from SSH clients in the background, so you don't need to keep the main Secretive app open.", | ||||
|                       buttonTitle: "Install", | ||||
|                       buttonAction: install) { | ||||
|             (Text("This helper app is called ") + Text("Secret Agent").bold().underline() + Text(" and you may see it in Activity Manager from time to time.")) | ||||
|             (Text("This helper app is called **Secret Agent** and you may see it in Activity Manager from time to time.")) | ||||
|                 .multilineTextAlignment(.center) | ||||
|         } | ||||
|     } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user