From a12bcb454840de99d2166fae7bd96ed6bc6a6db0 Mon Sep 17 00:00:00 2001 From: "LamTrinh.Dev" Date: Mon, 16 Sep 2024 11:05:32 +0700 Subject: [PATCH 01/11] Fix typo issue at .github/SUPPORT.md --- .github/SUPPORT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md index cd45ed28d..09b9ff159 100644 --- a/.github/SUPPORT.md +++ b/.github/SUPPORT.md @@ -14,5 +14,5 @@ For _everything else_, please visit our official [Cryptomator Community](https:/ - Discussions about the apps - [Development discussions](https://community.cryptomator.org/c/development) - General questions - - Discussions regarding our design decissions + - Discussions regarding our design decisions - Our roadmap From 1f951ba0e598ee102ec60964d005ea9921958fa5 Mon Sep 17 00:00:00 2001 From: Majid Achhoud Date: Thu, 19 Sep 2024 11:31:57 +0200 Subject: [PATCH 02/11] Migrate from GRDB 5 to GRDB 6 (#378) Co-authored-by: Tobias Hagemann --- .../xcshareddata/swiftpm/Package.resolved | 36 +++++++++---------- .../AccountListPosition.swift | 8 ++--- Cryptomator/Common/DatabaseManager.swift | 2 +- Cryptomator/VaultList/VaultListPosition.swift | 8 ++--- CryptomatorCommon/Package.swift | 2 +- .../CryptomatorDatabase.swift | 7 ++-- .../Hub/HubRepository.swift | 2 +- .../CloudProviderAccountDBManager.swift | 2 +- .../Manager/VaultAccountDBManager.swift | 2 +- .../Manager/VaultDBCache.swift | 2 +- .../S3/S3CredentialManager.swift | 12 +++++-- .../DB/DeletionTaskRecord.swift | 2 +- .../DB/DownloadTaskRecord.swift | 2 +- .../DB/ItemEnumerationTaskRecord.swift | 2 +- CryptomatorFileProvider/DB/ItemMetadata.swift | 10 +++--- .../DB/LocalCachedFileInfo.swift | 2 +- .../DB/MaintenanceDBManager.swift | 2 +- .../DB/ReparentTaskRecord.swift | 2 +- .../DB/UploadTaskRecord.swift | 2 +- .../DB/CachedFileManagerTests.swift | 2 +- .../DB/DeletionTaskManagerTests.swift | 2 +- .../DB/DownloadTaskManagerTests.swift | 2 +- .../DB/ItemEnumerationTaskManagerTests.swift | 2 +- .../DB/MaintenanceManagerTests.swift | 2 +- .../DB/MetadataManagerTests.swift | 2 +- .../DB/ReparentTaskManagerTests.swift | 2 +- .../DB/UploadTaskManagerTests.swift | 2 +- .../WorkingSetObserverTests.swift | 2 +- 28 files changed, 66 insertions(+), 59 deletions(-) diff --git a/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 5bef68762..f8a238cf6 100644 --- a/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/openid/AppAuth-iOS.git", "state" : { - "revision" : "71cde449f13d453227e687458144bde372d30fc7", - "version" : "1.6.2" + "revision" : "c89ed571ae140f8eb1142735e6e23d7bb8c34cb2", + "version" : "1.7.5" } }, { @@ -32,8 +32,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/aws-amplify/aws-sdk-ios-spm.git", "state" : { - "revision" : "8ff8bebfe24271f7b16c5abaeb78daf82bee3a80", - "version" : "2.34.2" + "revision" : "6e23b91609f9ddf988fda58bf711896a6062d4ff", + "version" : "2.35.0" } }, { @@ -68,8 +68,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/cryptomator/cloud-access-swift.git", "state" : { - "revision" : "2d8444001a4b2c2ccf396942fd78680eefa9dc52", - "version" : "1.11.3" + "revision" : "383c51e1a9b6dee3d7b0a1652270aa0aacd29917", + "version" : "1.12.0" } }, { @@ -95,8 +95,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/leif-ibsen/Digest", "state" : { - "revision" : "bb5de567a7b109a473ef5fddd3f02f1e5b9e2a41", - "version" : "1.7.0" + "revision" : "844a17be22efaa443130d081f2c4fa5f12c68e91", + "version" : "1.8.0" } }, { @@ -122,8 +122,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/groue/GRDB.swift.git", "state" : { - "revision" : "dd7e7f39e8e4d7a22d258d9809a882f914690b01", - "version" : "5.26.1" + "revision" : "2cf6c756e1e5ef6901ebae16576a7e4e4b834622", + "version" : "6.29.3" } }, { @@ -131,8 +131,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { - "revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd", - "version" : "3.1.1" + "revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b", + "version" : "3.5.0" } }, { @@ -140,8 +140,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/GTMAppAuth.git", "state" : { - "revision" : "41aba100f28395ebe842cd66e5d371cdd46c6792", - "version" : "4.0.0" + "revision" : "5d7d66f647400952b1758b230e019b07c0b4b22a", + "version" : "4.1.1" } }, { @@ -158,8 +158,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/AzureAD/microsoft-authentication-library-for-objc.git", "state" : { - "revision" : "d2f81ded070ac6452b2a6acb5bc45eb566427fe7", - "version" : "1.3.3" + "revision" : "b8733236bfd16e10849f4752a4d1c4621e4bf930", + "version" : "1.5.0" } }, { @@ -221,8 +221,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/leif-ibsen/SwiftECC", "state" : { - "revision" : "0efa7eed9eeedb93e6d42bc4a18a40ef5c1ef2d0", - "version" : "5.3.0" + "revision" : "05733024083e9ef1a57f436dc59fe00bdf42d2a2", + "version" : "5.4.0" } }, { diff --git a/Cryptomator/Common/CloudAccountList/AccountListPosition.swift b/Cryptomator/Common/CloudAccountList/AccountListPosition.swift index f544be34b..9f5948efd 100644 --- a/Cryptomator/Common/CloudAccountList/AccountListPosition.swift +++ b/Cryptomator/Common/CloudAccountList/AccountListPosition.swift @@ -20,17 +20,17 @@ extension AccountListPosition: FetchableRecord, MutablePersistableRecord { static let databaseSelection: [SQLSelectable] = [AllColumns(), Column.rowID] static let account = belongsTo(CloudProviderAccount.self) - mutating func didInsert(with rowID: Int64, for column: String?) { - id = rowID + mutating func didInsert(_ inserted: InsertionSuccess) { + id = inserted.rowID } - init(row: Row) { + init(row: Row) throws { self.id = row[Column.rowID] self.position = row[Columns.position] self.accountUID = row[Columns.accountUID] } - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Column.rowID] = id container[Columns.position] = position container[Columns.accountUID] = accountUID diff --git a/Cryptomator/Common/DatabaseManager.swift b/Cryptomator/Common/DatabaseManager.swift index 1b0d9419b..c7142b0b2 100644 --- a/Cryptomator/Common/DatabaseManager.swift +++ b/Cryptomator/Common/DatabaseManager.swift @@ -97,7 +97,7 @@ class DatabaseManager { let observation = ValueObservation .tracking { db in try Row.fetchAll(db, request) } .removeDuplicates() - .map { rows in rows.map(AccountWithDisplayName.init(row:)) } + .map { rows in try rows.map(AccountWithDisplayName.init(row:)) } .map { annotatedAccounts in annotatedAccounts.map(\.account) } return observation.start(in: database, scheduling: .immediate, onError: onError, onChange: onChange) } diff --git a/Cryptomator/VaultList/VaultListPosition.swift b/Cryptomator/VaultList/VaultListPosition.swift index 71516e457..c00bf52a6 100644 --- a/Cryptomator/VaultList/VaultListPosition.swift +++ b/Cryptomator/VaultList/VaultListPosition.swift @@ -18,17 +18,17 @@ struct VaultListPosition: Codable { extension VaultListPosition: FetchableRecord, MutablePersistableRecord { static let databaseSelection: [SQLSelectable] = [AllColumns(), Column.rowID] - mutating func didInsert(with rowID: Int64, for column: String?) { - id = rowID + mutating func didInsert(_ inserted: InsertionSuccess) { + id = inserted.rowID } - init(row: Row) { + init(row: Row) throws { self.id = row[Column.rowID] self.position = row[Columns.position] self.vaultUID = row[Columns.vaultUID] } - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Column.rowID] = id container[Columns.position] = position container[Columns.vaultUID] = vaultUID diff --git a/CryptomatorCommon/Package.swift b/CryptomatorCommon/Package.swift index f86b99c00..a3758f5a2 100644 --- a/CryptomatorCommon/Package.swift +++ b/CryptomatorCommon/Package.swift @@ -26,7 +26,7 @@ let package = Package( ) ], dependencies: [ - .package(url: "https://github.com/cryptomator/cloud-access-swift.git", .upToNextMinor(from: "1.11.0")), + .package(url: "https://github.com/cryptomator/cloud-access-swift.git", .upToNextMinor(from: "1.12.0")), .package(url: "https://github.com/CocoaLumberjack/CocoaLumberjack.git", .upToNextMinor(from: "3.8.0")), .package(url: "https://github.com/PhilLibs/simple-swift-dependencies", .upToNextMajor(from: "0.1.0")), .package(url: "https://github.com/siteline/SwiftUI-Introspect.git", .upToNextMajor(from: "0.3.0")), diff --git a/CryptomatorCommon/Sources/CryptomatorCommonCore/CryptomatorDatabase.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/CryptomatorDatabase.swift index e8fcd36ad..1a0a9b773 100644 --- a/CryptomatorCommon/Sources/CryptomatorCommonCore/CryptomatorDatabase.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/CryptomatorDatabase.swift @@ -15,13 +15,14 @@ private enum CryptomatorDatabaseKey: DependencyKey { static let liveValue: DatabaseWriter = CryptomatorDatabase.live static var testValue: DatabaseWriter { - let inMemoryDB = DatabaseQueue(configuration: .defaultCryptomatorConfiguration) do { + let inMemoryDB = try DatabaseQueue(configuration: .defaultCryptomatorConfiguration) try CryptomatorDatabase.migrator.migrate(inMemoryDB) + return inMemoryDB } catch { - DDLogError("Failed to migrate in-memory database: \(error)") + DDLogError("Failed to initialize in-memory database: \(error)") + fatalError("Failed to initialize in-memory database") } - return inMemoryDB } } diff --git a/CryptomatorCommon/Sources/CryptomatorCommonCore/Hub/HubRepository.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/Hub/HubRepository.swift index f44ee2488..3fd46cd5c 100644 --- a/CryptomatorCommon/Sources/CryptomatorCommonCore/Hub/HubRepository.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/Hub/HubRepository.swift @@ -31,7 +31,7 @@ private struct HubVaultRow: Codable, Equatable, PersistableRecord, FetchableReco case vaultUID, subscriptionState } - public func encode(to container: inout PersistenceContainer) { + public func encode(to container: inout PersistenceContainer) throws { container[Columns.vaultUID] = vaultUID container[Columns.subscriptionState] = subscriptionState } diff --git a/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/CloudProviderAccountDBManager.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/CloudProviderAccountDBManager.swift index 5fe7ded1f..590595e97 100644 --- a/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/CloudProviderAccountDBManager.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/CloudProviderAccountDBManager.swift @@ -24,7 +24,7 @@ public struct CloudProviderAccount: Decodable, FetchableRecord, TableRecord, Equ } extension CloudProviderAccount: PersistableRecord { - public func encode(to container: inout PersistenceContainer) { + public func encode(to container: inout PersistenceContainer) throws { container[CloudProviderAccount.accountUIDKey] = accountUID container[CloudProviderAccount.cloudProviderTypeKey] = cloudProviderType } diff --git a/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultAccountDBManager.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultAccountDBManager.swift index 3069ca55b..7e13cbd19 100644 --- a/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultAccountDBManager.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultAccountDBManager.swift @@ -35,7 +35,7 @@ public struct VaultAccount: Decodable, FetchableRecord, TableRecord, Equatable { } extension VaultAccount: PersistableRecord { - public func encode(to container: inout PersistenceContainer) { + public func encode(to container: inout PersistenceContainer) throws { container[VaultAccount.vaultUIDKey] = vaultUID container[VaultAccount.delegateAccountUIDKey] = delegateAccountUID container[VaultAccount.vaultPathKey] = vaultPath diff --git a/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultDBCache.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultDBCache.swift index 5c81ae1b5..a835c0b20 100644 --- a/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultDBCache.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/Manager/VaultDBCache.swift @@ -35,7 +35,7 @@ extension CachedVault: FetchableRecord, TableRecord, PersistableRecord { case vaultUID, masterkeyFileData, vaultConfigToken, lastUpToDateCheck, masterkeyFileLastModifiedDate, vaultConfigLastModifiedDate } - public func encode(to container: inout PersistenceContainer) { + public func encode(to container: inout PersistenceContainer) throws { container[Columns.vaultUID] = vaultUID container[Columns.masterkeyFileData] = masterkeyFileData container[Columns.vaultConfigToken] = vaultConfigToken diff --git a/CryptomatorCommon/Sources/CryptomatorCommonCore/S3/S3CredentialManager.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/S3/S3CredentialManager.swift index 5e431b141..5736eb913 100644 --- a/CryptomatorCommon/Sources/CryptomatorCommonCore/S3/S3CredentialManager.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/S3/S3CredentialManager.swift @@ -5,6 +5,7 @@ // Created by Philipp Schmid on 29.06.22. // +import CocoaLumberjackSwift import CryptomatorCloudAccessCore import Dependencies import Foundation @@ -80,9 +81,14 @@ extension S3CredentialManager { var configuration = Configuration() // Workaround for a SQLite regression (see https://github.com/groue/GRDB.swift/issues/1171 for more details) configuration.acceptsDoubleQuotedStringLiterals = true - let inMemoryDB = DatabaseQueue(configuration: configuration) - try? CryptomatorDatabase.migrator.migrate(inMemoryDB) - return inMemoryDB + do { + let inMemoryDB = try DatabaseQueue(configuration: configuration) + try CryptomatorDatabase.migrator.migrate(inMemoryDB) + return inMemoryDB + } catch { + DDLogError("Failed to initialize in-memory database: \(error)") + fatalError("Failed to initialize in-memory database") + } } public static let demo = S3CredentialManager(keychain: CryptomatorKeychain(service: "s3CredentialDemo")) diff --git a/CryptomatorFileProvider/DB/DeletionTaskRecord.swift b/CryptomatorFileProvider/DB/DeletionTaskRecord.swift index 1036130b0..c88898ad1 100644 --- a/CryptomatorFileProvider/DB/DeletionTaskRecord.swift +++ b/CryptomatorFileProvider/DB/DeletionTaskRecord.swift @@ -30,7 +30,7 @@ extension DeletionTaskRecord { } extension DeletionTaskRecord: PersistableRecord { - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Columns.correspondingItem] = correspondingItem container[Columns.cloudPath] = cloudPath container[Columns.parentID] = parentID diff --git a/CryptomatorFileProvider/DB/DownloadTaskRecord.swift b/CryptomatorFileProvider/DB/DownloadTaskRecord.swift index e577c2cd2..c10ab5bba 100644 --- a/CryptomatorFileProvider/DB/DownloadTaskRecord.swift +++ b/CryptomatorFileProvider/DB/DownloadTaskRecord.swift @@ -21,7 +21,7 @@ struct DownloadTaskRecord: Decodable, FetchableRecord, TableRecord { } extension DownloadTaskRecord: PersistableRecord { - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Columns.correspondingItem] = correspondingItem container[Columns.replaceExisting] = replaceExisting container[Columns.localURL] = localURL diff --git a/CryptomatorFileProvider/DB/ItemEnumerationTaskRecord.swift b/CryptomatorFileProvider/DB/ItemEnumerationTaskRecord.swift index a01aae313..10ba72d2e 100644 --- a/CryptomatorFileProvider/DB/ItemEnumerationTaskRecord.swift +++ b/CryptomatorFileProvider/DB/ItemEnumerationTaskRecord.swift @@ -20,7 +20,7 @@ struct ItemEnumerationTaskRecord: Decodable, FetchableRecord, TableRecord { } extension ItemEnumerationTaskRecord: PersistableRecord { - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Columns.correspondingItem] = correspondingItem container[Columns.pageToken] = pageToken } diff --git a/CryptomatorFileProvider/DB/ItemMetadata.swift b/CryptomatorFileProvider/DB/ItemMetadata.swift index 4a10d78ae..1ff2aa50d 100644 --- a/CryptomatorFileProvider/DB/ItemMetadata.swift +++ b/CryptomatorFileProvider/DB/ItemMetadata.swift @@ -32,7 +32,7 @@ public class ItemMetadata: Record, Codable { var favoriteRank: Int64? var tagData: Data? - required init(row: Row) { + required init(row: Row) throws { self.id = row[Columns.id] self.name = row[Columns.name] self.type = row[Columns.type] @@ -45,7 +45,7 @@ public class ItemMetadata: Record, Codable { self.isMaybeOutdated = row[Columns.isMaybeOutdated] self.favoriteRank = row[Columns.favoriteRank] self.tagData = row[Columns.tagData] - super.init(row: row) + try super.init(row: row) } convenience init(item: CloudItemMetadata, withParentID parentID: Int64, isPlaceholderItem: Bool = false) { @@ -68,11 +68,11 @@ public class ItemMetadata: Record, Codable { super.init() } - override public func didInsert(with rowID: Int64, for column: String?) { - id = rowID + override public func didInsert(_ inserted: InsertionSuccess) { + id = inserted.rowID } - override public func encode(to container: inout PersistenceContainer) { + override public func encode(to container: inout PersistenceContainer) throws { container[Columns.id] = id container[Columns.name] = name container[Columns.type] = type diff --git a/CryptomatorFileProvider/DB/LocalCachedFileInfo.swift b/CryptomatorFileProvider/DB/LocalCachedFileInfo.swift index 403c3cf71..268f1ecd4 100644 --- a/CryptomatorFileProvider/DB/LocalCachedFileInfo.swift +++ b/CryptomatorFileProvider/DB/LocalCachedFileInfo.swift @@ -23,7 +23,7 @@ struct LocalCachedFileInfo: Decodable, FetchableRecord, TableRecord { } extension LocalCachedFileInfo: PersistableRecord { - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Columns.lastModifiedDate] = lastModifiedDate container[Columns.correspondingItem] = correspondingItem container[Columns.localLastModifiedDate] = localLastModifiedDate diff --git a/CryptomatorFileProvider/DB/MaintenanceDBManager.swift b/CryptomatorFileProvider/DB/MaintenanceDBManager.swift index a2969c5a0..910c95b83 100644 --- a/CryptomatorFileProvider/DB/MaintenanceDBManager.swift +++ b/CryptomatorFileProvider/DB/MaintenanceDBManager.swift @@ -76,7 +76,7 @@ private struct MaintenanceModeEntry: Decodable, FetchableRecord, TableRecord, Pe case id, flag } - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Columns.id] = id container[Columns.flag] = flag } diff --git a/CryptomatorFileProvider/DB/ReparentTaskRecord.swift b/CryptomatorFileProvider/DB/ReparentTaskRecord.swift index 391ab0dea..7ca472329 100644 --- a/CryptomatorFileProvider/DB/ReparentTaskRecord.swift +++ b/CryptomatorFileProvider/DB/ReparentTaskRecord.swift @@ -25,7 +25,7 @@ struct ReparentTaskRecord: Decodable, FetchableRecord, TableRecord { } extension ReparentTaskRecord: PersistableRecord { - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Columns.correspondingItem] = correspondingItem container[Columns.sourceCloudPath] = sourceCloudPath container[Columns.targetCloudPath] = targetCloudPath diff --git a/CryptomatorFileProvider/DB/UploadTaskRecord.swift b/CryptomatorFileProvider/DB/UploadTaskRecord.swift index 02d4fa879..49947b59b 100644 --- a/CryptomatorFileProvider/DB/UploadTaskRecord.swift +++ b/CryptomatorFileProvider/DB/UploadTaskRecord.swift @@ -40,7 +40,7 @@ struct UploadTaskRecord: Decodable, FetchableRecord, TableRecord { } extension UploadTaskRecord: PersistableRecord { - func encode(to container: inout PersistenceContainer) { + func encode(to container: inout PersistenceContainer) throws { container[Columns.correspondingItem] = correspondingItem container[Columns.lastFailedUploadDate] = lastFailedUploadDate container[Columns.uploadErrorCode] = uploadErrorCode diff --git a/CryptomatorFileProviderTests/DB/CachedFileManagerTests.swift b/CryptomatorFileProviderTests/DB/CachedFileManagerTests.swift index b5edb91f1..bfd6b9d4e 100644 --- a/CryptomatorFileProviderTests/DB/CachedFileManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/CachedFileManagerTests.swift @@ -19,7 +19,7 @@ class CachedFileManagerTests: CacheTestCase { override func setUpWithError() throws { try super.setUpWithError() - inMemoryDB = DatabaseQueue() + inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = CachedFileDBManager(database: inMemoryDB, fileManagerHelper: .init(fileCoordinator: .init())) metadataManager = ItemMetadataDBManager(database: inMemoryDB) diff --git a/CryptomatorFileProviderTests/DB/DeletionTaskManagerTests.swift b/CryptomatorFileProviderTests/DB/DeletionTaskManagerTests.swift index a8094f6e3..6395bece3 100644 --- a/CryptomatorFileProviderTests/DB/DeletionTaskManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/DeletionTaskManagerTests.swift @@ -16,7 +16,7 @@ class DeletionTaskManagerTests: XCTestCase { var itemMetadataManager: ItemMetadataDBManager! override func setUpWithError() throws { - let inMemoryDB = DatabaseQueue() + let inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = try DeletionTaskDBManager(database: inMemoryDB) itemMetadataManager = ItemMetadataDBManager(database: inMemoryDB) diff --git a/CryptomatorFileProviderTests/DB/DownloadTaskManagerTests.swift b/CryptomatorFileProviderTests/DB/DownloadTaskManagerTests.swift index abb9f426e..1b7258f0b 100644 --- a/CryptomatorFileProviderTests/DB/DownloadTaskManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/DownloadTaskManagerTests.swift @@ -17,7 +17,7 @@ class DownloadTaskManagerTests: XCTestCase { var inMemoryDB: DatabaseQueue! override func setUpWithError() throws { - inMemoryDB = DatabaseQueue() + inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = try DownloadTaskDBManager(database: inMemoryDB) itemMetadataManager = ItemMetadataDBManager(database: inMemoryDB) diff --git a/CryptomatorFileProviderTests/DB/ItemEnumerationTaskManagerTests.swift b/CryptomatorFileProviderTests/DB/ItemEnumerationTaskManagerTests.swift index 4eebc6a8d..fa5b1e02e 100644 --- a/CryptomatorFileProviderTests/DB/ItemEnumerationTaskManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/ItemEnumerationTaskManagerTests.swift @@ -17,7 +17,7 @@ class ItemEnumerationTaskManagerTests: XCTestCase { var inMemoryDB: DatabaseQueue! override func setUpWithError() throws { - inMemoryDB = DatabaseQueue() + inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = try ItemEnumerationTaskDBManager(database: inMemoryDB) itemMetadataManager = ItemMetadataDBManager(database: inMemoryDB) diff --git a/CryptomatorFileProviderTests/DB/MaintenanceManagerTests.swift b/CryptomatorFileProviderTests/DB/MaintenanceManagerTests.swift index 1065ab970..600cb3da7 100644 --- a/CryptomatorFileProviderTests/DB/MaintenanceManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/MaintenanceManagerTests.swift @@ -23,7 +23,7 @@ class MaintenanceManagerTests: XCTestCase { var inMemoryDB: DatabaseQueue! override func setUpWithError() throws { - inMemoryDB = DatabaseQueue() + inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = MaintenanceDBManager(database: inMemoryDB) itemMetadataManager = ItemMetadataDBManager(database: inMemoryDB) diff --git a/CryptomatorFileProviderTests/DB/MetadataManagerTests.swift b/CryptomatorFileProviderTests/DB/MetadataManagerTests.swift index e9981167c..e4be8e517 100644 --- a/CryptomatorFileProviderTests/DB/MetadataManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/MetadataManagerTests.swift @@ -15,7 +15,7 @@ class MetadataManagerTests: XCTestCase { var manager: ItemMetadataDBManager! override func setUpWithError() throws { - let inMemoryDB = DatabaseQueue() + let inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = ItemMetadataDBManager(database: inMemoryDB) } diff --git a/CryptomatorFileProviderTests/DB/ReparentTaskManagerTests.swift b/CryptomatorFileProviderTests/DB/ReparentTaskManagerTests.swift index ece6ef73c..78cbd2fce 100644 --- a/CryptomatorFileProviderTests/DB/ReparentTaskManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/ReparentTaskManagerTests.swift @@ -17,7 +17,7 @@ class ReparentTaskManagerTests: XCTestCase { var inMemoryDB: DatabaseQueue! override func setUpWithError() throws { - inMemoryDB = DatabaseQueue() + inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = try ReparentTaskDBManager(database: inMemoryDB) itemMetadataManager = ItemMetadataDBManager(database: inMemoryDB) diff --git a/CryptomatorFileProviderTests/DB/UploadTaskManagerTests.swift b/CryptomatorFileProviderTests/DB/UploadTaskManagerTests.swift index 585a8d53b..bf078d23c 100644 --- a/CryptomatorFileProviderTests/DB/UploadTaskManagerTests.swift +++ b/CryptomatorFileProviderTests/DB/UploadTaskManagerTests.swift @@ -18,7 +18,7 @@ class UploadTaskManagerTests: XCTestCase { var inMemoryDB: DatabaseQueue! override func setUpWithError() throws { - inMemoryDB = DatabaseQueue() + inMemoryDB = try DatabaseQueue() try DatabaseHelper.migrate(inMemoryDB) manager = UploadTaskDBManager(database: inMemoryDB) itemMetadataManager = ItemMetadataDBManager(database: inMemoryDB) diff --git a/CryptomatorFileProviderTests/WorkingSetObserverTests.swift b/CryptomatorFileProviderTests/WorkingSetObserverTests.swift index 728b31357..f3cf38f58 100644 --- a/CryptomatorFileProviderTests/WorkingSetObserverTests.swift +++ b/CryptomatorFileProviderTests/WorkingSetObserverTests.swift @@ -22,7 +22,7 @@ class WorkingSetObserverTests: XCTestCase { override func setUpWithError() throws { notificatorMock = FileProviderNotificatorTypeMock() - observer = WorkingSetObserver(domainIdentifier: .test, database: DatabaseQueue(), notificator: notificatorMock, uploadTaskManager: UploadTaskManagerMock(), cachedFileManager: CloudTaskExecutorTestCase.CachedFileManagerMock()) + observer = try WorkingSetObserver(domainIdentifier: .test, database: DatabaseQueue(), notificator: notificatorMock, uploadTaskManager: UploadTaskManagerMock(), cachedFileManager: CloudTaskExecutorTestCase.CachedFileManagerMock()) } func testHandleNewWorkingSetUpdate() throws { From 87bda1b8085b533b9f8f9a0f4c999641ceb8ee24 Mon Sep 17 00:00:00 2001 From: Tobias Hagemann Date: Thu, 19 Sep 2024 12:51:45 +0200 Subject: [PATCH 03/11] Downgraded SwiftECC to prevent test errors for now --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 4 ++-- CryptomatorCommon/Package.swift | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index f8a238cf6..a0c757ec0 100644 --- a/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -221,8 +221,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/leif-ibsen/SwiftECC", "state" : { - "revision" : "05733024083e9ef1a57f436dc59fe00bdf42d2a2", - "version" : "5.4.0" + "revision" : "0efa7eed9eeedb93e6d42bc4a18a40ef5c1ef2d0", + "version" : "5.3.0" } }, { diff --git a/CryptomatorCommon/Package.swift b/CryptomatorCommon/Package.swift index a3758f5a2..26987fb3d 100644 --- a/CryptomatorCommon/Package.swift +++ b/CryptomatorCommon/Package.swift @@ -30,7 +30,7 @@ let package = Package( .package(url: "https://github.com/CocoaLumberjack/CocoaLumberjack.git", .upToNextMinor(from: "3.8.0")), .package(url: "https://github.com/PhilLibs/simple-swift-dependencies", .upToNextMajor(from: "0.1.0")), .package(url: "https://github.com/siteline/SwiftUI-Introspect.git", .upToNextMajor(from: "0.3.0")), - .package(url: "https://github.com/leif-ibsen/SwiftECC", from: "5.0.0") + .package(url: "https://github.com/leif-ibsen/SwiftECC", .upToNextMinor(from: "5.3.0")) ], targets: [ .target( From 483223f23b1f41e2e385e54d4b946c8248d1b3b0 Mon Sep 17 00:00:00 2001 From: Majid Achhoud Date: Tue, 15 Oct 2024 12:16:51 +0200 Subject: [PATCH 04/11] Add UnauthorizedError screen for invalid cloud access in Files app (#384) --- Cryptomator.xcodeproj/project.pbxproj | 8 ++ .../FileProviderCoordinator.swift | 18 ++++- .../FileProviderCoordinatorError.swift | 13 +++ .../UnauthorizedErrorViewController.swift | 81 +++++++++++++++++++ SharedResources/en.lproj/Localizable.strings | 1 + 5 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 FileProviderExtensionUI/FileProviderCoordinatorError.swift create mode 100644 FileProviderExtensionUI/UnauthorizedErrorViewController.swift diff --git a/Cryptomator.xcodeproj/project.pbxproj b/Cryptomator.xcodeproj/project.pbxproj index 69493c602..7dfbf7e15 100644 --- a/Cryptomator.xcodeproj/project.pbxproj +++ b/Cryptomator.xcodeproj/project.pbxproj @@ -434,6 +434,8 @@ 74F5DC1C26DCD2FB00AFE989 /* StoreObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F5DC1B26DCD2FB00AFE989 /* StoreObserver.swift */; }; 74F5DC1F26DD036D00AFE989 /* StoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F5DC1E26DD036D00AFE989 /* StoreManager.swift */; }; 74FC576125ADED030003ED27 /* VaultCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74FC576025ADED030003ED27 /* VaultCell.swift */; }; + B330CB452CB5735300C21E03 /* UnauthorizedErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B330CB442CB5735000C21E03 /* UnauthorizedErrorViewController.swift */; }; + B3D19A442CB937C700CD18A5 /* FileProviderCoordinatorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3D19A432CB937BF00CD18A5 /* FileProviderCoordinatorError.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -1041,6 +1043,8 @@ 74F5DC1B26DCD2FB00AFE989 /* StoreObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreObserver.swift; sourceTree = ""; }; 74F5DC1E26DD036D00AFE989 /* StoreManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreManager.swift; sourceTree = ""; }; 74FC576025ADED030003ED27 /* VaultCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VaultCell.swift; sourceTree = ""; }; + B330CB442CB5735000C21E03 /* UnauthorizedErrorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnauthorizedErrorViewController.swift; sourceTree = ""; }; + B3D19A432CB937BF00CD18A5 /* FileProviderCoordinatorError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileProviderCoordinatorError.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1663,7 +1667,9 @@ 4A9FCB0B251A02A3002A8B41 /* FileProviderExtensionUI.entitlements */, 4AA621EB249A6A8400A0BCBD /* Info.plist */, 4A6A521A268B7147006F7368 /* FileProviderCoordinator.swift */, + B3D19A432CB937BF00CD18A5 /* FileProviderCoordinatorError.swift */, 4A6A5218268B6D31006F7368 /* OnboardingViewController.swift */, + B330CB442CB5735000C21E03 /* UnauthorizedErrorViewController.swift */, 4A6A520C268B5EF7006F7368 /* RootViewController.swift */, 4A9BED65268F2D9C00721BAA /* UnlockVaultViewController.swift */, 4AFD8C0E269304A700F77BA6 /* UnlockVaultViewModel.swift */, @@ -2670,6 +2676,8 @@ 4A804082276952C300D7D999 /* FileProviderCoordinatorSnapshotMock.swift in Sources */, 4A9BED66268F2D9D00721BAA /* UnlockVaultViewController.swift in Sources */, 4A6A521B268B7147006F7368 /* FileProviderCoordinator.swift in Sources */, + B330CB452CB5735300C21E03 /* UnauthorizedErrorViewController.swift in Sources */, + B3D19A442CB937C700CD18A5 /* FileProviderCoordinatorError.swift in Sources */, 4A6A5219268B6D32006F7368 /* OnboardingViewController.swift in Sources */, 4AFD8C0F269304A700F77BA6 /* UnlockVaultViewModel.swift in Sources */, ); diff --git a/FileProviderExtensionUI/FileProviderCoordinator.swift b/FileProviderExtensionUI/FileProviderCoordinator.swift index 40bc0ff09..eb74e39f5 100644 --- a/FileProviderExtensionUI/FileProviderCoordinator.swift +++ b/FileProviderExtensionUI/FileProviderCoordinator.swift @@ -63,9 +63,13 @@ class FileProviderCoordinator: Coordinator { func handleError(_ error: Error, for viewController: UIViewController) { DDLogError("Error: \(error)") - let alertController = UIAlertController(title: LocalizedString.getValue("common.alert.error.title"), message: error.localizedDescription, preferredStyle: .alert) - alertController.addAction(UIAlertAction(title: LocalizedString.getValue("common.button.ok"), style: .default)) - viewController.present(alertController, animated: true) + if let fileProviderError = error as? FileProviderCoordinatorError, case let .unauthorized(vaultName) = fileProviderError { + showUnauthorizedError(vaultName: vaultName) + } else { + let alertController = UIAlertController(title: LocalizedString.getValue("common.alert.error.title"), message: error.localizedDescription, preferredStyle: .alert) + alertController.addAction(UIAlertAction(title: LocalizedString.getValue("common.button.ok"), style: .default)) + viewController.present(alertController, animated: true) + } } func done() { @@ -80,6 +84,12 @@ class FileProviderCoordinator: Coordinator { navigationController.pushViewController(onboardingVC, animated: false) } + func showUnauthorizedError(vaultName: String) { + let unauthorizedErrorVC = UnauthorizedErrorViewController(vaultName: vaultName) + unauthorizedErrorVC.coordinator = self + navigationController.pushViewController(unauthorizedErrorVC, animated: true) + } + func openCryptomatorApp() { let url = URL(string: "cryptomator:")! extensionContext.open(url) { success in @@ -134,6 +144,8 @@ class FileProviderCoordinator: Coordinator { switch error { case CloudProviderError.noInternetConnection, LocalizedCloudProviderError.itemNotFound: break + case LocalizedCloudProviderError.unauthorized: + throw FileProviderCoordinatorError.unauthorized(vaultName: domain.displayName) default: throw error } diff --git a/FileProviderExtensionUI/FileProviderCoordinatorError.swift b/FileProviderExtensionUI/FileProviderCoordinatorError.swift new file mode 100644 index 000000000..9c097d2d0 --- /dev/null +++ b/FileProviderExtensionUI/FileProviderCoordinatorError.swift @@ -0,0 +1,13 @@ +// +// FileProviderCoordinatorError.swift +// Cryptomator +// +// Created by Majid Achhoud on 11.10.24. +// Copyright © 2024 Skymatic GmbH. All rights reserved. +// + +import Foundation + +public enum FileProviderCoordinatorError: Error { + case unauthorized(vaultName: String) +} diff --git a/FileProviderExtensionUI/UnauthorizedErrorViewController.swift b/FileProviderExtensionUI/UnauthorizedErrorViewController.swift new file mode 100644 index 000000000..10797c1dd --- /dev/null +++ b/FileProviderExtensionUI/UnauthorizedErrorViewController.swift @@ -0,0 +1,81 @@ +// +// UnauthorizedErrorViewController.swift +// Cryptomator +// +// Created by Majid Achhoud on 08.10.24. +// Copyright © 2024 Skymatic GmbH. All rights reserved. +// + +import CryptomatorCommonCore +import UIKit + +class UnauthorizedErrorViewController: UITableViewController { + weak var coordinator: FileProviderCoordinator? + private var vaultName: String + + private lazy var openCryptomatorCell: UITableViewCell = { + let cell = UITableViewCell() + cell.textLabel?.text = LocalizedString.getValue("fileProvider.onboarding.button.openCryptomator") + cell.textLabel?.textColor = .cryptomatorPrimary + return cell + }() + + init(vaultName: String) { + self.vaultName = vaultName + super.init(style: .insetGrouped) + } + + @available(*, unavailable) + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func viewDidLoad() { + super.viewDidLoad() + title = vaultName + let doneButton = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(done)) + navigationItem.rightBarButtonItem = doneButton + tableView.backgroundColor = .cryptomatorBackground + tableView.cellLayoutMarginsFollowReadableWidth = true + } + + @objc func done() { + coordinator?.userCancelled() + } + + override func numberOfSections(in tableView: UITableView) -> Int { + return 1 + } + + // MARK: - UITableViewDataSource + + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return 1 + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + return openCryptomatorCell + } + + // MARK: - UITableViewDelegate + + override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { + return UnauthorizedErrorHeaderView(vaultName: vaultName) + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + tableView.deselectRow(at: indexPath, animated: true) + coordinator?.openCryptomatorApp() + } +} + +private class UnauthorizedErrorHeaderView: LargeHeaderFooterView { + init(vaultName: String) { + let config = UIImage.SymbolConfiguration(pointSize: 120) + let symbolImage = UIImage(systemName: "exclamationmark.triangle.fill", withConfiguration: config)?.withTintColor(.systemYellow, renderingMode: .alwaysOriginal) + + let infoText = String(format: LocalizedString.getValue("fileprovider.error.unauthorized.text"), vaultName) + + super.init(image: symbolImage, infoText: infoText) + } +} diff --git a/SharedResources/en.lproj/Localizable.strings b/SharedResources/en.lproj/Localizable.strings index 5a1eb77f1..6445a8fd8 100644 --- a/SharedResources/en.lproj/Localizable.strings +++ b/SharedResources/en.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "The password that has been saved for %@ is wrong. Please try again and enter your password to re-enable %@."; "fileProvider.error.defaultLock.title" = "Unlock Required"; "fileProvider.error.defaultLock.message" = "To access and show the contents of your vault, it has to be unlocked."; +"fileprovider.error.unauthorized.text" = "Access to your vault \"%@\" was denied. Open the main app to check your connection and re-authenticate if needed."; "fileProvider.error.unlockButton" = "Unlock"; "fileProvider.clearFileFromCache.title" = "Clear File from Cache"; "fileProvider.clearFileFromCache.message" = "This only removes the local file from your device and does not delete the file in the cloud."; From 840ff2b623cc6d7cc2c3a2ea2bba295f42dfb364 Mon Sep 17 00:00:00 2001 From: Majid Achhoud Date: Wed, 16 Oct 2024 16:03:36 +0200 Subject: [PATCH 05/11] Bugfix: Missing lock icons in vaults list (#386) Co-authored-by: Tobias Hagemann --- Cryptomator.xcodeproj/project.pbxproj | 8 ----- .../Snapshots/SnapshotCoordinator.swift | 4 --- .../VaultList/VaultCellViewModel.swift | 7 +---- .../VaultList/VaultListViewModel.swift | 31 +++++++++---------- .../FileProviderXPC/VaultLocking.swift | 7 ----- .../Promise+AllIgnoringResult.swift | 2 +- .../Promise+AllIgnoringResultsTests.swift | 4 +-- .../XCTestCase+Promises.swift | 9 ++++++ .../FileProviderAdapterManager.swift | 13 -------- .../VaultLockingServiceSource.swift | 4 --- .../Workflow/WorkflowDependencyFactory.swift | 1 + .../FileProviderAdapterManagerTests.swift | 30 ------------------ .../FileProviderAdapterCacheTypeMock.swift | 15 --------- .../VaultListViewModelTests.swift | 9 ++---- 14 files changed, 31 insertions(+), 113 deletions(-) rename {CryptomatorFileProvider => CryptomatorCommon/Sources/CryptomatorCommonCore}/Promise+AllIgnoringResult.swift (69%) rename {CryptomatorFileProviderTests => CryptomatorCommon/Tests/CryptomatorCommonCoreTests}/Promise+AllIgnoringResultsTests.swift (92%) diff --git a/Cryptomator.xcodeproj/project.pbxproj b/Cryptomator.xcodeproj/project.pbxproj index 7dfbf7e15..2b06024a7 100644 --- a/Cryptomator.xcodeproj/project.pbxproj +++ b/Cryptomator.xcodeproj/project.pbxproj @@ -290,8 +290,6 @@ 4ABCF3522726D24800A7FBB7 /* MoveVaultViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ABCF3512726D24800A7FBB7 /* MoveVaultViewModelTests.swift */; }; 4AC005F127C3D80B006FFE87 /* PremiumManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC005F027C3D80B006FFE87 /* PremiumManager.swift */; }; 4AC005F327C3D932006FFE87 /* PremiumManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC005F227C3D932006FFE87 /* PremiumManagerMock.swift */; }; - 4AC1157627F5BD890023F51B /* Promise+AllIgnoringResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC1157527F5BD890023F51B /* Promise+AllIgnoringResult.swift */; }; - 4AC1157827F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC1157727F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift */; }; 4AC86270273598CC00E15BA5 /* UIViewController+ProgressHUDError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC8626F273598CC00E15BA5 /* UIViewController+ProgressHUDError.swift */; }; 4AD0F61C24AF203F0026B765 /* FileProvider+Actions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AD0F61B24AF203F0026B765 /* FileProvider+Actions.swift */; }; 4AD3D7D6282EBDE7008188CD /* Intents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AD3D7D5282EBDE7008188CD /* Intents.framework */; }; @@ -830,8 +828,6 @@ 4ABCF3512726D24800A7FBB7 /* MoveVaultViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoveVaultViewModelTests.swift; sourceTree = ""; }; 4AC005F027C3D80B006FFE87 /* PremiumManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PremiumManager.swift; sourceTree = ""; }; 4AC005F227C3D932006FFE87 /* PremiumManagerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PremiumManagerMock.swift; sourceTree = ""; }; - 4AC1157527F5BD890023F51B /* Promise+AllIgnoringResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Promise+AllIgnoringResult.swift"; sourceTree = ""; }; - 4AC1157727F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Promise+AllIgnoringResultsTests.swift"; sourceTree = ""; }; 4AC8626F273598CC00E15BA5 /* UIViewController+ProgressHUDError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+ProgressHUDError.swift"; sourceTree = ""; }; 4AD0F61B24AF203F0026B765 /* FileProvider+Actions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileProvider+Actions.swift"; sourceTree = ""; }; 4AD3D7D4282EBDE7008188CD /* CryptomatorIntents.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = CryptomatorIntents.appex; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1218,7 +1214,6 @@ 4AFBFA19282946BF00E30818 /* InMemoryProgressManagerTests.swift */, 4AB1D4EF27D20420009060AB /* LocalURLProviderTests.swift */, 4A0AA12C2ABA277800CF24FD /* PermissionProviderImplTests.swift */, - 4AC1157727F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift */, 4ADC66C427A7F6D6002E6CC7 /* UnlockMonitorTests.swift */, 4A4F47F224B875070033328B /* URL+NameCollisionExtensionTests.swift */, 4AE5196427F48D6600BA6E4A /* WorkflowDependencyFactoryTests.swift */, @@ -1932,7 +1927,6 @@ 4AEE6EE02822A33400E1B35E /* NSFileProviderItemIdentifier+Database.swift */, 4A0AA12A2AB8DB1800CF24FD /* PermissionProvider.swift */, 4AEE6EE92825716400E1B35E /* ProgressManager.swift */, - 4AC1157527F5BD890023F51B /* Promise+AllIgnoringResult.swift */, 4ADD233F26737CD400374E4E /* RootFileProviderItem.swift */, 4A7514A02937F777002E802E /* SessionTaskRegistrator.swift */, 4ADC66C027A7F426002E6CC7 /* UnlockMonitor.swift */, @@ -2578,7 +2572,6 @@ 4AB1C33C265E9DBC00DC7A49 /* CloudTaskExecutorTestCase.swift in Sources */, 4AE5196727F495BF00BA6E4A /* WorkflowDependencyTasksCollectionMock.swift in Sources */, 4A0AA12F2ABA2A1600CF24FD /* PermissionProviderMock.swift in Sources */, - 4AC1157827F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift in Sources */, 4AE5196527F48D6600BA6E4A /* WorkflowDependencyFactoryTests.swift in Sources */, 4A49FABE271ECDE80069A0CC /* ItemEnumerationTaskManagerTests.swift in Sources */, 4A248229266E2DD6002D9F59 /* FileProviderAdapterCreateDirectoryTests.swift in Sources */, @@ -2963,7 +2956,6 @@ 4ADD234026737CD400374E4E /* RootFileProviderItem.swift in Sources */, 747F2F232587BC250072FB30 /* ItemMetadataDBManager.swift in Sources */, 4A511D47265FEFBE000A0E01 /* DownloadTask.swift in Sources */, - 4AC1157627F5BD890023F51B /* Promise+AllIgnoringResult.swift in Sources */, 4A09E54E27071F4F0056D32A /* ErrorMapper.swift in Sources */, 4AEECD35279EB0FD00C6E2B5 /* FileProviderEnumerator.swift in Sources */, 4AE0D8DC2653DF1300DF5D22 /* DownloadTaskExecutor.swift in Sources */, diff --git a/Cryptomator/Snapshots/SnapshotCoordinator.swift b/Cryptomator/Snapshots/SnapshotCoordinator.swift index 30a75aa07..e9e29171a 100644 --- a/Cryptomator/Snapshots/SnapshotCoordinator.swift +++ b/Cryptomator/Snapshots/SnapshotCoordinator.swift @@ -100,10 +100,6 @@ private class SnapshotVaultLockingMock: VaultLocking { reply(true) } - func getUnlockedVaultDomainIdentifiers(reply: @escaping ([NSFileProviderDomainIdentifier]) -> Void) { - fatalError() - } - var serviceName: NSFileProviderServiceName = .init("org.cryptomator.ios.vault-locking") func makeListenerEndpoint() throws -> NSXPCListenerEndpoint { diff --git a/Cryptomator/VaultList/VaultCellViewModel.swift b/Cryptomator/VaultList/VaultCellViewModel.swift index a97e41c98..1a0ccf816 100644 --- a/Cryptomator/VaultList/VaultCellViewModel.swift +++ b/Cryptomator/VaultList/VaultCellViewModel.swift @@ -16,7 +16,6 @@ protocol VaultCellViewModelProtocol: TableViewCellViewModel, ViewModel { var vault: VaultInfo { get } var lockButtonIsHidden: AnyPublisher { get } func lockVault() -> Promise - func setVaultUnlockStatus(unlocked: Bool) } class VaultCellViewModel: TableViewCellViewModel, VaultCellViewModelProtocol { @@ -46,7 +45,7 @@ class VaultCellViewModel: TableViewCellViewModel, VaultCellViewModelProtocol { return getXPCPromise.then { xpc in xpc.proxy.lockVault(domainIdentifier: domainIdentifier) }.then { - self.setVaultUnlockStatus(unlocked: false) + self.vault.vaultIsUnlocked.value = false }.catch { error in self.errorPublisher.send(error) }.always { @@ -54,10 +53,6 @@ class VaultCellViewModel: TableViewCellViewModel, VaultCellViewModelProtocol { } } - func setVaultUnlockStatus(unlocked: Bool) { - vault.vaultIsUnlocked.value = unlocked - } - override func hash(into hasher: inout Hasher) { hasher.combine(vault.vaultUID) } diff --git a/Cryptomator/VaultList/VaultListViewModel.swift b/Cryptomator/VaultList/VaultListViewModel.swift index facc4ed0a..0adb8722b 100644 --- a/Cryptomator/VaultList/VaultListViewModel.swift +++ b/Cryptomator/VaultList/VaultListViewModel.swift @@ -104,24 +104,23 @@ class VaultListViewModel: ViewModel, VaultListViewModelProtocol { } func refreshVaultLockStates() -> Promise { - let getXPCPromise: Promise> = fileProviderConnector.getXPC(serviceName: .vaultLocking, domain: nil) + let promises = vaultCellViewModels.map { vaultCellViewModel in + return checkVaultUnlockStatus(for: vaultCellViewModel.vault) + } + return all(ignoringResult: promises) + } + + private func checkVaultUnlockStatus(for vault: VaultInfo) -> Promise { + let domainIdentifier = NSFileProviderDomainIdentifier(vault.vaultUID) + let getXPCPromise: Promise> = fileProviderConnector.getXPC(serviceName: .vaultLocking, domainIdentifier: domainIdentifier) return getXPCPromise.then { xpc in - return wrap { handler in - xpc.proxy.getUnlockedVaultDomainIdentifiers(reply: handler) - } - }.then { unlockedVaultDomainIdentifiers -> Void in - for domainIdentifier in unlockedVaultDomainIdentifiers { - let vaultInfo = self.vaultCellViewModels.first { $0.vault.vaultUID == domainIdentifier.rawValue } - vaultInfo?.setVaultUnlockStatus(unlocked: true) - } - self.vaultCellViewModels.filter { vaultCellViewModel in - unlockedVaultDomainIdentifiers.allSatisfy { domainIdentifier in - vaultCellViewModel.vault.vaultUID != domainIdentifier.rawValue - } - }.forEach { vaultCellViewModel in - vaultCellViewModel.setVaultUnlockStatus(unlocked: false) - } + return xpc.proxy.getIsUnlockedVault(domainIdentifier: domainIdentifier) + }.then { isUnlocked -> Void in + DDLogDebug("Vault \(vault.vaultUID) unlock status: \(isUnlocked ? "Unlocked" : "Locked")") + vault.vaultIsUnlocked.value = isUnlocked + }.catch { error in + DDLogError("Failed to check unlock status for vault \(vault.vaultUID): \(error)") }.always { self.fileProviderConnector.invalidateXPC(getXPCPromise) } diff --git a/CryptomatorCommon/Sources/CryptomatorCommonCore/FileProviderXPC/VaultLocking.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/FileProviderXPC/VaultLocking.swift index efa769e1c..f5fe652bc 100644 --- a/CryptomatorCommon/Sources/CryptomatorCommonCore/FileProviderXPC/VaultLocking.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/FileProviderXPC/VaultLocking.swift @@ -14,7 +14,6 @@ import Promises func lockVault(domainIdentifier: NSFileProviderDomainIdentifier) func gracefulLockVault(domainIdentifier: NSFileProviderDomainIdentifier, reply: @escaping (Error?) -> Void) func getIsUnlockedVault(domainIdentifier: NSFileProviderDomainIdentifier, reply: @escaping (Bool) -> Void) - func getUnlockedVaultDomainIdentifiers(reply: @escaping ([NSFileProviderDomainIdentifier]) -> Void) } public extension NSFileProviderServiceName { @@ -41,10 +40,4 @@ public extension VaultLocking { self.getIsUnlockedVault(domainIdentifier: domainIdentifier, reply: replyHandler) } } - - func getUnlockedVaultDomainIdentifiers() -> Promise<[NSFileProviderDomainIdentifier]> { - return wrap { replyHandler in - self.getUnlockedVaultDomainIdentifiers(reply: replyHandler) - } - } } diff --git a/CryptomatorFileProvider/Promise+AllIgnoringResult.swift b/CryptomatorCommon/Sources/CryptomatorCommonCore/Promise+AllIgnoringResult.swift similarity index 69% rename from CryptomatorFileProvider/Promise+AllIgnoringResult.swift rename to CryptomatorCommon/Sources/CryptomatorCommonCore/Promise+AllIgnoringResult.swift index 057ba025a..d16ca1db6 100644 --- a/CryptomatorFileProvider/Promise+AllIgnoringResult.swift +++ b/CryptomatorCommon/Sources/CryptomatorCommonCore/Promise+AllIgnoringResult.swift @@ -9,7 +9,7 @@ import Foundation import Promises -func all(ignoringResult promises: Container) -> Promise where Container.Element == Promise { +public func all(ignoringResult promises: Container) -> Promise where Container.Element == Promise { return any(promises).then { _ -> Void in // discard result }.recover { _ -> Void in diff --git a/CryptomatorFileProviderTests/Promise+AllIgnoringResultsTests.swift b/CryptomatorCommon/Tests/CryptomatorCommonCoreTests/Promise+AllIgnoringResultsTests.swift similarity index 92% rename from CryptomatorFileProviderTests/Promise+AllIgnoringResultsTests.swift rename to CryptomatorCommon/Tests/CryptomatorCommonCoreTests/Promise+AllIgnoringResultsTests.swift index df9833f9a..106e5b744 100644 --- a/CryptomatorFileProviderTests/Promise+AllIgnoringResultsTests.swift +++ b/CryptomatorCommon/Tests/CryptomatorCommonCoreTests/Promise+AllIgnoringResultsTests.swift @@ -1,14 +1,14 @@ // // Promise+AllIgnoringResultsTests.swift -// CryptomatorFileProviderTests +// CryptomatorCommonCoreTests // // Created by Philipp Schmid on 31.03.22. // Copyright © 2022 Skymatic GmbH. All rights reserved. // +import CryptomatorCommonCore import Promises import XCTest -@testable import CryptomatorFileProvider class Promise_AllIgnoringResultsTests: XCTestCase { func testWaitForAll() throws { diff --git a/CryptomatorCommon/Tests/CryptomatorCommonCoreTests/XCTestCase+Promises.swift b/CryptomatorCommon/Tests/CryptomatorCommonCoreTests/XCTestCase+Promises.swift index 938c35b74..ef9ccdcd8 100644 --- a/CryptomatorCommon/Tests/CryptomatorCommonCoreTests/XCTestCase+Promises.swift +++ b/CryptomatorCommon/Tests/CryptomatorCommonCoreTests/XCTestCase+Promises.swift @@ -37,4 +37,13 @@ extension XCTestCase { } wait(for: [expectation], timeout: 1.0) } + + func XCTAssertGetsNotExecuted(_ promise: Promise, timeout seconds: TimeInterval = 1.0, file: StaticString = #filePath, line: UInt = #line) { + let expectation = XCTestExpectation() + expectation.isInverted = true + promise.always { + expectation.fulfill() + } + wait(for: [expectation], timeout: seconds) + } } diff --git a/CryptomatorFileProvider/FileProviderAdapterManager.swift b/CryptomatorFileProvider/FileProviderAdapterManager.swift index d53e08185..fcaaa2c5b 100644 --- a/CryptomatorFileProvider/FileProviderAdapterManager.swift +++ b/CryptomatorFileProvider/FileProviderAdapterManager.swift @@ -141,12 +141,6 @@ public class FileProviderAdapterManager: FileProviderAdapterProviding { return adapterCache.getItem(identifier: domainIdentifier) != nil } - public func getDomainIdentifiersOfUnlockedVaults() -> [NSFileProviderDomainIdentifier] { - let cachedIdentifiers = adapterCache.getAllCachedIdentifiers() - cachedIdentifiers.forEach { updateLockStatus(domainIdentifier: $0) } - return adapterCache.getAllCachedIdentifiers() - } - /** Locks a vault gracefully. @@ -250,7 +244,6 @@ protocol FileProviderAdapterCacheType { func cacheItem(_ item: AdapterCacheItem, identifier: NSFileProviderDomainIdentifier) func removeItem(identifier: NSFileProviderDomainIdentifier) func getItem(identifier: NSFileProviderDomainIdentifier) -> AdapterCacheItem? - func getAllCachedIdentifiers() -> [NSFileProviderDomainIdentifier] } class FileProviderAdapterCache: FileProviderAdapterCacheType { @@ -274,10 +267,4 @@ class FileProviderAdapterCache: FileProviderAdapterCacheType { return cachedAdapters[identifier] } } - - func getAllCachedIdentifiers() -> [NSFileProviderDomainIdentifier] { - queue.sync { - return cachedAdapters.map { $0.key } - } - } } diff --git a/CryptomatorFileProvider/ServiceSource/VaultLockingServiceSource.swift b/CryptomatorFileProvider/ServiceSource/VaultLockingServiceSource.swift index b6e5576f7..96f118126 100644 --- a/CryptomatorFileProvider/ServiceSource/VaultLockingServiceSource.swift +++ b/CryptomatorFileProvider/ServiceSource/VaultLockingServiceSource.swift @@ -35,8 +35,4 @@ public class VaultLockingServiceSource: ServiceSource, VaultLocking { public func getIsUnlockedVault(domainIdentifier: NSFileProviderDomainIdentifier, reply: @escaping (Bool) -> Void) { reply(FileProviderAdapterManager.shared.vaultIsUnlocked(domainIdentifier: domainIdentifier)) } - - public func getUnlockedVaultDomainIdentifiers(reply: @escaping ([NSFileProviderDomainIdentifier]) -> Void) { - reply(FileProviderAdapterManager.shared.getDomainIdentifiersOfUnlockedVaults()) - } } diff --git a/CryptomatorFileProvider/Workflow/WorkflowDependencyFactory.swift b/CryptomatorFileProvider/Workflow/WorkflowDependencyFactory.swift index c35c7f311..9aa0d2fb0 100644 --- a/CryptomatorFileProvider/Workflow/WorkflowDependencyFactory.swift +++ b/CryptomatorFileProvider/Workflow/WorkflowDependencyFactory.swift @@ -8,6 +8,7 @@ import CocoaLumberjackSwift import CryptomatorCloudAccessCore +import CryptomatorCommonCore import Foundation import Promises diff --git a/CryptomatorFileProviderTests/FileProviderAdapterManagerTests.swift b/CryptomatorFileProviderTests/FileProviderAdapterManagerTests.swift index 683b8e843..5838120cb 100644 --- a/CryptomatorFileProviderTests/FileProviderAdapterManagerTests.swift +++ b/CryptomatorFileProviderTests/FileProviderAdapterManagerTests.swift @@ -226,34 +226,4 @@ class FileProviderAdapterManagerTests: XCTestCase { XCTAssertEqual(1, maintenanceManagerMock.disableMaintenanceModeCallsCount) XCTAssert(cache.isEmpty) } - - func testGetDomainIdentifiersOfUnlockedVaults() throws { - let unlockedDomainIdentifier = NSFileProviderDomainIdentifier(rawValue: "1") - let lockedDomainIdentifier = NSFileProviderDomainIdentifier(rawValue: "2") - notificatorManagerMock.getFileProviderNotificatorForReturnValue = fileProviderNotificatorMock - let unlockedVaultMaintenanceManagerMock = MaintenanceManagerMock() - let lockedVaultMaintenanceManagerMock = MaintenanceManagerMock() - let unlockedVaultAdapterCacheItem = AdapterCacheItem(adapter: FileProviderAdapterTypeMock(), maintenanceManager: unlockedVaultMaintenanceManagerMock, workingSetObserver: workingSetObservationMock) - let lockedVaultAdapterCacheItem = AdapterCacheItem(adapter: FileProviderAdapterTypeMock(), maintenanceManager: lockedVaultMaintenanceManagerMock, workingSetObserver: workingSetObservationMock) - - var cache = [NSFileProviderDomainIdentifier: AdapterCacheItem]() - cache[unlockedDomainIdentifier] = unlockedVaultAdapterCacheItem - cache[lockedDomainIdentifier] = lockedVaultAdapterCacheItem - adapterCacheMock.getItemIdentifierClosure = { return cache[$0] } - adapterCacheMock.getAllCachedIdentifiersClosure = { cache.map { $0.key }} - adapterCacheMock.removeItemIdentifierClosure = { - cache[$0] = nil - } - vaultKeepUnlockedHelperMock.shouldAutoLockVaultWithVaultUIDClosure = { $0 != unlockedDomainIdentifier.rawValue } - - XCTAssertEqual([unlockedDomainIdentifier], fileProviderAdapterManager.getDomainIdentifiersOfUnlockedVaults()) - - XCTAssertFalse(unlockedVaultMaintenanceManagerMock.enableMaintenanceModeCalled) - XCTAssertFalse(unlockedVaultMaintenanceManagerMock.disableMaintenanceModeCalled) - XCTAssertEqual(1, lockedVaultMaintenanceManagerMock.enableMaintenanceModeCallsCount) - XCTAssertEqual(1, lockedVaultMaintenanceManagerMock.disableMaintenanceModeCallsCount) - - XCTAssertEqual(1, cache.count) - XCTAssertNotNil(cache[unlockedDomainIdentifier]) - } } diff --git a/CryptomatorFileProviderTests/Mocks/FileProviderAdapterCacheTypeMock.swift b/CryptomatorFileProviderTests/Mocks/FileProviderAdapterCacheTypeMock.swift index 0b597508d..94b1bcb6b 100644 --- a/CryptomatorFileProviderTests/Mocks/FileProviderAdapterCacheTypeMock.swift +++ b/CryptomatorFileProviderTests/Mocks/FileProviderAdapterCacheTypeMock.swift @@ -65,19 +65,4 @@ final class FileProviderAdapterCacheTypeMock: FileProviderAdapterCacheType { getItemIdentifierReceivedInvocations.append(identifier) return getItemIdentifierClosure.map({ $0(identifier) }) ?? getItemIdentifierReturnValue } - - // MARK: - getAllCachedIdentifiers - - var getAllCachedIdentifiersCallsCount = 0 - var getAllCachedIdentifiersCalled: Bool { - getAllCachedIdentifiersCallsCount > 0 - } - - var getAllCachedIdentifiersReturnValue: [NSFileProviderDomainIdentifier]! - var getAllCachedIdentifiersClosure: (() -> [NSFileProviderDomainIdentifier])? - - func getAllCachedIdentifiers() -> [NSFileProviderDomainIdentifier] { - getAllCachedIdentifiersCallsCount += 1 - return getAllCachedIdentifiersClosure.map({ $0() }) ?? getAllCachedIdentifiersReturnValue - } } diff --git a/CryptomatorTests/VaultListViewModelTests.swift b/CryptomatorTests/VaultListViewModelTests.swift index 897506aba..8b465988f 100644 --- a/CryptomatorTests/VaultListViewModelTests.swift +++ b/CryptomatorTests/VaultListViewModelTests.swift @@ -131,10 +131,9 @@ class VaultListViewModelTests: XCTestCase { vaultLockingMock.unlockedVaults.append(NSFileProviderDomainIdentifier("vault1")) vaultListViewModel.refreshVaultLockStates().then { - XCTAssertNil(self.fileProviderConnectorMock.passedDomain) + XCTAssertEqual(self.fileProviderConnectorMock.passedDomainIdentifier?.rawValue, "vault1") XCTAssertEqual(NSFileProviderServiceName("org.cryptomator.ios.vault-locking"), self.fileProviderConnectorMock.passedServiceName) - XCTAssertEqual(1, vaultLockingMock.unlockedVaults.count) let unlockedVaults = vaultListViewModel.getVaults().filter({ $0.vaultIsUnlocked.value }) XCTAssertEqual(1, unlockedVaults.count) XCTAssertTrue(unlockedVaults.contains(where: { $0.vaultUID == "vault1" })) @@ -144,7 +143,7 @@ class VaultListViewModelTests: XCTestCase { expectation.fulfill() } wait(for: [expectation], timeout: 1.0) - XCTAssertEqual(1, fileProviderConnectorMock.xpcInvalidationCallCount) + XCTAssertEqual(2, fileProviderConnectorMock.xpcInvalidationCallCount) } } @@ -245,10 +244,6 @@ class VaultLockingMock: VaultLocking { reply(unlockedVaults.contains(domainIdentifier)) } - func getUnlockedVaultDomainIdentifiers(reply: @escaping ([NSFileProviderDomainIdentifier]) -> Void) { - reply(unlockedVaults) - } - let serviceName = NSFileProviderServiceName("org.cryptomator.ios.vault-locking") func makeListenerEndpoint() throws -> NSXPCListenerEndpoint { From 110507005ccddbe7acda165b4bec8f7638e7665b Mon Sep 17 00:00:00 2001 From: Tobias Hagemann Date: Wed, 16 Oct 2024 16:05:11 +0200 Subject: [PATCH 06/11] Updated cloud-access-swift dependency --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index a0c757ec0..5a4425aba 100644 --- a/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Cryptomator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -68,8 +68,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/cryptomator/cloud-access-swift.git", "state" : { - "revision" : "383c51e1a9b6dee3d7b0a1652270aa0aacd29917", - "version" : "1.12.0" + "revision" : "299be2306bc133b6eefbf18c172a1b5ed9808a44", + "version" : "1.12.1" } }, { From 4cec92613559fb5a2cc14bebb09b74283c949bda Mon Sep 17 00:00:00 2001 From: Majid Achhoud Date: Wed, 16 Oct 2024 18:16:40 +0200 Subject: [PATCH 07/11] Added tinted and dark AppIcon (#385) Co-authored-by: Tobias Hagemann --- .../AppIcon.appiconset/Contents.json | 26 +++++++++++++++++- .../AppIcon.appiconset/DarkIcon.png | Bin 0 -> 46350 bytes .../{Icon.png => LightIcon.png} | Bin .../AppIcon.appiconset/TintedIcon.png | Bin 0 -> 29861 bytes fastlane/.env.freemium | 4 ++- fastlane/.env.premium | 4 ++- fastlane/Fastfile | 12 ++++---- fastlane/config/freemium/DarkIcon.png | Bin 0 -> 46350 bytes .../freemium/{Icon.png => LightIcon.png} | Bin fastlane/config/freemium/TintedIcon.png | Bin 0 -> 29861 bytes fastlane/config/premium/DarkIcon.png | Bin 0 -> 54762 bytes fastlane/config/premium/Icon.png | Bin 46935 -> 0 bytes fastlane/config/premium/LightIcon.png | Bin 0 -> 56440 bytes fastlane/config/premium/TintedIcon.png | Bin 0 -> 36586 bytes fastlane/scripts/create-app-icon.sh | 4 ++- 15 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 SharedResources/Assets.xcassets/AppIcon.appiconset/DarkIcon.png rename SharedResources/Assets.xcassets/AppIcon.appiconset/{Icon.png => LightIcon.png} (100%) create mode 100644 SharedResources/Assets.xcassets/AppIcon.appiconset/TintedIcon.png create mode 100644 fastlane/config/freemium/DarkIcon.png rename fastlane/config/freemium/{Icon.png => LightIcon.png} (100%) create mode 100644 fastlane/config/freemium/TintedIcon.png create mode 100644 fastlane/config/premium/DarkIcon.png delete mode 100644 fastlane/config/premium/Icon.png create mode 100644 fastlane/config/premium/LightIcon.png create mode 100644 fastlane/config/premium/TintedIcon.png diff --git a/SharedResources/Assets.xcassets/AppIcon.appiconset/Contents.json b/SharedResources/Assets.xcassets/AppIcon.appiconset/Contents.json index b3f44eb29..b2630b9a9 100644 --- a/SharedResources/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/SharedResources/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,7 +1,31 @@ { "images" : [ { - "filename" : "Icon.png", + "filename" : "LightIcon.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "DarkIcon.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "filename" : "TintedIcon.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/SharedResources/Assets.xcassets/AppIcon.appiconset/DarkIcon.png b/SharedResources/Assets.xcassets/AppIcon.appiconset/DarkIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc3b69bac1c22fe68851fbfd261345525d73640 GIT binary patch literal 46350 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 e0=vD6liiVA-ok+ZjY5WeNvOVQP>g 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�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 literal 0 HcmV?d00001 diff --git a/SharedResources/Assets.xcassets/AppIcon.appiconset/Icon.png b/SharedResources/Assets.xcassets/AppIcon.appiconset/LightIcon.png similarity index 100% rename from SharedResources/Assets.xcassets/AppIcon.appiconset/Icon.png rename to SharedResources/Assets.xcassets/AppIcon.appiconset/LightIcon.png diff --git a/SharedResources/Assets.xcassets/AppIcon.appiconset/TintedIcon.png b/SharedResources/Assets.xcassets/AppIcon.appiconset/TintedIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab24320424c1442c273ff5c1453e9c8002af919 GIT binary patch literal 29861 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 PH(V73P5DMytGE9fqyQ{6 literal 0 HcmV?d00001 diff --git a/fastlane/.env.freemium b/fastlane/.env.freemium index 0cabe60da..a93f4e649 100644 --- a/fastlane/.env.freemium +++ b/fastlane/.env.freemium @@ -1,5 +1,7 @@ APP_GROUP=group.org.cryptomator.ios -APP_ICON_FILE_PATH=config/freemium/Icon.png +APP_ICON_DARK_FILE_PATH=config/freemium/DarkIcon.png +APP_ICON_LIGHT_FILE_PATH=config/freemium/LightIcon.png +APP_ICON_TINTED_FILE_PATH=config/freemium/TintedIcon.png BUNDLE_IDENTIFIER=org.cryptomator.ios CONFIG_NAME=freemium DISPLAY_NAME=Cryptomator diff --git a/fastlane/.env.premium b/fastlane/.env.premium index 1159f8eff..170e4de01 100644 --- a/fastlane/.env.premium +++ b/fastlane/.env.premium @@ -1,5 +1,7 @@ APP_GROUP=group.org.cryptomator.ios.premium -APP_ICON_FILE_PATH=config/premium/Icon.png +APP_ICON_DARK_FILE_PATH=config/premium/DarkIcon.png +APP_ICON_LIGHT_FILE_PATH=config/premium/LightIcon.png +APP_ICON_TINTED_FILE_PATH=config/premium/TintedIcon.png BUNDLE_IDENTIFIER=org.cryptomator.ios.premium CONFIG_NAME=premium DISPLAY_NAME=Cryptomator diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0fc8c2dd9..df015d3f5 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -40,7 +40,7 @@ platform :ios do desc "Requires --env to be set to 'freemium' or 'premium'" lane :beta do ensure_env_vars( - env_vars: ['APP_GROUP', 'APP_ICON_FILE_PATH', 'BUNDLE_IDENTIFIER', 'DISPLAY_NAME', 'ENCRYPTION_EXPORT_COMPLIANCE_CODE', 'KEYCHAIN_GROUP', 'METADATA_PATH'] + env_vars: ['APP_GROUP', 'APP_ICON_DARK_FILE_PATH', 'APP_ICON_LIGHT_FILE_PATH', 'APP_ICON_TINTED_FILE_PATH', 'BUNDLE_IDENTIFIER', 'DISPLAY_NAME', 'ENCRYPTION_EXPORT_COMPLIANCE_CODE', 'KEYCHAIN_GROUP', 'METADATA_PATH'] ) apply_config scan @@ -77,7 +77,7 @@ platform :ios do private_lane :_app_store do |options| Dotenv.overload(options[:env_file]) ensure_env_vars( - env_vars: ['APP_GROUP', 'APP_ICON_FILE_PATH', 'BUNDLE_IDENTIFIER', 'DISPLAY_NAME', 'ENCRYPTION_EXPORT_COMPLIANCE_CODE', 'KEYCHAIN_GROUP', 'METADATA_PATH'] + env_vars: ['APP_GROUP', 'APP_ICON_DARK_FILE_PATH', 'APP_ICON_LIGHT_FILE_PATH', 'APP_ICON_TINTED_FILE_PATH', 'BUNDLE_IDENTIFIER', 'DISPLAY_NAME', 'ENCRYPTION_EXPORT_COMPLIANCE_CODE', 'KEYCHAIN_GROUP', 'METADATA_PATH'] ) apply_config scan @@ -89,14 +89,16 @@ platform :ios do desc "Requires --env to be set to 'freemium' or 'premium'" lane :apply_config do ensure_env_vars( - env_vars: ['APP_GROUP', 'APP_ICON_FILE_PATH', 'BUNDLE_IDENTIFIER', 'CONFIG_NAME', 'DISPLAY_NAME', 'KEYCHAIN_GROUP'] + env_vars: ['APP_GROUP', 'APP_ICON_DARK_FILE_PATH', 'APP_ICON_LIGHT_FILE_PATH', 'APP_ICON_TINTED_FILE_PATH', 'BUNDLE_IDENTIFIER', 'CONFIG_NAME', 'DISPLAY_NAME', 'KEYCHAIN_GROUP'] ) config_name = ENV['CONFIG_NAME'] bundle_identifier = ENV['BUNDLE_IDENTIFIER'] display_name = ENV['DISPLAY_NAME'] app_group = ENV['APP_GROUP'] keychain_group = ENV['KEYCHAIN_GROUP'] - app_icon_file_path = ENV['APP_ICON_FILE_PATH'] + app_icon_light_file_path = ENV['APP_ICON_LIGHT_FILE_PATH'] + app_icon_dark_file_path = ENV['APP_ICON_DARK_FILE_PATH'] + app_icon_tinted_file_path = ENV['APP_ICON_TINTED_FILE_PATH'] encryption_export_compliance_code = ENV['ENCRYPTION_EXPORT_COMPLIANCE_CODE'] # Update the app identifier @@ -265,7 +267,7 @@ platform :ios do sh("./scripts/create-app-constants.sh #{bundle_identifier}") # Update the app icon - sh("./scripts/create-app-icon.sh #{app_icon_file_path}") + sh("./scripts/create-app-icon.sh #{app_icon_light_file_path} #{app_icon_dark_file_path} #{app_icon_tinted_file_path}") # Update the cloud access secrets file sh("./scripts/create-cloud-access-secrets.sh #{config_name}") diff --git a/fastlane/config/freemium/DarkIcon.png b/fastlane/config/freemium/DarkIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc3b69bac1c22fe68851fbfd261345525d73640 GIT binary patch literal 46350 zcmeEt^;=YH)b^%31QBTz38kbvEKs_;1j(VK2B{fQK?FpkyAEAaLzi?T-JyhZH_W_y z!1w#<`xD-|&UGD}{X8r0b+7g8**i#0MV^F^mJk2{l2kyeV5Tc2aZFqYiT|X2C}lT| zZ~*_4c*yzhFT=KrBfDulnH5Hhb_u_+aF^~x_L%+(m!25`yrn1a?32H*E=Rrdox7rz zKI8S_*g<{}Ssi_6k{sW${A5xD+SBJ!VZ>$K^|maY?*f1)d6NS4EY>}vE|rpx2YMv- zt1tP7LnH*}yD#=jB_&U~g4eyt%plC1Pc&T6Hcm#qu}G!$$g> z{0f_xL%Rn6fYqVb^Uh_Uj$^*7+~M?z$#?H1di}oZk~)PIE?-Vc6!-D+^9lGx#w=}% zJ;Mc<0iX%CK2mLA63Jw3?&!lB)+gjzP7KHb09FaS-V~ZYhaym(TgoQ5SSeSh8QK%pC)5#K# zmmLv33N)h@YpYFFB1#UfO*k@QDef*( zO2GG6cCWS?6F^X38}O6<+s>OQ+}*;>h(A^U9E_>q2Ie~*(*AO+g(k^+)_oI_*FwD< zznxh6)9eQrNnhJ@I?uod?T_JaCcZE$N*E;u$N^wM#x-O!V#nHFY=3g*{>F_pG9DqD zDJgIK#g1|AU5Awz_7Om@)_Wx1)es<~xFAriqr;E3(M+G72igVYZ>D&s%M*_Q1k;1x zv5It43vly!>i5Tj-`oMUV7^n$n#UmRd*<33@(vGeGJBVRz}2%RGS}<^>s~r^xI}%9 zyNda*44XP!e}%lmKrf2vTNSt(hi5NU(UcLQ^Q)4$YI)uW$aHU&#`AHaO)_JJb`S77 z&@Lp2J!@CNk_9t2yt);Kz;;$U?v}#^?4jT{N1NeT0uEveEMltQH@e_A0!vtN2r6eA z(oVT{9SroY(HRyzt0}%FJlCv{K3ueR_JIU}KJ1028P0r~1PrwLqLdV?c(Eorm-G-6 z)pgp%!UhC~;XA9{G$?KW?S!{qPyTLO zgdx)}#E-m#UXduw)KmT#eqk+TQH{Y20K0U@+Za_vjwF9ht&OG;ea#hibR`i}2!^rG z>bMRO66)2TJ89V#QI|yfyOCgu#N^yAjPn|U53b6azgi<-0BxG>l@mJ zQ1#XPd~J1igUn?rac!-ACQ>Geq6~HwWJe`cbYxy#o`Us&shYd8!|AxKot+NH?cej` zjRw8LajpQ|j2etgZ6DzQHOuqtuU}P+9c}RO&Meqf*JMo^5Zg0_Q5(WGbKfl$y5h5A zm$a1Q7^vTtblEB-378T^7Y$A+8y zp8((hBOS(XDff(Qj`BFZMm*^e&##6=qr%A_uk?wiAs!lEsOx+!y^PGO9_W>L)O&16 zq*8u*G3V%?Hva-XAFtorV1@yJ{jBo3aug*NG^nmauFW=@`8u{mMVR5T`)EIC~uo{xztqjQB6%8w|%&#g}N~qj9 zL{w5Pu$Wo-Xq-+oh5uo9tH=#<7x~cund|n!Mmq5x6;>KWJRlX#- zDybuq&?#4DLxMHGhIq1v`UjB_uph8-;@|k=*f-LclI^5zKN?aJesVjVAh6^%+BCb{ z{yi#RTSKSc0kblDNU}*12knpSq1V^5@4xyMpDHV#)=1ZS@G!rQWx@0=a~&O-@qs|F zV|p`U^RK=6EX~VjDpVuw<__JM=+f+tZG7DH`fmQ1)5zKSdO|UckwBPr!?k+mnxCl3 zkX=+oIU-=-xZ^=KQUDust|Uyejg_9Pszl{LYlRC?1M{6OeR-fEo z@s*T8stEj`8l!h#DFD}~cy4(r?=bs<+q7&O@syc7A@NRw6!XZhTYVb|6rcxS_CLZr zS8HO53|!^!k;f)Qrq_K49O?QB{M%1lvKq@v*BlFCn%ktruIU5w#I0|zzn^PrYw>)Q zH9;Vtp|2{GB19-TJm}fxo#Flb8S}Sq$+;lD*SEH`J+~Gk!s{7sba~d5kYT=r7$yii z%=6{&o?z8&u;lkAW&)411o&A&gn;sPIffl?znPt#U5qL33sI#lCCBG7tQW4kSjvb5 z7*^D=L{kD=#S7 zd`V~ysB^b}XQoC2U6s=ROdgL-p~HFgV$`-R+lrhysaX;8WOG0V3SIEPx||HDI!na5 zPHpn*2FKgC8IqEw>U`PLZuM{DR=HJ6+psn{^%@q*{F4=^6r-+|SX`vzl69eb@g9n` zbcbHU)YSBw0(>Wd`Vys&cMX6p?N^&eLqL^YWMF<33rW)6Awfaxx zox3gCVtTRATzHZo&P1PY+?2I#J?rdHc0!Wn*F>-yudANEV5~jErKEU z_ZPj!06Z1Vu+(uW*sps~$yk%vG7Iy)#&ufCecVQ5_y9f{W}cm%OfHiZkT9EH``Xyj z3*z#ak5p3#o?`6c9jL5G1K1THj_3tk^k*{_6?n=(x!=uIo(=8tF1OLW#neXBrNU%`9gC^}v&Zit8fuU9I zklh~tc#CwLE`G*JB)YP`9@)5XP;kB}5uRT>R++dYW+&Eyo22FN|(TK-Z z{0fhO0vrpsseA&P>P}3R5pX$H*FUOHc8$MDIUc(@mlv;ST=5;70Eur2J1zvfFAhY< zt)#BAXkz7OxfBl;PTPa*TVwaJC+d8&y}Z4RxiRvL;%_Xens=kC&RXx)@B6HJ|GyV^ zfB5u?ySuwr8({ud%fEB&&yVI#p%tp)oB2k;=vdd*HVBAB(wv$5}=f|y-0<{?&DUyBR~P7_(5z~%o& z`|g4EPuPDLpOs(f`hIXl&G$QT7vL|mTOzF1Z>Il_ZeV%^InH%e2&_-F zWdT`*F{27ZMYR^@o9EL7c-Nhivu`K#a{KpkPkdDD?_mI&*%f*J)6;t~Uoq<*8~jVj zwy=Yo-}uN#LDh&`3LZ0X5W}Ub3$5g2m8F!&0GJKXq+S<3Ur|}f>E7@2lXBs+W&U_x zW#xDj1@qgS|25L7!D-1_N=nM0${r_;z_~YTOTy?O;AfXC9r+JFcp;aLEzu4iS)0`H z_V_G?gntLil&y}%?iuQ~u?Q8cvu&&&I+O5LxVw*xX&;M*&ho$d6Qg{ffN6@9*zDIQ`t0<=R0J1uVe;Ds5mPqWtxo9~^(a z)6&vinP74WLDAhMpxbn^mS{ort3&9YmM1w>b1(P89g27bC!L zW>9Mzyp<2AsAXIq)@IxcgF=(N7jbgCMb0lQJxr25sJG(<~~ z6gqWe;vSe-h8bdb%XxiMECCCS(wtXL!UVuh@7yxLQSz&^GpD>ae#1~R+%_Moq6DR7 zf{3vO7a^{RceEU1(RXd-5aBEc<)50%Xh@{Wus*O%K5YWxl24q1`9INtMd zhGG^^LAOR_+8}tVziV|dg3T|cXf$hPARzZ;t93wvJmHi%!n_{E~Xr zMdQ5kT-CI(@1CrXI}!T4l$zdvEHeIKl&Iw9F$)_TJhi2n-}xqPX7?n4JEwM15AZl>qq5vJRF} z828{Q(-~zDQ@E23>)u!eUCoK?qK9BSAS3>%+$FX<`F3;3u1Gn?l9g~L0dpmd5BR)4hq4N<=~Yif;L4s<4u6!wm1>(iD^>o0BL7wYYA&XO zT%6MVDWz$$wkir9iqXWBqpCI!7Ro|BU{*+x;C6ESj(<;;J1@%inV@MHr;j9CwWKmK z@Kr(HZ>c!{zsZrj1NpY?_B1pM6@1tn*INN#ZcTHYH)_J%$LFbmbqsQ$(O$FRv&7`B z`Q0ZXSj++$bCcu!68tZ^ERl%W1PUqEX-eP3gD z`3mdc&e#y_zvz+EeR^Iu_vyQsmmEi=X!I|9r!btUde@^LV0f;H60w|d)X^)Qja(f; z`8p<_hb^3a=FL}(x9X2BDdC&Ogg;qlK)bZC-iXpNC#nytJv2ob?z4)fl9Vv4eQ`t% zyKZ#Oh3yp>0)&g=VMIoO1?NgkGsnCc7yryZZ8osQ~lk0O#^J z?7`T18KK$LN+DWTs&vNwjd@K2oF#1w!vmfNM=;346Xdf>9jzsOARH^RPKBa5`1QPF ze3jQ#jl;dBg6@3iH57dn>`TmSt=HHONN`qv)KG|Ues=2A8S6qh9PvARUNy1nvK(!Y zoc|h???43jJ@YMhvAc0=wGp)|(||;?!R=`Qzwqf1s;PudrZGE~dx!$ZqNkwJqHf8}A$_o$83_lEmNWcbCY8`R1`}QOT z^}zvX<|&RrJtH$d++r^4iLo?%!Yy_m!Wrate7_>ymu zo}JIE@|3R2!BJ`{hJF<{XnuGUrl2GORt?A~{cmb|i&4+))X$Q!$p4aRF94t zsmk}7HuwMK{UNLH1nl&4WvBscFk23%MyY`-0c9VYGOlocQvJ`yfoYX}wK7JN=h>*l zweO6qSqZVR-vW-~l9fjUwvMEQAAR0djJ5<)Iq5tbq`x?IpCU;mVP{`JC6$q?Hvslj zxC*8iPHG%kcE~_X3}6Ab#I=+0FxbXc&|B`3a~0~<&Se2+lpURyOMp;J1IbV5sn zIF0~3-#_N3TpgaF$9AbLRa4ls>Be`9#|0^EN^NUF|)4-)INHRp+k$Q3!|?G`iJXHlku3SLb~D zA5`08G$qBDl(J%<(n$QHrH>R5^~m!L4V#2lAJoQxO)=-eXuz!4_aC5wM^F#>^id1s zeNQH_1}CI@2qYcw0c2Cd4W`wKTiqZc4ryY5*&R}>OUBxpGMBBShzR`}`l|2(io$}2 z>l96!DFQ#nlK(l&cO;^qV*?S#BR3%1(KfH4f{YK}*18RJ zs3w(IQZ>a)sNa-DGzZ@#IH-*X3J#NlmqDCNPyn|#b8bR2u8$-GtZLqEAV@G|Wh!o? z;S{^0xjwIl{(cJj_Xi0^lML7rH8IegY0^(2sH?rbBNI`=AA`b@ot`;E*khd%*gZn? z?&E0%RRco1`aLYQKQ;z7lh~CRqMJDgqOnF8~2>+>J19@QUh^0dh7(94E*zKjs!*Z&o6T zirriYw@|vokX?h3fnq(>4X@3NJCBUDS6?M$LjtKQ+}l6y0kQv2To8q3Xh?{Hc0+iO z3{bZSwhm=706AXg3c3gCYv?W7KmkDZKyu}4swP1@u4~5>4T8E5+f#iXnSi<1ZBs{J z@Dp-MuC3sbh>R_8=$B->Wa|-mY4^IY74hbQ%j0|DEpLOi6%~A*>40O<1%KAz<{HI( zY*Z(5>1yve>4OIiVk{ug8$#HJb$Ek>#DcbcEhGaeD5jI6M}}y-sOp$h5xLA=RN54? zQA2wVwu85o)=cxG?Jb)9Pe|QEx%v6{UV8z%ghF?&Q?`tt(44J4posAOz#5~ixcl^Z zmK4LO+M)&DtARZ>d~hI+*bSP%>Y$Wl3Lp7SJ3tE~VPX_bmWBTH6aCf`<0q-&x`R#j z{{2E=m^{kF9%4{Rf{l?y=e43gj0J~jrlj`YWWz`6DuY5ZNeuQrs3FbtDx+3YrRCHH z_rrHRZS5gG*0Gg0Q-dsD<=Z^|Qxs1gNjD%k{KWW9axr7?yPxksZw^dP@1P;|IV=D= zYgT)_Rr#8(iA)W0oimyS^`I_c$Lap(^RoRK9u5>thUS*qx$&rnq4F{HFG*T0gb*5#aLN%2j-DU~djA`{F;okz!iyOkr9+Yo<+@>d zl|ETDeu3Fp(gl0oSYgq&J&xJ-g>$5r@tDl=UMr%yk$*AN;g%+aG~=Iok%@X;Qz0p! zO12P37KDV=L{_WT$##7=_Wa|?fZy?k%k=)Mj;`KZIwPJSX%=laj^j4u?1{dX16y*R zEA1D$Fa?j1T_jyze)jkwuuz#(ag7w>@yOV`N*J7=;q`aUFHUR>al%kqBV*--%ZpxH zXQ7w)hXG$0!{%}pOk`c^s^CkZ2Lzrdk_yXJ9y$bu4+8aX08@>MwL59RQrabR=qdF^2O{CKUj2*%qAn;8+Oc zxbgzAeT0DK)=cdH7)af#e}pa{8M{6*>8i9za$D@1^C~fXR4k*R3i55CpZWx6+vhD= z(%Us+c)Pz6oeRr1{FjJk@UW6Pov8#Cy1dkyY5nz-Se4PLW$3YK4(e|0exyrlR9RH5 zIN-5%2i|W7^^^bPkA423z2KYkN7WiytH8{oYt z3v(yttMpAHSL=}|mo&{b2St3hzz3_p$G0ZFy6s_fg?LdHJ90^vzv3xgxe}RK&esK5 zC+kARM?6?0|O|@Qvbl`Fl zw;Wts-+VS{lzcMh#;%eAf^}kD^~SB!d#qVCZx5muBOIQSvSy9h7xzTHk=#>`dl<@I z%B%l<51i_4IQTN_QLK}YlsJ8vOtqh9aUwb_P0n-(djSykoBt%`Xqx9K&PrveBGfs+ zbM5bvhRY6-H;Up}rz;&q80jhprW~`)9{tsrAZ=ubpt95Z*WZ5+?a+UBYt!oxLVuJ} z@plQ7-(@eAA|=ABf3PQ zuVM_W#@q;)f@MxQyRqWG=F@NX&!{sLg6wZ0twX9G1614vN(Cr_{HwMcLOR@JPk~ zyltnNjr;yaUint22cPMD_Po03tUp_urKa1tqtO{-pbC4FLR1F*=SB;7a=^@G^~pQtIUA^7XX<;XlQg zGtU@s(S$m8rpn5;zP`ro0y=P)j!8re_?vmN%gLvRLX$z_U0x>`u7&nKLpD6%B&Y4# z47&N8R;}7&1`e0s;5M%n8noZ(cW(T?{7j))I9r~1z3;M(2fWsp{qGt!7?ZcFU+%Mm zMz(Z(P4FXMU{^G~8IRUMPWIjQzrI#j>j9FJkL}vOQO}4qtGlwCS`3U_~((#-@u5kFkiF1S&S=Zh&{QU3Ty?SZt|y4*N!8f`pE1kFuWuP=w;Ac%7bYICS*=zx zkP~r2W_ac*Mj7lkH~GEgJ7%nc`euFow&b~ro%T=G=)KOB?NEm@##hh&Zql_Le07xc zo$cxwTA0rNMFRgi)gkeO9GefoenLJI8c$v$nH>M1In1=7IbjatPPagC4;Qh`7cPqJ z2c`AWGUj`trIYlJq6m2vBU(1XRjenpN+gU2>6EK9@+M@N56rw?6Zp1Ra9MTklD~gA zLLi)D;(n42dqez3z*W!4xMOTv`s+Y{weq^Mm8g;9$Dg+ze1Euf@F~DCrp-J&KjvvT z{tP2;uMVA{7Zwkd!nQTy_;^z5ZbI^lok5OdsM})ypY!r+jp~`stC6Z!izno*06F%P z9H}5&WnBFb)Y{9d;C{x2iP4$;M;@f4`b!4(9(NihjkZNlhMmhU52~upWpjU-qyAza za6<0hOAA%nfxwLy9q8uHrXEzPtyo@jm5f8BSB?1S2Wb3`c&&CO|YMNN1f zp87nF<(`2u(5LJl`o6j2c1W^-ETcx1%M8USu{eFu4(jk{{*1wl@2}=f2nI5*qK5bT zxFK1}!V6t8xoj)Xk@L;{cuLC@8Mud)T^^93!+8P$RFayxOpnh|lu~ zIQGMsxdHCN!Q96_ToVi`cST9!v4G z;qf+Ke@VggpVN1^;|Pa?z6!q066-123WsUAicoXHTrG_#ex_+eXtMh_%Ex6?M@8lP zeDF>zyI93Ia;JWLZpr`h`UbP-hceNjM~ib`K0I<0N*nyI44=@An1p2QU}((Rbg%FS z6=ZDkKbo>HmDCv4TcfC_7-5KF$oJwuVtk~t_^Sp(w)HT^?>ZBC?sRT54`-@}2PbZ? zqKW4pdwAG0anN3g43i*inYw*jiKlr;|EYIfAp!NhKjcnBaE~V^; zSAD`1S8Q+?cQg$*aSPThSo~D-r)7@DE7_|E{E^)9v>p>=dhl4)M4gE7c0AGUSA}y; zgz-3)iRI7Wpopx$d1A8*a8Hs6~2Dk2t%lD+|j zmmE5UJlBt>F#}ER%;YviP<$@E8Y9CwMXw>5?Pc8-DkP=!;?DN=!}$RQut(lVOPzj~ zo_4R!!EESI-++~OouIKuEwRxvPMcoRK5lGm!wVPPi_jKs%rI5$ZC71nm1*Gq?e|Iw z)E&QAl?&zms*TiTo16+wsDB2lAR#7>T(`#ZY4L5hoZ+on7`yI&mtX02RH{`aICbG{ z!`A&tmCO0#Q@bUU=0a;Q_j9G`21pn!WAw%O;^*n`YaCn{>`bBFylS;YiCYl69--$J%H zK$+ZdnUiZV%ac$jVbT%x_hLlU9j+BjP4crm(69?eYC!fL7>0@UhTp`pZ~yM>R9@kc zO|Bo&aVK@{D#3s6Qt7S*)TX#$0MEhaI+|7!Ux4>KjGSRhppr+|{@ei{iP-&*2w=_w zbs~T2FM-R9K(Sh2pd{D1T)-b*!v0;&5<@?2_Y!m~9sKpxETOCu1AwDLgZ^h~|MgZ8 zBLGkbAF_)Xyer~Sklxb#F!#sbDN0=z+CQeyD&KWKoTy5eE`a!r7ON2%aho-i+Hgsfs z9QB+n;%ph!gPNJ;sS33c=k&dMm-feY^ETa2S1kC;2gcv<#Tr`R|; z`nf79_Ee9JjlBcQ8n%dqWZJO^8dhjY!Cv_!tl*oaI*#`ZA=P9g(sIo?RwMZh zbJ7tCqAQ|p!`TCaPyS5SQ3$o;>pZ*B=og48akAO%qh>lah1l7hyNM?`IyyOlE$k;* z?E>Lfu^t)XdOwcD5q2+1kDu&^wWYPb{Ec&WGVe^5FS(_tg;iQ_B-h#unHVq@Fs`7& z2B!4L$ONl@J+O863Qc}-_m0i}ki^~DR-DZ*zdkmU)((+E>2;i`8X|%_H|94L7)2U-T5Ii z0}hi1vFzt5HV{bu-;Iq67V4#()R&^Q?tkgliP(P_1Whkf21TuDFA~>a06? z6Qln{P_^6_HBZgBEv}Phfn!jyNwfJde1~=Vh^oPMy2fL?Zc4N(Imh?=j&JYJ>TJ6d z9j9+bqLnQz)x(6VBjZc7DSSQ^uyUszn4)85qfO579_`-{yL;5ni2$;D;_&_xR0aD2 z7A+7w+SDXFDRMM)W-7F65Nq&XR|Z=+t4{2nwJGcJOfjQE$#LHz{HGW?M+4B5O723# z5p31f-2-P_8M{q-&osxXzL)(!NDApjCbXVxpw4C%BWyx@UMLHN+p$nbQoz~Z0J5F( zyzG6%;S(m6*q&YV=41}`(uHRh_;zs37~ zYFob2CNnA{$DzDs+>A(b&+z!Pv?eJaSgkpLJBv(3(wu0|!X^i>HmBmI1i5FpoohBi zJRnh*wTnqtLOe0IN0suDi~wdCPkdR%Q|4n|>Camyrj08F&;QPtyt=KtuH;*HP^HSD zv$2^g-Z}5GM_^-~xBC)WqXwH_(T&r5vCMUvo`80JN{q4LO-cDk=Dsb zq|wV5B{m`97+5*pWW@q(L9)tNZL1)yw#gwza!sh{76q>7nfl zvq1Q^`ut)<*h+&H+llVvQ1QV9gdgILlT{Sm)3b_^!`u4z{MYN@0g&I^Ng(Q`nz0I* zg2FLeqZ-@N)Icf$Gr2^~pE1gfbq&UlD^xMZ_LvMvsbiL7pOQ|Qa=gC%q%PT2+7d7r z9XrvCm@7>_w8kq%RQj4$Szf$f|5=~W)G|sIxVRgQC?pIHwp&$ER19uk`5u#B=+}e; zOke=5?-5t1%s?RJ;n5R4hQL2MfIF$jR7t-DLbCp6`$$;kfyfstXw%^m@llc*-o?I+ z-q7vij+RC4n9GwV7>8i9o&KGDw&2#R zpR3uiC`u(GKK`oti$>M9y~gmHe4Ap9>UK*ZsftBz+JP~t9_!Hbt*x{T6WvVR{7LJA zxnd=@jFRd^BelL|Odxz76KKLq-#IqbjUHZ@o|w3s|69Iqj6+S`?lm0I#Q9#n; zR%F0%F&b4LDNQF^sn)t~3~_K6oiOrnsThaWGCu<3K}w8ulJ{18jrRl-Q0C`QQ19-* z9x34ZmGJrMzedOp&Y5t5`+TKuWXNRacl3^iI<3HTXBv?lTkrticEBlt_pIq)&xPJO zqU%k;7bYRC42~CKgYKSSFLZlhVm~M2uB!X2C9X@~@~w!BEI`g%ZLk>w!qF6*SLSyy zR)hKI@d*GpzcXwUYq1Fa#?2gbt{MwyOXO z;BVD{mzP(T*v9%gA)b-@oN}gy-Ir{~@@4*}byRf-CIDxaJxLAAWoi+?1xJbqE)^ z^#FWv4Kw~c-X5evDT9N%12_w`O)nEpbC1@Y}us z5b`qQ0Z_Gfai%?OB)AtgVmJe>1)4w=0A~`_x1wtGvU)wzrJAqoDs2P%hlF21Q5dpH zba<;p+nnW5pwDkX*(WoViEVJ&KdswiaBvdUqmqFLY}|i%4gh!OAK%llNYxqpGc_tR zKEun?u4B&C@TaAMDCQ)wk969wuia!Plj9GIypzP|N z`eFUVwQl;PX5J;h6g;HlTbHuevVTt}1K?|2G$piH?qPmL=UB@{N5Qqwnp&glfx#iM z3}W7sLV?ti3T|NtWI;O+n_@to&-a*=89i+PAJoyRiF3NlOmf?mS>v;rsi%{a+Gsf4_9X2TxRCeJF1aX1Z6u@PMZGU$IJP zQSS48BffB#2$aSy@685{0@7AdS6mdiy$81>Lk8G@h3U#aD3`9dBjvQ%_RZ`ty`ZdVkI$}8Bv zE4VMfsD1Iy_)5y>=j5zG%f*H%RJ+0isQR5`W@!S)1WwbB$&{;q9@Nd=!foBUknq{Y z_kRd9K^MQ|%Ge(xoT2?1u&qQOW=Z%g%jC03*Yt2#vb9rE_|@=sn* zdN(10w6$Bi^E!Jw>71P{%@~A$S#Xw7x$Q8UX$$=9kD|fOr@dhOEC4W7ZWPF%O`uCh zAS+f%XX1G0t@a;tfbZ{|7G)Vl_gVQ8VV(Jyj2ILvo5+je0H^CYgTKC#g)S(9KE`#85&1>XVCn%giZ==hvi!5O9!(Mx{65BIq!IrDU#A0PM}oh^ zdxyVl^};YKeF_MC4`*fifC)Gc!)#%Lk@oxZcRZ8X?HpF058O*V#|0LIEc@!!INltA zLHwAylA$Af$$R304x^8u<`eDw(L^cczcnLA4cH*~z7jHU+pP#CC~r8Sl;!YU?-Wg!au-QS^k*ah&D>gWd;Mk zLN2rV^Jn}Jt?5%H@Tt@+N0;L-rV#`NtLNCWRNKpFD0-@BK8fkGN}A@3&9(F)0I5+j z31%?T+p~HwMhHX@bjqQQ3%skT!T6=euhW`h#OC|I*$SMQ(F*Kku#*DmXxDMscpPz1 z(Rd|4Qa?ka2EL_?JA*g0<~H7(HfjIGAYwAZR$vz-fvf(IJi$llE5?$HmFhq&mn_>< z-nPj$4v4`NTS5;~a()=`D@YBuYwal7If4Urg@nZwPDz2lt^T){y*IL9Be$pKm_^@G zEgXDWEerr-R-|CE^_vRLhV|_e;za(&e-3+Xt~<4aWN1Kp{fv5-p9V5upljIYc=zO0 z{fB@OE;CWZ8U_adKz;n1$B=jK-6j+(gZ}tspYvf(YQo?z7GUP_HX}!0_fb@h->FC$ ztjpDBmjHT`Hv`RM=euTtv{aSJ2j;61bWbq=dZ6mZkA?X~*lGE&{#`Iw;7<$ENXH_w z?}%jYvJ(SzU=wM@lxGqZA5d7~5{b6R3lpMWemRZJn)*S~B-tt9>c6}ByC4efy2IM^ z(mZ(U2PN#=Teyi1X&%G(uKxrA@!yfC_SJdIj-&k2 zSz!?xTTshw7rUP1*H%(-*(?J$sk*1!?3lAFsX9hY(ibnjJNrS09_$knKSVhj3#?I% z%C7$qsG+&_ZD3WGo`dj{f7MYUwFKv=4y3=FCT(0Q%ZP!t*X`mv&{qa7O)?M4z7aCq6PNpw_(&TIpGMT2n>C5cIsp>r_M_xu8tb z)Lq~L^u4KAXq5Dq%}B2Ir!XR>#vXJcjJQ{Ob-lQ)+9TY>FQRI%i$x>eF7WyN#St+e zhLvYNvk466tu&UT8I+Tiq<(fr3XuVH_29tc z_TD6Yb#xa&$Gj;gYwGpu*J=6A>V-Nl3a#DW9wjqAM+47>bb6}>cnlgj{OiY!Sn0g0 zPp`*$QU(&fE%b^3e7p!nw4E`+^$+Z#N9}|JENa1bI6K7^FBCcHj;n}3ync7U0#+~@ z@}0v~vR@QtPZexypo^f0;(Hxx-tSe|e;3zo@r>Qx3?M!TN-q~;pp^EQM2pq1`1Sta z-BcWn>X`n}i|y6x4(D|N$mVLTi-ToCq7D(~^+1+lf;b5rVBm2SmcM_C^Ts_^-y|b+ zkGuOQ-hUP|)rcq9U|6UN5<>;%Kos3nXvXY?`|LA;UDZ!F&5&nEiw*&Zx_1uFPI^b9 z*Hv-7tLi-9!`j14|ZCWrH>tIA=fNFfi>W$JkQn`yGkx= zh@9&7mjbJloW6{>sgUr~({T)z@Ry$rhV$EWueEzVIQg7IW3|04QWgaPd`sTbqwVwz zpn)4MyHpop$vvRBRgo1MOn0-oXg4v3CR&NDkP1NK03o163brV6B|||R30)HKO&N6v zq3+7{T0LU}Zo7asb3VhH7!)GD!9EayDc+0suMiy$_pTbFJP*SY7K&hfg%hFzvydLtFw*Z60(^j zYOz2=^P79*wB{c^vqL?@8)>lcwcD99sW?G09G>L)vY(G2<%x5U!+|4%Q5klJ$hQ^i z6|a!VxP%&`<*{d@HiErM6>RjRu-%UKhX!P_807X%FvyOrg7n#wmIFz#jj0*t5pfbq zUe&xsx(==RpbvH_;nD}PPNNN!S6R2!SfC-f+K^L&CWp?^CHhE^nLv46z2~VimyP4y zKIp8$v4p6!mR%+dnsT%reIJv{aVPCfI7`cyAN9i{i48oQwL@iqZ>io*YCpRT`~)({Ui$9t7-5IVv`}Mc zyvJmw2m;^Hs|xo)vwhNK3IbH1UOcY+*m<8^ws`H9-HB+dr>({jKn&QVRDb=(G%Q6(c;w#`2+&%s;H@p91`3tNvB0i0kt?(z(p!px4K!MDm<~|d zo#4lMS`N*$I58$C4MC^A#m_X21KzlAAo_tttKcKJNz1}EQqx#JT42CJY=r8?=i@(< zBJ;$paN@ugot776lefzdZ-iduP?2Svgys7N7(!1aZ02+Qgpl;sSe4MRUys{l7xjpKoxuWJ-}nvNi` zv6vm>_oT`J*%aD(`D5@w&!YSG0eyXE8kn(@JBKl$aUosKS-@i+)^T*|`+c5Y#ASsX z@YWlVDGW^Biv#aR1bnd(e6&H*^qVV9hpkS`Vf&W|S;rIeeo^uZ3(Q^~$J;_J_rpK) zg5`R(-7vAMM&Is}ux=vc_~ zAz&uj?wez`3jkRSA;!57EETRKC!p`ZUc|cEjRW>u)6H3Ea+X(XMy@<#8#WZUHH z_SgQ7@$>{&9{rzV1ycQ=6MX;h`8)P=0tIrKbT~GFGG)yx62UaA*}f(EOJzp(MPgFN z;F7 z=1HI5_=DI|_FW~Q^iN5BSe#ejVm~qxJQbA68nL1JO&9IR?+4-lx0Ep*zR;)+IG$@m zjN_)M4|wJ5YEJrb(uD?x#wD? zv{I_Cscb&SYL2l$enppv?eJ(*fM}~3zC9nhaV|+lA>pz4_@r{q#0&2kHxAE99Hz?Q zynJB6$2(k{gg%L%y*B@@%`ucz5t19-!FP{-wSDIFHDdQ3`TaY<^F3k8@@hF5arOMX zyr(Bat;s+2HrWeui(jW^Hc=Hl8X}z}P&wpH9S&XFhPTRge93`yg-$vD98*A)mX<~q zVal@M8-IN}*<<-5`i)2|!P8buI7h?O&xeE2cOSb|Z5QW!UL1#A-~rotlWnqeTvJ0Y zB<8y)Q3;PM$enQU85txUAx}djE(YF>yHLSNO) zTCsC*{E+?RvmQX+rYa#yvi?cmbtO((of?IR++v++@U5+GJjwl%eb)->84l-{@@Kd) zNDNQvHAbzwX7gx%TD~AtWO!<6abz zQASpXj8H~KMqDE!LRlGcDN@-ZdkYyE8Iiq0_6QmG`@HYZ?~mWVc%A2Yp65A_GoMe% zJ!Y2j)Ense=aD4PprXFGlA_D|8W|eCSG;0!VpcZy69MR{Z^i_OUu;fH&Liomroe`jei$9C{Iabuz0{;L zJ)dxg2{!Fg;oonWl4{|-t8J@j3`3TJYq#WUAN;vj3Jn|-b5H)BoY)i=73m(gU^L>m zmFxf+E8&{e`$qK405RS&)9u8DA8oK3>oX2x<682=gap-4;OO6$dH4X=&b17ZJfo8#r3d-^5LV?|Xo+=?bqBEFI>B(JpR zy!1uZIMxpGUZ+2!jZu#xEt7kAXfnEDG1K`ff9(4-SnnO`x5t*vp|1Cqeeuj;7gG2{ zZmz7K>;X!|m&!O;otBOg%IR-5)z{`;m(_Rpp84*Y_r~rziT}y~uU-@Jtah7-Ml5G) z4E}Ef`ui&yr<)HCyk~%KIJt9nKrFa!`Nt%&=&SiDmv+u&bJu~je@@^&H`@`a%Qt{* zYejhT-o{e5$^-KL^Rvqf)ddTZah041hdC+KAi)?NmGbSLky4L*ugLqu^v>qJIG@0B+LP;F9EUndQ;aO^-N(P$ zy}4p{S&lM`Gzvk0MgiRYvEOsN3f}V!3eMjZ&pLLKY9BB3JT`sH{iz^;=+TLlo50Mt zPgAwK=76avxnihN$cLVu9()*b`+_J#ft=fHGhcwfO4PNWU%}EWmPaYg!uldk>`oN` zLL0-?b6Q8PXXJm-?>r6Lvenve{!S{!3`Jnf+8Xwz>SpYq6cUSzZsW~%#3@V`_D>HZ zh*QKYI^0a#>}XPyED-Ld?RNAjIyv#BIAZ?O{{+S+JztAGBFD@-PEez7lfK z;uc&JPHw6mICK~IRPedN7^;V*gc8HH&Wmt#hj#I97l5TyP)fIc!oY=~8zE+rc6i1a zBEH)>EP8mo$^!TE83ejwecL1YGbD))dELv&e*YS#H5y>xZNY&^5sG~1CzaF9I4-3C z+DLUS$|3oidZp@dw`Mw%98afrfKF==U4~v@E)+3n%FzLPzeM`7BoqZ>f|?MOIrC4S zZ_UN$Z(rZUAF4%IWD?D))V|x-eIz$%T?h%0kl&H?cMMAk4f{{=T?Qh1XdHL(bo$zs z`2j75ZkmZFp2~tN%9!!_lOy_#PvZbDj<_`AZC)3bp;fVfMLJ8}l$I23zo*-W7tTE< zcxI(G5l-LUDA_)v4Ocg{^^li8yt%m!pXp3lsR`{jokVO)5D7HH2J$`FhU{)uQ}Js> z9wBqE%1~7+{D>w)Sa_;v@?G)}-1<_!fKSr&hW{0Qt*!KpAH*OCI0{0d21};ez$wZG z6ARNgh}MX%N(uy!GB+1)!;pBw=4&}OgEzK=aKG7=?dv^)%(N)69{M7GM>Z+>S?P19 zl2!pFNyP6XS?y zbzPG*CVOmH-$=1?jUUKk`3!6}guaB1`y)f;kSfO5R#p#f*(d64`p94C@5pya(z z#m7j0ECjfqfglvI@O=; zHnlX1QQBe(^FI|+@FVG&9*O>Shu?Zzn@1}7U45#`r^*CkWH%$(mUJ}aHJ9;m2_&k* z5)`l&wPdR*NPps9%M=_PRyJ-1+m>~-Eg&`_XE*9fD`YFKnx(T| zCItpAO;eEzCM@=|gG1jb9=nG9iD87Qg3W@JQiBnyIW#qaOi-dX4<$tLUFp|W8AQd^Zttzwe`ENss2dd69h|Yt#|e5z6#ts1LAV}+ zwboVw*NO>)(b!#}D3761{!~-xPu)ISJ2sOyLfZ)z;73+bnOtbWbWn`npk{)!F@+|E z#{sze@j~uF$$&yPdlCnr@aXg9N@Ivh!UU>_xG^B4y1ehS&JB-Z08Atjy~Gt>^;#|v zVuAKB;Ot1zg>Ncc?+|F%YQ_?1q$cwK8e$(UYzm<_L^dVFCJ_7et_;hU_bx1A+hGJl zWIiWed;V&$;e1QFLdqCA#p8^rgg96oS^2vIMf*RHUs)0tqVg<=%G=Cx0>&d@233Uq zz}=SeI3*VE+|qLs(@Z2Ny*7?wSOmDmmrk%N{XZA+cjPFYzKZ>NOf5}Cztk^IFrMoi zFNnCDb6S?vfUeCTN`+GIOFPBOH*mMvx{+%d5~z^lENh!w@j|-idM#HwD6n_{jb%lW z+gCIVD@sk8GLzT7iF>Uj(;b;GOqu$nRKjNy=isv{vy6_3s3&{0^fdwkGy!jM$Z6LWv}pKBRN(Q@v|C+&Ckp3FeBf--zLy}Yd{FIeCsP~ zBY74qiXKRJ7(o+U236yl)XYOknvwb<$y}C?`KajasJeA`h~IeREvB+M=ai*MI+LIs z+DOpma$n)Nn=}}X_#{2_l^p#C^Q7{fh2(+G$qU=aSaE%;_rkScH-OJ_ou}vA7DRKQWb>*O8k4J2n$+@&(d`=uALTm%of% z@&k{p0>mFfAjPz8K47R|Y{c}BMQbZKv?A||aYB#*?K|6##_KALGZsSp-JF>V;Ot7u zT8CK~rVKsGfdWOK!VjPn_liR-CcEFcD{zJwPXVjKGGipzerev^K(sJZ** zi~+4puNTfZ(a=?jg(8aLF0-%Pac=A}x!AOeYetk4$Lr?})PfkQ&!k@QUaD_L!sFPs zepk~FkrS-dQ{a?lm{$940oB16exWn2>BRLPdnE5eoNSSzeayzq*n_I6<`*&}Z|>52nUG>j_y2_1tZI+Sv3E7Rl=q zY*xBGpqh{!pKtw<79mj-6!IAzS-=9R#|8hR9_y|4-&Z?OHLbMY zI62cf|uK5RWvuUaNqGENwgQshs z+#P>@p6P_Vz#MEg=x~?k2Z+ZUZA-mHb$^F7rVeeE2W_bg+WPZ=eeV-VK!QMKDvg}n39WG7(EEIh`O=C{iqOPrMBtHbwli*p(s=FCZV?;E`93!f>HnGYPv6gJsK$w6q)_jf_V6j<3~*vbr%2 zzbF!r4d>$rVa8g{Ti3o>Vmy54+aLk6IM&Xx5>6eru_8|I<^(OPq`t6Mq!P@fu%g(+Z zh}+{2aDBlsi)D9aeW_Ci*A{081&qj$%TQz{NhQ@uHT)W@+kE0fvwQb`3k~+?%NhR;IGGwiF=U+4SNT|$s0=36C;QF2yEJ_+!lb#D4o|?c>UkN$8JYE;X*XZrF2T@dg`gckDcsU&v zehRO+I#~n7>13u26)czG>Rt@kwOz3@HK9^vREMGWA373KbI8gE*-t;2DAxWtAJ(-67#DDSQ*&nDbGISi_9D3D)?^mYJQMQUYJ2v&%@?SeefUMC z#@G!$Mf#=hy<;?N5(?YmD%r>V8n*o^x4-UCX!|ZRA=S>|YXSviZl*nUMa)|}8lz8A zi&uY3j(-75^aEt@lOtkhG8!4F&3&)_TimQ5Au}Vptuw~wq?Lf}enB(m6NDtzbC}gf zDdzjzCiGa5d2vJ>XH=W^nXM>vC$x(zWULgWw3~qcUiIMpWJ&Sw@fN1EV;cD4zqqpz9wL-l{jII85sFbK@ieC z@zi;*%71$<%|@s0np9Z=e*b*jY+tfd9@Ng7Zz9ziiPAhO5Mf<$U;|Qa%+gEwAtcS$ z#FXkq{qDbZ)ZTS#RuB7o;vgvPgP=Wm=XmL}uq|wR`V!h8_Is-XI`R$}#3>{duqv>F zA+vzy&2l`SI3A4|&^u>1bf`(9<}`RwaPMlJ2~=N|g8s(x2NQY66jT)05(A{3gLR%Q zY|HZTh(>*efpDfqZBJEpXKPqYZEtxyF{msIT-eSFc`g3EH3ckW1R;~KuU-90pr;>5 zBADCxEC4_VjrPvTPw-07yP4pgp|K7&f@%iQBkK(YLV;z9 zdI*q*3j86Vwvza|90qJ^XPkaq915he8HfYFV?wFVi9nJ5_=kLvbS%MUJ41tBTNF0x zi@I}L@tbGUc=cjYWh=fDl4e;9l^`qMvKr9%8)Il>^%Xwbstj|$e7g&D!R!vu1>$L90jozu5;qE)zx5CnNxUi}YbOga z7G0W`3S`L%XP{2@P!o&1{R=SW+Nyz$Of!d&FW~~*vv5I-*w4FlTlX+Akwdi(c?D3H zuVhyL5vRIr(xi)+EaxI-XiN11=D#nlVqX`>hOq8aQCk95>#*@#clG=;@W zTuCQ<<&!*ZCw46{gw>lWF<=Bz9nJt&!GK$=<3olvQafQDscp!ErQD3Hx-a5&KRjj& z`2HKUR{HKk<$4Kwdx?$y?!EHw2?VKzq7x#uk7BWAgLZ$YzoBlZSAP=ECBYh06us$J zh|2FTQXbuHgCiGcLS7dmf{|A%f$)g68oLn^PJ;PNRVmZ2sBF~3KL5L82`wrcG&{Ui zm(F)7sXX20@2cAtg(iqqhlc@gM*6#bfylPeU^91oEa_{&o5Hdn_~rpk&s@1KAA7k& zK_!(0J3lcvaM|Jz%p!g!W&Ha_l}A z9+gyAiASygj+|&!J+r||_WHXz@{#W4=)&ePmT-N(uGF;O+OPp$C7o!?<-Lm@Aa!;Y z)0m{Dr(Xg_kdBGGYzPjCSYRfAy1kklXFU6dQcZ~N{bA4FT*z(r_Z}z2=Wuh0-dR3} z6+E9oqt(bp{=bEM^>?q6gXa^7D&baEtg2DCAJnUjOpvMVljGhf>#5R%(K2<7c%(2) zz)BR(TdNOhW=x3zJ9hENYS{1#mP=NV&me(I76$8JGUldd|KbzDkfF7W(X#eVjOtaBB9%xy#ZE~SkPw?n{NHB>$!b|arT|R6CXcL zmgeC}7Pg`akVF<^@PdGRs`Kw~#_J!a7)~IqL zL&Jvs^k4YF&;U6|ptr$)FsjS6IOECNehw~x#X-b6UT@E5ckBJ(_ZJ6G1lbK`-rObk z{|$VPRtqyks3Orw+c^qol05?nUt`_BuQFJW@Ck1}1LrHM6$d`?bJ)Cm^2Se}6H=taN>Q_bEa@N9SIJn%|X#Ai;$>mspI;;9tUteeFZ>j&ZYtKc__h zr%u#F0{wlY4?OVxZ_n>uY8tKt0ciI#`@yM{2b z!RNq>#)Z88upAs_VXm)@?66@$N6}A75s5<{4lHh>HWA^;w3W$XfkgDYd+2WlJTP7- zEfBy6>hHD-A6?NTu17eLw3^hzg$9!^Pw-x&dkTw}SB$WwyC&_0H*`LpM{0(hl4igK z^iIjc@;?GkLoVcNb5T>h8h={^tj44qwQHrhiKjK0c$>-@_cL1{NxNVvdI?1*#gM3Y z8~#7*ryDSS2dV?{kw4qhp~#Q~C5e7@*z99oq3QOWNR~?^ZuILu1`ubqVLgF4B%dV{w}jj#+XG2a%` zdJ7g0E{oXGb9e$|5?zid4pAQ%aig!W>#}>AvNUIBLcV9sP8EI)Clx@<9~eo?`>!aB znCkhGK5Y`jNao!J&d zPenAeGyA)sMo19( zmbC~4qW8}dZ0VGvJo1)PFF^{6{BoB|F_g4o70FV8aQgdqE7xyaQuX#>o3=Ynb_%<2 zg}Q9c3Jt_D?jbNq^k9xynX~q(OHi^L2eX{ba79h zNUcxc@M8K6^0>sgNGDeJ_(d$I0|xK?ZGmP6G$(_v_0qJ}%`biZRCY^wVpr&&uSK8GRdklpjbq zPg2kmwV~6)Yd_jsZft!2x^g{FVGx%kasOo4!H}8v)YqaMP|5|`{_&6Np;HTUf z$yZobG-NiN503&3KNj3?4e;7-*V=`9_Ek7K=9UP|Wl&HWXlizQN^U_oz3;B@_JY{j0BqTy=xT0a_g|Q^guQ z_%D@zBfm)+l`7-LxX(p49*{LX_BpO+&G;FQLMT)U;og6?=FT9gbm@v5G`oBE@H-EW zA44NVf58W9CV4ok7(Swz(@ST6h$niVTVq7Q`B^h(DdMh4FBhJgUd;+Ci-C37?Y3OF zQ4{lc%JdEC-QadEO6VW^DXX+-UcX<*Pg>O0Jauy?T5R03Jb}R9M$xTbB#?Cyyz|oQ z6}PGT&Z!Ii0|@@SOo#;az$2xvZLxFPC|(W}lO9=9Nr!~@l_h;XYNOOANx`-c6k`e< z_u{6XRlfK1w+IU0;3ehnxRLJMMk{XX z_>!?3jJCgkbwg~lnW?sHAgCg;08>*C%*2RM36iPEpCOdt&Be)|&$h<=Yq}>Vd?7 z+<0x_@Z{nQQBbgFeExkH+NYHRcYC3T+Z69nCJ+~K8zs2nAxG_WbLQR|tL3}kFP?)m z<52^Qkm2BG=ZH$Ct{n*4tD?vs3>$=sIq5}}HeyLyhCj)}asbp>2rt{5Jq4Gif` zgjtx6`l#pRrK7_b6fhGKjM_rSg_xCn@TP5Z=GXt*Ua!vtad|LsR%xQDlGYv1ZbzFg zUX0(%iI@WmWAePmC+ybc*vM2xp;jlzadMwW;a1hwPqtj1*(NpF_#oA{=)%>~cYL@6nfo$IxP_mJ*@7$*RS+7{3(??D|b#&TAA6AQd$0y)c4e zQO^qI!G<%HNlET28jPKi%!*aBgqc8L*I68iU)Dt+Xhw~kN1fEv)L4VUQkt7W22Lhm zpe^qu445=)d66@qbN+T;d7M*)qJgNB)})tTFGQOBOhgn$&5)9G&)$3dc!N{t$ z0su7mBMu?`A>7;rueQ8_Nycr;>GEHqZJ5FuSAQQce^Hq6(KlNZQt-O@`{;K5!T89S zlgu}ghs>A4tgvPgG3#Z!Dh`hSI09(eF9Bja+Y~Fug9Ep1Js0x&jDxUxEeviXnhAp` z=)zPlYvwl5=f-~cb$wg3tgKb0 zqbreDfkDyB5&PYj4p@Ks%y*AjM5P&z_1&fee=f7lp|9;dwrT$+cVKP!s!|0B8qA8s z-gn&D$9LCiMUymJBAt@Fuh8m-BB?>ggn zXy-|f?rzIfkYpR1!ku)A-!`y0342nEF-LgsZats^9aBc#(4GjBd)abSVTyyy+!0p6 z|Hw_p>?~8BnJ1?|yco$O3gwG9_6(jqJNXmy!NK|F>fc0eRugmclZ)qvPAhPh(0IYx zU^A&L0Ci>*Zzn(Os@;P;8wElaG_&_#wrLkKLs@WMy?a#mtSfuMKPvvD9Urx`NbyQN zHZK+-126hbT;0AT(@3q)%(*cWd}QRR*$aO|mdlnopd2*p&lAvf zHuID?tUh7V)`xxgwVGGN z=o*`wFyrnrV^|Rjvn$ls-IGH z-{-ycJbT-E$eNW#uf;Dvyearb^UZ0IHD7XlQm4NC7pqh?j1;LCJos)yVBE@a$39l@ zc^jB%DF{5XLa0t_**7KN=(btp5YE<@s6wZ=QJxVI_u;+I?;Mdhs*4grz`$e43=-;( zt}Q?G2U`EG^Br;ShgO0Dxn=`259%cg=)!S>x)k0NRo;!FUQI?w_dG{6_M@+7+i1~d zv&m-?v@Ei}6f%Lc-zjckU!lZPK0>FhUg~heYwlRc*A~oi+{6!zB)}qoX21OMi2g*U1Pl1Ru;_$I^Z?=5{~x{^jZtxf_kKG zO+SLX%V=9J15O>Ri^{ZyZIk6+-NXuV?zcBPGuyrFdua$8kPvTizxr}>W(PachR=W_ zcXcKIJS58q>72V1kM*P&eDNC*ZwS2FS6s e0=vD6liiVA-ok+ZjY5WeNvOVQP>g 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�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 literal 0 HcmV?d00001 diff --git a/fastlane/config/freemium/Icon.png b/fastlane/config/freemium/LightIcon.png similarity index 100% rename from fastlane/config/freemium/Icon.png rename to fastlane/config/freemium/LightIcon.png diff --git a/fastlane/config/freemium/TintedIcon.png b/fastlane/config/freemium/TintedIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab24320424c1442c273ff5c1453e9c8002af919 GIT binary patch literal 29861 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 PH(V73P5DMytGE9fqyQ{6 literal 0 HcmV?d00001 diff --git a/fastlane/config/premium/DarkIcon.png b/fastlane/config/premium/DarkIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..1354d3bd9cdfbcfefa9c0577f792ff24b63b5a98 GIT binary patch literal 54762 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%0ALQGj7g`vq+d5T-%Dm>(J2D%8_7tqyvAelG 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 diff --git a/fastlane/config/premium/LightIcon.png b/fastlane/config/premium/LightIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..b04de8e9c7eee76543631a39485496a2622da916 GIT binary patch literal 56440 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 literal 0 HcmV?d00001 diff --git a/fastlane/config/premium/TintedIcon.png b/fastlane/config/premium/TintedIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..22c52ba094feb61da9a24653238b9109eea645d4 GIT binary patch literal 36586 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%0Dkg5a+@W$;cf>eMJw`Hm+E*0Ks6HC^zLNTv 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 afc(3^3Lmb@rWYX#0FZ;L{T Date: Fri, 18 Oct 2024 17:14:25 +0200 Subject: [PATCH 08/11] New Crowdin updates (#389) [ci skip] --- CryptomatorIntents/af.lproj/Intents.strings | 0 CryptomatorIntents/ja.lproj/Intents.strings | 2 +- CryptomatorIntents/no.lproj/Intents.strings | 0 CryptomatorIntents/th.lproj/Intents.strings | 14 ++ CryptomatorIntents/ug.lproj/Intents.strings | 1 + SharedResources/af.lproj/Localizable.strings | 0 SharedResources/de.lproj/Localizable.strings | 1 + SharedResources/el.lproj/Localizable.strings | 1 + SharedResources/es.lproj/Localizable.strings | 1 + SharedResources/fa.lproj/Localizable.strings | 1 + SharedResources/fr.lproj/Localizable.strings | 1 + SharedResources/hu.lproj/Localizable.strings | 8 + SharedResources/id.lproj/Localizable.strings | 4 +- SharedResources/it.lproj/Localizable.strings | 1 + SharedResources/ja.lproj/Localizable.strings | 5 + SharedResources/nl.lproj/Localizable.strings | 1 + SharedResources/no.lproj/Localizable.strings | 0 SharedResources/pa.lproj/Localizable.strings | 2 + SharedResources/pl.lproj/Localizable.strings | 1 + SharedResources/pt.lproj/Localizable.strings | 1 + SharedResources/ru.lproj/Localizable.strings | 5 +- SharedResources/sk.lproj/Localizable.strings | 1 + SharedResources/th.lproj/Localizable.strings | 193 ++++++++++++++++++ SharedResources/tr.lproj/Localizable.strings | 4 +- SharedResources/ug.lproj/Localizable.strings | 18 ++ .../zh-Hans.lproj/Localizable.strings | 1 + .../zh-Hant.lproj/Localizable.strings | 1 + 27 files changed, 261 insertions(+), 7 deletions(-) create mode 100644 CryptomatorIntents/af.lproj/Intents.strings create mode 100644 CryptomatorIntents/no.lproj/Intents.strings create mode 100644 CryptomatorIntents/ug.lproj/Intents.strings create mode 100644 SharedResources/af.lproj/Localizable.strings create mode 100644 SharedResources/no.lproj/Localizable.strings create mode 100644 SharedResources/ug.lproj/Localizable.strings diff --git a/CryptomatorIntents/af.lproj/Intents.strings b/CryptomatorIntents/af.lproj/Intents.strings new file mode 100644 index 000000000..e69de29bb diff --git a/CryptomatorIntents/ja.lproj/Intents.strings b/CryptomatorIntents/ja.lproj/Intents.strings index 79aa1b66b..355084f98 100644 --- a/CryptomatorIntents/ja.lproj/Intents.strings +++ b/CryptomatorIntents/ja.lproj/Intents.strings @@ -12,7 +12,7 @@ "isUnlockedIntent.description" = "金庫が解錠かどうか戻します。"; "isUnlockedIntent.title" = "解錠済"; -"isVaultLockedIntent.title" = "金庫が解錠ですか?"; +"isVaultLockedIntent.title" = "金庫は解錠済みか?"; "isVaultUnlockedIntent.text" = "${vault} が解錠してありますか?"; "lockVaultIntent.description" = "金庫を施錠します。"; diff --git a/CryptomatorIntents/no.lproj/Intents.strings b/CryptomatorIntents/no.lproj/Intents.strings new file mode 100644 index 000000000..e69de29bb diff --git a/CryptomatorIntents/th.lproj/Intents.strings b/CryptomatorIntents/th.lproj/Intents.strings index c369e1822..c9b582825 100644 --- a/CryptomatorIntents/th.lproj/Intents.strings +++ b/CryptomatorIntents/th.lproj/Intents.strings @@ -1 +1,15 @@ +"common.failureReason" = "สาเหตุความขัดข้อง"; +"common.false" = "เท็จ"; +"common.folder" = "โฟลเดอร์"; +"common.true" = "ถูกต้อง"; "common.vault" = "Vault"; +"getFolderIntent.path" = "ที่อยู่"; +"isUnlockedIntent.title" = "ปลดล็อกแล้ว"; + +"lockVaultIntent.description" = "ล็อก vault ที่กำหนด"; +"lockVaultIntent.title" = "ล็อก Vault"; +"openVaultIntent.title" = "เปิด Vault"; + +"saveFileIntent.description" = "บันทึกไฟล์ลงใน vault"; +"saveFileIntent.file" = "ไฟล์"; +"saveFileIntent.title" = "บันทึกไฟล์"; diff --git a/CryptomatorIntents/ug.lproj/Intents.strings b/CryptomatorIntents/ug.lproj/Intents.strings new file mode 100644 index 000000000..60b703038 --- /dev/null +++ b/CryptomatorIntents/ug.lproj/Intents.strings @@ -0,0 +1 @@ +"common.vault" = "ئامبار"; diff --git a/SharedResources/af.lproj/Localizable.strings b/SharedResources/af.lproj/Localizable.strings new file mode 100644 index 000000000..e69de29bb diff --git a/SharedResources/de.lproj/Localizable.strings b/SharedResources/de.lproj/Localizable.strings index 1bf251644..bfb7917cf 100644 --- a/SharedResources/de.lproj/Localizable.strings +++ b/SharedResources/de.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Das für %@ gespeicherte Passwort ist falsch. Bitte versuche es erneut und gib dein Passwort ein, um %@ wieder zu aktivieren."; "fileProvider.error.defaultLock.title" = "Entsperren erforderlich"; "fileProvider.error.defaultLock.message" = "Um auf den Inhalt deines Tresors zuzugreifen und ihn anzuzeigen, muss dieser entsperrt werden."; +"fileprovider.error.unauthorized.text" = "Der Zugriff auf deinen Tresor „%@“ wurde verweigert. Öffne die Haupt-App, um die Verbindung zu überprüfen, und authentifiziere dich bei Bedarf neu."; "fileProvider.error.unlockButton" = "Entsperren"; "fileProvider.clearFileFromCache.title" = "Datei aus Cache löschen"; "fileProvider.clearFileFromCache.message" = "Dies entfernt nur die lokale Datei von deinem Gerät und löscht nicht die Datei in der Cloud."; diff --git a/SharedResources/el.lproj/Localizable.strings b/SharedResources/el.lproj/Localizable.strings index 2c1eeef59..8de53b4d1 100644 --- a/SharedResources/el.lproj/Localizable.strings +++ b/SharedResources/el.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Ο κωδικός πρόσβασης που έχει αποθηκευτεί για %@ είναι λάθος. Παρακαλώ προσπαθήστε ξανά και εισάγετε τον κωδικό πρόσβασής σας για να ενεργοποιήσετε ξανά %@."; "fileProvider.error.defaultLock.title" = "Απαιτείται Ξεκλείδωμα"; "fileProvider.error.defaultLock.message" = "Για να αποκτήσετε πρόσβαση και να εμφανίσετε τα περιεχόμενα της κρύπτη σας, πρέπει να ξεκλειδωθεί."; +"fileprovider.error.unauthorized.text" = "Η πρόσβαση στην κρύπτη σας \"%@\" απαγορεύτηκε. Ανοίξτε την κύρια εφαρμογή για να ελέγξετε τη σύνδεσή σας και να επαληθεύσετε ξανά την ταυτότητα εάν χρειάζεται."; "fileProvider.error.unlockButton" = "Ξεκλείδωμα"; "fileProvider.clearFileFromCache.title" = "Εκκαθάριση αρχείου από την προσωρινή μνήμη"; "fileProvider.clearFileFromCache.message" = "Αυτό καταργεί μόνο το τοπικό αρχείο από τη συσκευή σας και δεν διαγράφει το αρχείο στο cloud."; diff --git a/SharedResources/es.lproj/Localizable.strings b/SharedResources/es.lproj/Localizable.strings index d94a1104a..bc58e72fa 100644 --- a/SharedResources/es.lproj/Localizable.strings +++ b/SharedResources/es.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "La contraseña guardada para %@ es incorrecta. Intente de nuevo e ingrese su contraseña para volver a habilitar %@."; "fileProvider.error.defaultLock.title" = "Desbloqueo requerido"; "fileProvider.error.defaultLock.message" = "Para acceder y mostrar el contenido de su bóveda hay que desbloquearla."; +"fileprovider.error.unauthorized.text" = "Se ha denegado el acceso a tu bóveda \"%@\". Abre la aplicación principal para comprobar tu conexión y volver a autenticarte si es necesario."; "fileProvider.error.unlockButton" = "Desbloquear"; "fileProvider.clearFileFromCache.title" = "Borrar archivo de la caché"; "fileProvider.clearFileFromCache.message" = "Esto solo elimina el archivo local de su dispositivo y no lo elimina de la nube."; diff --git a/SharedResources/fa.lproj/Localizable.strings b/SharedResources/fa.lproj/Localizable.strings index 71b04e241..9b49d1bc6 100644 --- a/SharedResources/fa.lproj/Localizable.strings +++ b/SharedResources/fa.lproj/Localizable.strings @@ -15,6 +15,7 @@ "addVault.title" = "اضافه کردن گاوصندوق"; "addVault.createNewVault.title" = "ساخت گاوصندوق جدید"; "addVault.createNewVault.setVaultName.cells.name" = "نام گاوصندوق"; +"addVault.createNewVault.chooseCloud.header" = "کجا باید کریپتوماتور فایل های رمزگذاری شده گاوصندوق شما را نگهداری کند؟"; "addVault.createNewVault.password.confirmPassword.alert.message" = "مهم: اگر پسروردتان را از یاد ببرید، هیچ راهی برای بازگردانی اطلاعاتتان نیست."; "addVault.openExistingVault.title" = "باز کردن گاوصندوق موجود"; "fileProvider.error.unlockButton" = "بازکردن قفل"; diff --git a/SharedResources/fr.lproj/Localizable.strings b/SharedResources/fr.lproj/Localizable.strings index 807599568..28a28c427 100644 --- a/SharedResources/fr.lproj/Localizable.strings +++ b/SharedResources/fr.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Le mot de passe qui a été sauvegardé pour %@ est incorrect. Veuillez réessayer et entrer votre mot de passe pour réactiver %@."; "fileProvider.error.defaultLock.title" = "Déverrouillage requis"; "fileProvider.error.defaultLock.message" = "Pour accéder et afficher le contenu de votre coffre, il doit être déverrouillé."; +"fileprovider.error.unauthorized.text" = "Accès à votre coffre \"%@\" refusé. Ouvrez l'application principale pour vérifier votre connexion et réauthentifiez-vous si nécessaire."; "fileProvider.error.unlockButton" = "Déverrouiller"; "fileProvider.clearFileFromCache.title" = "Effacer le fichier du cache"; "fileProvider.clearFileFromCache.message" = "Cela ne supprime le fichier local que de votre appareil et ne supprime pas le fichier dans le cloud."; diff --git a/SharedResources/hu.lproj/Localizable.strings b/SharedResources/hu.lproj/Localizable.strings index dc87abdcc..8c56d712a 100644 --- a/SharedResources/hu.lproj/Localizable.strings +++ b/SharedResources/hu.lproj/Localizable.strings @@ -96,16 +96,24 @@ "fileProvider.onboarding.info" = "Köszönjük, hogy a Cryptomatort válaszotta fájlainak megvédéséhez. Kezdéshez menjen a fő appba és adjon hozzá egy széfet."; "fileProvider.onboarding.button.openCryptomator" = "Cryptomator megnyitása"; "fileProvider.error.biometricalAuthCanceled.title" = "Feloldás megszakítva"; +"fileProvider.error.biometricalAuthCanceled.message" = "A(z) %@ általi feloldás nem volt sikeres. Kérem, próbálja újra."; "fileProvider.error.biometricalAuthWrongPassword.title" = "Helytelen jelszó"; +"fileProvider.error.biometricalAuthWrongPassword.message" = "A(z) %@ számára mentett jelszó hibás. Kérem, próbálja újra, és adja meg a jelszavát a %@ újbóli engedélyezéséhez."; "fileProvider.error.defaultLock.title" = "Feloldás szükséges"; +"fileProvider.error.defaultLock.message" = "A széf tartalmának eléréséhez és megjelenítéséhez a széfet fel kell oldani."; +"fileprovider.error.unauthorized.text" = "A(z) „%@” széfhez való hozzáférés megtagadva. Nyissa meg a főalkalmazást a kapcsolat ellenőrzéséhez, és hitelesítse újra, ha szükséges."; "fileProvider.error.unlockButton" = "Feloldás"; "fileProvider.clearFileFromCache.title" = "Fájl törlése az átmeneti tárból"; "fileProvider.clearFileFromCache.message" = "Ez csak a helyi fájlt távolítja el az eszközről, de nem törli a fájlt a felhőben."; "fileProvider.fileImporting.error.missingPremium" = "Oldja fel a teljes verziót a Cryptomator alkalmazásban, hogy írási hozzáférést kapjon a széfjeihez."; "fileProvider.uploadProgress.connecting" = "Kapcsolódás…"; +"fileProvider.uploadProgress.message" = "Jelenlegi előrehaladás: %@\n\nHa azt észleli, hogy a feltöltési folyamat megakadt, megpróbálhatja újraindítani a feltöltést."; +"fileProvider.uploadProgress.missing" = "Az előrehaladás nem állapítható meg. Lehetséges, hogy a háttérben még fut."; "fileProvider.uploadProgress.title" = "Feltöltés…"; "fileProvider.uploadProgress.missingDomainError" = "A domain nem található."; "getFolderIntent.error.noVaultSelected" = "Nincs széf kiválasztva."; + +"hubAuthentication.title" = "Hub széf"; "hubAuthentication.accessNotGranted" = "Eszköze még nem kapott engedélyt ehhez a széfhez. Kérje a széf tulajdonosát, hogy engedélyezze a hozzáférést."; "hubAuthentication.licenseExceeded" = "Az Ön Cryptomator Hub példánya érvénytelen licenccel rendelkezik. Kérem, értesítsen egy Hub rendszergazdát hogy frissítse vagy újítsa meg a licencet."; "hubAuthentication.deviceRegistration.deviceName.cells.name" = "Készülék neve"; diff --git a/SharedResources/id.lproj/Localizable.strings b/SharedResources/id.lproj/Localizable.strings index 220d8f255..87eb92ee9 100644 --- a/SharedResources/id.lproj/Localizable.strings +++ b/SharedResources/id.lproj/Localizable.strings @@ -39,11 +39,11 @@ "accountList.signOut.alert.title" = "Hapus Vault Terkait?"; "accountList.signOut.alert.message" = "Dengan keluar, semua vault terkait akan dihapus dari daftar vault. Tidak ada data terenkripsi yang akan dihapus. Anda dapat masuk lagi dan menambahkan kembali vault nanti."; -"addVault.title" = "Tambah Vault"; +"addVault.title" = "Tambah Brankas"; "addVault.createNewVault.title" = "Buat Vault Baru"; "addVault.createNewVault.purchase" = "Membuat vault baru memerlukan Cryptomator versi lengkap."; "addVault.createNewVault.setVaultName.header.title" = "Pilih nama vault."; -"addVault.createNewVault.setVaultName.cells.name" = "Nama Vault"; +"addVault.createNewVault.setVaultName.cells.name" = "Nama Brankas"; "addVault.createNewVault.setVaultName.error.emptyVaultName" = "Nama Vault tidak boleh kosong."; "addVault.createNewVault.chooseCloud.header" = "Dimana Cryptomator seharusnya menyimpan vault berisi file enkripsi Anda?"; "addVault.createNewVault.chooseFolder.error.vaultNameCollision" = "\"%@\" sudah ada di lokasi ini. Pilih nama vault atau lokasi berbeda."; diff --git a/SharedResources/it.lproj/Localizable.strings b/SharedResources/it.lproj/Localizable.strings index 818c4139c..abd840d25 100644 --- a/SharedResources/it.lproj/Localizable.strings +++ b/SharedResources/it.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "La password salvata per %@ è errata. Riprova e inserisci la password per riabilitare %@."; "fileProvider.error.defaultLock.title" = "Richiesto Sblocco"; "fileProvider.error.defaultLock.message" = "La cassaforte deve essere sbloccata per accedere e vedere il contenuto."; +"fileprovider.error.unauthorized.text" = "L'accesso alla cassaforte \"%@\" è stato negato. Apri l'app principale per controllare la tua connessione e autenticati nuovamente, se necessario."; "fileProvider.error.unlockButton" = "Sblocca"; "fileProvider.clearFileFromCache.title" = "Cancella file dalla cache"; "fileProvider.clearFileFromCache.message" = "Questo rimuove solo il file locale dal dispositivo e non elimina il file nel cloud."; diff --git a/SharedResources/ja.lproj/Localizable.strings b/SharedResources/ja.lproj/Localizable.strings index 8f4ecf5eb..67b762d97 100644 --- a/SharedResources/ja.lproj/Localizable.strings +++ b/SharedResources/ja.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "%@ に保存されたパスワードが間違っています。 %@ を再度有効にするには、再度パスワードを入力してください。"; "fileProvider.error.defaultLock.title" = "ロック解除が必要です"; "fileProvider.error.defaultLock.message" = "保管庫の内容にアクセスして表示するには、ロックを解除する必要があります。"; +"fileprovider.error.unauthorized.text" = "金庫「%@」へのアクセスが拒否されました。メインアプリを開いて接続を確認し、必要なら再認証してください。"; "fileProvider.error.unlockButton" = "解錠"; "fileProvider.clearFileFromCache.title" = "キャッシュからファイルをクリア"; "fileProvider.clearFileFromCache.message" = "これにより、デバイスからローカルファイルが削除されるだけで、クラウド内のファイルは削除されません。"; @@ -113,10 +114,14 @@ "getFolderIntent.error.missingPath" = "パスがありません。妥当なフォルダーのパスを指定してください。"; "getFolderIntent.error.noVaultSelected" = "金庫は選択されていません。"; + +"hubAuthentication.title" = ""; "hubAuthentication.accessNotGranted" = "お使いのデバイスはまだこの金庫にアクセスする権限がありません。金庫のオーナーに権限を与えてもらってください。"; "hubAuthentication.licenseExceeded" = "Cryptomator Hub インスタンスのライセンスが無効です。ライセンスをアップグレードまたは更新するには、Hub の管理者にご連絡ください。"; "hubAuthentication.deviceRegistration.deviceName.cells.name" = "デバイス名"; +"hubAuthentication.deviceRegistration.deviceName.footer.title" = ""; "hubAuthentication.deviceRegistration.accountKey.footer.title" = "アカウントキーは新しいアプリやブラウザからログインするために必要です。プロフィール中に記載されています。"; +"hubAuthentication.deviceRegistration.needsAuthorization.alert.title" = ""; "hubAuthentication.deviceRegistration.needsAuthorization.alert.message" = "金庫にアクセスするためには,金庫のオーナーが端末を認証する必要があります。"; "hubAuthentication.requireAccountInit.alert.title" = "要対応"; "hubAuthentication.requireAccountInit.alert.message" = "続行するにはHubユーザープロフィールで必要な手順を完了してください。"; diff --git a/SharedResources/nl.lproj/Localizable.strings b/SharedResources/nl.lproj/Localizable.strings index ea47789dd..fbb960740 100644 --- a/SharedResources/nl.lproj/Localizable.strings +++ b/SharedResources/nl.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Het wachtwoord dat is opgeslagen voor %@ is verkeerd. Probeer het opnieuw en voer uw wachtwoord in om %@ opnieuw in te schakelen."; "fileProvider.error.defaultLock.title" = "Ontgrendeling vereist"; "fileProvider.error.defaultLock.message" = "Om toegang te krijgen tot de inhoud van je kluis, moet deze worden ontgrendeld."; +"fileprovider.error.unauthorized.text" = "De toegang tot uw kluis \"%@\" is geweigerd. Open de hoofdapplicatie om uw verbinding te controleren en indien nodig opnieuw te verifiëren."; "fileProvider.error.unlockButton" = "Ontgrendel"; "fileProvider.clearFileFromCache.title" = "Wissen uit cache"; "fileProvider.clearFileFromCache.message" = "Dit verwijdert alleen het lokale bestand van uw apparaat en verwijdert het bestand in de cloud niet."; diff --git a/SharedResources/no.lproj/Localizable.strings b/SharedResources/no.lproj/Localizable.strings new file mode 100644 index 000000000..e69de29bb diff --git a/SharedResources/pa.lproj/Localizable.strings b/SharedResources/pa.lproj/Localizable.strings index 53612f1c8..51e55de05 100644 --- a/SharedResources/pa.lproj/Localizable.strings +++ b/SharedResources/pa.lproj/Localizable.strings @@ -97,6 +97,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "%@ ਲਈ ਸੰਭਾਲਿਆ ਗਿਆ ਪਾਸਵਰਡ ਗਲਤ ਹੈ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਅਤੇ %@ ਨੂੰ ਮੁੜ-ਸਮਰੱਥ ਕਰਨ ਵਾਸਤੇ ਆਪਣਾ ਪਾਸਵਰਡ ਦਿਓ।"; "fileProvider.error.defaultLock.title" = "ਅਣ-ਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"; "fileProvider.error.defaultLock.message" = "ਤੁਹਾਡੇ ਵਾਲਟ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਵਰਤਣ ਅਤੇ ਵੇਖਣ ਲਈ ਇਸ ਨੂੰ ਅਣ-ਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"; +"fileprovider.error.unauthorized.text" = "\"%@\" ਵਾਲਟ ਲਈ ਤੁਹਾਡੀ ਪਹੁੰਚ ਤੋਂ ਇਨਕਾਰ ਕੀਤਾ ਗਿਆ। ਆਪਣੇ ਕਨੈਕਸ਼ਨਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਅਤੇ ਜੇ ਲੋੜ ਹੋਵੇ ਤਾਂ ਮੁੜ-ਪਰਮਾਣਿਤ ਕਰਨ ਲਈ ਮੁੱਖ ਐਪ ਨੂੰ ਖੋਲ੍ਹੋ।"; "fileProvider.error.unlockButton" = "ਅਣ-ਲਾਕ ਕਰੋ"; "fileProvider.clearFileFromCache.title" = "ਕੈਸ਼ ਤੋਂ ਫਾਇਲ ਮਿਟਾਓ"; "fileProvider.clearFileFromCache.message" = "ਇਹ ਸਿਰਫ਼ ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਤੋਂ ਲੋਕਲ ਫਾਇਲ ਹੀ ਹਟਾਉਂਦਾ ਹੈ ਅਤੇ ਕਲਾਉਡ ਤੋਂ ਫਾਇਲ ਨੂੰ ਨਹੀਂ ਹਟਾਉਂਦਾ ਹੈ।"; @@ -104,6 +105,7 @@ "fileProvider.uploadProgress.connecting" = "…ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"; "fileProvider.uploadProgress.title" = "…ਅੱਪਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"; "getFolderIntent.error.noVaultSelected" = "ਕੋਈ ਵਾਲਟ ਨਹੀਂ ਚੁਣਿਆ ਹੈ।"; +"hubAuthentication.deviceRegistration.deviceName.cells.name" = "ਡਿਵਾਈਸ ਦਾ ਨਾਂ"; "hubAuthentication.deviceRegistration.accountKey.footer.title" = "ਤੁਹਾਡੀ Account Key ਨਵੀਆਂ ਐਪਾਂ ਜਾਂ ਬਰਾਊਜ਼ਰਾਂ ਵਿੱਚ ਲਾਗਇਨ ਕਰਨ ਸਮੇਂ ਚਾਹੀਦੀ ਹੈ। ਇਸ ਨੂੰ ਤੁਹਾਡੇ ਪਰੋਫਾਇਲ ਵਿੱਚ ਲੱਭਿਆ ਜਾ ਸਕਦਾ ਹੈ।"; "hubAuthentication.requireAccountInit.alert.title" = "ਕਾਰਵਾਈ ਦੀ ਲੋੜ ਹੈ"; "hubAuthentication.requireAccountInit.alert.message" = "ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣੇ Hub ਵਰਤੋਂਕਾਰ ਪਰੋਫਾਇਲ ਵਿੱਚ ਲੋੜੀਂਦੇ ਪੜਾਅ ਪੂਰੇ ਕਰੋ।"; diff --git a/SharedResources/pl.lproj/Localizable.strings b/SharedResources/pl.lproj/Localizable.strings index cb489bbfd..7c8487d77 100644 --- a/SharedResources/pl.lproj/Localizable.strings +++ b/SharedResources/pl.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Hasło zapisane dla %@ jest błędne. Spróbuj ponownie i wpisz hasło, aby ponownie włączyć %@."; "fileProvider.error.defaultLock.title" = "Wymagane odblokowanie"; "fileProvider.error.defaultLock.message" = "Sejf musi być odblokowany aby zobaczyć i mieć dostęp do jego zawartości."; +"fileprovider.error.unauthorized.text" = "Dostęp do Twojego sejfu \"%@\" został odrzucony. Otwórz aplikację, aby sprawdzić połączenie i w razie konieczności ponownie się uwierzytelnić."; "fileProvider.error.unlockButton" = "Odblokuj"; "fileProvider.clearFileFromCache.title" = "Usuń plik z pamięci podręcznej"; "fileProvider.clearFileFromCache.message" = "Powoduje to jedynie usunięcie pliku lokalnego z urządzenia, a nie usunięcie pliku w chmurze."; diff --git a/SharedResources/pt.lproj/Localizable.strings b/SharedResources/pt.lproj/Localizable.strings index 768d62a3d..ec0149141 100644 --- a/SharedResources/pt.lproj/Localizable.strings +++ b/SharedResources/pt.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "A senha que foi salva para %@ está errada. Por favor, tente novamente e digite sua senha para reativar %@."; "fileProvider.error.defaultLock.title" = "Desbloqueio necessário"; "fileProvider.error.defaultLock.message" = "Para aceder e mostrar o conteúdo do seu cofre, ele tem de estar desbloqueado."; +"fileprovider.error.unauthorized.text" = "O acesso ao seu cofre \"%@\" foi negado. Abra a aplicação principal para verificar a sua ligação e autenticar novamente, se necessário."; "fileProvider.error.unlockButton" = "Desbloquear"; "fileProvider.clearFileFromCache.title" = "Limpar Arquivo de Cache"; "fileProvider.clearFileFromCache.message" = "Isto apenas remove o ficheiro local do dispositivo e não o apaga na nuvem."; diff --git a/SharedResources/ru.lproj/Localizable.strings b/SharedResources/ru.lproj/Localizable.strings index ab803903f..c006e6656 100644 --- a/SharedResources/ru.lproj/Localizable.strings +++ b/SharedResources/ru.lproj/Localizable.strings @@ -30,7 +30,7 @@ "common.cells.openInFilesApp" = "Открыть в \"Файлах\""; "common.cells.password" = "Пароль"; "common.cells.url" = "URL"; -"common.cells.username" = "Имя пользователя"; +"common.cells.username" = "Логин"; "common.footer.learnMore" = "Подробнее."; "common.hud.authenticating" = "Аутентификация…"; @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Сохранённый пароль для %@ неверный. Попробуйте ещё раз и введите пароль для активации %@."; "fileProvider.error.defaultLock.title" = "Требуется разблокировка"; "fileProvider.error.defaultLock.message" = "Хранилище должно быть разблокировано, чтобы получить доступ к его содержимому."; +"fileprovider.error.unauthorized.text" = "Отказано в доступе к хранилищу \"%@\". Откройте главное приложение, чтобы проверить соединение и при необходимости заново авторизоваться."; "fileProvider.error.unlockButton" = "Разблокировать"; "fileProvider.clearFileFromCache.title" = "Удалить файл из кэша"; "fileProvider.clearFileFromCache.message" = "Эта операция удаляет только локальный файл с вашего устройства, но не из облака."; @@ -225,7 +226,7 @@ "s3Authentication.displayName" = "Отображаемое имя"; "s3Authentication.accessKey" = "Ключ доступа"; "s3Authentication.secretKey" = "Секретный ключ"; -"s3Authentication.existingBucket" = "Существующий бакет"; +"s3Authentication.existingBucket" = "Имеющийся бакет"; "s3Authentication.endpoint" = "Конечная точка"; "s3Authentication.region" = "Регион"; "s3Authentication.error.invalidCredentials" = "Неверные учётные данные."; diff --git a/SharedResources/sk.lproj/Localizable.strings b/SharedResources/sk.lproj/Localizable.strings index c39c398e9..7bb0625b5 100644 --- a/SharedResources/sk.lproj/Localizable.strings +++ b/SharedResources/sk.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Heslo ktoré bolo uložené pre %@ je nesprávne. Prosím skúste znovu a vložte Vaše heslo pre znovu povolenie %@."; "fileProvider.error.defaultLock.title" = "Odomknutie požadované"; "fileProvider.error.defaultLock.message" = "K prístupu a videniu obsahu Vášho trezora, musí byť odomknutý."; +"fileprovider.error.unauthorized.text" = "Pristúp k Vášmu trezoru „%@\" bol zamietnutý. Otvorte hlavnú aplikáciu pre kontrolu pripojenia a v prípade potreby znovu sa autentizujte."; "fileProvider.error.unlockButton" = "Odomknúť"; "fileProvider.clearFileFromCache.title" = "Vymazať súbor z Cache"; "fileProvider.clearFileFromCache.message" = "Toto odstráni lokálny súbor iba z Vašeho zariadenia a neodstráni súbor v cloude."; diff --git a/SharedResources/th.lproj/Localizable.strings b/SharedResources/th.lproj/Localizable.strings index 2b7fe343a..34e765761 100644 --- a/SharedResources/th.lproj/Localizable.strings +++ b/SharedResources/th.lproj/Localizable.strings @@ -1,14 +1,207 @@ +/* + Localizable.strings + Cryptomator + + Copyright © 2021 Skymatic GmbH. All rights reserved. +*/ + +"common.alert.error.title" = "ข้อผิดพลาด"; +"common.alert.attention.title" = "โปรดทราบ"; "common.button.cancel" = "ยกเลิก"; "common.button.change" = "เปลี่ยน"; +"common.button.choose" = "เลือก"; +"common.button.clear" = "ล้าง"; "common.button.close" = "ปิด"; +"common.button.confirm" = "ยืนยัน"; +"common.button.create" = "สร้าง"; +"common.button.createFolder" = "สร้างโฟลเดอร์"; "common.button.done" = "เสร็จสิ้น"; +"common.button.download" = "ดาวน์โหลด"; +"common.button.edit" = "แก้ไข"; +"common.button.enable" = "เปิดใช้งาน"; "common.button.next" = "ถัดไป"; +"common.button.ok" = "ตกลง"; +"common.button.refresh" = "รีเฟรช"; +"common.button.register" = "ลงทะเบียน"; +"common.button.remove" = "ลบ"; +"common.button.retry" = "ลอง​ใหม่"; +"common.button.signOut" = "ลงชื่อออก"; +"common.button.verify" = "ยืนยัน"; +"common.cells.openInFilesApp" = "เปิดในแอปไฟล์"; +"common.cells.password" = "รหัสผ่าน"; +"common.cells.url" = "URL"; +"common.cells.username" = "ชื่อผู้ใช้"; +"common.footer.learnMore" = "เรียนรู้เพิ่มเติม"; +"common.hud.authenticating" = "กำลังตรวจสอบ…"; + +"accountList.header.title" = "การรับรอง"; +"accountList.emptyList.message" = "แตะที่นี่เพื่อเพิ่มบัญชี"; "addVault.title" = "เพิ่ม Vault"; "addVault.createNewVault.title" = "สร้าง Vault ใหม่"; +"addVault.createNewVault.setVaultName.header.title" = "เลือกชื่อให้ Vault"; "addVault.createNewVault.setVaultName.cells.name" = "ชื่อ Vault"; +"addVault.createNewVault.setVaultName.error.emptyVaultName" = "ชื่อ vault ไม่สามารถเว้นว่างได้"; "addVault.createNewVault.chooseCloud.header" = "Cryptomator ควรเก็บไฟล์ของคุณไว้ที่ไหน?"; +"addVault.createNewVault.password.enterPassword.header" = "ป้อนรหัสผ่านใหม่ของคุณ"; +"addVault.createNewVault.password.confirmPassword.header" = "ป้อนรหัสผ่านใหม่ของคุณอีกครั้ง"; +"addVault.createNewVault.password.confirmPassword.alert.title" = "ยืนยันรหัสผ่าน?"; +"addVault.createNewVault.password.error.emptyPassword" = "รหัสผ่านไม่สามารถเว้นว่างได้"; +"addVault.createNewVault.password.error.nonMatchingPasswords" = "รหัสผ่านไม่ตรงกัน"; +"addVault.createNewVault.password.error.tooShortPassword" = "รหัสผ่านต้องมีตัวอักษรอย่างน้อย 8 ตัว"; +"addVault.createNewVault.progress" = "กำลังสร้าง Vault…"; "addVault.openExistingVault.title" = "เปิด Vault"; +"addVault.openExistingVault.detectedMasterkey.add" = "เพิ่ม Vault นี้"; +"addVault.openExistingVault.downloadVault.progress" = "กำลังดาวน์โหลด Vault…"; +"addVault.openExistingVault.password.footer" = "ใส่รหัสผ่านสำหรับ \"%@\""; +"addVault.openExistingVault.progress" = "กำลังเพิ่ม Vault…"; + +"biometryType.faceID" = "Face ID"; +"biometryType.touchID" = "Touch ID"; + +"changePassword.error.invalidOldPassword" = "รหัสผ่านปัจจุบันผิด กรุญาลองใหม่อีกครั้ง"; +"changePassword.header.currentPassword.title" = "ใส่รหัสผ่านปัจจุบัน"; +"changePassword.header.newPassword.title" = "ป้อนรหัสผ่านใหม่ของคุณ"; +"changePassword.header.newPasswordConfirmation.title" = "ป้อนรหัสผ่านใหม่ของคุณอีกครั้ง"; +"changePassword.progress" = "กำลังเปลี่ยนรหัสผ่าน…"; + +"chooseFolder.emptyFolder.footer" = "โฟลเดอร์นี้ว่างเปล่า"; +"chooseFolder.createNewFolder.header.title" = "เลือกชื่อให้โฟลเดอร์"; +"chooseFolder.createNewFolder.cells.name" = "ชื่อโฟลเดอร์"; +"chooseFolder.createNewFolder.error.emptyFolderName" = "ชื่อโฟลเดอร์ไม่สามารถเว้นว่างได้"; +"chooseFolder.createNewFolder.progress" = "กำลังสร้างโฟลเดอร์…"; + +"cloudProvider.error.itemNotFound" = "ไม่พบ \"%@\""; +"cloudProvider.error.itemAlreadyExists" = "\"%@\" มีอยู่แล้ว"; +"cloudProvider.error.quotaInsufficient" = "คุณมีพื้นที่ว่างไม่เพียงพอ"; + +"cloudProviderType.localFileSystem" = "ผู้ให้บริการอื่น"; + +"fileProvider.onboarding.title" = "ยินดีต้อนรับ"; +"fileProvider.onboarding.button.openCryptomator" = "เปิด Cryptomator"; +"fileProvider.error.biometricalAuthCanceled.title" = "การปลดล็อกถูกยกเลิก"; +"fileProvider.error.biometricalAuthWrongPassword.title" = "รหัสผ่านไม่ถูกต้อง"; +"fileProvider.error.defaultLock.title" = "ต้องปลดล็อก"; "fileProvider.error.unlockButton" = "ปลดล็อก"; +"fileProvider.clearFileFromCache.title" = "ล้างไฟล์จากแคช"; +"fileProvider.uploadProgress.connecting" = "เชื่อมต่อ..."; +"fileProvider.uploadProgress.title" = "กำลังอัปโหลด..."; +"fileProvider.uploadProgress.missingDomainError" = "ไม่พบโดเมน"; + +"hubAuthentication.title" = "Hub Vault"; +"hubAuthentication.accessNotGranted" = "อุปกรณ์ของคุณยังไม่ได้รับการอนุญาตให้เข้าถึง vault นี้ โปรดขอให้เจ้าของ vault อนุญาต"; +"hubAuthentication.licenseExceeded" = "ระบบ Cryptomator Hub ของคุณมีสิทธิ์การใช้ไม่ถูกต้อง โปรดแจ้งผู้ดูแล Hub เพื่ออัปเกรดหรือต่ออายุสิทธิ์การใช้"; +"hubAuthentication.deviceRegistration.deviceName.cells.name" = "ชื่ออุปกรณ์"; +"hubAuthentication.deviceRegistration.needsAuthorization.alert.title" = "ลงทะเบียนอุปกรณ์สำเร็จ"; +"hubAuthentication.requireAccountInit.alert.title" = "โปรดดำเนินการ"; +"hubAuthentication.requireAccountInit.alert.actionButton" = "ไปยังโปร์ไฟล์"; + +"keepUnlocked.alert.title" = "ล็อก Vault?"; +"keepUnlocked.alert.confirm" = "ยืนยันและล็อกทันที"; +"keepUnlocked.footer.on" = "เมื่อใช้ตัวเลือกที่เลือกไว้ จะต้องเก็บสำเนาของกุญแจของคุณไว้ในพวงกุญแจ iOS ตราบใดที่ vault ถูกปลดล็อก"; +"keepUnlockedDuration.auto.shortDisplayName" = "อัตโนมัติ"; +"keepUnlockedDuration.indefinite" = "ไม่มีกำหนด"; +"localFileSystemAuthentication.createNewVault.button" = "เลือกตำแหน่งพื้นที่จัดเก็บ"; +"localFileSystemAuthentication.openExistingVault.button" = "เลือกโฟลเดอร์ Vault"; + +"onboarding.title" = "ยินดีต้อนรับ"; +"onboarding.button.continue" = "ดำเนินการต่อ"; + +"purchase.beginFreeTrial.alert.title" = "ปลดล็อกการทดลองการใช้งานแล้ว"; +"purchase.expiredTrial" = "ระยะเวลาทดลองใช้งานของคุณหมดอายุแล้ว"; +"purchase.footer.privacyPolicy" = "นโยบายความเป็นส่วนตัว"; +"purchase.footer.termsOfUse" = "เงื่อนไขการใช้งาน"; +"purchase.header.feature.familySharing" = "การแชร์กันในครอบครัว"; +"purchase.header.feature.openSource" = "การพัฒนาแบบ Open-source"; +"purchase.product.donateAndUpgrade" = "บริจาค & อัปเกรด"; +"purchase.product.freeUpgrade" = "อัปเกรดฟรี"; +"purchase.product.lifetimeLicense" = "สิทธิ์ใช้งานตลอดชีพ"; +"purchase.product.lifetimeLicense.duration" = "ครั้งเดียว"; +"purchase.product.pricing.free" = "ฟรี"; +"purchase.product.trial" = "ทดลองใช้ 30 วัน"; +"purchase.product.trial.expirationDate" = "วันหมดอายุ: %@"; +"purchase.product.trial.duration" = "30 วัน"; +"purchase.product.yearlySubscription" = "สมาชิกรายปี"; +"purchase.product.yearlySubscription.duration" = "รายปี"; +"purchase.readOnlyMode.alert.title" = "โหมดอ่านอย่างเดียว"; +"purchase.restorePurchase.button" = "กู้คืนการซื้อ"; +"purchase.restorePurchase.validTrialFound.alert.title" = "การทดลองใช้งานดำเนินการต่อ"; +"purchase.restorePurchase.fullVersionFound.alert.title" = "การกู้คืนสำเร็จ"; +"purchase.restorePurchase.fullVersionNotFound.alert.title" = "ไม่มีเวอร์ชันเต็ม"; +"purchase.restorePurchase.eligibleForUpgrade.alert.title" = "สามารถอัปเกรดได้"; +"purchase.retry.button" = "ลอง​ใหม่"; +"purchase.title" = "ปลดล็อกเวอร์ชั่นเต็ม"; +"purchase.unlockedFullVersion.title" = "ขอบคุณ"; + +"settings.title" = "การตั้งค่า"; +"settings.aboutCryptomator" = "เกี่ยวกับ Cryptomator"; +"settings.aboutCryptomator.title" = "เวอร์ชัน %@ (%@)"; +"settings.cacheSize" = "ขนาดแคช"; +"settings.clearCache" = "ล้างแคช"; +"settings.cloudServices" = "บริการคลาวด์"; +"settings.contact" = "ติดต่อ"; +"settings.debugMode" = "โหมดดีบัก"; +"settings.manageSubscriptions" = "จัดการการสมัครสมาชิก"; +"settings.rateApp" = "ให้คะแนนแอป"; +"settings.sendLogFile" = "ส่งไฟล์บันทึก"; +"settings.shortcutsGuide" = "คู่มือทางลัด"; +"settings.unlockFullVersion" = "ปลดล็อกเวอร์ชั่นเต็ม"; + +"snapshots.fileprovider.file1" = "/การบัญชี.numbers"; +"snapshots.fileprovider.file2" = "/การนำเสนอครั้งสุดท้าย.key"; +"snapshots.fileprovider.file3" = "/ตัวอย่างผลิตภัณฑ์.mov"; +"snapshots.fileprovider.file4" = "/ข้อเสนอ.docx"; +"snapshots.fileprovider.file5" = "/รายงาน.pdf"; +"snapshots.fileprovider.folder3" = "/โปรเจ็คลับ"; +"snapshots.fileprovider.folder2" = "/ใบแจ้งหนี้"; +"snapshots.main.vault1" = "/งาน"; +"snapshots.main.vault2" = "/ครอบครัว"; +"snapshots.main.vault3" = "/เอกสาร"; +"snapshots.main.vault4" = "/การเดินทางไปแคลิฟอร์เนีย"; + +"s3Authentication.displayName" = "ชื่อที่ใช้แสดง"; +"s3Authentication.accessKey" = "Access Key"; +"s3Authentication.secretKey" = "Secret key"; +"s3Authentication.endpoint" = "Endpoint"; +"s3Authentication.region" = "ภูมิภาค"; + +"trialStatus.active" = "ใช้งานอยู่"; +"trialStatus.expired" = "หมดอายุ"; "unlockVault.button.unlock" = "ปลดล็อก"; +"unlockVault.password.footer" = "ใส่รหัสผ่านสำหรับ \"%@\""; +"unlockVault.enableBiometricalUnlock.switch" = "เปิดใช้งาน %@"; +"unlockVault.evaluatePolicy.reason" = "ปลดล็อกก vault ของคุณ"; +"unlockVault.progress" = "กำลังปลดล็อค..."; + +"untrustedTLSCertificate.title" = "TLS Certificate ไม่ถูกต้อง"; +"untrustedTLSCertificate.add" = "เชื่อถือ"; +"untrustedTLSCertificate.dismiss" = "ไม่เชื่อถือ"; + +"upgrade.title" = "ข้อเสนอการอัปเกรด"; +"upgrade.notEligible.alert.title" = "การอัปเกรดล้มเหลว"; + +"vaultDetail.button.changeVaultPassword" = "เปลี่ยนรหัสผ่าน"; +"vaultDetail.button.lock" = "ล็อกตอนนี้"; +"vaultDetail.button.moveVault" = "ย้าย"; +"vaultDetail.button.removeVault" = "ลบออกจากรายชื่อ Vault"; +"vaultDetail.button.renameVault" = "เปลี่ยนชื่อ"; +"vaultDetail.disabledBiometricalUnlock.footer" = "หากคุณเปิดใช้งาน %@ รหัสผ่าน vault ของคุณจะถูกเก็บไว้ในพวงกุญแจ iOS"; +"vaultDetail.info.footer.accountInfo" = "เข้าสู่ระบบในฐานะ %@ ผ่าน %@"; +"vaultDetail.keepUnlocked.title" = "ระยะเวลาในการปลดล็อก"; +"vaultDetail.locked.footer" = "Vault ของคุณถูกล็อกอยู่"; +"vaultDetail.moveVault.progress" = "กำลังย้าย…"; +"vaultDetail.removeVault.footer" = "ขั้นตอนนี้เพียงลบ vault ออกจากรายการทั้งหมด แต่ไม่ลบไฟล์ที่ถูกเข้ารหัสใดๆ"; +"vaultDetail.renameVault.progress" = "กำลังเปลี่ยนชื่อ…"; +"vaultDetail.unlockVault.footer" = "กรอกรหัสผ่านสำหรับ \"%@\" เพื่อเก็บไว้ในพวงกุญแจ iOS และเปิดใช้งาน %@"; + +"vaultList.header.title" = "Vaults"; +"vaultList.emptyList.message" = "แตะที่นี่เพื่อเพิ่ม vault"; +"vaultList.remove.alert.title" = "ลบ Vault?"; + +"webDAVAuthentication.httpConnection.alert.title" = "ใช้ HTTPS?"; +"webDAVAuthentication.httpConnection.change" = "เปลี่ยนเป็น HTTPS"; +"webDAVAuthentication.httpConnection.continue" = "ใช้ HTTPS"; + +"Retry Upload" = "ลองอัปโหลดอีกครั้ง"; +"Clear from Cache" = "ล้างจากแคช"; diff --git a/SharedResources/tr.lproj/Localizable.strings b/SharedResources/tr.lproj/Localizable.strings index b2f1c4e2f..7e627aaf6 100644 --- a/SharedResources/tr.lproj/Localizable.strings +++ b/SharedResources/tr.lproj/Localizable.strings @@ -117,7 +117,7 @@ "hubAuthentication.title" = "Hub Kasası"; "hubAuthentication.accessNotGranted" = "Cihazınıza henüz bu kasaya erişim yetkisi verilmedi. Kasa sahibinden yetkilendirmesini isteyin."; "hubAuthentication.licenseExceeded" = "Cryptomator Hub örneğinizde geçersiz bir lisans var. Lisansı yükseltmesi veya yenilemesi için lütfen bir Hub yöneticisini bilgilendirin."; -"hubAuthentication.deviceRegistration.deviceName.cells.name" = "Cihaz adı"; +"hubAuthentication.deviceRegistration.deviceName.cells.name" = "Cihaz Adı"; "hubAuthentication.deviceRegistration.deviceName.footer.title" = "Bu cihazdan ilk Hub erişimi gibi görünüyor. Erişim yetkilendirmesini tanımlamak için bu cihazı isimlendirmeniz gerekir."; "hubAuthentication.deviceRegistration.accountKey.footer.title" = "Yeni uygulamalardan veya tarayıcılardan giriş yapmak için Hesap Anahtarınız gereklidir. Profilinizde bulunabilir."; "hubAuthentication.deviceRegistration.needsAuthorization.alert.title" = "Cihaz Kaydı Başarılı"; @@ -225,7 +225,7 @@ "s3Authentication.displayName" = "Görünen Ad"; "s3Authentication.accessKey" = "Erişim Anahtarı"; "s3Authentication.secretKey" = "Gizli Anahtar"; -"s3Authentication.existingBucket" = "Mevcut kova"; +"s3Authentication.existingBucket" = "Mevcut Kova"; "s3Authentication.endpoint" = "Uç nokta"; "s3Authentication.region" = "Bölge"; "s3Authentication.error.invalidCredentials" = "Geçersiz kimlik bilgileri."; diff --git a/SharedResources/ug.lproj/Localizable.strings b/SharedResources/ug.lproj/Localizable.strings new file mode 100644 index 000000000..3da84fa43 --- /dev/null +++ b/SharedResources/ug.lproj/Localizable.strings @@ -0,0 +1,18 @@ +"common.button.cancel" = "بىكار قىل"; +"common.button.change" = "ئۆزگەرت"; +"common.button.close" = "ياپ"; +"common.button.done" = "تامام"; +"common.button.next" = "كېيىنكى"; +"common.cells.password" = "پارول"; + +"addVault.title" = "ئامبار قوش"; +"addVault.createNewVault.setVaultName.cells.name" = "ئامبار ئىسمى"; +"addVault.createNewVault.chooseCloud.header" = "Cryptomator ئامبىرىڭىزنىڭ شىفىرلانغان ھۆججەتلىرىنى قەيەردە ساقلىشى كېرەك?"; +"fileProvider.error.unlockButton" = "قۇلۇپنى ئاچ"; +"hubAuthentication.accessNotGranted" = "ئۈسكۈنىڭىز تېخى بۇ ئامبارغا كىرىشكە ھوقۇقلاندۇرۇلمىغان. ئامبار ئىگىسىدىن ھوقۇقلاندۇرۇشنى تەلەپ قىلىڭ."; +"hubAuthentication.licenseExceeded" = "سىزنىڭ Cryptomator Hub نۇسخىڭىزنىڭ ئىناۋەتسىز ئىجازەتنامىسى بار. Hub باشقۇرغۇچىسىغا ئىجازەتنامىنى يۇقىرى دەرىجىگە كۆتۈر."; +"hubAuthentication.deviceRegistration.deviceName.cells.name" = "ئۈسكۈنە ئىسمى"; + +"unlockVault.button.unlock" = "قۇلۇپنى ئاچ"; + +"vaultDetail.button.changeVaultPassword" = "پارولنى ئۆزگەرتىش"; diff --git a/SharedResources/zh-Hans.lproj/Localizable.strings b/SharedResources/zh-Hans.lproj/Localizable.strings index 1cbfd61fb..dc88e98f4 100644 --- a/SharedResources/zh-Hans.lproj/Localizable.strings +++ b/SharedResources/zh-Hans.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "已保存至 %@ 的密码不正确,请重新输入您的密码以重新启用 %@。"; "fileProvider.error.defaultLock.title" = "需要解锁"; "fileProvider.error.defaultLock.message" = "需解锁才能访问和显示您的保险库中的内容。"; +"fileprovider.error.unauthorized.text" = "无法访问您的密码库 \"%@\" 。打开主应用程序以检查您的连接,并在需要时重新验证。"; "fileProvider.error.unlockButton" = "解锁"; "fileProvider.clearFileFromCache.title" = "清除缓存文件"; "fileProvider.clearFileFromCache.message" = "该操作仅会删除设备中的本地文件,不会删除云存储中的文件"; diff --git a/SharedResources/zh-Hant.lproj/Localizable.strings b/SharedResources/zh-Hant.lproj/Localizable.strings index 92da4dca3..0a7db6f86 100644 --- a/SharedResources/zh-Hant.lproj/Localizable.strings +++ b/SharedResources/zh-Hant.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "保存在%@的密碼錯誤,請重試並輸入你的密碼來重新啟用%@"; "fileProvider.error.defaultLock.title" = "需要解鎖"; "fileProvider.error.defaultLock.message" = "要存取加密庫和顯示其內容,需要先解鎖。"; +"fileprovider.error.unauthorized.text" = "存取檔案庫%@被拒絕。請開啟主程式並確認您的網路連線以重新取得授權。"; "fileProvider.error.unlockButton" = "解鎖"; "fileProvider.clearFileFromCache.title" = "清除快取檔䅁"; "fileProvider.clearFileFromCache.message" = "這只會從您的本機上刪除文件,而不會刪除雲端的文件。"; From bc18c1ceb3ecb40d9592c1e8ce564cc850cb872e Mon Sep 17 00:00:00 2001 From: Tobias Hagemann Date: Fri, 18 Oct 2024 17:53:31 +0200 Subject: [PATCH 09/11] Preparing 2.6.3 [ci skip] --- Cryptomator.xcodeproj/project.pbxproj | 4 ++-- fastlane/changelog.txt | 7 +++---- fastlane/config/freemium/metadata/de-DE/release_notes.txt | 7 +++---- fastlane/config/freemium/metadata/en-US/release_notes.txt | 7 +++---- fastlane/config/premium/metadata/de-DE/release_notes.txt | 7 +++---- fastlane/config/premium/metadata/en-US/release_notes.txt | 7 +++---- 6 files changed, 17 insertions(+), 22 deletions(-) diff --git a/Cryptomator.xcodeproj/project.pbxproj b/Cryptomator.xcodeproj/project.pbxproj index 2b06024a7..67b464602 100644 --- a/Cryptomator.xcodeproj/project.pbxproj +++ b/Cryptomator.xcodeproj/project.pbxproj @@ -3320,7 +3320,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 2.6.2; + MARKETING_VERSION = 2.6.3; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -3382,7 +3382,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 2.6.2; + MARKETING_VERSION = 2.6.3; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-expression-type-checking=200 -Xfrontend -warn-long-function-bodies=200"; diff --git a/fastlane/changelog.txt b/fastlane/changelog.txt index 9b6abc4c5..e3fdadb74 100644 --- a/fastlane/changelog.txt +++ b/fastlane/changelog.txt @@ -1,4 +1,3 @@ -- Introducing support for Box, allowing secure access to vaults stored on Box (#319, #352). -- Added Slovenian and Ukrainian translations. -- Fixed an issue that caused "Unauthorized" errors when uploading files to OneDrive (#358). -- Removed the "Change Password" option for Hub vaults (#360, #367). \ No newline at end of file +- Added app icon variants for dark mode and tinted mode (#385). +- Introduced a clearer error screen when access to a vault is denied and a re-authentication is required (#18, #384). +- Fixed missing lock icon in the vaults list (#346, #386). \ No newline at end of file diff --git a/fastlane/config/freemium/metadata/de-DE/release_notes.txt b/fastlane/config/freemium/metadata/de-DE/release_notes.txt index 7396aafeb..da0c1b2d3 100644 --- a/fastlane/config/freemium/metadata/de-DE/release_notes.txt +++ b/fastlane/config/freemium/metadata/de-DE/release_notes.txt @@ -1,4 +1,3 @@ -- Einführung der Unterstützung für Box, um sicheren Zugriff auf in Box gespeicherte Tresore zu ermöglichen (#319, #352). -- Übersetzungen ins Slowenische und Ukrainische hinzugefügt. -- Fehler behoben, der beim Hochladen von Dateien auf OneDrive die Fehlermeldung „Unautorisiert“ verursachte (#358). -- Option „Passwort ändern“ für Hub-Tresore entfernt (#360, #367). \ No newline at end of file +- Varianten von App-Icons für den dunklen und den eingefärbten Modus hinzugefügt (#385). +- Verständlicheren Fehlerdialog eingeführt, wenn der Zugriff auf einen Tresor verweigert wird und eine erneute Authentifizierung erforderlich ist (#18, #384). +- Fehlendes Schloss-Symbol in der Tresorliste behoben (#346, #386). \ No newline at end of file diff --git a/fastlane/config/freemium/metadata/en-US/release_notes.txt b/fastlane/config/freemium/metadata/en-US/release_notes.txt index 9b6abc4c5..e3fdadb74 100644 --- a/fastlane/config/freemium/metadata/en-US/release_notes.txt +++ b/fastlane/config/freemium/metadata/en-US/release_notes.txt @@ -1,4 +1,3 @@ -- Introducing support for Box, allowing secure access to vaults stored on Box (#319, #352). -- Added Slovenian and Ukrainian translations. -- Fixed an issue that caused "Unauthorized" errors when uploading files to OneDrive (#358). -- Removed the "Change Password" option for Hub vaults (#360, #367). \ No newline at end of file +- Added app icon variants for dark mode and tinted mode (#385). +- Introduced a clearer error screen when access to a vault is denied and a re-authentication is required (#18, #384). +- Fixed missing lock icon in the vaults list (#346, #386). \ No newline at end of file diff --git a/fastlane/config/premium/metadata/de-DE/release_notes.txt b/fastlane/config/premium/metadata/de-DE/release_notes.txt index 7396aafeb..da0c1b2d3 100644 --- a/fastlane/config/premium/metadata/de-DE/release_notes.txt +++ b/fastlane/config/premium/metadata/de-DE/release_notes.txt @@ -1,4 +1,3 @@ -- Einführung der Unterstützung für Box, um sicheren Zugriff auf in Box gespeicherte Tresore zu ermöglichen (#319, #352). -- Übersetzungen ins Slowenische und Ukrainische hinzugefügt. -- Fehler behoben, der beim Hochladen von Dateien auf OneDrive die Fehlermeldung „Unautorisiert“ verursachte (#358). -- Option „Passwort ändern“ für Hub-Tresore entfernt (#360, #367). \ No newline at end of file +- Varianten von App-Icons für den dunklen und den eingefärbten Modus hinzugefügt (#385). +- Verständlicheren Fehlerdialog eingeführt, wenn der Zugriff auf einen Tresor verweigert wird und eine erneute Authentifizierung erforderlich ist (#18, #384). +- Fehlendes Schloss-Symbol in der Tresorliste behoben (#346, #386). \ No newline at end of file diff --git a/fastlane/config/premium/metadata/en-US/release_notes.txt b/fastlane/config/premium/metadata/en-US/release_notes.txt index 9b6abc4c5..e3fdadb74 100644 --- a/fastlane/config/premium/metadata/en-US/release_notes.txt +++ b/fastlane/config/premium/metadata/en-US/release_notes.txt @@ -1,4 +1,3 @@ -- Introducing support for Box, allowing secure access to vaults stored on Box (#319, #352). -- Added Slovenian and Ukrainian translations. -- Fixed an issue that caused "Unauthorized" errors when uploading files to OneDrive (#358). -- Removed the "Change Password" option for Hub vaults (#360, #367). \ No newline at end of file +- Added app icon variants for dark mode and tinted mode (#385). +- Introduced a clearer error screen when access to a vault is denied and a re-authentication is required (#18, #384). +- Fixed missing lock icon in the vaults list (#346, #386). \ No newline at end of file From a7bfb7e6105b24a5f00e82f2547b0be48f7c7f3a Mon Sep 17 00:00:00 2001 From: Tobias Hagemann Date: Fri, 18 Oct 2024 18:29:20 +0200 Subject: [PATCH 10/11] Updated README [ci skip] --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7580457f1..d68fa6649 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ If you are building with Xcode, create a `.cloud-access-secrets.sh` file in the ```sh #!/bin/sh +export BOX_CLIENT_ID=... +export BOX_CLIENT_SECRET=... export DROPBOX_APP_KEY=... export GOOGLE_DRIVE_CLIENT_ID=... export GOOGLE_DRIVE_REDIRECT_URL_SCHEME=... From 1556e5645e0e69dc858337d192ede84dd20b2b89 Mon Sep 17 00:00:00 2001 From: Cryptobot Date: Tue, 22 Oct 2024 12:46:37 +0200 Subject: [PATCH 11/11] New Crowdin updates (#390) [ci skip] --- SharedResources/pt.lproj/Localizable.strings | 2 +- SharedResources/sv.lproj/Localizable.strings | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/SharedResources/pt.lproj/Localizable.strings b/SharedResources/pt.lproj/Localizable.strings index ec0149141..35f56530f 100644 --- a/SharedResources/pt.lproj/Localizable.strings +++ b/SharedResources/pt.lproj/Localizable.strings @@ -101,7 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "A senha que foi salva para %@ está errada. Por favor, tente novamente e digite sua senha para reativar %@."; "fileProvider.error.defaultLock.title" = "Desbloqueio necessário"; "fileProvider.error.defaultLock.message" = "Para aceder e mostrar o conteúdo do seu cofre, ele tem de estar desbloqueado."; -"fileprovider.error.unauthorized.text" = "O acesso ao seu cofre \"%@\" foi negado. Abra a aplicação principal para verificar a sua ligação e autenticar novamente, se necessário."; +"fileprovider.error.unauthorized.text" = "O acesso ao seu cofre \"%@\" foi negado. Abra a aplicação principal para verificar a sua ligação e autentique-se de novo, se necessário."; "fileProvider.error.unlockButton" = "Desbloquear"; "fileProvider.clearFileFromCache.title" = "Limpar Arquivo de Cache"; "fileProvider.clearFileFromCache.message" = "Isto apenas remove o ficheiro local do dispositivo e não o apaga na nuvem."; diff --git a/SharedResources/sv.lproj/Localizable.strings b/SharedResources/sv.lproj/Localizable.strings index d6b537e0e..5c1329420 100644 --- a/SharedResources/sv.lproj/Localizable.strings +++ b/SharedResources/sv.lproj/Localizable.strings @@ -101,6 +101,7 @@ "fileProvider.error.biometricalAuthWrongPassword.message" = "Lösenordet som har sparats för %@ är felaktigt. Försök igen och ange ditt lösenord för att återaktivera %@."; "fileProvider.error.defaultLock.title" = "Upplåsning krävs"; "fileProvider.error.defaultLock.message" = "För att komma åt och visa innehållet i ditt valv måste det låsas upp."; +"fileprovider.error.unauthorized.text" = "Åtkomst till ditt valv \"%@\" nekades. Öppna huvudappen för att kontrollera din anslutning och återautentisera om det behövs."; "fileProvider.error.unlockButton" = "Lås upp"; "fileProvider.clearFileFromCache.title" = "Ta bort fil från buffert"; "fileProvider.clearFileFromCache.message" = "Detta tar bara bort den lokala filen från din enhet och tar inte bort filen i molnet.";