From ef7046d0a6f6a1a0da28157b0b5068e020c7a849 Mon Sep 17 00:00:00 2001 From: Max Goedjen Date: Fri, 12 Jan 2024 12:17:20 -0800 Subject: [PATCH] Consolidate localization files into one file that both targets reference --- Sources/SecretAgent/Localizable.xcstrings | 168 -------------------- Sources/Secretive.xcodeproj/project.pbxproj | 6 +- Sources/Secretive/Localizable.xcstrings | 164 ++++++++++++++++++- 3 files changed, 165 insertions(+), 173 deletions(-) delete mode 100644 Sources/SecretAgent/Localizable.xcstrings diff --git a/Sources/SecretAgent/Localizable.xcstrings b/Sources/SecretAgent/Localizable.xcstrings deleted file mode 100644 index 824e04c..0000000 --- a/Sources/SecretAgent/Localizable.xcstrings +++ /dev/null @@ -1,168 +0,0 @@ -{ - "sourceLanguage" : "en", - "strings" : { - "persist_authentication_accept_button" : { - "comment" : "When the user authorizes an action using a secret that requires unlock, they're shown a notification offering to leave the secret unlocked for a set period of time. This is the title for the notification.", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Leave Unlocked" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Laisser déverrouillé" - } - } - } - }, - "persist_authentication_decline_button" : { - "comment" : "When the user authorizes an action using a secret that requires unlock, they're shown a notification offering to leave the secret unlocked for a set period of time. This is the decline button for the notification.", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Do Not Unlock" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ne pas déverrouiller" - } - } - } - }, - "signed_notification_description_%@" : { - "comment" : "When the user performs an action using a secret, they're shown a notification describing what happened. This is the description, showing which secret was used. The placeholder is the name of the secret.", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Using secret %1$@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Utilisation du secret %1$@" - } - } - } - }, - "signed_notification_title_%@" : { - "comment" : "When the user performs an action using a secret, they're shown a notification describing what happened. This is the title, showing which app requested the action. The placeholder is the name of the app.", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Signed Request from %1$@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Requête signée de %1$@" - } - } - } - }, - "update_notification_ignore_button" : { - "comment" : "When an update is available, a notification is shown. This is the button to decline an update.", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ignore" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ignorer" - } - } - } - }, - "update_notification_update_button" : { - "comment" : "When an update is available, a notification is shown. This is the button to download an update.", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Update" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mettre à jour" - } - } - } - }, - "update_notification_update_critical_title_%@" : { - "comment" : "When an update is available, a notification is shown. This is the title for a very high priority update with security fixes. The placeholder is for the application version, eg \"Critical Security Update - 2.0\"", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Critical Security Update - %1$@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mise à jour critique de sécurité - %1$@" - } - } - } - }, - "update_notification_update_description" : { - "comment" : "When an update is available, a notification is shown. This is the description to download an update.", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Click to Update" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cliquer pour mettre à jour" - } - } - } - }, - "update_notification_update_normal_title_%@" : { - "comment" : "When an update is available, a notification is shown. This is the title for a normal priority update. The placeholder is for the application version, eg \"Update Available - 2.0\"", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Update Available - %1$@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mise à jour disponible - %1$@" - } - } - } - } - }, - "version" : "1.0" -} \ No newline at end of file diff --git a/Sources/Secretive.xcodeproj/project.pbxproj b/Sources/Secretive.xcodeproj/project.pbxproj index eadacb8..3414b6d 100644 --- a/Sources/Secretive.xcodeproj/project.pbxproj +++ b/Sources/Secretive.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ 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 */; }; - 500B93C72B479E2E00E157DE /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 500B93C62B479E2E00E157DE /* 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 */; }; @@ -53,6 +52,7 @@ 50B8550D24138C4F009958AC /* DeleteSecretView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50B8550C24138C4F009958AC /* DeleteSecretView.swift */; }; 50BB046B2418AAAE00D6E079 /* EmptyStoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50BB046A2418AAAE00D6E079 /* EmptyStoreView.swift */; }; 50C385A52407A76D00AF2719 /* SecretDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C385A42407A76D00AF2719 /* SecretDetailView.swift */; }; + 50E9CF422B51D596004AB36D /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 500B93C22B478D8400E157DE /* Localizable.xcstrings */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -111,7 +111,6 @@ 50033AC227813F1700253856 /* BundleIDs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleIDs.swift; sourceTree = ""; }; 5003EF39278005C800DF2006 /* Packages */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Packages; sourceTree = ""; }; 500B93C22B478D8400E157DE /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = ""; }; - 500B93C62B479E2E00E157DE /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = ""; }; 50153E1F250AFCB200525160 /* UpdateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateView.swift; sourceTree = ""; }; 50153E21250DECA300525160 /* SecretListItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretListItemView.swift; sourceTree = ""; }; 5018F54E24064786002EB505 /* Notifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notifier.swift; sourceTree = ""; }; @@ -316,7 +315,6 @@ 50A3B79824026B7600D209EA /* Info.plist */, 508BF29425B4F140009EFB7E /* InternetAccessPolicy.plist */, 50A3B79924026B7600D209EA /* SecretAgent.entitlements */, - 500B93C62B479E2E00E157DE /* Localizable.xcstrings */, 50A3B79224026B7600D209EA /* Preview Content */, ); path = SecretAgent; @@ -470,7 +468,7 @@ buildActionMask = 2147483647; files = ( 50A3B79724026B7600D209EA /* Main.storyboard in Resources */, - 500B93C72B479E2E00E157DE /* Localizable.xcstrings in Resources */, + 50E9CF422B51D596004AB36D /* Localizable.xcstrings in Resources */, 50A3B79424026B7600D209EA /* Preview Assets.xcassets in Resources */, 50A3B79124026B7600D209EA /* Assets.xcassets in Resources */, 508BF2AA25B4F1CB009EFB7E /* InternetAccessPolicy.plist in Resources */, diff --git a/Sources/Secretive/Localizable.xcstrings b/Sources/Secretive/Localizable.xcstrings index c273a20..71fc30f 100644 --- a/Sources/Secretive/Localizable.xcstrings +++ b/Sources/Secretive/Localizable.xcstrings @@ -1062,7 +1062,169 @@ } } } - } + }, + "persist_authentication_accept_button" : { + "comment" : "When the user authorizes an action using a secret that requires unlock, they're shown a notification offering to leave the secret unlocked for a set period of time. This is the title for the notification.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Leave Unlocked" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laisser déverrouillé" + } + } + } + }, + "persist_authentication_decline_button" : { + "comment" : "When the user authorizes an action using a secret that requires unlock, they're shown a notification offering to leave the secret unlocked for a set period of time. This is the decline button for the notification.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Do Not Unlock" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ne pas déverrouiller" + } + } + } + }, + "signed_notification_description_%@" : { + "comment" : "When the user performs an action using a secret, they're shown a notification describing what happened. This is the description, showing which secret was used. The placeholder is the name of the secret.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Using secret %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisation du secret %1$@" + } + } + } + }, + "signed_notification_title_%@" : { + "comment" : "When the user performs an action using a secret, they're shown a notification describing what happened. This is the title, showing which app requested the action. The placeholder is the name of the app.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Signed Request from %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Requête signée de %1$@" + } + } + } + }, + "update_notification_ignore_button" : { + "comment" : "When an update is available, a notification is shown. This is the button to decline an update.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ignore" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ignorer" + } + } + } + }, + "update_notification_update_button" : { + "comment" : "When an update is available, a notification is shown. This is the button to download an update.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Update" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mettre à jour" + } + } + } + }, + "update_notification_update_critical_title_%@" : { + "comment" : "When an update is available, a notification is shown. This is the title for a very high priority update with security fixes. The placeholder is for the application version, eg \"Critical Security Update - 2.0\"", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Critical Security Update - %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise à jour critique de sécurité - %1$@" + } + } + } + }, + "update_notification_update_description" : { + "comment" : "When an update is available, a notification is shown. This is the description to download an update.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Click to Update" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cliquer pour mettre à jour" + } + } + } + }, + "update_notification_update_normal_title_%@" : { + "comment" : "When an update is available, a notification is shown. This is the title for a normal priority update. The placeholder is for the application version, eg \"Update Available - 2.0\"", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Update Available - %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise à jour disponible - %1$@" + } + } + } + } }, "version" : "1.0" } \ No newline at end of file