diff --git a/BitwardenResources/Localizations/en.lproj/Localizable.strings b/BitwardenResources/Localizations/en.lproj/Localizable.strings index 9ba2cc7ac8..69942a52ce 100644 --- a/BitwardenResources/Localizations/en.lproj/Localizable.strings +++ b/BitwardenResources/Localizations/en.lproj/Localizable.strings @@ -1080,7 +1080,6 @@ "ImportingEllipsis" = "Importing…"; "AreYouSureYouWantToCancelTheImportProcessQuestionMark" = "Are you sure you want to cancel the import process?"; "ImportFailed" = "Import failed"; -"ItemsSuccessfullyImported" = "%1$@ items successfully imported"; "ThereWasAnIssueImportingAllOfYourPasswordsNoDataWasDeleted" = "There was an issue importing all of your passwords.\n\nNo data was deleted."; "RetryImport" = "Retry import"; "ShowVault" = "Show vault"; @@ -1102,7 +1101,6 @@ "SendNameRequired" = "Send name (required)"; "CheckPasswordForDataBreaches" = "Check password for data breaches"; "PrivateNote" = "Private note"; -"XItems" = "%1$@ items"; "CannotDeleteUserSoleOwnerDescriptionLong" = "Cannot delete this user because it is the sole owner of at least one organization. Please delete these organizations or upgrade another user."; "APasskeyAlreadyExistsForThisApplication" = "A passkey already exists for this application."; "APasskeyAlreadyExistsForThisApplicationButAnErrorOccurredWhileLoadingIt" = "A passkey already exists for this application but an error occurred while loading it."; @@ -1194,8 +1192,6 @@ "PasswordLastUpdated" = "Password last updated: %1$@"; "DecryptionError" = "Decryption error"; "BitwardenCouldNotDecryptThisVaultItemDescriptionLong" = "Bitwarden could not decrypt this vault item. Copy and share this error report with customer success to avoid additional data loss."; -"BitwardenCouldNotDecryptOneVaultItemDescriptionLong" = "Bitwarden could not decrypt 1 vault item. Copy and share this error report with customer success to avoid additional data loss."; -"BitwardenCouldNotDecryptXVaultItemsDescriptionLong" = "Bitwarden could not decrypt %1$@ vault items. Copy and share this error report with customer success to avoid additional data loss."; "CopyErrorReport" = "Copy error report"; "ErrorCannotDecrypt" = "[error: cannot decrypt]"; "AccountName" = "Account name"; diff --git a/BitwardenResources/Localizations/en.lproj/Localizable.stringsdict b/BitwardenResources/Localizations/en.lproj/Localizable.stringsdict index 73a9386ee6..4378a060de 100644 --- a/BitwardenResources/Localizations/en.lproj/Localizable.stringsdict +++ b/BitwardenResources/Localizations/en.lproj/Localizable.stringsdict @@ -2,6 +2,23 @@ + + BitwardenCouldNotDecryptXVaultItemsDescriptionLong + + NSStringLocalizedFormatKey + %#@vaultitems@. Copy and share this error report with customer success to avoid additional data loss. + vaultitems + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + Bitwarden could not decrypt %d vault item + other + Bitwarden could not decrypt %d vault items + + XDays @@ -19,6 +36,40 @@ %d days + + XItems + + NSStringLocalizedFormatKey + %#@items@ + items + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d item + other + %d items + + + + XItemsSuccessfullyImported + + NSStringLocalizedFormatKey + %#@items@ successfully imported + items + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d item + other + %d items + + XHours diff --git a/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFState.swift b/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFState.swift index ed928d7d5f..7f57be13c7 100644 --- a/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFState.swift +++ b/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFState.swift @@ -65,7 +65,7 @@ struct ImportCXFState: Equatable, Sendable { case .importing: Localizations.pleaseDoNotCloseTheApp case let .success(total, _): - Localizations.itemsSuccessfullyImported(total) + Localizations.xItemsSuccessfullyImported(total) case let .failure(message): message } diff --git a/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFStateTests.swift b/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFStateTests.swift index 1451dc354a..33ffceb4c4 100644 --- a/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFStateTests.swift +++ b/BitwardenShared/UI/Tools/ImportCXF/ImportCXF/ImportCXFStateTests.swift @@ -65,7 +65,7 @@ class ImportCXFStateTests: BitwardenTestCase { XCTAssertEqual(subject.message, Localizations.pleaseDoNotCloseTheApp) subject.status = .success(totalImportedCredentials: 1, importedResults: []) - XCTAssertEqual(subject.message, Localizations.itemsSuccessfullyImported(1)) + XCTAssertEqual(subject.message, Localizations.xItemsSuccessfullyImported(1)) subject.status = .failure(message: "Something went wrong") XCTAssertEqual(subject.message, "Something went wrong") diff --git a/BitwardenShared/UI/Vault/Extensions/Alert+Vault.swift b/BitwardenShared/UI/Vault/Extensions/Alert+Vault.swift index bf948cd59a..ad18816167 100644 --- a/BitwardenShared/UI/Vault/Extensions/Alert+Vault.swift +++ b/BitwardenShared/UI/Vault/Extensions/Alert+Vault.swift @@ -27,9 +27,7 @@ extension Alert { let message = if isFromCipherTap { Localizations.bitwardenCouldNotDecryptThisVaultItemDescriptionLong } else { - cipherIds.count == 1 - ? Localizations.bitwardenCouldNotDecryptOneVaultItemDescriptionLong - : Localizations.bitwardenCouldNotDecryptXVaultItemsDescriptionLong(cipherIds.count) + Localizations.bitwardenCouldNotDecryptXVaultItemsDescriptionLong(cipherIds.count) } return Alert( diff --git a/BitwardenShared/UI/Vault/Extensions/AlertVaultTests.swift b/BitwardenShared/UI/Vault/Extensions/AlertVaultTests.swift index 958ca03b90..dc9b04d197 100644 --- a/BitwardenShared/UI/Vault/Extensions/AlertVaultTests.swift +++ b/BitwardenShared/UI/Vault/Extensions/AlertVaultTests.swift @@ -49,7 +49,7 @@ class AlertVaultTests: BitwardenTestCase { // swiftlint:disable:this type_body_l XCTAssertEqual(subject.title, Localizations.decryptionError) XCTAssertEqual( subject.message, - Localizations.bitwardenCouldNotDecryptOneVaultItemDescriptionLong, + Localizations.bitwardenCouldNotDecryptXVaultItemsDescriptionLong(1), ) XCTAssertEqual(subject.alertActions.count, 2) XCTAssertEqual(subject.alertActions[0].title, Localizations.copyErrorReport) @@ -62,7 +62,7 @@ class AlertVaultTests: BitwardenTestCase { // swiftlint:disable:this type_body_l copyString, """ \(Localizations.decryptionError) - \(Localizations.bitwardenCouldNotDecryptOneVaultItemDescriptionLong) + \(Localizations.bitwardenCouldNotDecryptXVaultItemsDescriptionLong(1)) 123abc """,