From a590bda73dffaf6a49642a5070dda1f609a1776b Mon Sep 17 00:00:00 2001 From: Nora Trapp Date: Wed, 6 May 2020 12:54:51 -0700 Subject: [PATCH 01/13] Always use UUID capable sender certificate --- .../src/Account/TSAccountManager.m | 2 +- .../src/Messages/OWSMessageSender.m | 21 ++-- .../src/Messages/UD/OWSUDManager.swift | 103 ++++++------------ .../Network/API/Requests/OWSRequestFactory.h | 3 +- .../Network/API/Requests/OWSRequestFactory.m | 7 +- .../src/Network/SignalServiceClient.swift | 6 +- .../src/Security/OWSFingerprint.m | 4 +- SignalServiceKit/src/Util/FeatureFlags.swift | 8 +- .../tests/Messages/OWSUDManagerTest.swift | 43 ++------ 9 files changed, 68 insertions(+), 129 deletions(-) diff --git a/SignalServiceKit/src/Account/TSAccountManager.m b/SignalServiceKit/src/Account/TSAccountManager.m index 18c9803043..0c498ecfda 100644 --- a/SignalServiceKit/src/Account/TSAccountManager.m +++ b/SignalServiceKit/src/Account/TSAccountManager.m @@ -806,7 +806,7 @@ NSString *const TSAccountManager_DeviceId = @"TSAccountManager_DeviceId"; [self.sessionStore resetSessionStore:transaction]; - [self.udManager removeSenderCertificatesWithTransaction:transaction]; + [self.udManager removeSenderCertificateWithTransaction:transaction]; [self.keyValueStore setObject:localNumber key:TSAccountManager_ReregisteringPhoneNumberKey diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index af2f27d336..c2f8c6afdb 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -556,13 +556,10 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; success:(void (^)(void))success failure:(RetryableFailureHandler)failure { - [self.udManager ensureSenderCertificatesWithCertificateExpirationPolicy:OWSUDCertificateExpirationPolicyPermissive - success:^(SenderCertificates *senderCertificates) { + [self.udManager ensureSenderCertificateWithCertificateExpirationPolicy:OWSUDCertificateExpirationPolicyPermissive + success:^(SMKSenderCertificate *senderCertificate) { dispatch_async([OWSDispatch sendingQueue], ^{ - [self sendMessageToService:message - senderCertificates:senderCertificates - success:success - failure:failure]; + [self sendMessageToService:message senderCertificate:senderCertificate success:success failure:failure]; }); } failure:^(NSError *error) { @@ -570,7 +567,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; // Proceed using non-UD message sends. dispatch_async([OWSDispatch sendingQueue], ^{ - [self sendMessageToService:message senderCertificates:nil success:success failure:failure]; + [self sendMessageToService:message senderCertificate:nil success:success failure:failure]; }); }]; } @@ -669,7 +666,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; - (AnyPromise *)sendPromiseForRecipients:(NSArray *)recipients message:(TSOutgoingMessage *)message thread:(TSThread *)thread - senderCertificates:(nullable SenderCertificates *)senderCertificates + senderCertificate:(nullable SMKSenderCertificate *)senderCertificate sendErrors:(NSMutableArray *)sendErrors { OWSAssertDebug(recipients.count > 0); @@ -683,11 +680,11 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; // Use chained promises to make the code more readable. AnyPromise *sendPromise = [AnyPromise promiseWithResolverBlock:^(PMKResolver resolve) { __block OWSUDSendingAccess *_Nullable udSendingAccess; - if (senderCertificates != nil && !recipient.address.isLocalAddress) { + if (senderCertificate != nil && !recipient.address.isLocalAddress) { [self.databaseStorage writeWithBlock:^(SDSAnyWriteTransaction *transaction) { udSendingAccess = [self.udManager udSendingAccessForAddress:recipient.address requireSyncAccess:YES - senderCertificates:senderCertificates + senderCertificate:senderCertificate transaction:transaction]; }]; } @@ -720,7 +717,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; } - (void)sendMessageToService:(TSOutgoingMessage *)message - senderCertificates:(nullable SenderCertificates *)senderCertificates + senderCertificate:(nullable SMKSenderCertificate *)senderCertificate success:(void (^)(void))successHandlerParam failure:(RetryableFailureHandler)failureHandlerParam { @@ -837,7 +834,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; AnyPromise *sendPromise = [self sendPromiseForRecipients:recipients message:message thread:thread - senderCertificates:senderCertificates + senderCertificate:senderCertificate sendErrors:sendErrors] .then(^(id value) { successHandler(); diff --git a/SignalServiceKit/src/Messages/UD/OWSUDManager.swift b/SignalServiceKit/src/Messages/UD/OWSUDManager.swift index dc58f53779..b5f98e2968 100644 --- a/SignalServiceKit/src/Messages/UD/OWSUDManager.swift +++ b/SignalServiceKit/src/Messages/UD/OWSUDManager.swift @@ -63,16 +63,6 @@ public class OWSUDAccess: NSObject { } } -@objc -public class SenderCertificates: NSObject { - let phoneNumberCert: SMKSenderCertificate - let uuidCert: SMKSenderCertificate - init(phoneNumberCert: SMKSenderCertificate, uuidCert: SMKSenderCertificate) { - self.phoneNumberCert = phoneNumberCert - self.uuidCert = uuidCert - } -} - @objc public class OWSUDSendingAccess: NSObject { @@ -118,7 +108,7 @@ public class OWSUDSendingAccess: NSObject { @objc func udSendingAccess(forAddress address: SignalServiceAddress, requireSyncAccess: Bool, - senderCertificates: SenderCertificates, + senderCertificate: SMKSenderCertificate, transaction: SDSAnyWriteTransaction) -> OWSUDSendingAccess? // MARK: Sender Certificate @@ -126,12 +116,12 @@ public class OWSUDSendingAccess: NSObject { // We use completion handlers instead of a promise so that message sending // logic can access the strongly typed certificate data. @objc - func ensureSenderCertificates(certificateExpirationPolicy: OWSUDCertificateExpirationPolicy, - success:@escaping (SenderCertificates) -> Void, + func ensureSenderCertificate(certificateExpirationPolicy: OWSUDCertificateExpirationPolicy, + success:@escaping (SMKSenderCertificate) -> Void, failure:@escaping (Error) -> Void) @objc - func removeSenderCertificates(transaction: SDSAnyWriteTransaction) + func removeSenderCertificate(transaction: SDSAnyWriteTransaction) // MARK: Unrestricted Access @@ -155,10 +145,10 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager { // MARK: Local Configuration State - private let kUDCurrentSenderCertificateKey_Production = "kUDCurrentSenderCertificateKey_Production" - private let kUDCurrentSenderCertificateKey_Staging = "kUDCurrentSenderCertificateKey_Staging" - private let kUDCurrentSenderCertificateDateKey_Production = "kUDCurrentSenderCertificateDateKey_Production" - private let kUDCurrentSenderCertificateDateKey_Staging = "kUDCurrentSenderCertificateDateKey_Staging" + private let kUDCurrentSenderCertificateKey_Production = "kUDCurrentSenderCertificateKey_Production-uuid" + private let kUDCurrentSenderCertificateKey_Staging = "kUDCurrentSenderCertificateKey_Staging-uuid" + private let kUDCurrentSenderCertificateDateKey_Production = "kUDCurrentSenderCertificateDateKey_Production-uuid" + private let kUDCurrentSenderCertificateDateKey_Staging = "kUDCurrentSenderCertificateDateKey_Staging-uuid" private let kUDUnrestrictedAccessKey = "kUDUnrestrictedAccessKey" // MARK: Recipient State @@ -182,7 +172,7 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager { } // Any error is silently ignored on startup. - self.ensureSenderCertificates(certificateExpirationPolicy: .strict).retainUntilComplete() + self.ensureSenderCertificate(certificateExpirationPolicy: .strict).retainUntilComplete() } NotificationCenter.default.addObserver(self, selector: #selector(registrationStateDidChange), @@ -203,7 +193,7 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager { } // Any error is silently ignored - ensureSenderCertificates(certificateExpirationPolicy: .strict).retainUntilComplete() + ensureSenderCertificate(certificateExpirationPolicy: .strict).retainUntilComplete() } @objc func didBecomeActive() { @@ -216,7 +206,7 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager { } // Any error is silently ignored on startup. - self.ensureSenderCertificates(certificateExpirationPolicy: .strict).retainUntilComplete() + self.ensureSenderCertificate(certificateExpirationPolicy: .strict).retainUntilComplete() } } @@ -430,12 +420,11 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager { @objc public func udSendingAccess(forAddress address: SignalServiceAddress, requireSyncAccess: Bool, - senderCertificates: SenderCertificates, + senderCertificate: SMKSenderCertificate, transaction: SDSAnyWriteTransaction) -> OWSUDSendingAccess? { guard let udAccess = self.udAccess(forAddress: address, requireSyncAccess: requireSyncAccess, transaction: transaction) else { return nil } - let senderCertificate = profileManager.recipientAddressIsUuidCapable(address, transaction: transaction) ? senderCertificates.uuidCert : senderCertificates.phoneNumberCert return OWSUDSendingAccess(udAccess: udAccess, senderCertificate: senderCertificate) } @@ -443,17 +432,17 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager { #if DEBUG @objc - public func hasSenderCertificate(includeUuid: Bool) -> Bool { - return senderCertificate(includeUuid: includeUuid, certificateExpirationPolicy: .permissive) != nil + public func hasSenderCertificate() -> Bool { + return senderCertificate(certificateExpirationPolicy: .permissive) != nil } #endif - private func senderCertificate(includeUuid: Bool, certificateExpirationPolicy: OWSUDCertificateExpirationPolicy) -> SMKSenderCertificate? { + private func senderCertificate(certificateExpirationPolicy: OWSUDCertificateExpirationPolicy) -> SMKSenderCertificate? { var certificateDateValue: Date? var certificateDataValue: Data? databaseStorage.read { transaction in - certificateDateValue = self.keyValueStore.getDate(self.senderCertificateDateKey(includeUuid: includeUuid), transaction: transaction) - certificateDataValue = self.keyValueStore.getData(self.senderCertificateKey(includeUuid: includeUuid), transaction: transaction) + certificateDateValue = self.keyValueStore.getDate(self.senderCertificateDateKey(), transaction: transaction) + certificateDataValue = self.keyValueStore.getData(self.senderCertificateKey(), transaction: transaction) } if certificateExpirationPolicy == .strict { @@ -485,74 +474,54 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager { } } - func setSenderCertificate(includeUuid: Bool, certificateData: Data) { + func setSenderCertificate(certificateData: Data) { databaseStorage.write { transaction in - self.keyValueStore.setDate(Date(), key: self.senderCertificateDateKey(includeUuid: includeUuid), transaction: transaction) - self.keyValueStore.setData(certificateData, key: self.senderCertificateKey(includeUuid: includeUuid), transaction: transaction) + self.keyValueStore.setDate(Date(), key: self.senderCertificateDateKey(), transaction: transaction) + self.keyValueStore.setData(certificateData, key: self.senderCertificateKey(), transaction: transaction) } } @objc - public func removeSenderCertificates(transaction: SDSAnyWriteTransaction) { - keyValueStore.removeValue(forKey: senderCertificateDateKey(includeUuid: true), transaction: transaction) - keyValueStore.removeValue(forKey: senderCertificateKey(includeUuid: true), transaction: transaction) - keyValueStore.removeValue(forKey: senderCertificateDateKey(includeUuid: false), transaction: transaction) - keyValueStore.removeValue(forKey: senderCertificateKey(includeUuid: false), transaction: transaction) + public func removeSenderCertificate(transaction: SDSAnyWriteTransaction) { + keyValueStore.removeValue(forKey: senderCertificateDateKey(), transaction: transaction) + keyValueStore.removeValue(forKey: senderCertificateKey(), transaction: transaction) } - private func senderCertificateKey(includeUuid: Bool) -> String { - let baseKey = TSConstants.isUsingProductionService ? kUDCurrentSenderCertificateKey_Production : kUDCurrentSenderCertificateKey_Staging - if includeUuid { - return "\(baseKey)-uuid" - } else { - return baseKey - } + private func senderCertificateKey() -> String { + return TSConstants.isUsingProductionService ? kUDCurrentSenderCertificateKey_Production : kUDCurrentSenderCertificateKey_Staging } - private func senderCertificateDateKey(includeUuid: Bool) -> String { - let baseKey = TSConstants.isUsingProductionService ? kUDCurrentSenderCertificateDateKey_Production : kUDCurrentSenderCertificateDateKey_Staging - if includeUuid { - return "\(baseKey)-uuid" - } else { - return baseKey - } + private func senderCertificateDateKey() -> String { + return TSConstants.isUsingProductionService ? kUDCurrentSenderCertificateDateKey_Production : kUDCurrentSenderCertificateDateKey_Staging } @objc - public func ensureSenderCertificates(certificateExpirationPolicy: OWSUDCertificateExpirationPolicy, - success: @escaping (SenderCertificates) -> Void, + public func ensureSenderCertificate(certificateExpirationPolicy: OWSUDCertificateExpirationPolicy, + success: @escaping (SMKSenderCertificate) -> Void, failure: @escaping (Error) -> Void) { - return ensureSenderCertificates(certificateExpirationPolicy: certificateExpirationPolicy) + return ensureSenderCertificate(certificateExpirationPolicy: certificateExpirationPolicy) .done(success) .catch(failure) .retainUntilComplete() } - public func ensureSenderCertificates(certificateExpirationPolicy: OWSUDCertificateExpirationPolicy) -> Promise { - let phoneNumberPromise = ensureSenderCertificate(includeUuid: false, certificateExpirationPolicy: certificateExpirationPolicy) - let uuidPromise = ensureSenderCertificate(includeUuid: true, certificateExpirationPolicy: certificateExpirationPolicy) - return when(fulfilled: phoneNumberPromise, uuidPromise).map { phoneNumberCert, uuidCert in - return SenderCertificates(phoneNumberCert: phoneNumberCert, uuidCert: uuidCert) - } - } - - public func ensureSenderCertificate(includeUuid: Bool, certificateExpirationPolicy: OWSUDCertificateExpirationPolicy) -> Promise { + public func ensureSenderCertificate(certificateExpirationPolicy: OWSUDCertificateExpirationPolicy) -> Promise { // If there is a valid cached sender certificate, use that. - if let certificate = senderCertificate(includeUuid: includeUuid, certificateExpirationPolicy: certificateExpirationPolicy) { + if let certificate = senderCertificate(certificateExpirationPolicy: certificateExpirationPolicy) { return Promise.value(certificate) } return firstly { - requestSenderCertificate(includeUuid: includeUuid) + requestSenderCertificate() }.map { (certificate: SMKSenderCertificate) in - self.setSenderCertificate(includeUuid: includeUuid, certificateData: certificate.serializedData) + self.setSenderCertificate(certificateData: certificate.serializedData) return certificate } } - private func requestSenderCertificate(includeUuid: Bool) -> Promise { + private func requestSenderCertificate() -> Promise { return firstly { - SignalServiceRestClient().requestUDSenderCertificate(includeUuid: includeUuid) + SignalServiceRestClient().requestUDSenderCertificate() }.map { certificateData -> SMKSenderCertificate in let certificate = try SMKSenderCertificate(serializedData: certificateData) diff --git a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.h b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.h index fdeec142d9..7bb62b51da 100644 --- a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.h +++ b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.h @@ -148,8 +148,7 @@ typedef NS_ENUM(NSUInteger, TSVerificationTransport) { TSVerificationTransportVo #pragma mark - UD -+ (TSRequest *)udSenderCertificateRequestWithIncludeUuid:(BOOL)includeUuid - NS_SWIFT_NAME(udSenderCertificateRequest(includeUuid:)); ++ (TSRequest *)udSenderCertificateRequest; #pragma mark - Usernames diff --git a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m index 2bc34a2d18..575f7cad3d 100644 --- a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m +++ b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m @@ -700,12 +700,9 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; #pragma mark - UD -+ (TSRequest *)udSenderCertificateRequestWithIncludeUuid:(BOOL)includeUuid ++ (TSRequest *)udSenderCertificateRequest { - NSString *path = @"v1/certificate/delivery"; - if (includeUuid) { - path = [path stringByAppendingString:@"?includeUuid=true"]; - } + NSString *path = @"v1/certificate/delivery?includeUuid=true"; return [TSRequest requestWithUrl:[NSURL URLWithString:path] method:@"GET" parameters:@{}]; } diff --git a/SignalServiceKit/src/Network/SignalServiceClient.swift b/SignalServiceKit/src/Network/SignalServiceClient.swift index d91664f55f..2b4d77f3a9 100644 --- a/SignalServiceKit/src/Network/SignalServiceClient.swift +++ b/SignalServiceKit/src/Network/SignalServiceClient.swift @@ -13,7 +13,7 @@ public protocol SignalServiceClient { func getAvailablePreKeys() -> Promise func registerPreKeys(identityKey: IdentityKey, signedPreKeyRecord: SignedPreKeyRecord, preKeyRecords: [PreKeyRecord]) -> Promise func setCurrentSignedPreKey(_ signedPreKey: SignedPreKeyRecord) -> Promise - func requestUDSenderCertificate(includeUuid: Bool) -> Promise + func requestUDSenderCertificate() -> Promise func updatePrimaryDeviceAccountAttributes() -> Promise func getAccountUuid() -> Promise func requestStorageAuth() -> Promise<(username: String, password: String)> @@ -86,8 +86,8 @@ public class SignalServiceRestClient: NSObject, SignalServiceClient { return networkManager.makePromise(request: request).asVoid() } - public func requestUDSenderCertificate(includeUuid: Bool) -> Promise { - let request = OWSRequestFactory.udSenderCertificateRequest(includeUuid: includeUuid) + public func requestUDSenderCertificate() -> Promise { + let request = OWSRequestFactory.udSenderCertificateRequest() return firstly { self.networkManager.makePromise(request: request) }.map { _, responseObject in diff --git a/SignalServiceKit/src/Security/OWSFingerprint.m b/SignalServiceKit/src/Security/OWSFingerprint.m index 3c2be2e519..f745abe84d 100644 --- a/SignalServiceKit/src/Security/OWSFingerprint.m +++ b/SignalServiceKit/src/Security/OWSFingerprint.m @@ -95,7 +95,7 @@ static uint32_t const OWSFingerprintDefaultHashIterations = 5200; - (uint32_t)scannableFingerprintVersion { - if (!SSKFeatureFlags.requireUUIDs) { + if (!SSKFeatureFlags.uuidSafetyNumbers) { return OWSFingerprintPreUUIDScannableFormatVersion; } @@ -106,7 +106,7 @@ static uint32_t const OWSFingerprintDefaultHashIterations = 5200; { // For now, leave safety number based on phone number unless the feature flag is enabled. // This prevents mismatch from occuring against old apps until we formally roll out the feature. - if (SSKFeatureFlags.requireUUIDs) { + if (SSKFeatureFlags.uuidSafetyNumbers) { // TODO UUID: Right now, uuid is nullable, but safety numbers require us to always have // the UUID for a user. This will need to be updated once we change this field to nonnull. NSUUID *uuid = address.uuid; diff --git a/SignalServiceKit/src/Util/FeatureFlags.swift b/SignalServiceKit/src/Util/FeatureFlags.swift index 823a07404e..f8d13cbac3 100644 --- a/SignalServiceKit/src/Util/FeatureFlags.swift +++ b/SignalServiceKit/src/Util/FeatureFlags.swift @@ -113,7 +113,7 @@ public class FeatureFlags: NSObject { } @objc - public static let uuidCapabilities = true + public static let uuidCapabilities = allowUUIDOnlyContacts && useOnlyModernContactDiscovery @objc public static var storageModeDescription: String { @@ -135,12 +135,10 @@ public class FeatureFlags: NSObject { public static let strictYDBExtensions = build.includes(.beta) @objc - public static var allowUUIDOnlyContacts: Bool { - return true - } + public static var allowUUIDOnlyContacts = useOnlyModernContactDiscovery @objc - public static var requireUUIDs = false + public static var uuidSafetyNumbers = allowUUIDOnlyContacts @objc public static let useOnlyModernContactDiscovery = false diff --git a/SignalServiceKit/tests/Messages/OWSUDManagerTest.swift b/SignalServiceKit/tests/Messages/OWSUDManagerTest.swift index 73f46982e2..794220265b 100644 --- a/SignalServiceKit/tests/Messages/OWSUDManagerTest.swift +++ b/SignalServiceKit/tests/Messages/OWSUDManagerTest.swift @@ -30,8 +30,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { let aliceE164 = "+13213214321" let aliceUuid = UUID() lazy var aliceAddress = SignalServiceAddress(uuid: aliceUuid, phoneNumber: aliceE164) - lazy var phoneNumberCertificate = try! SMKSenderCertificate(serializedData: buildSenderCertificateProto(includeUuid: false).serializedData()) - lazy var uuidCertificate = try! SMKSenderCertificate(serializedData: buildSenderCertificateProto(includeUuid: true).serializedData()) + lazy var senderCertificate = try! SMKSenderCertificate(serializedData: buildSenderCertificateProto().serializedData()) override func setUp() { super.setUp() @@ -47,8 +46,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { } udManager.certificateValidator = MockCertificateValidator() - udManager.setSenderCertificate(includeUuid: false, certificateData: phoneNumberCertificate.serializedData) - udManager.setSenderCertificate(includeUuid: true, certificateData: uuidCertificate.serializedData) + udManager.setSenderCertificate(certificateData: senderCertificate.serializedData) } override func tearDown() { @@ -59,8 +57,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { // MARK: - Tests func testMode_self() { - XCTAssert(udManager.hasSenderCertificate(includeUuid: false)) - XCTAssert(udManager.hasSenderCertificate(includeUuid: true)) + XCTAssert(udManager.hasSenderCertificate()) XCTAssert(tsAccountManager.isRegistered) guard let localAddress = tsAccountManager.localAddress else { @@ -118,8 +115,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { } func testMode_noProfileKey() { - XCTAssert(udManager.hasSenderCertificate(includeUuid: false)) - XCTAssert(udManager.hasSenderCertificate(includeUuid: true)) + XCTAssert(udManager.hasSenderCertificate()) XCTAssert(tsAccountManager.isRegistered) guard let localAddress = tsAccountManager.localAddress else { @@ -185,8 +181,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { } func testMode_withProfileKey() { - XCTAssert(udManager.hasSenderCertificate(includeUuid: false)) - XCTAssert(udManager.hasSenderCertificate(includeUuid: true)) + XCTAssert(udManager.hasSenderCertificate()) XCTAssert(tsAccountManager.isRegistered) guard let localAddress = tsAccountManager.localAddress else { @@ -257,8 +252,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { } func test_senderAccess() { - XCTAssert(udManager.hasSenderCertificate(includeUuid: false)) - XCTAssert(udManager.hasSenderCertificate(includeUuid: true)) + XCTAssert(udManager.hasSenderCertificate()) XCTAssert(tsAccountManager.isRegistered) guard let localAddress = tsAccountManager.localAddress else { @@ -280,27 +274,14 @@ class OWSUDManagerTest: SSKBaseTestSwift { } let completed = self.expectation(description: "completed") - udManager.ensureSenderCertificates(certificateExpirationPolicy: .strict).done { senderCertificates in - self.profileManager.stubbedUuidCapabilitiesMap[bobRecipientAddress] = false + udManager.ensureSenderCertificate(certificateExpirationPolicy: .strict).done { senderCertificate in do { let sendingAccess = self.write { - return self.udManager.udSendingAccess(forAddress: bobRecipientAddress, requireSyncAccess: false, senderCertificates: senderCertificates, transaction: $0)! + return self.udManager.udSendingAccess(forAddress: bobRecipientAddress, requireSyncAccess: false, senderCertificate: senderCertificate, transaction: $0)! } XCTAssertEqual(.unknown, sendingAccess.udAccess.udAccessMode) XCTAssertFalse(sendingAccess.udAccess.isRandomKey) - XCTAssertEqual(sendingAccess.senderCertificate.serializedData, self.phoneNumberCertificate.serializedData) - XCTAssertNotEqual(sendingAccess.senderCertificate.serializedData, self.uuidCertificate.serializedData) - } - - self.profileManager.stubbedUuidCapabilitiesMap[bobRecipientAddress] = true - do { - let sendingAccess = self.write { - return self.udManager.udSendingAccess(forAddress: bobRecipientAddress, requireSyncAccess: false, senderCertificates: senderCertificates, transaction: $0)! - } - XCTAssertEqual(.unknown, sendingAccess.udAccess.udAccessMode) - XCTAssertFalse(sendingAccess.udAccess.isRandomKey) - XCTAssertNotEqual(sendingAccess.senderCertificate.serializedData, self.phoneNumberCertificate.serializedData) - XCTAssertEqual(sendingAccess.senderCertificate.serializedData, self.uuidCertificate.serializedData) + XCTAssertEqual(sendingAccess.senderCertificate.serializedData, self.senderCertificate.serializedData) } }.done { completed.fulfill() @@ -322,7 +303,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { return try! wrapperProto.build() } - func buildSenderCertificateProto(includeUuid: Bool) -> SMKProtoSenderCertificate { + func buildSenderCertificateProto() -> SMKProtoSenderCertificate { let expires = NSDate.ows_millisecondTimeStamp() + kWeekInMs let identityKey = try! Curve25519.generateKeyPair().ecPublicKey().serialized let signer = buildServerCertificateProto() @@ -331,9 +312,7 @@ class OWSUDManagerTest: SSKBaseTestSwift { identityKey: identityKey, signer: signer) certificateBuilder.setSenderE164(aliceE164) - if includeUuid { - certificateBuilder.setSenderUuid(aliceUuid.uuidString) - } + certificateBuilder.setSenderUuid(aliceUuid.uuidString) let certificateData = try! certificateBuilder.buildSerializedData() let signatureData = Randomness.generateRandomBytes(ECCSignatureLength) From 86fd5b9bf5eddda343a583b8ecb76761103177b7 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 15:34:33 -0300 Subject: [PATCH 02/13] Update Cocoapods. --- Podfile.lock | 3 ++- Pods | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index dde53854ef..2f581d9406 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -257,6 +257,7 @@ DEPENDENCIES: - SQLCipher (>= 4.0.1) - SSZipArchive - Starscream (from `https://github.com/signalapp/Starscream.git`, branch `signal-release`) + - SwiftProtobuf (= 1.7.0) - YapDatabase/SQLCipher (from `https://github.com/signalapp/YapDatabase.git`, branch `signal-release`) - YYImage - ZKGroup (from `https://github.com/signalapp/signal-zkgroup-swift`) @@ -398,6 +399,6 @@ SPEC CHECKSUMS: ZKGroup: 126835c7fe565afb02d457d2f18cee14e72b1090 ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb -PODFILE CHECKSUM: 6ac96ed037cb6453c2c66281ff1ffbbfefe565dd +PODFILE CHECKSUM: 214da1c28dec96bc0de78f588df4d7fac75bac11 COCOAPODS: 1.7.5 diff --git a/Pods b/Pods index 98d1489dc0..7adae5f48f 160000 --- a/Pods +++ b/Pods @@ -1 +1 @@ -Subproject commit 98d1489dc0aacc55306f41efb3be55307407f987 +Subproject commit 7adae5f48fae1df246581ed40d3149d6205fc32c From cdc194e6adab80c3d01f2e4b1d1669f99b4aae08 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 9 Apr 2020 21:40:21 -0300 Subject: [PATCH 03/13] Set flags for staging build with groups v2 enabled. --- SignalServiceKit/src/Util/FeatureFlags.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SignalServiceKit/src/Util/FeatureFlags.swift b/SignalServiceKit/src/Util/FeatureFlags.swift index f8d13cbac3..ab5d92c4f0 100644 --- a/SignalServiceKit/src/Util/FeatureFlags.swift +++ b/SignalServiceKit/src/Util/FeatureFlags.swift @@ -206,7 +206,7 @@ public class FeatureFlags: NSObject { public static let linkedPhones = build.includes(.internalPreview) @objc - public static let isUsingProductionService = true + public static let isUsingProductionService = false @objc public static let versionedProfiledFetches = groupsV2 From 07df51c05d5e04363a1b4e50a7f7d43dd4c334b5 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 15:37:15 -0300 Subject: [PATCH 04/13] "Bump build to 3.8.3.3." (Internal) --- NotificationServiceExtension/Info.plist | 2 +- Signal/Signal-Info.plist | 2 +- SignalShareExtension/Info.plist | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NotificationServiceExtension/Info.plist b/NotificationServiceExtension/Info.plist index 705bab0450..70d9c2a245 100644 --- a/NotificationServiceExtension/Info.plist +++ b/NotificationServiceExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 3.8.3 CFBundleVersion - 3.8.3.2 + 3.8.3.3 NSAppTransportSecurity NSExceptionDomains diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index b46ae69650..926818771e 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -45,7 +45,7 @@ CFBundleVersion - 3.8.3.2 + 3.8.3.3 ITSAppUsesNonExemptEncryption LOGS_EMAIL diff --git a/SignalShareExtension/Info.plist b/SignalShareExtension/Info.plist index 82b42bcb64..1aeecfacaf 100644 --- a/SignalShareExtension/Info.plist +++ b/SignalShareExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 3.8.3 CFBundleVersion - 3.8.3.2 + 3.8.3.3 ITSAppUsesNonExemptEncryption NSAppTransportSecurity From ca640748a9dd941a968d6c915b71f13994375214 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 15:43:21 -0300 Subject: [PATCH 05/13] Nag iOS 10 users to upgrade to iOS 11. --- Signal/translations/en.lproj/Localizable.strings | 2 +- SignalMessaging/Views/OWSActionSheets.swift | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Signal/translations/en.lproj/Localizable.strings b/Signal/translations/en.lproj/Localizable.strings index ba818da9ba..67fbd2bad2 100644 --- a/Signal/translations/en.lproj/Localizable.strings +++ b/Signal/translations/en.lproj/Localizable.strings @@ -3807,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS"; diff --git a/SignalMessaging/Views/OWSActionSheets.swift b/SignalMessaging/Views/OWSActionSheets.swift index 497c99e13d..aac7c16a6d 100644 --- a/SignalMessaging/Views/OWSActionSheets.swift +++ b/SignalMessaging/Views/OWSActionSheets.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // import Foundation @@ -119,10 +119,9 @@ import Foundation @objc public class func showIOSUpgradeNagIfNecessary() { - // Our min SDK is iOS9, so this will only show for iOS9 users - // TODO: Start nagging iOS 10 users now that we're bumping up - // our min SDK to iOS 10. - if #available(iOS 10.0, *) { return } + // We want to nag iOS 10 users now that we're bumping up + // our min SDK to iOS 11. + if #available(iOS 11.0, *) { return } // Don't nag legacy users if this is an end of life build // (the last build their OS version supports) From a45f94fe7f107ba1fbf6a64b4644375d2bfa2132 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 15:57:21 -0300 Subject: [PATCH 06/13] Update l10n strings. --- .../translations/ar.lproj/Localizable.strings | 126 +-- .../translations/az.lproj/Localizable.strings | 8 +- .../translations/bg.lproj/Localizable.strings | 14 +- .../translations/bn.lproj/Localizable.strings | 246 +++--- .../translations/bs.lproj/Localizable.strings | 18 +- .../translations/ca.lproj/Localizable.strings | 36 +- .../translations/cs.lproj/Localizable.strings | 10 +- .../translations/da.lproj/Localizable.strings | 12 +- .../translations/de.lproj/Localizable.strings | 12 +- .../translations/el.lproj/Localizable.strings | 126 +-- .../translations/es.lproj/Localizable.strings | 12 +- .../translations/et.lproj/Localizable.strings | 42 +- .../translations/fa.lproj/Localizable.strings | 8 +- .../translations/fi.lproj/Localizable.strings | 12 +- .../fil.lproj/Localizable.strings | 44 +- .../translations/fr.lproj/Localizable.strings | 374 ++++----- .../translations/gl.lproj/Localizable.strings | 8 +- .../translations/he.lproj/Localizable.strings | 12 +- .../translations/hi.lproj/Localizable.strings | 8 +- .../translations/hr.lproj/Localizable.strings | 430 +++++----- .../translations/hu.lproj/Localizable.strings | 16 +- .../translations/id.lproj/Localizable.strings | 140 ++-- .../translations/it.lproj/Localizable.strings | 12 +- .../translations/ja.lproj/Localizable.strings | 12 +- .../translations/km.lproj/Localizable.strings | 8 +- .../translations/ko.lproj/Localizable.strings | 8 +- .../translations/lt.lproj/Localizable.strings | 16 +- .../translations/lv.lproj/Localizable.strings | 8 +- .../translations/mk.lproj/Localizable.strings | 762 +++++++++--------- .../translations/mr.lproj/Localizable.strings | 68 +- .../translations/ms.lproj/Localizable.strings | 8 +- .../translations/my.lproj/Localizable.strings | 8 +- .../translations/nb.lproj/Localizable.strings | 18 +- .../nb_NO.lproj/Localizable.strings | 8 +- .../translations/nl.lproj/Localizable.strings | 20 +- .../translations/pl.lproj/Localizable.strings | 14 +- .../pt_BR.lproj/Localizable.strings | 22 +- .../pt_PT.lproj/Localizable.strings | 10 +- .../translations/ro.lproj/Localizable.strings | 96 +-- .../translations/ru.lproj/Localizable.strings | 12 +- .../translations/sk.lproj/Localizable.strings | 12 +- .../translations/sl.lproj/Localizable.strings | 10 +- .../translations/sn.lproj/Localizable.strings | 8 +- .../translations/sq.lproj/Localizable.strings | 12 +- .../translations/sv.lproj/Localizable.strings | 20 +- .../translations/ta.lproj/Localizable.strings | 8 +- .../translations/te.lproj/Localizable.strings | 8 +- .../translations/th.lproj/Localizable.strings | 8 +- .../translations/tr.lproj/Localizable.strings | 8 +- .../translations/uk.lproj/Localizable.strings | 12 +- .../translations/ur.lproj/Localizable.strings | 8 +- .../translations/vi.lproj/Localizable.strings | 536 ++++++------ .../zh_CN.lproj/Localizable.strings | 8 +- .../zh_TW.lproj/Localizable.strings | 12 +- 54 files changed, 1909 insertions(+), 1585 deletions(-) diff --git a/Signal/translations/ar.lproj/Localizable.strings b/Signal/translations/ar.lproj/Localizable.strings index bd3d8f6581..786c307119 100644 --- a/Signal/translations/ar.lproj/Localizable.strings +++ b/Signal/translations/ar.lproj/Localizable.strings @@ -5,7 +5,7 @@ "ACCEPT_NEW_IDENTITY_ACTION" = "قبول رقم الأمان الجديد"; /* Accessibility label for attachment. */ -"ACCESSIBILITY_LABEL_ATTACHMENT" = "ارفق الصور."; +"ACCESSIBILITY_LABEL_ATTACHMENT" = "مرفقات"; /* Accessibility label for audio. */ "ACCESSIBILITY_LABEL_AUDIO" = "صوت"; @@ -26,7 +26,7 @@ "ACCESSIBILITY_LABEL_STICKER" = "ملصق"; /* Label for 'audio call' button in contact view. */ -"ACTION_AUDIO_CALL" = "اتصال"; +"ACTION_AUDIO_CALL" = "مكالمة Signal"; /* Label for 'invite' button in contact view. */ "ACTION_INVITE" = "ادعُ إلى Signal"; @@ -45,22 +45,22 @@ "ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "إضافة عضو"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "إضافة أعضاء"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "إضافة عضو إلى \"%2$@\"؟"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "أضف عدد \"%1$@\"عضو إلى \"%2$@\"؟"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "إضافة عضو جديد"; /* Title for the 'add group members' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "إضافة أعضاء جدد"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "إضافة أعضاء"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "هل تريد مشاركة ملفك الشخصي مع هذه المجموعة؟"; @@ -102,10 +102,10 @@ "APP_LAUNCH_FAILURE_COULD_NOT_LOAD_DATABASE" = "تعذّر تحميل قاعدة البيانات"; /* Error indicating that the app could not launch without reverting unknown database migrations. */ -"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_MESSAGE" = "Please upgrade to the latest version of Signal."; +"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_MESSAGE" = "يرجى التحديث لآخر إصدار من Signal."; /* Error indicating that the app could not launch without reverting unknown database migrations. */ -"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "Unknown Database Version."; +"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "نسخة قاعدة البيانات غير معروفة."; /* Text prompting user to edit their profile name. */ "APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "أدخل إسمك"; @@ -141,7 +141,7 @@ "ATTACHMENT" = "مرفق"; /* One-line label indicating the user can add no more text to the attachment caption. */ -"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached."; +"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "لقد بلغت الحد للنص المرافق."; /* placeholder text for an empty captioning field */ "ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "إضافة تعليق.."; @@ -150,10 +150,10 @@ "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Caption"; /* Error that outgoing attachments could not be exported. */ -"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "Attachment failed to export."; +"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "فشل تصدير المرفق."; /* alert text when Signal was unable to save a copy of the attachment to the system photo library */ -"ATTACHMENT_APPROVAL_FAILED_TO_SAVE" = "Failed to Save"; +"ATTACHMENT_APPROVAL_FAILED_TO_SAVE" = "فشل الحفظ."; /* Format string for file extension label in call interstitial view */ "ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "نوع الملف: %@"; @@ -165,7 +165,7 @@ "ATTACHMENT_APPROVAL_MEDIA_DID_SAVE" = "تم الحفظ"; /* Placeholder text indicating who this attachment will be sent to. Embeds: {{recipient name}} */ -"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Message to %@"; +"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "إرسال إلى %@"; /* Label for 'send' button in the 'attachment approval' dialog. */ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "أرسل"; @@ -186,7 +186,7 @@ "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "لا يمكن معالجة الصيغة المرفقة الى MP4."; /* Attachment error message for image attachments which cannot be parsed */ -"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Unable to parse image."; +"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "يتعذّر معالجة الصورة."; /* Attachment error message for image attachments in which metadata could not be removed */ "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "لايمكن حذف معلومات META من المرفقات."; @@ -198,16 +198,16 @@ "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "لقد تجاوزت الحد الاقصى للمرفقات."; /* Attachment error message for attachments with invalid data */ -"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content."; +"ATTACHMENT_ERROR_INVALID_DATA" = "المرفق يحتوي بيانات غير صالحة. "; /* Attachment error message for attachments with an invalid file format */ -"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Attachment has an invalid file format."; +"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "صيغة الملف المرفق غير صالحة."; /* Attachment error message for attachments without any data */ "ATTACHMENT_ERROR_MISSING_DATA" = "المفرق لا يحتوي على معلومات."; /* Accessibility hint describing what you can do with the attachment button */ -"ATTACHMENT_HINT" = "Choose Media to Send"; +"ATTACHMENT_HINT" = "اختر ملف وسائط للإرسال."; /* A button to open the camera from the Attachment Keyboard */ "ATTACHMENT_KEYBOARD_CAMERA" = "الكاميرا"; @@ -225,10 +225,10 @@ "ATTACHMENT_KEYBOARD_LOCATION" = "موقع جغرافي"; /* A string indicating to the user that they'll be able to send photos from this view once they enable photo access. */ -"ATTACHMENT_KEYBOARD_NO_PHOTO_ACCESS" = "Grant access to your photos in settings to send them here."; +"ATTACHMENT_KEYBOARD_NO_PHOTO_ACCESS" = "أمنح صلاحيات الوصول للصور من الإعدادات حتى تتمكن من إرسالهم هنا. "; /* A string indicating to the user that once they take photos, they'll be able to send them from this view. */ -"ATTACHMENT_KEYBOARD_NO_PHOTOS" = "Once you’ve taken photos, you’ll be able to send your recents here."; +"ATTACHMENT_KEYBOARD_NO_PHOTOS" = "بمجرّد أن تلتقط صور، ستتمكن من إرسال أحدثها من هنا."; /* Accessibility label for attaching photos */ "ATTACHMENT_LABEL" = "ارفق الصور."; @@ -246,7 +246,7 @@ "ATTACHMENT_TYPE_VOICE_MESSAGE" = "رسالة صوتية."; /* A string indicating that an audio message is playing. */ -"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "Audio Message"; +"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "رسالة صوتية"; /* action sheet button title to enable built in speaker during a call */ "AUDIO_ROUTE_BUILT_IN_SPEAKER" = "مكبر الصوت."; @@ -264,7 +264,7 @@ "BACKUP_EXPORT_PHASE_CLEAN_UP" = "ازالة المعلومات ا لاحتياطية"; /* Indicates that the backup export is being configured. */ -"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Initializing Backup"; +"BACKUP_EXPORT_PHASE_CONFIGURATION" = "إعداد النسخة الاحتياطية"; /* Indicates that the database data is being exported. */ "BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "تصدير النسخة الاحتياطية"; @@ -276,7 +276,7 @@ "BACKUP_EXPORT_PHASE_UPLOAD" = "رفع النسخة الاحتياطية"; /* Error indicating the backup import could not import the user's data. */ -"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Backup could not be imported."; +"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "لا يمكن إستيراد النسخة الاحتياطية"; /* Indicates that the backup import is being configured. */ "BACKUP_IMPORT_PHASE_CONFIGURATION" = "تهيئة النسخة الاحتياطية"; @@ -285,7 +285,7 @@ "BACKUP_IMPORT_PHASE_DOWNLOAD" = "تحميل بيانات النسخة الاحتياطية"; /* Indicates that the backup import data is being finalized. */ -"BACKUP_IMPORT_PHASE_FINALIZING" = "Finalizing Backup"; +"BACKUP_IMPORT_PHASE_FINALIZING" = "جاري استكمال توريد النسخة الاحتياطية"; /* Indicates that the backup import data is being imported. */ "BACKUP_IMPORT_PHASE_IMPORT" = "Importing backup."; @@ -297,19 +297,19 @@ "BACKUP_IMPORT_PHASE_RESTORING_FILES" = "استعادة الملفات"; /* Label for the backup restore decision section. */ -"BACKUP_RESTORE_DECISION_TITLE" = "Backup Available"; +"BACKUP_RESTORE_DECISION_TITLE" = "النسخة الاحتياطية متوفرة"; /* Label for the backup restore description. */ "BACKUP_RESTORE_DESCRIPTION" = "استعادة النسخة الاحتياطية"; /* Label for the backup restore progress. */ -"BACKUP_RESTORE_PROGRESS" = "Progress"; +"BACKUP_RESTORE_PROGRESS" = "سير الإنجاز"; /* Label for the backup restore status. */ "BACKUP_RESTORE_STATUS" = "الحالة"; /* Error shown when backup fails due to an unexpected error. */ -"BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error"; +"BACKUP_UNEXPECTED_ERROR" = "خطأ نسخ احتياطي غير متوقع"; /* An explanation of the consequences of blocking a group. */ "BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "لن تستقبل رسائل أو تحديثات من من هذه المجموعة بعد الآن."; @@ -381,7 +381,7 @@ "BLOCK_USER_BEHAVIOR_EXPLANATION" = "لن يتمكن المستخدم المحظور من الاتصال بك أو بعث الرسائل إليك."; /* browse files option from file sharing menu */ -"BROWSE_FILES_BUTTON" = "Browse"; +"BROWSE_FILES_BUTTON" = "استعرض"; /* Label for 'continue' button. */ "BUTTON_CONTINUE" = "استمر"; @@ -411,7 +411,7 @@ "CALL_AUDIO_PERMISSION_TITLE" = "الإذن لاستخدام الميكرفون مطلوب"; /* notification body */ -"CALL_INCOMING_NOTIFICATION_BODY" = "☎️ Incoming Call"; +"CALL_INCOMING_NOTIFICATION_BODY" = "مكالمة واردة"; /* Accessibility label for placing call button */ "CALL_LABEL" = "إتصل"; @@ -420,7 +420,7 @@ "CALL_MISSED_BECAUSE_OF_IDENTITY_CHANGE_NOTIFICATION_BODY" = "☎️ Missed call because the caller's safety number changed."; /* notification body */ -"CALL_MISSED_NOTIFICATION_BODY" = "☎️ Missed Call"; +"CALL_MISSED_NOTIFICATION_BODY" = "مكالمة فائتة"; /* Call setup status label after outgoing call times out */ "CALL_SCREEN_STATUS_NO_ANSWER" = "لم يرد"; @@ -486,7 +486,7 @@ "CALLKIT_ANONYMOUS_CONTACT_NAME" = "مستخدم Signal"; /* Accessibility hint describing what you can do with the camera button */ -"CAMERA_BUTTON_HINT" = "Take a picture and then send it"; +"CAMERA_BUTTON_HINT" = "التقط صورة ثم أرسلها"; /* Accessibility label for camera button. */ "CAMERA_BUTTON_LABEL" = "الكاميرا"; @@ -525,7 +525,7 @@ "COLOR_PICKER_DEMO_MESSAGE_1" = "Choose the color of outgoing messages in this conversation."; /* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */ -"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose."; +"COLOR_PICKER_DEMO_MESSAGE_2" = "أنت فقط من سيرى اللون الذي تختاره."; /* Modal Sheet title when picking a conversation color. */ "COLOR_PICKER_SHEET_TITLE" = "لون المحادثة"; @@ -537,7 +537,7 @@ "COMPOSE_BUTTON_HINT" = "Select or search for a Signal user to start a conversation with."; /* Accessibility label from compose button. */ -"COMPOSE_BUTTON_LABEL" = "Compose"; +"COMPOSE_BUTTON_LABEL" = "حرّر"; /* Table section header for contact listing when composing a new message */ "COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "جهات الاتصال"; @@ -678,7 +678,7 @@ "CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional."; /* Alert title */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Submit Debug Log?"; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "هل تود رفع سجل بالأخطاء للفحص؟ "; /* Button text */ "CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Submit with Debug Log"; @@ -714,16 +714,16 @@ "CONVERSATION_PICKER_SECTION_RECENTS" = "محادثات حديثة"; /* table section header for section containing contacts */ -"CONVERSATION_PICKER_SECTION_SIGNAL_CONTACTS" = "People"; +"CONVERSATION_PICKER_SECTION_SIGNAL_CONTACTS" = "الأسماء"; /* navbar header */ "CONVERSATION_PICKER_TITLE" = "Choose Recipients"; /* keyboard toolbar label when no messages match the search string */ -"CONVERSATION_SEARCH_NO_RESULTS" = "No matches"; +"CONVERSATION_SEARCH_NO_RESULTS" = "لا توجد مطابقة"; /* keyboard toolbar label when exactly 1 message matches the search string */ -"CONVERSATION_SEARCH_ONE_RESULT" = "1 match"; +"CONVERSATION_SEARCH_ONE_RESULT" = "1 مطابقة"; /* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ "CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d of %d matches"; @@ -762,7 +762,7 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "حجب هذا المستخدم"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "حظر"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "معلومات عن جهة الاتصال"; @@ -780,7 +780,7 @@ "CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; /* Label for button that sets 'group attributes access' to 'members-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "All Members"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "جميع الأعضاء"; /* Label for the 'edit group' button in conversation settings view. */ "CONVERSATION_SETTINGS_EDIT_GROUP" = "تحرير الاسم"; @@ -834,7 +834,7 @@ "CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "لا شيء "; /* Label for 'remove from group' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Remove From Group"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "إزالة من المجموعة"; /* Format for title for 'remove from group' confirmation alert. Embeds {user to remove from the group}. */ "CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Remove %@ from the group?"; @@ -855,13 +855,19 @@ "CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; /* Label for 'unblock user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Unblock User"; +"CONVERSATION_SETTINGS_UNBLOCK_USER" = "رفع الحظر"; /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "رفع الكتم"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "التغييرات غير المحفوظة"; + /* Label for 'view all members' button in conversation settings view. */ -"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; +"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "استعراض جميع الأعضاء"; /* Indicates that user is in the system contacts list. */ "CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "This user is in your contacts"; @@ -891,7 +897,7 @@ "CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "هذا المستخدم غير موجود في جهات الاتصال الخاصة بك."; /* button text to delete all items in the current conversation */ -"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Delete All"; +"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "حذف الكل"; /* Indicates that the app is loading more messages in this conversation. */ "CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…"; @@ -957,7 +963,7 @@ "DEBUG_LOG_ALERT_OPTION_EMAIL" = "بريد الدعم"; /* Label for the 'send to self' option of the debug log alert. */ -"DEBUG_LOG_ALERT_OPTION_SEND_TO_SELF" = "Send to Self"; +"DEBUG_LOG_ALERT_OPTION_SEND_TO_SELF" = "ارسال لنفسك"; /* Label for the 'Share' option of the debug log alert. */ "DEBUG_LOG_ALERT_OPTION_SHARE" = "شارك"; @@ -984,7 +990,7 @@ "DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete %ld Messages?"; /* action sheet body */ -"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete Message?"; +"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "حذف الرسالة؟"; /* Label for button that lets users re-register using the same phone number. */ "DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Re-register this phone number"; @@ -1104,7 +1110,7 @@ "ENABLE_2FA_VIEW_PIN_TOO_LONG" = "PIN can be no longer than 20 digits."; /* Error indicating that the entered 'two-factor auth PIN' is too short. */ -"ENABLE_2FA_VIEW_PIN_TOO_SHORT" = "PIN must be at least 4 digits."; +"ENABLE_2FA_VIEW_PIN_TOO_SHORT" = "الرقم الشخصي يجب أن يتكون من 4 خانات على الأقل."; /* Indicates that user should select a 'two factor auth pin'. */ "ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Enter a Registration Lock PIN. You will be asked to enter this PIN the next time you register this phone number with Signal."; @@ -1131,7 +1137,7 @@ "ERROR_COULD_NOT_FETCH_CONTACTS" = "Could not access contacts."; /* Error indicating that 'save video' failed. */ -"ERROR_COULD_NOT_SAVE_VIDEO" = "Could not save video."; +"ERROR_COULD_NOT_SAVE_VIDEO" = "فشل تخزين الفيديو. "; /* Generic notice when message failed to send. */ "ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "فشل إرسال الرسالة."; @@ -1152,7 +1158,7 @@ "ERROR_DESCRIPTION_REQUEST_FAILED" = "Network request failed."; /* Error indicating that a socket request timed out. */ -"ERROR_DESCRIPTION_REQUEST_TIMED_OUT" = "Network request timed out."; +"ERROR_DESCRIPTION_REQUEST_TIMED_OUT" = "نفذ وقت محاولات طلب الشبكة."; /* Error indicating that a socket response failed. */ "ERROR_DESCRIPTION_RESPONSE_FAILED" = "Invalid response from service."; @@ -1170,7 +1176,7 @@ "ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "جهة الاتصال ليست من مستخدمي Signal."; /* Error message indicating that attachment download(s) failed. */ -"ERROR_MESSAGE_ATTACHMENT_DOWNLOAD_FAILED" = "Attachment download failed."; +"ERROR_MESSAGE_ATTACHMENT_DOWNLOAD_FAILED" = "فشل تحميل المرفقات."; /* Error message when unable to receive an attachment because the sending client is too old. */ "ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal."; @@ -1203,7 +1209,7 @@ "ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "تمّ تغيير رقم اﻷمان."; /* Error indicating network connectivity problems. */ -"ERROR_NETWORK_FAILURE" = "Network Error"; +"ERROR_NETWORK_FAILURE" = "خطأ في الشبكة!"; /* Error indicating a send failure due to a delinked application. */ "ERROR_SENDING_DELINKED" = "Your device is no longer linked. Please re-link to send further messages."; @@ -1254,7 +1260,7 @@ "GALLERY_TILES_EMPTY_GALLERY" = "ليس لديك وسائط في هذه المحادثة."; /* Label indicating loading is in progress */ -"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…"; +"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "جار تحميل الوسائط الجديدة ..."; /* Label indicating loading is in progress */ "GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…"; @@ -1308,7 +1314,7 @@ "GROUP_ACCESS_LEVEL_ANY" = "Any User"; /* Description of the 'all members' access level. */ -"GROUP_ACCESS_LEVEL_MEMBER" = "All Members"; +"GROUP_ACCESS_LEVEL_MEMBER" = "جميع الأعضاء"; /* Description of the 'unknown' access level. */ "GROUP_ACCESS_LEVEL_UNKNOWN" = "مجهول"; @@ -2409,10 +2415,10 @@ "PENDING_GROUP_MEMBERS_REVOKE_INVITE_N_BUTTON" = "Revoke Invites"; /* Footer for the 'invites by other group members' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "Details of people invited by other group members are not shown. If invitees choose to join, their information will be shared with the group at that time. They will not see any messages in the group until they join."; +"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "لا تظهر تفاصيل الأشخاص المدعوين من قبل أعضاء المجموعة الآخرين. إذا اختار المدعوون الانضمام ،حينها سيتم مشاركة معلوماتهم مع المجموعة. لن يروا أي رسائل في المجموعة حتى ينضموا."; /* Title for the 'invites by other group members' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_TITLE_INVITES_FROM_OTHER_MEMBERS" = "Invites by other group members"; +"PENDING_GROUP_MEMBERS_SECTION_TITLE_INVITES_FROM_OTHER_MEMBERS" = "دعوات من أعضاء المجموعة الآخرين"; /* Title for the 'people you invited' section of the 'pending group members' view. */ "PENDING_GROUP_MEMBERS_SECTION_TITLE_PEOPLE_YOU_INVITED" = "الأشخاص الذين دعوتهم"; @@ -2499,7 +2505,7 @@ "PIN_CREATION_ALPHANUMERIC_HINT" = "PIN must be at least 4 characters"; /* Title of the 'pin creation' recreation view. */ -"PIN_CREATION_CHANGING_TITLE" = "Change your PIN"; +"PIN_CREATION_CHANGING_TITLE" = "قم بتغيير رقم التعريف الشخصي الخاص بك"; /* Title of the 'pin creation' confirmation view. */ "PIN_CREATION_CONFIRM_TITLE" = "Confirm your PIN"; @@ -2538,7 +2544,7 @@ "PIN_CREATION_RECREATION_EXPLANATION" = "You can change your PIN as long as this device is registered."; /* Title of the 'pin creation' recreation view. */ -"PIN_CREATION_RECREATION_TITLE" = "Change your PIN"; +"PIN_CREATION_RECREATION_TITLE" = "قم بتغيير رقم التعريف الشخصي الخاص بك"; /* Title of the 'pin creation' view. */ "PIN_CREATION_TITLE" = "إنشاء الرقم التعريفي الشخصي الخاص بك"; @@ -2580,7 +2586,7 @@ "PIN_REMINDER_TITLE" = "أدخل الرقم التعريفي الشخصي ل Signal"; /* Label indicating that the attempted PIN is too short */ -"PIN_REMINDER_TOO_SHORT_ERROR" = "PIN must be at least 4 digits."; +"PIN_REMINDER_TOO_SHORT_ERROR" = "الرقم الشخصي يجب أن يتكون من 4 خانات على الأقل."; /* Action text for PIN megaphone when user doesn't have a PIN */ "PINS_MEGAPHONE_ACTION" = "إنشاء رقم تعريفي شخصي"; @@ -3300,7 +3306,7 @@ "SETTINGS_BACKUP_PHASE" = "Phase"; /* Label for phase row in the in the backup settings view. */ -"SETTINGS_BACKUP_PROGRESS" = "Progress"; +"SETTINGS_BACKUP_PROGRESS" = "سير الإنجاز"; /* Label for backup status row in the in the backup settings view. */ "SETTINGS_BACKUP_STATUS" = "الحالة"; @@ -3405,7 +3411,7 @@ "SETTINGS_PINS_FOOTER" = "PINs keep information stored with Signal encrypted so only you can access it. Your profile, settings, and contacts will restore when you reinstall Signal."; /* Label for the 'pins' item of the privacy settings when the user does have a pin. */ -"SETTINGS_PINS_ITEM" = "Change your PIN"; +"SETTINGS_PINS_ITEM" = "قم بتغيير رقم التعريف الشخصي الخاص بك"; /* Label for the 'pins' item of the privacy settings when the user doesn't have a pin. */ "SETTINGS_PINS_ITEM_CREATE" = "إنشاء رقم تعريفي شخصي"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "نقدم لكم الأرقام التعريفية الشخصية PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "ترقية iOS"; diff --git a/Signal/translations/az.lproj/Localizable.strings b/Signal/translations/az.lproj/Localizable.strings index 8ec0f2032b..1c4659a526 100644 --- a/Signal/translations/az.lproj/Localizable.strings +++ b/Signal/translations/az.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Səsini ver"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Yadda Saxlanmamış Dəyişikliklər"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal tezliklə iOS 10 və ya daha üst versiyaları tələb edəcək. Zəhmət olmasa Parametrlər >> Ümumi >> Proqram Yenilikləri addımları ilə yenilikləri yüklə."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS-u Yenilə"; diff --git a/Signal/translations/bg.lproj/Localizable.strings b/Signal/translations/bg.lproj/Localizable.strings index 8dd3281ca9..a713675a24 100644 --- a/Signal/translations/bg.lproj/Localizable.strings +++ b/Signal/translations/bg.lproj/Localizable.strings @@ -849,7 +849,7 @@ "CONVERSATION_SETTINGS_SEARCH" = "Search Conversation"; /* Label for button that opens conversation settings. */ -"CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Tap to Change"; +"CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Докоснете за промяна"; /* Label for 'unblock group' action in conversation settings view. */ "CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Премахни заглушаването"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Незапазени Промени"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -2994,7 +3000,7 @@ "SCREENSHOT_NAME_CONTACT_NINE" = "Zeus Lehtonen"; /* This is a contact's name. A male leadership/presidential position + the sound a cat makes. This will have a cat profile photo. */ -"SCREENSHOT_NAME_CONTACT_ONE" = "Chairman Meow"; +"SCREENSHOT_NAME_CONTACT_ONE" = "Председателят Мяу"; /* This is a contact's name. Please keep a similar unisex first name (Kai) if this name isn't common and only post the last initial. This will have a female profile photo. */ "SCREENSHOT_NAME_CONTACT_SEVEN" = "Jordan B."; @@ -3018,7 +3024,7 @@ "SCREENSHOT_NAME_GROUP_FOUR" = "Sunsets 🌅"; /* This is for a group of people interested in discussing books they've read. */ -"SCREENSHOT_NAME_GROUP_ONE" = "Book Club"; +"SCREENSHOT_NAME_GROUP_ONE" = "Клуб на читателя"; /* This is group chat name for members talking about cats. Please include the emoji. */ "SCREENSHOT_NAME_GROUP_SIX" = "Cat Chat 🐈 🐱"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Надстройте iOS"; diff --git a/Signal/translations/bn.lproj/Localizable.strings b/Signal/translations/bn.lproj/Localizable.strings index a0cf1ec19b..e8fe9fa2f2 100644 --- a/Signal/translations/bn.lproj/Localizable.strings +++ b/Signal/translations/bn.lproj/Localizable.strings @@ -42,25 +42,25 @@ "ACTION_VIDEO_CALL" = "ভিডিও কল"; /* Label for the 'add group member' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Add Member"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "সদস্য যোগ করুন"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "সদস্যদের যোগ করুন"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "সদস্যকে \"%2$@\" এ যুক্ত করবেন?"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "%1$@ সদস্যদের \"%2$@\" এ যুক্ত করবেন?"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "নতুন সদস্য যুক্ত করুন"; /* Title for the 'add group members' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "নতুন সদস্যদের যুক্ত করুন"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "সদস্যদের যোগ করুন"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "আপনি কি এই গ্রুপের সাথে আপনার প্রোফাইল শেয়ার করতে চান?"; @@ -165,7 +165,7 @@ "ATTACHMENT_APPROVAL_MEDIA_DID_SAVE" = "সংরক্ষিত"; /* Placeholder text indicating who this attachment will be sent to. Embeds: {{recipient name}} */ -"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Message to %@"; +"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "%@ এর জন্য বার্তা"; /* Label for 'send' button in the 'attachment approval' dialog. */ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "পাঠান"; @@ -333,13 +333,13 @@ "BLOCK_LIST_UNBLOCK_BUTTON" = "মূক্ত করুন"; /* An explanation of what unblocking a contact means. */ -"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "You will be able to message and call each other."; +"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "আপনি একে অপরকে বার্তা প্রেরণ এবং কল করতে সক্ষম হবেন।"; /* Action sheet body when confirming you want to unblock a group */ "BLOCK_LIST_UNBLOCK_GROUP_BODY" = "বিদ্যমান সদস্যরা আপনাকে আবার গ্রুপে যোগ করতে সক্ষম হবে।"; /* An explanation of what unblocking a group means. */ -"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "Group members will be able to add you to this group again."; +"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "গ্রুপের সদস্যরা আপনাকে আবার এই গ্রুপে যুক্ত করতে পারবে।"; /* Action sheet title when confirming you want to unblock a group. */ "BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "এই গ্রুপটি অবরোধ মুক্ত করবেন?"; @@ -669,22 +669,22 @@ "CONTACT_SUPPORT" = "সহায়তা কেন্দ্রে যোগাযোগ"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal was unable to complete your support request."; +"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal আপনার সহায়তার অনুরোধটি সম্পন্ন করতে অক্ষম।"; /* button text */ "CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "আবারো চেষ্টা করুন"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional."; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "আপনার ডিবাগ লগগুলি আমাদেরকে সমস্যা দ্রুত সমাধানে সহায়তা করবে। আপনার লগ জমা দেওয়া বাধ্যতামূলক নয়।"; /* Alert title */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Submit Debug Log?"; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "ডিবাগ লগ জমা দিবেন?"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Submit with Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "ডিবাগ লগ সহ জমা দিন"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Submit without Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "ডিবাগ লগ ছাড়া জমা দিন"; /* Label for 'open address in maps app' button in contact view. */ "CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "মানচিত্রে খুলুন"; @@ -696,7 +696,7 @@ "CONTACT_WITHOUT_NAME" = "নামবিহীন পরিচিতি"; /* Message for the 'conversation delete confirmation' alert. */ -"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This conversation will be deleted from this device."; +"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "এই কথোপকথনটি এই ডিভাইস থেকে মুছে ফেলা হবে।"; /* Title for the 'conversation delete confirmation' alert. */ "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "কথোপকথন মুছে দিন ?"; @@ -741,19 +741,19 @@ "CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "সিস্টেম পরিচিতি সমূহে যুক্ত করুন"; /* Label indicating that only administrators can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admins"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "প্রশাসকগণ"; /* Label indicating that all group members can update the group's attributes: name, avatar, etc. */ "CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "সব"; /* Footer for the 'attributes access' section in conversation settings view. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Choose who can edit the group name, avatar and disappearing messages timer."; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "গ্রুপের নাম, ছবি এবং অদৃশ্য বার্তাগুলির সময়কাল কে সম্পাদনা করতে পারবে তা চয়ন করুন।"; /* Footer text for the 'block and leave' section of conversation settings view. */ "CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "আপনি আর এই গ্রুপ থেকে বার্তা বা আপডেট পাবেন না।"; /* Label for 'block group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Block Group"; +"CONVERSATION_SETTINGS_BLOCK_GROUP" = "গ্রুপ অবরুদ্ধ করুন"; /* table cell label in conversation settings */ "CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "এই গ্রুপটিকে অবরুদ্ধ করুন"; @@ -762,7 +762,7 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "এই ব্যবহারকারীকে অবরুদ্ধ করুন"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "ব্যবহারকারী অবরুদ্ধ করুন"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "পরিচিতি এর তথ্য"; @@ -771,16 +771,16 @@ "CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "কথোপকথনের রঙ"; /* Label for 'edit attributes access' action in conversation settings view. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Who Can Edit Group Info"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "গ্রুপ'র তথ্য কে সম্পাদনা করতে পারে"; /* Label for button that sets 'group attributes access' to 'administrators-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Only Admins"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "শুধুমাত্র প্রশাসকগণ"; /* Description for the 'edit group attributes access' alert. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "গ্রুপের নাম, ছবি এবং অদৃশ্য বার্তাগুলি কে পরিবর্তন করতে পারে তা চয়ন করুন:"; /* Label for button that sets 'group attributes access' to 'members-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "All Members"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "সকল সদস্য"; /* Label for the 'edit group' button in conversation settings view. */ "CONVERSATION_SETTINGS_EDIT_GROUP" = "সম্পাদনা"; @@ -789,16 +789,16 @@ "CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "গ্রুপের তথ্য"; /* Label for 'make group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Make Admin"; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "প্রশাসক করুন"; /* Format for title for 'make group admin' confirmation alert. Embeds {user to make an admin}. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ will be able to remove group members and make other admins."; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ গ্রুপের সদস্যদের অপসারণ এবং অন্যান্য প্রশাসক যোগ করতে সক্ষম হবে।"; /* Section title of the 'members' section in conversation settings view. */ "CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE" = "সদস্যগণ"; /* Format for the section title of the 'members' section in conversation settings view. Embeds: {{ the number of group members }}. */ -"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Members"; +"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ সদস্যগণ"; /* Title of the 'mute this thread' action sheet. */ "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "নিরব"; @@ -834,16 +834,16 @@ "CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "কিছুই না"; /* Label for 'remove from group' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Remove From Group"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "গ্রুপ থেকে বাদ দিন"; /* Format for title for 'remove from group' confirmation alert. Embeds {user to remove from the group}. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Remove %@ from the group?"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "%@-কে গ্রুপ থেকে বাদ দিবেন?"; /* Label for 'revoke group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Remove as Admin"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "প্রশাসক থেকে বাদ দিন"; /* Format for title for 'revoke group admin' confirmation alert. Embeds {user to revoke admin status from}. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Remove %@ as group admin?"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "%@-কে গ্রুপের প্রশাসক থেকে বাদ দিবেন?"; /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ "CONVERSATION_SETTINGS_SEARCH" = "কথোপকথন অনুসন্ধান"; @@ -852,16 +852,22 @@ "CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "পরিবর্তন করতে আলতো চাপুন"; /* Label for 'unblock group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; +"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "গ্রুপ অবরোধ মুক্ত করুন"; /* Label for 'unblock user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Unblock User"; +"CONVERSATION_SETTINGS_UNBLOCK_USER" = "ব্যবহারকারীকে অবরোধ মুক্ত করুন"; /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "সশব্দ"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "অসংরক্ষিত পরিবর্তনসমূহ"; + /* Label for 'view all members' button in conversation settings view. */ -"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; +"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "সব সদস্যদের দেখুন"; /* Indicates that user is in the system contacts list. */ "CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "এই ব্যবহারকারীটি আপনার পরিচিতি তালিকায় রয়েছে"; @@ -891,7 +897,7 @@ "CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "এই ব্যবহারকারীটি আপনার পরিচিতি তালিকায় নেই।"; /* button text to delete all items in the current conversation */ -"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Delete All"; +"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "সব মুছে ফেলুন"; /* Indicates that the app is loading more messages in this conversation. */ "CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "আরও বার্তা লোড হচ্ছে…"; @@ -975,16 +981,16 @@ "DEBUG_LOG_GITHUB_ISSUE_ALERT_TITLE" = "গিটহাব পুনঃনির্দেশ"; /* action sheet body */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Delete all messages in the conversation?"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "কথোপকথনের সমস্ত বার্তা মুছবেন?"; /* button text */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Delete All Messages"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "সমস্ত বার্তা মুছুন"; /* action sheet body. Embeds {{number of selected messages}} which will be deleted. */ -"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete %ld Messages?"; +"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "%ld বার্তাগুলি মুছবেন?"; /* action sheet body */ -"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete Message?"; +"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "বার্তা মুছবেন?"; /* Label for button that lets users re-register using the same phone number. */ "DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "এই ফোন নাম্বার পূনরায় রেজিষ্ট্রি করুন"; @@ -1032,7 +1038,7 @@ "EDIT_GROUP_ACTION" = "গ্রুপ সম্পাদনা"; /* The 'clear avatar' button in the 'edit group' view. */ -"EDIT_GROUP_CLEAR_AVATAR" = "Remove Avatar"; +"EDIT_GROUP_CLEAR_AVATAR" = "প্রোফাইল থেকে ছবি সরান"; /* a title for the contacts section of the 'new/update group' view. */ "EDIT_GROUP_CONTACTS_SECTION_TITLE" = "পরিচিতিসমূহ"; @@ -1041,16 +1047,16 @@ "EDIT_GROUP_DEFAULT_TITLE" = "গ্রুপ সম্পাদনা করুন"; /* Error message indicating the a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "This user can't be added to the group until they upgrade Signal."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "এই ব্যবহারকারীটিকে Signal আপগ্রেড না করা পর্যন্ত এই গ্রুপে যোগ করা যাবে না।"; /* Message for 'group full' error alert when a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Maximum group size of 100 members reached."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "গ্রুপের সর্বোচ্চ সদস্য সংখ্যা ১০০ জন হয়ে গেছে|"; /* Error message indicating that an avatar image is invalid and cannot be used. */ -"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Invalid avatar."; +"EDIT_GROUP_ERROR_INVALID_AVATAR" = "প্রোফাইল এর ছবি ঠিক নয়|"; /* Label for the group name in the 'edit group' view. */ -"EDIT_GROUP_GROUP_NAME" = "Group Name"; +"EDIT_GROUP_GROUP_NAME" = "গ্রুপের নাম"; /* An indicator that a user is a new member of the group. */ "EDIT_GROUP_NEW_MEMBER_LABEL" = "যোগ করা হয়েছে"; @@ -1203,7 +1209,7 @@ "ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "নিরাপত্তা নাম্বার পরিবর্তন হয়েছে।"; /* Error indicating network connectivity problems. */ -"ERROR_NETWORK_FAILURE" = "Network Error"; +"ERROR_NETWORK_FAILURE" = "নেটওয়ার্ক ত্রুটি"; /* Error indicating a send failure due to a delinked application. */ "ERROR_SENDING_DELINKED" = "আপনার ডিভাইস আর সংযুক্ত নেই। আরও বার্তা পাঠাতে দয়া করে পুনরায় যুক্ত করুন।"; @@ -1287,133 +1293,133 @@ "GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "যা অনুসন্ধান করতে চান লিখুন।"; /* Body message of notification shown during GRDB migration indicating that user may need to open app to view their content. */ -"GRDB_MIGRATION_NOTIFICATION_BODY" = "This version of Signal includes database optimizations and performance improvements. You may need to open the app to complete the process."; +"GRDB_MIGRATION_NOTIFICATION_BODY" = "Signal এর এই সংস্করণে ডাটাবেস অপ্টিমাইজেশন এবং কর্মক্ষমতা উন্নতি রয়েছে। প্রক্রিয়াটি শেষ করতে আপনাকে অ্যাপ চালু করার প্রয়োজন হতে পারে।"; /* Title of notification shown during GRDB migration indicating that user may need to open app to view their content. */ "GRDB_MIGRATION_NOTIFICATION_TITLE" = "ডাটাবেস অপ্টিমাইজ করা হচ্ছে"; /* Message indicating that the access to the group's attributes was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group info to “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "কারা গ্রুপের তথ্য সম্পাদনা করতে পারে তা আপনি \"%@\" এ পরিবর্তন করেছেন।"; /* Message indicating that the access to the group's attributes was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group info to “%2$@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ কে গ্রুপের তথ্য সম্পাদনা করতে পারে তা \"%2$@\" এ পরিবর্তন করেছে|"; /* Message indicating that the access to the group's attributes was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "Group info can be changed by “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "গ্রুপ তথ্য \"%@\" দ্বারা পরিবর্তন করা যেতে পারে।"; /* Description of the 'admins only' access level. */ -"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "Admins Only"; +"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "শুধু প্রশাসকগণ"; /* Description of the 'all users' access level. */ -"GROUP_ACCESS_LEVEL_ANY" = "Any User"; +"GROUP_ACCESS_LEVEL_ANY" = "যে কোনও ব্যবহারকারী"; /* Description of the 'all members' access level. */ -"GROUP_ACCESS_LEVEL_MEMBER" = "All Members"; +"GROUP_ACCESS_LEVEL_MEMBER" = "সকল সদস্য"; /* Description of the 'unknown' access level. */ "GROUP_ACCESS_LEVEL_UNKNOWN" = "অজানা"; /* Message indicating that the access to the group's members was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group membership to “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "কারা গ্রুপের সদস্যতা সম্পাদনা করতে পারবেন তা আপনি \"%@\" এ পরিবর্তন করেছেন।"; /* Message indicating that the access to the group's members was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group membership to “%2$@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "কারা গ্রুপের সদস্যতা সম্পাদনা করতে পারবেন তা %1$@ \"%2$@\" এ পরিবর্তন করেছে।"; /* Message indicating that the access to the group's members was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "Group membership can be changed by “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "গ্রুপের সদস্যতা \"%@\" দ্বারা পরিবর্তন করা যেতে পারে।"; /* Error indicating that a member cannot be added to a group. */ -"GROUP_CANNOT_ADD_INVALID_MEMBER" = "This user cannot be added to the group."; +"GROUP_CANNOT_ADD_INVALID_MEMBER" = "এই ব্যবহারকারীকে গ্রুপে যোগ করা যাবে না।"; /* Message indicating that group was created by the local user. */ -"GROUP_CREATED_BY_LOCAL_USER" = "You created the group."; +"GROUP_CREATED_BY_LOCAL_USER" = "আপনি গ্রুপ তৈরি করেছেন।"; /* Message indicating that group was created by another user. Embeds {{remote user name}}. */ -"GROUP_CREATED_BY_REMOTE_USER_FORMAT" = "%@ added you to the group."; +"GROUP_CREATED_BY_REMOTE_USER_FORMAT" = "%@ আপনাকে গ্রুপে যুক্ত করেছে।"; /* Message indicating that group was created by an unknown user. */ -"GROUP_CREATED_BY_UNKNOWN_USER" = "Group was created."; +"GROUP_CREATED_BY_UNKNOWN_USER" = "গ্রুপ তৈরি হয়েছিল।"; /* Message shown in conversation view that indicates there were issues with group creation. */ "GROUP_CREATION_FAILED" = "সমস্ত সদস্য গ্রুপে যোগ করা যায়নি। আবার চেষ্টা করতে আলতো চাপুন।"; /* Format for the message for an alert indicating that a member was invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ আপনার দ্বারা স্বয়ংক্রিয়ভাবে এই গ্রুপে যুক্ত করা যাবে না। তাদের যোগদানের জন্য আমন্ত্রণ জানানো হয়েছে এবং তারা গ্রহণ না করা পর্যন্ত কোনও গ্রুপ-বার্তা দেখতে পাবেন না।"; /* Title for an alert indicating that a member was invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_1" = "Invitation Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_1" = "আমন্ত্রণ পাঠানো হয়েছে"; /* Format for the title for an alert indicating that some members were invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "%@ Invitations Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "%@ আমন্ত্রণ পাঠানো হয়েছে"; /* Message for an alert indicating that some members were invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "These users can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "এই ব্যবহারকারীরা আপনার দ্বারা স্বয়ংক্রিয়ভাবে এই গ্রুপে যুক্ত করা যাবে না। তাদের যোগদানের জন্য আমন্ত্রণ জানানো হয়েছে এবং তারা গ্রহণ না করা পর্যন্ত কোনও গ্রুপ-বার্তা দেখতে পাবেন না।"; /* Message indicating that the local user was added to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ added you."; +"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ আপনাকে যোগ করেছে।"; /* Message indicating that the local user was granted administrator role. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "You are now an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "আপনি এখন প্রশাসক"; /* Message indicating that the local user was granted administrator role by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ made you an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ আপনাকে প্রশাসক বানিয়েছে|"; /* Message indicating that the local user accepted an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "You accepted an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "আপনি গ্রুপটিতে একটি আমন্ত্রণ গ্রহণ করেছেন।"; /* Message indicating that the local user accepted an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "You accepted an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "আপনি %@ থেকে গ্রুপে একটি আমন্ত্রণ গ্রহণ করেছেন।"; /* Message indicating that the local user declined an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "You declined an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "আপনি এই গ্রুপে আমন্ত্রণ প্রত্যাখ্যান করেছেন।"; /* Message indicating that the local user declined an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "You declined an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "আপনি %@ থেকে গ্রুপে আমন্ত্রণ প্রত্যাখ্যান করেছেন।"; /* Message indicating that the local user's invite was revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ revoked your invitation to the group."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ গ্রুপে আপনার আমন্ত্রণটি বাতিল করে দিয়েছিল।"; /* Message indicating that the local user's invite was revoked by an unknown user. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Your invitation to the group was revoked."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "গ্রুপে আপনার আমন্ত্রণ বাতিল করা হয়েছিল।"; /* Message indicating that the local user was invited to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ invited you."; +"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ আপনাকে আমন্ত্রণ জানিয়েছে।"; /* Message indicating that the local user was invited to the group. */ -"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "You were invited to the group."; +"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "আপনাকে এই গ্রুপে আমন্ত্রিত করা হয়েছিল।"; /* Message indicating that the local user has joined the group. */ -"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "You joined the group."; +"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "আপনি গ্রুপে যোগ দিয়েছেন।"; /* Message indicating that the local user was removed from the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed you."; +"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = " %@ আপনাকে বাদ দিয়েছে|"; /* Message indicating that the local user was removed from the group by an unknown user. */ -"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "You were removed from the group."; +"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "আপনাকে গ্রুপ থেকে বাদ দেয়া হয়েছে।"; /* Message indicating that the local user had their administrator role revoked. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Your admin privileges were revoked."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "আপনার প্রশাসনের সুবিধাগুলি প্রত্যাহার করা হয়েছে।"; /* Message indicating that the local user had their administrator role revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ revoked your admin privileges."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ আপনার প্রশাসনের সুবিধাগুলি বাতিল করেছে।"; /* Conversation settings table section title */ "GROUP_MANAGEMENT_SECTION" = "গ্রুপ ম্যানেজমেন্ট"; /* Label indicating that a group member is an admin. */ -"GROUP_MEMBER_ADMIN_INDICATOR" = "Admin"; +"GROUP_MEMBER_ADMIN_INDICATOR" = "প্রশাসক"; /* Format string for the group member count indicator. Embeds {{ %1$@ the number of members in the group, %2$@ the maximum number of members in the group. }}. */ "GROUP_MEMBER_COUNT_FORMAT" = "%1$@/%2$@"; /* The 'group member count' indicator when there are no members in the group. */ -"GROUP_MEMBER_COUNT_LABEL_0" = "No members"; +"GROUP_MEMBER_COUNT_LABEL_0" = "কোন সদস্য নেই"; /* The 'group member count' indicator when there is 1 member in the group. */ -"GROUP_MEMBER_COUNT_LABEL_1" = "1 member"; +"GROUP_MEMBER_COUNT_LABEL_1" = "১ সদস্য"; /* Format for the 'group member count' indicator. Embeds {the number of group members}. */ -"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ members"; +"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ সদস্যগণ"; /* Label indicating the local user. */ "GROUP_MEMBER_LOCAL_USER" = "আপনি"; @@ -1422,7 +1428,7 @@ "GROUP_MEMBERS_CALL" = "কল"; /* Label indicating that a group has no other members. */ -"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "No members."; +"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "কোন সদস্য নেই"; /* Label for the button that clears all verification errors in the 'group members' view. */ "GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "সবার জন্য যাচাইকরণ সাফ করুন"; @@ -1440,109 +1446,109 @@ "GROUP_MEMBERS_SEND_MESSAGE" = "বার্তা"; /* Placeholder text for 'group name' field. */ -"GROUP_NAME_PLACEHOLDER" = "Group name (required)"; +"GROUP_NAME_PLACEHOLDER" = "গ্রুপের নাম (প্রয়োজনীয়)"; /* Message indicating that a remote user has accepted their invite. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ accepted an invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ গ্রুপের জন্য একটি আমন্ত্রণ গ্রহণ করেছে।"; /* Message indicating that a remote user has accepted an invite from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ accepted your invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ গ্রুপে আপনার আমন্ত্রণ গ্রহণ করেছে।"; /* Message indicating that a remote user has accepted their invite. Embeds {{ %1$@ user who accepted their invite, %2$@ user who invited the user}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ accepted an invitation to the group from %2$@."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ গ্রুপে %2$@ থেকে একটি আমন্ত্রণ গ্রহণ করেছে।"; /* Message indicating that a remote user was added to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "You added %@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "আপনি %@ কে যোগ করেছেন।"; /* Message indicating that a remote user was added to the group by another user. Embeds {{ %1$@ user who added the user, %2$@ user who was added}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ added %2$@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%2$@কে %1$@ যুক্ত করেছে"; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ was added to the group."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ গ্রুপে যুক্ত হয়েছিল।"; /* Message indicating that a remote user has declined their invite. */ -"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 person declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 জন ব্যক্তি এই গ্রুপে আমন্ত্রণ প্রত্যাখ্যান করেছে।"; /* Message indicating that a remote user has declined their invite. Embeds {{ user who invited them }}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 person invited by %@ declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "%@ দ্বারা আমন্ত্রিত ১ জন ব্যক্তি এই গ্রুপে আমন্ত্রণ প্রত্যাখ্যান করেছেন।"; /* Message indicating that a remote user has declined an invite to the group from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ declined your invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ গ্রুপে আপনার আমন্ত্রণ প্রত্যাখ্যান করেছে।"; /* Message indicating that a remote user was granted administrator role. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ is now an admin"; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ এখন একজন প্রশাসক"; /* Message indicating that a remote user was granted administrator role by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "You made %@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "আপনি %@কে প্রশাসক করেছেন|"; /* Message indicating that a remote user was granted administrator role by another user. Embeds {{ %1$@ user who granted, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ made %2$@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ %2$@ কে একজন প্রশাসক করেছে|"; /* Message indicating that a single remote user's invite was revoked. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Invitation to the group was revoked for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "১ জন ব্যক্তির জন্য গ্রুপের আমন্ত্রণ বাতিল করা হয়েছিল।"; /* Message indicating that a remote user's invite was revoked by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Invitation to the group was revoked for %@."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "%@ এর গ্রুপে আমন্ত্রণ বাতিল করা হয়েছিল।"; /* Message indicating that a single remote user's invite was revoked by a remote user. Embeds {{ user who revoked the invite }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ revoked an invitation to the group for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ ১ জন ব্যক্তির জন্য এই গ্রুপে একটি আমন্ত্রণ প্রত্যাহার করেছে।"; /* Message indicating that a group of remote users' invites were revoked by a remote user. Embeds {{ %1$@ user who revoked the invite, %2$@ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ revoked an invitation to the group for %2$@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ %2$@ ব্যক্তির জন্য এই গ্রুপে একটি আমন্ত্রণ বাতিল করে দিয়েছিল।"; /* Message indicating that a group of remote users' invites were revoked. Embeds {{ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Invitations to the group were revoked for %@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "গ্রুপে আমন্ত্রণগুলি%@ জনের জন্য বাতিল করা হয়েছিল।"; /* Message indicating that a single remote user was invited to the group. */ -"GROUP_REMOTE_USER_INVITED_1" = "1 person was invited to the group."; +"GROUP_REMOTE_USER_INVITED_1" = "এই গ্রুপে ১ জনকে আমন্ত্রণ জানানো হয়েছিল।"; /* Message indicating that a remote user was invited to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "You invited %@ to the group."; +"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "আপনি %@ কে এই গ্রুপে আমন্ত্রণ জানিয়েছেন।"; /* Message indicating that a single remote user was invited to the group by the local user. Embeds {{ user who invited the user }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ invited 1 person to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ ১ জনকে গ্রুপে আমন্ত্রণ জানিয়েছে।"; /* Message indicating that a group of remote users were invited to the group by the local user. Embeds {{ %1$@ user who invited the user, %2$@ number of invited users }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ invited %2$@ people to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ %2$@ জনকে গ্রুপে আমন্ত্রণ জানিয়েছে।"; /* Message indicating that a group of remote users were invited to the group. Embeds {{number of invited users}}. */ -"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ people were invited to the group."; +"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ জনকে এই গ্রুপে আমন্ত্রিত করা হয়েছিল।"; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ joined the group."; +"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ গ্রুপে যোগ দিয়েছেন।"; /* Message indicating that a remote user has left the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ left the group."; +"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ গ্রুপ ছেড়েছে।"; /* Message indicating that a remote user was removed from the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "You removed %@."; +"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "আপনি %@ কে বাদ দিয়েছেন।"; /* Message indicating that the remote user was removed from the group. Embeds {{ %1$@ user who removed the user, %2$@ user who was removed}}. */ -"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ removed %2$@."; +"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ %2$@ কে বাদ দিয়েছে|"; /* Message indicating that a remote user had their administrator role revoked. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ had their admin privileges revoked."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ তাদের প্রশাসনের সুবিধাগুলি প্রত্যাহার করেছে।"; /* Message indicating that a remote user had their administrator role revoked by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "You revoked admin privileges from %@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "আপনি %@ এর প্রশাসক সুবিধাগুলি বাতিল করেছেন।"; /* Message indicating that a remote user had their administrator role revoked by another user. Embeds {{ %1$@ user who revoked, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ revoked admin privileges from %2$@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@%2$@ এর প্রশাসক সুবিধাগুলি বাতিল করেছেন খ।"; /* Info message indicating that the group was updated by an unknown user. */ "GROUP_UPDATED" = "গ্রুপ আপডেট হয়েছে।"; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED" = "The group avatar was removed."; +"GROUP_UPDATED_AVATAR_REMOVED" = "গ্রুপ প্রোফাইল ছবি সরানো হয়েছে।"; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "You removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "আপনি প্রোফাইল ছবি সরিয়েছেন।"; /* Message indicating that the group's avatar was removed by a remote user. Embeds {{user who removed the avatar}}. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ প্রোফাইল ছবি সরিয়েছেন।"; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED" = "Updated the group avatar."; +"GROUP_UPDATED_AVATAR_UPDATED" = "গ্রুপ প্রোফাইল ছবি আপডেট করেছেন।"; /* Message indicating that the group's avatar was changed. */ "GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "You updated the avatar."; @@ -1584,7 +1590,7 @@ "GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Could not accept invite."; /* Label for 'block group' button in group invite view. */ -"GROUPS_INVITE_BLOCK_GROUP" = "Block Group"; +"GROUPS_INVITE_BLOCK_GROUP" = "গ্রুপ অবরুদ্ধ করুন"; /* Label for 'block group and inviter' button in group invite view. Embeds {{name of user who invited you}}. */ "GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Block Group and %@"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "পিনের সাথে পরিচিত হন"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal gcv জন্য শীঘ্রই আইওএস 10 বা তার পরের সংস্করণ প্রয়োজন হবে। সেটিংস অ্যাপ >> সাধারণ >> সফ্টওয়্যার আপডেটে আপগ্রেড করুন।"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "আইওএস আপগ্রেড করুন"; diff --git a/Signal/translations/bs.lproj/Localizable.strings b/Signal/translations/bs.lproj/Localizable.strings index bda227f053..40868003d4 100644 --- a/Signal/translations/bs.lproj/Localizable.strings +++ b/Signal/translations/bs.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Isključi utišavanje"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Nespremljene promjene"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -1383,7 +1389,7 @@ "GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "You were invited to the group."; /* Message indicating that the local user has joined the group. */ -"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "You joined the group."; +"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "Pridružili ste se grupi."; /* Message indicating that the local user was removed from the group by another user. Embeds {{remote user name}}. */ "GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed you."; @@ -1932,7 +1938,7 @@ "MESSAGE_REQUEST_BLOCK_ACTION" = "Blokiraj"; /* Action sheet action to confirm blocking and deleting a thread via a message request. */ -"MESSAGE_REQUEST_BLOCK_AND_DELETE_ACTION" = "Block and Delete"; +"MESSAGE_REQUEST_BLOCK_AND_DELETE_ACTION" = "Blokiraj i izbriši"; /* Action sheet message to confirm blocking a conversation via a message request. */ "MESSAGE_REQUEST_BLOCK_CONVERSATION_MESSAGE" = "Blocked people won’t be able to call you or send you messages."; @@ -2409,13 +2415,13 @@ "PENDING_GROUP_MEMBERS_REVOKE_INVITE_N_BUTTON" = "Revoke Invites"; /* Footer for the 'invites by other group members' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "Details of people invited by other group members are not shown. If invitees choose to join, their information will be shared with the group at that time. They will not see any messages in the group until they join."; +"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "Detalji o osobama koje su drugi članovi grupe pozvali nisu prikazani. Ako pozvane osobe odluče pristupiti grupi, informacije o njima bit će dostupni članovima grupe tek tada. Sve dok joj ne pristupe, te osobe neće vidjeti poruke iz grupe."; /* Title for the 'invites by other group members' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_TITLE_INVITES_FROM_OTHER_MEMBERS" = "Invites by other group members"; +"PENDING_GROUP_MEMBERS_SECTION_TITLE_INVITES_FROM_OTHER_MEMBERS" = "Pozivnice drugih članova grupe"; /* Title for the 'people you invited' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_TITLE_PEOPLE_YOU_INVITED" = "People you invited"; +"PENDING_GROUP_MEMBERS_SECTION_TITLE_PEOPLE_YOU_INVITED" = "Osobe koje ste pozvali"; /* The title for the 'pending group members' view. */ "PENDING_GROUP_MEMBERS_VIEW_TITLE" = "Pending Group Invites"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Novo: PIN-ovi"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Ažuriraj iOS"; diff --git a/Signal/translations/ca.lproj/Localizable.strings b/Signal/translations/ca.lproj/Localizable.strings index fdf83e3787..1a004393b4 100644 --- a/Signal/translations/ca.lproj/Localizable.strings +++ b/Signal/translations/ca.lproj/Localizable.strings @@ -108,7 +108,7 @@ "APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "Versió desconeguda de la base de dades."; /* Text prompting user to edit their profile name. */ -"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Introduïu el vostre nom"; +"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Escriviu el vostre nom"; /* Label for the 'dismiss' button in the 'new app version available' alert. */ "APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Ara no"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "No silenciïs"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Canvis no desats"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Mostra'n tots els membres"; @@ -1107,13 +1113,13 @@ "ENABLE_2FA_VIEW_PIN_TOO_SHORT" = "El PIN ha de tenir més de 4 dígits."; /* Indicates that user should select a 'two factor auth pin'. */ -"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Introduïu un PIN de Registre Segur. Se us demanarà la pròxima vegada que registreu aquest número de telèfon al Signal."; +"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Marqueu un PIN de Registre Segur. Se us demanarà la pròxima vegada que registreu aquest número de telèfon al Signal."; /* Indicates that user has 'two factor auth pin' disabled. */ "ENABLE_2FA_VIEW_STATUS_DISABLED_INSTRUCTIONS" = "Per a més seguretat, activeu el PIN de Registre Segur, que se us demanarà quan vulgueu tornar a registrar aquest número de telèfon al Signal."; /* Indicates that user has 'two factor auth pin' enabled. */ -"ENABLE_2FA_VIEW_STATUS_ENABLED_INSTRUCTIONS" = "S'ha activat el Registre Segur. Caldrà que introduïu el PIN quan torneu a registrar el número de telèfon al Signal."; +"ENABLE_2FA_VIEW_STATUS_ENABLED_INSTRUCTIONS" = "S'ha activat el Registre Segur. Caldrà que escriviu el PIN quan torneu a registrar el número de telèfon al Signal."; /* Title for the 'enable two factor auth PIN' views. */ "ENABLE_2FA_VIEW_TITLE" = "Registre Segur"; @@ -1272,7 +1278,7 @@ "GIF_PICKER_FAILURE_ALERT_TITLE" = "No s'ha pogut triar el GIF"; /* Alert message shown when user tries to search for GIFs without entering any search terms. */ -"GIF_PICKER_VIEW_MISSING_QUERY" = "Si us plau, introduïu una cerca."; +"GIF_PICKER_VIEW_MISSING_QUERY" = "Si us plau, escriviu una cerca."; /* Title for the 'GIF picker' dialog. */ "GIF_PICKER_VIEW_TITLE" = "Cerca GIF"; @@ -1284,7 +1290,7 @@ "GIF_VIEW_SEARCH_NO_RESULTS" = "No hi ha cap resultat."; /* Placeholder text for the search field in GIF view */ -"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Introduïu una cerca"; +"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Escriviu una cerca"; /* Body message of notification shown during GRDB migration indicating that user may need to open app to view their content. */ "GRDB_MIGRATION_NOTIFICATION_BODY" = "Aquesta versió del Signal inclou optimitzacions de la base de dades i millores de rendiment. És possible que hàgiu d’obrir l’aplicació per a completar el procés."; @@ -2286,7 +2292,7 @@ "ONBOARDING_PERMISSIONS_TITLE" = "Obtén el missatge"; /* Title of the 'onboarding phone number' view. */ -"ONBOARDING_PHONE_NUMBER_TITLE" = "Per començar, introduïu el número de telèfon."; +"ONBOARDING_PHONE_NUMBER_TITLE" = "Per començar, marqueu el número de telèfon."; /* Label indicating that the phone number is invalid in the 'onboarding phone number' view. */ "ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "El número no és vàlid"; @@ -2310,7 +2316,7 @@ "ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_TITLE" = "PIN incorrecte"; /* Title of the 'onboarding PIN' view. */ -"ONBOARDING_PIN_EXPLANATION" = "Introduïu el PIN que heu creat per al compte. Això és diferent del codi de verificació d'SMS."; +"ONBOARDING_PIN_EXPLANATION" = "Marqueu el PIN que heu creat per al compte. Això és diferent del codi de verificació d'SMS."; /* Title of the 'onboarding PIN' view. */ "ONBOARDING_PIN_TITLE" = "Marqueu el PIN"; @@ -2352,7 +2358,7 @@ "ONBOARDING_VERIFICATION_RESENT_CODE_MISSING_LINK" = "Encara no teniu cap codi?"; /* Format for the title of the 'onboarding verification' view. Embeds {{the user's phone number}}. */ -"ONBOARDING_VERIFICATION_TITLE_DEFAULT_FORMAT" = "Introduïu el codi que hem enviat a %@."; +"ONBOARDING_VERIFICATION_TITLE_DEFAULT_FORMAT" = "Marqueu el codi que hem enviat a %@."; /* Format for the title of the 'onboarding verification' view after the verification code has been resent. Embeds {{the user's phone number}}. */ "ONBOARDING_VERIFICATION_TITLE_RESENT_FORMAT" = "Acabem de tornar a enviar un codi a %@."; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Confirmeu el PIN."; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Marqueu el PIN que heu creat."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Creeu un PIN alfanumèric"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Creeu el PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Trieu un PIN més segur."; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Per ajudar-vos a recordar el PIN, us el demanarem periòdicament. Amb el temps, ho farem menys."; @@ -2859,7 +2865,7 @@ "REGISTRATION_DEFAULT_COUNTRY_NAME" = "Codi internacional"; /* Placeholder text for the phone number textfield */ -"REGISTRATION_ENTERNUMBER_DEFAULT_TEXT" = "Introduïu el número"; +"REGISTRATION_ENTERNUMBER_DEFAULT_TEXT" = "Marqueu el número"; /* No comment provided by engineer. */ "REGISTRATION_ERROR" = "Error de registre"; @@ -2880,19 +2886,19 @@ "REGISTRATION_VERIFICATION_FAILED_TITLE" = "La verificació ha fallat"; /* Error message indicating that registration failed due to a missing or incorrect verification code. */ -"REGISTRATION_VERIFICATION_FAILED_WRONG_CODE_DESCRIPTION" = "Els números que heu introduït no coincideixen amb els que us hem enviat. Reviseu-los."; +"REGISTRATION_VERIFICATION_FAILED_WRONG_CODE_DESCRIPTION" = "Els números que heu marcat no coincideixen amb els que us hem enviat. Reviseu-los."; /* Error message indicating that registration failed due to a missing or incorrect 2FA PIN. */ "REGISTRATION_VERIFICATION_FAILED_WRONG_PIN" = "Codi PIN de registre incorrecte."; /* Message of alert indicating that users needs to enter a valid phone number to register. */ -"REGISTRATION_VIEW_INVALID_PHONE_NUMBER_ALERT_MESSAGE" = "Introduïu un número de telèfon vàlid a registrar."; +"REGISTRATION_VIEW_INVALID_PHONE_NUMBER_ALERT_MESSAGE" = "Marqueu un número de telèfon vàlid per registrar."; /* Title of alert indicating that users needs to enter a valid phone number to register. */ "REGISTRATION_VIEW_INVALID_PHONE_NUMBER_ALERT_TITLE" = "Número de telèfon no vàlid"; /* Message of alert indicating that users needs to enter a phone number to register. */ -"REGISTRATION_VIEW_NO_PHONE_NUMBER_ALERT_MESSAGE" = "Introduïu un número de telèfon a registrar."; +"REGISTRATION_VIEW_NO_PHONE_NUMBER_ALERT_MESSAGE" = "Marqueu un número de telèfon per registrar."; /* Title of alert indicating that users needs to enter a phone number to register. */ "REGISTRATION_VIEW_NO_PHONE_NUMBER_ALERT_TITLE" = "No hi ha cap número"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "S'introdueixen els PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "El Signal necessitarà aviat l'iOS 10 o posterior. Actualitzeu-lo a la Configuració del sistema >> General >> Actualitzacions."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Actualitzeu l'iOS"; diff --git a/Signal/translations/cs.lproj/Localizable.strings b/Signal/translations/cs.lproj/Localizable.strings index 636fbcc453..ad3e287fad 100644 --- a/Signal/translations/cs.lproj/Localizable.strings +++ b/Signal/translations/cs.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Zrušit ztlumení"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Neuložené změny"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Vytvořte váš PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Zvolte silnější PIN"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "To help you memorize your PIN, we’ll ask you to enter it periodically. We’ll ask less over time."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Představujeme PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal bude brzy vyžadovat iOS 10 nebo novější. Proveďte prosím aktualizaci v aplikaci Nastavení >> Obecné >> Aktualizace softwaru."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Upgradujte iOS"; diff --git a/Signal/translations/da.lproj/Localizable.strings b/Signal/translations/da.lproj/Localizable.strings index d5c99b0b6d..0569b85712 100644 --- a/Signal/translations/da.lproj/Localizable.strings +++ b/Signal/translations/da.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Aktivér lyd"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Ikke gemte ændringer"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Vis alle medlemmer"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Bekræft din PIN-kode"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Indtast den pinkode, du lige har oprettet."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Opret alfanumerisk PIN"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Opret din PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Vælg en stærkere pinkode"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "For at hjælpe dig med at huske din PIN, vil du blive bedt om at indtaste den periodisk. Det vil ske sjældnere over tid"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducerer PIN´s"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal vil snart kræve IOS 10 eller nyere. Opdater venligst i Indstillinger -> Generelt -> Software opdatering"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Opgrader iOS"; diff --git a/Signal/translations/de.lproj/Localizable.strings b/Signal/translations/de.lproj/Localizable.strings index 1cf94ab4e7..b8d1faa3cb 100644 --- a/Signal/translations/de.lproj/Localizable.strings +++ b/Signal/translations/de.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Stummschaltung aufheben"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Ungespeicherte Änderungen"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Alle Mitglieder anzeigen"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Bestätige deine PIN"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Gib die gerade von dir erstellte PIN ein."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Alphanumerische PIN erstellen"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Erstelle deine PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Wähle eine stärkere PIN"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Damit du dir deine PIN besser merken kannst, werden wir gelegentlich nach ihr fragen. Mit der Zeit werden wir dies seltener tun."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Einführung von PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal wird bald iOS 10 oder neuer erfordern. Bitte aktualisieren über die iOS-Einstellungen: Einstellungen >> Allgemein >> Softwareaktualisierung."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS aktualisieren"; diff --git a/Signal/translations/el.lproj/Localizable.strings b/Signal/translations/el.lproj/Localizable.strings index b1495826e7..4c7afe869e 100644 --- a/Signal/translations/el.lproj/Localizable.strings +++ b/Signal/translations/el.lproj/Localizable.strings @@ -45,22 +45,22 @@ "ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Προσθήκη Μέλους"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Προσθήκη Μελών"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Προσθήκη μέλους στο “%2$@”;"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Προσθήκη %1$@ μελών στο “%2$@”;"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Προσθήκη νέου μέλους"; /* Title for the 'add group members' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Προσθήκη νέων μελών"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Προσθήκη μελών"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Θέλετε να μοιραστείτε το προφίλ σας με αυτή την ομάδα;"; @@ -108,7 +108,7 @@ "APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "Άγνωστη έκδοση βάσης δεδομένων"; /* Text prompting user to edit their profile name. */ -"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Εισάγετε το όνομα σας"; +"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Συμπλήρωσε το όνομά σου"; /* Label for the 'dismiss' button in the 'new app version available' alert. */ "APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Όχι Τώρα"; @@ -141,7 +141,7 @@ "ATTACHMENT" = "Συνημμένο"; /* One-line label indicating the user can add no more text to the attachment caption. */ -"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Φθάσατε στο όριο της λεζάντας."; +"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Έφτασες στο όριο της λεζάντας."; /* placeholder text for an empty captioning field */ "ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Προσθήκη λεζάντας..."; @@ -165,7 +165,7 @@ "ATTACHMENT_APPROVAL_MEDIA_DID_SAVE" = "Αποθηκεύτηκε"; /* Placeholder text indicating who this attachment will be sent to. Embeds: {{recipient name}} */ -"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Message to %@"; +"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Μήνυμα στον/στην %@"; /* Label for 'send' button in the 'attachment approval' dialog. */ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Αποστολή"; @@ -174,10 +174,10 @@ "ATTACHMENT_DEFAULT_FILENAME" = "Συνημμένο"; /* Status label when an attachment download has failed. */ -"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Η λήψη απέτυχε. Πατήστε για επανάληψη."; +"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Η λήψη απέτυχε. Πάτησε για επανάληψη."; /* The title of the 'attachment error' alert. */ -"ATTACHMENT_ERROR_ALERT_TITLE" = "Σφάλμα αποστολής συννημένου"; +"ATTACHMENT_ERROR_ALERT_TITLE" = "Σφάλμα αποστολής συνημμένου"; /* Attachment error message for image attachments which could not be converted to JPEG */ "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Αδυναμία μετατροπής της εικόνας."; @@ -204,7 +204,7 @@ "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Το συνημμένο έχει μη έγκυρη μορφή αρχείου."; /* Attachment error message for attachments without any data */ -"ATTACHMENT_ERROR_MISSING_DATA" = "Το συννημένο είναι κενό."; +"ATTACHMENT_ERROR_MISSING_DATA" = "Το συνημμένο είναι κενό."; /* Accessibility hint describing what you can do with the attachment button */ "ATTACHMENT_HINT" = "Επιλέξτε τα Μέσα προς Αποστολή"; @@ -534,10 +534,10 @@ "COMPARE_SAFETY_NUMBER_ACTION" = "Σύγκριση με Πρόχειρο"; /* Accessibility hint describing what you can do with the compose button */ -"COMPOSE_BUTTON_HINT" = "Select or search for a Signal user to start a conversation with."; +"COMPOSE_BUTTON_HINT" = "Επίλεξε ή αναζήτησε ένα χρήστη Signal για να ξεκινήσεις μια συζήτηση."; /* Accessibility label from compose button. */ -"COMPOSE_BUTTON_LABEL" = "Compose"; +"COMPOSE_BUTTON_LABEL" = "Σύνθεση"; /* Table section header for contact listing when composing a new message */ "COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "Επαφές"; @@ -669,22 +669,22 @@ "CONTACT_SUPPORT" = "Επικοινωνία με την υποστήριξη"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal was unable to complete your support request."; +"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Το Signal δεν μπόρεσε να ολοκληρώσει το αίτημα υποστήριξής σου."; /* button text */ -"CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "Προσπαθήστε ξανά"; +"CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "Προσπάθησε ξανά"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional."; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Τα αρχεία καταγραφής θα μας βοηθήσουν στην γρηγορότερη επίλυση του προβλήματος. Η υποβολή των αρχείων είναι προαιρετική."; /* Alert title */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Submit Debug Log?"; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Υποβολή αρχείου καταγραφής;"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Submit with Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Υποβολή με αρχείο καταγραφής"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Submit without Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Υποβολή χωρίς αρχείο καταγραφής"; /* Label for 'open address in maps app' button in contact view. */ "CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Άνοιγμα στους Χάρτες"; @@ -696,7 +696,7 @@ "CONTACT_WITHOUT_NAME" = "Ανώνυμη Επαφή"; /* Message for the 'conversation delete confirmation' alert. */ -"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This conversation will be deleted from this device."; +"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Η συζήτηση θα διαγραφεί από την συσκευή."; /* Title for the 'conversation delete confirmation' alert. */ "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Διαγραφή συνομιλίας;"; @@ -741,19 +741,19 @@ "CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "Προσθήκη στις επαφές Συστήματος"; /* Label indicating that only administrators can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admins"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Διαχειριστές"; /* Label indicating that all group members can update the group's attributes: name, avatar, etc. */ "CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "Όλα"; /* Footer for the 'attributes access' section in conversation settings view. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Choose who can edit the group name, avatar and disappearing messages timer."; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Επίλεξε ποιος θα μπορεί να επεξεργάζεται το όνομα της ομάδας, το άβαταρ και το χρόνο εξαφάνισης μηνυμάτων."; /* Footer text for the 'block and leave' section of conversation settings view. */ "CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "Δεν θα λαμβάνετε πλέον μηνύματα ή ενημερώσεις από αυτήν την ομάδα."; /* Label for 'block group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Block Group"; +"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Αποκλεισμός ομάδας"; /* table cell label in conversation settings */ "CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Αποκλεισμός της ομάδας"; @@ -762,7 +762,7 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Αποκλεισμός του χρήστη"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "Αποκλεισμός χρήστη"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Πληροφορίες Επαφής"; @@ -771,16 +771,16 @@ "CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Χρώμα Συνομιλίας"; /* Label for 'edit attributes access' action in conversation settings view. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Who Can Edit Group Info"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Ποιος μπορεί να επεξεργάζεται πληροφορίες της ομάδας"; /* Label for button that sets 'group attributes access' to 'administrators-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Only Admins"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Μόνο οι διαχειριστές"; /* Description for the 'edit group attributes access' alert. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Επίλεξε ποιος θα μπορεί να αλλάζει το όνομα της ομάδας, το άβαταρ και το χρόνο εξαφάνισης μηνυμάτων:"; /* Label for button that sets 'group attributes access' to 'members-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "All Members"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "Όλα τα μέλη"; /* Label for the 'edit group' button in conversation settings view. */ "CONVERSATION_SETTINGS_EDIT_GROUP" = "Eπεξεργασία"; @@ -789,16 +789,16 @@ "CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Πληροφορίες Ομάδας"; /* Label for 'make group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Make Admin"; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Κάνε διαχειριστή"; /* Format for title for 'make group admin' confirmation alert. Embeds {user to make an admin}. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ will be able to remove group members and make other admins."; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "Ο/Η %@ θα μπορεί να αφαιρεί μέλη της ομάδας και ορίζει άλλους διαχειριστές."; /* Section title of the 'members' section in conversation settings view. */ "CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE" = "Μέλη"; /* Format for the section title of the 'members' section in conversation settings view. Embeds: {{ the number of group members }}. */ -"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Members"; +"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Μέλη"; /* Title of the 'mute this thread' action sheet. */ "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Σίγαση"; @@ -834,16 +834,16 @@ "CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "Κανένα"; /* Label for 'remove from group' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Remove From Group"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Αφαίρεση από την ομάδα"; /* Format for title for 'remove from group' confirmation alert. Embeds {user to remove from the group}. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Remove %@ from the group?"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Αφαίρεση του/της %@ από την ομάδα;"; /* Label for 'revoke group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Remove as Admin"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Αφαίρεση ως διαχειριστή"; /* Format for title for 'revoke group admin' confirmation alert. Embeds {user to revoke admin status from}. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Remove %@ as group admin?"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Αφαίρεση του/της %@ ως διαχειριστή ομάδας;"; /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ "CONVERSATION_SETTINGS_SEARCH" = "Εύρεση Συνομιλίας"; @@ -852,16 +852,22 @@ "CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Πατήστε για Αλλαγή"; /* Label for 'unblock group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; +"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Κατάργηση αποκλεισμού ομάδας"; /* Label for 'unblock user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Unblock User"; +"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Κατάργηση αποκλεισμού χρήστη"; /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Αναίρεση Σίγασης"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Μη Αποθηκευμένες Αλλαγές"; + /* Label for 'view all members' button in conversation settings view. */ -"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; +"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Προβολή όλων των μελών"; /* Indicates that user is in the system contacts list. */ "CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "Αυτός ο χρήστης βρίσκεται στις επαφές σας"; @@ -891,7 +897,7 @@ "CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Αυτός ο χρήστης δεν βρίσκεται στις επαφές σας."; /* button text to delete all items in the current conversation */ -"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Delete All"; +"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Διαγραφή όλων"; /* Indicates that the app is loading more messages in this conversation. */ "CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Φόρτωση Περισσότερων Μηνυμάτων..."; @@ -975,16 +981,16 @@ "DEBUG_LOG_GITHUB_ISSUE_ALERT_TITLE" = "Ανακατεύθυνση στο GitHub"; /* action sheet body */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Delete all messages in the conversation?"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Διαγραφή όλων των μηνυμάτων στην συζήτηση;"; /* button text */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Delete All Messages"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Διαγραφή όλων των μηνυμάτων"; /* action sheet body. Embeds {{number of selected messages}} which will be deleted. */ -"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete %ld Messages?"; +"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Διαγραφή %ld μηνυμάτων;"; /* action sheet body */ -"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete Message?"; +"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Διαγραφή μηνύματος;"; /* Label for button that lets users re-register using the same phone number. */ "DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Επανεγγραφή αριθμού τηλεφώνου"; @@ -1032,7 +1038,7 @@ "EDIT_GROUP_ACTION" = "Επεξεργασία Ομάδας"; /* The 'clear avatar' button in the 'edit group' view. */ -"EDIT_GROUP_CLEAR_AVATAR" = "Remove Avatar"; +"EDIT_GROUP_CLEAR_AVATAR" = "Αφαίρεση άβαταρ"; /* a title for the contacts section of the 'new/update group' view. */ "EDIT_GROUP_CONTACTS_SECTION_TITLE" = "Επαφές"; @@ -1041,16 +1047,16 @@ "EDIT_GROUP_DEFAULT_TITLE" = "Επεξεργασία Ομάδας"; /* Error message indicating the a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "This user can't be added to the group until they upgrade Signal."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "Ο χρήστης δεν μπορεί να προστεθεί στην ομάδα μέχρι να αναβαθμίσει το Signal."; /* Message for 'group full' error alert when a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Maximum group size of 100 members reached."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Φτάσατε το μέγιστο όριο 100 μελών στην ομάδα."; /* Error message indicating that an avatar image is invalid and cannot be used. */ -"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Invalid avatar."; +"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Μη έγκυρο άβαταρ"; /* Label for the group name in the 'edit group' view. */ -"EDIT_GROUP_GROUP_NAME" = "Group Name"; +"EDIT_GROUP_GROUP_NAME" = "Όνομα ομάδας"; /* An indicator that a user is a new member of the group. */ "EDIT_GROUP_NEW_MEMBER_LABEL" = "Προστέθηκε"; @@ -1173,7 +1179,7 @@ "ERROR_MESSAGE_ATTACHMENT_DOWNLOAD_FAILED" = "Αποτυχία ανάκτησης του συνημμένου."; /* Error message when unable to receive an attachment because the sending client is too old. */ -"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Αποτυχία συνημμένου: Ζητήστε από την επαφή να ξανά στείλει το μήνυμα αφού ενημερώσει το Signal στην τελευταία έκδοση."; +"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Αποτυχία συνημμένου: Ζήτησε από την επαφή να ξαναστείλει το μήνυμα αφού ενημερώσει το Signal στην τελευταία έκδοση."; /* No comment provided by engineer. */ "ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Λάβατε διπλότυπο μήνυμα."; @@ -1203,7 +1209,7 @@ "ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "Ο αριθμός ασφαλείας άλλαξε."; /* Error indicating network connectivity problems. */ -"ERROR_NETWORK_FAILURE" = "Network Error"; +"ERROR_NETWORK_FAILURE" = "Σφάλμα δικτύου"; /* Error indicating a send failure due to a delinked application. */ "ERROR_SENDING_DELINKED" = "Η συσκευή σας δεν είναι πλέον συνδεδεμένη. Ξανά συνδέστε την για να στέλνετε μηνύματα."; @@ -1287,7 +1293,7 @@ "GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Εισάγετε την αναζήτηση σας"; /* Body message of notification shown during GRDB migration indicating that user may need to open app to view their content. */ -"GRDB_MIGRATION_NOTIFICATION_BODY" = "This version of Signal includes database optimizations and performance improvements. You may need to open the app to complete the process."; +"GRDB_MIGRATION_NOTIFICATION_BODY" = "Αυτή η έκδοση του Signal περιλαμβάνει βελτιστοποιήσεις στη βάση δεδομένων και στην απόδοση της εφαρμογής. Ενδέχεται να χρειαστεί να ξανανοίξεις την εφαρμογή για την ολοκλήρωση της διαδικασίας."; /* Title of notification shown during GRDB migration indicating that user may need to open app to view their content. */ "GRDB_MIGRATION_NOTIFICATION_TITLE" = "Βελτιστοποίηση βάσης δεδομένων"; @@ -1308,7 +1314,7 @@ "GROUP_ACCESS_LEVEL_ANY" = "Any User"; /* Description of the 'all members' access level. */ -"GROUP_ACCESS_LEVEL_MEMBER" = "All Members"; +"GROUP_ACCESS_LEVEL_MEMBER" = "Όλα τα μέλη"; /* Description of the 'unknown' access level. */ "GROUP_ACCESS_LEVEL_UNKNOWN" = "Άγνωστο"; @@ -1584,7 +1590,7 @@ "GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Could not accept invite."; /* Label for 'block group' button in group invite view. */ -"GROUPS_INVITE_BLOCK_GROUP" = "Block Group"; +"GROUPS_INVITE_BLOCK_GROUP" = "Αποκλεισμός ομάδας"; /* Label for 'block group and inviter' button in group invite view. Embeds {{name of user who invited you}}. */ "GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Block Group and %@"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Δημιουργία του PIN σας"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Επέλεξε ενα δυνατότερο PIN"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "To help you memorize your PIN, we’ll ask you to enter it periodically. We’ll ask less over time."; @@ -2994,7 +3000,7 @@ "SCREENSHOT_NAME_CONTACT_NINE" = "Zeus Lehtonen"; /* This is a contact's name. A male leadership/presidential position + the sound a cat makes. This will have a cat profile photo. */ -"SCREENSHOT_NAME_CONTACT_ONE" = "Chairman Meow"; +"SCREENSHOT_NAME_CONTACT_ONE" = "Πρόεδρος Μιάου"; /* This is a contact's name. Please keep a similar unisex first name (Kai) if this name isn't common and only post the last initial. This will have a female profile photo. */ "SCREENSHOT_NAME_CONTACT_SEVEN" = "Jordan B."; @@ -3018,7 +3024,7 @@ "SCREENSHOT_NAME_GROUP_FOUR" = "Sunsets 🌅"; /* This is for a group of people interested in discussing books they've read. */ -"SCREENSHOT_NAME_GROUP_ONE" = "Book Club"; +"SCREENSHOT_NAME_GROUP_ONE" = "Το αναγνωστήριο"; /* This is group chat name for members talking about cats. Please include the emoji. */ "SCREENSHOT_NAME_GROUP_SIX" = "Cat Chat 🐈 🐱"; @@ -3348,7 +3354,7 @@ "SETTINGS_DELETE_DATA_BUTTON" = "Διαγραφή Όλων των Δεδομένων"; /* Alert message before user confirms clearing history */ -"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Σίγουρα θέλετε να διαγράψετε όλο το ιστορικό (μηνύματα, συνημμένα, κλήσεις, κτλ); Αυτή η ενέργεια είναι μη αναστρέψιμη."; +"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Σίγουρα θέλεις να διαγράψεις όλο το ιστορικό (μηνύματα, συνημμένα, κλήσεις, κτλ); Αυτή η ενέργεια είναι μη αναστρέψιμη."; /* Confirmation text for button which deletes all message, calling, attachments, etc. */ "SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Διαγραφή Όλων"; @@ -3561,7 +3567,7 @@ "SHARE_EXTENSION_NOT_YET_MIGRATED_TITLE" = "Όχι ακόμα έτοιμο"; /* Alert title */ -"SHARE_EXTENSION_SENDING_FAILURE_TITLE" = "Αδυναμία Αποστολής Συνημμένου"; +"SHARE_EXTENSION_SENDING_FAILURE_TITLE" = "Αδυναμία αποστολής συνημμένου"; /* Alert title */ "SHARE_EXTENSION_SENDING_IN_PROGRESS_TITLE" = "Μεταφόρτωση..."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Υποδεχθείτε τα PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Ενημέρωση Λογισμικού iOS"; diff --git a/Signal/translations/es.lproj/Localizable.strings b/Signal/translations/es.lproj/Localizable.strings index 3c45ee7c02..fd0f492d63 100644 --- a/Signal/translations/es.lproj/Localizable.strings +++ b/Signal/translations/es.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "No silenciar"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Cambios sin guardar"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Mostrar participantes"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Confirma tu PIN"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Introduce el PIN que acabas de crear."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Crear PIN alfanumérico"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Crea tu PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Selecciona un PIN más complejo"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Para ayudarte a memorizar el PIN, te solicitaremos introducirlo de vez en cuando. Con el tiempo lo solicitaremos con menos frecuencia."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "¡El PIN ha llegado!"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal próximamente solo funcionará en iOS 10 o versiones posteriores. Actualiza en Ajustes >> General >> Actualización de software."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Actualizar iOS"; diff --git a/Signal/translations/et.lproj/Localizable.strings b/Signal/translations/et.lproj/Localizable.strings index 4306acb60d..71a9b5a012 100644 --- a/Signal/translations/et.lproj/Localizable.strings +++ b/Signal/translations/et.lproj/Localizable.strings @@ -246,7 +246,7 @@ "ATTACHMENT_TYPE_VOICE_MESSAGE" = "Häälsõnum"; /* A string indicating that an audio message is playing. */ -"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "Audiosõnum"; +"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "Häälsõnum"; /* action sheet button title to enable built in speaker during a call */ "AUDIO_ROUTE_BUILT_IN_SPEAKER" = "Valjuhääldi"; @@ -471,7 +471,7 @@ "CALL_VIEW_SWITCH_CAMERA_DIRECTION" = "Vaheta kaamera suunda"; /* Accessibility label to switch to audio only */ -"CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "Lülita audiokõnele"; +"CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "Lülita häälkõnele"; /* Accessibility label to switch to video call */ "CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "Lülita videokõnele"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Eemalda vaigistus"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Salvestamata muudatused"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Näita kõiki liikmeid"; @@ -2067,7 +2073,7 @@ "MESSAGES_VIEW_N_MEMBERS_NO_LONGER_VERIFIED" = "Rohkem kui üks selle grupi liige ei ole enam kinnitatuks märgitud. Klõpsa valikuteks."; /* The subtitle for the messages view title indicates that the title can be tapped to access settings for this conversation. */ -"MESSAGES_VIEW_TITLE_SUBTITLE" = "Sätete nägemiseks klõpsa siia"; +"MESSAGES_VIEW_TITLE_SUBTITLE" = "Klõpsa sätete nägemiseks siia"; /* Indicator that separates read from unread messages. */ "MESSAGES_VIEW_UNREAD_INDICATOR" = "Uued sõnumid"; @@ -2100,7 +2106,7 @@ "MULTIDEVICE_PAIRING_MAX_RECOVERY" = "Oled jõudnud maksimaalse seadmete arvuni, mida on võimalik kontoga ühendada. Palun eemalda mõni seadmetest ja proovi uuesti."; /* An explanation of the consequences of muting a thread. */ -"MUTE_BEHAVIOR_EXPLANATION" = "Sa ei saa vaigistatud vestluste kohta teavitusi."; +"MUTE_BEHAVIOR_EXPLANATION" = "Sa ei saa vaigistatud vestluste kohta märguandeid."; /* A button to skip a view. */ "NAVIGATION_ITEM_SKIP_BUTTON" = "Jäta vahele"; @@ -2280,7 +2286,7 @@ "ONBOARDING_PERMISSIONS_ENABLE_PERMISSIONS_BUTTON" = "Luba õigused"; /* Explanation in the 'onboarding permissions' view. */ -"ONBOARDING_PERMISSIONS_EXPLANATION" = "Teavitused võimaldavad sul näha sõnumite saabumist ja saada uuendusi vestluste kohta."; +"ONBOARDING_PERMISSIONS_EXPLANATION" = "Märguanded võimaldavad sul näha sõnumite saabumist ja saada uuendusi vestluste kohta."; /* Title of the 'onboarding permissions' view. */ "ONBOARDING_PERMISSIONS_TITLE" = "Hangi sõnum"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Kinnita PIN-kood"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Sisesta just loodud PIN-kood."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Loo tähtnumbriline PIN-kood"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Loo PIN-kood"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Vali tugevam PIN-kood"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "PIN-koodi meeldejätmise aitamiseks palume me sul seda aeg-ajalt sisestada. Aja möödudes küsime seda järjest harvemini."; @@ -2718,10 +2724,10 @@ "PUSH_MANAGER_REPLY" = "Vasta"; /* Title of alert shown when push tokens sync job succeeds. */ -"PUSH_REGISTER_SUCCESS" = "Edukalt teavituste saamiseks uuesti registreeritud."; +"PUSH_REGISTER_SUCCESS" = "Edukalt märguannete saamiseks uuesti registreeritud."; /* Used in table section header and alert view title contexts */ -"PUSH_REGISTER_TITLE" = "Teavitused"; +"PUSH_REGISTER_TITLE" = "Märguanded"; /* No comment provided by engineer. */ "QUESTIONMARK_PUNCTUATION" = "?"; @@ -2853,7 +2859,7 @@ "REGISTER_RATE_LIMITING_ERROR" = "Sa proovisid liiga palju kordi. Palun oota üks minut enne uuesti proovimist."; /* Title of alert shown when push tokens sync job fails. */ -"REGISTRATION_BODY" = "Teavituste saamiseks uuesti registreerumine ei õnnestunud."; +"REGISTRATION_BODY" = "Märguannete saamiseks uuesti registreerumine ei õnnestunud."; /* Label for the country code field */ "REGISTRATION_DEFAULT_COUNTRY_NAME" = "Riigi suunakood"; @@ -2925,7 +2931,7 @@ "REPLACE_ADMIN_VIEW_TITLE" = "Vali uus administraator"; /* No comment provided by engineer. */ -"REREGISTER_FOR_PUSH" = "Registreeru uuesti teavituste saamiseks"; +"REREGISTER_FOR_PUSH" = "Registreeru uuesti märguannete saamiseks"; /* Generic text for button that retries whatever the last action was. */ "RETRY_BUTTON_TEXT" = "Proovi uuesti"; @@ -3387,10 +3393,10 @@ "SETTINGS_NAV_BAR_TITLE" = "Sätted"; /* table section footer */ -"SETTINGS_NOTIFICATION_CONTENT_DESCRIPTION" = "Helistamise ja sõnumite teavitused ilmuvad siis, kui telefon on lukustatud. Sul on võimalik piirata, mida nendes teavitustes näidatakse."; +"SETTINGS_NOTIFICATION_CONTENT_DESCRIPTION" = "Helistamise ja sõnumite märguanded ilmuvad siis, kui telefon on lukustatud. Sul on võimalik piirata, mida nendes teavitustes näidatakse."; /* table section header */ -"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Teavituse sisu"; +"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Märguande sisu"; /* When the local device discovers a contact has recently installed signal, the app can generates a message encouraging the local user to say hello. Turning this switch off disables that feature. */ "SETTINGS_NOTIFICATION_EVENTS_CONTACT_JOINED_SIGNAL" = "Kontakt ühines Signal-iga"; @@ -3399,7 +3405,7 @@ "SETTINGS_NOTIFICATION_EVENTS_SECTION_TITLE" = "Sündmused"; /* No comment provided by engineer. */ -"SETTINGS_NOTIFICATIONS" = "Teavitused"; +"SETTINGS_NOTIFICATIONS" = "Märguanded"; /* Footer for the 'PINs' section of the privacy settings. */ "SETTINGS_PINS_FOOTER" = "PIN-koodid hoiavad Signal-is salvestatud teabe krüptituna, et ainult sinul on sellele juurdepääs. Kui paigaldad Signal-i uuesti, sii sinu profiil, sätted ja kontaktid taastatakse."; @@ -3459,7 +3465,7 @@ "SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Ekraaniluku aegumine"; /* Footer for the 'screen lock' section of the privacy settings. */ -"SETTINGS_SCREEN_LOCK_SECTION_FOOTER" = "Ava Signal-i ekraan, kasutades Touch ID-d, Face ID-d või oma iOS seadme salasõna. Kui ekraanilukk on lubatud, on sul võimalik vastata sissetulevatele kõnedele ja saada teavitusi sõnumite kohta. Signal-i teavituste sätted võimaldavad kuvatavat teavet kohandada."; +"SETTINGS_SCREEN_LOCK_SECTION_FOOTER" = "Ava Signal-i ekraan, kasutades Touch ID-d, Face ID-d või oma iOS seadme salasõna. Kui ekraanilukk on lubatud, on sul võimalik vastata sissetulevatele kõnedele ja saada märguandeid sõnumite kohta. Signal-i teavituste sätted võimaldavad kuvatavat teavet kohandada."; /* Title for the 'screen lock' section of the privacy settings. */ "SETTINGS_SCREEN_LOCK_SECTION_TITLE" = "Ekraanilukk"; @@ -3477,7 +3483,7 @@ "SETTINGS_SECTION_CALL_KIT_DESCRIPTION" = "iOSi kõnede integratsioon näitab Signali kõnesid sinu lukustusekraanil ja süsteemi kõneajaloos. Lisaks on võimalik näidata kontakti nime ja numbrit. Kui iCloud on lubatud, siis jagatakse kõnede ajalugu Apple'iga."; /* Label for the notifications section of conversation settings view. */ -"SETTINGS_SECTION_NOTIFICATIONS" = "Teavitused"; +"SETTINGS_SECTION_NOTIFICATIONS" = "Märguanded"; /* Header Label for the sounds section of settings views. */ "SETTINGS_SECTION_SOUNDS" = "Helid"; @@ -3747,7 +3753,7 @@ "UNKNOWN_USER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Kaduvad sõnumid olid keelatud."; /* Info Message when an unknown user enabled disappearing messages. Embeds {{time amount}} before messages disappear. see the *_TIME_AMOUNT strings for context. */ -"UNKNOWN_USER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Haihtuva sõnumi ajaks seadistati %@."; +"UNKNOWN_USER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Kaduvate sõnumite ajaks seadistati %@."; /* Indicates an unknown or unrecognizable value. */ "UNKNOWN_VALUE" = "Tundmatu"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Tutvustame PIN-koode"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal nõuab varsti iOS 10 või uuemat. Palun uuenda seadet, valides rakenduses Settings >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Uuenda iOSi"; diff --git a/Signal/translations/fa.lproj/Localizable.strings b/Signal/translations/fa.lproj/Localizable.strings index 5a549c2364..740b879b93 100644 --- a/Signal/translations/fa.lproj/Localizable.strings +++ b/Signal/translations/fa.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "خارج کردن از حالت سکوت"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "تغییرات ذخیره نشده"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "نمایش همه اعضا"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "تعریف پین ها"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "سیگنال به زودی نیاز به iOS 10 یا بالاتر دارد. لطفا از قسمت تنظیمات >> کلی >> به روز رسانی نرم افزار آن آپگرید کنید."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "به‌روزرسانی iOS"; diff --git a/Signal/translations/fi.lproj/Localizable.strings b/Signal/translations/fi.lproj/Localizable.strings index f02b674c3b..b4da0b1b2e 100644 --- a/Signal/translations/fi.lproj/Localizable.strings +++ b/Signal/translations/fi.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Poista mykistys"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Tallentamattomia muutoksia"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Näytä kaikki jäsenet"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Vahvista PIN-koodisi."; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Syötä juuri luomasi PIN-koodi."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Luo aakkosnumeerinen PIN-koodi"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Luo PIN-koodisi"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Valitse vahvempi PIN-koodi"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Pyydämme sinun PIN-koodia ajoittain sen muistamisen helpottamiseksi. Pyynnöt harvenevat ajan myötä."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Esittelemme PIN-koodit"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Lähitulevaisuudessa Signal tulee vaatimaan iOS 10:ä tai uudempaa. Voit päivittää käyttöjärjestelmäsi Asetukset ohjelmasta >> Yleiset >> Ohjelmistopäivitys"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Päivitä iOS"; diff --git a/Signal/translations/fil.lproj/Localizable.strings b/Signal/translations/fil.lproj/Localizable.strings index 8d49382ea7..8eaede9847 100644 --- a/Signal/translations/fil.lproj/Localizable.strings +++ b/Signal/translations/fil.lproj/Localizable.strings @@ -1,17 +1,17 @@ /* Button text to dismiss missing contacts permission alert */ -"AB_PERMISSION_MISSING_ACTION_NOT_NOW" = "Not Now"; +"AB_PERMISSION_MISSING_ACTION_NOT_NOW" = "Hindi ngayon"; /* Action sheet item */ -"ACCEPT_NEW_IDENTITY_ACTION" = "Accept New Safety Number"; +"ACCEPT_NEW_IDENTITY_ACTION" = "Tanggapin ang Bagong Numerong Pangkaligtasan"; /* Accessibility label for attachment. */ -"ACCESSIBILITY_LABEL_ATTACHMENT" = "Attachment"; +"ACCESSIBILITY_LABEL_ATTACHMENT" = "Kalakip"; /* Accessibility label for audio. */ "ACCESSIBILITY_LABEL_AUDIO" = "Audio"; /* Accessibility label for contact. */ -"ACCESSIBILITY_LABEL_CONTACT" = "Contact"; +"ACCESSIBILITY_LABEL_CONTACT" = "Kontak"; /* Accessibility label for media. */ "ACCESSIBILITY_LABEL_MEDIA" = "Media"; @@ -26,26 +26,26 @@ "ACCESSIBILITY_LABEL_STICKER" = "Sticker"; /* Label for 'audio call' button in contact view. */ -"ACTION_AUDIO_CALL" = "Signal Call"; +"ACTION_AUDIO_CALL" = "Tawag sa Signal"; /* Label for 'invite' button in contact view. */ "ACTION_INVITE" = "Anyayahan sa Signal"; /* Label for 'send message' button in contact view. Label for button that lets you send a message to a contact. */ -"ACTION_SEND_MESSAGE" = "Send Message"; +"ACTION_SEND_MESSAGE" = "Ipadala ang Mensahe"; /* Label for 'share contact' button. */ -"ACTION_SHARE_CONTACT" = "Share Contact"; +"ACTION_SHARE_CONTACT" = "Ibahagi ang Kontak"; /* Label for 'video call' button in contact view. */ "ACTION_VIDEO_CALL" = "Video Call"; /* Label for the 'add group member' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Add Member"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Magdagdag ng Kasapi"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Magdagdag ng mga Kasapi"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ "ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; @@ -60,7 +60,7 @@ "ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Magdagdag ng mga Kasapi"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Would you like to share your profile with this group?"; @@ -111,7 +111,7 @@ "APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Enter your name"; /* Label for the 'dismiss' button in the 'new app version available' alert. */ -"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Not Now"; +"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Hindi ngayon"; /* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */ "APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ is now available in the App Store."; @@ -138,7 +138,7 @@ "ARCHIVE_ACTION" = "Archive"; /* No comment provided by engineer. */ -"ATTACHMENT" = "Attachment"; +"ATTACHMENT" = "Kalakip"; /* One-line label indicating the user can add no more text to the attachment caption. */ "ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached."; @@ -171,7 +171,7 @@ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Ipadala"; /* Generic filename for an attachment with no known name */ -"ATTACHMENT_DEFAULT_FILENAME" = "Attachment"; +"ATTACHMENT_DEFAULT_FILENAME" = "Kalakip"; /* Status label when an attachment download has failed. */ "ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry."; @@ -231,7 +231,7 @@ "ATTACHMENT_KEYBOARD_NO_PHOTOS" = "Once you’ve taken photos, you’ll be able to send your recents here."; /* Accessibility label for attaching photos */ -"ATTACHMENT_LABEL" = "Attachment"; +"ATTACHMENT_LABEL" = "Kalakip"; /* Alert title when picking a document fails for an unknown reason */ "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Failed to choose document."; @@ -462,7 +462,7 @@ "CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "You can enable iOS Call Integration in your Signal privacy settings to see the name and phone number for incoming calls."; /* Label for button that dismiss the call view's settings nag. */ -"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Not Now"; +"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Hindi ngayon"; /* Label for button that shows the privacy settings. */ "CALL_VIEW_SETTINGS_NAG_SHOW_CALL_SETTINGS" = "Show Privacy Settings"; @@ -654,7 +654,7 @@ "CONTACT_PICKER_TITLE" = "Select Contact"; /* Title for the 'Approve contact share' view. */ -"CONTACT_SHARE_APPROVAL_VIEW_TITLE" = "Share Contact"; +"CONTACT_SHARE_APPROVAL_VIEW_TITLE" = "Ibahagi ang Kontak"; /* Title for the 'edit contact share name' view. */ "CONTACT_SHARE_EDIT_NAME_VIEW_TITLE" = "Edit Name"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Huwag ng patahimikin"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Unsaved Changes"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -1260,7 +1266,7 @@ "GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…"; /* A label for generic attachments. */ -"GENERIC_ATTACHMENT_LABEL" = "Attachment"; +"GENERIC_ATTACHMENT_LABEL" = "Kalakip"; /* Error displayed when there is a failure fetching a GIF from the remote service. */ "GIF_PICKER_ERROR_FETCH_FAILURE" = "Failed to fetch the requested GIF. Please verify you are online."; @@ -2742,7 +2748,7 @@ "QUOTED_REPLY_ORIGINAL_MESSAGE_REMOTELY_SOURCED" = "Original message not found."; /* Indicates this message is a quoted reply to an attachment of unknown type. */ -"QUOTED_REPLY_TYPE_ATTACHMENT" = "Attachment"; +"QUOTED_REPLY_TYPE_ATTACHMENT" = "Kalakip"; /* Indicates this message is a quoted reply to an audio file. */ "QUOTED_REPLY_TYPE_AUDIO" = "Audio"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Ipinakikilala ang mga PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS"; diff --git a/Signal/translations/fr.lproj/Localizable.strings b/Signal/translations/fr.lproj/Localizable.strings index 86f8605f77..0931a992c5 100644 --- a/Signal/translations/fr.lproj/Localizable.strings +++ b/Signal/translations/fr.lproj/Localizable.strings @@ -144,7 +144,7 @@ "ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "La limite de la légende est atteinte."; /* placeholder text for an empty captioning field */ -"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Ajouter une légende…"; +"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Ajoutez une légende…"; /* Title for 'caption' mode of the attachment approval view. */ "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Légende"; @@ -333,10 +333,10 @@ "BLOCK_LIST_UNBLOCK_BUTTON" = "Débloquer"; /* An explanation of what unblocking a contact means. */ -"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "Vous pourrez échanger des messages et vous appeler."; +"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "Vous pourrez échanger des messages et des appels."; /* Action sheet body when confirming you want to unblock a group */ -"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Les membres actuels pourront vous ajouter au groupe de nouveau."; +"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Les membres actuels pourront vous rajouter au groupe."; /* An explanation of what unblocking a group means. */ "BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "Les membres du groupe pourront vous rajouter à ce groupe."; @@ -369,7 +369,7 @@ "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ a été débloqué."; /* Alert body after unblocking a group. */ -"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Les membres actuels peuvent désormais vous ajouter au groupe de nouveau."; +"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Les membres actuels peuvent désormais vous rajouter au groupe."; /* Action sheet that will block an unknown user. */ "BLOCK_OFFER_ACTIONSHEET_BLOCK_ACTION" = "Bloquer"; @@ -492,7 +492,7 @@ "CAMERA_BUTTON_LABEL" = "Appareil photo"; /* Message for alert explaining that a user cannot be verified. */ -"CANT_VERIFY_IDENTITY_ALERT_MESSAGE" = "Cet utilisateur ne pourra pas être vérifié tant que vous n’aurez pas échangé de messages."; +"CANT_VERIFY_IDENTITY_ALERT_MESSAGE" = "Cet utilisateur ne pourra pas être confirmé tant que vous n’aurez pas échangé de messages."; /* Title for alert explaining that a user cannot be verified. */ "CANT_VERIFY_IDENTITY_ALERT_TITLE" = "Erreur"; @@ -591,7 +591,7 @@ "CONTACT_CELL_IS_BLOCKED" = "Bloqué"; /* An indicator that a contact is no longer verified. */ -"CONTACT_CELL_IS_NO_LONGER_VERIFIED" = "Non vérifié"; +"CONTACT_CELL_IS_NO_LONGER_VERIFIED" = "Non confirmé"; /* No comment provided by engineer. */ "CONTACT_DETAIL_COMM_TYPE_INSECURE" = "Numéro non inscrit"; @@ -765,7 +765,7 @@ "CONVERSATION_SETTINGS_BLOCK_USER" = "Bloquer l’utilisateur"; /* Navbar title when viewing settings for a 1-on-1 thread */ -"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "À propos du contact"; +"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Renseignements sur le contact"; /* Label for table cell which leads to picking a new conversation color */ "CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Couleur de la conversation"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Réactiver les notifications"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Changements non enregistrés"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Visualiser tous les membres"; @@ -1056,7 +1062,7 @@ "EDIT_GROUP_NEW_MEMBER_LABEL" = "Ajouté"; /* The title for the 'update group' button. */ -"EDIT_GROUP_UPDATE_BUTTON" = "Mise à jour"; +"EDIT_GROUP_UPDATE_BUTTON" = "Mettre à jour"; /* The alert message if user tries to exit update group view without saving changes. */ "EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Souhaitez-vous enregistrer les changements apportées à ce groupe ?"; @@ -1173,7 +1179,7 @@ "ERROR_MESSAGE_ATTACHMENT_DOWNLOAD_FAILED" = "Échec de téléchargement du fichier joint."; /* Error message when unable to receive an attachment because the sending client is too old. */ -"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Échec de fichier joint : demandez à ce contact de renvoyer son message après avoir mis Signal à jour vers la dernière version."; +"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Échec de fichier joint : demandez à ce contact de renvoyer son message après avoir mis Signal à jour vers la version la plus récente."; /* No comment provided by engineer. */ "ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Réception d’un message en double."; @@ -1221,10 +1227,10 @@ "EXPIRATION_ERROR" = "Votre version de Signal est expirée. Les messages ne seront plus envoyés correctement. Touchez pour passer à la version la plus récente."; /* Label warning the user that the app will expire soon. */ -"EXPIRATION_WARNING_SOON" = "Votre version de Signal expirera dans %d jours. Touchez pour mettre à jour vers la version la plus récente."; +"EXPIRATION_WARNING_SOON" = "Votre version de Signal expirera dans %d jours. Touchez pour mettre Signal à jour vers la version la plus récente."; /* Label warning the user that the app will expire today. */ -"EXPIRATION_WARNING_TODAY" = "Votre version de Signal expirera aujourd’hui. Touchez pour mettre à jour vers la version la plus récente."; +"EXPIRATION_WARNING_TODAY" = "Votre version de Signal expirera aujourd’hui. Touchez pour mettre Signal à jour vers la version la plus récente."; /* action sheet header when re-sending message which failed because of too many attempts */ "FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Trop d’échecs avec ce contact. Veuillez ressayer ultérieurement."; @@ -1236,7 +1242,7 @@ "FAILED_VERIFICATION_TITLE" = "Échec de confirmation du numéro de sécurité."; /* Button that marks user as verified after a successful fingerprint scan. */ -"FINGERPRINT_SCAN_VERIFY_BUTTON" = "Marquer comme vérifié"; +"FINGERPRINT_SCAN_VERIFY_BUTTON" = "Marquer comme confirmé"; /* No comment provided by engineer. */ "FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Réinitialiser la session."; @@ -1263,7 +1269,7 @@ "GENERIC_ATTACHMENT_LABEL" = "Fichier joint"; /* Error displayed when there is a failure fetching a GIF from the remote service. */ -"GIF_PICKER_ERROR_FETCH_FAILURE" = "Échec de récupération du GIF demandé. Veuillez vérifier que vous êtes bien en ligne."; +"GIF_PICKER_ERROR_FETCH_FAILURE" = "Échec de récupération du GIF demandé. Veuillez vous assurer d’être en ligne."; /* Generic error displayed when picking a GIF */ "GIF_PICKER_ERROR_GENERIC" = "Une erreur inconnue est survenue."; @@ -1284,7 +1290,7 @@ "GIF_VIEW_SEARCH_NO_RESULTS" = "Il n’y a aucun résultat."; /* Placeholder text for the search field in GIF view */ -"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Saisir votre recherche"; +"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Saisissez votre recherche"; /* Body message of notification shown during GRDB migration indicating that user may need to open app to view their content. */ "GRDB_MIGRATION_NOTIFICATION_BODY" = "Cette version de Signal comprend des optimisations de la base de données et des améliorations des performances. Vous devrez peut-être ouvrir l’appli pour terminer le processus."; @@ -1356,7 +1362,7 @@ "GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "Vous êtes désormais administrateur."; /* Message indicating that the local user was granted administrator role by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ vous a nommé administrateur"; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ vous a nommé administrateur."; /* Message indicating that the local user accepted an invite to the group. */ "GROUP_LOCAL_USER_INVITE_ACCEPTED" = "Vous avez accepté une invitation au groupe."; @@ -1377,13 +1383,13 @@ "GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Votre invitation au groupe a été révoquée."; /* Message indicating that the local user was invited to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ vous a invité(e)."; +"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ vous a invité."; /* Message indicating that the local user was invited to the group. */ -"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "Vous avez été invité(e) au groupe."; +"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "Vous avez été invité au groupe."; /* Message indicating that the local user has joined the group. */ -"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "Vous avez rejoint le groupe."; +"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "Vous vous êtes joint au groupe."; /* Message indicating that the local user was removed from the group by another user. Embeds {{remote user name}}. */ "GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "Votre suppression du groupe provient de %@."; @@ -1392,16 +1398,16 @@ "GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "Vous ne faites plus partie du groupe."; /* Message indicating that the local user had their administrator role revoked. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Vos privilèges d’admin ont été révoqués."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Vos privilèges d’administrateur ont été révoqués."; /* Message indicating that the local user had their administrator role revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ a révoqué vos privilèges d’admin."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ a révoqué vos privilèges d’administrateur."; /* Conversation settings table section title */ "GROUP_MANAGEMENT_SECTION" = "Gestion du groupe"; /* Label indicating that a group member is an admin. */ -"GROUP_MEMBER_ADMIN_INDICATOR" = "Admin"; +"GROUP_MEMBER_ADMIN_INDICATOR" = "Administrateur"; /* Format string for the group member count indicator. Embeds {{ %1$@ the number of members in the group, %2$@ the maximum number of members in the group. }}. */ "GROUP_MEMBER_COUNT_FORMAT" = "%1$@/%2$@"; @@ -1425,22 +1431,22 @@ "GROUP_MEMBERS_NO_OTHER_MEMBERS" = "Aucun membre."; /* Label for the button that clears all verification errors in the 'group members' view. */ -"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Effacer les vérifications pour tous"; +"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Effacer les confirmations pour tous"; /* Label for the 'reset all no-longer-verified group members' confirmation alert. */ -"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Cela annulera la vérification de tous les membres du groupe dont les numéros de sécurité ont changé depuis la dernière vérification."; +"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Cela annulera la confirmation de tous les membres du groupe dont les numéros de sécurité ont changé depuis la dernière confirmation."; /* Title for the 'members' section of the 'group members' view. */ "GROUP_MEMBERS_SECTION_TITLE_MEMBERS" = "Membres"; /* Title for the 'no longer verified' section of the 'group members' view. */ -"GROUP_MEMBERS_SECTION_TITLE_NO_LONGER_VERIFIED" = "N’est plus marqué comme vérifié"; +"GROUP_MEMBERS_SECTION_TITLE_NO_LONGER_VERIFIED" = "N’est plus marqué comme confirmé"; /* Button label for the 'send message to group member' button */ "GROUP_MEMBERS_SEND_MESSAGE" = "Message"; /* Placeholder text for 'group name' field. */ -"GROUP_NAME_PLACEHOLDER" = "Nom du groupe (obligatoire)"; +"GROUP_NAME_PLACEHOLDER" = "Nom du groupe (requis)"; /* Message indicating that a remote user has accepted their invite. Embeds {{remote user name}}. */ "GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ a accepté une invitation au groupe."; @@ -1458,34 +1464,34 @@ "GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ a ajouté %2$@."; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ a été ajouté(e) au groupe."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ a été ajouté au groupe."; /* Message indicating that a remote user has declined their invite. */ -"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 personne a décliné l’invitation au groupe."; +"GROUP_REMOTE_USER_DECLINED_INVITE" = "Une personne a décliné l’invitation au groupe."; /* Message indicating that a remote user has declined their invite. Embeds {{ user who invited them }}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 personne invitée par %@ a décliné l’invitation au groupe."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "Une personne invitée par %@ a décliné l’invitation au groupe."; /* Message indicating that a remote user has declined an invite to the group from the local user. Embeds {{remote user name}}. */ "GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ a décliné votre invitation au groupe."; /* Message indicating that a remote user was granted administrator role. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ est maintenant admin"; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ est désormais administrateur"; /* Message indicating that a remote user was granted administrator role by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "Vous avez fait de %@ un(e) admin"; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "Vous avez nommé %@ en tant qu’administrateur."; /* Message indicating that a remote user was granted administrator role by another user. Embeds {{ %1$@ user who granted, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ a fait de %2$@ un(e) admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ a nommé %2$@ en tant qu’administrateur."; /* Message indicating that a single remote user's invite was revoked. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Une invitation au groupe a été révoquée pour 1 personne."; +"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Une invitation au groupe a été révoquée pour une personne."; /* Message indicating that a remote user's invite was revoked by the local user. Embeds {{remote user name}}. */ "GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Une invitation au groupe a été révoquée pour %@."; /* Message indicating that a single remote user's invite was revoked by a remote user. Embeds {{ user who revoked the invite }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ a révoqué une invitation au groupe pour 1 personne."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ a révoqué une invitation au groupe pour une personne."; /* Message indicating that a group of remote users' invites were revoked by a remote user. Embeds {{ %1$@ user who revoked the invite, %2$@ number of users }}. */ "GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ a révoqué une invitation au groupe pour %2$@ personnes."; @@ -1494,13 +1500,13 @@ "GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Des invitations au groupe ont été révoquées pour %@ personnes."; /* Message indicating that a single remote user was invited to the group. */ -"GROUP_REMOTE_USER_INVITED_1" = "1 personne a été invitée au groupe."; +"GROUP_REMOTE_USER_INVITED_1" = "Une personne a été invitée au groupe."; /* Message indicating that a remote user was invited to the group by the local user. Embeds {{remote user name}}. */ "GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "Vous avez invité %@ au groupe."; /* Message indicating that a single remote user was invited to the group by the local user. Embeds {{ user who invited the user }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ a invité 1 personne au groupe."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ a invité une personne au groupe."; /* Message indicating that a group of remote users were invited to the group by the local user. Embeds {{ %1$@ user who invited the user, %2$@ number of invited users }}. */ "GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ a invité %2$@ personnes au groupe."; @@ -1509,7 +1515,7 @@ "GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ personnes ont été invitées au groupe"; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ a rejoint le groupe."; +"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ s’est joint au groupe."; /* Message indicating that a remote user has left the group. Embeds {{remote user name}}. */ "GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ a quitté le groupe."; @@ -1521,13 +1527,13 @@ "GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ a supprimé %2$@ du groupe."; /* Message indicating that a remote user had their administrator role revoked. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ ont vu leurs privilèges d’admin révoqués."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "Les privilèges d’administrateur de %@ ont été révoqués."; /* Message indicating that a remote user had their administrator role revoked by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "Vous avez révoqué les privilèges d’admin pour %@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "Vous avez révoqué les privilèges d’administrateur de %@."; /* Message indicating that a remote user had their administrator role revoked by another user. Embeds {{ %1$@ user who revoked, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ a révoqué les privilèges d’admin pour %2$@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ a révoqué les privilèges d’administrateur de %2$@."; /* Info message indicating that the group was updated by an unknown user. */ "GROUP_UPDATED" = "Le groupe a été mis à jour."; @@ -1542,19 +1548,19 @@ "GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ a supprimé l’avatar."; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED" = "Mise à jour de l’avatar du groupe."; +"GROUP_UPDATED_AVATAR_UPDATED" = "L’avatar du groupe a été mis à jour."; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "Vous avez mis à jour l’avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "Vous avez mis l’avatar à jour."; /* Message indicating that the group's avatar was changed by a remote user. Embeds {{user who changed the avatar}}. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ a mis à jour l’avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ a mis l’avatar à jour."; /* Info message indicating that the group was updated by the local user. */ "GROUP_UPDATED_BY_LOCAL_USER" = "Vous avez mis le groupe à jour."; /* Info message indicating that the group was updated by another user. Embeds {{remote user name}}. */ -"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ a mis à jour le groupe."; +"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ a mis le groupe à jour."; /* Message indicating that the group's name was removed. */ "GROUP_UPDATED_NAME_REMOVED" = "Le nom du groupe a été supprimé."; @@ -1578,10 +1584,10 @@ "GROUP_YOU_LEFT" = "Vous avez quitté le groupe."; /* Message for the 'can't replace group admin' alert. */ -"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Choisissez un nouvel admin pour ce groupe avant de partir."; +"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Choisissez un nouvel administrateur pour ce groupe avant de le quitter."; /* Error indicating that an error occurred while accepting an invite. */ -"GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "L’invitation n’a pas pu être acceptée."; +"GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Impossible d’accepter l’invitation."; /* Label for 'block group' button in group invite view. */ "GROUPS_INVITE_BLOCK_GROUP" = "Bloquer le groupe"; @@ -1593,13 +1599,13 @@ "GROUPS_INVITE_BLOCK_INVITER_FORMAT" = "Bloquer %@"; /* Message for the 'replace group admin' alert. */ -"GROUPS_REPLACE_ADMIN_ALERT_MESSAGE" = "Avant de partir, choisissez un nouvel admin pour ce groupe."; +"GROUPS_REPLACE_ADMIN_ALERT_MESSAGE" = "Avant de quitter le groupe, choisissez un nouvel administrateur."; /* Title for the 'replace group admin' alert. */ -"GROUPS_REPLACE_ADMIN_ALERT_TITLE" = "Choisir un nouvel admin"; +"GROUPS_REPLACE_ADMIN_ALERT_TITLE" = "Choisir un nouvel administrateur"; /* Label for the 'replace group admin' button. */ -"GROUPS_REPLACE_ADMIN_BUTTON" = "Choisir un nouvel admin"; +"GROUPS_REPLACE_ADMIN_BUTTON" = "Choisir un nouvel administrateur"; /* Label for 'archived conversations' button. */ "HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Conversations archivées"; @@ -1608,7 +1614,7 @@ "HOME_VIEW_BLOCKED_CONVERSATION" = "Bloquée"; /* Placeholder text for search bar which filters conversations. */ -"HOME_VIEW_CONVERSATION_SEARCHBAR_PLACEHOLDER" = "Rechercher"; +"HOME_VIEW_CONVERSATION_SEARCHBAR_PLACEHOLDER" = "Cherchez"; /* A prefix indicating that a message preview is a draft */ "HOME_VIEW_DRAFT_PREFIX" = "Brouillon :"; @@ -1626,10 +1632,10 @@ "HOME_VIEW_FIRST_CONVERSATION_OFFER_NO_CONTACTS" = "Lancez votre première conversation ici."; /* Table cell subtitle label for a group the user has been added to. {Embeds inviter name} */ -"HOME_VIEW_MESSAGE_REQUEST_ADDED_TO_GROUP_FORMAT" = "%@ vous a ajouté(e) au groupe"; +"HOME_VIEW_MESSAGE_REQUEST_ADDED_TO_GROUP_FORMAT" = "%@ vous a ajouté au groupe"; /* Table cell subtitle label for a conversation the user has not accepted. */ -"HOME_VIEW_MESSAGE_REQUEST_CONVERSATION" = "Demande de contact"; +"HOME_VIEW_MESSAGE_REQUEST_CONVERSATION" = "Demande de message"; /* Format string when search returns no results. Embeds {{search term}} */ "HOME_VIEW_SEARCH_NO_RESULTS_FORMAT" = "Aucun résultat n’a été trouvé pour « %@ »."; @@ -1722,7 +1728,7 @@ "KEEP_MESSAGES_FOREVER" = "Les messages ne disparaîtront pas."; /* A keyboard command to open the current conversation's all media view. */ -"KEY_COMMAND_ALL_MEDIA" = "Aller dans Tous les médias"; +"KEY_COMMAND_ALL_MEDIA" = "Accéder à Tous les médias"; /* A keyboard command to archive the current coversation. */ "KEY_COMMAND_ARCHIVE" = "Archiver la conversation"; @@ -1731,13 +1737,13 @@ "KEY_COMMAND_ATTACHMENTS" = "Afficher les fichiers joints"; /* A keyboard command to open the current conversation's settings. */ -"KEY_COMMAND_CONVERSATION_INFO" = "Aller vers les infos de conversation"; +"KEY_COMMAND_CONVERSATION_INFO" = "Accéder aux renseignements de la conversation"; /* A keyboard command to focus the current conversation's input field. */ -"KEY_COMMAND_FOCUS_COMPOSER" = "Focus sur la barre de saisie"; +"KEY_COMMAND_FOCUS_COMPOSER" = "Accéder à la barre de saisie"; /* A keyboard command to open the current conversations GIF picker. */ -"KEY_COMMAND_GIF_SEARCH" = "Aller à la recherche de GIF"; +"KEY_COMMAND_GIF_SEARCH" = "Accéder à la recherche de GIF"; /* A keyboard command to present the new group dialog. */ "KEY_COMMAND_NEW_GROUP" = "Nouveau groupe"; @@ -1746,10 +1752,10 @@ "KEY_COMMAND_NEW_MESSAGE" = "Nouveau message"; /* A keyboard command to jump to the next conversation in the list. */ -"KEY_COMMAND_NEXT_CONVERSATION" = "Aller à la conversation suivante"; +"KEY_COMMAND_NEXT_CONVERSATION" = "Accéder à la conversation suivante"; /* A keyboard command to jump to the previous conversation in the list. */ -"KEY_COMMAND_PREVIOUS_CONVERSATION" = "Aller à la conversation précédente"; +"KEY_COMMAND_PREVIOUS_CONVERSATION" = "Accéder à la conversation précédente"; /* A keyboard command to begin a search on the conversation list. */ "KEY_COMMAND_SEARCH" = "Chercher"; @@ -1764,7 +1770,7 @@ "KEY_COMMAND_UNARCHIVE" = "Désarchiver la conversation"; /* Label for the 'learn more' button. */ -"LEARN_MORE" = "En savoir plus"; +"LEARN_MORE" = "En apprendre davantage"; /* Confirmation button within contextual alert */ "LEAVE_BUTTON_TITLE" = "Quitter"; @@ -1863,7 +1869,7 @@ "MESSAGE_ACTION_DELETE_SELECTED_MESSAGES" = "Supprimez les messages sélectionnés"; /* Action sheet button title */ -"MESSAGE_ACTION_DETAILS" = "Plus d’infos"; +"MESSAGE_ACTION_DETAILS" = "Plus de précisions"; /* Action sheet button title */ "MESSAGE_ACTION_FORWARD_MESSAGE" = "Transférer ce message"; @@ -1941,7 +1947,7 @@ "MESSAGE_REQUEST_BLOCK_CONVERSATION_TITLE_FORMAT" = "Bloquer %@ ?"; /* Action sheet message to confirm blocking a group via a message request. */ -"MESSAGE_REQUEST_BLOCK_GROUP_MESSAGE" = "Vous quitterez ce groupe et ne recevrez plus de messages ni de mises à jour."; +"MESSAGE_REQUEST_BLOCK_GROUP_MESSAGE" = "Vous quitterez ce groupe et ne recevrez plus ni messages ni mises à jour."; /* Action sheet title to confirm blocking a group via a message request. Embeds {{group name}} */ "MESSAGE_REQUEST_BLOCK_GROUP_TITLE_FORMAT" = "Bloquer et quitter %@ ?"; @@ -1971,10 +1977,10 @@ "MESSAGE_REQUEST_VIEW_BLOCK_BUTTON" = "Bloquer"; /* A prompt notifying that the user must unblock this conversation to continue. Embeds {{contact name}}. */ -"MESSAGE_REQUEST_VIEW_BLOCKED_CONTACT_PROMPT_FORMAT" = "Souhaitez-vous autoriser %@ à vous envoyer des messages ? Vous ne recevrez aucun message tant que vous ne les aurez pas débloqués."; +"MESSAGE_REQUEST_VIEW_BLOCKED_CONTACT_PROMPT_FORMAT" = "Souhaitez-vous autoriser %@ à vous envoyer des messages ? Vous ne recevrez aucun message tant que vous ne l’aurez pas débloqué."; /* A prompt notifying that the user must unblock this group to continue. Embeds {{group name}}. */ -"MESSAGE_REQUEST_VIEW_BLOCKED_GROUP_PROMPT_FORMAT" = "Souhaitez-vous autoriser le groupe %@ à vous envoyer des messages ? Vous ne recevrez aucun message tant que vous ne les aurez pas débloqués."; +"MESSAGE_REQUEST_VIEW_BLOCKED_GROUP_PROMPT_FORMAT" = "Souhaitez-vous autoriser le groupe %@ à vous envoyer des messages ? Vous ne recevrez aucun message tant que vous ne l’aurez pas débloqué."; /* incoming message request button text which deletes a conversation */ "MESSAGE_REQUEST_VIEW_DELETE_BUTTON" = "Supprimer"; @@ -1989,10 +1995,10 @@ "MESSAGE_REQUEST_VIEW_GROUP_INVITE_PROMPT_FORMAT" = "Vous avez été invité dans ce groupe par %@. Souhaitez-vous permettre aux membres de ce groupe de vous envoyer des messages ?"; /* A prompt asking if the user wants to accept a conversation invite. Embeds {{contact name}}. */ -"MESSAGE_REQUEST_VIEW_NEW_CONTACT_PROMPT_FORMAT" = "Souhaitez-vous autoriser %@ à vous envoyer des messages ? L’utilisateur ne saura pas que vous avez lu ses messages tant que vous n’aurez pas accepté."; +"MESSAGE_REQUEST_VIEW_NEW_CONTACT_PROMPT_FORMAT" = "Souhaitez-vous autoriser %@ à échanger des messages avec vous ? La personne ne saura pas que vous avez vu ses messages tant que vous n’aurez pas accepté."; /* A prompt asking if the user wants to accept a group invite. Embeds {{group name}}. */ -"MESSAGE_REQUEST_VIEW_NEW_GROUP_PROMPT_FORMAT" = "Voulez-vous vous joindre au groupe %@ ? Ils ne sauront pas que vous avez lu leurs messages tant que vous n’aurez pas accepté."; +"MESSAGE_REQUEST_VIEW_NEW_GROUP_PROMPT_FORMAT" = "Souhaitez-vous vous joindre au groupe %@ ? Ils ne sauront pas que vous avez lu leurs messages tant que vous n’aurez pas accepté."; /* A button used to share your profile with an existing thread. */ "MESSAGE_REQUEST_VIEW_SHARE_PROFILE_BUTTON" = "Partager le profil"; @@ -2001,13 +2007,13 @@ "MESSAGE_REQUEST_VIEW_UNBLOCK_BUTTON" = "Débloquer"; /* Header for message requests splash screen */ -"MESSAGE_REQUESTS_NAMES_SPLASH_TITLE" = "Nous présentons les demandes de contact"; +"MESSAGE_REQUESTS_NAMES_SPLASH_TITLE" = "Nous présentons les demandes de message"; /* Button to start a create profile name flow from the one time splash screen that appears after upgrading */ "MESSAGE_REQUESTS_SPLASH_ADD_PROFILE_NAME_BUTTON" = "Ajouter un nom de profil"; /* Body text for message requests splash screen */ -"MESSAGE_REQUESTS_SPLASH_BODY" = "Vous pouvez maintenant choisir d’« Accepter » ou de « Supprimer » une nouvelle conversation. Les noms permettent aux gens de savoir qui leur envoie un message."; +"MESSAGE_REQUESTS_SPLASH_BODY" = "Vous pouvez désormais choisir d’« Accepter » ou de « Supprimer » une nouvelle conversation. Les noms permettent de savoir de savoir qui envoie les messages."; /* Toast indicating that a profile name has been created. */ "MESSAGE_REQUESTS_SPLASH_MEGAPHONE_TOAST" = "Votre nom de profil a été enregistré."; @@ -2046,13 +2052,13 @@ "MESSAGE_TEXT_FIELD_PLACEHOLDER" = "Nouveau message"; /* Indicates that one member of this group conversation is no longer verified. Embeds {{user's name or phone number}}. */ -"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ n’est plus marqué comme vérifié. Touchez pour plus d’options."; +"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ n’est plus marqué comme confirmé. Touchez pour plus d’options."; /* Indicates that this 1:1 conversation has been blocked. */ "MESSAGES_VIEW_CONTACT_BLOCKED" = "Vous avez bloqué cet utilisateur"; /* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */ -"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ n’est plus marqué comme vérifié. Touchez pour plus d’options."; +"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ n’est plus marqué comme confirmé. Touchez pour plus d’options."; /* Indicates that a single member of this group has been blocked. */ "MESSAGES_VIEW_GROUP_1_MEMBER_BLOCKED" = "Vous avez bloqué un membre de ce groupe"; @@ -2064,7 +2070,7 @@ "MESSAGES_VIEW_GROUP_N_MEMBERS_BLOCKED_FORMAT" = "Vous avez bloqué %@ membres de ce groupe"; /* Indicates that more than one member of this group conversation is no longer verified. */ -"MESSAGES_VIEW_N_MEMBERS_NO_LONGER_VERIFIED" = "Plus d’un membre de ce groupe n’est plus marqué comme vérifié. Touchez pour plus d’options."; +"MESSAGES_VIEW_N_MEMBERS_NO_LONGER_VERIFIED" = "Plus d’un membre de ce groupe n’est plus marqué comme confirmé. Touchez pour plus d’options."; /* The subtitle for the messages view title indicates that the title can be tapped to access settings for this conversation. */ "MESSAGES_VIEW_TITLE_SUBTITLE" = "Toucher ici pour les paramètres"; @@ -2085,7 +2091,7 @@ "MISSING_LOCATION_PERMISSION_MESSAGE" = "Vous pouvez accorder cette autorisation dans l’appli Réglages d’iOS."; /* Alert title indicating the user has denied location permissios */ -"MISSING_LOCATION_PERMISSION_TITLE" = "Signal a besoin de connaître votre position pour cette fonction."; +"MISSING_LOCATION_PERMISSION_TITLE" = "Pour cette fonction, Signal doit avoir accès à votre position."; /* Alert body when user has previously denied media library access */ "MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Vous pouvez accorder cette autorisation dans l’appli Réglages d’iOS."; @@ -2124,13 +2130,13 @@ "NEW_GROUP_CREATE_BUTTON" = "Créer"; /* Error indicating that a new group could not be created. */ -"NEW_GROUP_CREATION_FAILED" = "Le nouveau groupe n’a pas pu être créé."; +"NEW_GROUP_CREATION_FAILED" = "Impossible de créer le nouveau groupe."; /* Error indicating that a new group could not be created due to network connectivity problems. */ -"NEW_GROUP_CREATION_FAILED_DUE_TO_NETWORK" = "Le nouveau groupe n’a pas pu être créé. Vérifiez votre connexion à Internet et réessayez."; +"NEW_GROUP_CREATION_FAILED_DUE_TO_NETWORK" = "Impossible de créer le nouveau groupe. Vérifiez votre connexion à Internet et ressayez."; /* Message for error alert indicating that a group name is required. */ -"NEW_GROUP_CREATION_MISSING_NAME_ALERT_MESSAGE" = "Un nom de groupe est obligatoire."; +"NEW_GROUP_CREATION_MISSING_NAME_ALERT_MESSAGE" = "Un nom de groupe est requis."; /* Title for error alert indicating that a group name is required. */ "NEW_GROUP_CREATION_MISSING_NAME_ALERT_TITLE" = "Il manque le nom du groupe"; @@ -2148,7 +2154,7 @@ "NEW_GROUP_NAME_GROUP_VIEW_TITLE" = "Nom du groupe"; /* Placeholder text for group name field */ -"NEW_GROUP_NAMEGROUP_REQUEST_DEFAULT" = "Nommer cette conversation de groupe"; +"NEW_GROUP_NAMEGROUP_REQUEST_DEFAULT" = "Nommez cette conversation de groupe"; /* a title for the selected section of the 'recipient picker' view. */ "NEW_GROUP_NON_CONTACTS_SECTION_TITLE" = "Autres utilisateurs"; @@ -2181,7 +2187,7 @@ "NO_SELECTED_CONVERSATION_TITLE" = "Bienvenue sur Signal"; /* A string prompting the user to send a new mesaage to a user */ -"NON_CONTACT_TABLE_CELL_NEW_MESSAGE" = "Nouveau message pour :"; +"NON_CONTACT_TABLE_CELL_NEW_MESSAGE" = "Nouveau message à :"; /* A string asking the user if they'd like to invite a number to signal via SMS. */ "NON_CONTACT_TABLE_CELL_SEND_SMS" = "Aucun utilisateur n’a été trouvé. Inviter par texto ?"; @@ -2241,10 +2247,10 @@ "ONBOARDING_2FA_INVALID_PIN_SINGLE" = "Le NIP est erroné. Il reste 1 essai."; /* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */ -"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Passer et créer un nouveau NIP"; +"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Ignorer et créer un nouveau NIP"; /* Explanation for the skip pin entry action sheet during onboarding. */ -"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Si vous ne vous souvenez pas de votre NIP, vous pouvez en créer un nouveau. Vous pouvez vous inscrire et utiliser votre compte, mais vous perdrez certains paramètres enregistrés comme les renseignements de votre profil."; +"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Si vous ne vous souvenez pas de votre NIP, vous pouvez en créer un nouveau. Vous pouvez vous inscrire et utiliser votre compte, mais vous perdrez certains paramètres enregistrés tels que les renseignements de votre profil."; /* Title for the skip pin entry action sheet during onboarding. */ "ONBOARDING_2FA_SKIP_PIN_ENTRY_TITLE" = "Ignorer la saisie du NIP ?"; @@ -2274,16 +2280,16 @@ "ONBOARDING_MODE_SWITCH_WARNING_PROVISIONING" = "Inscrire cet iPad désactivera Signal sur tout autre appareil actuellement inscrit avec ce même numéro de téléphone."; /* warning to the user that linking a phone is not recommended */ -"ONBOARDING_MODE_SWITCH_WARNING_REGISTERING" = "Relier votre iPhone n’est pas recommandé et limitera les fonctionnalités de base."; +"ONBOARDING_MODE_SWITCH_WARNING_REGISTERING" = "Il n’est pas recommandé de relier votre iPhone, ce qui limitera les fonctions principales."; /* Label for the 'give access' button in the 'onboarding permissions' view. */ "ONBOARDING_PERMISSIONS_ENABLE_PERMISSIONS_BUTTON" = "Accorder les autorisations"; /* Explanation in the 'onboarding permissions' view. */ -"ONBOARDING_PERMISSIONS_EXPLANATION" = "Les notifications vous permettent de voir quand des messages arrivent et de recevoir des alertes sur l’activité des conversations."; +"ONBOARDING_PERMISSIONS_EXPLANATION" = "Les notifications vous signalent l’arrivée de messages et l’activité des conversations."; /* Title of the 'onboarding permissions' view. */ -"ONBOARDING_PERMISSIONS_TITLE" = "Recevez le message"; +"ONBOARDING_PERMISSIONS_TITLE" = "Obtenir le message"; /* Title of the 'onboarding phone number' view. */ "ONBOARDING_PHONE_NUMBER_TITLE" = "Saisissez votre numéro de téléphone pour commencer"; @@ -2304,16 +2310,16 @@ "ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_REGLOCK_LEARN_MORE" = "En savoir plus sur les comptes verrouillés"; /* Title of the 'onboarding pin attempts exhausted' view when reglock is enabled. */ -"ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_REGLOCK_TITLE" = "Compte verrouillé"; +"ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_REGLOCK_TITLE" = "Le compte est verrouillé"; /* Title of the 'onboarding pin attempts exhausted' view when reglock is disabled. */ "ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_TITLE" = "Le NIP est erroné"; /* Title of the 'onboarding PIN' view. */ -"ONBOARDING_PIN_EXPLANATION" = "Saisissez le NIP que vous avez créé pour votre compte. Il est différent de votre code de vérification reçu par texto."; +"ONBOARDING_PIN_EXPLANATION" = "Saisissez le NIP que vous avez créé pour votre compte. Il est différent de votre code de confirmation reçu par texto."; /* Title of the 'onboarding PIN' view. */ -"ONBOARDING_PIN_TITLE" = "Entrer votre NIP"; +"ONBOARDING_PIN_TITLE" = "Saisissez votre NIP"; /* Link to the 'terms and privacy policy' in the 'onboarding splash' view. */ "ONBOARDING_SPLASH_TERM_AND_PRIVACY_POLICY" = "Conditions générales d’utilisation et politique de confidentialité"; @@ -2388,7 +2394,7 @@ "PDF_VIEW_TITLE" = "PDF"; /* Format for label indicating the a group member has invited 1 other user to the group. Embeds {{ the name of the inviting group member. }}. */ -"PENDING_GROUP_MEMBERS_MEMBER_INVITED_1_USER_FORMAT" = "%@ a invité 1 personne"; +"PENDING_GROUP_MEMBERS_MEMBER_INVITED_1_USER_FORMAT" = "%@ a invité une personne"; /* Format for label indicating the a group member has invited N other users to the group. Embeds {{ %1$@ name of the inviting group member, %2$@ the number of users they have invited. }}. */ "PENDING_GROUP_MEMBERS_MEMBER_INVITED_N_USERS_FORMAT" = "%1$@ a invité %2$@ personnes"; @@ -2403,22 +2409,22 @@ "PENDING_GROUP_MEMBERS_REVOKE_INVITE_CONFIRMATION_TITLE_1_FORMAT" = "Révoquer l’invitation au groupe pour « %@ » ?"; /* Format for title of 'revoke invite' confirmation alert. Embeds {{ %1$@ the number of users they have invited, %2$@ name of the inviting group member. }}. */ -"PENDING_GROUP_MEMBERS_REVOKE_INVITE_CONFIRMATION_TITLE_N_FORMAT" = "Révoquer les %1$@ invitations envoyées par « %2$@ » ?"; +"PENDING_GROUP_MEMBERS_REVOKE_INVITE_CONFIRMATION_TITLE_N_FORMAT" = "Révoquer %1$@ invitations envoyées par « %2$@ » ?"; /* Title of 'revoke invites' button. */ "PENDING_GROUP_MEMBERS_REVOKE_INVITE_N_BUTTON" = "Révoquer les invitations"; /* Footer for the 'invites by other group members' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "Les détails des personnes invitées par d’autres membres du groupe ne sont pas affichés. Si les personnes invitées choisissent de le rejoindre, leurs renseignements seront communiqués au groupe à ce moment-là. Elles ne verront aucun message dans le groupe avant de l’avoir rejoint."; +"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "Les détails des personnes invitées par d’autres membres du groupe ne sont pas affichés. Si les invités choisissent de se joindre au groupe, leurs renseignements seront alors communiqués au groupe. Ils ne verront aucun message dans le groupe avant de s’y être joints."; /* Title for the 'invites by other group members' section of the 'pending group members' view. */ "PENDING_GROUP_MEMBERS_SECTION_TITLE_INVITES_FROM_OTHER_MEMBERS" = "Invitations par d’autres membres du groupe"; /* Title for the 'people you invited' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_TITLE_PEOPLE_YOU_INVITED" = "Les personnes que vous avez invitées"; +"PENDING_GROUP_MEMBERS_SECTION_TITLE_PEOPLE_YOU_INVITED" = "Personnes que vous avez invitées"; /* The title for the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_VIEW_TITLE" = "Les invitations au groupe en attente"; +"PENDING_GROUP_MEMBERS_VIEW_TITLE" = "Invitations au groupe en attente"; /* Label for view-once messages that have invalid content. */ "PER_MESSAGE_EXPIRATION_INVALID_CONTENT" = "Erreur de traitement du message entrant"; @@ -2436,13 +2442,13 @@ "PER_MESSAGE_EXPIRATION_VIDEO_PREVIEW" = "Vidéo éphémère"; /* Label for view-once messages indicating that user can tap to view the message's contents. */ -"PER_MESSAGE_EXPIRATION_VIEW_PHOTO" = "Afficher la photo"; +"PER_MESSAGE_EXPIRATION_VIEW_PHOTO" = "Visualiser la photo"; /* Label for view-once messages indicating that user can tap to view the message's contents. */ -"PER_MESSAGE_EXPIRATION_VIEW_VIDEO" = "Voir la vidéo"; +"PER_MESSAGE_EXPIRATION_VIEW_VIDEO" = "Visualiser la vidéo"; /* Label for view-once messages indicating that the local user has viewed the message's contents. */ -"PER_MESSAGE_EXPIRATION_VIEWED" = "Vu"; +"PER_MESSAGE_EXPIRATION_VIEWED" = "Visualisé"; /* A format for a label showing an example phone number. Embeds {{the example phone number}}. */ "PHONE_NUMBER_EXAMPLE_FORMAT" = "Exemple : %@"; @@ -2496,16 +2502,16 @@ "PHOTO_PICKER_UNNAMED_COLLECTION" = "Album sans nom"; /* Label indicating the user must use at least 4 characters */ -"PIN_CREATION_ALPHANUMERIC_HINT" = "Le NIP doit comporter au moins 4 caractères"; +"PIN_CREATION_ALPHANUMERIC_HINT" = "Le NIP doit comporter au moins quatre caractères"; /* Title of the 'pin creation' recreation view. */ "PIN_CREATION_CHANGING_TITLE" = "Changer votre NIP"; /* Title of the 'pin creation' confirmation view. */ -"PIN_CREATION_CONFIRM_TITLE" = "Confirmez votre NIP"; +"PIN_CREATION_CONFIRM_TITLE" = "Confirmer votre NIP"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Saisissez le NIP que vous venez de créer"; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Créer un NIP alphanumérique"; @@ -2517,16 +2523,16 @@ "PIN_CREATION_ERROR_MESSAGE" = "Votre NIP n’a pas été enregistré. Nous vous proposerons de créer un NIP ultérieurement."; /* Error title indicating that the attempt to create a PIN failed. */ -"PIN_CREATION_ERROR_TITLE" = "Échec de la création du NIP"; +"PIN_CREATION_ERROR_TITLE" = "Échec de création du NIP"; /* The explanation in the 'pin creation' view. */ "PIN_CREATION_EXPLANATION" = "Les NIP font en sorte que les renseignements sont enregistrés chiffrés dans Signal afin que vous seul puissiez y accéder. Votre profil, vos paramètres et vos contacts seront restaurés quand vous réinstallerez Signal."; /* Label indicating that the attempted PIN does not match the first PIN */ -"PIN_CREATION_MISMATCH_ERROR" = "Les NIP ne correspondent pas. Veuillez ressayez."; +"PIN_CREATION_MISMATCH_ERROR" = "Les NIP ne correspondent pas. Veuillez ressayer."; /* Label indicating the user must use at least 4 digits */ -"PIN_CREATION_NUMERIC_HINT" = "Le NIP doit comporter au moins 4 chiffres"; +"PIN_CREATION_NUMERIC_HINT" = "Le NIP doit comporter au moins quatre chiffres"; /* Label indication the user must confirm their PIN. */ "PIN_CREATION_PIN_CONFIRMATION_HINT" = "Saisissez le NIP de nouveau."; @@ -2538,13 +2544,13 @@ "PIN_CREATION_RECREATION_EXPLANATION" = "Vous pouvez modifier votre NIP tant que cet appareil est inscrit."; /* Title of the 'pin creation' recreation view. */ -"PIN_CREATION_RECREATION_TITLE" = "Changer de NIP"; +"PIN_CREATION_RECREATION_TITLE" = "Changer votre NIP"; /* Title of the 'pin creation' view. */ "PIN_CREATION_TITLE" = "Créer votre NIP"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Choisissez une NIP plus robuste"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Pour vous aider à mémoriser votre NIP, nous vous demanderons de le saisir régulièrement. Nous vous le demanderons de moins en moins souvent."; @@ -2556,31 +2562,31 @@ "PIN_REMINDER_MEGAPHONE_ACTION" = "Confirmer le NIP"; /* Body for PIN reminder megaphone */ -"PIN_REMINDER_MEGAPHONE_BODY" = "Nous vous demanderons occasionnellement de confirmer votre NIP afin que vous vous en souveniez."; +"PIN_REMINDER_MEGAPHONE_BODY" = "Nous vous demanderons de temps en temps de confirmer votre NIP afin que vous vous en souveniez."; /* Toast indicating that we'll ask you for your PIN again in 3 days. */ -"PIN_REMINDER_MEGAPHONE_FEW_DAYS_TOAST" = "Nous vous ferons un rappel dans quelques jours."; +"PIN_REMINDER_MEGAPHONE_FEW_DAYS_TOAST" = "Nous vous le rappellerons dans quelques jours."; /* Title for PIN reminder megaphone */ -"PIN_REMINDER_MEGAPHONE_TITLE" = "Confirmez votre NIP Signal"; +"PIN_REMINDER_MEGAPHONE_TITLE" = "Confirmer votre NIP Signal"; /* Toast indicating that we'll ask you for your PIN again tomorrow. */ -"PIN_REMINDER_MEGAPHONE_TOMORROW_TOAST" = "Nous vous ferons un rappel demain."; +"PIN_REMINDER_MEGAPHONE_TOMORROW_TOAST" = "Nous vous le rappellerons demain."; /* Toast indicating that we'll ask you for your PIN again in 2 weeks. */ -"PIN_REMINDER_MEGAPHONE_TWO_WEEK_TOAST" = "Nous vous ferons un rappel dans deux semaines."; +"PIN_REMINDER_MEGAPHONE_TWO_WEEK_TOAST" = "Nous vous le rappellerons dans quelques semaines."; /* Toast indicating that we'll ask you for your PIN again in a week. */ -"PIN_REMINDER_MEGAPHONE_WEEK_TOAST" = "Nous vous ferons un rappel dans une semaine."; +"PIN_REMINDER_MEGAPHONE_WEEK_TOAST" = "Nous vous le rappellerons dans une semaine."; /* Label indicating that the attempted PIN does not match the user's PIN */ -"PIN_REMINDER_MISMATCH_ERROR" = "NIP invalide, essayez encore."; +"PIN_REMINDER_MISMATCH_ERROR" = "Le NIP est invalide, veuillez ressayer."; /* The title for the 'pin reminder' dialog. */ -"PIN_REMINDER_TITLE" = "Saisissez votre NIP Signal"; +"PIN_REMINDER_TITLE" = "Saisir votre NIP Signal"; /* Label indicating that the attempted PIN is too short */ -"PIN_REMINDER_TOO_SHORT_ERROR" = "Le NIP doit comporter au moins 4 chiffres."; +"PIN_REMINDER_TOO_SHORT_ERROR" = "Le NIP doit comporter au moins quatre chiffres."; /* Action text for PIN megaphone when user doesn't have a PIN */ "PINS_MEGAPHONE_ACTION" = "Créer un NIP"; @@ -2595,25 +2601,25 @@ "PINS_MEGAPHONE_TITLE" = "Créer un NIP"; /* Toast indicating that a PIN has been created. */ -"PINS_MEGAPHONE_TOAST" = "NIP créé. Vous pouvez le changer dans les paramètres."; +"PINS_MEGAPHONE_TOAST" = "Le NIP a été créé. Vous pouvez le changer dans les paramètres."; /* Accessibility label for button to start media playback */ "PLAY_BUTTON_ACCESSABILITY_LABEL" = "Jouez le contenu multimédia"; /* Label indicating that the user is not verified. Embeds {{the user's name or phone number}}. */ -"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "Vous n’avez pas marqué %@ comme vérifié."; +"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "Vous n’avez pas marqué %@ comme confirmé."; /* Badge indicating that the user is verified. */ -"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Vérifié"; +"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Confirmé"; /* Label indicating that the user is verified. Embeds {{the user's name or phone number}}. */ -"PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "%@ est vérifié"; +"PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "%@ est confirmé"; /* Button that shows the 'scan with camera' view. */ "PRIVACY_TAP_TO_SCAN" = "Toucher pour balayer"; /* Button that lets user mark another user's identity as unverified. */ -"PRIVACY_UNVERIFY_BUTTON" = "Annuler la vérification"; +"PRIVACY_UNVERIFY_BUTTON" = "Annuler la confirmation"; /* Alert body when verifying with {{contact name}} */ "PRIVACY_VERIFICATION_FAILED_I_HAVE_WRONG_KEY_FOR_THEM" = "Cela ne semble pas être votre numéro de sécurité avec %@. Confirmez-vous le bon contact ?"; @@ -2625,7 +2631,7 @@ "PRIVACY_VERIFICATION_FAILED_NO_SAFETY_NUMBERS_IN_CLIPBOARD" = "Signal n’a pas pu trouver de numéro de sécurité dans votre presse-papiers. L’avez-vous copié correctement ?"; /* Alert body when verifying with {{contact name}} */ -"PRIVACY_VERIFICATION_FAILED_THEY_HAVE_WRONG_KEY_FOR_ME" = "Chaque paire d’utilisateurs de Signal partage un numéro de sécurité distinct. Revérifiez que %@ affiche *votre* numéro de sécurité particulier."; +"PRIVACY_VERIFICATION_FAILED_THEY_HAVE_WRONG_KEY_FOR_ME" = "Chaque paire d’utilisateurs de Signal partage un numéro de sécurité distinct. Reconfirmez que %@ affiche *votre* numéro de sécurité particulier."; /* alert body */ "PRIVACY_VERIFICATION_FAILED_WITH_OLD_LOCAL_VERSION" = "Vous utilisez une ancienne version de Signal. Vous devez la mettre à jour avant de pouvoir confirmer les numéros de sécurité. "; @@ -2637,13 +2643,13 @@ "PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "Le code balayé ne semble pas être un numéro de sécurité. Utilisez-vous tous les deux une version à jour de Signal ?"; /* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */ -"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Si vous souhaitez vérifier la sécurité du chiffrement de bout en bout avec %@, comparez les numéros ci-dessus avec ceux sur son appareil.\n\nVous pouvez aussi balayer le code sur son appareil ou lui demander de balayer le vôtre."; +"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Si vous souhaitez confirmer la sécurité du chiffrement de bout en bout avec %@, comparez les numéros ci-dessus avec ceux sur son appareil.\n\nVous pouvez aussi balayer le code sur son appareil ou lui demander de balayer le vôtre."; /* Navbar title */ "PRIVACY_VERIFICATION_TITLE" = "Confirmer le numéro de sécurité"; /* Button that lets user mark another user's identity as verified. */ -"PRIVACY_VERIFY_BUTTON" = "Marquer comme vérifié"; +"PRIVACY_VERIFY_BUTTON" = "Marquer comme confirmé"; /* No comment provided by engineer. */ "PROCEED_BUTTON" = "Continuer"; @@ -2655,7 +2661,7 @@ "PROFILE_NAME_REMINDER_MEGAPHONE_HAS_NAME_BODY" = "Votre profil peut désormais comporter un nom de famille facultatif."; /* Title for profile name reminder megaphone when user already has a profile name */ -"PROFILE_NAME_REMINDER_MEGAPHONE_HAS_NAME_TITLE" = "Confirmez votre nom de profil"; +"PROFILE_NAME_REMINDER_MEGAPHONE_HAS_NAME_TITLE" = "Confirmer votre nom de profil"; /* Body for profile name reminder megaphone when user doesn't have a profile name */ "PROFILE_NAME_REMINDER_MEGAPHONE_NO_NAME_BODY" = "Il s’affichera quand vous lancerez une nouvelle conversation ou la partagerez."; @@ -2691,7 +2697,7 @@ "PROFILE_VIEW_FAMILY_NAME_FIELD" = "Nom de famille"; /* Default text for the given name field of the profile view. */ -"PROFILE_VIEW_GIVEN_NAME_DEFAULT_TEXT" = "(Obligatoire)"; +"PROFILE_VIEW_GIVEN_NAME_DEFAULT_TEXT" = "(Requis)"; /* Label for the given name field of the profile view. */ "PROFILE_VIEW_GIVEN_NAME_FIELD" = "Prénom"; @@ -2766,7 +2772,7 @@ "REACTION_INCOMING_NOTIFICATION_TO_ALBUM_BODY_FORMAT" = "A réagi avec %@ à votre album"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_AUDIO_BODY_FORMAT" = "A réagi avec %@ à votre son"; +"REACTION_INCOMING_NOTIFICATION_TO_AUDIO_BODY_FORMAT" = "A réagi avec %@ à votre contenu son"; /* notification body. Embeds {{reaction emoji}} */ "REACTION_INCOMING_NOTIFICATION_TO_CONTACT_SHARE_BODY_FORMAT" = "A réagi avec %@ à votre partage de contact"; @@ -2817,7 +2823,7 @@ "REGISTER_2FA_FORGOT_SVR_PIN_WITHOUT_REGLOCK_ALERT_MESSAGE" = "Votre NIP est un code à quatre chiffres ou plus que vous avez créé et qui peut être numérique ou alphanumérique. Si vous avez oublié votre NIP, vous pouvez en créer un nouveau. Vous pouvez vous inscrire et utiliser votre compte, mais vous perdrez certains paramètres enregistrés tels que les renseignements de votre profil."; /* Alert body for a forgotten V1 PIN */ -"REGISTER_2FA_FORGOT_V1_PIN_ALERT_MESSAGE" = "Votre NIP est un code numérique à 4 chiffres ou plus que vous avez créé. Si vous ne vous souvenez pas de votre NIP, vous devrez attendre 7 jours pour réinscrire votre compte."; +"REGISTER_2FA_FORGOT_V1_PIN_ALERT_MESSAGE" = "Votre NIP est un code numérique à quatre chiffres que vous avez créé Si vous avez oublié votre NIP, vous devrez attendre sept jours pour réinscrire votre compte."; /* Alert message explaining what happens if you get your pin wrong and have multiple attempts remaining 'two-factor auth pin' with reglock disabled. */ "REGISTER_2FA_INVALID_PIN_ALERT_MESSAGE_PLURAL_FORMAT" = "Il vous reste %lu essais. Si vous épuisez le nombre limite d’essais, vous pouvez créer un nouveau NIP. Vous pouvez vous inscrire et utiliser votre compte, mais vous perdrez certains paramètres enregistrés tels que les renseignements de votre profil."; @@ -2835,7 +2841,7 @@ "REGISTER_2FA_INVALID_PIN_ALERT_TITLE" = "Le NIP est erroné"; /* Indicates the work we are doing while verifying the user's pin */ -"REGISTER_2FA_PIN_PROGRESS" = "Vérification du NIP…"; +"REGISTER_2FA_PIN_PROGRESS" = "Confirmation du NIP…"; /* Label for 'submit' button in the 2FA registration view. */ "REGISTER_2FA_SUBMIT_BUTTON" = "Envoyer"; @@ -2859,7 +2865,7 @@ "REGISTRATION_DEFAULT_COUNTRY_NAME" = "Code de pays"; /* Placeholder text for the phone number textfield */ -"REGISTRATION_ENTERNUMBER_DEFAULT_TEXT" = "Saisir le numéro"; +"REGISTRATION_ENTERNUMBER_DEFAULT_TEXT" = "Saisissez le numéro"; /* No comment provided by engineer. */ "REGISTRATION_ERROR" = "Erreur d’enregistrement"; @@ -2877,10 +2883,10 @@ "REGISTRATION_RESTRICTED_MESSAGE" = "Vous devez d’abord vous inscrire avant de pouvoir envoyer un message."; /* Alert view title */ -"REGISTRATION_VERIFICATION_FAILED_TITLE" = "Échec de vérification"; +"REGISTRATION_VERIFICATION_FAILED_TITLE" = "Échec de confirmation"; /* Error message indicating that registration failed due to a missing or incorrect verification code. */ -"REGISTRATION_VERIFICATION_FAILED_WRONG_CODE_DESCRIPTION" = "Les numéros que vous avez envoyés ne correspondent pas à ce que nous avons envoyé. Voulez-vous les vérifier ?"; +"REGISTRATION_VERIFICATION_FAILED_WRONG_CODE_DESCRIPTION" = "Les numéros que vous avez envoyés ne correspondent pas à ce que nous avons envoyé. Voulez-vous les confirmer ?"; /* Error message indicating that registration failed due to a missing or incorrect 2FA PIN. */ "REGISTRATION_VERIFICATION_FAILED_WRONG_PIN" = "Le NIP de blocage de l’inscription est erroné."; @@ -2913,7 +2919,7 @@ "REMINDER_2FA_FORGOT_PIN_ALERT_MESSAGE" = "Le blocage de l’inscription aide à protéger votre numéro de téléphone contre les tentatives d’inscription non autorisées. Cette fonction peut être désactivée en tout temps dans vos paramètres de confidentialité de Signal"; /* Navbar title for when user is periodically prompted to enter their registration lock PIN */ -"REMINDER_2FA_NAV_TITLE" = "Saisissez votre NIP de blocage de l’inscription"; +"REMINDER_2FA_NAV_TITLE" = "Saisir votre NIP de blocage de l’inscription"; /* Alert body after wrong guess for 'two-factor auth pin' reminder activity */ "REMINDER_2FA_WRONG_PIN_ALERT_BODY" = "Vous pouvez définir un nouveau NIP dans vos paramètres de confidentialité."; @@ -2922,7 +2928,7 @@ "REMINDER_2FA_WRONG_PIN_ALERT_TITLE" = "Ce n’est pas le bon NIP."; /* The title for the 'replace group admin' view. */ -"REPLACE_ADMIN_VIEW_TITLE" = "Choisir un nouvel admin"; +"REPLACE_ADMIN_VIEW_TITLE" = "Choisir un nouvel administrateur"; /* No comment provided by engineer. */ "REREGISTER_FOR_PUSH" = "Réactiver les notifications poussées"; @@ -2982,37 +2988,37 @@ "SCREEN_LOCK_UNLOCK_SIGNAL" = "Déverrouiller Signal"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_EIGHT" = "Bernadette Cousteau"; +"SCREENSHOT_NAME_CONTACT_EIGHT" = "Laurence Martin"; /* This is a contact's name. Please keep the nick name Ali and change the last name to a popular lastname in your language. This will have male profile photo. */ -"SCREENSHOT_NAME_CONTACT_FIVE" = "Frédéric Deschênes"; +"SCREENSHOT_NAME_CONTACT_FIVE" = "Thomas Latourelle"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This profile photo will be either male or female. Choose a unisex name if possible. */ -"SCREENSHOT_NAME_CONTACT_FOUR" = "Bertrand Allard"; +"SCREENSHOT_NAME_CONTACT_FOUR" = "Dominique Coudert"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. Include two last names if that is represented in your locale. This should be a unique non-public figure's name. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_NINE" = "Mason Dumont"; +"SCREENSHOT_NAME_CONTACT_NINE" = "Avelaine Voisine"; /* This is a contact's name. A male leadership/presidential position + the sound a cat makes. This will have a cat profile photo. */ "SCREENSHOT_NAME_CONTACT_ONE" = "Président Miaou"; /* This is a contact's name. Please keep a similar unisex first name (Kai) if this name isn't common and only post the last initial. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_SEVEN" = "Élisabeth Leroy"; +"SCREENSHOT_NAME_CONTACT_SEVEN" = "Corinne Boucher"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This will have a male profile photo. */ -"SCREENSHOT_NAME_CONTACT_SIX" = "Laurent Marceau"; +"SCREENSHOT_NAME_CONTACT_SIX" = "Bertrand Bureau"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_TEN" = "Éric René"; +"SCREENSHOT_NAME_CONTACT_TEN" = "Erembourg Clavet"; /* This is a contact's name. Please keep a similar nickname for Nikola/Nikita/etc in your language and only post the last initial. This profile photo will be either male or female but mostly female. */ -"SCREENSHOT_NAME_CONTACT_THREE" = "Eloise Petit"; +"SCREENSHOT_NAME_CONTACT_THREE" = "Virginie Chesnay"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This profile photo will be either male or female. */ -"SCREENSHOT_NAME_CONTACT_TWO" = "Fabien Lacasse"; +"SCREENSHOT_NAME_CONTACT_TWO" = "Maxime Trépanier"; /* This is a group chat of family members. Please keep Kirk or replace with a common last name in your locale. Translate 'Family' */ -"SCREENSHOT_NAME_GROUP_FIVE" = "Famille Kirk "; +"SCREENSHOT_NAME_GROUP_FIVE" = "Famille Descoteaux"; /* Please include emoji. This is a group name/channel name for pictures of the sun in the sky. */ "SCREENSHOT_NAME_GROUP_FOUR" = "Couchers de soleil 🌅"; @@ -3021,10 +3027,10 @@ "SCREENSHOT_NAME_GROUP_ONE" = "Club de lecture"; /* This is group chat name for members talking about cats. Please include the emoji. */ -"SCREENSHOT_NAME_GROUP_SIX" = "Tchat de chat 🐈 🐱"; +"SCREENSHOT_NAME_GROUP_SIX" = "Conversation sur les chats 🐈 🐱"; /* Please include emoji. This is a group name for people who climb rocks/climb trees/hike mountains/outside mountaineering. */ -"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️ Les grimpeurs"; +"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️ Grimpeurs"; /* This is for a group chat for people who want weather updates. */ "SCREENSHOT_NAME_GROUP_TWO" = "Prévisions météorologiques"; @@ -3036,31 +3042,31 @@ "SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_ONE" = "Félicitations ! Je n’arrive pas à y croire."; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_THREE" = "A demain ?"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_THREE" = "On se voit demain ?"; /* This is a message. Please include the emoji. */ "SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_TWO" = "Merci ☺️"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_ONE" = "Votre sagesse m’a sauvé."; +"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_ONE" = "Ta sagesse m’a sauvé."; /* This is a message. Include 'Thanks' + a similar phrase with the :) emoji. */ "SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_TWO" = "Merci ! Quel merveilleux message à lire :)"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_ONE" = "La pluie tombe et je suis assise juste à l’écouter."; +"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_ONE" = "Il pleut à torrents et je suis assise là à écouter la pluie tomber."; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_TWO" = "C’est ce que j’ai fait ce matin aussi."; +"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_TWO" = "C’est aussi ce que j’ai fait ce matin."; /* This is a message before a call. */ -"SCREENSHOT_THREAD_DIRECT_SEVEN_MESSAGE_ONE" = "Disponible pour un appel ?"; +"SCREENSHOT_THREAD_DIRECT_SEVEN_MESSAGE_ONE" = "Libre pour un appel ?"; /* This is a message. */ "SCREENSHOT_THREAD_DIRECT_SIX_MESSAGE_ONE" = "Oui !"; /* Replace crepes with similar item that you bake or cook i.e. bread, croissants, naan. */ -"SCREENSHOT_THREAD_DIRECT_THREE_MESSAGE_ONE" = "On fait des crêpes demain"; +"SCREENSHOT_THREAD_DIRECT_THREE_MESSAGE_ONE" = "Demain, on fait des crêpes"; /* This is a message before an image of mountains + a lake. */ "SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_ONE" = "Hé, regarde ça !"; @@ -3072,7 +3078,7 @@ "SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_TWO" = "Incroyable, où es-tu ?"; /* This is a message in the group chat of family members. */ -"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Aujourd’hui c’est ..."; +"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Aujourd’hui, c’est…"; /* This is a message in the group chat of family members. */ "SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_TWO" = "Joyeux anniversaire. joyeux anniversaire !"; @@ -3084,34 +3090,34 @@ "SCREENSHOT_THREAD_GROUP_ONE_FILE_NAME" = "1984.txt"; /* This is for a message in the 'Book Club' group chat */ -"SCREENSHOT_THREAD_GROUP_ONE_MESSAGE_ONE" = "L’avez-vous déjà lu?"; +"SCREENSHOT_THREAD_GROUP_ONE_MESSAGE_ONE" = "L’as-tu déjà lu ?"; /* This is a file name 'Instructions' for the cat chat group. */ "SCREENSHOT_THREAD_GROUP_SIX_FILE_NAME" = "Instructions.PDF"; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FIVE" = "Ceci est le manuel d’instructions."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FIVE" = "C’est le guide d’instructions."; /* This is a message in the cat chat group. */ "SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FOUR" = "Des photos, s’il vous plaît !"; /* This is a message after seeing a picture. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_ONE" = " \n \nC’est paisible."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_ONE" = "C’est paisible."; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_THREE" = "Elle promène un chat en laisse ..."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_THREE" = "Elle promène un chat en laisse…"; /* This is a message. */ "SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_TWO" = "🌅 Bonjour !"; /* This is a message in the 'Rock Climbers' group chat. Please translate to make sense for the translated group name. For example: Which way should we go? */ -"SCREENSHOT_THREAD_GROUP_THREE_MESSAGE_ONE" = "Quel chemin devrions-nous emprunter ?"; +"SCREENSHOT_THREAD_GROUP_THREE_MESSAGE_ONE" = "Quel chemin devrions-nous emprunter ?"; /* This is a message. Please include the emoji if possible. */ "SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "On se voit tous là-bas 🤗"; /* This is a message sent with an attachment. */ -"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Il pleut toute la journée"; +"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Pluie toute la journée"; /* An example name for a user we use in the screenshots. */ "SCREENSHOT_USERNAME_1" = "SCREENSHOT_USERNAME_1"; @@ -3120,10 +3126,10 @@ "SEARCH_BY_NAME_OR_USERNAME_OR_NUMBER_PLACEHOLDER_TEXT" = "Nom, nom d’utilisateur ou numéro"; /* Placeholder text indicating the user can search for contacts by name or phone number. */ -"SEARCH_BYNAMEORNUMBER_PLACEHOLDER_TEXT" = "Recherche par nom ou numéro"; +"SEARCH_BYNAMEORNUMBER_PLACEHOLDER_TEXT" = "Cherchez par nom ou numéro"; /* placeholder text in an empty search field */ -"SEARCH_FIELD_PLACE_HOLDER_TEXT" = "Chercher"; +"SEARCH_FIELD_PLACE_HOLDER_TEXT" = "Cherchez"; /* section header for search results that match a contact who doesn't have an existing conversation */ "SEARCH_SECTION_CONTACTS" = "Autres contacts"; @@ -3147,13 +3153,13 @@ "SECONDARY_LINKING_ERROR_WAITING_FOR_SCAN" = "Échec de liaison de votre appareil"; /* header text when this device is being added as a secondary */ -"SECONDARY_ONBOARDING_CHOOSE_DEVICE_NAME" = "Choisissez un nom pour cet appareil"; +"SECONDARY_ONBOARDING_CHOOSE_DEVICE_NAME" = "Choisir un nom pour cet appareil"; /* label text */ -"SECONDARY_ONBOARDING_CHOOSE_DEVICE_NAME_EXPLANATION" = "Vous verrez ce nom sous « Appareils reliés »."; +"SECONDARY_ONBOARDING_CHOOSE_DEVICE_NAME_EXPLANATION" = "Ce nom apparaîtra sous « Appareils reliés »."; /* text field placeholder */ -"SECONDARY_ONBOARDING_CHOOSE_DEVICE_NAME_PLACEHOLDER" = "Choisir un nom"; +"SECONDARY_ONBOARDING_CHOOSE_DEVICE_NAME_PLACEHOLDER" = "Choisissez un nom"; /* body text while displaying a QR code which, when scanned, will link this device. */ "SECONDARY_ONBOARDING_COMPLETE_LINKING_PROCESS" = "Terminer la liaison"; @@ -3165,7 +3171,7 @@ "SECONDARY_ONBOARDING_GET_STARTED_DO_NOT_HAVE_PRIMARY" = "Je n’ai pas Signal sur mon téléphone…"; /* alert body */ -"SECONDARY_ONBOARDING_INSTALL_PRIMARY_FIRST_BODY" = "Allez dans l’App Store de votre téléphone, installez Signal, complétez la procédure d’inscription, et vous pourrez ensuite relier votre iPad au même compte."; +"SECONDARY_ONBOARDING_INSTALL_PRIMARY_FIRST_BODY" = "Accédez à l’App Store sur votre téléphone, installez Signal, complétez la procédure d’inscription et vous pourrez alors relier votre iPad au même compte."; /* alert title */ "SECONDARY_ONBOARDING_INSTALL_PRIMARY_FIRST_TITLE" = "Installer Signal sur votre téléphone"; @@ -3174,7 +3180,7 @@ "SECONDARY_ONBOARDING_SCAN_CODE_BODY" = "Touchez sur votre image de profil pour accéder aux paramètres de Signal sur votre téléphone, puis « Appareils reliés » et « Relier un nouvel appareil » afin de balayer ce code avec votre téléphone :"; /* Link text for page with troubleshooting info shown on the QR scanning screen */ -"SECONDARY_ONBOARDING_SCAN_CODE_HELP_TEXT" = "Obtenez de l’aide pour relier votre iPad ici"; +"SECONDARY_ONBOARDING_SCAN_CODE_HELP_TEXT" = "Obtenez de l’aide ici pour relier votre iPad"; /* header text while displaying a QR code which, when scanned, will link this device. */ "SECONDARY_ONBOARDING_SCAN_CODE_TITLE" = "Balayer le code QR avec votre téléphone"; @@ -3339,7 +3345,7 @@ "SETTINGS_CLEAR_HISTORY" = "Effacer l’historique des conversations"; /* No comment provided by engineer. */ -"SETTINGS_COPYRIGHT" = "Tous droits réservés Signal Messenger\nSous licence GPLv3"; +"SETTINGS_COPYRIGHT" = "Tous droits réservés Messagerie Signal\nSous licence GPLv3"; /* No comment provided by engineer. */ "SETTINGS_DELETE_ACCOUNT_BUTTON" = "Supprimer le compte"; @@ -3444,13 +3450,13 @@ "SETTINGS_REGISTRATION_LOCK_TURN_ON" = "Activer"; /* Body for the alert confirming that the user wants to turn on registration lock. */ -"SETTINGS_REGISTRATION_LOCK_TURN_ON_MESSAGE" = "Si vous oubliez votre PIN Signal lors de votre nouvelle inscription, Votre compte sera bloqué pendant 7 jour."; +"SETTINGS_REGISTRATION_LOCK_TURN_ON_MESSAGE" = "Si vous oubliez votre NIP Signal lors d’une nouvelle inscription à Signal, vous ne pourrez pas accéder à votre compte pendant sept jours."; /* Title for the alert confirming that the user wants to turn on registration lock. */ "SETTINGS_REGISTRATION_LOCK_TURN_ON_TITLE" = "Activer le blocage de l’inscription ?"; /* Label for re-link button. */ -"SETTINGS_RELINK_BUTTON" = "Relier à nouveau"; +"SETTINGS_RELINK_BUTTON" = "Relier de nouveau"; /* Label for re-registration button. */ "SETTINGS_REREGISTER_BUTTON" = "S’inscrire de nouveau"; @@ -3459,7 +3465,7 @@ "SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Délai de verrouillage de l’écran"; /* Footer for the 'screen lock' section of the privacy settings. */ -"SETTINGS_SCREEN_LOCK_SECTION_FOOTER" = "Déverrouillez l’écran de Signal en utilisant Touch ID, Face ID ou le code de déverrouillage de votre appareil sous iOS. Vous pouvez toujours répondre aux appels entrants et recevoir des notifications d’appels et de messages depuis l’écran verrouillé. Les paramètres de notification de Signal vous permettent de personnaliser les informations affichées."; +"SETTINGS_SCREEN_LOCK_SECTION_FOOTER" = "Déverrouillez l’écran Signal en utilisant Touch ID, Face ID ou le code de votre appareil iOS. Vous pouvez toujours répondre aux appels entrants et recevoir des notifications d’appels ou de messages alors que le verrouillage de l’écran est activé. Les paramètres de notification de Signal vous permettent de personnaliser les renseignements affichés."; /* Title for the 'screen lock' section of the privacy settings. */ "SETTINGS_SCREEN_LOCK_SECTION_TITLE" = "Verrouillage de l’écran"; @@ -3507,7 +3513,7 @@ "SETTINGS_TWO_FACTOR_AUTH_TITLE" = "Blocage de l’inscription"; /* Footer for the 'two factor auth' section of the privacy settings when Signal PINs are available. */ -"SETTINGS_TWO_FACTOR_PINS_AUTH_FOOTER" = "Pour une sécurité accrue, activez le blocage de l’inscription, qui exigera votre NIP Signal pour réinscrire votre numéro de téléphone dans Signal."; +"SETTINGS_TWO_FACTOR_PINS_AUTH_FOOTER" = "Pour une sécurité accrue, activez le blocage de l’inscription, qui exigera votre NIP Signal pour réinscrire votre numéro de téléphone auprès de Signal."; /* Label for the 'typing indicators' setting. */ "SETTINGS_TYPING_INDICATORS" = "Indicateurs de saisie"; @@ -3522,7 +3528,7 @@ "SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Afficher les indicateurs"; /* table section footer */ -"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Afficher une icône d’état quand vous sélectionnez « Plus d’infos » pour les messages qui ont été remis avec l’option « expéditeur scellé »."; +"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Afficher une icône d’état quand vous sélectionnez « Plus de précisions » pour les messages qui ont été remis avec l’option « expéditeur scellé »."; /* switch label */ "SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Autoriser de tous"; @@ -3636,7 +3642,7 @@ "STICKERS_UNINSTALL_BUTTON" = "Désinstaller"; /* Alert body after verifying privacy with {{other user's name}} */ -"SUCCESSFUL_VERIFICATION_DESCRIPTION" = "Votre numéro de sécurité avec %@ correspond. Vous pouvez marquer ce contact comme vérifié."; +"SUCCESSFUL_VERIFICATION_DESCRIPTION" = "Votre numéro de sécurité avec %@ correspond. Vous pouvez marquer ce contact comme confirmé."; /* No comment provided by engineer. */ "SUCCESSFUL_VERIFICATION_TITLE" = "Le numéro de sécurité correspond."; @@ -3648,7 +3654,7 @@ "THREAD_DETAILS_MORE_MUTUAL_GROUP" = "Membre de %@, %@ et %lu autres groupes."; /* Subtitle appearing at the top of the users 'note to self' conversation */ -"THREAD_DETAILS_NOTE_TO_SELF_EXPLANATION" = "Vous pouvez ajouter des notes pour vous-même dans cette conversation. Si votre compte a des appareil reliés, les nouvelles notes seront synchronisées."; +"THREAD_DETAILS_NOTE_TO_SELF_EXPLANATION" = "Vous pouvez ajouter des notes à votre intention dans cette conversation. Si des appareils sont reliés à votre compte, les nouvelles notes seront synchronisées."; /* A string indicating a mutual group the user shares with this contact. Embeds {{mutual group name}} */ "THREAD_DETAILS_ONE_MUTUAL_GROUP" = "Membre de %@"; @@ -3732,7 +3738,7 @@ "UNKNOWN_PROTOCOL_VERSION_UPGRADE_BUTTON" = "Mettre Signal à jour maintenant"; /* Info message recorded in conversation history when local user has received an unknown unknown message from a linked device and has upgraded. */ -"UNKNOWN_PROTOCOL_VERSION_UPGRADE_COMPLETE_FROM_LINKED_DEVICE" = "Mise à jour vers la dernière version de Signal effectuée. Vous pouvez désormais recevoir ce type de message sur votre appareil."; +"UNKNOWN_PROTOCOL_VERSION_UPGRADE_COMPLETE_FROM_LINKED_DEVICE" = "La mise à jour vers la version la plus récente de Signal a été effectuée. Vous pouvez désormais recevoir ce type de message sur votre appareil."; /* Info message recorded in conversation history when local user has received an unknown message and has upgraded. Embeds {{user's name or phone number}}. */ "UNKNOWN_PROTOCOL_VERSION_UPGRADE_COMPLETE_WITH_NAME_FORMAT" = "Vous pouvez demander à %@ de renvoyer ce message, maintenant que vous utilisez une version à jour de Signal."; @@ -3747,7 +3753,7 @@ "UNKNOWN_USER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Les messages éphémères ont été désactivés."; /* Info Message when an unknown user enabled disappearing messages. Embeds {{time amount}} before messages disappear. see the *_TIME_AMOUNT strings for context. */ -"UNKNOWN_USER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "La durée des messages éphémères a été fixée à %@."; +"UNKNOWN_USER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "L’expiration des messages éphémères a été définie à %@."; /* Indicates an unknown or unrecognizable value. */ "UNKNOWN_VALUE" = "Inconnue"; @@ -3762,7 +3768,7 @@ "UNLINK_CONFIRMATION_ALERT_TITLE" = "Annuler le lien avec « %@ » ?"; /* Label warning the user that they have been unlinked from their primary device. */ -"UNLINKED_WARNING" = "Cet appareil n’est plus relié. Veuillez rétablir le lien entre Signal et votre téléphone pour continuer la conversation."; +"UNLINKED_WARNING" = "L’appareil n’est plus relié. Veuillez relier Signal et votre téléphone de nouveau afin de poursuivre l’envoi et la réception de messages."; /* Alert title when unlinking device fails */ "UNLINKING_FAILED_ALERT_TITLE" = "Signal n’a pas pu annuler le lien avec votre appareil."; @@ -3786,10 +3792,10 @@ "UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_TITLE" = "La fonction n’est pas prise en charge"; /* Error indicating that a group could not be updated. */ -"UPDATE_GROUP_FAILED" = "Le groupe n’a pas pu être mis à jour."; +"UPDATE_GROUP_FAILED" = "Impossible de mettre le groupe à jour."; /* Error indicating that a group could not be updated due to network connectivity problems. */ -"UPDATE_GROUP_FAILED_DUE_TO_NETWORK" = "Cette action n’a pas pu aboutir. Vérifiez votre connexion à Internet et réessayez."; +"UPDATE_GROUP_FAILED_DUE_TO_NETWORK" = "Impossible d’achever cette action. Veuillez vérifier votre connexion à Internet et ressayer."; /* Button to start a create pin flow from the one time splash screen that appears after upgrading */ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_CREATE_BUTTON" = "Créer votre NIP"; @@ -3801,10 +3807,10 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Nous présentons les NIP"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Bientôt, Signal exigera iOS 10 ou ultérieure. Veuillez effectuer une mise à niveau dans l’appli Réglage >> Général >> Mise à jour logicielle"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_TITLE" = "Mettez iOS à niveau"; +"UPGRADE_IOS_ALERT_TITLE" = "Mettre iOS à niveau"; /* An explanation of how usernames work on the username view. */ "USERNAME_DESCRIPTION" = "Sur Signal, les noms d’utilisateur sont facultatifs. Si vous choisissez de créer un nom d’utilisateur, les autres utilisateurs de Signal pourront vous trouver avec ce nom d’utilisateur et vous contacter sans connaître votre numéro de téléphone."; @@ -3816,7 +3822,7 @@ "USERNAME_INVALID_CHARACTERS_ERROR" = "Les noms d’utilisateur ne peuvent comprendre que a à z, 0 à 9 et a-z, 0-9 et _."; /* A message indicating that username lookup failed. */ -"USERNAME_LOOKUP_ERROR" = "Une erreur s’est produite lors de la recherche du nom d’utilisateur. Veuillez réessayer ultérieurement."; +"USERNAME_LOOKUP_ERROR" = "Une erreur s’est produite lors de la recherche du nom d’utilisateur. Veuillez ressayer ultérieurement."; /* A message indicating that the given username is not a registered signal account. Embeds {{username}} */ "USERNAME_NOT_FOUND_FORMAT" = "%@ n’est pas un utilisateur de Signal. Assurez-vous d’avoir saisi le nom d’utilisateur en entier."; @@ -3825,7 +3831,7 @@ "USERNAME_NOT_FOUND_TITLE" = "L’utilisateur est introuvable"; /* The placeholder for the username text entry in the username view. */ -"USERNAME_PLACEHOLDER" = "Saisir un nom d’utilisateur"; +"USERNAME_PLACEHOLDER" = "Saisissez un nom d’utilisateur"; /* A prefix appeneded to all usernames when displayed */ "USERNAME_PREFIX" = "@"; @@ -3840,7 +3846,7 @@ "USERNAME_TOO_SHORT_ERROR" = "Les noms d’utilisateur doivent comporter au moins quatre caractères."; /* An error indicating that the supplied username is in use by another user. Embeds {{requested username}}. */ -"USERNAME_UNAVAIALBE_ERROR_FORMAT" = "%@ est pris."; +"USERNAME_UNAVAIALBE_ERROR_FORMAT" = "%@ existe déjà."; /* Error moessage shown when a username update fails. */ "USERNAME_VIEW_ERROR_UPDATE_FAILED" = "Échec de mise à jour du nom d’utilisateur."; @@ -3852,19 +3858,19 @@ "VALIDATION_ERROR_TOO_LONG" = "Le nom de l’appareil est trop long"; /* Format for info message indicating that the verification state was unverified on this device. Embeds {{user's name or phone number}}. */ -"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_LOCAL" = "Vous avez marqué %@ comme non vérifié."; +"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_LOCAL" = "Vous avez marqué %@ comme non confirmé."; /* Format for info message indicating that the verification state was unverified on another device. Embeds {{user's name or phone number}}. */ -"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_OTHER_DEVICE" = "Vous avez marqué %@ comme non vérifié sur un autre appareil."; +"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_OTHER_DEVICE" = "Vous avez marqué %@ comme non confirmé sur un autre appareil."; /* Format for info message indicating that the verification state was verified on this device. Embeds {{user's name or phone number}}. */ -"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_LOCAL" = "Vous avez marqué %@ comme vérifié."; +"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_LOCAL" = "Vous avez marqué %@ comme confirmé."; /* Format for info message indicating that the verification state was verified on another device. Embeds {{user's name or phone number}}. */ -"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_OTHER_DEVICE" = "Vous avez marqué %@ comme vérifié sur un autre périphérique."; +"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_OTHER_DEVICE" = "Vous avez marqué %@ comme confirmé sur un autre périphérique."; /* Generic message indicating that verification state changed for a given user. */ -"VERIFICATION_STATE_CHANGE_GENERIC" = "L’état de vérification a changé."; +"VERIFICATION_STATE_CHANGE_GENERIC" = "L’état de confirmation a changé."; /* Label for button or row which allows users to verify the safety number of another user. */ "VERIFY_PRIVACY" = "Afficher le numéro de sécurité"; @@ -3873,10 +3879,10 @@ "VERIFY_PRIVACY_MULTIPLE" = "Examiner les numéros de sécurité"; /* Toast alert text shown when tapping on a view-once message that has already been viewed. */ -"VIEW_ONCE_ALREADY_VIEWED_TOAST" = "Vous avez déjà vu ce message."; +"VIEW_ONCE_ALREADY_VIEWED_TOAST" = "Vous avez déjà visualisé ce message"; /* Tooltip highlighting the view once messages button. */ -"VIEW_ONCE_MESSAGES_TOOLTIP" = "Touchez ici pour que ce message disparaisse après qu’il a été vu."; +"VIEW_ONCE_MESSAGES_TOOLTIP" = "Touchez ici pour faire disparaître ce message après consultation."; /* Toast alert text shown when tapping on a view-once message that you have sent. */ "VIEW_ONCE_OUTGOING_TOAST" = "Les fichiers multimédias éphémères sortants sont supprimés automatiquement après l’envoi."; @@ -3900,7 +3906,7 @@ "YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Vous avez désactivé les messages éphémères."; /* alert body shown when trying to use features in the app before completing registration-related setup. */ -"YOU_MUST_COMPLETE_ONBOARDING_BEFORE_PROCEEDING" = "Vous devez terminer la configuration pour continuer."; +"YOU_MUST_COMPLETE_ONBOARDING_BEFORE_PROCEEDING" = "Vous devez terminer la configuration avant de poursuivre."; /* Info Message when you disabled disappearing messages. Embeds a {{time amount}} before messages disappear. see the *_TIME_AMOUNT strings for context. */ "YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Vous avez défini l’expiration des messages éphémères à %@."; diff --git a/Signal/translations/gl.lproj/Localizable.strings b/Signal/translations/gl.lproj/Localizable.strings index 041bd3b3c7..1a0c9a4e7a 100644 --- a/Signal/translations/gl.lproj/Localizable.strings +++ b/Signal/translations/gl.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Activar o son"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Cambios sen gardar"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Actualizar iOS"; diff --git a/Signal/translations/he.lproj/Localizable.strings b/Signal/translations/he.lproj/Localizable.strings index 08ef465dcb..b9a73cc585 100644 --- a/Signal/translations/he.lproj/Localizable.strings +++ b/Signal/translations/he.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "בטל השתקה"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "שינויים בלתי שמורים"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "הצג את כל חברי הקבוצה"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "אשר את ה־PIN שלך"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "הכנס את ה־PIN שזה עתה יצרת."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "צור PIN אלפאנומרי"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "צור את ה־PIN שלך"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "בחר PIN חזק יותר"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "כדי לעזור לך לשנן את ה־PIN שלך, נבקש ממך להכניס אותו מעת לעת. נבקש פחות עם הזמן."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "היכרות עם PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal ידרוש בקרוב iOS 10 ומעלה. אנא שדרג דרך יישום הגדרות >> כללי >> עדכוני תוכנה."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "שדרג את iOS"; diff --git a/Signal/translations/hi.lproj/Localizable.strings b/Signal/translations/hi.lproj/Localizable.strings index 13e2df5b13..defcc87c3b 100644 --- a/Signal/translations/hi.lproj/Localizable.strings +++ b/Signal/translations/hi.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "अनम्यूट"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "ना सेव किये गये बदलाव"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "पेश है, पिन"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal को जल्द ही iOS 10 या उससे उपर की ज़रूरत पाङेगी। कृपया सेटिंग्स ऐप >> जनरल >> सॉफ़्टवेर अपडेट अपग्रेड में जा कर अपग्रेड करें।"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS अप्ग्रेड करें "; diff --git a/Signal/translations/hr.lproj/Localizable.strings b/Signal/translations/hr.lproj/Localizable.strings index 74bed23724..b690857fc8 100644 --- a/Signal/translations/hr.lproj/Localizable.strings +++ b/Signal/translations/hr.lproj/Localizable.strings @@ -45,22 +45,22 @@ "ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Dodaj člana"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Dodaj članove"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Dodati člana u \"%2$@\"?"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Dodati %1$@ članova u \"%2$@\"?"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Dodaj novog člana"; /* Title for the 'add group members' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Dodaj nove članove"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Dodaj članove"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Želite li podijeliti svoj profil s ovom grupom?"; @@ -99,13 +99,13 @@ "APP_LAUNCH_FAILURE_ALERT_TITLE" = "Pogreška"; /* Error indicating that the app could not launch because the database could not be loaded. */ -"APP_LAUNCH_FAILURE_COULD_NOT_LOAD_DATABASE" = "Could Not Load Database"; +"APP_LAUNCH_FAILURE_COULD_NOT_LOAD_DATABASE" = "Učitavanje baze nije uspjelo"; /* Error indicating that the app could not launch without reverting unknown database migrations. */ -"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_MESSAGE" = "Please upgrade to the latest version of Signal."; +"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_MESSAGE" = "Molimo nadogradite na posljednju verziju Signala."; /* Error indicating that the app could not launch without reverting unknown database migrations. */ -"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "Unknown Database Version."; +"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "Nepoznata verzija baze."; /* Text prompting user to edit their profile name. */ "APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Unesite svoje ime"; @@ -129,7 +129,7 @@ "APPEARANCE_SETTINGS_LIGHT_THEME_NAME" = "Svijetla"; /* Name indicating that the system theme is enabled. */ -"APPEARANCE_SETTINGS_SYSTEM_THEME_NAME" = "System"; +"APPEARANCE_SETTINGS_SYSTEM_THEME_NAME" = "Sustav"; /* Name of application */ "APPLICATION_NAME" = "Signal"; @@ -150,10 +150,10 @@ "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Opis"; /* Error that outgoing attachments could not be exported. */ -"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "Attachment failed to export."; +"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "Izvoz privitka nije uspio."; /* alert text when Signal was unable to save a copy of the attachment to the system photo library */ -"ATTACHMENT_APPROVAL_FAILED_TO_SAVE" = "Failed to Save"; +"ATTACHMENT_APPROVAL_FAILED_TO_SAVE" = "Spremanje nije uspjelo"; /* Format string for file extension label in call interstitial view */ "ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Vrsta datoteke: %@"; @@ -165,7 +165,7 @@ "ATTACHMENT_APPROVAL_MEDIA_DID_SAVE" = "Spremljeno"; /* Placeholder text indicating who this attachment will be sent to. Embeds: {{recipient name}} */ -"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Message to %@"; +"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Poruka za %@"; /* Label for 'send' button in the 'attachment approval' dialog. */ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Šalji"; @@ -207,7 +207,7 @@ "ATTACHMENT_ERROR_MISSING_DATA" = "Privitak je prazan."; /* Accessibility hint describing what you can do with the attachment button */ -"ATTACHMENT_HINT" = "Choose Media to Send"; +"ATTACHMENT_HINT" = "Odaberite privitke za slanje"; /* A button to open the camera from the Attachment Keyboard */ "ATTACHMENT_KEYBOARD_CAMERA" = "Kamera"; @@ -225,10 +225,10 @@ "ATTACHMENT_KEYBOARD_LOCATION" = "Položaj"; /* A string indicating to the user that they'll be able to send photos from this view once they enable photo access. */ -"ATTACHMENT_KEYBOARD_NO_PHOTO_ACCESS" = "Grant access to your photos in settings to send them here."; +"ATTACHMENT_KEYBOARD_NO_PHOTO_ACCESS" = "Dozvolite pristup Vašim fotografijama kroz postavke kako bi ih mogli slati odavdje."; /* A string indicating to the user that once they take photos, they'll be able to send them from this view. */ -"ATTACHMENT_KEYBOARD_NO_PHOTOS" = "Once you’ve taken photos, you’ll be able to send your recents here."; +"ATTACHMENT_KEYBOARD_NO_PHOTOS" = "Kad slikate nešto, moći će te ih slati odavdje."; /* Accessibility label for attaching photos */ "ATTACHMENT_LABEL" = "Privitak"; @@ -246,7 +246,7 @@ "ATTACHMENT_TYPE_VOICE_MESSAGE" = "Glasovna poruka"; /* A string indicating that an audio message is playing. */ -"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "Audio Message"; +"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "Audio poruka"; /* action sheet button title to enable built in speaker during a call */ "AUDIO_ROUTE_BUILT_IN_SPEAKER" = "Zvučnik"; @@ -333,13 +333,13 @@ "BLOCK_LIST_UNBLOCK_BUTTON" = "Deblokiraj"; /* An explanation of what unblocking a contact means. */ -"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "You will be able to message and call each other."; +"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "Moći će te razmjenjivati poruke i pozive."; /* Action sheet body when confirming you want to unblock a group */ "BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Postojeći članovi moći će vas ponovno dodati u grupu."; /* An explanation of what unblocking a group means. */ -"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "Group members will be able to add you to this group again."; +"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "Članovi grupe će Vas moći opet dodati u ovu grupu."; /* Action sheet title when confirming you want to unblock a group. */ "BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Deblokiraj ovu grupu?"; @@ -381,7 +381,7 @@ "BLOCK_USER_BEHAVIOR_EXPLANATION" = "Blokirani korisnici neće biti u mogućnosti da vas pozovu ili vam pošalju poruku."; /* browse files option from file sharing menu */ -"BROWSE_FILES_BUTTON" = "Browse"; +"BROWSE_FILES_BUTTON" = "Pregledaj"; /* Label for 'continue' button. */ "BUTTON_CONTINUE" = "Nastavi"; @@ -393,7 +393,7 @@ "BUTTON_NEXT" = "Sljedeće"; /* Label for the 'okay' button. */ -"BUTTON_OKAY" = "Okay"; +"BUTTON_OKAY" = "OK"; /* Button text to enable batch selection mode */ "BUTTON_SELECT" = "Odaberi"; @@ -456,10 +456,10 @@ "CALL_VIEW_MUTE_LABEL" = "Nijemo"; /* Reminder to the user of the benefits of enabling CallKit and disabling CallKit privacy. */ -"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "You can enable iOS Call Integration in your Signal privacy settings to answer incoming calls from your lock screen."; +"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "Možete omogućiti iOS integraciju poziva u Signalovima postavkama privatnosti kako bi odgovarali na pozive sa zaključanog ekrana."; /* Reminder to the user of the benefits of disabling CallKit privacy. */ -"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "You can enable iOS Call Integration in your Signal privacy settings to see the name and phone number for incoming calls."; +"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "Možete omogućiti iOS integraciju poziva u Signalovim postavkama privatnosti kako bi vidjeli ime i telefonski broj dolaznih poziva."; /* Label for button that dismiss the call view's settings nag. */ "CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Ne sada"; @@ -468,7 +468,7 @@ "CALL_VIEW_SETTINGS_NAG_SHOW_CALL_SETTINGS" = "Prikaži postavke privatnosti"; /* Accessibility label to toggle front- vs. rear-facing camera */ -"CALL_VIEW_SWITCH_CAMERA_DIRECTION" = "Switch Camera Direction"; +"CALL_VIEW_SWITCH_CAMERA_DIRECTION" = "Promjeni smjer kamere"; /* Accessibility label to switch to audio only */ "CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "Prebaci na audio poziv"; @@ -477,7 +477,7 @@ "CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "Prebaci na video poziv"; /* Label for the 'return to call' banner. */ -"CALL_WINDOW_RETURN_TO_CALL" = "Touch to return to call"; +"CALL_WINDOW_RETURN_TO_CALL" = "Dodirnite za povratak na poziv"; /* notification action */ "CALLBACK_BUTTON_TITLE" = "Povratni poziv"; @@ -486,7 +486,7 @@ "CALLKIT_ANONYMOUS_CONTACT_NAME" = "Signal Korisnik"; /* Accessibility hint describing what you can do with the camera button */ -"CAMERA_BUTTON_HINT" = "Take a picture and then send it"; +"CAMERA_BUTTON_HINT" = "Slikajte nešto i pošaljite to"; /* Accessibility label for camera button. */ "CAMERA_BUTTON_LABEL" = "Kamera"; @@ -501,10 +501,10 @@ "CENSORSHIP_CIRCUMVENTION_COUNTRY_VIEW_TITLE" = "Odaberi državu"; /* The label for the 'do not restore backup' button. */ -"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Do Not Restore"; +"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Ne oporavljaj"; /* Message for alert shown when the app failed to check for an existing backup. */ -"CHECK_FOR_BACKUP_FAILED_MESSAGE" = "Could not determine whether there is a backup that can be restored."; +"CHECK_FOR_BACKUP_FAILED_MESSAGE" = "Utvrđivanje postojanja sigurnosne kopije koaj se može oporaviti nije uspjelo."; /* Title for alert shown when the app failed to check for an existing backup. */ "CHECK_FOR_BACKUP_FAILED_TITLE" = "Pogreška"; @@ -513,19 +513,19 @@ "CHECK_FOR_BACKUP_RESTORE" = "Vrati"; /* Error indicating that the app could not determine that user's iCloud account status */ -"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal could not determine your iCloud account status. Sign in to your iCloud Account in the iOS settings app to backup your Signal data."; +"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal nije mogao utvrditi status Vašeg iCloud računa. Kako bi stvorili sigurnosnu kopiju svojih Signal podataka, prijavite se na svoj iCloud račun kroz aplikaciju iOS postavki."; /* Error indicating that user does not have an iCloud account. */ -"CLOUDKIT_STATUS_NO_ACCOUNT" = "No iCloud Account. Sign in to your iCloud Account in the iOS settings app to backup your Signal data."; +"CLOUDKIT_STATUS_NO_ACCOUNT" = "Nema iCloud računa. Kako bi stvorili sigurnosnu kopiju svojih Signal podataka, prijavite se na svoj iCloud račun kroz aplikaciju iOS postavki."; /* Error indicating that the app was prevented from accessing the user's iCloud account. */ -"CLOUDKIT_STATUS_RESTRICTED" = "Signal was denied access your iCloud account for backups. Grant Signal access to your iCloud Account in the iOS settings app to backup your Signal data."; +"CLOUDKIT_STATUS_RESTRICTED" = "Signalu je odbijen pristup Vašem iCloud računu za sigurnosne kopije. Odobrite Signalu pristup svom iCloud računu kako bi stvorili sigurnosnu kopiju svojih Signal podataka."; /* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */ -"COLOR_PICKER_DEMO_MESSAGE_1" = "Choose the color of outgoing messages in this conversation."; +"COLOR_PICKER_DEMO_MESSAGE_1" = "Odaberite boju odlaznih poruka za ovaj razgovor."; /* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */ -"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose."; +"COLOR_PICKER_DEMO_MESSAGE_2" = "Samo Vi vidite odabranu boju."; /* Modal Sheet title when picking a conversation color. */ "COLOR_PICKER_SHEET_TITLE" = "Boja razgovora"; @@ -534,10 +534,10 @@ "COMPARE_SAFETY_NUMBER_ACTION" = "Uporedi sa međuspremnikom"; /* Accessibility hint describing what you can do with the compose button */ -"COMPOSE_BUTTON_HINT" = "Select or search for a Signal user to start a conversation with."; +"COMPOSE_BUTTON_HINT" = "Odaberite ili potražite Signal korisnika kako bi započeli razgovor."; /* Accessibility label from compose button. */ -"COMPOSE_BUTTON_LABEL" = "Compose"; +"COMPOSE_BUTTON_LABEL" = "Sastavi"; /* Table section header for contact listing when composing a new message */ "COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "Kontakti"; @@ -546,25 +546,25 @@ "COMPOSE_MESSAGE_GROUP_SECTION_TITLE" = "Grupe"; /* Table section header for phone number search when composing a new message */ -"COMPOSE_MESSAGE_PHONE_NUMBER_SEARCH_SECTION_TITLE" = "Phone number search"; +"COMPOSE_MESSAGE_PHONE_NUMBER_SEARCH_SECTION_TITLE" = "Pretraga po broju"; /* Table section header for username search when composing a new message */ -"COMPOSE_MESSAGE_USERNAME_SEARCH_SECTION_TITLE" = "Username search"; +"COMPOSE_MESSAGE_USERNAME_SEARCH_SECTION_TITLE" = "Pretraga po korisničkom imenu"; /* Multi-line label explaining why compose-screen contact picker is empty. */ -"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users."; +"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Možete omogućiti pristup kontaktima u iOS postavkama kako bi vidjeli tko od Vaših kontakta koristi Signal."; /* No comment provided by engineer. */ -"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete."; +"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Ovo će ponovno postaviti aplikaciju brisanjem Vaših poruka i odjavljivanjem sa poslužitelja. Aplikacija će se zatvoriti kad ovaj proces završi."; /* No comment provided by engineer. */ "CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Da li ste sigurni da želite obrisati vaš račun?"; /* No comment provided by engineer. */ -"CONFIRM_DELETE_LINKED_DATA_TEXT" = "This will reset the application by deleting all of your messages from this device. You can always link with your phone again, but that will not restore deleted messages. The app will close after this process is complete."; +"CONFIRM_DELETE_LINKED_DATA_TEXT" = "Ovo će ponovno postaviti aplikaciju brisanjem svih Vaših poruka sa uređaja. Uvijek se možete ponovno povezati sa svojim telefonom, no to neće vratiti obrisane poruke. Aplikacija će se zatvoriti kad ovaj proces završi."; /* No comment provided by engineer. */ -"CONFIRM_DELETE_LINKED_DATA_TITLE" = "Are you sure you want to delete all data?"; +"CONFIRM_DELETE_LINKED_DATA_TITLE" = "Jeste li sigurni da želite obrisati sve podatke?"; /* Alert body */ "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Nećete više biti u mogućnosti slati i primati poruke u ovoj grupi."; @@ -660,31 +660,31 @@ "CONTACT_SHARE_EDIT_NAME_VIEW_TITLE" = "Uredi ime"; /* Error indicating that an invalid contact cannot be shared. */ -"CONTACT_SHARE_INVALID_CONTACT" = "Invalid contact."; +"CONTACT_SHARE_INVALID_CONTACT" = "Neispravan kontakt."; /* Error indicating that at least one contact field must be selected before sharing a contact. */ -"CONTACT_SHARE_NO_FIELDS_SELECTED" = "No contact fields selected."; +"CONTACT_SHARE_NO_FIELDS_SELECTED" = "Nisu odabrana kontakt polja."; /* Button text to initiate an email to signal support staff */ -"CONTACT_SUPPORT" = "Contact Support"; +"CONTACT_SUPPORT" = "Javite se podršci"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal was unable to complete your support request."; +"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal nije uspio završiti Vaš zahtjev za podrškom."; /* button text */ "CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "Pokušaj ponovo"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional."; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Zapisi o otklanjanju pogreški će nam pomoći da brže riješimo Vaš problem. Slanje ovih zapisa je opcionalno."; /* Alert title */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Submit Debug Log?"; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Pošalji zapis o otklanjanju pogreški?"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Submit with Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Pošalji sa zapisom"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Submit without Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Pošalji bez zapisa"; /* Label for 'open address in maps app' button in contact view. */ "CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Otvori u Mapama"; @@ -696,16 +696,16 @@ "CONTACT_WITHOUT_NAME" = "Neimenovan kontakt"; /* Message for the 'conversation delete confirmation' alert. */ -"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This conversation will be deleted from this device."; +"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Ovaj razgovor će biti obrisan sa ovog uređaja."; /* Title for the 'conversation delete confirmation' alert. */ -"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Delete Conversation?"; +"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Obriši razgovor?"; /* Indicates that the user can tap to download this image. */ "CONVERSATION_MEDIA_VIEW_DOWNLOAD_IMAGE" = "Preuzmi"; /* Momentarily shown to the user when attempting to select more conversations than is allowed. Embeds {{max number of conversations}} that can be selected. */ -"CONVERSATION_PICKER_CAN_SELECT_NO_MORE_CONVERSATIONS" = "You can't select more than %@ conversations."; +"CONVERSATION_PICKER_CAN_SELECT_NO_MORE_CONVERSATIONS" = "Ne možete odabrati više od %@ razgovora."; /* table section header for section containing groups */ "CONVERSATION_PICKER_SECTION_GROUPS" = "Grupe"; @@ -714,19 +714,19 @@ "CONVERSATION_PICKER_SECTION_RECENTS" = "Nedavni razgovori"; /* table section header for section containing contacts */ -"CONVERSATION_PICKER_SECTION_SIGNAL_CONTACTS" = "People"; +"CONVERSATION_PICKER_SECTION_SIGNAL_CONTACTS" = "Ljudi"; /* navbar header */ -"CONVERSATION_PICKER_TITLE" = "Choose Recipients"; +"CONVERSATION_PICKER_TITLE" = "Odaberite primatelje"; /* keyboard toolbar label when no messages match the search string */ -"CONVERSATION_SEARCH_NO_RESULTS" = "No matches"; +"CONVERSATION_SEARCH_NO_RESULTS" = "Nema podudaranja"; /* keyboard toolbar label when exactly 1 message matches the search string */ -"CONVERSATION_SEARCH_ONE_RESULT" = "1 match"; +"CONVERSATION_SEARCH_ONE_RESULT" = "1 podudaranje"; /* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ -"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d of %d matches"; +"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d podudaranja od %d "; /* title for conversation settings screen */ "CONVERSATION_SETTINGS" = "Postavke razgovora"; @@ -738,22 +738,22 @@ "CONVERSATION_SETTINGS_ADD_TO_EXISTING_CONTACT" = "Dodaj postojećem kontaktu"; /* button in conversation settings view. */ -"CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "Add to System Contacts"; +"CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "Dodaj u kontakte sustava"; /* Label indicating that only administrators can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admins"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Administratori"; /* Label indicating that all group members can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "All"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "Svi"; /* Footer for the 'attributes access' section in conversation settings view. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Choose who can edit the group name, avatar and disappearing messages timer."; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Odaberite tko može urediti ime grupe, avatar i timer za nestajanje poruka."; /* Footer text for the 'block and leave' section of conversation settings view. */ "CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "Više nećete primati poruke ili ažuriranja iz ove grupe."; /* Label for 'block group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Block Group"; +"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Blokiraj grupu"; /* table cell label in conversation settings */ "CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Blokiraj ovu grupu"; @@ -762,7 +762,7 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Blokiraj ovog korisnika"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "Blokiraj korisnika"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Detalji kontakta"; @@ -771,16 +771,16 @@ "CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Boja razgovora"; /* Label for 'edit attributes access' action in conversation settings view. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Who Can Edit Group Info"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Tko može urediti informacije o grupi"; /* Label for button that sets 'group attributes access' to 'administrators-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Only Admins"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Samo administratori"; /* Description for the 'edit group attributes access' alert. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Odaberite tko može promjeniti ime grupe, avatara i nestajanje poruka:"; /* Label for button that sets 'group attributes access' to 'members-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "All Members"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "Svi članovi"; /* Label for the 'edit group' button in conversation settings view. */ "CONVERSATION_SETTINGS_EDIT_GROUP" = "Uredi"; @@ -789,16 +789,16 @@ "CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informacije o grupi"; /* Label for 'make group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Make Admin"; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Pretvori u administratora"; /* Format for title for 'make group admin' confirmation alert. Embeds {user to make an admin}. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ will be able to remove group members and make other admins."; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@će moći ukloniti članove grupe i stvoriti druge administratore."; /* Section title of the 'members' section in conversation settings view. */ "CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE" = "Članovi"; /* Format for the section title of the 'members' section in conversation settings view. Embeds: {{ the number of group members }}. */ -"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Members"; +"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ članova"; /* Title of the 'mute this thread' action sheet. */ "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Utišaj"; @@ -834,37 +834,43 @@ "CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "Nijedno"; /* Label for 'remove from group' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Remove From Group"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Ukloni iz grupe"; /* Format for title for 'remove from group' confirmation alert. Embeds {user to remove from the group}. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Remove %@ from the group?"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Ukloniti %@ iz grupe?"; /* Label for 'revoke group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Remove as Admin"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Ukloni administratorska prava"; /* Format for title for 'revoke group admin' confirmation alert. Embeds {user to revoke admin status from}. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Remove %@ as group admin?"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Ukloniti administratorska prava za %@?"; /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ -"CONVERSATION_SETTINGS_SEARCH" = "Search Conversation"; +"CONVERSATION_SETTINGS_SEARCH" = "Pretraži razgovor"; /* Label for button that opens conversation settings. */ "CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Dodirni za promjenu"; /* Label for 'unblock group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; +"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Odblokiraj grupu"; /* Label for 'unblock user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Unblock User"; +"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Odblokiraj koisnika"; /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Isključi utišavanje"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Nespremljene promjene"; + /* Label for 'view all members' button in conversation settings view. */ -"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; +"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Vidi sve članove"; /* Indicates that user is in the system contacts list. */ -"CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "This user is in your contacts"; +"CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "Ovaj korisnik je u Vašim kontaktima"; /* Indicates that user's profile has been shared with a group. */ "CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_GROUP" = "Ova grupa može vidjeti vaš profil."; @@ -891,7 +897,7 @@ "CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Ovaj korisnik nije u vašim kontaktima."; /* button text to delete all items in the current conversation */ -"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Delete All"; +"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Obriši sve"; /* Indicates that the app is loading more messages in this conversation. */ "CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Učitavanje više poruka..."; @@ -918,10 +924,10 @@ "DATABASE_VIEW_OVERLAY_TITLE" = "Optimizacija baze podataka"; /* Format string for a relative time, expressed as a certain number of hours in the past. Embeds {{The number of hours}}. */ -"DATE_HOURS_AGO_FORMAT" = "%@ Hr Ago"; +"DATE_HOURS_AGO_FORMAT" = "Prije %@ sati"; /* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */ -"DATE_MINUTES_AGO_FORMAT" = "%@ Min Ago"; +"DATE_MINUTES_AGO_FORMAT" = "Prije %@ minuta"; /* The present; the current time. */ "DATE_NOW" = "Sada"; @@ -966,7 +972,7 @@ "DEBUG_LOG_ALERT_TITLE" = "Još jedan korak"; /* Error indicating that the app could not launch the Email app. */ -"DEBUG_LOG_COULD_NOT_EMAIL" = "Could not open Email app."; +"DEBUG_LOG_COULD_NOT_EMAIL" = "Otvaranje email aplikacije nije uspjelo."; /* Message of the alert before redirecting to GitHub Issues. */ "DEBUG_LOG_GITHUB_ISSUE_ALERT_MESSAGE" = "U vaš međuspremnik je kopirana gist veza. Uskoro ćete biti preusmjereni GitHub listu problema.."; @@ -975,22 +981,22 @@ "DEBUG_LOG_GITHUB_ISSUE_ALERT_TITLE" = "Preusmjeravanje na GitHub"; /* action sheet body */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Delete all messages in the conversation?"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Obrisati sve poruke u ovom razgovoru?"; /* button text */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Delete All Messages"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Obriši sve poruke"; /* action sheet body. Embeds {{number of selected messages}} which will be deleted. */ "DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete %ld Messages?"; /* action sheet body */ -"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete Message?"; +"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Obrisati poruku?"; /* Label for button that lets users re-register using the same phone number. */ -"DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Re-register this phone number"; +"DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Ponovno registriraj ovaj telefonski broj"; /* Label warning the user that they have been de-registered. */ -"DEREGISTRATION_WARNING" = "Device no longer registered. Your phone number may be registered with Signal on a different device. Tap to re-register."; +"DEREGISTRATION_WARNING" = "Uređaj više nije registriran. Vaš telefonski broj se može registrirati sa Signalom na drugom uređaju. Dodirnite za ponovnu registraciju."; /* {{Short Date}} when device last communicated with Signal Server. */ "DEVICE_LAST_ACTIVE_AT_LABEL" = "Posljednja aktivnost: %@"; @@ -1005,7 +1011,7 @@ "DISAPPEARING_MESSAGES" = "Nestajuće poruke"; /* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear. See the *_TIME_AMOUNT strings for context. */ -"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Messages in this conversation will disappear after %@."; +"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Poruke u ovom razgovoru će nestati nakon %@."; /* subheading in conversation settings */ "DISAPPEARING_MESSAGES_DESCRIPTION" = "Kada je aktivirano, poslane i primljene poruke u ovom razgovoru će same nestajati nakon što budu viđene."; @@ -1023,7 +1029,7 @@ "DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Lokacija obilaska cenzure"; /* Alert body for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */ -"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "You can enable access in the iOS Settings app."; +"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "Možete omogućiti pristup u iOS postavkama."; /* Alert title for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */ "EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_TITLE" = "Signal zahtijeva pristup kontaktima za uređivanje kontakt informacija"; @@ -1032,7 +1038,7 @@ "EDIT_GROUP_ACTION" = "Uredi grupu"; /* The 'clear avatar' button in the 'edit group' view. */ -"EDIT_GROUP_CLEAR_AVATAR" = "Remove Avatar"; +"EDIT_GROUP_CLEAR_AVATAR" = "Ukloni avatara"; /* a title for the contacts section of the 'new/update group' view. */ "EDIT_GROUP_CONTACTS_SECTION_TITLE" = "Kontakti"; @@ -1041,16 +1047,16 @@ "EDIT_GROUP_DEFAULT_TITLE" = "Uredi grupu"; /* Error message indicating the a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "This user can't be added to the group until they upgrade Signal."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "Ovaj korisnik ne može biti dodan u grupu dok ne ažurira Signal."; /* Message for 'group full' error alert when a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Maximum group size of 100 members reached."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Dosegnuta maksimalna veličina grupe od 100 članova."; /* Error message indicating that an avatar image is invalid and cannot be used. */ -"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Invalid avatar."; +"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Neispravan avatar."; /* Label for the group name in the 'edit group' view. */ -"EDIT_GROUP_GROUP_NAME" = "Group Name"; +"EDIT_GROUP_GROUP_NAME" = "Ime grupe"; /* An indicator that a user is a new member of the group. */ "EDIT_GROUP_NEW_MEMBER_LABEL" = "Dodano"; @@ -1059,7 +1065,7 @@ "EDIT_GROUP_UPDATE_BUTTON" = "Ažuriraj"; /* The alert message if user tries to exit update group view without saving changes. */ -"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this group?"; +"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Želite li spremiti promjene koje ste napravili na ovoj grupi?"; /* The alert title if user tries to exit update group view without saving changes. */ "EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Nespremljene promjene"; @@ -1101,10 +1107,10 @@ "ENABLE_2FA_VIEW_PIN_DOES_NOT_MATCH" = "PIN se ne podudara."; /* Error indicating that the entered 'two-factor auth PIN' is too long. */ -"ENABLE_2FA_VIEW_PIN_TOO_LONG" = "PIN can be no longer than 20 digits."; +"ENABLE_2FA_VIEW_PIN_TOO_LONG" = "PIN ne može biti dulji od 20 znamenki."; /* Error indicating that the entered 'two-factor auth PIN' is too short. */ -"ENABLE_2FA_VIEW_PIN_TOO_SHORT" = "PIN must be at least 4 digits."; +"ENABLE_2FA_VIEW_PIN_TOO_SHORT" = "PIN mora biti najmanje 4 znamenke."; /* Indicates that user should select a 'two factor auth pin'. */ "ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Unesite PIN registracijskog zaključavanja. Od vas će se tražiti da unesete ovaj PIN kada sljedeći put registrirujete ovaj telefonski broj na Signal."; @@ -1125,40 +1131,40 @@ "END_CALL_UNCATEGORIZED_FAILURE" = "Neuspjeli poziv."; /* Label indicating that this OS version is no longer supported. */ -"END_OF_LIFE_OS_WARNING" = "The latest Signal features won’t work on this version of iOS. Please upgrade this device to receive future Signal updates."; +"END_OF_LIFE_OS_WARNING" = "Najnovije značajke Signala neće raditi na ovoj verziji iOS-a. Molimo ažurirajte ovaj uređaj kako bi nastavili dobivati ažuriranja za Signal."; /* Error indicating that the phone's contacts could not be retrieved. */ -"ERROR_COULD_NOT_FETCH_CONTACTS" = "Could not access contacts."; +"ERROR_COULD_NOT_FETCH_CONTACTS" = "Pristup kontaktima nije uspio."; /* Error indicating that 'save video' failed. */ -"ERROR_COULD_NOT_SAVE_VIDEO" = "Could not save video."; +"ERROR_COULD_NOT_SAVE_VIDEO" = "Spremanje videa nije uspjelo."; /* Generic notice when message failed to send. */ "ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Slanje poruke nije uspjelo!"; /* Error message indicating that message send is disabled due to prekey update failures */ -"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Unable to send due to stale prekey data."; +"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Slanje nije uspjelo zbog zastarjelih podataka predključa."; /* Error message indicating that message send failed due to block list */ "ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Neuspješno slanje poruke korisniku jer ste ga blokirali."; /* Generic error used whenever Signal can't contact the server */ -"ERROR_DESCRIPTION_NO_INTERNET" = "Signal was unable to connect to the internet. Please try again."; +"ERROR_DESCRIPTION_NO_INTERNET" = "Signal se nije uspio spojiti na internet. Molimo pokušajte opet."; /* Error indicating that an outgoing message had no valid recipients. */ "ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Slanje poruke nije uspjelo zbog nedostatka valjanih primatelja."; /* Error indicating that a socket request failed. */ -"ERROR_DESCRIPTION_REQUEST_FAILED" = "Network request failed."; +"ERROR_DESCRIPTION_REQUEST_FAILED" = "Mrežni zahtjev nije uspio."; /* Error indicating that a socket request timed out. */ -"ERROR_DESCRIPTION_REQUEST_TIMED_OUT" = "Network request timed out."; +"ERROR_DESCRIPTION_REQUEST_TIMED_OUT" = "Mrežni zahtjev je istekao."; /* Error indicating that a socket response failed. */ -"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Invalid response from service."; +"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Neispravan odgovor od usluge."; /* Error message when attempting to send message */ -"ERROR_DESCRIPTION_SENDING_UNAUTHORIZED" = "This device is no longer registered with your phone number. Please reinstall Signal."; +"ERROR_DESCRIPTION_SENDING_UNAUTHORIZED" = "Ovaj uređaj više nije registriran s Vašim telefonskim brojem. Molimo ponovno instalirajte Signal."; /* Generic server error */ "ERROR_DESCRIPTION_SERVER_FAILURE" = "Pogreška servera. Molimo pokušajte kasnije ponovo."; @@ -1170,22 +1176,22 @@ "ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Kontakt ne koristi Signal."; /* Error message indicating that attachment download(s) failed. */ -"ERROR_MESSAGE_ATTACHMENT_DOWNLOAD_FAILED" = "Attachment download failed."; +"ERROR_MESSAGE_ATTACHMENT_DOWNLOAD_FAILED" = "Preuzimanje privitka nije uspjelo."; /* Error message when unable to receive an attachment because the sending client is too old. */ -"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal."; +"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Greška privitka: Zamolite ovaj kontakt da ponovno pošalje poruku nakon što ažurira svoj Signal na posljednju verziju."; /* No comment provided by engineer. */ -"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message."; +"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Primljena dupla poruka."; /* No comment provided by engineer. */ "ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Ključ primaoca nije validan."; /* No comment provided by engineer. */ -"ERROR_MESSAGE_INVALID_MESSAGE" = "Received message was out of sync."; +"ERROR_MESSAGE_INVALID_MESSAGE" = "Primljena poruka nije sinkronizirana."; /* No comment provided by engineer. */ -"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version."; +"ERROR_MESSAGE_INVALID_VERSION" = "Primljena poruka nije kompatibilna s ovom verzijom."; /* No comment provided by engineer. */ "ERROR_MESSAGE_NO_SESSION" = "Nema raspoloživih sesija za kontakt."; @@ -1203,22 +1209,22 @@ "ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "Sigurnosni broj promijenjen."; /* Error indicating network connectivity problems. */ -"ERROR_NETWORK_FAILURE" = "Network Error"; +"ERROR_NETWORK_FAILURE" = "Mrežna greška"; /* Error indicating a send failure due to a delinked application. */ -"ERROR_SENDING_DELINKED" = "Your device is no longer linked. Please re-link to send further messages."; +"ERROR_SENDING_DELINKED" = "Vaš uređaj više nije povezan. Molimo ponovno ga povežite kako bi nastavili slati poruke."; /* Error indicating a send failure due to a deregistered application. */ -"ERROR_SENDING_DEREGISTERED" = "Your device is no longer registered. Please re-register to send further messages."; +"ERROR_SENDING_DEREGISTERED" = "Vaš uređaj više nije registriran. Molimo ponovno ga registrirajte kako bi nastavili slati poruke."; /* Error indicating a send failure due to an expired application. */ -"ERROR_SENDING_EXPIRED" = "Your version of Signal has expired. Please update to send further messages."; +"ERROR_SENDING_EXPIRED" = "Vaša verzija SIgnala je zastarjela. Molimo ažurirajte ju kako bi nastavili slati poruke."; /* Format string for 'unregistered user' error. Embeds {{the unregistered user's name or signal id}}. */ -"ERROR_UNREGISTERED_USER_FORMAT" = "Unregistered User: %@"; +"ERROR_UNREGISTERED_USER_FORMAT" = "Neregistrirani korisnik: %@"; /* Label notifying the user that the app has expired. */ -"EXPIRATION_ERROR" = "Your version of Signal has expired! Messages will no longer send successfully. Tap to update to the most recent version."; +"EXPIRATION_ERROR" = "Vaša verzija Signala je zastarjela! Poruke neće biti uspješno poslane. Dodirnite kako bi ažurirali na najnoviju verziju."; /* Label warning the user that the app will expire soon. */ "EXPIRATION_WARNING_SOON" = "Vaša verzija Signal-a ističe za %d dana. Dodirnite za ažuriranje najnovije verzije."; @@ -1227,10 +1233,10 @@ "EXPIRATION_WARNING_TODAY" = "Vaša će verzija Signala isteći danas. Dodirnite za ažuriranje na najnoviju inačicu."; /* action sheet header when re-sending message which failed because of too many attempts */ -"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Too many failures with this contact. Please try again later."; +"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Previše neuspjelih pokušaja s ovim kontaktom. Pokušajte opet kasnije."; /* action sheet header when re-sending message which failed because of untrusted identity keys */ -"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Your safety number with %@ has recently changed. You may wish to verify before sending this message again."; +"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Vaš sigurnosni broj s %@ se nedavno promjenio. Možda bi htjeli verificirati ovu promjenu prije nego opet pošaljete poruku."; /* alert title */ "FAILED_VERIFICATION_TITLE" = "Provjera sigurnosnog broja nije uspjela!"; @@ -1245,19 +1251,19 @@ "FINISH_GROUP_CREATION_LABEL" = "Završi kreiranje grupe"; /* Label and title for 'contact forwarding' views. */ -"FORWARD_CONTACT" = "Forward Contact"; +"FORWARD_CONTACT" = "Proslijedi kontakt"; /* Label and title for 'message forwarding' views. */ -"FORWARD_MESSAGE" = "Forward Message"; +"FORWARD_MESSAGE" = "Proslijedi poruku"; /* Label indicating media gallery is empty */ "GALLERY_TILES_EMPTY_GALLERY" = "U ovom razgovoru nemate medija."; /* Label indicating loading is in progress */ -"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…"; +"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Učitavam noviju mediju..."; /* Label indicating loading is in progress */ -"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…"; +"GALLERY_TILES_LOADING_OLDER_LABEL" = "Učitavam stariju mediju..."; /* A label for generic attachments. */ "GENERIC_ATTACHMENT_LABEL" = "Privitak"; @@ -1287,133 +1293,133 @@ "GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Unesite pretragu"; /* Body message of notification shown during GRDB migration indicating that user may need to open app to view their content. */ -"GRDB_MIGRATION_NOTIFICATION_BODY" = "This version of Signal includes database optimizations and performance improvements. You may need to open the app to complete the process."; +"GRDB_MIGRATION_NOTIFICATION_BODY" = "Ova verzija Signala uključuje optimizacije baze podataka i poboljšanja performansi. Možda će te morati otvoriti aplikaciju kako bi dovršili ovaj proces."; /* Title of notification shown during GRDB migration indicating that user may need to open app to view their content. */ "GRDB_MIGRATION_NOTIFICATION_TITLE" = "Optimizacija baze podataka"; /* Message indicating that the access to the group's attributes was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group info to “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "Promjenili ste tko sve može uređivati informacije grupe na \"%@\"."; /* Message indicating that the access to the group's attributes was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group info to “%2$@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ je promjenio tko sve može uređivati informacije grupe na \"%2$@\"."; /* Message indicating that the access to the group's attributes was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "Group info can be changed by “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "\"%@\" je promjenio informacije grupe."; /* Description of the 'admins only' access level. */ -"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "Admins Only"; +"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "Samo administratori"; /* Description of the 'all users' access level. */ -"GROUP_ACCESS_LEVEL_ANY" = "Any User"; +"GROUP_ACCESS_LEVEL_ANY" = "Svi korisnici"; /* Description of the 'all members' access level. */ -"GROUP_ACCESS_LEVEL_MEMBER" = "All Members"; +"GROUP_ACCESS_LEVEL_MEMBER" = "Svi članovi"; /* Description of the 'unknown' access level. */ "GROUP_ACCESS_LEVEL_UNKNOWN" = "Nepoznato"; /* Message indicating that the access to the group's members was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group membership to “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "Promjenili ste tko može uređivati članstvo grupe na \"%@\"."; /* Message indicating that the access to the group's members was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group membership to “%2$@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ je promjenio tko može uređivati članstvo grupe na \"%2$@\"."; /* Message indicating that the access to the group's members was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "Group membership can be changed by “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "Članstvo grupe mogu uređivati \"%@\"."; /* Error indicating that a member cannot be added to a group. */ -"GROUP_CANNOT_ADD_INVALID_MEMBER" = "This user cannot be added to the group."; +"GROUP_CANNOT_ADD_INVALID_MEMBER" = "Ovaj korisnik ne može biti dodan u grupu."; /* Message indicating that group was created by the local user. */ -"GROUP_CREATED_BY_LOCAL_USER" = "You created the group."; +"GROUP_CREATED_BY_LOCAL_USER" = "Vi ste stvorili grupu."; /* Message indicating that group was created by another user. Embeds {{remote user name}}. */ -"GROUP_CREATED_BY_REMOTE_USER_FORMAT" = "%@ added you to the group."; +"GROUP_CREATED_BY_REMOTE_USER_FORMAT" = "%@ Vas je dodao u grupu."; /* Message indicating that group was created by an unknown user. */ -"GROUP_CREATED_BY_UNKNOWN_USER" = "Group was created."; +"GROUP_CREATED_BY_UNKNOWN_USER" = "Grupa stvorena."; /* Message shown in conversation view that indicates there were issues with group creation. */ "GROUP_CREATION_FAILED" = "Nisu svi članovi mogli biti dodani u grupu. Dodirni za ponovni pokušaj."; /* Format for the message for an alert indicating that a member was invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ ne možete automatski dodati u grupu. Korisnik je pozvan i neće vidjeti poruke grupe dok ne prihvati poziv."; /* Title for an alert indicating that a member was invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_1" = "Invitation Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_1" = "Pozivnica poslana"; /* Format for the title for an alert indicating that some members were invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "%@ Invitations Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "Poslano %@ pozivnica"; /* Message for an alert indicating that some members were invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "These users can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "Ove korisnike ne možete automatski dodati u grupu. Korisnici su pozvani i neće vidjeti poruke grupe dok ne prihvate poziv."; /* Message indicating that the local user was added to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ added you."; +"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ Vas je dodao."; /* Message indicating that the local user was granted administrator role. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "You are now an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "Sad ste administrator."; /* Message indicating that the local user was granted administrator role by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ made you an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ Vas je postavio za administratora."; /* Message indicating that the local user accepted an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "You accepted an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "Prihvatili ste poziv u grupu."; /* Message indicating that the local user accepted an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "You accepted an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "Prihvatili ste pozvi u grupu koji je poslao %@."; /* Message indicating that the local user declined an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "You declined an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "Odbili ste poziv u grupu."; /* Message indicating that the local user declined an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "You declined an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "Odbili ste poziv u grupu koji je poslao %@."; /* Message indicating that the local user's invite was revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ revoked your invitation to the group."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ je opozvao Vaš poziv u grupu."; /* Message indicating that the local user's invite was revoked by an unknown user. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Your invitation to the group was revoked."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Vaš poziv u grupu je opozvan."; /* Message indicating that the local user was invited to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ invited you."; +"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ Vas je pozvao."; /* Message indicating that the local user was invited to the group. */ -"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "You were invited to the group."; +"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "Pozvani ste u grupu."; /* Message indicating that the local user has joined the group. */ -"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "You joined the group."; +"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "Pridružili ste se grupi."; /* Message indicating that the local user was removed from the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed you."; +"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ Vas je maknuo."; /* Message indicating that the local user was removed from the group by an unknown user. */ -"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "You were removed from the group."; +"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "Maknuti ste iz grupe."; /* Message indicating that the local user had their administrator role revoked. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Your admin privileges were revoked."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Vaše administratorske privilegije su opozvane."; /* Message indicating that the local user had their administrator role revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ revoked your admin privileges."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ Vam je opozvao administratorske privilegije."; /* Conversation settings table section title */ "GROUP_MANAGEMENT_SECTION" = "Upravljanje grupom"; /* Label indicating that a group member is an admin. */ -"GROUP_MEMBER_ADMIN_INDICATOR" = "Admin"; +"GROUP_MEMBER_ADMIN_INDICATOR" = "Administrator"; /* Format string for the group member count indicator. Embeds {{ %1$@ the number of members in the group, %2$@ the maximum number of members in the group. }}. */ "GROUP_MEMBER_COUNT_FORMAT" = "%1$@/%2$@"; /* The 'group member count' indicator when there are no members in the group. */ -"GROUP_MEMBER_COUNT_LABEL_0" = "No members"; +"GROUP_MEMBER_COUNT_LABEL_0" = "Nema članova"; /* The 'group member count' indicator when there is 1 member in the group. */ "GROUP_MEMBER_COUNT_LABEL_1" = "1 član"; /* Format for the 'group member count' indicator. Embeds {the number of group members}. */ -"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ members"; +"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ članova"; /* Label indicating the local user. */ "GROUP_MEMBER_LOCAL_USER" = "Vi"; @@ -1422,10 +1428,10 @@ "GROUP_MEMBERS_CALL" = "Poziv"; /* Label indicating that a group has no other members. */ -"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "No members."; +"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "Nema članova."; /* Label for the button that clears all verification errors in the 'group members' view. */ -"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Clear Verification for All"; +"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Očisti verifikaciju za sve"; /* Label for the 'reset all no-longer-verified group members' confirmation alert. */ "GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Ovo će ukloniti provjeru za sve članove grupe čiji su sigurnosni brojevi promijenjeni od zadnje provjere."; @@ -1440,151 +1446,151 @@ "GROUP_MEMBERS_SEND_MESSAGE" = "Poruka"; /* Placeholder text for 'group name' field. */ -"GROUP_NAME_PLACEHOLDER" = "Group name (required)"; +"GROUP_NAME_PLACEHOLDER" = "Ime grupe (obavezno)"; /* Message indicating that a remote user has accepted their invite. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ accepted an invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ je prihvatio poziv u grupu."; /* Message indicating that a remote user has accepted an invite from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ accepted your invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ je prihvatio Vaš poziv u grupu."; /* Message indicating that a remote user has accepted their invite. Embeds {{ %1$@ user who accepted their invite, %2$@ user who invited the user}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ accepted an invitation to the group from %2$@."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ je prihvatio poziv u grupu, poslan od %2$@."; /* Message indicating that a remote user was added to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "You added %@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "Dodali ste %@."; /* Message indicating that a remote user was added to the group by another user. Embeds {{ %1$@ user who added the user, %2$@ user who was added}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ added %2$@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ je dodao %2$@."; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ was added to the group."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ je dodan u grupu."; /* Message indicating that a remote user has declined their invite. */ -"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 person declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 osoba je odbila poziv u grupu."; /* Message indicating that a remote user has declined their invite. Embeds {{ user who invited them }}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 person invited by %@ declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 osobo je odbila poziv u grupu, poslan od %@."; /* Message indicating that a remote user has declined an invite to the group from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ declined your invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ je odbio Vaš poziv u grupu."; /* Message indicating that a remote user was granted administrator role. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ is now an admin"; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ je sad administrator"; /* Message indicating that a remote user was granted administrator role by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "You made %@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "Postavili ste %@ za administratora."; /* Message indicating that a remote user was granted administrator role by another user. Embeds {{ %1$@ user who granted, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ made %2$@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ je postavio %2$@ za administratora."; /* Message indicating that a single remote user's invite was revoked. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Invitation to the group was revoked for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Poziv u grupu je opozvan za 1 osobu."; /* Message indicating that a remote user's invite was revoked by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Invitation to the group was revoked for %@."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Poziv u grupu je opozvan za %@."; /* Message indicating that a single remote user's invite was revoked by a remote user. Embeds {{ user who revoked the invite }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ revoked an invitation to the group for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ je opozvao poziv u grupu za 1 osobu."; /* Message indicating that a group of remote users' invites were revoked by a remote user. Embeds {{ %1$@ user who revoked the invite, %2$@ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ revoked an invitation to the group for %2$@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ je opozvao pozive u grupu za %2$@ ljudi."; /* Message indicating that a group of remote users' invites were revoked. Embeds {{ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Invitations to the group were revoked for %@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Pozivi u grupu su opozvani za %@ ljudi."; /* Message indicating that a single remote user was invited to the group. */ -"GROUP_REMOTE_USER_INVITED_1" = "1 person was invited to the group."; +"GROUP_REMOTE_USER_INVITED_1" = "1 osoba je pozvana u grupu."; /* Message indicating that a remote user was invited to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "You invited %@ to the group."; +"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "Pozvali ste %@ u grupu."; /* Message indicating that a single remote user was invited to the group by the local user. Embeds {{ user who invited the user }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ invited 1 person to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ je pozvao 1 osobu u grupu."; /* Message indicating that a group of remote users were invited to the group by the local user. Embeds {{ %1$@ user who invited the user, %2$@ number of invited users }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ invited %2$@ people to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ je pozvao %2$@ ljudi u grupu."; /* Message indicating that a group of remote users were invited to the group. Embeds {{number of invited users}}. */ -"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ people were invited to the group."; +"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ ljudi je pozvano u grupu."; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ joined the group."; +"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ se pridružio grupi."; /* Message indicating that a remote user has left the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ left the group."; +"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ je napustio grupu."; /* Message indicating that a remote user was removed from the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "You removed %@."; +"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "Maknuli ste %@."; /* Message indicating that the remote user was removed from the group. Embeds {{ %1$@ user who removed the user, %2$@ user who was removed}}. */ -"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ removed %2$@."; +"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ je maknuo %2$@."; /* Message indicating that a remote user had their administrator role revoked. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ had their admin privileges revoked."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ su opozvana administratorska prava."; /* Message indicating that a remote user had their administrator role revoked by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "You revoked admin privileges from %@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "Opozvali ste administratorska prava za %@."; /* Message indicating that a remote user had their administrator role revoked by another user. Embeds {{ %1$@ user who revoked, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ revoked admin privileges from %2$@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ je opozvao administratorska prava za %2$@."; /* Info message indicating that the group was updated by an unknown user. */ "GROUP_UPDATED" = "Grupa je ažurirana."; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED" = "The group avatar was removed."; +"GROUP_UPDATED_AVATAR_REMOVED" = "Avatar grupe je uklonjen."; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "You removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "Uklonili ste avatara."; /* Message indicating that the group's avatar was removed by a remote user. Embeds {{user who removed the avatar}}. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ je uklonio avatara."; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED" = "Updated the group avatar."; +"GROUP_UPDATED_AVATAR_UPDATED" = "Avatar grupe ažuriran."; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "You updated the avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "Ažurirali ste avatara."; /* Message indicating that the group's avatar was changed by a remote user. Embeds {{user who changed the avatar}}. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ updated the avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ je ažurirao avatara."; /* Info message indicating that the group was updated by the local user. */ "GROUP_UPDATED_BY_LOCAL_USER" = "Ažurirali ste grupu."; /* Info message indicating that the group was updated by another user. Embeds {{remote user name}}. */ -"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ updated the group."; +"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ je ažurirao grupu."; /* Message indicating that the group's name was removed. */ -"GROUP_UPDATED_NAME_REMOVED" = "The group name was removed."; +"GROUP_UPDATED_NAME_REMOVED" = "Ime grupe je uklonjeno."; /* Message indicating that the group's name was removed by the local user. */ -"GROUP_UPDATED_NAME_REMOVED_BY_LOCAL_USER" = "You removed the group name."; +"GROUP_UPDATED_NAME_REMOVED_BY_LOCAL_USER" = "Uklonili ste ime grupe."; /* Message indicating that the group's name was removed by a remote user. Embeds {{user who removed the name}}. */ -"GROUP_UPDATED_NAME_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed the group name."; +"GROUP_UPDATED_NAME_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ je uklonio ime grupe."; /* Message indicating that the group's name was changed by the local user. Embeds {{new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed the group name to “%@“."; +"GROUP_UPDATED_NAME_UPDATED_BY_LOCAL_USER_FORMAT" = "Promjenili ste ime grupe u \"%@\"."; /* Message indicating that the group's name was changed by a remote user. Embeds {{ %1$@ user who changed the name, %2$@ new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed the group name to “%2$@“."; +"GROUP_UPDATED_NAME_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ je promjenio ime grupe u \"%2$@\"."; /* Message indicating that the group's name was changed. Embeds {{new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_FORMAT" = "Group name is now “%@”."; +"GROUP_UPDATED_NAME_UPDATED_FORMAT" = "Ime grupe je \"%@\"."; /* Message indicating that the local user left the group. */ "GROUP_YOU_LEFT" = "Napustili ste grupu."; /* Message for the 'can't replace group admin' alert. */ -"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Choose a new admin for this group before you leave."; +"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Odaberite novog administratora grupe prije nego ju napustite."; /* Error indicating that an error occurred while accepting an invite. */ "GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Could not accept invite."; /* Label for 'block group' button in group invite view. */ -"GROUPS_INVITE_BLOCK_GROUP" = "Block Group"; +"GROUPS_INVITE_BLOCK_GROUP" = "Blokiraj grupu"; /* Label for 'block group and inviter' button in group invite view. Embeds {{name of user who invited you}}. */ "GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Block Group and %@"; @@ -1953,7 +1959,7 @@ "MESSAGE_REQUEST_DELETE_CONVERSATION_MESSAGE" = "This conversation will be deleted from all of your devices."; /* Action sheet title to confirm deleting a conversation via a message request. */ -"MESSAGE_REQUEST_DELETE_CONVERSATION_TITLE" = "Delete Conversation?"; +"MESSAGE_REQUEST_DELETE_CONVERSATION_TITLE" = "Obriši razgovor?"; /* Action sheet action to confirm deleting a group via a message request. */ "MESSAGE_REQUEST_LEAVE_AND_DELETE_GROUP_ACTION" = "Delete and Leave"; @@ -2580,7 +2586,7 @@ "PIN_REMINDER_TITLE" = "Enter your Signal PIN"; /* Label indicating that the attempted PIN is too short */ -"PIN_REMINDER_TOO_SHORT_ERROR" = "PIN must be at least 4 digits."; +"PIN_REMINDER_TOO_SHORT_ERROR" = "PIN mora biti najmanje 4 znamenke."; /* Action text for PIN megaphone when user doesn't have a PIN */ "PINS_MEGAPHONE_ACTION" = "Create PIN"; @@ -2994,7 +3000,7 @@ "SCREENSHOT_NAME_CONTACT_NINE" = "Zeus Lehtonen"; /* This is a contact's name. A male leadership/presidential position + the sound a cat makes. This will have a cat profile photo. */ -"SCREENSHOT_NAME_CONTACT_ONE" = "Chairman Meow"; +"SCREENSHOT_NAME_CONTACT_ONE" = "Predsjednik Mijau"; /* This is a contact's name. Please keep a similar unisex first name (Kai) if this name isn't common and only post the last initial. This will have a female profile photo. */ "SCREENSHOT_NAME_CONTACT_SEVEN" = "Jordan B."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Ažuriraj iOS"; diff --git a/Signal/translations/hu.lproj/Localizable.strings b/Signal/translations/hu.lproj/Localizable.strings index d6e05978b4..620fe12ae7 100644 --- a/Signal/translations/hu.lproj/Localizable.strings +++ b/Signal/translations/hu.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Feloldás"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Mentetlen változtatások"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Összes tag megtekintés"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "PIN megerősítése"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Add meg a most kreált PIN kódodat."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Hozz létre alfanumerikus PIN kódot"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "PIN létrehozása"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Válassz egy erősebb PIN kódot"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "A PIN megjegyzéséhez segítségül időnként be kell majd gépelned. Egyre kevesebbszer az idő haladtával."; @@ -2994,7 +3000,7 @@ "SCREENSHOT_NAME_CONTACT_NINE" = "Zeus Lehtonen"; /* This is a contact's name. A male leadership/presidential position + the sound a cat makes. This will have a cat profile photo. */ -"SCREENSHOT_NAME_CONTACT_ONE" = "Chairman Meow"; +"SCREENSHOT_NAME_CONTACT_ONE" = "Miáú elnök"; /* This is a contact's name. Please keep a similar unisex first name (Kai) if this name isn't common and only post the last initial. This will have a female profile photo. */ "SCREENSHOT_NAME_CONTACT_SEVEN" = "Jordan B."; @@ -3018,7 +3024,7 @@ "SCREENSHOT_NAME_GROUP_FOUR" = "Sunsets 🌅"; /* This is for a group of people interested in discussing books they've read. */ -"SCREENSHOT_NAME_GROUP_ONE" = "Book Club"; +"SCREENSHOT_NAME_GROUP_ONE" = "Könyv klub"; /* This is group chat name for members talking about cats. Please include the emoji. */ "SCREENSHOT_NAME_GROUP_SIX" = "Cat Chat 🐈 🐱"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "A PIN kódok bemutatása"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "A következő Signal verziók már iOS 10 követelménnyel érkeznek. Kérlek frissítsd az operációs rendszered az iOS Beállítások >> Általános >> Szoftverfrissítés alatt. "; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS frissítése"; diff --git a/Signal/translations/id.lproj/Localizable.strings b/Signal/translations/id.lproj/Localizable.strings index 0304b772bd..9313da6f80 100644 --- a/Signal/translations/id.lproj/Localizable.strings +++ b/Signal/translations/id.lproj/Localizable.strings @@ -696,7 +696,7 @@ "CONTACT_WITHOUT_NAME" = "Kontak tak bernama"; /* Message for the 'conversation delete confirmation' alert. */ -"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This conversation will be deleted from this device."; +"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Percakapan ini akan dihapus dari perangkat ini."; /* Title for the 'conversation delete confirmation' alert. */ "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Hapus Percakapan?"; @@ -741,19 +741,19 @@ "CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "Tambahkan ke Kontak Sistem"; /* Label indicating that only administrators can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admins"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admin"; /* Label indicating that all group members can update the group's attributes: name, avatar, etc. */ "CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "Semua"; /* Footer for the 'attributes access' section in conversation settings view. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Choose who can edit the group name, avatar and disappearing messages timer."; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Pilih siapa yang dapat mengubah nama dan avatar grup, juga pengatur waktu pesan menghilang."; /* Footer text for the 'block and leave' section of conversation settings view. */ "CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "Anda tidak akan lagi menerima pesan dan pembaruan dari grup ini."; /* Label for 'block group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Block Group"; +"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Blokir Grup"; /* table cell label in conversation settings */ "CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Blokir Grup Ini"; @@ -762,7 +762,7 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Blokir Pengguna Ini"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "Blokir Pengguna"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Info Kontak "; @@ -771,16 +771,16 @@ "CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Warna Percakapan"; /* Label for 'edit attributes access' action in conversation settings view. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Who Can Edit Group Info"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Pemilik Akses Untuk Mengubah Informasi Grup"; /* Label for button that sets 'group attributes access' to 'administrators-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Only Admins"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Hanya Admin"; /* Description for the 'edit group attributes access' alert. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Pilih siapa yang dapat mengubah nama dan avatar grup, juga pengatur waktu pesan menghilang:"; /* Label for button that sets 'group attributes access' to 'members-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "All Members"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "Semua Anggota"; /* Label for the 'edit group' button in conversation settings view. */ "CONVERSATION_SETTINGS_EDIT_GROUP" = "Sunting"; @@ -789,16 +789,16 @@ "CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Info Kontak "; /* Label for 'make group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Make Admin"; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Jadikan Admin"; /* Format for title for 'make group admin' confirmation alert. Embeds {user to make an admin}. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ will be able to remove group members and make other admins."; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ akan mampu mengeluarkan anggota dari grup dan membuat orang lain menjadi admin."; /* Section title of the 'members' section in conversation settings view. */ "CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE" = "Anggota-anggota"; /* Format for the section title of the 'members' section in conversation settings view. Embeds: {{ the number of group members }}. */ -"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Members"; +"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Anggota"; /* Title of the 'mute this thread' action sheet. */ "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Senyap"; @@ -834,16 +834,16 @@ "CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "Kosong"; /* Label for 'remove from group' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Remove From Group"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Keluarkan Dari Grup"; /* Format for title for 'remove from group' confirmation alert. Embeds {user to remove from the group}. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Remove %@ from the group?"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Keluarkan %@ dari grup?"; /* Label for 'revoke group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Remove as Admin"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Cabut Akses Admin"; /* Format for title for 'revoke group admin' confirmation alert. Embeds {user to revoke admin status from}. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Remove %@ as group admin?"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Cabut akses %@ sebagai admin grup?"; /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ "CONVERSATION_SETTINGS_SEARCH" = "Cari Percakapan"; @@ -852,16 +852,22 @@ "CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Ketuk untuk mengubah"; /* Label for 'unblock group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; +"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Buka Blokir Grup"; /* Label for 'unblock user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Unblock User"; +"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Buka Blokir Pengguna"; /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Tidak Senyap"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Perubahan Tak Tersimpan"; + /* Label for 'view all members' button in conversation settings view. */ -"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; +"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Lihat semua anggota"; /* Indicates that user is in the system contacts list. */ "CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "Pengguna ini ada di kontak Anda"; @@ -891,7 +897,7 @@ "CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Pengguna ini tidak ada di dalam kontak Anda."; /* button text to delete all items in the current conversation */ -"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Delete All"; +"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Hapus Semua"; /* Indicates that the app is loading more messages in this conversation. */ "CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Memuat Lebih Banyak Pesan..."; @@ -975,16 +981,16 @@ "DEBUG_LOG_GITHUB_ISSUE_ALERT_TITLE" = "Pengalihan ke GitHub"; /* action sheet body */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Delete all messages in the conversation?"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Hapus semua pesan dalam percakapan?"; /* button text */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Delete All Messages"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Hapus Semua Pesan"; /* action sheet body. Embeds {{number of selected messages}} which will be deleted. */ -"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete %ld Messages?"; +"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Hapus %ld Pesan?"; /* action sheet body */ -"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete Message?"; +"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Hapus Pesan?"; /* Label for button that lets users re-register using the same phone number. */ "DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Daftarkan ulang nomor telpon ini"; @@ -1032,7 +1038,7 @@ "EDIT_GROUP_ACTION" = "Ubah Grup"; /* The 'clear avatar' button in the 'edit group' view. */ -"EDIT_GROUP_CLEAR_AVATAR" = "Remove Avatar"; +"EDIT_GROUP_CLEAR_AVATAR" = "Hapus Avatar"; /* a title for the contacts section of the 'new/update group' view. */ "EDIT_GROUP_CONTACTS_SECTION_TITLE" = "Kontak"; @@ -1041,16 +1047,16 @@ "EDIT_GROUP_DEFAULT_TITLE" = "Ubah Grup"; /* Error message indicating the a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "This user can't be added to the group until they upgrade Signal."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "Pengguna ini tidak dapat ditambahkan ke dalam grup sampai dia memperbarui Signal."; /* Message for 'group full' error alert when a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Maximum group size of 100 members reached."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Batas maksimum 100 anggota grup sudah terpenuhi."; /* Error message indicating that an avatar image is invalid and cannot be used. */ -"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Invalid avatar."; +"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Avatar Invalid."; /* Label for the group name in the 'edit group' view. */ -"EDIT_GROUP_GROUP_NAME" = "Group Name"; +"EDIT_GROUP_GROUP_NAME" = "Nama Grup"; /* An indicator that a user is a new member of the group. */ "EDIT_GROUP_NEW_MEMBER_LABEL" = "Ditambahkan"; @@ -1203,7 +1209,7 @@ "ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "Nomor keamanan diubah"; /* Error indicating network connectivity problems. */ -"ERROR_NETWORK_FAILURE" = "Network Error"; +"ERROR_NETWORK_FAILURE" = "Jaringan Gagal"; /* Error indicating a send failure due to a delinked application. */ "ERROR_SENDING_DELINKED" = "Perangkat anda tidak lagi terhubung. Harap hubungkan kembali untuk dapat mengirim pesan selanjutnya."; @@ -1293,37 +1299,37 @@ "GRDB_MIGRATION_NOTIFICATION_TITLE" = "Mengoptimalkan Database"; /* Message indicating that the access to the group's attributes was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group info to “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "Anda memberikan akses untuk mengubah informasi grup ke \"%@\"."; /* Message indicating that the access to the group's attributes was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group info to “%2$@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ memberikan akses untuk dapat mengubah informasi grup ke \"%2$@\"."; /* Message indicating that the access to the group's attributes was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "Group info can be changed by “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "Informasi grup dapat diubah oleh \"%@\"."; /* Description of the 'admins only' access level. */ -"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "Admins Only"; +"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "Hanya Admin"; /* Description of the 'all users' access level. */ -"GROUP_ACCESS_LEVEL_ANY" = "Any User"; +"GROUP_ACCESS_LEVEL_ANY" = "Semua Pengguna"; /* Description of the 'all members' access level. */ -"GROUP_ACCESS_LEVEL_MEMBER" = "All Members"; +"GROUP_ACCESS_LEVEL_MEMBER" = "Semua Anggota"; /* Description of the 'unknown' access level. */ "GROUP_ACCESS_LEVEL_UNKNOWN" = "Tidak dikenal"; /* Message indicating that the access to the group's members was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group membership to “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "Anda memberikan akses untuk mengubah keanggotaan grup ke \"%@\"."; /* Message indicating that the access to the group's members was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group membership to “%2$@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ memberikan akses untuk mengubah informasi grup ke \"%2$@\"."; /* Message indicating that the access to the group's members was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "Group membership can be changed by “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "Keanggotaan grup dapat diubah oleh \"%@\"."; /* Error indicating that a member cannot be added to a group. */ -"GROUP_CANNOT_ADD_INVALID_MEMBER" = "This user cannot be added to the group."; +"GROUP_CANNOT_ADD_INVALID_MEMBER" = "Pengguna ini tidak dapat ditambahkan ke dalam grup."; /* Message indicating that group was created by the local user. */ "GROUP_CREATED_BY_LOCAL_USER" = "Grup telah dibuat."; @@ -1332,70 +1338,70 @@ "GROUP_CREATED_BY_REMOTE_USER_FORMAT" = "%@mengundang Anda ke grup."; /* Message indicating that group was created by an unknown user. */ -"GROUP_CREATED_BY_UNKNOWN_USER" = "Group was created."; +"GROUP_CREATED_BY_UNKNOWN_USER" = "Grup telah dibuat."; /* Message shown in conversation view that indicates there were issues with group creation. */ "GROUP_CREATION_FAILED" = "Tidak semua anggota dapat ditambahkan ke dalam grup. Ketuk untuk mencoba lagi."; /* Format for the message for an alert indicating that a member was invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ Tidak dapat secara otomatis Anda tambahkan ke dalam grup. Mereka telah mendapatkan undangan, dan tidak dapat melihat pesan di dalam grup sampai mereka menerimanya."; /* Title for an alert indicating that a member was invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_1" = "Invitation Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_1" = "Undangan Terkirim"; /* Format for the title for an alert indicating that some members were invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "%@ Invitations Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "%@ Undangan Terkirim"; /* Message for an alert indicating that some members were invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "These users can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "Pengguna ini tidak dapat secara otomatis Anda tambahkan ke dalam grup. Mereka telah mendapatkan undangan, dan tidak dapat melihat pesan di dalam grup sampai mereka menerimanya."; /* Message indicating that the local user was added to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ added you."; +"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ menambahkan Anda."; /* Message indicating that the local user was granted administrator role. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "You are now an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "Anda sekarang menjadi admin."; /* Message indicating that the local user was granted administrator role by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ made you an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ memberikan akses admin kepada Anda."; /* Message indicating that the local user accepted an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "You accepted an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "Anda menerima undangan undangan masuk ke dalam grup."; /* Message indicating that the local user accepted an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "You accepted an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "Anda menerima undangan grup dari %@."; /* Message indicating that the local user declined an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "You declined an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "Anda menolak undangan untuk masuk ke dalam grup."; /* Message indicating that the local user declined an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "You declined an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "Anda menolak undangan grup dari %@."; /* Message indicating that the local user's invite was revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ revoked your invitation to the group."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ membatalkan undangan Anda untuk masuk ke grup."; /* Message indicating that the local user's invite was revoked by an unknown user. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Your invitation to the group was revoked."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Undangan Anda untuk masuk ke grup telah dibatalkan."; /* Message indicating that the local user was invited to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ invited you."; +"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ mengundang Anda."; /* Message indicating that the local user was invited to the group. */ -"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "You were invited to the group."; +"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "Anda diundang ke dalam grup."; /* Message indicating that the local user has joined the group. */ -"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "You joined the group."; +"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "Anda bergabung ke dalam grup."; /* Message indicating that the local user was removed from the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed you."; +"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ mengeluarkan Anda."; /* Message indicating that the local user was removed from the group by an unknown user. */ -"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "You were removed from the group."; +"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "Anda dikeluarkan dari grup."; /* Message indicating that the local user had their administrator role revoked. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Your admin privileges were revoked."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Akses admin Anda telah dibatalkan."; /* Message indicating that the local user had their administrator role revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ revoked your admin privileges."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ membatalkan akses admin Anda."; /* Conversation settings table section title */ "GROUP_MANAGEMENT_SECTION" = "Pengelolaan Grup."; @@ -1407,13 +1413,13 @@ "GROUP_MEMBER_COUNT_FORMAT" = "%1$@/%2$@"; /* The 'group member count' indicator when there are no members in the group. */ -"GROUP_MEMBER_COUNT_LABEL_0" = "No members"; +"GROUP_MEMBER_COUNT_LABEL_0" = "Tidak ada anggota"; /* The 'group member count' indicator when there is 1 member in the group. */ "GROUP_MEMBER_COUNT_LABEL_1" = "1 anggota"; /* Format for the 'group member count' indicator. Embeds {the number of group members}. */ -"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ members"; +"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ anggota"; /* Label indicating the local user. */ "GROUP_MEMBER_LOCAL_USER" = "Anda"; @@ -1422,7 +1428,7 @@ "GROUP_MEMBERS_CALL" = "Panggil"; /* Label indicating that a group has no other members. */ -"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "No members."; +"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "Tidak ada anggota."; /* Label for the button that clears all verification errors in the 'group members' view. */ "GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Bersihkan Verifikasi untuk Semua"; @@ -1440,7 +1446,7 @@ "GROUP_MEMBERS_SEND_MESSAGE" = "Pesan"; /* Placeholder text for 'group name' field. */ -"GROUP_NAME_PLACEHOLDER" = "Group name (required)"; +"GROUP_NAME_PLACEHOLDER" = "Nama grup (diperlukan)"; /* Message indicating that a remote user has accepted their invite. Embeds {{remote user name}}. */ "GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ accepted an invitation to the group."; @@ -1584,7 +1590,7 @@ "GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Could not accept invite."; /* Label for 'block group' button in group invite view. */ -"GROUPS_INVITE_BLOCK_GROUP" = "Block Group"; +"GROUPS_INVITE_BLOCK_GROUP" = "Blokir Grup"; /* Label for 'block group and inviter' button in group invite view. Embeds {{name of user who invited you}}. */ "GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Block Group and %@"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Memperkenalkan PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal akan memerlukan iOS 10 atau lebih baru. Mohon perbarui pada Pengaturan >> Umum >> Pembaruan Perangkat Lunak."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Perbarui iOS"; diff --git a/Signal/translations/it.lproj/Localizable.strings b/Signal/translations/it.lproj/Localizable.strings index 299dff7e96..f74d1e15c6 100644 --- a/Signal/translations/it.lproj/Localizable.strings +++ b/Signal/translations/it.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Non silenzioso"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Cambiamenti non salvati"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Visualizza tutti i membri"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Conferma il tuo PIN"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Inserisci il PIN che hai appena creato."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Crea PIN alfanumerico"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Crea il tuo PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Scegli un PIN più complesso"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Per aiutarti a memorizzare il tuo PIN, ti chiederemo di inserirlo periodicamente. Lo chiederemo di meno nel corso del tempo."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Ti presentiamo i PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal presto richiederà iOS 10 o successivo. Ti preghiamo di aggiornare andando nelle Impostazioni >> Generali >> Aggiornamento software."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Aggiornare iOS"; diff --git a/Signal/translations/ja.lproj/Localizable.strings b/Signal/translations/ja.lproj/Localizable.strings index 4163142993..b35845e7f2 100644 --- a/Signal/translations/ja.lproj/Localizable.strings +++ b/Signal/translations/ja.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "ミュートを解除"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "未保存の変更"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "全てのメンバーを表示"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "PIN を確認"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "作成した PIN を入力してください。"; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "アルファベットPINを作成"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "あなたのPINを作成"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "強いPINを選択"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "あなたがPINを忘れないよう、Signalは定期的に確認します。頻度は次第に減ってゆきます。"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "PINのご紹介"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signalは、まもなくiOS 10以上だけの対応になります。アップデートしてください。"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOSを更新する"; diff --git a/Signal/translations/km.lproj/Localizable.strings b/Signal/translations/km.lproj/Localizable.strings index 23b76020e5..b283f47f9f 100644 --- a/Signal/translations/km.lproj/Localizable.strings +++ b/Signal/translations/km.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "មិនបិទសំឡេង"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "ការកែប្រែមិនបានរក្សាទុក"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "ការណែនាំ លេខPINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal នឹងទាមទារ iOS 10 ឬថ្មីជាងនេះ។ សូមដំឡើងក្នុង ការកំណត់ >> ទូទៅ >> បច្ចុប្បភាពកម្មវិធី។"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "ធ្វើបច្ចុប្បន្នភាព iOS"; diff --git a/Signal/translations/ko.lproj/Localizable.strings b/Signal/translations/ko.lproj/Localizable.strings index 3900657412..81692ce988 100644 --- a/Signal/translations/ko.lproj/Localizable.strings +++ b/Signal/translations/ko.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "알림 켜기"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "저장되지 않은 변경사항"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "번호 소개"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS"; diff --git a/Signal/translations/lt.lproj/Localizable.strings b/Signal/translations/lt.lproj/Localizable.strings index a98ef476bb..678485831c 100644 --- a/Signal/translations/lt.lproj/Localizable.strings +++ b/Signal/translations/lt.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Įjungti pranešimus"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Neįrašyti pakeitimai"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Rodyti visus dalyvius"; @@ -3066,16 +3072,16 @@ "SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_ONE" = "Hey check this out!"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_THREE" = "New Zealand!"; +"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_THREE" = "Naujojoje Zelandijoje!"; /* This is a message after an image of mountains + a lake. */ "SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_TWO" = "Oho, kur tu esi!?"; /* This is a message in the group chat of family members. */ -"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Today is ..."; +"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Šiandien yra..."; /* This is a message in the group chat of family members. */ -"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_TWO" = "Happy birthday to you. Happy birthday to you!"; +"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_TWO" = "Su gimimo diena. Su gimimo diena!"; /* This is a message in the Sunsets group chat. */ "SCREENSHOT_THREAD_GROUP_FOUR_MESSAGE_ONE" = "Čia pernelyg debesuota."; @@ -3111,7 +3117,7 @@ "SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "See you all there 🤗"; /* This is a message sent with an attachment. */ -"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Raining all day"; +"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Visą dieną lyja"; /* An example name for a user we use in the screenshots. */ "SCREENSHOT_USERNAME_1" = "SCREENSHOT_USERNAME_1"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Pristatome PIN kodus"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal greitu metu reikalaus iOS 10 ar naujesnės. Atsinaujinkite Nustatymų (angl. Settings) programėlėje >> Bendra (angl. General) >> Programinės įrangos atnaujinimas (angl. Software Update)."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Atnaujinkite iOS"; diff --git a/Signal/translations/lv.lproj/Localizable.strings b/Signal/translations/lv.lproj/Localizable.strings index b307868874..d1bf50bc69 100644 --- a/Signal/translations/lv.lproj/Localizable.strings +++ b/Signal/translations/lv.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Ieslēgt paziņojumus"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Unsaved Changes"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Iepazīstinām ar PIN kodiem"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS"; diff --git a/Signal/translations/mk.lproj/Localizable.strings b/Signal/translations/mk.lproj/Localizable.strings index 78ce0ce867..bd3fda093f 100644 --- a/Signal/translations/mk.lproj/Localizable.strings +++ b/Signal/translations/mk.lproj/Localizable.strings @@ -5,7 +5,7 @@ "ACCEPT_NEW_IDENTITY_ACTION" = "Прифати нов сигурноснен број"; /* Accessibility label for attachment. */ -"ACCESSIBILITY_LABEL_ATTACHMENT" = "Прилог"; +"ACCESSIBILITY_LABEL_ATTACHMENT" = "Прикачување"; /* Accessibility label for audio. */ "ACCESSIBILITY_LABEL_AUDIO" = "Звук"; @@ -45,37 +45,37 @@ "ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Додади член"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Додади членови"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Додади член во “%2$@”?"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Додади %1$@ членови во “%2$@”?"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Додади нов член"; /* Title for the 'add group members' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Додади нови членови"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Додади членови"; /* Message shown in conversation view that offers to share your profile with a group. */ -"ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Дали сакате да го споделите вашиот профил со групата?"; +"ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Дали сакате да го споделите вашиот профил оваа група?"; /* Message shown in conversation view that offers to add an unknown user to your phone's contacts. */ -"ADD_TO_CONTACTS_OFFER" = "Дали би сакале да го додадете овој корисник во вашите контакти?"; +"ADD_TO_CONTACTS_OFFER" = "Дали сакате да го додадете овој корисник во вашите контакти?"; /* Message shown in conversation view that offers to share your profile with a user. */ "ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Дали сакате да го споделите профилот со овој корисник?"; /* generic button text to acknowledge that the corresponding text was read. */ -"ALERT_ACTION_ACKNOWLEDGE" = "Во ред "; +"ALERT_ACTION_ACKNOWLEDGE" = "Во ред"; /* The label for the 'discard' button in alerts and action sheets. */ -"ALERT_DISCARD_BUTTON" = "Discard"; +"ALERT_DISCARD_BUTTON" = "Откажи"; /* The label for the 'don't save' button in action sheets. */ "ALERT_DONT_SAVE" = "Не зачувувај"; @@ -99,28 +99,28 @@ "APP_LAUNCH_FAILURE_ALERT_TITLE" = "Грешка"; /* Error indicating that the app could not launch because the database could not be loaded. */ -"APP_LAUNCH_FAILURE_COULD_NOT_LOAD_DATABASE" = "Could Not Load Database"; +"APP_LAUNCH_FAILURE_COULD_NOT_LOAD_DATABASE" = "Базата со податоци не можеше да се вчита"; /* Error indicating that the app could not launch without reverting unknown database migrations. */ -"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_MESSAGE" = "Please upgrade to the latest version of Signal."; +"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_MESSAGE" = "Ве молиме надградете го Signal до последната верзија."; /* Error indicating that the app could not launch without reverting unknown database migrations. */ -"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "Unknown Database Version."; +"APP_LAUNCH_FAILURE_INVALID_DATABASE_VERSION_TITLE" = "Непозната верзија на базата на податоци."; /* Text prompting user to edit their profile name. */ -"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Внеси го твоето име"; +"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Внесете го вашето име"; /* Label for the 'dismiss' button in the 'new app version available' alert. */ -"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Не Сега"; +"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Не сега"; /* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */ -"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Верзијата %@ е сега достапна на App Store."; +"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Верзијата %@ сега е достапна на App Store."; /* Title for the 'new app version available' alert. */ -"APP_UPDATE_NAG_ALERT_TITLE" = "Достапна е нова верзија на Signal "; +"APP_UPDATE_NAG_ALERT_TITLE" = "Достапна е нова верзија на Signal"; /* Label for the 'update' button in the 'new app version available' alert. */ -"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Aжурирај"; +"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Aжурирајте"; /* Name indicating that the dark theme is enabled. */ "APPEARANCE_SETTINGS_DARK_THEME_NAME" = "Темна"; @@ -138,76 +138,76 @@ "ARCHIVE_ACTION" = "Архива"; /* No comment provided by engineer. */ -"ATTACHMENT" = "Прилог"; +"ATTACHMENT" = "Прикачување"; /* One-line label indicating the user can add no more text to the attachment caption. */ -"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached."; +"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Лимитот на насловот е постигнат."; /* placeholder text for an empty captioning field */ -"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Додади титла..."; +"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Додади наслов..."; /* Title for 'caption' mode of the attachment approval view. */ -"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Caption"; +"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Наслов"; /* Error that outgoing attachments could not be exported. */ -"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "Attachment failed to export."; +"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "Прикачувањето не успеа да се извезе."; /* alert text when Signal was unable to save a copy of the attachment to the system photo library */ -"ATTACHMENT_APPROVAL_FAILED_TO_SAVE" = "Failed to Save"; +"ATTACHMENT_APPROVAL_FAILED_TO_SAVE" = "Неуспешно зачувување"; /* Format string for file extension label in call interstitial view */ -"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Вид на фајл : %@"; +"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Тип на датотека: %@"; /* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ -"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Големина на фајл : %@"; +"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Големина на датотека : %@"; /* toast alert shown after user taps the 'save' button */ "ATTACHMENT_APPROVAL_MEDIA_DID_SAVE" = "Зачувано"; /* Placeholder text indicating who this attachment will be sent to. Embeds: {{recipient name}} */ -"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Message to %@"; +"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Порака на %@"; /* Label for 'send' button in the 'attachment approval' dialog. */ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Испрати"; /* Generic filename for an attachment with no known name */ -"ATTACHMENT_DEFAULT_FILENAME" = "Прилог"; +"ATTACHMENT_DEFAULT_FILENAME" = "Прикачување"; /* Status label when an attachment download has failed. */ "ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Неуспешно преземање. Допри за повторен обид."; /* The title of the 'attachment error' alert. */ -"ATTACHMENT_ERROR_ALERT_TITLE" = "Грешка при праќање на прилог"; +"ATTACHMENT_ERROR_ALERT_TITLE" = "Грешка при праќање на прикачување"; /* Attachment error message for image attachments which could not be converted to JPEG */ -"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Unable to convert image."; +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Конверирањето на сликата беше неуспешно."; /* Attachment error message for video attachments which could not be converted to MP4 */ -"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Unable to process video."; +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Процесирањето на видеото беше неуспешно."; /* Attachment error message for image attachments which cannot be parsed */ -"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Unable to parse image."; +"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Обработувањето на сликата беше науспешно."; /* Attachment error message for image attachments in which metadata could not be removed */ -"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Unable to remove metadata from image."; +"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Отстранувањето на мета-податоците од сликата беше неуспешно."; /* Attachment error message for image attachments which could not be resized */ -"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Unable to resize image."; +"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Промената на големината на сликата беше науспешна."; /* Attachment error message for attachments whose data exceed file size limits */ -"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Прилогот е премногу голем."; +"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Прикачувањето е премногу големo."; /* Attachment error message for attachments with invalid data */ -"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content."; +"ATTACHMENT_ERROR_INVALID_DATA" = "Прикачувањето вклучува невалидна содржина."; /* Attachment error message for attachments with an invalid file format */ -"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Attachment has an invalid file format."; +"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Прикачувањето има невалиден формат."; /* Attachment error message for attachments without any data */ -"ATTACHMENT_ERROR_MISSING_DATA" = "Прилогот е празен."; +"ATTACHMENT_ERROR_MISSING_DATA" = "Прикачувањето е празно."; /* Accessibility hint describing what you can do with the attachment button */ -"ATTACHMENT_HINT" = "Choose Media to Send"; +"ATTACHMENT_HINT" = "Изберете медија за испраќање"; /* A button to open the camera from the Attachment Keyboard */ "ATTACHMENT_KEYBOARD_CAMERA" = "Камера"; @@ -222,7 +222,7 @@ "ATTACHMENT_KEYBOARD_GIF" = "GIF"; /* A button to select a location from the Attachment Keyboard */ -"ATTACHMENT_KEYBOARD_LOCATION" = "Локација\n"; +"ATTACHMENT_KEYBOARD_LOCATION" = "Локација"; /* A string indicating to the user that they'll be able to send photos from this view once they enable photo access. */ "ATTACHMENT_KEYBOARD_NO_PHOTO_ACCESS" = "Дозволете пристап до вашите слики во поставки за да ги испраќате овде."; @@ -231,22 +231,22 @@ "ATTACHMENT_KEYBOARD_NO_PHOTOS" = "Once you’ve taken photos, you’ll be able to send your recents here."; /* Accessibility label for attaching photos */ -"ATTACHMENT_LABEL" = "Прилог"; +"ATTACHMENT_LABEL" = "Прикачување"; /* Alert title when picking a document fails for an unknown reason */ -"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Failed to choose document."; +"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Неуспешно избирање документ."; /* Alert body when picking a document fails because user picked a directory/bundle */ -"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Please create a compressed archive of this file or directory and try sending that instead."; +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Ве молиме создадете компресирана архива од оваа датотека или директориум и обидете се тие да ги испратите наместо документот."; /* Alert title when picking a document fails because user picked a directory/bundle */ -"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Unsupported File"; +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Неподдржана датотека"; /* Short text label for a voice message attachment, used for thread preview and on the lock screen */ "ATTACHMENT_TYPE_VOICE_MESSAGE" = "Гласовна порака"; /* A string indicating that an audio message is playing. */ -"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "Audio Message"; +"AUDIO_ACTIVITY_PLAYBACK_NAME_AUDIO_MESSAGE" = "Аудио порака"; /* action sheet button title to enable built in speaker during a call */ "AUDIO_ROUTE_BUILT_IN_SPEAKER" = "Звучник"; @@ -255,52 +255,52 @@ "BACK_BUTTON" = "Назад"; /* Error indicating the backup export could not export the user's data. */ -"BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Backup data could not be exported."; +"BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Резервната копија не може да биде извезена."; /* Error indicating that the app received an invalid response from CloudKit. */ -"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Invalid Service Response"; +"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Невалиден сервис одговор"; /* Indicates that the cloud is being cleaned up. */ -"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Cleaning Up Backup"; +"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Чистење на резервната копија"; /* Indicates that the backup export is being configured. */ -"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Initializing Backup"; +"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Инсталирање резервна копија"; /* Indicates that the database data is being exported. */ -"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Exporting Data"; +"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Извезување податоци"; /* Indicates that the backup export data is being exported. */ -"BACKUP_EXPORT_PHASE_EXPORT" = "Exporting Backup"; +"BACKUP_EXPORT_PHASE_EXPORT" = "Извезување резервна копија"; /* Indicates that the backup export data is being uploaded. */ -"BACKUP_EXPORT_PHASE_UPLOAD" = "Uploading Backup"; +"BACKUP_EXPORT_PHASE_UPLOAD" = "Прикачување резервна копија"; /* Error indicating the backup import could not import the user's data. */ -"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Backup could not be imported."; +"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Резервната копија не може да биде увезена."; /* Indicates that the backup import is being configured. */ -"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Configuring Backup"; +"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Конфигурирање резервна копија"; /* Indicates that the backup import data is being downloaded. */ -"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Downloading Backup Data"; +"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Преземање на податоци од резервната копија"; /* Indicates that the backup import data is being finalized. */ -"BACKUP_IMPORT_PHASE_FINALIZING" = "Finalizing Backup"; +"BACKUP_IMPORT_PHASE_FINALIZING" = "Завршување на резервната копија"; /* Indicates that the backup import data is being imported. */ -"BACKUP_IMPORT_PHASE_IMPORT" = "Importing backup."; +"BACKUP_IMPORT_PHASE_IMPORT" = "Увезување на резервната копија."; /* Indicates that the backup database is being restored. */ -"BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Restoring Database"; +"BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Враќање на базата на податоци"; /* Indicates that the backup import data is being restored. */ -"BACKUP_IMPORT_PHASE_RESTORING_FILES" = "Restoring Files"; +"BACKUP_IMPORT_PHASE_RESTORING_FILES" = "Враќање на датотеките"; /* Label for the backup restore decision section. */ -"BACKUP_RESTORE_DECISION_TITLE" = "Резервна копија е достапна"; +"BACKUP_RESTORE_DECISION_TITLE" = "Достапна е резервна копија."; /* Label for the backup restore description. */ -"BACKUP_RESTORE_DESCRIPTION" = "Restoring Backup"; +"BACKUP_RESTORE_DESCRIPTION" = "Враќање на резервната копија"; /* Label for the backup restore progress. */ "BACKUP_RESTORE_PROGRESS" = "Напредок"; @@ -309,19 +309,19 @@ "BACKUP_RESTORE_STATUS" = "Статус"; /* Error shown when backup fails due to an unexpected error. */ -"BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error"; +"BACKUP_UNEXPECTED_ERROR" = "Неочекувана грешка на резервната копија"; /* An explanation of the consequences of blocking a group. */ -"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "You will no longer receive messages or updates from this group."; +"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "Повеќе нема да добивате пораки или ажурирања од оваа група."; /* Button label for the 'block' button */ "BLOCK_LIST_BLOCK_BUTTON" = "Блокирај"; /* A format for the 'block group' action sheet title. Embeds the {{group name}}. */ -"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Блокирај и напушти ја ”%@” групата? "; +"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Блокирај и напушти ја ”%@” група? "; /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ -"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Блокирај %@?"; +"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Блокирај го %@"; /* Section header for groups that have been blocked */ "BLOCK_LIST_BLOCKED_GROUPS_SECTION" = "Блокирани групи"; @@ -333,34 +333,34 @@ "BLOCK_LIST_UNBLOCK_BUTTON" = "Одблокирај"; /* An explanation of what unblocking a contact means. */ -"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "You will be able to message and call each other."; +"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "Ќе можете да си испраќате пораки меѓусебно."; /* Action sheet body when confirming you want to unblock a group */ -"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Постојните членови ќе можат повторно да ве додадат во групата."; +"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Постоечките членови ќе можат повторно да ве додадат во групата."; /* An explanation of what unblocking a group means. */ -"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "Group members will be able to add you to this group again."; +"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "Членовите на групата ќе можат повторно да те додаваат во оваа група."; /* Action sheet title when confirming you want to unblock a group. */ -"BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Одблокирај ја оваа група?"; +"BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Одблокирај ја оваа група"; /* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ -"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Одблокирај %@?"; +"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Одблокирај го %@?"; /* A label for the block button in the block list view */ -"BLOCK_LIST_VIEW_BLOCK_BUTTON" = "Блокирај"; +"BLOCK_LIST_VIEW_BLOCK_BUTTON" = "Блокирај."; /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ -"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ е блокиран"; +"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ е блокиран."; /* The title of the 'user blocked' alert. */ -"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Корисникот е Блокиран"; +"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Корисникот е блокиран"; /* The title of the 'group blocked' alert. */ "BLOCK_LIST_VIEW_BLOCKED_GROUP_ALERT_TITLE" = "Групата е блокирана"; /* The message of the 'You can't block yourself' alert. */ -"BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_MESSAGE" = "Неможеш да се блокираш самиот."; +"BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_MESSAGE" = "Не можеш да се блокираш себеси."; /* The title of the 'You can't block yourself' alert. */ "BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_TITLE" = "Грешка"; @@ -369,19 +369,19 @@ "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ беше одблокиран"; /* Alert body after unblocking a group. */ -"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Existing members can now add you to the group again."; +"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Постоечките членови сега повторно ќе може да те додаваат во групата."; /* Action sheet that will block an unknown user. */ "BLOCK_OFFER_ACTIONSHEET_BLOCK_ACTION" = "Блокирај"; /* Title format for action sheet that offers to block an unknown user.Embeds {{the unknown user's name or phone number}}. */ -"BLOCK_OFFER_ACTIONSHEET_TITLE_FORMAT" = "Блокирај %@?"; +"BLOCK_OFFER_ACTIONSHEET_TITLE_FORMAT" = "Блокирај го %@?"; /* An explanation of the consequences of blocking another user. */ "BLOCK_USER_BEHAVIOR_EXPLANATION" = "Блокираните корисници нема да можат да ве контактираат или да ви праќаат пораки."; /* browse files option from file sharing menu */ -"BROWSE_FILES_BUTTON" = "Browse"; +"BROWSE_FILES_BUTTON" = "Прелистување"; /* Label for 'continue' button. */ "BUTTON_CONTINUE" = "Продолжете"; @@ -405,10 +405,10 @@ "CALL_AGAIN_BUTTON_TITLE" = "Јави се повторно"; /* Alert message when calling and permissions for microphone are missing */ -"CALL_AUDIO_PERMISSION_MESSAGE" = "You can enable microphone access in the iOS Settings app to make calls and record voice messages in Signal."; +"CALL_AUDIO_PERMISSION_MESSAGE" = "Можете да овозможите пристап до микрофонот во апликацијата за iOS Поставки за да правите повици и да снимате гласовни пораки во Signal."; /* Alert title when calling and permissions for microphone are missing */ -"CALL_AUDIO_PERMISSION_TITLE" = "Пристап кон микрофонот е задолжителен"; +"CALL_AUDIO_PERMISSION_TITLE" = "Пристап до микрофонот е задолжителен"; /* notification body */ "CALL_INCOMING_NOTIFICATION_BODY" = "☎️ Дојдовен повик"; @@ -417,13 +417,13 @@ "CALL_LABEL" = "Повик"; /* notification body */ -"CALL_MISSED_BECAUSE_OF_IDENTITY_CHANGE_NOTIFICATION_BODY" = "☎️ Пропшутен повик бидејќи сигурносниот број на повикувачот е променет"; +"CALL_MISSED_BECAUSE_OF_IDENTITY_CHANGE_NOTIFICATION_BODY" = "☎️ Пропшутен повик бидејќи сигурносниот број на повикувачот е променет."; /* notification body */ "CALL_MISSED_NOTIFICATION_BODY" = "☎️ Пропуштен повик"; /* Call setup status label after outgoing call times out */ -"CALL_SCREEN_STATUS_NO_ANSWER" = "Нема Одговор"; +"CALL_SCREEN_STATUS_NO_ANSWER" = "Нема одговор"; /* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */ "CALL_STATUS_FORMAT" = "Signal %@"; @@ -444,16 +444,16 @@ "CALL_VIEW_AUDIO_SOURCE_LABEL" = "Аудио"; /* Accessibility label for declining incoming calls */ -"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "Одби дојдовен повик"; +"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "Одбиј дојдовен повик"; /* tooltip label when remote party has enabled their video */ -"CALL_VIEW_ENABLE_VIDEO_HINT" = "Допрете овде за да го уклучите вашето видео"; +"CALL_VIEW_ENABLE_VIDEO_HINT" = "Допрете овде за да го вклучите вашето видео"; /* Accessibility label for hang up call */ "CALL_VIEW_HANGUP_LABEL" = "Заврши го повикот"; /* Accessibility label for muting the microphone */ -"CALL_VIEW_MUTE_LABEL" = "Стиши"; +"CALL_VIEW_MUTE_LABEL" = "Исклучете звук"; /* Reminder to the user of the benefits of enabling CallKit and disabling CallKit privacy. */ "CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "You can enable iOS Call Integration in your Signal privacy settings to answer incoming calls from your lock screen."; @@ -462,13 +462,13 @@ "CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "You can enable iOS Call Integration in your Signal privacy settings to see the name and phone number for incoming calls."; /* Label for button that dismiss the call view's settings nag. */ -"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Не Сега"; +"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Не сега"; /* Label for button that shows the privacy settings. */ "CALL_VIEW_SETTINGS_NAG_SHOW_CALL_SETTINGS" = "Покажи Поставки за Приватност"; /* Accessibility label to toggle front- vs. rear-facing camera */ -"CALL_VIEW_SWITCH_CAMERA_DIRECTION" = "Сменете ја насоката на камерата"; +"CALL_VIEW_SWITCH_CAMERA_DIRECTION" = "Променете ја насоката на камерата"; /* Accessibility label to switch to audio only */ "CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "Префрли на аудио повик"; @@ -477,10 +477,10 @@ "CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "Префрли на видео повик"; /* Label for the 'return to call' banner. */ -"CALL_WINDOW_RETURN_TO_CALL" = "Допри за да се вратиш на повикот"; +"CALL_WINDOW_RETURN_TO_CALL" = "Допрете за да се вратиш на повикот"; /* notification action */ -"CALLBACK_BUTTON_TITLE" = "Јави се назад."; +"CALLBACK_BUTTON_TITLE" = "Јави се назад"; /* The generic name used for calls if CallKit privacy is enabled */ "CALLKIT_ANONYMOUS_CONTACT_NAME" = "Signal Корисник"; @@ -510,7 +510,7 @@ "CHECK_FOR_BACKUP_FAILED_TITLE" = "Грешка"; /* The label for the 'restore backup' button. */ -"CHECK_FOR_BACKUP_RESTORE" = "Врати"; +"CHECK_FOR_BACKUP_RESTORE" = "Обнови"; /* Error indicating that the app could not determine that user's iCloud account status */ "CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal could not determine your iCloud account status. Sign in to your iCloud Account in the iOS settings app to backup your Signal data."; @@ -522,10 +522,10 @@ "CLOUDKIT_STATUS_RESTRICTED" = "Signal was denied access your iCloud account for backups. Grant Signal access to your iCloud Account in the iOS settings app to backup your Signal data."; /* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */ -"COLOR_PICKER_DEMO_MESSAGE_1" = "Choose the color of outgoing messages in this conversation."; +"COLOR_PICKER_DEMO_MESSAGE_1" = "Изберете ја бојата на излезните пораки во овој разговор."; /* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */ -"COLOR_PICKER_DEMO_MESSAGE_2" = "Само вие ќе може да ја видите бојата што ќе ја одберете."; +"COLOR_PICKER_DEMO_MESSAGE_2" = "Само вие ќе можете да ја видите бојата што ќе ја одберете."; /* Modal Sheet title when picking a conversation color. */ "COLOR_PICKER_SHEET_TITLE" = "Боја на разговорот"; @@ -534,16 +534,16 @@ "COMPARE_SAFETY_NUMBER_ACTION" = "Споредете со Таблата со исечоци"; /* Accessibility hint describing what you can do with the compose button */ -"COMPOSE_BUTTON_HINT" = "Select or search for a Signal user to start a conversation with."; +"COMPOSE_BUTTON_HINT" = "Изберете или пребарајте Signal корисник за да започнете разговор со него."; /* Accessibility label from compose button. */ -"COMPOSE_BUTTON_LABEL" = "Compose"; +"COMPOSE_BUTTON_LABEL" = "Создади"; /* Table section header for contact listing when composing a new message */ "COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "Контакти"; /* Table section header for group listing when composing a new message */ -"COMPOSE_MESSAGE_GROUP_SECTION_TITLE" = "групи"; +"COMPOSE_MESSAGE_GROUP_SECTION_TITLE" = "Групи"; /* Table section header for phone number search when composing a new message */ "COMPOSE_MESSAGE_PHONE_NUMBER_SEARCH_SECTION_TITLE" = "Пребарување по телефонски број"; @@ -552,7 +552,7 @@ "COMPOSE_MESSAGE_USERNAME_SEARCH_SECTION_TITLE" = "Пребарување по корисничко име"; /* Multi-line label explaining why compose-screen contact picker is empty. */ -"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users."; +"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Можете да им овозможите пристап на контактите во апликацијата за iOS Поставки за да видите кој од вашите корисници се Signal корисници."; /* No comment provided by engineer. */ "CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete."; @@ -564,7 +564,7 @@ "CONFIRM_DELETE_LINKED_DATA_TEXT" = "This will reset the application by deleting all of your messages from this device. You can always link with your phone again, but that will not restore deleted messages. The app will close after this process is complete."; /* No comment provided by engineer. */ -"CONFIRM_DELETE_LINKED_DATA_TITLE" = "Are you sure you want to delete all data?"; +"CONFIRM_DELETE_LINKED_DATA_TITLE" = "Дали сте сигурни дека сакате да ги избриште сите податоци?"; /* Alert body */ "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Нема да можете да праќате и да примате пораки во оваа група."; @@ -603,7 +603,7 @@ "CONTACT_EMAIL" = "Е–пошта"; /* Label for the 'city' field of a contact's address. */ -"CONTACT_FIELD_ADDRESS_CITY" = "Град"; +"CONTACT_FIELD_ADDRESS_CITY" = "Град."; /* Label for the 'country' field of a contact's address. */ "CONTACT_FIELD_ADDRESS_COUNTRY" = "Држава"; @@ -627,7 +627,7 @@ "CONTACT_FIELD_FAMILY_NAME" = "Презиме"; /* Label for the 'given name' field of a contact. */ -"CONTACT_FIELD_GIVEN_NAME" = "Дадено име"; +"CONTACT_FIELD_GIVEN_NAME" = "Име"; /* Label for the 'middle name' field of a contact. */ "CONTACT_FIELD_MIDDLE_NAME" = "Средно име"; @@ -645,13 +645,13 @@ "CONTACT_PHONE" = "Телефон"; /* table cell subtitle when contact card has no email */ -"CONTACT_PICKER_NO_EMAILS_AVAILABLE" = "Нема достапен емаил."; +"CONTACT_PICKER_NO_EMAILS_AVAILABLE" = "Нема достапна е-пошта."; /* table cell subtitle when contact card has no known phone number */ -"CONTACT_PICKER_NO_PHONE_NUMBERS_AVAILABLE" = "Нема достапен телефонски број."; +"CONTACT_PICKER_NO_PHONE_NUMBERS_AVAILABLE" = "Нема достапен телефонски број"; /* navbar title for contact picker when sharing a contact */ -"CONTACT_PICKER_TITLE" = "Одбери контакт"; +"CONTACT_PICKER_TITLE" = "Избери контакт"; /* Title for the 'Approve contact share' view. */ "CONTACT_SHARE_APPROVAL_VIEW_TITLE" = "Сподели контакт"; @@ -660,7 +660,7 @@ "CONTACT_SHARE_EDIT_NAME_VIEW_TITLE" = "Промени име"; /* Error indicating that an invalid contact cannot be shared. */ -"CONTACT_SHARE_INVALID_CONTACT" = "Не валиден контакт"; +"CONTACT_SHARE_INVALID_CONTACT" = "Невалиден контакт"; /* Error indicating that at least one contact field must be selected before sharing a contact. */ "CONTACT_SHARE_NO_FIELDS_SELECTED" = "No contact fields selected."; @@ -672,7 +672,7 @@ "CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal was unable to complete your support request."; /* button text */ -"CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "Обиди се повторно"; +"CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "Обидете се повторно"; /* Alert body */ "CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional."; @@ -687,7 +687,7 @@ "CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Submit without Debug Log"; /* Label for 'open address in maps app' button in contact view. */ -"CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Отвори во Maps"; +"CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Отвори во Мапи"; /* Label for 'open email in email app' button in contact view. */ "CONTACT_VIEW_OPEN_EMAIL_IN_EMAIL_APP" = "Send Email"; @@ -708,10 +708,10 @@ "CONVERSATION_PICKER_CAN_SELECT_NO_MORE_CONVERSATIONS" = "You can't select more than %@ conversations."; /* table section header for section containing groups */ -"CONVERSATION_PICKER_SECTION_GROUPS" = "групи"; +"CONVERSATION_PICKER_SECTION_GROUPS" = "Групи"; /* table section header for section containing recent conversations */ -"CONVERSATION_PICKER_SECTION_RECENTS" = "Скорешни разговори "; +"CONVERSATION_PICKER_SECTION_RECENTS" = "Неодамнешни разговори "; /* table section header for section containing contacts */ "CONVERSATION_PICKER_SECTION_SIGNAL_CONTACTS" = "Луѓе"; @@ -729,7 +729,7 @@ "CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d од %d совпаѓања"; /* title for conversation settings screen */ -"CONVERSATION_SETTINGS" = "Разговорни подесувања"; +"CONVERSATION_SETTINGS" = "Поставки за разговор"; /* Label for 'add members' button in conversation settings view. */ "CONVERSATION_SETTINGS_ADD_MEMBERS" = "Додај членови"; @@ -741,7 +741,7 @@ "CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "Add to System Contacts"; /* Label indicating that only administrators can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admins"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Администратори"; /* Label indicating that all group members can update the group's attributes: name, avatar, etc. */ "CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "Сите"; @@ -750,10 +750,10 @@ "CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Choose who can edit the group name, avatar and disappearing messages timer."; /* Footer text for the 'block and leave' section of conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "You will no longer receive messages or updates from this group."; +"CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "Повеќе нема да добивате пораки или ажурирања од оваа група."; /* Label for 'block group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Block Group"; +"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Блокирај група"; /* table cell label in conversation settings */ "CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Блокирај ја оваа група"; @@ -762,58 +762,58 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Блокирај го овој корисник"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "Блокирај корисник"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Информации за контактот"; /* Label for table cell which leads to picking a new conversation color */ -"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Боја на разговорот"; +"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Боја на разговор"; /* Label for 'edit attributes access' action in conversation settings view. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Who Can Edit Group Info"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Кој може да ги уредува информациите за групата"; /* Label for button that sets 'group attributes access' to 'administrators-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Only Admins"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Само администратори"; /* Description for the 'edit group attributes access' alert. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Изберете кој ќе може да го променува името на групата, аватарот и изчезнувачките пораки:"; /* Label for button that sets 'group attributes access' to 'members-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "All Members"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "Сите членови"; /* Label for the 'edit group' button in conversation settings view. */ "CONVERSATION_SETTINGS_EDIT_GROUP" = "Измени"; /* Navbar title when viewing settings for a group thread */ -"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Информации за групата"; +"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Информации за група"; /* Label for 'make group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Make Admin"; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Направи администратор"; /* Format for title for 'make group admin' confirmation alert. Embeds {user to make an admin}. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ will be able to remove group members and make other admins."; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ ќе може да отсранува членови на група и да прави други администратори."; /* Section title of the 'members' section in conversation settings view. */ "CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE" = "Членови"; /* Format for the section title of the 'members' section in conversation settings view. Embeds: {{ the number of group members }}. */ -"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Members"; +"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Членови"; /* Title of the 'mute this thread' action sheet. */ -"CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Стиши"; +"CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Исклучи звук"; /* label for 'mute thread' cell in conversation settings */ -"CONVERSATION_SETTINGS_MUTE_LABEL" = "Стиши"; +"CONVERSATION_SETTINGS_MUTE_LABEL" = "Исклучи звук"; /* Indicates that the current thread is not muted. */ "CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "Not muted"; /* Label for button to mute a thread for a day. */ -"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Безгласен 1 ден "; +"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Безгласен 1 ден"; /* Label for button to mute a thread for a hour. */ -"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Безгласен 1 час "; +"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Безгласен 1 час"; /* Label for button to mute a thread for a minute. */ "CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "Безгласен 1 минута"; @@ -828,46 +828,52 @@ "CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "до %@"; /* Label for 'new contact' button in conversation settings view. */ -"CONVERSATION_SETTINGS_NEW_CONTACT" = "Креирај нов контакт"; +"CONVERSATION_SETTINGS_NEW_CONTACT" = "Создади нов контакт"; /* Indicates that there are no pending member invites in the group. */ -"CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "Ниедна"; +"CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "Ништо"; /* Label for 'remove from group' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Remove From Group"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Отстранете од група"; /* Format for title for 'remove from group' confirmation alert. Embeds {user to remove from the group}. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Remove %@ from the group?"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Отстранете го %@од групата?"; /* Label for 'revoke group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Remove as Admin"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Отстрани како Асминистратор"; /* Format for title for 'revoke group admin' confirmation alert. Embeds {user to revoke admin status from}. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Remove %@ as group admin?"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Отстранете го %@ како администратор на групата?"; /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ "CONVERSATION_SETTINGS_SEARCH" = "Пребарај разговор"; /* Label for button that opens conversation settings. */ -"CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Допри за да промениш"; +"CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Допрете за да промените"; /* Label for 'unblock group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; +"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Одблокирај група"; /* Label for 'unblock user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Unblock User"; +"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Одблокирај корисник"; /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Вклучи звук"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Незачувани промени"; + /* Label for 'view all members' button in conversation settings view. */ -"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; +"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Види ги сите членови"; /* Indicates that user is in the system contacts list. */ "CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "Овој корисник е во вашите контакти"; /* Indicates that user's profile has been shared with a group. */ -"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_GROUP" = "Оваа група може да го виде вашиот профил."; +"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_GROUP" = "Оваа група може да го види вашиот профил."; /* Indicates that user's profile has been shared with a user. */ "CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_USER" = "Овој корисник може да го види вашиот профил."; @@ -876,25 +882,25 @@ "CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE" = "Сподели профил"; /* Action that shares user profile with a group. */ -"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE_WITH_GROUP" = "Сподели го твојот профил"; +"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE_WITH_GROUP" = "Споделете го вашиот профил"; /* Action that shares user profile with a user. */ -"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE_WITH_USER" = "Сподели го твојот профил"; +"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE_WITH_USER" = "Споделете го вашиот профил"; /* Message shown in conversation view that offers to add an unknown user to your phone's contacts. */ "CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Додади во контакти"; /* Message shown in conversation view that offers to share your profile with a user. */ -"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile with This User"; +"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Споделете го вашиот профил со овој корисник"; /* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */ -"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "This user is not in your contacts."; +"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Овој корисник не е во вашоте контакти."; /* button text to delete all items in the current conversation */ -"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Delete All"; +"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Избриши се"; /* Indicates that the app is loading more messages in this conversation. */ -"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Вчитувам повеќе пораки..."; +"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Вчитување на повеќе пораки"; /* Indicator on truncated text messages that they can be tapped to see the entire text message. */ "CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Допрете за повеќе"; @@ -903,25 +909,25 @@ "CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Блокирај го овој корисник"; /* ActionSheet title */ -"CORRUPTED_SESSION_DESCRIPTION" = "Ресетирањето на сесијата ќе Ви овозможи да примате пораки од %@ , но нема да ги поврати веќе оштетените пораки."; +"CORRUPTED_SESSION_DESCRIPTION" = "Ресетирањето на сесијата ќе Ви овозможи да примате пораки од %@, но нема да ги поврати веќе оштетените пораки."; /* No comment provided by engineer. */ "COUNTRYCODE_SELECT_TITLE" = "Избери повикувачки број на земјата"; /* Title for the 'crop/scale image' dialog. */ -"CROP_SCALE_IMAGE_VIEW_TITLE" = "Move and Scale"; +"CROP_SCALE_IMAGE_VIEW_TITLE" = "Премести и измери"; /* Subtitle shown while the app is updating its database. */ -"DATABASE_VIEW_OVERLAY_SUBTITLE" = "Ова може да потрае неколку минути"; +"DATABASE_VIEW_OVERLAY_SUBTITLE" = "Ова може да потрае неколку минути."; /* Title shown while the app is updating its database. */ -"DATABASE_VIEW_OVERLAY_TITLE" = "Optimizing Database"; +"DATABASE_VIEW_OVERLAY_TITLE" = "Оптимизирање на базата на податоци"; /* Format string for a relative time, expressed as a certain number of hours in the past. Embeds {{The number of hours}}. */ -"DATE_HOURS_AGO_FORMAT" = "%@ Hr Ago"; +"DATE_HOURS_AGO_FORMAT" = "Пред %@ ч"; /* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */ -"DATE_MINUTES_AGO_FORMAT" = "%@ Min Ago"; +"DATE_MINUTES_AGO_FORMAT" = "Пред %@ мин"; /* The present; the current time. */ "DATE_NOW" = "Сега"; @@ -933,31 +939,31 @@ "DATE_YESTERDAY" = "Вчера"; /* Error indicating that the debug logs could not be copied. */ -"DEBUG_LOG_ALERT_COULD_NOT_COPY_LOGS" = "Could not copy logs."; +"DEBUG_LOG_ALERT_COULD_NOT_COPY_LOGS" = "Логовите не може да бидат копирани."; /* Error indicating that the debug logs could not be packaged. */ -"DEBUG_LOG_ALERT_COULD_NOT_PACKAGE_LOGS" = "Could not package logs."; +"DEBUG_LOG_ALERT_COULD_NOT_PACKAGE_LOGS" = "Логовите не може да бидат спакувани"; /* Error indicating that a debug log could not be uploaded. */ -"DEBUG_LOG_ALERT_ERROR_UPLOADING_LOG" = "Could not upload logs."; +"DEBUG_LOG_ALERT_ERROR_UPLOADING_LOG" = "Логовите не може да бидат прикачени."; /* Message of the debug log alert. */ -"DEBUG_LOG_ALERT_MESSAGE" = "What would you like to do with the link to your debug log?"; +"DEBUG_LOG_ALERT_MESSAGE" = "Што сакате да направите со линкот до вашиот лог за отстранување грешка?"; /* Error indicating that no debug logs could be found. */ -"DEBUG_LOG_ALERT_NO_LOGS" = "Could not find any logs."; +"DEBUG_LOG_ALERT_NO_LOGS" = "Не беа пронајдени логови."; /* Label for the 'Open a Bug Report' option of the debug log alert. */ -"DEBUG_LOG_ALERT_OPTION_BUG_REPORT" = "Open a Bug Report"; +"DEBUG_LOG_ALERT_OPTION_BUG_REPORT" = "Отвори извештај за грешка"; /* Label for the 'copy link' option of the debug log alert. */ "DEBUG_LOG_ALERT_OPTION_COPY_LINK" = "Копирај го линкот"; /* Label for the 'email debug log' option of the debug log alert. */ -"DEBUG_LOG_ALERT_OPTION_EMAIL" = "Email Support"; +"DEBUG_LOG_ALERT_OPTION_EMAIL" = "Е-пошта за Поддршка"; /* Label for the 'send to self' option of the debug log alert. */ -"DEBUG_LOG_ALERT_OPTION_SEND_TO_SELF" = "Испрати на себе"; +"DEBUG_LOG_ALERT_OPTION_SEND_TO_SELF" = "Испрати си себеси"; /* Label for the 'Share' option of the debug log alert. */ "DEBUG_LOG_ALERT_OPTION_SHARE" = "Сподели"; @@ -975,22 +981,22 @@ "DEBUG_LOG_GITHUB_ISSUE_ALERT_TITLE" = "GitHub Redirection"; /* action sheet body */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Delete all messages in the conversation?"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Избриши ги сите пораки во разговорот?"; /* button text */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Delete All Messages"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Избриши ги сите пораки"; /* action sheet body. Embeds {{number of selected messages}} which will be deleted. */ -"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete %ld Messages?"; +"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Избриши ги пораките од %ld?"; /* action sheet body */ -"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete Message?"; +"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Избриши порака?"; /* Label for button that lets users re-register using the same phone number. */ -"DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Re-register this phone number"; +"DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Повторно регистрирај го овој телефонски број"; /* Label warning the user that they have been de-registered. */ -"DEREGISTRATION_WARNING" = "Device no longer registered. Your phone number may be registered with Signal on a different device. Tap to re-register."; +"DEREGISTRATION_WARNING" = "Уредот не е повеќе регистриран. Вашиот телефонски број можеби е регистриран на Signal на друг уред. Допри за повторно да се регистрираш."; /* {{Short Date}} when device last communicated with Signal Server. */ "DEVICE_LAST_ACTIVE_AT_LABEL" = "Последен пат активен: %@"; @@ -999,7 +1005,7 @@ "DEVICE_LINKED_AT_LABEL" = "Поврзан: %@"; /* Alert title that can occur when viewing device manager. */ -"DEVICE_LIST_UPDATE_FAILED_TITLE" = "Неуспешно апдејтирање на листата на уреди."; +"DEVICE_LIST_UPDATE_FAILED_TITLE" = "Неуспешно ажурирање на листата на уреди."; /* table cell label in conversation settings */ "DISAPPEARING_MESSAGES" = "Изчезнувачки пораки"; @@ -1008,13 +1014,13 @@ "DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Пораките во овој разговор ќе исчезнуваат после %@."; /* subheading in conversation settings */ -"DISAPPEARING_MESSAGES_DESCRIPTION" = "Кога е овозможено, испратените и примените пораки во овој разговор ќе исчезнат откако ќе бидат видени ."; +"DISAPPEARING_MESSAGES_DESCRIPTION" = "Кога е овозможено, испратените и примените пораки во овој разговор ќе исчезнат откако ќе бидат видени."; /* Accessibility hint that contains current timeout information */ -"DISAPPEARING_MESSAGES_HINT" = "Моменталните пораките исчезнуваат после %@."; +"DISAPPEARING_MESSAGES_HINT" = "Моменталните пораките исчезнуваат после %@"; /* Accessibility label for disappearing messages */ -"DISAPPEARING_MESSAGES_LABEL" = "Подесувања за изчезнувачките пораки"; +"DISAPPEARING_MESSAGES_LABEL" = "Поставки за изчезнувачките пораки"; /* Short text to dismiss current modal / actionsheet / screen */ "DISMISS_BUTTON_TEXT" = "Откажи"; @@ -1029,28 +1035,28 @@ "EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_TITLE" = "Signal Needs Contact Access to Edit Contact Information"; /* table cell label in conversation settings */ -"EDIT_GROUP_ACTION" = "Измени во група"; +"EDIT_GROUP_ACTION" = "Уреди група"; /* The 'clear avatar' button in the 'edit group' view. */ -"EDIT_GROUP_CLEAR_AVATAR" = "Remove Avatar"; +"EDIT_GROUP_CLEAR_AVATAR" = "Отстрани Аватар"; /* a title for the contacts section of the 'new/update group' view. */ "EDIT_GROUP_CONTACTS_SECTION_TITLE" = "Контакти"; /* The navbar title for the 'update group' view. */ -"EDIT_GROUP_DEFAULT_TITLE" = "Измени во група"; +"EDIT_GROUP_DEFAULT_TITLE" = "Уреди група"; /* Error message indicating the a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "This user can't be added to the group until they upgrade Signal."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "Овој корисник не може да биде додаден во групата додека не го надгради својот Signal."; /* Message for 'group full' error alert when a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Maximum group size of 100 members reached."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Максималниот број од 100 членови по група е достигнат."; /* Error message indicating that an avatar image is invalid and cannot be used. */ -"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Invalid avatar."; +"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Невалиден аватар."; /* Label for the group name in the 'edit group' view. */ -"EDIT_GROUP_GROUP_NAME" = "Group Name"; +"EDIT_GROUP_GROUP_NAME" = "Име на група"; /* An indicator that a user is a new member of the group. */ "EDIT_GROUP_NEW_MEMBER_LABEL" = "Додадено"; @@ -1062,7 +1068,7 @@ "EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this group?"; /* The alert title if user tries to exit update group view without saving changes. */ -"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Не зачувани промени"; +"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Незачувани промени"; /* Short name for edit menu item to copy contents of media message. */ "EDIT_ITEM_COPY_ACTION" = "Копирај"; @@ -1080,7 +1086,7 @@ "EMPTY_CONTACTS_LABEL_LINE2" = "Зошто не поканите некого?"; /* Indicates that user should confirm their 'two factor auth pin'. */ -"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Потврдете го вашиот PIN"; +"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Потврдете го вашиот PIN."; /* Error indicating that attempt to disable 'two-factor auth' failed. */ "ENABLE_2FA_VIEW_COULD_NOT_DISABLE_2FA" = "Could not disable Registration Lock."; @@ -1092,7 +1098,7 @@ "ENABLE_2FA_VIEW_DISABLE_2FA" = "Оневозможи"; /* Label for the 'enable two-factor auth' item in the settings view */ -"ENABLE_2FA_VIEW_ENABLE_2FA" = "Овозможете"; +"ENABLE_2FA_VIEW_ENABLE_2FA" = "Овозможи"; /* Label for the 'next' button in the 'enable two factor auth' views. */ "ENABLE_2FA_VIEW_NEXT_BUTTON" = "Следно"; @@ -1128,19 +1134,19 @@ "END_OF_LIFE_OS_WARNING" = "The latest Signal features won’t work on this version of iOS. Please upgrade this device to receive future Signal updates."; /* Error indicating that the phone's contacts could not be retrieved. */ -"ERROR_COULD_NOT_FETCH_CONTACTS" = "Не можам да пристапам контакти"; +"ERROR_COULD_NOT_FETCH_CONTACTS" = "Не може да им се пристапи на контактите"; /* Error indicating that 'save video' failed. */ "ERROR_COULD_NOT_SAVE_VIDEO" = "Could not save video."; /* Generic notice when message failed to send. */ -"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Неуспешно испраќање на пораката."; +"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Неуспешно испраќање на порака"; /* Error message indicating that message send is disabled due to prekey update failures */ "ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Unable to send due to stale prekey data."; /* Error message indicating that message send failed due to block list */ -"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Неуспешно е да разговарате со корисникот , бидејќи го имате блокирано."; +"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Праќањето на порака на корисникот беше неуспешно, бидејќи го имате блокирано."; /* Generic error used whenever Signal can't contact the server */ "ERROR_DESCRIPTION_NO_INTERNET" = "Signal was unable to connect to the internet. Please try again."; @@ -1161,10 +1167,10 @@ "ERROR_DESCRIPTION_SENDING_UNAUTHORIZED" = "This device is no longer registered with your phone number. Please reinstall Signal."; /* Generic server error */ -"ERROR_DESCRIPTION_SERVER_FAILURE" = "Серверска грешка. Обиди се повторно подоцна."; +"ERROR_DESCRIPTION_SERVER_FAILURE" = "Серверска грешка. Обидете се повторно подоцна."; /* Worst case generic error message */ -"ERROR_DESCRIPTION_UNKNOWN_ERROR" = " Се појави непозната грешка. "; +"ERROR_DESCRIPTION_UNKNOWN_ERROR" = " Се појави непозната грешка."; /* Error message when attempting to send message */ "ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Контактот не е Signal корисник."; @@ -1176,7 +1182,7 @@ "ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal."; /* No comment provided by engineer. */ -"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Добив дупликат порака."; +"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Добиена дупликат порака."; /* No comment provided by engineer. */ "ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Клучот на примателот е неважечки."; @@ -1191,16 +1197,16 @@ "ERROR_MESSAGE_NO_SESSION" = "Нема достапна сесија за контакт."; /* Shown when signal users safety numbers changed */ -"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE" = "Сигурносниот број е променет. "; +"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE" = "Сигурносниот број е променет."; /* Shown when signal users safety numbers changed, embeds the user's {{name or phone number}} */ -"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE_FORMAT" = " Вашиот сигурносен број со %@ е променет. "; +"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE_FORMAT" = " Вашиот сигурносен број %@ е променет."; /* No comment provided by engineer. */ -"ERROR_MESSAGE_UNKNOWN_ERROR" = " Се појави непозната грешка. "; +"ERROR_MESSAGE_UNKNOWN_ERROR" = " Се појави непозната грешка."; /* No comment provided by engineer. */ -"ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "Сигурносниот број е променет. "; +"ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "Сигурносниот број е променет."; /* Error indicating network connectivity problems. */ "ERROR_NETWORK_FAILURE" = "Network Error"; @@ -1221,7 +1227,7 @@ "EXPIRATION_ERROR" = "Your version of Signal has expired! Messages will no longer send successfully. Tap to update to the most recent version."; /* Label warning the user that the app will expire soon. */ -"EXPIRATION_WARNING_SOON" = "Вашата верзија на Signal ќе истече за %d денови. Допри за да наградиш на најновата верзија."; +"EXPIRATION_WARNING_SOON" = "Вашата верзија на Signal ќе истече за %d денови. Допри за да надградиш во најновата верзија."; /* Label warning the user that the app will expire today. */ "EXPIRATION_WARNING_TODAY" = "Your version of Signal will expire today. Tap to update to the most recent version."; @@ -1233,7 +1239,7 @@ "FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Your safety number with %@ has recently changed. You may wish to verify before sending this message again."; /* alert title */ -"FAILED_VERIFICATION_TITLE" = "Неуспешна Потврда на Сигурносен Број!"; +"FAILED_VERIFICATION_TITLE" = "Неуспешна потврда на Сигурносен Број!"; /* Button that marks user as verified after a successful fingerprint scan. */ "FINGERPRINT_SCAN_VERIFY_BUTTON" = "Mark as Verified"; @@ -1260,37 +1266,37 @@ "GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…"; /* A label for generic attachments. */ -"GENERIC_ATTACHMENT_LABEL" = "Прилог"; +"GENERIC_ATTACHMENT_LABEL" = "Прикачување"; /* Error displayed when there is a failure fetching a GIF from the remote service. */ "GIF_PICKER_ERROR_FETCH_FAILURE" = "Failed to fetch the requested GIF. Please verify you are online."; /* Generic error displayed when picking a GIF */ -"GIF_PICKER_ERROR_GENERIC" = " Се појави непозната грешка. "; +"GIF_PICKER_ERROR_GENERIC" = " Се појави непозната грешка"; /* Shown when selected GIF couldn't be fetched */ "GIF_PICKER_FAILURE_ALERT_TITLE" = "Unable to Choose GIF"; /* Alert message shown when user tries to search for GIFs without entering any search terms. */ -"GIF_PICKER_VIEW_MISSING_QUERY" = "Ве молиме внесете го вашето пребарување. "; +"GIF_PICKER_VIEW_MISSING_QUERY" = "Ве молиме внесете го вашето пребарување."; /* Title for the 'GIF picker' dialog. */ -"GIF_PICKER_VIEW_TITLE" = "GIF Пребарување"; +"GIF_PICKER_VIEW_TITLE" = "GIF пребарување"; /* Indicates that an error occurred while searching. */ -"GIF_VIEW_SEARCH_ERROR" = "Грешка. Допри за повторен обид."; +"GIF_VIEW_SEARCH_ERROR" = "Грешка. Допрете за повторен обид."; /* Indicates that the user's search had no results. */ "GIF_VIEW_SEARCH_NO_RESULTS" = "Нема резултати."; /* Placeholder text for the search field in GIF view */ -"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Внесете го вашето пребарување."; +"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Внесете го вашето пребарување"; /* Body message of notification shown during GRDB migration indicating that user may need to open app to view their content. */ "GRDB_MIGRATION_NOTIFICATION_BODY" = "This version of Signal includes database optimizations and performance improvements. You may need to open the app to complete the process."; /* Title of notification shown during GRDB migration indicating that user may need to open app to view their content. */ -"GRDB_MIGRATION_NOTIFICATION_TITLE" = "Optimizing Database"; +"GRDB_MIGRATION_NOTIFICATION_TITLE" = "Оптимизирање на базата на податоци"; /* Message indicating that the access to the group's attributes was changed by the local user. Embeds {{new access level}}. */ "GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group info to “%@“."; @@ -1308,7 +1314,7 @@ "GROUP_ACCESS_LEVEL_ANY" = "Any User"; /* Description of the 'all members' access level. */ -"GROUP_ACCESS_LEVEL_MEMBER" = "All Members"; +"GROUP_ACCESS_LEVEL_MEMBER" = "Сите членови"; /* Description of the 'unknown' access level. */ "GROUP_ACCESS_LEVEL_UNKNOWN" = "Непознато"; @@ -1377,43 +1383,43 @@ "GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Your invitation to the group was revoked."; /* Message indicating that the local user was invited to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ invited you."; +"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ве покани."; /* Message indicating that the local user was invited to the group. */ -"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "You were invited to the group."; +"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "Вие бевте поканети во групата."; /* Message indicating that the local user has joined the group. */ -"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "You joined the group."; +"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "Вие и се приклучивте на групата."; /* Message indicating that the local user was removed from the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed you."; +"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ ве отстрани."; /* Message indicating that the local user was removed from the group by an unknown user. */ -"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "You were removed from the group."; +"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "Вие бевте отстранети од групата."; /* Message indicating that the local user had their administrator role revoked. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Your admin privileges were revoked."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Вашите администраторски привилегии беа отповикани."; /* Message indicating that the local user had their administrator role revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ revoked your admin privileges."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ ги отповика вашите администраторски привилегии."; /* Conversation settings table section title */ "GROUP_MANAGEMENT_SECTION" = "Менаџирање на групата"; /* Label indicating that a group member is an admin. */ -"GROUP_MEMBER_ADMIN_INDICATOR" = "Admin"; +"GROUP_MEMBER_ADMIN_INDICATOR" = "Администратор"; /* Format string for the group member count indicator. Embeds {{ %1$@ the number of members in the group, %2$@ the maximum number of members in the group. }}. */ "GROUP_MEMBER_COUNT_FORMAT" = "%1$@/%2$@"; /* The 'group member count' indicator when there are no members in the group. */ -"GROUP_MEMBER_COUNT_LABEL_0" = "No members"; +"GROUP_MEMBER_COUNT_LABEL_0" = "Нема членови"; /* The 'group member count' indicator when there is 1 member in the group. */ "GROUP_MEMBER_COUNT_LABEL_1" = "1 член"; /* Format for the 'group member count' indicator. Embeds {the number of group members}. */ -"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ members"; +"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ членови"; /* Label indicating the local user. */ "GROUP_MEMBER_LOCAL_USER" = "Вие"; @@ -1422,7 +1428,7 @@ "GROUP_MEMBERS_CALL" = "Повикај"; /* Label indicating that a group has no other members. */ -"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "No members."; +"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "Нема членови."; /* Label for the button that clears all verification errors in the 'group members' view. */ "GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Clear Verification for All"; @@ -1440,157 +1446,157 @@ "GROUP_MEMBERS_SEND_MESSAGE" = "Порака"; /* Placeholder text for 'group name' field. */ -"GROUP_NAME_PLACEHOLDER" = "Group name (required)"; +"GROUP_NAME_PLACEHOLDER" = "Име на групата (потребно)"; /* Message indicating that a remote user has accepted their invite. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ accepted an invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ ја прифати поканата за групата."; /* Message indicating that a remote user has accepted an invite from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ accepted your invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ ја прифати вашата покана за групата."; /* Message indicating that a remote user has accepted their invite. Embeds {{ %1$@ user who accepted their invite, %2$@ user who invited the user}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ accepted an invitation to the group from %2$@."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ ја прифати поканата за групата од %2$@."; /* Message indicating that a remote user was added to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "You added %@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "Вие го додадовте %@."; /* Message indicating that a remote user was added to the group by another user. Embeds {{ %1$@ user who added the user, %2$@ user who was added}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ added %2$@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ го додаде %2$@."; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ was added to the group."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ беше додаден во групата."; /* Message indicating that a remote user has declined their invite. */ -"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 person declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 личност ја одбила поканата за групата."; /* Message indicating that a remote user has declined their invite. Embeds {{ user who invited them }}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 person invited by %@ declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 личност која беше поканета од %@ ја одбила поканата за групата."; /* Message indicating that a remote user has declined an invite to the group from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ declined your invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ ја одби вашата покана за групата."; /* Message indicating that a remote user was granted administrator role. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ is now an admin"; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ сега е администратор"; /* Message indicating that a remote user was granted administrator role by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "You made %@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "Вие го направивте %@ администратор."; /* Message indicating that a remote user was granted administrator role by another user. Embeds {{ %1$@ user who granted, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ made %2$@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ го направи %2$@ администратор."; /* Message indicating that a single remote user's invite was revoked. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Invitation to the group was revoked for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Поканата за групата беше одбиена од 1 личност."; /* Message indicating that a remote user's invite was revoked by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Invitation to the group was revoked for %@."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Поканата за групата беше одбиена од %@."; /* Message indicating that a single remote user's invite was revoked by a remote user. Embeds {{ user who revoked the invite }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ revoked an invitation to the group for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ одби покана за групата од 1 личност."; /* Message indicating that a group of remote users' invites were revoked by a remote user. Embeds {{ %1$@ user who revoked the invite, %2$@ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ revoked an invitation to the group for %2$@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ одби покана за групата за %2$@ луѓе."; /* Message indicating that a group of remote users' invites were revoked. Embeds {{ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Invitations to the group were revoked for %@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Поканите за групата беа одбиени од %@ луѓе."; /* Message indicating that a single remote user was invited to the group. */ -"GROUP_REMOTE_USER_INVITED_1" = "1 person was invited to the group."; +"GROUP_REMOTE_USER_INVITED_1" = "1 личност беше поканета во групата."; /* Message indicating that a remote user was invited to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "You invited %@ to the group."; +"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "Вие го поканивте %@ во групата."; /* Message indicating that a single remote user was invited to the group by the local user. Embeds {{ user who invited the user }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ invited 1 person to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ покани 1 личност во групата."; /* Message indicating that a group of remote users were invited to the group by the local user. Embeds {{ %1$@ user who invited the user, %2$@ number of invited users }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ invited %2$@ people to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ ги покани %2$@ луѓе во групата."; /* Message indicating that a group of remote users were invited to the group. Embeds {{number of invited users}}. */ -"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ people were invited to the group."; +"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ луѓе беа поканети во групата."; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ joined the group."; +"GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ и се приклучи на групата."; /* Message indicating that a remote user has left the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ left the group."; +"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ ја напушти групата."; /* Message indicating that a remote user was removed from the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "You removed %@."; +"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "Вие го отстранивте %@."; /* Message indicating that the remote user was removed from the group. Embeds {{ %1$@ user who removed the user, %2$@ user who was removed}}. */ -"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ removed %2$@."; +"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ го отстрани %2$@."; /* Message indicating that a remote user had their administrator role revoked. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ had their admin privileges revoked."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ ги отповика своите администраторски привилегии."; /* Message indicating that a remote user had their administrator role revoked by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "You revoked admin privileges from %@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "Вие ги отповикавте администраторските привилегии од %@."; /* Message indicating that a remote user had their administrator role revoked by another user. Embeds {{ %1$@ user who revoked, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ revoked admin privileges from %2$@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ ги отповика администраторските привилегии на %2$@."; /* Info message indicating that the group was updated by an unknown user. */ "GROUP_UPDATED" = "Групата е ажурирана."; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED" = "The group avatar was removed."; +"GROUP_UPDATED_AVATAR_REMOVED" = "Аватарот на групата беше отстранет."; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "You removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "Вие го отстранивте аватарот."; /* Message indicating that the group's avatar was removed by a remote user. Embeds {{user who removed the avatar}}. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ го отстрани аватарот. "; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED" = "Updated the group avatar."; +"GROUP_UPDATED_AVATAR_UPDATED" = "Ажурирање на аватарот на групата."; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "You updated the avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "Вие го ажуриравте аватарот на групата."; /* Message indicating that the group's avatar was changed by a remote user. Embeds {{user who changed the avatar}}. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ updated the avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ го ажурираше аватарот на групата."; /* Info message indicating that the group was updated by the local user. */ -"GROUP_UPDATED_BY_LOCAL_USER" = "Вие ја уредивте групата."; +"GROUP_UPDATED_BY_LOCAL_USER" = "Вие ја ажуриравте групата"; /* Info message indicating that the group was updated by another user. Embeds {{remote user name}}. */ -"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ updated the group."; +"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ ја ажурираше групата."; /* Message indicating that the group's name was removed. */ -"GROUP_UPDATED_NAME_REMOVED" = "The group name was removed."; +"GROUP_UPDATED_NAME_REMOVED" = "Името на групата беше отстрането."; /* Message indicating that the group's name was removed by the local user. */ -"GROUP_UPDATED_NAME_REMOVED_BY_LOCAL_USER" = "You removed the group name."; +"GROUP_UPDATED_NAME_REMOVED_BY_LOCAL_USER" = "Вие го отстранивте името на групата."; /* Message indicating that the group's name was removed by a remote user. Embeds {{user who removed the name}}. */ -"GROUP_UPDATED_NAME_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed the group name."; +"GROUP_UPDATED_NAME_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ го отстрани името на групата."; /* Message indicating that the group's name was changed by the local user. Embeds {{new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed the group name to “%@“."; +"GROUP_UPDATED_NAME_UPDATED_BY_LOCAL_USER_FORMAT" = "Вие го применивте името на групата во “%@“."; /* Message indicating that the group's name was changed by a remote user. Embeds {{ %1$@ user who changed the name, %2$@ new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed the group name to “%2$@“."; +"GROUP_UPDATED_NAME_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ го промени името на групата во “%2$@“."; /* Message indicating that the group's name was changed. Embeds {{new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_FORMAT" = "Group name is now “%@”."; +"GROUP_UPDATED_NAME_UPDATED_FORMAT" = "Името на групата сега е “%@“."; /* Message indicating that the local user left the group. */ "GROUP_YOU_LEFT" = "Вие ја напуштивте групата."; /* Message for the 'can't replace group admin' alert. */ -"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Choose a new admin for this group before you leave."; +"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Изберете нов администратор на оваа група пред да ја напуштите."; /* Error indicating that an error occurred while accepting an invite. */ -"GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Could not accept invite."; +"GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Поканата не може да биде примена."; /* Label for 'block group' button in group invite view. */ -"GROUPS_INVITE_BLOCK_GROUP" = "Block Group"; +"GROUPS_INVITE_BLOCK_GROUP" = "Блокирај група"; /* Label for 'block group and inviter' button in group invite view. Embeds {{name of user who invited you}}. */ -"GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Block Group and %@"; +"GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Блокирај Група и %@"; /* Label for 'block inviter' button in group invite view. Embeds {{name of user who invited you}}. */ -"GROUPS_INVITE_BLOCK_INVITER_FORMAT" = "Block %@"; +"GROUPS_INVITE_BLOCK_INVITER_FORMAT" = "Блокирај го %@"; /* Message for the 'replace group admin' alert. */ "GROUPS_REPLACE_ADMIN_ALERT_MESSAGE" = "Before you leave, choose a new admin for this group."; @@ -1602,10 +1608,10 @@ "GROUPS_REPLACE_ADMIN_BUTTON" = "Choose new admin"; /* Label for 'archived conversations' button. */ -"HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Archived Conversations"; +"HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Архивирани разговори"; /* Table cell subtitle label for a conversation the user has blocked. */ -"HOME_VIEW_BLOCKED_CONVERSATION" = "Блокирани"; +"HOME_VIEW_BLOCKED_CONVERSATION" = "Блокиран"; /* Placeholder text for search bar which filters conversations. */ "HOME_VIEW_CONVERSATION_SEARCHBAR_PLACEHOLDER" = "Барај"; @@ -1614,16 +1620,16 @@ "HOME_VIEW_DRAFT_PREFIX" = "Draft: "; /* Format string for a label offering to start a new conversation with your contacts, if you have 1 Signal contact. Embeds {{The name of 1 of your Signal contacts}}. */ -"HOME_VIEW_FIRST_CONVERSATION_OFFER_1_CONTACT_FORMAT" = "Некој од вашите контакти се веќе на Signal, вклучувајќи %@."; +"HOME_VIEW_FIRST_CONVERSATION_OFFER_1_CONTACT_FORMAT" = "Некои од вашите контакти се веќе на Signal, вклучувајќи го %@."; /* Format string for a label offering to start a new conversation with your contacts, if you have 2 Signal contacts. Embeds {{The names of 2 of your Signal contacts}}. */ -"HOME_VIEW_FIRST_CONVERSATION_OFFER_2_CONTACTS_FORMAT" = "Некој од вашите контакти веќе се на Signal, вклучувајќи ги %@ и %@"; +"HOME_VIEW_FIRST_CONVERSATION_OFFER_2_CONTACTS_FORMAT" = "Некои од вашите контакти веќе се на Signal, вклучувајќи ги %@ и %@"; /* Format string for a label offering to start a new conversation with your contacts, if you have at least 3 Signal contacts. Embeds {{The names of 3 of your Signal contacts}}. */ -"HOME_VIEW_FIRST_CONVERSATION_OFFER_3_CONTACTS_FORMAT" = "Некој од вашите контакти се веќе на Signal, вклучувајќи ги %@, %@ и %@"; +"HOME_VIEW_FIRST_CONVERSATION_OFFER_3_CONTACTS_FORMAT" = "Некои од вашите контакти се веќе на Signal, вклучувајќи ги %@, %@ и %@"; /* A label offering to start a new conversation with your contacts, if you have no Signal contacts. */ -"HOME_VIEW_FIRST_CONVERSATION_OFFER_NO_CONTACTS" = "Започнете го вашиот прв разговор тука."; +"HOME_VIEW_FIRST_CONVERSATION_OFFER_NO_CONTACTS" = "Започнете го вашиот прв разговор тука"; /* Table cell subtitle label for a group the user has been added to. {Embeds inviter name} */ "HOME_VIEW_MESSAGE_REQUEST_ADDED_TO_GROUP_FORMAT" = "%@ added you to the group"; @@ -1647,7 +1653,7 @@ "IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment."; /* Call setup status label */ -"IN_CALL_CONNECTING" = "Поврзува..."; +"IN_CALL_CONNECTING" = "Поврзување..."; /* Call setup status label */ "IN_CALL_RECONNECTING" = "Reconnecting…"; @@ -1692,7 +1698,7 @@ "INPUT_TOOLBAR_STICKER_BUTTON_ACCESSIBILITY_LABEL" = "Стикери"; /* accessibility label for the button which records voice memos */ -"INPUT_TOOLBAR_VOICE_MEMO_BUTTON_ACCESSIBILITY_LABEL" = "Гласовна порака "; +"INPUT_TOOLBAR_VOICE_MEMO_BUTTON_ACCESSIBILITY_LABEL" = "Гласовна порака"; /* Message for the alert indicating that an audio file is invalid. */ "INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Invalid audio file."; @@ -1701,7 +1707,7 @@ "INVITE_FLOW_REQUIRES_CONTACT_ACCESS_BODY" = "You can enable contacts access in the iOS Settings app to invite your friends to join Signal."; /* Alert title when contacts disabled while trying to invite contacts to signal */ -"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Дозволи пристап кон контакти"; +"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Дозволете пристап кон контакти"; /* Label for the cell that presents the 'invite contacts' workflow. */ "INVITE_FRIENDS_CONTACT_TABLE_BUTTON" = "Поканете пријатели на Signal"; @@ -1764,7 +1770,7 @@ "KEY_COMMAND_UNARCHIVE" = "Unarchive Conversation"; /* Label for the 'learn more' button. */ -"LEARN_MORE" = "Дознајте повеќе"; +"LEARN_MORE" = "Научете повеќе"; /* Confirmation button within contextual alert */ "LEAVE_BUTTON_TITLE" = "Напушти"; @@ -1794,13 +1800,13 @@ "LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Scan the QR code that is displayed on the device you want to link."; /* Subheading for 'Link New Device' navigation */ -"LINK_NEW_DEVICE_SUBTITLE" = "Скенирајте QR код"; +"LINK_NEW_DEVICE_SUBTITLE" = "Скенирајте го QR кодот"; /* Navigation title when scanning QR code to add new device. */ "LINK_NEW_DEVICE_TITLE" = "Поврзете нов уред"; /* Label for link previews with an unknown host. */ -"LINK_PREVIEW_UNKNOWN_DOMAIN" = "Приказ на линк "; +"LINK_PREVIEW_UNKNOWN_DOMAIN" = "Приказ на линк"; /* Menu item and navbar title for the device manager */ "LINKED_DEVICES_TITLE" = "Поврзани уреди"; @@ -1812,10 +1818,10 @@ "LIST_GROUP_MEMBERS_ACTION" = "Членови на групата"; /* A string indicating that the user can search for a location */ -"LOCATION_PICKER_SEARCH_PLACEHOLDER" = "Побарај по име или адреса"; +"LOCATION_PICKER_SEARCH_PLACEHOLDER" = "Побарајте по име или адреса"; /* The title for the location picker view */ -"LOCATION_PICKER_TITLE" = "Избери локација"; +"LOCATION_PICKER_TITLE" = "Изберете локација"; /* No comment provided by engineer. */ "LOGGING_SECTION" = "Логирање"; @@ -1830,13 +1836,13 @@ "MEDIA_FROM_CAMERA_BUTTON" = "Камера"; /* media picker option to choose from library */ -"MEDIA_FROM_LIBRARY_BUTTON" = "Фото Албум"; +"MEDIA_FROM_LIBRARY_BUTTON" = "Фото Библиотека"; /* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */ -"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Избриши %d пораки"; +"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Избришете %d пораки"; /* Confirmation button text to delete selected media message from the gallery */ -"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Избриши порака"; +"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Избришете порака"; /* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */ "MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@"; @@ -1857,7 +1863,7 @@ "MESSAGE_ACTION_COPY_TEXT" = "Копирај го текстот на пораката"; /* Action sheet button title */ -"MESSAGE_ACTION_DELETE_MESSAGE" = "Избриши ја оваа порака "; +"MESSAGE_ACTION_DELETE_MESSAGE" = "Избриши ја оваа порака"; /* accessibility label */ "MESSAGE_ACTION_DELETE_SELECTED_MESSAGES" = "Delete Selected Messages"; @@ -1884,7 +1890,7 @@ "MESSAGE_COMPOSEVIEW_TITLE" = "Нова порака"; /* Label for file size of attachments in the 'message metadata' view. */ -"MESSAGE_METADATA_VIEW_ATTACHMENT_FILE_SIZE" = "Големина на датотеката"; +"MESSAGE_METADATA_VIEW_ATTACHMENT_FILE_SIZE" = "Големина на датотека"; /* Label for the MIME type of attachments in the 'message metadata' view. */ "MESSAGE_METADATA_VIEW_ATTACHMENT_MIME_TYPE" = "MIME тип"; @@ -1899,7 +1905,7 @@ "MESSAGE_METADATA_VIEW_MESSAGE_STATUS_READ" = "Прочитано"; /* Status label for messages which are sending. */ -"MESSAGE_METADATA_VIEW_MESSAGE_STATUS_SENDING" = "Испраќа..."; +"MESSAGE_METADATA_VIEW_MESSAGE_STATUS_SENDING" = "Испраќање"; /* Status label for messages which are sent. */ "MESSAGE_METADATA_VIEW_MESSAGE_STATUS_SENT" = "Испратено"; @@ -1911,7 +1917,7 @@ "MESSAGE_METADATA_VIEW_MESSAGE_STATUS_UPLOADING" = "Прикачување"; /* Label for messages without a body or attachment in the 'message metadata' view. */ -"MESSAGE_METADATA_VIEW_NO_ATTACHMENT_OR_BODY" = "Пораката нема содржина или прилози"; +"MESSAGE_METADATA_VIEW_NO_ATTACHMENT_OR_BODY" = "Пораката нема содржина или прикачување"; /* Label for the 'received date & time' field of the 'message metadata' view. */ "MESSAGE_METADATA_VIEW_RECEIVED_DATE_TIME" = "Примено"; @@ -1923,7 +1929,7 @@ "MESSAGE_METADATA_VIEW_SENT_DATE_TIME" = "Испратено"; /* Label for the original filename of any attachment in the 'message metadata' view. */ -"MESSAGE_METADATA_VIEW_SOURCE_FILENAME" = "Име на датотеката"; +"MESSAGE_METADATA_VIEW_SOURCE_FILENAME" = "Име на датотека"; /* Title for the 'message metadata' view. */ "MESSAGE_METADATA_VIEW_TITLE" = "Порака"; @@ -1938,7 +1944,7 @@ "MESSAGE_REQUEST_BLOCK_CONVERSATION_MESSAGE" = "Blocked people won’t be able to call you or send you messages."; /* Action sheet title to confirm blocking a contact via a message request. Embeds {{contact name or phone number}} */ -"MESSAGE_REQUEST_BLOCK_CONVERSATION_TITLE_FORMAT" = "Блокирај %@?"; +"MESSAGE_REQUEST_BLOCK_CONVERSATION_TITLE_FORMAT" = "Блокирај го %@?"; /* Action sheet message to confirm blocking a group via a message request. */ "MESSAGE_REQUEST_BLOCK_GROUP_MESSAGE" = "You will leave this group and no longer receive messages or updates."; @@ -1989,13 +1995,13 @@ "MESSAGE_REQUEST_VIEW_GROUP_INVITE_PROMPT_FORMAT" = "You were invited to this group by %@. Do you want to let members of this group message you?"; /* A prompt asking if the user wants to accept a conversation invite. Embeds {{contact name}}. */ -"MESSAGE_REQUEST_VIEW_NEW_CONTACT_PROMPT_FORMAT" = "Дали сакате да дозволите %@ да ви пишува? Тие нема да знаат дека сте ги виделе нивните пораки додека не прифатите."; +"MESSAGE_REQUEST_VIEW_NEW_CONTACT_PROMPT_FORMAT" = "Дали сакате да дозволите %@ да ви пишуваат? Тие нема да знаат дека сте ги виделе нивните пораки додека не прифатите."; /* A prompt asking if the user wants to accept a group invite. Embeds {{group name}}. */ -"MESSAGE_REQUEST_VIEW_NEW_GROUP_PROMPT_FORMAT" = "Дали сакате да се приклучите на %@? Тие нема да знаат дека сте ги виделе нивните пораки додека не прифатите."; +"MESSAGE_REQUEST_VIEW_NEW_GROUP_PROMPT_FORMAT" = "Дали сакате да им се приклучите на %@? Тие нема да знаат дека сте ги виделе нивните пораки додека не прифатите."; /* A button used to share your profile with an existing thread. */ -"MESSAGE_REQUEST_VIEW_SHARE_PROFILE_BUTTON" = "Сподели профил"; +"MESSAGE_REQUEST_VIEW_SHARE_PROFILE_BUTTON" = "Споделете профил"; /* A button used to unlock a blocked conversation. */ "MESSAGE_REQUEST_VIEW_UNBLOCK_BUTTON" = "Одблокирај"; @@ -2016,7 +2022,7 @@ "MESSAGE_STATUS_DELIVERED" = "Доставено"; /* message status while message is downloading. */ -"MESSAGE_STATUS_DOWNLOADING" = "Превземање"; +"MESSAGE_STATUS_DOWNLOADING" = "Преземање"; /* status message for failed messages */ "MESSAGE_STATUS_FAILED" = "Испраќањето е неуспешно."; @@ -2040,7 +2046,7 @@ "MESSAGE_STATUS_SENT" = "Испратено"; /* status message while attachment is uploading */ -"MESSAGE_STATUS_UPLOADING" = "Прикачување... "; +"MESSAGE_STATUS_UPLOADING" = "Прикачување..."; /* placeholder text for the editable message field */ "MESSAGE_TEXT_FIELD_PLACEHOLDER" = "Нова порака"; @@ -2055,19 +2061,19 @@ "MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ is no longer marked as verified. Tap for options."; /* Indicates that a single member of this group has been blocked. */ -"MESSAGES_VIEW_GROUP_1_MEMBER_BLOCKED" = "Вие блокиравте 1 член на групата"; +"MESSAGES_VIEW_GROUP_1_MEMBER_BLOCKED" = "Вие блокиравте 1 член на оваа група"; /* Indicates that this group conversation has been blocked. */ "MESSAGES_VIEW_GROUP_BLOCKED" = "Вие ја блокиравте оваа група"; /* Indicates that some members of this group has been blocked. Embeds {{the number of blocked users in this group}}. */ -"MESSAGES_VIEW_GROUP_N_MEMBERS_BLOCKED_FORMAT" = "Вие блокиравте %@ членови на групата"; +"MESSAGES_VIEW_GROUP_N_MEMBERS_BLOCKED_FORMAT" = "Вие ги блокиравте %@ членови на групата"; /* Indicates that more than one member of this group conversation is no longer verified. */ "MESSAGES_VIEW_N_MEMBERS_NO_LONGER_VERIFIED" = "More than one member of this group is no longer marked as verified. Tap for options."; /* The subtitle for the messages view title indicates that the title can be tapped to access settings for this conversation. */ -"MESSAGES_VIEW_TITLE_SUBTITLE" = "Допрете тука за подесувања"; +"MESSAGES_VIEW_TITLE_SUBTITLE" = "Допрете тука за поставки"; /* Indicator that separates read from unread messages. */ "MESSAGES_VIEW_UNREAD_INDICATOR" = "Нови пораки"; @@ -2106,13 +2112,13 @@ "NAVIGATION_ITEM_SKIP_BUTTON" = "Прескокни"; /* No comment provided by engineer. */ -"NETWORK_ERROR_RECOVERY" = " Ве молиме проверете дека сте приклучени на интернет и обидете се повторно "; +"NETWORK_ERROR_RECOVERY" = "Ве молиме проверете дали сте приклучени на Интернет и обидете се повторно."; /* A label the cell that lets you add a new member to a group. */ "NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Најди по телефонски број"; /* Action Sheet title prompting the user for a group avatar */ -"NEW_GROUP_ADD_PHOTO_ACTION" = "Постави слика на Групата"; +"NEW_GROUP_ADD_PHOTO_ACTION" = "Поставете слика на групата"; /* Label for the 'create new group' button. */ "NEW_GROUP_BUTTON" = "Нова група"; @@ -2160,7 +2166,7 @@ "NEW_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Would you like to discard these changes?"; /* The alert title if user tries to exit the new group view without saving changes. */ -"NEW_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Не зачувани промени"; +"NEW_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Незачувани промени"; /* No comment provided by engineer. */ "new_message" = "Нова порака"; @@ -2208,7 +2214,7 @@ "NOTIFICATIONS_SENDER_AND_MESSAGE" = "Name, Content, and Actions"; /* No comment provided by engineer. */ -"NOTIFICATIONS_SENDER_ONLY" = "Име само"; +"NOTIFICATIONS_SENDER_ONLY" = "Само име"; /* No comment provided by engineer. */ "NOTIFICATIONS_SHOW" = "Прикажи"; @@ -2250,7 +2256,7 @@ "ONBOARDING_2FA_SKIP_PIN_ENTRY_TITLE" = "Skip PIN Entry?"; /* Title of the 'onboarding Captcha' view. */ -"ONBOARDING_CAPTCHA_TITLE" = "Додајте допир на човештво во вашите пораки"; +"ONBOARDING_CAPTCHA_TITLE" = "Додајте хуман гопир во вашите пораки"; /* button indicating that the user will register their ipad */ "ONBOARDING_MODE_SWITCH_BUTTON_PROVISIONING" = "Register iPad"; @@ -2289,7 +2295,7 @@ "ONBOARDING_PHONE_NUMBER_TITLE" = "Внесете го вашиот телефонски број за да започнете"; /* Label indicating that the phone number is invalid in the 'onboarding phone number' view. */ -"ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "Погрешен број"; +"ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "Неважечки број"; /* Explanation of the 'onboarding pin attempts exhausted' view when reglock is disabled. */ "ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_EXPLANATION" = "You’ve run out of PIN guesses, but you can still access your Signal account by creating a new PIN. For your privacy and security your account will be restored without any saved profile information or settings."; @@ -2301,7 +2307,7 @@ "ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_REGLOCK_EXPLANATION" = "To protect your privacy and the security of your account, we’ve locked it for 7 days.\n\nAfter 7 days of inactivity, you’ll be able to reregister this phone number without needing your PIN. All content will be wiped."; /* Label for the 'learn more' link when reglock is enabled in the 'onboarding pin attempts exhausted' view. */ -"ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_REGLOCK_LEARN_MORE" = "Дознајте повеќе за заклучени профили"; +"ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_REGLOCK_LEARN_MORE" = "Дознајте повеќе за заклучени сметки"; /* Title of the 'onboarding pin attempts exhausted' view when reglock is enabled. */ "ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_REGLOCK_TITLE" = "Account Locked"; @@ -2319,7 +2325,7 @@ "ONBOARDING_SPLASH_TERM_AND_PRIVACY_POLICY" = "Terms & Privacy Policy"; /* Title of the 'onboarding splash' view. */ -"ONBOARDING_SPLASH_TITLE" = "Понесете ја приватноста со вас.\n Бидете си себеси во секоја порака. "; +"ONBOARDING_SPLASH_TITLE" = "Земете ја приватноста со Вас.\nБидете свои во секоја порака. "; /* Label for the link that lets users change their phone number in the onboarding views. */ "ONBOARDING_VERIFICATION_BACK_LINK" = "Погрешен број?"; @@ -2346,13 +2352,13 @@ "ONBOARDING_VERIFICATION_RESEND_CODE_BY_SMS_BUTTON" = "Resend Code"; /* Label for the 'resend code by voice' button in the 'onboarding verification' view. */ -"ONBOARDING_VERIFICATION_RESEND_CODE_BY_VOICE_BUTTON" = "Јави ми се "; +"ONBOARDING_VERIFICATION_RESEND_CODE_BY_VOICE_BUTTON" = "Јави ми се"; /* Label for link that can be used when the resent code did not arrive. */ -"ONBOARDING_VERIFICATION_RESENT_CODE_MISSING_LINK" = "Се уште нема код?"; +"ONBOARDING_VERIFICATION_RESENT_CODE_MISSING_LINK" = "Сеуште нема код?"; /* Format for the title of the 'onboarding verification' view. Embeds {{the user's phone number}}. */ -"ONBOARDING_VERIFICATION_TITLE_DEFAULT_FORMAT" = "Внесете го кодот што го испративме на %@"; +"ONBOARDING_VERIFICATION_TITLE_DEFAULT_FORMAT" = "Внесете го кодот што ви го испративме на %@"; /* Format for the title of the 'onboarding verification' view after the verification code has been resent. Embeds {{the user's phone number}}. */ "ONBOARDING_VERIFICATION_TITLE_RESENT_FORMAT" = "We just resent a code to %@"; @@ -2364,7 +2370,7 @@ "OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ ги оневозможи исчезнувачките пораки."; /* Info Message when another user enabled disappearing messages. Embeds {{name of other user}} and {{time amount}} before messages disappear. See the *_TIME_AMOUNT strings for context. */ -"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ го подеси исчезнувањето на пораките на време до %@."; +"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ го постави времето на исчезнување на пораките на %@."; /* Label warning the user that the Signal service may be down. */ "OUTAGE_WARNING" = "Signal is experiencing technical difficulties. We are working hard to restore service as quickly as possible."; @@ -2379,7 +2385,7 @@ "OUTGOING_MISSED_CALL" = "Unanswered outgoing call"; /* A display format for oversize text messages. */ -"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@..."; +"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@"; /* Error indicating that a PDF could not be displayed. */ "PDF_VIEW_COULD_NOT_RENDER" = "PDF could not be displayed"; @@ -2490,7 +2496,7 @@ "PHOTO_CAPTURE_UNABLE_TO_CAPTURE_IMAGE" = "Unable to capture image."; /* alert title */ -"PHOTO_CAPTURE_UNABLE_TO_INITIALIZE_CAMERA" = "Неуспешно подесување на камерата."; +"PHOTO_CAPTURE_UNABLE_TO_INITIALIZE_CAMERA" = "Неуспешно поставување на камерата."; /* label for system photo collections which have no name. */ "PHOTO_PICKER_UNNAMED_COLLECTION" = "Неименуван албум"; @@ -2499,7 +2505,7 @@ "PIN_CREATION_ALPHANUMERIC_HINT" = "PIN must be at least 4 characters"; /* Title of the 'pin creation' recreation view. */ -"PIN_CREATION_CHANGING_TITLE" = "Сменете го вашиот PIN"; +"PIN_CREATION_CHANGING_TITLE" = "Променете го вашиот PIN."; /* Title of the 'pin creation' confirmation view. */ "PIN_CREATION_CONFIRM_TITLE" = "Confirm your PIN"; @@ -2538,10 +2544,10 @@ "PIN_CREATION_RECREATION_EXPLANATION" = "You can change your PIN as long as this device is registered."; /* Title of the 'pin creation' recreation view. */ -"PIN_CREATION_RECREATION_TITLE" = "Сменете го вашиот PIN"; +"PIN_CREATION_RECREATION_TITLE" = "Променете го вашиот PIN."; /* Title of the 'pin creation' view. */ -"PIN_CREATION_TITLE" = "Направете го вашиот PIN"; +"PIN_CREATION_TITLE" = "Создадете го вашиот PIN"; /* Label indicating that the attempted PIN is too weak */ "PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; @@ -2604,22 +2610,22 @@ "PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "You have not marked %@ as verified."; /* Badge indicating that the user is verified. */ -"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Потвррден"; +"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Потврден"; /* Label indicating that the user is verified. Embeds {{the user's name or phone number}}. */ "PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "%@ is verified."; /* Button that shows the 'scan with camera' view. */ -"PRIVACY_TAP_TO_SCAN" = "Допри да скенираш "; +"PRIVACY_TAP_TO_SCAN" = "Допрете за да скенирате"; /* Button that lets user mark another user's identity as unverified. */ "PRIVACY_UNVERIFY_BUTTON" = "Clear Verification"; /* Alert body when verifying with {{contact name}} */ -"PRIVACY_VERIFICATION_FAILED_I_HAVE_WRONG_KEY_FOR_THEM" = "Ова не изгледа како Вашиот сигурносен број со %@. Дали го потврдуваш точниот контакт?"; +"PRIVACY_VERIFICATION_FAILED_I_HAVE_WRONG_KEY_FOR_THEM" = "Ова не изгледа како Вашиот сигурносен број %@. Дали го потврдувате точниот контакт?"; /* Alert body */ -"PRIVACY_VERIFICATION_FAILED_MISMATCHED_SAFETY_NUMBERS_IN_CLIPBOARD" = "Бројот на твојата табла со исечоци не изгледа како точниот сигурносен број за овој разговор."; +"PRIVACY_VERIFICATION_FAILED_MISMATCHED_SAFETY_NUMBERS_IN_CLIPBOARD" = "Бројот на вашата табла со исечоци не изгледа како точниот сигурносен број за овој разговор."; /* Alert body for user error */ "PRIVACY_VERIFICATION_FAILED_NO_SAFETY_NUMBERS_IN_CLIPBOARD" = "Signal неможе да најде сигурносен број на твојата табла со исечоци. Дали го точно го копиравте?"; @@ -2637,7 +2643,7 @@ "PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "The scanned code doesn't look like a safety number. Are you both on an up-to-date version of Signal?"; /* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */ -"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Ако сакате да ја потврдите сигурноста на вашата крај-до-крај енкрипција со %@, споредете ги горните броеви со броевите на нивниот уред.\n\nАлтернативно, можете да го скенирате кодот на нивниот телефон, или да ги прашате да го скенираат вашиот код."; +"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Ако сакате да ја потврдите сигурноста на вашата од-крај-до-крај енкрипција со %@, споредете ги погорните броеви со броевите на нивниот уред.\n\nАлтернативно, можете да го скенирате кодот на нивниот телефон, или да ги прашате тие да го скенираат вашиот код."; /* Navbar title */ "PRIVACY_VERIFICATION_TITLE" = "Потврдете го сигурносниот број"; @@ -2712,7 +2718,7 @@ "PROFILE_VIEW_USERNAME_FIELD" = "Корисничко име"; /* Notification action button title */ -"PUSH_MANAGER_MARKREAD" = "Означки како прочитано"; +"PUSH_MANAGER_MARKREAD" = "Означете како прочитано"; /* Notification action button title */ "PUSH_MANAGER_REPLY" = "Одговори"; @@ -2730,19 +2736,19 @@ "QUOTED_REPLY_AUTHOR_INDICATOR_FORMAT" = "Одговарате на %@"; /* message header label when someone else is quoting you */ -"QUOTED_REPLY_AUTHOR_INDICATOR_YOU" = "Одговараат на тебе"; +"QUOTED_REPLY_AUTHOR_INDICATOR_YOU" = "Ви одговараат вам"; /* Footer label that appears below quoted messages when the quoted content was not derived locally. When the local user doesn't have a copy of the message being quoted, e.g. if it had since been deleted, we instead show the content specified by the sender. */ "QUOTED_REPLY_CONTENT_FROM_REMOTE_SOURCE" = "Оригиналната порака не е пронајдена."; /* Toast alert text shown when tapping on a quoted message which we cannot scroll to because the local copy of the message was since deleted. */ -"QUOTED_REPLY_ORIGINAL_MESSAGE_DELETED" = "Оригиналната порака не е повеќе достапна."; +"QUOTED_REPLY_ORIGINAL_MESSAGE_DELETED" = "Оригиналната порака повеќе не е достапна."; /* Toast alert text shown when tapping on a quoted message which we cannot scroll to because the local copy of the message didn't exist when the quote was received. */ "QUOTED_REPLY_ORIGINAL_MESSAGE_REMOTELY_SOURCED" = "Оригиналната порака не е пронајдена."; /* Indicates this message is a quoted reply to an attachment of unknown type. */ -"QUOTED_REPLY_TYPE_ATTACHMENT" = "Прилог"; +"QUOTED_REPLY_TYPE_ATTACHMENT" = "Прикачување"; /* Indicates this message is a quoted reply to an audio file. */ "QUOTED_REPLY_TYPE_AUDIO" = "Звук"; @@ -2844,16 +2850,16 @@ "REGISTER_CONTACTS_WELCOME" = "Добродојдовте!"; /* No comment provided by engineer. */ -"REGISTER_FAILED_TRY_AGAIN" = "Обиди се повторно"; +"REGISTER_FAILED_TRY_AGAIN" = "Обидете се повторно"; /* action sheet body */ -"REGISTER_RATE_LIMITING_BODY" = "Се обидувавте многу често. Ве молиме почекајте малце и обидете се повторно"; +"REGISTER_RATE_LIMITING_BODY" = "Се обидувавте премногу често. Ве молиме почекајте пред да се обидете повторно."; /* No comment provided by engineer. */ -"REGISTER_RATE_LIMITING_ERROR" = "Се обидувавте многу често. Ве молиме почекајте малце и обидете се повторно"; +"REGISTER_RATE_LIMITING_ERROR" = "Се обидувавте премногу често. Ве молиме почекајте пред да се обидете повторно."; /* Title of alert shown when push tokens sync job fails. */ -"REGISTRATION_BODY" = "Неуспешно при повторно регистирањето за автоматски известувања."; +"REGISTRATION_BODY" = "Повторното регистирањето за автоматски известувања беше неуспешно."; /* Label for the country code field */ "REGISTRATION_DEFAULT_COUNTRY_NAME" = "Повикувачки број на земјата"; @@ -2865,10 +2871,10 @@ "REGISTRATION_ERROR" = "Грешка при регистрирањето"; /* alert body during registration */ -"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Не можеме да го активираме вашиот профил , се додека не го потврдете кодот кој што ви го испративме."; +"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Не можеме да го активираме вашиот профил, се додека не го потврдете кодот кој што ви го испративме."; /* No comment provided by engineer. */ -"REGISTRATION_NON_VALID_NUMBER" = "Овој тип на број не е поддржан, Ве молиме контактирајте го тимот за поддршка."; +"REGISTRATION_NON_VALID_NUMBER" = "Овој формат на број не е поддржан, Ве молиме контактирајте го тимот за поддршка."; /* Label for the phone number textfield */ "REGISTRATION_PHONENUMBER_BUTTON" = "Телефонски број"; @@ -2943,7 +2949,7 @@ "SAFETY_NUMBER_SHARE_FORMAT" = "Нашиот Signal Сигурносен Број :\n%@"; /* Action sheet heading */ -"SAFETY_NUMBERS_ACTIONSHEET_TITLE" = "Вашиот сигурносен број со %@ е променет. Можеби Би сакале да го потврдете. "; +"SAFETY_NUMBERS_ACTIONSHEET_TITLE" = "Вашиот сигурносен број %@ е променет. Можеби сакате да го потврдете. "; /* label presented once scanning (camera) view is visible. */ "SCAN_CODE_INSTRUCTIONS" = "Скенирајте го QR на уредот на вашите контакти."; @@ -2958,7 +2964,7 @@ "SCREEN_LOCK_ENABLE_UNKNOWN_ERROR" = "Authentication could not be accessed."; /* Indicates that Touch ID/Face ID/Phone Passcode authentication failed. */ -"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_FAILED" = " Проверка на автентичноста е неуспешна."; +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_FAILED" = "Науспешна автентикација"; /* Indicates that Touch ID/Face ID/Phone Passcode is 'locked out' on this device due to authentication failures. */ "SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_LOCKOUT" = "Too many failed authentication attempts. Please try again later."; @@ -2976,7 +2982,7 @@ "SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Потребна е проверка на автентичноста за да го отворите Signal."; /* Title for alert indicating that screen lock could not be unlocked. */ -"SCREEN_LOCK_UNLOCK_FAILED" = "Проверка на автентичноста е неуспешна"; +"SCREEN_LOCK_UNLOCK_FAILED" = "Науспешна автентикација"; /* Label for button on lock screen that lets users unlock Signal. */ "SCREEN_LOCK_UNLOCK_SIGNAL" = "Отклучи го Signal"; @@ -3186,7 +3192,7 @@ "SELECT_THREAD_TABLE_OTHER_CHATS_TITLE" = "Други контакти"; /* Table section header for recently active conversations */ -"SELECT_THREAD_TABLE_RECENT_CHATS_TITLE" = "Скорешни разговори "; +"SELECT_THREAD_TABLE_RECENT_CHATS_TITLE" = "Неодамнешни разговори"; /* No comment provided by engineer. */ "SEND_AGAIN_BUTTON" = "Испрати повторно"; @@ -3195,10 +3201,10 @@ "SEND_BUTTON_TITLE" = "Испрати"; /* notification body */ -"SEND_FAILED_NOTIFICATION_BODY" = "Неуспешно праќање на вашата порака."; +"SEND_FAILED_NOTIFICATION_BODY" = "Неуспешно праќање на вашата порака"; /* Alert body after invite failed */ -"SEND_INVITE_FAILURE" = "Неуспешно Испраќање покана, Ве молиме обидете се повторно подоцна."; +"SEND_INVITE_FAILURE" = "Неуспешно испраќање покана, Ве молиме обидете се повторно подоцна."; /* Alert body after invite succeeded */ "SEND_INVITE_SUCCESS" = "Го поканивте вашиот пријател да го користи Signal!"; @@ -3207,7 +3213,7 @@ "SEND_MEDIA_CONFIRM_ABANDON_ALBUM" = "Discard Media"; /* alert action when the user decides not to cancel the media flow after all. */ -"SEND_MEDIA_RETURN_TO_CAMERA" = "Врати се на камера"; +"SEND_MEDIA_RETURN_TO_CAMERA" = "Врати се на Камера"; /* alert action when the user decides not to cancel the media flow after all. */ "SEND_MEDIA_RETURN_TO_MEDIA_LIBRARY" = "Return to Media Library"; @@ -3222,7 +3228,7 @@ "SETTINGS_ABOUT" = "За апликацијата"; /* Title for the 'add to block list' view. */ -"SETTINGS_ADD_TO_BLOCK_LIST_TITLE" = "Блокирани"; +"SETTINGS_ADD_TO_BLOCK_LIST_TITLE" = "Блокирај"; /* Label for the 'manual censorship circumvention' switch. */ "SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION" = "Censorship Circumvention"; @@ -3249,19 +3255,19 @@ "SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_HEADER" = "Censorship Circumvention"; /* No comment provided by engineer. */ -"SETTINGS_ADVANCED_DEBUGLOG" = "Овозможете листа за отстранување грешки"; +"SETTINGS_ADVANCED_DEBUGLOG" = "Овозможете листа за отстранување на грешки"; /* No comment provided by engineer. */ -"SETTINGS_ADVANCED_SUBMIT_DEBUGLOG" = "Доставете листа за отстранување грешки"; +"SETTINGS_ADVANCED_SUBMIT_DEBUGLOG" = "Доставете листа за отстранување на грешки"; /* No comment provided by engineer. */ -"SETTINGS_ADVANCED_TITLE" = "Напредни "; +"SETTINGS_ADVANCED_TITLE" = "Напредни"; /* table cell label */ "SETTINGS_ADVANCED_VIEW_ERROR_LOG" = "Error Logs"; /* The title for the theme section in the appearance settings. */ -"SETTINGS_APPEARANCE_THEME_TITLE" = "Дизајн"; +"SETTINGS_APPEARANCE_THEME_TITLE" = "Тема"; /* The title for the appearance settings. */ "SETTINGS_APPEARANCE_TITLE" = "Изглед"; @@ -3279,7 +3285,7 @@ "SETTINGS_BACKUP_CANCEL_BACKUP" = "Откажи резервна копија"; /* Label for switch in settings that controls whether or not backup is enabled. */ -"SETTINGS_BACKUP_ENABLING_SWITCH" = "Резервна копија е овозможена"; +"SETTINGS_BACKUP_ENABLING_SWITCH" = "Резервната копија е овозможена"; /* Label for iCloud status row in the in the backup settings view. */ "SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud статус"; @@ -3306,19 +3312,19 @@ "SETTINGS_BACKUP_STATUS" = "Статус"; /* Indicates that the last backup failed. */ -"SETTINGS_BACKUP_STATUS_FAILED" = "Резервната копија е неуспешна"; +"SETTINGS_BACKUP_STATUS_FAILED" = "Неуспешна резервната копија"; /* Indicates that app is not backing up. */ "SETTINGS_BACKUP_STATUS_IDLE" = "Waiting"; /* Indicates that app is backing up. */ -"SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Правам резервна копија"; +"SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Правење резервна копија"; /* Indicates that the last backup succeeded. */ "SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Backup Successful"; /* A label for the 'add phone number' button in the block list table. */ -"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Додај блокиран корисник"; +"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Додадете блокиран корисник"; /* A label that indicates the user has no Signal contacts. */ "SETTINGS_BLOCK_LIST_NO_CONTACTS" = "Немате контакти на Signal."; @@ -3339,10 +3345,10 @@ "SETTINGS_CLEAR_HISTORY" = "Clear Conversation History"; /* No comment provided by engineer. */ -"SETTINGS_COPYRIGHT" = "Авторски права Signal Messenger \nСо лиценца од GPLv3"; +"SETTINGS_COPYRIGHT" = "Авторски права Signal Messenger\nСо лиценца од GPLv3"; /* No comment provided by engineer. */ -"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Избришете профил"; +"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Избриши сметка"; /* Label for 'delete data' button. */ "SETTINGS_DELETE_DATA_BUTTON" = "Delete All Data"; @@ -3375,10 +3381,10 @@ "SETTINGS_LEGAL_TERMS_CELL" = "Terms & Privacy Policy"; /* Setting for enabling & disabling link previews. */ -"SETTINGS_LINK_PREVIEWS" = "Праќај приказ на линк"; +"SETTINGS_LINK_PREVIEWS" = "Испрати приказ на линк."; /* Footer for setting for enabling & disabling link previews. */ -"SETTINGS_LINK_PREVIEWS_FOOTER" = "Прикази се подржани за Imgur, Instagram, Pinterest, Reddit и YouTube линкови."; +"SETTINGS_LINK_PREVIEWS_FOOTER" = "Приказите се подржани за Imgur, Instagram, Pinterest, Reddit и YouTube линкови."; /* Header for setting for enabling & disabling link previews. */ "SETTINGS_LINK_PREVIEWS_HEADER" = "Приказ на линк"; @@ -3393,7 +3399,7 @@ "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Содржина на известување"; /* When the local device discovers a contact has recently installed signal, the app can generates a message encouraging the local user to say hello. Turning this switch off disables that feature. */ -"SETTINGS_NOTIFICATION_EVENTS_CONTACT_JOINED_SIGNAL" = "Контакт се приклучи на Signal "; +"SETTINGS_NOTIFICATION_EVENTS_CONTACT_JOINED_SIGNAL" = "Контакт се приклучи на Signal"; /* table section header */ "SETTINGS_NOTIFICATION_EVENTS_SECTION_TITLE" = "Настани"; @@ -3405,7 +3411,7 @@ "SETTINGS_PINS_FOOTER" = "PINs keep information stored with Signal encrypted so only you can access it. Your profile, settings, and contacts will restore when you reinstall Signal."; /* Label for the 'pins' item of the privacy settings when the user does have a pin. */ -"SETTINGS_PINS_ITEM" = "Сменете го вашиот PIN"; +"SETTINGS_PINS_ITEM" = "Променете го вашиот PIN"; /* Label for the 'pins' item of the privacy settings when the user doesn't have a pin. */ "SETTINGS_PINS_ITEM_CREATE" = "Create a PIN"; @@ -3420,7 +3426,7 @@ "SETTINGS_PRIVACY_CALLKIT_SYSTEM_CALL_LOG_PREFERENCE_DESCRIPTION" = "Show calls in the \"Recents\" list in the iOS Phone app."; /* Short table cell label */ -"SETTINGS_PRIVACY_CALLKIT_SYSTEM_CALL_LOG_PREFERENCE_TITLE" = "Покажи повици во скорешни"; +"SETTINGS_PRIVACY_CALLKIT_SYSTEM_CALL_LOG_PREFERENCE_TITLE" = "Покажи повици во Неодамнешни"; /* Short table cell label */ "SETTINGS_PRIVACY_CALLKIT_TITLE" = "iOS интегрирање на повици"; @@ -3540,37 +3546,37 @@ "SHARE_ACTION_MESSAGE" = "Порака"; /* action sheet item */ -"SHARE_ACTION_TWEET" = "Твитер"; +"SHARE_ACTION_TWEET" = "Twitter"; /* alert body when sharing file failed because of untrusted/changed identity keys */ "SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Your safety number with %@ has recently changed. You may wish to verify it in the main app before resending."; /* Indicates that the share extension is still loading. */ -"SHARE_EXTENSION_LOADING" = " Се вчитува..."; +"SHARE_EXTENSION_LOADING" = "Вчитување..."; /* Message indicating that the share extension cannot be used until the user has registered in the main app. */ -"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Отворија Signal апликацијата за да се регистрирате."; +"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Отворете ја Signal апликацијата за да се регистрирате."; /* Title indicating that the share extension cannot be used until the user has registered in the main app. */ -"SHARE_EXTENSION_NOT_REGISTERED_TITLE" = "Не е регистриран"; +"SHARE_EXTENSION_NOT_REGISTERED_TITLE" = "Нерегистриран"; /* Message indicating that the share extension cannot be used until the main app has been launched at least once. */ "SHARE_EXTENSION_NOT_YET_MIGRATED_MESSAGE" = "Launch the Signal app to update or register."; /* Title indicating that the share extension cannot be used until the main app has been launched at least once. */ -"SHARE_EXTENSION_NOT_YET_MIGRATED_TITLE" = "Не е спремено"; +"SHARE_EXTENSION_NOT_YET_MIGRATED_TITLE" = "Неподготвено"; /* Alert title */ "SHARE_EXTENSION_SENDING_FAILURE_TITLE" = "Unable to Send Attachment"; /* Alert title */ -"SHARE_EXTENSION_SENDING_IN_PROGRESS_TITLE" = "Прикачување... "; +"SHARE_EXTENSION_SENDING_IN_PROGRESS_TITLE" = "Прикачување..."; /* Shown when trying to share content to a Signal user for the share extension. Followed by failure details. */ "SHARE_EXTENSION_UNABLE_TO_BUILD_ATTACHMENT_ALERT_TITLE" = "Unable to Prepare Attachment"; /* Title for the 'share extension' view. */ -"SHARE_EXTENSION_VIEW_TITLE" = "Сподели на Signal"; +"SHARE_EXTENSION_VIEW_TITLE" = "Сподели со Signal"; /* Action sheet item */ "SHOW_SAFETY_NUMBER_ACTION" = "Прикажи сигурноснен број"; @@ -3582,7 +3588,7 @@ "SMS_INVITE_BODY" = "Те поканувам да го инсталираш Signal. Еве ја адресата:"; /* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */ -"SOUNDS_NONE" = "Ниедна"; +"SOUNDS_NONE" = "Ништо"; /* Preview text shown in notifications and conversation list for sticker messages. */ "STICKER_MESSAGE_PREVIEW" = "Sticker Message"; @@ -3600,7 +3606,7 @@ "STICKERS_MANAGE_VIEW_AVAILABLE_BUILT_IN_PACKS_SECTION_TITLE" = "Signal Artist Series"; /* Title for the 'available known stickers' section of the 'manage stickers' view. */ -"STICKERS_MANAGE_VIEW_AVAILABLE_KNOWN_PACKS_SECTION_TITLE" = "Стикери што сте ги примиле"; +"STICKERS_MANAGE_VIEW_AVAILABLE_KNOWN_PACKS_SECTION_TITLE" = "Примени стикери"; /* Label indicating that one or more known sticker packs failed to load. */ "STICKERS_MANAGE_VIEW_FAILED_KNOWN_PACKS" = "Some sticker packs failed to load"; @@ -3612,7 +3618,7 @@ "STICKERS_MANAGE_VIEW_LOADING_KNOWN_PACKS" = "Се вчитува..."; /* Label indicating that the user has no installed sticker packs. */ -"STICKERS_MANAGE_VIEW_NO_INSTALLED_PACKS" = "Нема стикери инсталирано"; +"STICKERS_MANAGE_VIEW_NO_INSTALLED_PACKS" = "Нема инсталирано стикери"; /* Label indicating that the user has no known sticker packs. */ "STICKERS_MANAGE_VIEW_NO_KNOWN_PACKS" = "Stickers from incoming messages will appear here"; @@ -3660,46 +3666,46 @@ "THREAD_DETAILS_TWO_MUTUAL_GROUP" = "Член на %@ и %@"; /* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_DAYS" = "%@денови"; +"TIME_AMOUNT_DAYS" = "%@ денови"; /* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@д"; +"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d"; /* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_HOURS" = "%@часа"; +"TIME_AMOUNT_HOURS" = "%@ часа"; /* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@ч"; +"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h"; /* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_MINUTES" = "%@минути"; +"TIME_AMOUNT_MINUTES" = "%@ минути"; /* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@м"; +"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@m"; /* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_SECONDS" = "%@секунди"; +"TIME_AMOUNT_SECONDS" = "%@ секунди"; /* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@с"; +"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@s"; /* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_SINGLE_DAY" = "%@ден"; +"TIME_AMOUNT_SINGLE_DAY" = "%@ ден"; /* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_SINGLE_HOUR" = "%@час"; +"TIME_AMOUNT_SINGLE_HOUR" = "%@ час"; /* {{1 minute}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 minute}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_SINGLE_MINUTE" = "%@"; +"TIME_AMOUNT_SINGLE_MINUTE" = "%@ минута"; /* {{1 week}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 week}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_SINGLE_WEEK" = "%@недела"; +"TIME_AMOUNT_SINGLE_WEEK" = "%@ недела"; /* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_WEEKS" = "%@недели"; +"TIME_AMOUNT_WEEKS" = "%@ недели"; /* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */ -"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@н"; +"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@w"; /* Label for the cancel button in an alert or action sheet. */ "TXT_CANCEL_TITLE" = "Откажи"; @@ -3708,13 +3714,13 @@ "TXT_DELETE_TITLE" = "Избриши"; /* Pressing this button moves an archived thread from the archive back to the inbox */ -"UNARCHIVE_ACTION" = "Одархивирај"; +"UNARCHIVE_ACTION" = "Извади од архива"; /* Message shown in conversation view that offers to block an unknown user. */ "UNKNOWN_CONTACT_BLOCK_OFFER" = "Корисникот го нема во вашите контакти. Дали сакате да го блокирате корисникот?"; /* Displayed if for some reason we can't determine a contacts phone number *or* name */ -"UNKNOWN_CONTACT_NAME" = "непознат контакт"; +"UNKNOWN_CONTACT_NAME" = "Непознат контакт"; /* Label for unknown countries. */ "UNKNOWN_COUNTRY_NAME" = "Непозната држава"; @@ -3750,7 +3756,7 @@ "UNKNOWN_USER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Disappearing message time was set to %@."; /* Indicates an unknown or unrecognizable value. */ -"UNKNOWN_VALUE" = "непознато"; +"UNKNOWN_VALUE" = "Непознато"; /* button title for unlinking a device */ "UNLINK_ACTION" = "Исклучен"; @@ -3777,13 +3783,13 @@ "UNSUPPORTED_ATTACHMENT" = "Примен неподржан тип на прилог"; /* No comment provided by engineer. */ -"UNSUPPORTED_FEATURE_ERROR" = "Вашиот уред не ја поддржува оваа функција."; +"UNSUPPORTED_FEATURE_ERROR" = "Вашиот уред не ја поддржува оваа карактеристика."; /* Title for alert indicating that group members can't be removed. */ "UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "You cannot remove group members. They will either have to leave, or you can create a new group without this member."; /* Title for alert indicating that group members can't be removed. */ -"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_TITLE" = "Не е подржано"; +"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_TITLE" = "Неподдржано"; /* Error indicating that a group could not be updated. */ "UPDATE_GROUP_FAILED" = "Group could not be updated."; @@ -3792,7 +3798,7 @@ "UPDATE_GROUP_FAILED_DUE_TO_NETWORK" = "This action couldn’t be completed. Check your internet connection and try again."; /* Button to start a create pin flow from the one time splash screen that appears after upgrading */ -"UPGRADE_EXPERIENCE_INTRODUCING_PINS_CREATE_BUTTON" = "Направете го вашиот PIN"; +"UPGRADE_EXPERIENCE_INTRODUCING_PINS_CREATE_BUTTON" = "Создадете го вашиот PIN"; /* Body text for PINs splash screen */ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_DESCRIPTION" = "PINs keep information stored with Signal encrypted so only you can access it. Your profile, settings, and contacts will restore when you reinstall Signal."; @@ -3801,10 +3807,10 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_TITLE" = "Надгради го iOS"; +"UPGRADE_IOS_ALERT_TITLE" = "Надградете го iOS"; /* An explanation of how usernames work on the username view. */ "USERNAME_DESCRIPTION" = "Usernames on Signal are optional. If you choose to create a username other Signal users will be able to find you by this username and contact you without knowing your phone number."; @@ -3882,13 +3888,13 @@ "VIEW_ONCE_OUTGOING_TOAST" = "Outgoing view-once media files are automatically removed after they are sent."; /* Indicates how to cancel a voice message. */ -"VOICE_MESSAGE_CANCEL_INSTRUCTIONS" = "Slide to Cancel"; +"VOICE_MESSAGE_CANCEL_INSTRUCTIONS" = "Лизгај за икслучување"; /* Filename for voice messages. */ "VOICE_MESSAGE_FILE_NAME" = "Гласовна порака"; /* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */ -"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Допри и држи да снимиш гласовна порака."; +"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Допрете и задржете за да снимите гласовна порака."; /* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */ "VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "Гласовна порака"; @@ -3897,10 +3903,10 @@ "WAITING_TO_COMPLETE_DEVICE_LINK_TEXT" = "Завршете го подесувањето на Signal за Компјутери."; /* Info Message when you disabled disappearing messages. */ -"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Ги онеспособивте исчезнувачките пораки."; +"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Ги онеспособивте исчезнувачките пораки"; /* alert body shown when trying to use features in the app before completing registration-related setup. */ "YOU_MUST_COMPLETE_ONBOARDING_BEFORE_PROCEEDING" = "You must complete setup before proceeding."; /* Info Message when you disabled disappearing messages. Embeds a {{time amount}} before messages disappear. see the *_TIME_AMOUNT strings for context. */ -"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Го подесивте времето на исчезнувањето на пораките на %@."; +"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Го поставивте времето на исчезнувањето на пораките на %@."; diff --git a/Signal/translations/mr.lproj/Localizable.strings b/Signal/translations/mr.lproj/Localizable.strings index c70c0a90de..741ca6d260 100644 --- a/Signal/translations/mr.lproj/Localizable.strings +++ b/Signal/translations/mr.lproj/Localizable.strings @@ -42,25 +42,25 @@ "ACTION_VIDEO_CALL" = "व्हिडीओ कॉल"; /* Label for the 'add group member' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Add Member"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "सदस्य जोडा"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "सदस्ये जोडा"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "\"%2$@\" मध्ये सदस्य जोडायचे?"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "\"%2$@\" मध्ये %1$@ सदस्य जोडायचे?"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "नवीन सदस्य जोडा"; /* Title for the 'add group members' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "नवीन जोडा सदस्य"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "सदस्ये जोडा"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "या गटासोबत आपल्याला आपली प्रोफाईल सामायिक करायला आवडेल का?"; @@ -150,7 +150,7 @@ "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "कॅप्शन"; /* Error that outgoing attachments could not be exported. */ -"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "Attachment failed to export."; +"ATTACHMENT_APPROVAL_FAILED_TO_EXPORT" = "संगल्न निर्यात करण्यात अयशस्वी"; /* alert text when Signal was unable to save a copy of the attachment to the system photo library */ "ATTACHMENT_APPROVAL_FAILED_TO_SAVE" = "जतन करण्यात अयशस्वी"; @@ -165,7 +165,7 @@ "ATTACHMENT_APPROVAL_MEDIA_DID_SAVE" = "जतन केले"; /* Placeholder text indicating who this attachment will be sent to. Embeds: {{recipient name}} */ -"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Message to %@"; +"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "%@ यास संदेश"; /* Label for 'send' button in the 'attachment approval' dialog. */ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "पाठवा"; @@ -333,13 +333,13 @@ "BLOCK_LIST_UNBLOCK_BUTTON" = "अनब्लॉक करा"; /* An explanation of what unblocking a contact means. */ -"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "You will be able to message and call each other."; +"BLOCK_LIST_UNBLOCK_CONTACT_MESSAGE" = "आपण एकमेकांना संदेश पाठवू आणि कॉल करू शकाल."; /* Action sheet body when confirming you want to unblock a group */ "BLOCK_LIST_UNBLOCK_GROUP_BODY" = "अस्तित्वात असलेले सदस्य आपल्याला गटामध्ये पुन्हा जोडू शकतील."; /* An explanation of what unblocking a group means. */ -"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "Group members will be able to add you to this group again."; +"BLOCK_LIST_UNBLOCK_GROUP_MESSAGE" = "गट सदस्य आपल्याला पुन्हा या गटात जोडू शकतील."; /* Action sheet title when confirming you want to unblock a group. */ "BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "हा गट अनब्लॉक करायचा?"; @@ -381,7 +381,7 @@ "BLOCK_USER_BEHAVIOR_EXPLANATION" = "अवरोधित केलेले वापरकर्ते आपल्याला कॉल करू किंवा संदेश पाठवू शकणार नाहीत."; /* browse files option from file sharing menu */ -"BROWSE_FILES_BUTTON" = "Browse"; +"BROWSE_FILES_BUTTON" = "ब्राऊझ करा"; /* Label for 'continue' button. */ "BUTTON_CONTINUE" = "सुरू ठेवा"; @@ -534,10 +534,10 @@ "COMPARE_SAFETY_NUMBER_ACTION" = "क्लिपबोर्ड सोबत तुलना करा"; /* Accessibility hint describing what you can do with the compose button */ -"COMPOSE_BUTTON_HINT" = "Select or search for a Signal user to start a conversation with."; +"COMPOSE_BUTTON_HINT" = "संभाषण चालू करण्यासाठी एक Signal वापरकर्ता निवडा किंवा शोधा."; /* Accessibility label from compose button. */ -"COMPOSE_BUTTON_LABEL" = "Compose"; +"COMPOSE_BUTTON_LABEL" = "लिहा"; /* Table section header for contact listing when composing a new message */ "COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "संपर्क"; @@ -561,10 +561,10 @@ "CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "आपले खाते हटवायची आपणास खात्री आहे का?"; /* No comment provided by engineer. */ -"CONFIRM_DELETE_LINKED_DATA_TEXT" = "This will reset the application by deleting all of your messages from this device. You can always link with your phone again, but that will not restore deleted messages. The app will close after this process is complete."; +"CONFIRM_DELETE_LINKED_DATA_TEXT" = "ह्या डिव्हाईस वरून आपले सर्व संदेश हटवून हे अॅपलिकेशन रीसेट करेल. आपण कधीही आपला फोन पुन्हा लिंक करू शकता, पण त्याने आपल्या संदेशांची पुनर्स्थापना होणार नाही. प्रक्रिया संपल्यावर अॅप बंद होईल."; /* No comment provided by engineer. */ -"CONFIRM_DELETE_LINKED_DATA_TITLE" = "Are you sure you want to delete all data?"; +"CONFIRM_DELETE_LINKED_DATA_TITLE" = "सर्व डेटा हटवायची आपणास खात्री आहे का?"; /* Alert body */ "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "या गटामधून आपल्याला यापुढे संदेश पाठवता किंवा प्राप्त करता येणार नाहीत."; @@ -669,22 +669,22 @@ "CONTACT_SUPPORT" = "समर्थन सोबत संपर्क साधा"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal was unable to complete your support request."; +"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "आपली समर्थन विनंती पूर्ण करण्यात Signal अक्षम होता."; /* button text */ "CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "पुन्हा प्रयत्न करा"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional."; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "आपले डीबग लॉग आम्हाला आपल्या समस्या जलदतेने सोडविण्यात मदत करतील. आपले लॉग प्रविष्ट करणे पर्यायी आहे."; /* Alert title */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Submit Debug Log?"; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "डीबग लॉग प्रविष्ट करायचे?"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Submit with Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "डीबग लॉग सोबत प्रविष्ट करा"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Submit without Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "डीबग लॉग विना प्रविष्ट करा"; /* Label for 'open address in maps app' button in contact view. */ "CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "मॅप मध्ये उघडा"; @@ -696,7 +696,7 @@ "CONTACT_WITHOUT_NAME" = "निनावी संपर्क"; /* Message for the 'conversation delete confirmation' alert. */ -"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This conversation will be deleted from this device."; +"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "हे संभाषण ह्या डिव्हाईस वरून हटविले जाईल."; /* Title for the 'conversation delete confirmation' alert. */ "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "संभाषण हटवायचे?"; @@ -741,19 +741,19 @@ "CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "सिस्टिम संपर्कामध्ये जोडा"; /* Label indicating that only administrators can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admins"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "प्रशासक"; /* Label indicating that all group members can update the group's attributes: name, avatar, etc. */ "CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "सर्व"; /* Footer for the 'attributes access' section in conversation settings view. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Choose who can edit the group name, avatar and disappearing messages timer."; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "गट नाव, अवतार आणि हरवणारे संदेश टायमर जो संपादन करू शकतो त्याला निवडा."; /* Footer text for the 'block and leave' section of conversation settings view. */ "CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "या गटामधून आपल्याला यापुढे संदेश किंवा अद्यतने प्राप्त होणार नाहीत."; /* Label for 'block group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Block Group"; +"CONVERSATION_SETTINGS_BLOCK_GROUP" = "गट अवरोधित करा"; /* table cell label in conversation settings */ "CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "हा गट अवरोधित करा"; @@ -762,7 +762,7 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "हा वापरकर्ता अवरोधित करा"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "वापरकर्त्याला अवरोधित करा"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "संपर्क माहिती"; @@ -771,10 +771,10 @@ "CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "संभाषण रंग"; /* Label for 'edit attributes access' action in conversation settings view. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Who Can Edit Group Info"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "गट माहिती जो संपादन करू शकतो"; /* Label for button that sets 'group attributes access' to 'administrators-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Only Admins"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "फक्त प्रशासक"; /* Description for the 'edit group attributes access' alert. */ "CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "अनम्यूट करा"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "जतन न केलेले बदल"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -1584,7 +1590,7 @@ "GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Could not accept invite."; /* Label for 'block group' button in group invite view. */ -"GROUPS_INVITE_BLOCK_GROUP" = "Block Group"; +"GROUPS_INVITE_BLOCK_GROUP" = "गट अवरोधित करा"; /* Label for 'block group and inviter' button in group invite view. Embeds {{name of user who invited you}}. */ "GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Block Group and %@"; @@ -1932,7 +1938,7 @@ "MESSAGE_REQUEST_BLOCK_ACTION" = "अवरोधित करा"; /* Action sheet action to confirm blocking and deleting a thread via a message request. */ -"MESSAGE_REQUEST_BLOCK_AND_DELETE_ACTION" = "Block and Delete"; +"MESSAGE_REQUEST_BLOCK_AND_DELETE_ACTION" = "अवरोधित करा आणि हटवा"; /* Action sheet message to confirm blocking a conversation via a message request. */ "MESSAGE_REQUEST_BLOCK_CONVERSATION_MESSAGE" = "Blocked people won’t be able to call you or send you messages."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "PIN ची ओळख करून देत आहे"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "लवकरच Signal ला iOS 10 किंवा नंतरची आवश्यकता लागेल. कृपया सेटिंग अॅप >> साधारण >> सॉफ्टवेअर अद्यतन मधून श्रेणीसुधारित करा."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS श्रेणीसुधारित करा"; diff --git a/Signal/translations/ms.lproj/Localizable.strings b/Signal/translations/ms.lproj/Localizable.strings index f498403976..346fe30cb0 100644 --- a/Signal/translations/ms.lproj/Localizable.strings +++ b/Signal/translations/ms.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Nyahbisukan"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Perubahan Tidak Disimpan"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Memperkenalkan PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal tidak lama lagi akan memerlukan iOS 10 atau lebih baru. Sila naik taraf dalam aplikasi Tetapan >> Umum >> Kemas Kini Perisian."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Naik taraf iOS"; diff --git a/Signal/translations/my.lproj/Localizable.strings b/Signal/translations/my.lproj/Localizable.strings index 5864a4d600..4b3c4281c1 100644 --- a/Signal/translations/my.lproj/Localizable.strings +++ b/Signal/translations/my.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "အသံပြန်ဖွင့် "; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "မသိမ်းရသေးသော ပြောင်းလဲမှုများ"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS ကို မြှင့်ပါ"; diff --git a/Signal/translations/nb.lproj/Localizable.strings b/Signal/translations/nb.lproj/Localizable.strings index ebb1d78fe5..d371cb8b9b 100644 --- a/Signal/translations/nb.lproj/Localizable.strings +++ b/Signal/translations/nb.lproj/Localizable.strings @@ -45,22 +45,22 @@ "ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Legg til medlem"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Legg til medlemmer"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Legge til medlemmer i “%2$@”?"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Legge til %1$@ medlemmer til “%2$@”?"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Legg til nytt medlem"; /* Title for the 'add group members' confirmation alert. */ "ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Legg til medlemmer"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Vil du dele profilen din med denne gruppen?"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Slå på varsling igjen"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Ulagrede endringer"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Vi introduserer PIN-koder"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal vil snart kreve iOS 10 eller nyere. Vennligst oppgrader i Innstilinger >> Generelt >> Oppdatering."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Oppgrader iOS"; diff --git a/Signal/translations/nb_NO.lproj/Localizable.strings b/Signal/translations/nb_NO.lproj/Localizable.strings index b165041112..f7bacef814 100644 --- a/Signal/translations/nb_NO.lproj/Localizable.strings +++ b/Signal/translations/nb_NO.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Slå på varsling igjen"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Ulagrede endringer"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Oppgrader iOS"; diff --git a/Signal/translations/nl.lproj/Localizable.strings b/Signal/translations/nl.lproj/Localizable.strings index 9033968424..687a704eb9 100644 --- a/Signal/translations/nl.lproj/Localizable.strings +++ b/Signal/translations/nl.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Niet meer dempen"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Niet-opgeslagen wijzigingen"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Alle leden weergeven"; @@ -2499,13 +2505,13 @@ "PIN_CREATION_ALPHANUMERIC_HINT" = "Je pincode moet uit ten minste 4 karakters bestaan"; /* Title of the 'pin creation' recreation view. */ -"PIN_CREATION_CHANGING_TITLE" = "Wijzig je pincode"; +"PIN_CREATION_CHANGING_TITLE" = "Je pincode wijzigen"; /* Title of the 'pin creation' confirmation view. */ "PIN_CREATION_CONFIRM_TITLE" = "Je pincode bevestigen"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Voer de pincode die je zojuist hebt aangemaakt opnieuw in."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Maak een alfanumerieke pincode aan"; @@ -2520,7 +2526,7 @@ "PIN_CREATION_ERROR_TITLE" = "Pincode aanmaken mislukt"; /* The explanation in the 'pin creation' view. */ -"PIN_CREATION_EXPLANATION" = "Met een pincode wordt informatie versleuteld opgeslagen op Signal's servers zodat alleen jij er toegang toe hebt. Zelfs Signal's ontwikkelaars kunnen je informatie niet inzien. Je kunt dan je profielnaam en -foto, je instellingen en je contacten herstellen wanneer je Signal opnieuw installeert."; +"PIN_CREATION_EXPLANATION" = "Verzin een pincode die je nergens anders gebruikt. Met die pincode wordt informatie versleuteld opgeslagen op Signal's servers zodat alleen jij er toegang toe hebt. Zelfs Signal's ontwikkelaars kunnen je informatie niet inzien. Je kunt dan je profielnaam en -foto, je instellingen en je contacten herstellen wanneer je Signal opnieuw installeert."; /* Label indicating that the attempted PIN does not match the first PIN */ "PIN_CREATION_MISMATCH_ERROR" = "De pincodes komen niet overeen. Probeer het opnieuw."; @@ -2529,7 +2535,7 @@ "PIN_CREATION_NUMERIC_HINT" = "Je pincode moet uit ten minste 4 cijfers bestaan"; /* Label indication the user must confirm their PIN. */ -"PIN_CREATION_PIN_CONFIRMATION_HINT" = "Voer pincode opnieuw in"; +"PIN_CREATION_PIN_CONFIRMATION_HINT" = "Voer je pincode opnieuw in"; /* Indicates the work we are doing while creating the user's pin */ "PIN_CREATION_PIN_PROGRESS" = "Pincode aan het aanmaken …"; @@ -2541,10 +2547,10 @@ "PIN_CREATION_RECREATION_TITLE" = "Pincode wijzigen"; /* Title of the 'pin creation' view. */ -"PIN_CREATION_TITLE" = "Maak pincode aan"; +"PIN_CREATION_TITLE" = "Pincode aanmaken"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Verzin een sterkere pincode"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Om je te helpen je pincode te onthouden, vragen we je periodiek om je pincode in te voeren. Na verloop van tijd zullen we je minder vaak vragen om dat te doen."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "We introduceren pincodes"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Binnenkort vereist Signal dat je iOS 10 of een latere versie gebruikt. Werk je besturingssysteem bij via Instellingen >> Algemeen >> Software-update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Werk iOS bij"; diff --git a/Signal/translations/pl.lproj/Localizable.strings b/Signal/translations/pl.lproj/Localizable.strings index 5c021d7648..57ca0e2468 100644 --- a/Signal/translations/pl.lproj/Localizable.strings +++ b/Signal/translations/pl.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Wyłącz wyciszenie"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Niezapisane zmiany"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Zobacz wszystkich członków"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Potwierdź swój PIN"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Wpisz ponownie PIN, który utworzyłeś(aś)."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Utwórz alfanumeryczny PIN"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Utwórz swój PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Wybierz silniejszy PIN"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Aby pomóc Ci zapamiętać Twój PIN, będziemy co jakiś czas o niego pytać. Z czasem pytania będą coraz rzadsze."; @@ -2580,7 +2586,7 @@ "PIN_REMINDER_TITLE" = "Wpisz swój PIN Signal"; /* Label indicating that the attempted PIN is too short */ -"PIN_REMINDER_TOO_SHORT_ERROR" = "PIN musi mieć przynajmniej 4 cyfry"; +"PIN_REMINDER_TOO_SHORT_ERROR" = "PIN musi mieć przynajmniej 4 cyfry."; /* Action text for PIN megaphone when user doesn't have a PIN */ "PINS_MEGAPHONE_ACTION" = "Utwórz PIN"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Przedstawiamy kody PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal wkrótce będzie wymagał systemu iOS 10 lub nowszego. Zaktualizuj system przechodząc do Ustawienia >> Ogólne >> Aktualizacja oprogramowania."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Uaktualnij iOS"; diff --git a/Signal/translations/pt_BR.lproj/Localizable.strings b/Signal/translations/pt_BR.lproj/Localizable.strings index d6d34eefc2..d4f2b5369a 100644 --- a/Signal/translations/pt_BR.lproj/Localizable.strings +++ b/Signal/translations/pt_BR.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Ativar o som"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Mudanças não salvas"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3015,16 +3021,16 @@ "SCREENSHOT_NAME_GROUP_FIVE" = "Kirk Family"; /* Please include emoji. This is a group name/channel name for pictures of the sun in the sky. */ -"SCREENSHOT_NAME_GROUP_FOUR" = "Sunsets 🌅"; +"SCREENSHOT_NAME_GROUP_FOUR" = "Pores do sol 🌅"; /* This is for a group of people interested in discussing books they've read. */ "SCREENSHOT_NAME_GROUP_ONE" = "Clube do Livro"; /* This is group chat name for members talking about cats. Please include the emoji. */ -"SCREENSHOT_NAME_GROUP_SIX" = "Cat Chat 🐈 🐱"; +"SCREENSHOT_NAME_GROUP_SIX" = "Chat sobre gatos 🐈 🐱"; /* Please include emoji. This is a group name for people who climb rocks/climb trees/hike mountains/outside mountaineering. */ -"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️ Rock Climbers"; +"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️ Escaladores"; /* This is for a group chat for people who want weather updates. */ "SCREENSHOT_NAME_GROUP_TWO" = "Weather Forecasts"; @@ -3039,13 +3045,13 @@ "SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_THREE" = "See you tomorrow?"; /* This is a message. Please include the emoji. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_TWO" = "Thank you ☺️"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_TWO" = "Gratidão ☺️"; /* This is a message. */ "SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_ONE" = "Your wisdom has saved me."; /* This is a message. Include 'Thanks' + a similar phrase with the :) emoji. */ -"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_TWO" = "Thanks! What a wonderful message to read :)"; +"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_TWO" = "Gratidão! Que maravilhoso ler essa mensagem :)"; /* This is a message. */ "SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_ONE" = "The rain is pouring down and I'm sitting here just listening to it."; @@ -3102,13 +3108,13 @@ "SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_THREE" = "She’s walking a cat on a leash..."; /* This is a message. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_TWO" = "🌅 Good Morning!"; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_TWO" = "🌅 Bom dia!"; /* This is a message in the 'Rock Climbers' group chat. Please translate to make sense for the translated group name. For example: Which way should we go? */ "SCREENSHOT_THREAD_GROUP_THREE_MESSAGE_ONE" = "Which route should we take?"; /* This is a message. Please include the emoji if possible. */ -"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "See you all there 🤗"; +"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "Nos vemos lá 🤗"; /* This is a message sent with an attachment. */ "SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Raining all day"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Apresentando os PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal irá em breve exigir iOS 10 ou mais recente. Favor atualizar em Configurações app >> Geral >> Atualização de Software"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Atualize o iOS"; diff --git a/Signal/translations/pt_PT.lproj/Localizable.strings b/Signal/translations/pt_PT.lproj/Localizable.strings index 7ba0e55300..10771a55ab 100644 --- a/Signal/translations/pt_PT.lproj/Localizable.strings +++ b/Signal/translations/pt_PT.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Remover do silêncio"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Alterações não guardadas"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Ver todos os membros"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Criar o seu PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Escolha um PIN mais forte"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Para o(a) ajudar a memorizar o seu PIN, iremos pedir regularmente que o introduza. Ao longo do tempo iremos pedir menos vezes."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introdução os PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "O Signal brevemente irá requerer o iOS 10 ou superior. Por favor atualize em Definições >> Geral >> Atualização de Software."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Atualizar iOS"; diff --git a/Signal/translations/ro.lproj/Localizable.strings b/Signal/translations/ro.lproj/Localizable.strings index 14cabc27a6..cbc4ebc64b 100644 --- a/Signal/translations/ro.lproj/Localizable.strings +++ b/Signal/translations/ro.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Activează notificările"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Schimbări nesalvate"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Vizualizați toți membrii"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Confirmați PIN-ul dvs."; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Introduceți codul PIN pe care tocmai l-ați creat."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Creați un PIN alfanumeric"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Creeați-vă PIN-ul"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Alegeți un PIN mai puternic"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Pentru a vă ajuta să memorați codul PIN, vă vom rugă să îl introduceți periodic. În timp, o să-l cerem mai rar."; @@ -2982,136 +2988,136 @@ "SCREEN_LOCK_UNLOCK_SIGNAL" = "Deblochează Signal"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_EIGHT" = "Tina Ukuku"; +"SCREENSHOT_NAME_CONTACT_EIGHT" = "Tina Ursariu"; /* This is a contact's name. Please keep the nick name Ali and change the last name to a popular lastname in your language. This will have male profile photo. */ -"SCREENSHOT_NAME_CONTACT_FIVE" = "Ali Smith"; +"SCREENSHOT_NAME_CONTACT_FIVE" = "Alin Stan"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This profile photo will be either male or female. Choose a unisex name if possible. */ -"SCREENSHOT_NAME_CONTACT_FOUR" = "Artemis Cheng"; +"SCREENSHOT_NAME_CONTACT_FOUR" = "Teo Călinescu"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. Include two last names if that is represented in your locale. This should be a unique non-public figure's name. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_NINE" = "Zeus Lehtonen"; +"SCREENSHOT_NAME_CONTACT_NINE" = "Zaraza Lilianu"; /* This is a contact's name. A male leadership/presidential position + the sound a cat makes. This will have a cat profile photo. */ -"SCREENSHOT_NAME_CONTACT_ONE" = "Chairman Meow"; +"SCREENSHOT_NAME_CONTACT_ONE" = "Președintele Miau"; /* This is a contact's name. Please keep a similar unisex first name (Kai) if this name isn't common and only post the last initial. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_SEVEN" = "Jordan B."; +"SCREENSHOT_NAME_CONTACT_SEVEN" = "Gabi B."; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This will have a male profile photo. */ -"SCREENSHOT_NAME_CONTACT_SIX" = "Michael Kirk"; +"SCREENSHOT_NAME_CONTACT_SIX" = "Mihai Chiriac"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_TEN" = "Maya Dorai"; +"SCREENSHOT_NAME_CONTACT_TEN" = "Maia Dinulescu"; /* This is a contact's name. Please keep a similar nickname for Nikola/Nikita/etc in your language and only post the last initial. This profile photo will be either male or female but mostly female. */ -"SCREENSHOT_NAME_CONTACT_THREE" = "Nikki Romanov"; +"SCREENSHOT_NAME_CONTACT_THREE" = "Nichita Romanov"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This profile photo will be either male or female. */ -"SCREENSHOT_NAME_CONTACT_TWO" = "Myles Larson"; +"SCREENSHOT_NAME_CONTACT_TWO" = "Mihail Lăzărescu"; /* This is a group chat of family members. Please keep Kirk or replace with a common last name in your locale. Translate 'Family' */ -"SCREENSHOT_NAME_GROUP_FIVE" = "Kirk Family"; +"SCREENSHOT_NAME_GROUP_FIVE" = "Familia Popescu"; /* Please include emoji. This is a group name/channel name for pictures of the sun in the sky. */ -"SCREENSHOT_NAME_GROUP_FOUR" = "Sunsets 🌅"; +"SCREENSHOT_NAME_GROUP_FOUR" = "Apusuri 🌅"; /* This is for a group of people interested in discussing books they've read. */ "SCREENSHOT_NAME_GROUP_ONE" = "Clubul de carte"; /* This is group chat name for members talking about cats. Please include the emoji. */ -"SCREENSHOT_NAME_GROUP_SIX" = "Cat Chat 🐈 🐱"; +"SCREENSHOT_NAME_GROUP_SIX" = "Discuții Pisici 🐈 🐱"; /* Please include emoji. This is a group name for people who climb rocks/climb trees/hike mountains/outside mountaineering. */ -"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️ Rock Climbers"; +"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️ Alpiniști"; /* This is for a group chat for people who want weather updates. */ -"SCREENSHOT_NAME_GROUP_TWO" = "Weather Forecasts"; +"SCREENSHOT_NAME_GROUP_TWO" = "Prognoze meteo"; /* This appears in Signal > Settings. A female leadership/presidential/chairwoman position + female name Freyja or similar spelling. This will have a cat profile photo. */ -"SCREENSHOT_NAME_LOCAL_PROFILE" = "Chairwoman Freya"; +"SCREENSHOT_NAME_LOCAL_PROFILE" = "Președinta Felicia"; /* This is a message expressing support/happiness/awe/shock. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_ONE" = "Congrats! I can't believe it!"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_ONE" = "Felicitări! Nu îmi vine să cred!"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_THREE" = "See you tomorrow?"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_THREE" = "Ne vedem mâine?"; /* This is a message. Please include the emoji. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_TWO" = "Thank you ☺️"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_TWO" = "Mulțumesc ☺️"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_ONE" = "Your wisdom has saved me."; +"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_ONE" = "Înțelepciunea ta m-a salvat."; /* This is a message. Include 'Thanks' + a similar phrase with the :) emoji. */ -"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_TWO" = "Thanks! What a wonderful message to read :)"; +"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_TWO" = "Mulțumesc! Ce mesaj frumos :)"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_ONE" = "The rain is pouring down and I'm sitting here just listening to it."; +"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_ONE" = "Ploaia se revarsă și eu stau aici și o ascult."; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_TWO" = "That's what I did this morning too."; +"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_TWO" = "Asta am făcut și eu în această dimineață."; /* This is a message before a call. */ -"SCREENSHOT_THREAD_DIRECT_SEVEN_MESSAGE_ONE" = "Free for a call?"; +"SCREENSHOT_THREAD_DIRECT_SEVEN_MESSAGE_ONE" = "Disponibil pentru un apel?"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_SIX_MESSAGE_ONE" = "Yes!"; +"SCREENSHOT_THREAD_DIRECT_SIX_MESSAGE_ONE" = "Da!"; /* Replace crepes with similar item that you bake or cook i.e. bread, croissants, naan. */ -"SCREENSHOT_THREAD_DIRECT_THREE_MESSAGE_ONE" = "We're making crepes tomorrow"; +"SCREENSHOT_THREAD_DIRECT_THREE_MESSAGE_ONE" = "Facem clătite mâine"; /* This is a message before an image of mountains + a lake. */ -"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_ONE" = "Hey check this out!"; +"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_ONE" = "Hei privește asta!"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_THREE" = "New Zealand!"; +"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_THREE" = "Noua Zeelandă!"; /* This is a message after an image of mountains + a lake. */ -"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_TWO" = "Whoa where are you!?"; +"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_TWO" = "Uau unde te afli?"; /* This is a message in the group chat of family members. */ -"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Today is ..."; +"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Astăzi este ..."; /* This is a message in the group chat of family members. */ -"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_TWO" = "Happy birthday to you. Happy birthday to you!"; +"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_TWO" = "La mulți ani. La mulți ani!"; /* This is a message in the Sunsets group chat. */ -"SCREENSHOT_THREAD_GROUP_FOUR_MESSAGE_ONE" = "It's too cloudy here."; +"SCREENSHOT_THREAD_GROUP_FOUR_MESSAGE_ONE" = "Este prea înnorat aici."; /* 1984 is the book title. The file extension is a text file. */ "SCREENSHOT_THREAD_GROUP_ONE_FILE_NAME" = "1984.txt"; /* This is for a message in the 'Book Club' group chat */ -"SCREENSHOT_THREAD_GROUP_ONE_MESSAGE_ONE" = "Did you read this yet?"; +"SCREENSHOT_THREAD_GROUP_ONE_MESSAGE_ONE" = "Ai citit asta deja?"; /* This is a file name 'Instructions' for the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_FILE_NAME" = "Instructions.PDF"; +"SCREENSHOT_THREAD_GROUP_SIX_FILE_NAME" = "Instrucțiuni.PDF"; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FIVE" = "This is the instruction manual."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FIVE" = "Acesta este manualul cu instrucțiuni."; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FOUR" = "Pictures, please!"; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FOUR" = "Poze, te rog!"; /* This is a message after seeing a picture. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_ONE" = "This is peaceful."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_ONE" = "Aceasta este liniștitoare."; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_THREE" = "She’s walking a cat on a leash..."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_THREE" = "Ea plimbă o pisică în lesă..."; /* This is a message. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_TWO" = "🌅 Good Morning!"; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_TWO" = "Bună dimineața!"; /* This is a message in the 'Rock Climbers' group chat. Please translate to make sense for the translated group name. For example: Which way should we go? */ -"SCREENSHOT_THREAD_GROUP_THREE_MESSAGE_ONE" = "Which route should we take?"; +"SCREENSHOT_THREAD_GROUP_THREE_MESSAGE_ONE" = "Ce traseu să alegem?"; /* This is a message. Please include the emoji if possible. */ -"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "See you all there 🤗"; +"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "Ne vedem acolo 🤗"; /* This is a message sent with an attachment. */ -"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Raining all day"; +"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Ploaie toată ziua"; /* An example name for a user we use in the screenshots. */ "SCREENSHOT_USERNAME_1" = "SCREENSHOT_USERNAME_1"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Vă prezentăm PIN-uri"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal va necesita în curând iOS 10 sau o versiune mai nouă. Vă rugăm să actualizați din aplicația Setări >> General >> Actualizări Software."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Actualizează-ți iOS-ul"; diff --git a/Signal/translations/ru.lproj/Localizable.strings b/Signal/translations/ru.lproj/Localizable.strings index 51b3619923..e3b9124eac 100644 --- a/Signal/translations/ru.lproj/Localizable.strings +++ b/Signal/translations/ru.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Включить звуки"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Несохранённые изменения"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Просмотреть всех участников"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Подтвердите свой PIN-код"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Введите PIN-код, который вы только что создали."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Создать буквенно-цифровой PIN-код"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Создать PIN-код"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Выберите более надёжный PIN-код"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Чтобы помочь вам запомнить свой PIN-код, мы будем просить вас периодически вводить его. Со временем это будет происходить реже."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Представляем PIN-коды"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "В скором времени Signal будет работать только на iOS 10 и выше. Пожалуйста, обновите iOS, перейдя в приложение Настройки >> Основные >> Обновление ПО."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Обновите iOS"; diff --git a/Signal/translations/sk.lproj/Localizable.strings b/Signal/translations/sk.lproj/Localizable.strings index 8909f4ce1e..dc06f50e89 100644 --- a/Signal/translations/sk.lproj/Localizable.strings +++ b/Signal/translations/sk.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Zrušiť stlmenie"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Neuložené zmeny"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Zobraziť všetkých členov"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Potvrďte svoj PIN"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Zadajte PIN, čo ste si práve vytvorili."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Vytvoriť alfanumerický PIN"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Vytvorte si PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Zvoľte si silnejší PIN"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Aby sme vám pomohli zapamätať si váš PIN, pravidelne vás budeme žiadať o jeho zadanie. Postupom času budeme o to žiadať menej."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Predstavujeme PINy"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal si čoskoro bude vyžadovať iOS 10 alebo novší. Prosím, vykonajte aktualizáciu v aplikácia Nastavenia >> Všeobecné >> Aktualizácia softvéru."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Aktualizovať iOS"; diff --git a/Signal/translations/sl.lproj/Localizable.strings b/Signal/translations/sl.lproj/Localizable.strings index 5ee9cbc46b..609876abfe 100644 --- a/Signal/translations/sl.lproj/Localizable.strings +++ b/Signal/translations/sl.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Prekini utišanje"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Neshranjene spremembe"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Ustvarite svoj PIN"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Izberite močnejši PIN"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "To help you memorize your PIN, we’ll ask you to enter it periodically. We’ll ask less over time."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Predstavljamo vam PIN kode!"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Nadrgradnja iOS"; diff --git a/Signal/translations/sn.lproj/Localizable.strings b/Signal/translations/sn.lproj/Localizable.strings index 56dddcceee..c060fef994 100644 --- a/Signal/translations/sn.lproj/Localizable.strings +++ b/Signal/translations/sn.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Usanyararidze"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Shanduko isina kuchengetwa"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Kuchingamidza ma PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal ichange yave kuda iOS 10 kana kumberi.Tapota wedzera mu app yemaSeting >>General>>Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Wedzera iOS"; diff --git a/Signal/translations/sq.lproj/Localizable.strings b/Signal/translations/sq.lproj/Localizable.strings index 683b5870ad..3c1e1e0b9f 100644 --- a/Signal/translations/sq.lproj/Localizable.strings +++ b/Signal/translations/sq.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Çheshtoje"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Ndryshime të Paruajtura"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Shihni krejt anëtarët"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Ripohoni PIN-in tuaj"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Jepni PIN-in që sapo krijuat ."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Krijoni PIN Alfanumerik"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Krijoni PIN-in tuaj"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Zgjidhni një PIN më të fuqishëm"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Për t’ju ndihmuar ta mbani mend PIN-in tuaj, do t’ju kërkojmë periodikisht ta jepni. Me kalimin e kohës, do t’jua kërkojmë më rrallë."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Ju paraqesim PIN-et"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal-i së shpejti do të dojë iOS 10 ose të mëvonshëm. Ju lutemi, përmirësojeni që nga aplikacioni Rregullime >> Të përgjithshme >> Përditësim Software-i."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Përmirësoni iOS-in"; diff --git a/Signal/translations/sv.lproj/Localizable.strings b/Signal/translations/sv.lproj/Localizable.strings index 9d6ab712c4..493e9fe19f 100644 --- a/Signal/translations/sv.lproj/Localizable.strings +++ b/Signal/translations/sv.lproj/Localizable.strings @@ -810,19 +810,19 @@ "CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "Inte tystad"; /* Label for button to mute a thread for a day. */ -"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Tysta en dag"; +"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Tysta i en dag"; /* Label for button to mute a thread for a hour. */ -"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Tysta en timme"; +"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Tysta i en timme"; /* Label for button to mute a thread for a minute. */ "CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "Tysta en minut"; /* Label for button to mute a thread for a week. */ -"CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "Tysta en vecka"; +"CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "Tysta i en vecka"; /* Label for button to mute a thread for a year. */ -"CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "Tysta ett år"; +"CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "Tysta i ett år"; /* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */ "CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "tills %@"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Ljud på"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Osparade ändringar"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Visa alla medlemmar"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "Bekräfta din PIN-kod"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Ange PIN-koden du just skapat."; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "Skapa alfanumerisk PIN-kod"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Skapa din PIN-kod"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Välj en starkare PIN-kod"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "För att hjälpa dig att memorera din PIN-kod ber vi dig att skriva in den regelbundet. Vi frågar mindre med tiden."; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducerar PIN-koder"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal kommer snart att kräva iOS 10 eller senare. Vänligen uppgradera i appen Inställningar >> Allmänt >> Programuppdatering."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Uppgradera iOS"; diff --git a/Signal/translations/ta.lproj/Localizable.strings b/Signal/translations/ta.lproj/Localizable.strings index 3d59b2f65d..169acd982e 100644 --- a/Signal/translations/ta.lproj/Localizable.strings +++ b/Signal/translations/ta.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "தடுப்புநீக்கு"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "சேமிக்கப்படாத மாற்றங்கள்"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "பின்'களை அறிமுகப்படுத்துகிறது"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal லுக்கு விரைவில் அல்லது பிறகு iOS 10 தேவைப்படும். அமைப்புகள் செயலியில் மேம்படுத்தவும் >> பொது >> மென்பொருள் புதுப்பிப்பு."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "IOS ஐ மேம்படுத்தவும்"; diff --git a/Signal/translations/te.lproj/Localizable.strings b/Signal/translations/te.lproj/Localizable.strings index 5c47bc438c..fd3f176382 100644 --- a/Signal/translations/te.lproj/Localizable.strings +++ b/Signal/translations/te.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "మ్యూట్ తీసివేయి"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "సేవ్ చేయని మార్పులు"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "పిన్‌లను పరిచయం చేస్తోంది"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal కు త్వరలో iOS 10 లేదా తరువాత అవసరం. దయచేసి సెట్టింగ్‌ల అనువర్తనంలో అప్‌గ్రేడ్ చేయండి >> సాధారణ >> సాఫ్ట్‌వేర్ నవీకరణ."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS ను అప్‌గ్రేడ్ చేయండి"; diff --git a/Signal/translations/th.lproj/Localizable.strings b/Signal/translations/th.lproj/Localizable.strings index b77478196a..eff7710a84 100644 --- a/Signal/translations/th.lproj/Localizable.strings +++ b/Signal/translations/th.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "เปิดเสียง"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "การเปลี่ยนแปลงที่ยังไม่ถูกบันทึก"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "ดูสมาชิกทั้งหมด"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "แนะนำ PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "ในเร็ววันนี้ Signal จะต้องการ iOS 10 หรือใหม่กว่า กรุณาปรับรุ่นได้ในแอป การตั้งค่า >> ทั่วไป >> รายการอัพเดทซอฟต์แวร์"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "อัพเกรด iOS"; diff --git a/Signal/translations/tr.lproj/Localizable.strings b/Signal/translations/tr.lproj/Localizable.strings index c5227a5920..fe1e08826c 100644 --- a/Signal/translations/tr.lproj/Localizable.strings +++ b/Signal/translations/tr.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Sessizden çıkart"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Kaydedilmemiş Değişiklikler"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Tüm üyeleri görüntüle"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Karşınızda PIN'ler"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal yakında iOS 10 ve sonrasına gereksinim duyacaktır. Lütfen Ayarlar >> Genel >> Yazılım Güncelleme bölümünden yükseltin."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "iOS'u Güncelle"; diff --git a/Signal/translations/uk.lproj/Localizable.strings b/Signal/translations/uk.lproj/Localizable.strings index 1a503fda41..4265adf1ec 100644 --- a/Signal/translations/uk.lproj/Localizable.strings +++ b/Signal/translations/uk.lproj/Localizable.strings @@ -45,7 +45,7 @@ "ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Додати учасника"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Додати Користувачів"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ "ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; @@ -60,7 +60,7 @@ "ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Додати Користувача"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Поділитися своїм профілем із групою?"; @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Сповіщати"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Незбережені зміни"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Introducing PINs"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 10 or later. Please upgrade in Settings app >> General >> Software Update."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Оновити iOS"; diff --git a/Signal/translations/ur.lproj/Localizable.strings b/Signal/translations/ur.lproj/Localizable.strings index c48d272869..7beb5a89e2 100644 --- a/Signal/translations/ur.lproj/Localizable.strings +++ b/Signal/translations/ur.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "غیر خاموش"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "غیر محفوظ تبدیلیاں"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "پن ز متعارف ہو رہے ہیں"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal کو جلدی iOS 10 یا بعد میں ضرورت ہو گی۔ براہ کرم ترتیبات ایپ اپ گریڈ کریں<<عام>> سوفٹ ویئر تجدید کریں۔"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "IOS تجدید کریں"; diff --git a/Signal/translations/vi.lproj/Localizable.strings b/Signal/translations/vi.lproj/Localizable.strings index 81cda1658c..ac8b4bb96e 100644 --- a/Signal/translations/vi.lproj/Localizable.strings +++ b/Signal/translations/vi.lproj/Localizable.strings @@ -45,22 +45,22 @@ "ADD_GROUP_MEMBERS_ACTION_TITLE_1" = "Thêm thành viên"; /* Label for the 'add group members' button. */ -"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Add Members"; +"ADD_GROUP_MEMBERS_ACTION_TITLE_N" = "Thêm Thành viên"; /* Format for the message for the 'add group member' confirmation alert. Embeds {{ the name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Add member to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_1_FORMAT" = "Thêm thành viên vào \"%2$@\"?"; /* Format for the message for the 'add group members' confirmation alert. Embeds {{ %1$@ number of new members, %2$@ name of the group. }}. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Add %1$@ members to “%2$@”?"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_MESSAGE_N_FORMAT" = "Thêm %1$@ thành viên vào \"%2$@\"?"; /* Title for the 'add group member' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Add New Member"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_1" = "Thêm Thành viên Mới"; /* Title for the 'add group members' confirmation alert. */ -"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Add New Members"; +"ADD_GROUP_MEMBERS_VIEW_CONFIRM_ALERT_TITLE_N" = "Thêm các Thành viên Mới"; /* The title for the 'add group members' view. */ -"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Add Members"; +"ADD_GROUP_MEMBERS_VIEW_TITLE" = "Thêm Thành viên"; /* Message shown in conversation view that offers to share your profile with a group. */ "ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Bạn có muốn chia sẻ hồ sơ với nhóm này?"; @@ -165,7 +165,7 @@ "ATTACHMENT_APPROVAL_MEDIA_DID_SAVE" = "Đã lưu"; /* Placeholder text indicating who this attachment will be sent to. Embeds: {{recipient name}} */ -"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Message to %@"; +"ATTACHMENT_APPROVAL_MESSAGE_TO_FORMAT" = "Tin nhắn tới %@"; /* Label for 'send' button in the 'attachment approval' dialog. */ "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Gửi"; @@ -669,22 +669,22 @@ "CONTACT_SUPPORT" = "Liên lạc Hỗ trợ"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal was unable to complete your support request."; +"CONTACT_SUPPORT_PROMPT_ERROR_ALERT_BODY" = "Signal không thể hoàn thành yêu cầu hỗ trợ của bạn. "; /* button text */ "CONTACT_SUPPORT_PROMPT_ERROR_TRY_AGAIN" = "Hãy thử lại"; /* Alert body */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Your debug logs will help us troubleshoot your issue faster. Submitting your logs is optional."; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_MESSAGE" = "Ghi chú lỗi của bạn sẽ giúp chúng tôi khắc phục sự cố nhanh hơn. Gửi các ghi chú này là không bắt buộc."; /* Alert title */ -"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Submit Debug Log?"; +"CONTACT_SUPPORT_PROMPT_TO_INCLUDE_DEBUG_LOG_TITLE" = "Gửi Ghi chú Lỗi?"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Submit with Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITH_LOG" = "Gửi với Ghi chú Lỗi"; /* Button text */ -"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Submit without Debug Log"; +"CONTACT_SUPPORT_SUBMIT_WITHOUT_LOG" = "Gửi không kèm Ghi chú Lỗi"; /* Label for 'open address in maps app' button in contact view. */ "CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Mở trong Bản đồ"; @@ -696,7 +696,7 @@ "CONTACT_WITHOUT_NAME" = "Liên hệ Chưa lưu tên"; /* Message for the 'conversation delete confirmation' alert. */ -"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This conversation will be deleted from this device."; +"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Cuộc trò chuyện này sẽ được xoá khỏi thiết bị này."; /* Title for the 'conversation delete confirmation' alert. */ "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Xoá cuộc trò chuyện?"; @@ -741,19 +741,19 @@ "CONVERSATION_SETTINGS_ADD_TO_SYSTEM_CONTACTS" = "Thêm vào danh bạ hệ thống"; /* Label indicating that only administrators can update the group's attributes: name, avatar, etc. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Admins"; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_ADMINISTRATOR" = "Quản trị viên"; /* Label indicating that all group members can update the group's attributes: name, avatar, etc. */ "CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_MEMBER" = "Tất cả"; /* Footer for the 'attributes access' section in conversation settings view. */ -"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Choose who can edit the group name, avatar and disappearing messages timer."; +"CONVERSATION_SETTINGS_ATTRIBUTES_ACCESS_SECTION_FOOTER" = "Chọn người nào có thể chỉnh sửa tên nhóm, ảnh đại diện và đồng hồ tin nhắn tạm thời. "; /* Footer text for the 'block and leave' section of conversation settings view. */ "CONVERSATION_SETTINGS_BLOCK_AND_LEAVE_SECTION_FOOTER" = "Bạn sẽ không còn nhận tin nhắn hay cập nhật từ nhóm này nữa."; /* Label for 'block group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Block Group"; +"CONVERSATION_SETTINGS_BLOCK_GROUP" = "Chặn Nhóm"; /* table cell label in conversation settings */ "CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Chặn nhóm này"; @@ -762,7 +762,7 @@ "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Chặn người dùng này"; /* Label for 'block user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_BLOCK_USER" = "Block User"; +"CONVERSATION_SETTINGS_BLOCK_USER" = "Chặn Người dùng"; /* Navbar title when viewing settings for a 1-on-1 thread */ "CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Thông tin Liên hệ"; @@ -771,16 +771,16 @@ "CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Màu Cuộc trò chuyện"; /* Label for 'edit attributes access' action in conversation settings view. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Who Can Edit Group Info"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS" = "Ai Có thể Chỉnh sửa Thông tin Nhóm"; /* Label for button that sets 'group attributes access' to 'administrators-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Only Admins"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_ADMINISTRATORS_BUTTON" = "Chỉ có Quản trị viên"; /* Description for the 'edit group attributes access' alert. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Choose who can change the group name, avatar and disappearing messages:"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_DESCRIPTION" = "Chọn ai có thể thay đổi tên nhóm, ảnh đại diện và tin nhắn tạm thời:"; /* Label for button that sets 'group attributes access' to 'members-only'. */ -"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "All Members"; +"CONVERSATION_SETTINGS_EDIT_ATTRIBUTES_ACCESS_ALERT_MEMBERS_BUTTON" = "Mọi Thành viên"; /* Label for the 'edit group' button in conversation settings view. */ "CONVERSATION_SETTINGS_EDIT_GROUP" = "Sửa"; @@ -789,16 +789,16 @@ "CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Thông tin Nhóm"; /* Label for 'make group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Make Admin"; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_BUTTON" = "Chọn làm Quản trị"; /* Format for title for 'make group admin' confirmation alert. Embeds {user to make an admin}. */ -"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ will be able to remove group members and make other admins."; +"CONVERSATION_SETTINGS_MAKE_GROUP_ADMIN_TITLE_FORMAT" = "%@ sẽ có thể loại bỏ thành viên nhóm và chọn người khác làm quản trị viên."; /* Section title of the 'members' section in conversation settings view. */ "CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE" = "Thành viên"; /* Format for the section title of the 'members' section in conversation settings view. Embeds: {{ the number of group members }}. */ -"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Members"; +"CONVERSATION_SETTINGS_MEMBERS_SECTION_TITLE_FORMAT" = "%@ Thành viên"; /* Title of the 'mute this thread' action sheet. */ "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Im lặng"; @@ -834,16 +834,16 @@ "CONVERSATION_SETTINGS_PENDING_MEMBER_INVITES_NONE" = "Không"; /* Label for 'remove from group' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Remove From Group"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_BUTTON" = "Loại bỏ khỏi Nhóm"; /* Format for title for 'remove from group' confirmation alert. Embeds {user to remove from the group}. */ -"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Remove %@ from the group?"; +"CONVERSATION_SETTINGS_REMOVE_FROM_GROUP_TITLE_FORMAT" = "Loại bỏ %@ khỏi nhóm?"; /* Label for 'revoke group admin' button in conversation settings view. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Remove as Admin"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_BUTTON" = "Loại bỏ khỏi vai trò Quản trị viên"; /* Format for title for 'revoke group admin' confirmation alert. Embeds {user to revoke admin status from}. */ -"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Remove %@ as group admin?"; +"CONVERSATION_SETTINGS_REVOKE_GROUP_ADMIN_TITLE_FORMAT" = "Loại bỏ %@ khỏi vai trò quản trị nhóm?"; /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ "CONVERSATION_SETTINGS_SEARCH" = "Tìm kiếm Cuộc trò chuyện"; @@ -852,16 +852,22 @@ "CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Chạm để Thay đổi"; /* Label for 'unblock group' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Unblock Group"; +"CONVERSATION_SETTINGS_UNBLOCK_GROUP" = "Ngưng chặn Nhóm"; /* Label for 'unblock user' action in conversation settings view. */ -"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Unblock User"; +"CONVERSATION_SETTINGS_UNBLOCK_USER" = "Ngưng chặn Người dùng"; /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Tắt tạm im"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "Thay đổi Chưa được lưu"; + /* Label for 'view all members' button in conversation settings view. */ -"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; +"CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "Xem tất cả thành viên"; /* Indicates that user is in the system contacts list. */ "CONVERSATION_SETTINGS_VIEW_IS_SYSTEM_CONTACT" = "Liên hệ này đã có trong danh bạ của bạn"; @@ -891,7 +897,7 @@ "CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Người dùng này không trong danh bạ của bạn"; /* button text to delete all items in the current conversation */ -"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Delete All"; +"CONVERSATION_VIEW_DELETE_ALL_MESSAGES" = "Xoá Tất cả"; /* Indicates that the app is loading more messages in this conversation. */ "CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Đang tải Thêm Tin nhắn..."; @@ -975,16 +981,16 @@ "DEBUG_LOG_GITHUB_ISSUE_ALERT_TITLE" = "Chuyển sang GitHub"; /* action sheet body */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Delete all messages in the conversation?"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_ALERT_BODY" = "Xoá tất cả tin nhắn khỏi cuộc trò chuyện?"; /* button text */ -"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Delete All Messages"; +"DELETE_ALL_MESSAGES_IN_CONVERSATION_BUTTON" = "Xoá Mọi Tin nhắn"; /* action sheet body. Embeds {{number of selected messages}} which will be deleted. */ -"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete %ld Messages?"; +"DELETE_SELECTED_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Xoá %ld Tin nhắn?"; /* action sheet body */ -"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Delete Message?"; +"DELETE_SELECTED_SINGLE_MESSAGES_IN_CONVERSATION_ALERT_FORMAT" = "Xoá Tin nhắn?"; /* Label for button that lets users re-register using the same phone number. */ "DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Đăng ký lại số điện thoại này"; @@ -1032,7 +1038,7 @@ "EDIT_GROUP_ACTION" = "Sửa nhóm"; /* The 'clear avatar' button in the 'edit group' view. */ -"EDIT_GROUP_CLEAR_AVATAR" = "Remove Avatar"; +"EDIT_GROUP_CLEAR_AVATAR" = "Xoá Ảnh đại diện"; /* a title for the contacts section of the 'new/update group' view. */ "EDIT_GROUP_CONTACTS_SECTION_TITLE" = "Liên hệ"; @@ -1041,16 +1047,16 @@ "EDIT_GROUP_DEFAULT_TITLE" = "Sửa nhóm"; /* Error message indicating the a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "This user can't be added to the group until they upgrade Signal."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER" = "Người dùng này không thể được thêm vào nhóm cho đến khi họ nâng cấp Signal."; /* Message for 'group full' error alert when a user can't be added to a group. */ -"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Maximum group size of 100 members reached."; +"EDIT_GROUP_ERROR_CANNOT_ADD_MEMBER_GROUP_FULL" = "Đã đạt số lượng tối đa 100 thành viên."; /* Error message indicating that an avatar image is invalid and cannot be used. */ -"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Invalid avatar."; +"EDIT_GROUP_ERROR_INVALID_AVATAR" = "Ảnh đại diện không hợp lệ."; /* Label for the group name in the 'edit group' view. */ -"EDIT_GROUP_GROUP_NAME" = "Group Name"; +"EDIT_GROUP_GROUP_NAME" = "Tên Nhóm"; /* An indicator that a user is a new member of the group. */ "EDIT_GROUP_NEW_MEMBER_LABEL" = "Đã thêm vào"; @@ -1203,7 +1209,7 @@ "ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "Số an toàn đã thay đổi."; /* Error indicating network connectivity problems. */ -"ERROR_NETWORK_FAILURE" = "Network Error"; +"ERROR_NETWORK_FAILURE" = "Lỗi Kết nối mạng"; /* Error indicating a send failure due to a delinked application. */ "ERROR_SENDING_DELINKED" = "Thiết bị này không còn được liên kết. Hãy liên kết lại để gửi tin nhắn."; @@ -1287,43 +1293,43 @@ "GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Nhập từ khóa tìm kiếm"; /* Body message of notification shown during GRDB migration indicating that user may need to open app to view their content. */ -"GRDB_MIGRATION_NOTIFICATION_BODY" = "This version of Signal includes database optimizations and performance improvements. You may need to open the app to complete the process."; +"GRDB_MIGRATION_NOTIFICATION_BODY" = "Phiên bản này của Signal bao gồm các tối ưu hoá về cơ sở dữ liệu và cải thiện tốc độ. Bạn có thể sẽ cần mở ứng dụng để hoàn tất quá trình."; /* Title of notification shown during GRDB migration indicating that user may need to open app to view their content. */ "GRDB_MIGRATION_NOTIFICATION_TITLE" = "Đang tối ưu hóa Cơ sở dữ liệu"; /* Message indicating that the access to the group's attributes was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group info to “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_LOCAL_USER_FORMAT" = "Bạn thay đổi người có thể chỉnh sửa thông tin nhóm thành \"%@\"."; /* Message indicating that the access to the group's attributes was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group info to “%2$@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ thay đổi người có thể chỉnh sửa thông tin nhóm thành \"%2$@\"."; /* Message indicating that the access to the group's attributes was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "Group info can be changed by “%@“."; +"GROUP_ACCESS_ATTRIBUTES_UPDATED_FORMAT" = "Thông tin nhóm chỉ có được đổi chỉnh sửa bởi \"%@\"."; /* Description of the 'admins only' access level. */ -"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "Admins Only"; +"GROUP_ACCESS_LEVEL_ADMINISTRATORS" = "Chỉ riêng Quản trị viên"; /* Description of the 'all users' access level. */ -"GROUP_ACCESS_LEVEL_ANY" = "Any User"; +"GROUP_ACCESS_LEVEL_ANY" = "Bất kì Người dùng"; /* Description of the 'all members' access level. */ -"GROUP_ACCESS_LEVEL_MEMBER" = "All Members"; +"GROUP_ACCESS_LEVEL_MEMBER" = "Mọi Thành viên"; /* Description of the 'unknown' access level. */ "GROUP_ACCESS_LEVEL_UNKNOWN" = "Vô danh"; /* Message indicating that the access to the group's members was changed by the local user. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed who can edit group membership to “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_LOCAL_USER_FORMAT" = "Bạn thay đổi người có thể chỉnh sửa thành viên nhóm thành \"%@\"."; /* Message indicating that the access to the group's members was changed by a remote user. Embeds {{ %1$@ user who changed the access, %2$@ new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed who can edit group membership to “%2$@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ thay đổi người có thể chỉnh sửa thành viên nhóm thành \"%2$@\"."; /* Message indicating that the access to the group's members was changed. Embeds {{new access level}}. */ -"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "Group membership can be changed by “%@“."; +"GROUP_ACCESS_MEMBERS_UPDATED_FORMAT" = "Thành viên nhóm có thể được thay đổi bởi \"%@\"."; /* Error indicating that a member cannot be added to a group. */ -"GROUP_CANNOT_ADD_INVALID_MEMBER" = "This user cannot be added to the group."; +"GROUP_CANNOT_ADD_INVALID_MEMBER" = "Người dùng này không thể được thêm vào nhóm."; /* Message indicating that group was created by the local user. */ "GROUP_CREATED_BY_LOCAL_USER" = "Bạn đã tạo nhóm."; @@ -1332,88 +1338,88 @@ "GROUP_CREATED_BY_REMOTE_USER_FORMAT" = "%@ đã thêm bạn vào nhóm."; /* Message indicating that group was created by an unknown user. */ -"GROUP_CREATED_BY_UNKNOWN_USER" = "Group was created."; +"GROUP_CREATED_BY_UNKNOWN_USER" = "Nhóm đã được tạo."; /* Message shown in conversation view that indicates there were issues with group creation. */ "GROUP_CREATION_FAILED" = "Không thể thêm tất cả thành viên vào nhóm. Chạm để thử lại."; /* Format for the message for an alert indicating that a member was invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_MESSAGE_1_FORMAT" = "%@ không thể được tự động thêm vào nhóm này bởi bạn. Họ đã được mời tham gia, và sẽ không thấy tin nhắn nhóm cho đến khi họ chấp nhận."; /* Title for an alert indicating that a member was invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_1" = "Invitation Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_1" = "Thư mời đã được gửi"; /* Format for the title for an alert indicating that some members were invited to a group. Embeds: {{ the number of invites sent. }} */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "%@ Invitations Sent"; +"GROUP_INVITES_SENT_ALERT_TITLE_N_FORMAT" = "%@ thư mời đã gửi"; /* Message for an alert indicating that some members were invited to a group. */ -"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "These users can’t be automatically added to this group by you. They’ve been invited to join, and won’t see any group messages until they accept."; +"GROUP_INVITES_SENT_ALERT_TITLE_N_MESSAGE" = "Các người dùng này không thể được tự động thêm vào nhóm bởi bạn. Họ đã được mời tham gia, và sẽ không thấy các tin nhắn nhóm cho đến khi họ chấp nhận."; /* Message indicating that the local user was added to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ added you."; +"GROUP_LOCAL_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%@ đã thêm bạn vào."; /* Message indicating that the local user was granted administrator role. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "You are now an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR" = "Bạn đang là quản trị viên."; /* Message indicating that the local user was granted administrator role by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ made you an admin."; +"GROUP_LOCAL_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ đổi vai trò của bạn thành quản trị viên."; /* Message indicating that the local user accepted an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "You accepted an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED" = "Bạn đã chấp nhận thư mời vào nhóm."; /* Message indicating that the local user accepted an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "You accepted an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_ACCEPTED_FORMAT" = "Bạn đã chấp nhận thư mời vào nhóm từ %@."; /* Message indicating that the local user declined an invite to the group. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "You declined an invitation to the group."; +"GROUP_LOCAL_USER_INVITE_DECLINED_BY_LOCAL_USER" = "Bạn đã từ chối thư mời vào nhóm."; /* Message indicating that the local user declined an invite to the group. Embeds {{user who invited the local user}}. */ -"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "You declined an invitation to the group from %@."; +"GROUP_LOCAL_USER_INVITE_DECLINED_FORMAT" = "Bạn đã từ chối thư mời vào nhóm từ %@."; /* Message indicating that the local user's invite was revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ revoked your invitation to the group."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_REMOTE_USER_FORMAT" = "%@ đã thu hồi thư mời tham gia nhóm cho bạn."; /* Message indicating that the local user's invite was revoked by an unknown user. */ -"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Your invitation to the group was revoked."; +"GROUP_LOCAL_USER_INVITE_REVOKED_BY_UNKNOWN_USER" = "Thư mời tham gia nhóm của bạn đã bị thu hồi."; /* Message indicating that the local user was invited to the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ invited you."; +"GROUP_LOCAL_USER_INVITED_BY_REMOTE_USER_FORMAT" = "%@ đã mời bạn."; /* Message indicating that the local user was invited to the group. */ -"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "You were invited to the group."; +"GROUP_LOCAL_USER_INVITED_TO_THE_GROUP" = "Bạn đã được mời vào nhóm."; /* Message indicating that the local user has joined the group. */ -"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "You joined the group."; +"GROUP_LOCAL_USER_JOINED_THE_GROUP" = "Bạn đã tham gia nhóm."; /* Message indicating that the local user was removed from the group by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed you."; +"GROUP_LOCAL_USER_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ đã loại bỏ bạn."; /* Message indicating that the local user was removed from the group by an unknown user. */ -"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "You were removed from the group."; +"GROUP_LOCAL_USER_REMOVED_BY_UNKNOWN_USER" = "Bạn đã bị loại bỏ khỏi nhóm."; /* Message indicating that the local user had their administrator role revoked. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Your admin privileges were revoked."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR" = "Quyền quản trị của bạn đã bị thu hồi."; /* Message indicating that the local user had their administrator role revoked by another user. Embeds {{remote user name}}. */ -"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ revoked your admin privileges."; +"GROUP_LOCAL_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%@ đã thu hồi quyền quản trị của bạn."; /* Conversation settings table section title */ "GROUP_MANAGEMENT_SECTION" = "Quản lý Nhóm"; /* Label indicating that a group member is an admin. */ -"GROUP_MEMBER_ADMIN_INDICATOR" = "Admin"; +"GROUP_MEMBER_ADMIN_INDICATOR" = "Quản trị viên"; /* Format string for the group member count indicator. Embeds {{ %1$@ the number of members in the group, %2$@ the maximum number of members in the group. }}. */ "GROUP_MEMBER_COUNT_FORMAT" = "%1$@/%2$@"; /* The 'group member count' indicator when there are no members in the group. */ -"GROUP_MEMBER_COUNT_LABEL_0" = "No members"; +"GROUP_MEMBER_COUNT_LABEL_0" = "Không có thành viên"; /* The 'group member count' indicator when there is 1 member in the group. */ "GROUP_MEMBER_COUNT_LABEL_1" = "1 thành viên"; /* Format for the 'group member count' indicator. Embeds {the number of group members}. */ -"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ members"; +"GROUP_MEMBER_COUNT_LABEL_FORMAT" = "%@ thành viên"; /* Label indicating the local user. */ "GROUP_MEMBER_LOCAL_USER" = "Bạn"; @@ -1422,7 +1428,7 @@ "GROUP_MEMBERS_CALL" = "Gọi"; /* Label indicating that a group has no other members. */ -"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "No members."; +"GROUP_MEMBERS_NO_OTHER_MEMBERS" = "Không có thành viên."; /* Label for the button that clears all verification errors in the 'group members' view. */ "GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Xóa hết các lỗi xác minh của nhóm"; @@ -1440,166 +1446,166 @@ "GROUP_MEMBERS_SEND_MESSAGE" = "Tin nhắn"; /* Placeholder text for 'group name' field. */ -"GROUP_NAME_PLACEHOLDER" = "Group name (required)"; +"GROUP_NAME_PLACEHOLDER" = "Tên nhóm (bắt buộc)"; /* Message indicating that a remote user has accepted their invite. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ accepted an invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FORMAT" = "%@ chấp nhận thư mời vào nhóm."; /* Message indicating that a remote user has accepted an invite from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ accepted your invitation to the group."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ chấp nhận thư mời vào nhóm của bạn."; /* Message indicating that a remote user has accepted their invite. Embeds {{ %1$@ user who accepted their invite, %2$@ user who invited the user}}. */ -"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ accepted an invitation to the group from %2$@."; +"GROUP_REMOTE_USER_ACCEPTED_INVITE_FROM_REMOTE_USER_FORMAT" = "%1$@ chấp nhận thư mời vào nhóm từ %2$@."; /* Message indicating that a remote user was added to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "You added %@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_LOCAL_USER_FORMAT" = "Bạn đã thêm %@."; /* Message indicating that a remote user was added to the group by another user. Embeds {{ %1$@ user who added the user, %2$@ user who was added}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ added %2$@."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ đã thêm %2$@."; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ was added to the group."; +"GROUP_REMOTE_USER_ADDED_TO_GROUP_FORMAT" = "%@ đã được thêm vào nhóm. "; /* Message indicating that a remote user has declined their invite. */ -"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 person declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE" = "1 người dùng đã từ chối thư mời tham gia nhóm."; /* Message indicating that a remote user has declined their invite. Embeds {{ user who invited them }}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 person invited by %@ declined the invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FORMAT" = "1 người dùng được mời bởi %@ đã từ chối thư mời vào nhóm."; /* Message indicating that a remote user has declined an invite to the group from the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ declined your invitation to the group."; +"GROUP_REMOTE_USER_DECLINED_INVITE_FROM_LOCAL_USER_FORMAT" = "%@ đã từ chối thư mời vào nhóm của bạn."; /* Message indicating that a remote user was granted administrator role. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ is now an admin"; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR" = "%@ đã là quản trị viên"; /* Message indicating that a remote user was granted administrator role by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "You made %@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_LOCAL_USER" = "Bạn cho phép %@ làm quản trị viên."; /* Message indicating that a remote user was granted administrator role by another user. Embeds {{ %1$@ user who granted, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ made %2$@ an admin."; +"GROUP_REMOTE_USER_GRANTED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ cho phép %2$@ làm quản trị viên."; /* Message indicating that a single remote user's invite was revoked. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Invitation to the group was revoked for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_1" = "Thư mời tham gia nhóm đã bị thu hồi cho 1 người dùng."; /* Message indicating that a remote user's invite was revoked by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Invitation to the group was revoked for %@."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_LOCAL_USER_FORMAT" = "Thư mời tham gia nhóm đã bị thu hồi cho %@."; /* Message indicating that a single remote user's invite was revoked by a remote user. Embeds {{ user who revoked the invite }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ revoked an invitation to the group for 1 person."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_1_FORMAT" = "%@ thu hồi thư mời tham gia nhóm cho 1 người dùng."; /* Message indicating that a group of remote users' invites were revoked by a remote user. Embeds {{ %1$@ user who revoked the invite, %2$@ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ revoked an invitation to the group for %2$@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_BY_REMOTE_USER_N_FORMAT" = "%1$@ thu hồi thư mời tham gia nhóm cho %2$@ người dùng."; /* Message indicating that a group of remote users' invites were revoked. Embeds {{ number of users }}. */ -"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Invitations to the group were revoked for %@ people."; +"GROUP_REMOTE_USER_INVITE_REVOKED_N_FORMAT" = "Thư mời tham gia nhóm đã bị thu hồi cho %@ người dùng."; /* Message indicating that a single remote user was invited to the group. */ -"GROUP_REMOTE_USER_INVITED_1" = "1 person was invited to the group."; +"GROUP_REMOTE_USER_INVITED_1" = "1 người dùng được mời vào nhóm."; /* Message indicating that a remote user was invited to the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "You invited %@ to the group."; +"GROUP_REMOTE_USER_INVITED_BY_LOCAL_USER_FORMAT" = "Bạn đã mời %@ vào nhóm."; /* Message indicating that a single remote user was invited to the group by the local user. Embeds {{ user who invited the user }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ invited 1 person to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_1_FORMAT" = "%@ đã mời 1 người dùng vào nhóm."; /* Message indicating that a group of remote users were invited to the group by the local user. Embeds {{ %1$@ user who invited the user, %2$@ number of invited users }}. */ -"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ invited %2$@ people to the group."; +"GROUP_REMOTE_USER_INVITED_BY_REMOTE_USER_N_FORMAT" = "%1$@ đã mời %2$@ người dùng vào nhóm."; /* Message indicating that a group of remote users were invited to the group. Embeds {{number of invited users}}. */ -"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ people were invited to the group."; +"GROUP_REMOTE_USER_INVITED_N_FORMAT" = "%@ người dùng đã được mời vào nhóm."; /* Message indicating that a remote user was added to the group. Embeds {{remote user name}}. */ "GROUP_REMOTE_USER_JOINED_GROUP_FORMAT" = "%@ đã tham gia nhóm."; /* Message indicating that a remote user has left the group. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ left the group."; +"GROUP_REMOTE_USER_LEFT_GROUP_FORMAT" = "%@ đã rời khỏi nhóm."; /* Message indicating that a remote user was removed from the group by the local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "You removed %@."; +"GROUP_REMOTE_USER_REMOVED_BY_LOCAL_USER_FORMAT" = "Bạn đã loại bỏ %@."; /* Message indicating that the remote user was removed from the group. Embeds {{ %1$@ user who removed the user, %2$@ user who was removed}}. */ -"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ removed %2$@."; +"GROUP_REMOTE_USER_REMOVED_FROM_GROUP_BY_REMOTE_USER_FORMAT" = "%1$@ đã loại bỏ %2$@."; /* Message indicating that a remote user had their administrator role revoked. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ had their admin privileges revoked."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR" = "%@ đã bị thu hồi quyền quản trị."; /* Message indicating that a remote user had their administrator role revoked by local user. Embeds {{remote user name}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "You revoked admin privileges from %@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_LOCAL_USER" = "Bạn đã thu hồi quyền quản trị của %@."; /* Message indicating that a remote user had their administrator role revoked by another user. Embeds {{ %1$@ user who revoked, %2$@ user who was granted administrator role}}. */ -"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ revoked admin privileges from %2$@."; +"GROUP_REMOTE_USER_REVOKED_ADMINISTRATOR_BY_REMOTE_USER_FORMAT" = "%1$@ đã thu hồi quyền quản trị của %2$@."; /* Info message indicating that the group was updated by an unknown user. */ "GROUP_UPDATED" = "Nhóm được cập nhật."; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED" = "The group avatar was removed."; +"GROUP_UPDATED_AVATAR_REMOVED" = "Ảnh đại diện nhóm đã bị xoá. "; /* Message indicating that the group's avatar was removed. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "You removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_LOCAL_USER" = "Bạn đã xoá ảnh đại diện."; /* Message indicating that the group's avatar was removed by a remote user. Embeds {{user who removed the avatar}}. */ -"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed the avatar."; +"GROUP_UPDATED_AVATAR_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ đã xoá ảnh đại diện."; /* Message indicating that the group's avatar was changed. */ "GROUP_UPDATED_AVATAR_UPDATED" = "Cập nhật ảnh đại diện nhóm."; /* Message indicating that the group's avatar was changed. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "You updated the avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_LOCAL_USER" = "Bạn đã cập nhật ảnh đại diện."; /* Message indicating that the group's avatar was changed by a remote user. Embeds {{user who changed the avatar}}. */ -"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ updated the avatar."; +"GROUP_UPDATED_AVATAR_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ đã cập nhật ảnh đại diện."; /* Info message indicating that the group was updated by the local user. */ "GROUP_UPDATED_BY_LOCAL_USER" = "Bạn đã cập nhật nhóm."; /* Info message indicating that the group was updated by another user. Embeds {{remote user name}}. */ -"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ updated the group."; +"GROUP_UPDATED_BY_REMOTE_USER_FORMAT" = "%@ đã cập nhật nhóm."; /* Message indicating that the group's name was removed. */ -"GROUP_UPDATED_NAME_REMOVED" = "The group name was removed."; +"GROUP_UPDATED_NAME_REMOVED" = "Tên nhóm đã bị xoá."; /* Message indicating that the group's name was removed by the local user. */ -"GROUP_UPDATED_NAME_REMOVED_BY_LOCAL_USER" = "You removed the group name."; +"GROUP_UPDATED_NAME_REMOVED_BY_LOCAL_USER" = "Bạn đã xoá tên nhóm."; /* Message indicating that the group's name was removed by a remote user. Embeds {{user who removed the name}}. */ -"GROUP_UPDATED_NAME_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ removed the group name."; +"GROUP_UPDATED_NAME_REMOVED_BY_REMOTE_USER_FORMAT" = "%@ đã xoá tên nhóm."; /* Message indicating that the group's name was changed by the local user. Embeds {{new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_BY_LOCAL_USER_FORMAT" = "You changed the group name to “%@“."; +"GROUP_UPDATED_NAME_UPDATED_BY_LOCAL_USER_FORMAT" = "Bạn đã đổi tên nhóm thành \"%@\"."; /* Message indicating that the group's name was changed by a remote user. Embeds {{ %1$@ user who changed the name, %2$@ new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ changed the group name to “%2$@“."; +"GROUP_UPDATED_NAME_UPDATED_BY_REMOTE_USER_FORMAT" = "%1$@ đã đổi tên nhóm thành \"%2$@\"."; /* Message indicating that the group's name was changed. Embeds {{new group name}}. */ -"GROUP_UPDATED_NAME_UPDATED_FORMAT" = "Group name is now “%@”."; +"GROUP_UPDATED_NAME_UPDATED_FORMAT" = "Tên nhóm đã được đổi sang \"%@\"."; /* Message indicating that the local user left the group. */ "GROUP_YOU_LEFT" = "Bạn đã rời nhóm."; /* Message for the 'can't replace group admin' alert. */ -"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Choose a new admin for this group before you leave."; +"GROUPS_CANT_REPLACE_ADMIN_ALERT_MESSAGE" = "Chọn một quản trị viên mới cho nhóm trước khi bạn rời nhóm."; /* Error indicating that an error occurred while accepting an invite. */ -"GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Could not accept invite."; +"GROUPS_INVITE_ACCEPT_INVITE_FAILED" = "Không thể chấp nhận thư mời."; /* Label for 'block group' button in group invite view. */ -"GROUPS_INVITE_BLOCK_GROUP" = "Block Group"; +"GROUPS_INVITE_BLOCK_GROUP" = "Chặn Nhóm"; /* Label for 'block group and inviter' button in group invite view. Embeds {{name of user who invited you}}. */ -"GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Block Group and %@"; +"GROUPS_INVITE_BLOCK_GROUP_AND_INVITER_FORMAT" = "Chặn Nhóm và %@"; /* Label for 'block inviter' button in group invite view. Embeds {{name of user who invited you}}. */ -"GROUPS_INVITE_BLOCK_INVITER_FORMAT" = "Block %@"; +"GROUPS_INVITE_BLOCK_INVITER_FORMAT" = "Chặn %@"; /* Message for the 'replace group admin' alert. */ -"GROUPS_REPLACE_ADMIN_ALERT_MESSAGE" = "Before you leave, choose a new admin for this group."; +"GROUPS_REPLACE_ADMIN_ALERT_MESSAGE" = "Trước khi bạn rời đi, chọn một quản trị viên mới cho nhóm."; /* Title for the 'replace group admin' alert. */ -"GROUPS_REPLACE_ADMIN_ALERT_TITLE" = "Choose New Admin"; +"GROUPS_REPLACE_ADMIN_ALERT_TITLE" = "Chọn Quản trị viên Mới"; /* Label for the 'replace group admin' button. */ -"GROUPS_REPLACE_ADMIN_BUTTON" = "Choose new admin"; +"GROUPS_REPLACE_ADMIN_BUTTON" = "Chọn quản trị viên mới"; /* Label for 'archived conversations' button. */ "HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Các cuộc trò chuyện đã lưu trữ"; @@ -1611,7 +1617,7 @@ "HOME_VIEW_CONVERSATION_SEARCHBAR_PLACEHOLDER" = "Tìm kiếm"; /* A prefix indicating that a message preview is a draft */ -"HOME_VIEW_DRAFT_PREFIX" = "Draft: "; +"HOME_VIEW_DRAFT_PREFIX" = "Nháp:"; /* Format string for a label offering to start a new conversation with your contacts, if you have 1 Signal contact. Embeds {{The name of 1 of your Signal contacts}}. */ "HOME_VIEW_FIRST_CONVERSATION_OFFER_1_CONTACT_FORMAT" = "Một số liên hệ của bạn đã có trên Signal, bao gồm %@."; @@ -1626,7 +1632,7 @@ "HOME_VIEW_FIRST_CONVERSATION_OFFER_NO_CONTACTS" = "Bắt đầu cuộc trò chuyện đầu tiên của bạn ở đây."; /* Table cell subtitle label for a group the user has been added to. {Embeds inviter name} */ -"HOME_VIEW_MESSAGE_REQUEST_ADDED_TO_GROUP_FORMAT" = "%@ added you to the group"; +"HOME_VIEW_MESSAGE_REQUEST_ADDED_TO_GROUP_FORMAT" = "%@ đã thêm bạn vào nhóm"; /* Table cell subtitle label for a conversation the user has not accepted. */ "HOME_VIEW_MESSAGE_REQUEST_CONVERSATION" = "Yêu cầu gửi Tin nhắn"; @@ -1773,7 +1779,7 @@ "LEAVE_GROUP_ACTION" = "Rời Nhóm"; /* Error indicating that a group could not be left. */ -"LEAVE_GROUP_FAILED" = "An error occurred while leaving the group."; +"LEAVE_GROUP_FAILED" = "Đã xảy ra lỗi khi bạn rời nhóm."; /* report an invalid linking code */ "LINK_DEVICE_INVALID_CODE_BODY" = "Mã QR này không hợp lệ. Hãy đảm bảo bạn đang quét đúng mã QR trên thiết bị bạn đang muốn liên kết."; @@ -1848,10 +1854,10 @@ "MEDIA_GALLERY_THIS_MONTH_HEADER" = "Tháng này"; /* button title to snooze a megaphone */ -"MEGAPHONE_REMIND_LATER" = "Remind Me Later"; +"MEGAPHONE_REMIND_LATER" = "Nhắc tôi sau"; /* toast indicating that we will remind the user later */ -"MEGAPHONE_WILL_REMIND_LATER" = "We’ll remind you later."; +"MEGAPHONE_WILL_REMIND_LATER" = "Chúng tôi sẽ nhắc bạn sau."; /* Action sheet button title */ "MESSAGE_ACTION_COPY_TEXT" = "Sao chép Nội dung Tin nhắn"; @@ -1860,7 +1866,7 @@ "MESSAGE_ACTION_DELETE_MESSAGE" = "Xóa Tin nhắn này"; /* accessibility label */ -"MESSAGE_ACTION_DELETE_SELECTED_MESSAGES" = "Delete Selected Messages"; +"MESSAGE_ACTION_DELETE_SELECTED_MESSAGES" = "Xoá các Tin nhắn Đã chọn"; /* Action sheet button title */ "MESSAGE_ACTION_DETAILS" = "Thông tin khác"; @@ -1872,7 +1878,7 @@ "MESSAGE_ACTION_REPLY" = "Trả lời Tin nhắn này"; /* Action sheet accessibility label */ -"MESSAGE_ACTION_SELECT_MESSAGE" = "Select Multiple"; +"MESSAGE_ACTION_SELECT_MESSAGE" = "Chọn Nhiều"; /* Action sheet button title */ "MESSAGE_ACTION_SHARE_MEDIA" = "Chia sẻ tệp đa phương tiện"; @@ -1932,10 +1938,10 @@ "MESSAGE_REQUEST_BLOCK_ACTION" = "Chặn"; /* Action sheet action to confirm blocking and deleting a thread via a message request. */ -"MESSAGE_REQUEST_BLOCK_AND_DELETE_ACTION" = "Block and Delete"; +"MESSAGE_REQUEST_BLOCK_AND_DELETE_ACTION" = "Chặn và Xoá"; /* Action sheet message to confirm blocking a conversation via a message request. */ -"MESSAGE_REQUEST_BLOCK_CONVERSATION_MESSAGE" = "Blocked people won’t be able to call you or send you messages."; +"MESSAGE_REQUEST_BLOCK_CONVERSATION_MESSAGE" = "Các người dùng bị chặn sẽ không thể gọi cho bạn hoặc gửi tin nhắn cho bạn."; /* Action sheet title to confirm blocking a contact via a message request. Embeds {{contact name or phone number}} */ "MESSAGE_REQUEST_BLOCK_CONVERSATION_TITLE_FORMAT" = "Chặn %@?"; @@ -1944,7 +1950,7 @@ "MESSAGE_REQUEST_BLOCK_GROUP_MESSAGE" = "Bạn sẽ rời nhóm và không còn nhận tin nhắn hay cập nhật từ nhóm này nữa."; /* Action sheet title to confirm blocking a group via a message request. Embeds {{group name}} */ -"MESSAGE_REQUEST_BLOCK_GROUP_TITLE_FORMAT" = "Block and Leave %@?"; +"MESSAGE_REQUEST_BLOCK_GROUP_TITLE_FORMAT" = "Chặn và Rời %@?"; /* Action sheet action to confirm deleting a conversation via a message request. */ "MESSAGE_REQUEST_DELETE_CONVERSATION_ACTION" = "Xóa"; @@ -1956,13 +1962,13 @@ "MESSAGE_REQUEST_DELETE_CONVERSATION_TITLE" = "Xoá cuộc trò chuyện?"; /* Action sheet action to confirm deleting a group via a message request. */ -"MESSAGE_REQUEST_LEAVE_AND_DELETE_GROUP_ACTION" = "Delete and Leave"; +"MESSAGE_REQUEST_LEAVE_AND_DELETE_GROUP_ACTION" = "Xoá và Rời"; /* Action sheet message to confirm deleting a group via a message request. */ "MESSAGE_REQUEST_LEAVE_AND_DELETE_GROUP_MESSAGE" = "Bạn sẽ rời nhóm, và lịch sử trò chuyện sẽ bị xóa trên tất cả các thiết bị của bạn."; /* Action sheet title to confirm deleting a group via a message request. */ -"MESSAGE_REQUEST_LEAVE_AND_DELETE_GROUP_TITLE" = "Delete and Leave Group?"; +"MESSAGE_REQUEST_LEAVE_AND_DELETE_GROUP_TITLE" = "Xoá và Rời Nhóm?"; /* A button used to accept a user on an incoming message request. */ "MESSAGE_REQUEST_VIEW_ACCEPT_BUTTON" = "Chấp nhận"; @@ -1971,10 +1977,10 @@ "MESSAGE_REQUEST_VIEW_BLOCK_BUTTON" = "Chặn"; /* A prompt notifying that the user must unblock this conversation to continue. Embeds {{contact name}}. */ -"MESSAGE_REQUEST_VIEW_BLOCKED_CONTACT_PROMPT_FORMAT" = "Do you want to let %@ message you? You won't receive any messages until you unblock them."; +"MESSAGE_REQUEST_VIEW_BLOCKED_CONTACT_PROMPT_FORMAT" = "Bạn có muốn cho phép %@ nhắn tin cho bạn? Bạn sẽ không nhận được tin nhắn nào cho đến khi bạn ngưng chặn họ."; /* A prompt notifying that the user must unblock this group to continue. Embeds {{group name}}. */ -"MESSAGE_REQUEST_VIEW_BLOCKED_GROUP_PROMPT_FORMAT" = "Do you want to let the group %@ message you? You won't receive any messages until you unblock them."; +"MESSAGE_REQUEST_VIEW_BLOCKED_GROUP_PROMPT_FORMAT" = "Bạn có muốn để nhóm %@ nhắn tin cho bạn? Bạn sẽ không nhận được tin nhắn nào cho đến khi bạn ngưng chặn họ."; /* incoming message request button text which deletes a conversation */ "MESSAGE_REQUEST_VIEW_DELETE_BUTTON" = "Xóa"; @@ -1986,7 +1992,7 @@ "MESSAGE_REQUEST_VIEW_EXISTING_GROUP_PROMPT_FORMAT" = "Bạn cần chia sẻ hồ sơ của bạn để tiếp tục trò chuyện trong nhóm %@."; /* A prompt for the user to accept or decline an invite to a group. Embeds {{name of user who invited you}}. */ -"MESSAGE_REQUEST_VIEW_GROUP_INVITE_PROMPT_FORMAT" = "You were invited to this group by %@. Do you want to let members of this group message you?"; +"MESSAGE_REQUEST_VIEW_GROUP_INVITE_PROMPT_FORMAT" = "Bạn được mời vào nhóm này bởi %@. Bạn có muốn để các thành viên nhóm này nhắn tin cho bạn không?"; /* A prompt asking if the user wants to accept a conversation invite. Embeds {{contact name}}. */ "MESSAGE_REQUEST_VIEW_NEW_CONTACT_PROMPT_FORMAT" = "Bạn có muốn %@ nhắn tin cho bạn? Họ sẽ không biết bạn đã đọc tin nhắn của họ cho tới khi bạn chấp thuận."; @@ -2001,13 +2007,13 @@ "MESSAGE_REQUEST_VIEW_UNBLOCK_BUTTON" = "Bỏ chặn"; /* Header for message requests splash screen */ -"MESSAGE_REQUESTS_NAMES_SPLASH_TITLE" = "Introducing Message Requests"; +"MESSAGE_REQUESTS_NAMES_SPLASH_TITLE" = "Giới thiệu Yêu cầu Tin nhắn"; /* Button to start a create profile name flow from the one time splash screen that appears after upgrading */ "MESSAGE_REQUESTS_SPLASH_ADD_PROFILE_NAME_BUTTON" = "Điền tên hồ sơ"; /* Body text for message requests splash screen */ -"MESSAGE_REQUESTS_SPLASH_BODY" = "You can now choose to ”Accept” or ”Delete“ a new conversation. Names let people know who’s messaging them."; +"MESSAGE_REQUESTS_SPLASH_BODY" = "Bây giờ bạn có thể chọn \"Chấp nhận\" hoặc \"Xoá\" cho một cuộc trò chuyện mới. Tên cho phép người dùng biết ai đang nhắn tin cho họ."; /* Toast indicating that a profile name has been created. */ "MESSAGE_REQUESTS_SPLASH_MEGAPHONE_TOAST" = "Tên hồ sơ của bạn đã được lưu."; @@ -2127,13 +2133,13 @@ "NEW_GROUP_CREATION_FAILED" = "Không thể tạo nhóm mới."; /* Error indicating that a new group could not be created due to network connectivity problems. */ -"NEW_GROUP_CREATION_FAILED_DUE_TO_NETWORK" = "New group could not be created. Check your internet connection and try again."; +"NEW_GROUP_CREATION_FAILED_DUE_TO_NETWORK" = "Nhóm mới không thể được lập. Kiểm tra kết nối internet và thử lại."; /* Message for error alert indicating that a group name is required. */ -"NEW_GROUP_CREATION_MISSING_NAME_ALERT_MESSAGE" = "A group name is required."; +"NEW_GROUP_CREATION_MISSING_NAME_ALERT_MESSAGE" = "Tên nhóm là bắt buộc."; /* Title for error alert indicating that a group name is required. */ -"NEW_GROUP_CREATION_MISSING_NAME_ALERT_TITLE" = "Missing Group Name"; +"NEW_GROUP_CREATION_MISSING_NAME_ALERT_TITLE" = "Tên nhóm đang thiếu"; /* Used in place of the group name when a group has not yet been named. */ "NEW_GROUP_DEFAULT_TITLE" = "Nhóm Mới"; @@ -2145,7 +2151,7 @@ "NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ đến %@"; /* The title for the 'name new group' view. */ -"NEW_GROUP_NAME_GROUP_VIEW_TITLE" = "Name Group"; +"NEW_GROUP_NAME_GROUP_VIEW_TITLE" = "Tên Nhóm"; /* Placeholder text for group name field */ "NEW_GROUP_NAMEGROUP_REQUEST_DEFAULT" = "Đặt tên cho nhóm này"; @@ -2154,7 +2160,7 @@ "NEW_GROUP_NON_CONTACTS_SECTION_TITLE" = "Người dùng Khác"; /* The title for the 'select members for new group' view. */ -"NEW_GROUP_SELECT_MEMBERS_VIEW_TITLE" = "Select Members"; +"NEW_GROUP_SELECT_MEMBERS_VIEW_TITLE" = "Chọn Thành viên"; /* The alert message if user tries to exit the new group view without saving changes. */ "NEW_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Bạn có muốn bỏ các thay đổi này?"; @@ -2223,13 +2229,13 @@ "ONBOARDING_2FA_CREATE_NEW_PIN" = "Tạo PIN mới"; /* Button asking if the user would like to enter an alphanumeric PIN */ -"ONBOARDING_2FA_ENTER_ALPHANUMERIC" = "Enter Alphanumeric PIN"; +"ONBOARDING_2FA_ENTER_ALPHANUMERIC" = "Nhập mã PIN gồm chữ và số"; /* Button asking if the user would like to enter an numeric PIN */ -"ONBOARDING_2FA_ENTER_NUMERIC" = "Enter Numeric PIN"; +"ONBOARDING_2FA_ENTER_NUMERIC" = "Nhập mã PIN số"; /* Label for the 'forgot 2FA PIN' link in the 'onboarding 2FA' view. */ -"ONBOARDING_2FA_FORGOT_PIN_LINK" = "Need Help?"; +"ONBOARDING_2FA_FORGOT_PIN_LINK" = "Cần Hỗ trợ?"; /* Label indicating that the 2fa pin is invalid in the 'onboarding 2fa' view. */ "ONBOARDING_2FA_INVALID_PIN" = "Mã PIN không chính xác"; @@ -2241,13 +2247,13 @@ "ONBOARDING_2FA_INVALID_PIN_SINGLE" = "Mã PIN không chính xác. Còn 1 lần thử."; /* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */ -"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Skip and Create New Pin"; +"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Bỏ qua và Tạo PIN mới"; /* Explanation for the skip pin entry action sheet during onboarding. */ "ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Nếu bạn không nhớ mã PIN, bạn có thể tạo PIN mới. Bạn có thể đăng kí và dùng tài khoản của bạn nhưng sẽ mất một vài dữ liệu như thông tin hồ sơ."; /* Title for the skip pin entry action sheet during onboarding. */ -"ONBOARDING_2FA_SKIP_PIN_ENTRY_TITLE" = "Skip PIN Entry?"; +"ONBOARDING_2FA_SKIP_PIN_ENTRY_TITLE" = "Bỏ qua Nhập mã PIN? "; /* Title of the 'onboarding Captcha' view. */ "ONBOARDING_CAPTCHA_TITLE" = "Thêm dấu chỉ vào tin nhắn để chứng minh bạn là người thật"; @@ -2283,7 +2289,7 @@ "ONBOARDING_PERMISSIONS_EXPLANATION" = "Thông báo sẽ cho bạn thấy tin nhắn đến và nhận cập nhật về hoạt động trò chuyện mới."; /* Title of the 'onboarding permissions' view. */ -"ONBOARDING_PERMISSIONS_TITLE" = "Get the message"; +"ONBOARDING_PERMISSIONS_TITLE" = "Tải tin nhắn"; /* Title of the 'onboarding phone number' view. */ "ONBOARDING_PHONE_NUMBER_TITLE" = "Điền số điện thoại của bạn để bắt đầu"; @@ -2292,7 +2298,7 @@ "ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "Số không hợp lệ"; /* Explanation of the 'onboarding pin attempts exhausted' view when reglock is disabled. */ -"ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_EXPLANATION" = "You’ve run out of PIN guesses, but you can still access your Signal account by creating a new PIN. For your privacy and security your account will be restored without any saved profile information or settings."; +"ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_EXPLANATION" = "Bạn đã hết lượt thử mã PIN, nhưng bạn vẫn có thể truy cập tài khoản Signal của bạn bằng cách tạo mã PIN mới. Vì sự riêng tư và bảo mật bạn, tài khoản của bạn sẽ được khôi phục mà không có các thông tin hoặc cài đặt người dùng."; /* Label for the 'learn more' link when reglock is disabled in the 'onboarding pin attempts exhausted' view. */ "ONBOARDING_PIN_ATTEMPTS_EXHAUSTED_LEARN_MORE" = "Tìm hiểu thêm về mã PIN"; @@ -2388,37 +2394,37 @@ "PDF_VIEW_TITLE" = "PDF"; /* Format for label indicating the a group member has invited 1 other user to the group. Embeds {{ the name of the inviting group member. }}. */ -"PENDING_GROUP_MEMBERS_MEMBER_INVITED_1_USER_FORMAT" = "%@ invited 1 person"; +"PENDING_GROUP_MEMBERS_MEMBER_INVITED_1_USER_FORMAT" = "%@ đã mời 1 người dùng"; /* Format for label indicating the a group member has invited N other users to the group. Embeds {{ %1$@ name of the inviting group member, %2$@ the number of users they have invited. }}. */ -"PENDING_GROUP_MEMBERS_MEMBER_INVITED_N_USERS_FORMAT" = "%1$@ invited %2$@ people"; +"PENDING_GROUP_MEMBERS_MEMBER_INVITED_N_USERS_FORMAT" = "%1$@ đã mời %2$@ người dùng"; /* Label indicating that a group has no pending members. */ -"PENDING_GROUP_MEMBERS_NO_PENDING_MEMBERS" = "No invites to show."; +"PENDING_GROUP_MEMBERS_NO_PENDING_MEMBERS" = "Không có thư mời để hiển thị."; /* Title of 'revoke invite' button. */ -"PENDING_GROUP_MEMBERS_REVOKE_INVITE_1_BUTTON" = "Revoke Invite"; +"PENDING_GROUP_MEMBERS_REVOKE_INVITE_1_BUTTON" = "Thu hồi Thư mời"; /* Format for title of 'revoke invite' confirmation alert. Embeds {{ the name of the invited group member. }}. */ -"PENDING_GROUP_MEMBERS_REVOKE_INVITE_CONFIRMATION_TITLE_1_FORMAT" = "Revoke group invite for “%@“?"; +"PENDING_GROUP_MEMBERS_REVOKE_INVITE_CONFIRMATION_TITLE_1_FORMAT" = "Thu hồi thư mời cho \"%@\"?"; /* Format for title of 'revoke invite' confirmation alert. Embeds {{ %1$@ the number of users they have invited, %2$@ name of the inviting group member. }}. */ -"PENDING_GROUP_MEMBERS_REVOKE_INVITE_CONFIRMATION_TITLE_N_FORMAT" = "Revoke %1$@ invites sent by “%2$@“?"; +"PENDING_GROUP_MEMBERS_REVOKE_INVITE_CONFIRMATION_TITLE_N_FORMAT" = "Thu hồi %1$@ thu mời được gửi bởi \"%2$@\"?"; /* Title of 'revoke invites' button. */ -"PENDING_GROUP_MEMBERS_REVOKE_INVITE_N_BUTTON" = "Revoke Invites"; +"PENDING_GROUP_MEMBERS_REVOKE_INVITE_N_BUTTON" = "Thu hồi Thư mời"; /* Footer for the 'invites by other group members' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "Details of people invited by other group members are not shown. If invitees choose to join, their information will be shared with the group at that time. They will not see any messages in the group until they join."; +"PENDING_GROUP_MEMBERS_SECTION_FOOTER_INVITES_FROM_OTHER_MEMBERS" = "Thông tin của các người dùng được mời bởi các thành viên nhóm khác không được hiển thị. Nếu người được mời chấp nhận tham gia, thông tin của họ sẽ được chia sẻ với nhóm vào lúc đó. Họ sẽ không thấy tin nhắn trong nhóm cho đến khi họ tham gia. "; /* Title for the 'invites by other group members' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_TITLE_INVITES_FROM_OTHER_MEMBERS" = "Invites by other group members"; +"PENDING_GROUP_MEMBERS_SECTION_TITLE_INVITES_FROM_OTHER_MEMBERS" = "Thư mời bởi các thành viên nhóm khác"; /* Title for the 'people you invited' section of the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_SECTION_TITLE_PEOPLE_YOU_INVITED" = "People you invited"; +"PENDING_GROUP_MEMBERS_SECTION_TITLE_PEOPLE_YOU_INVITED" = "Người dùng bạn đã mời"; /* The title for the 'pending group members' view. */ -"PENDING_GROUP_MEMBERS_VIEW_TITLE" = "Pending Group Invites"; +"PENDING_GROUP_MEMBERS_VIEW_TITLE" = "Các thư mời đang chờ"; /* Label for view-once messages that have invalid content. */ "PER_MESSAGE_EXPIRATION_INVALID_CONTENT" = "Lỗi xử lý tin nhắn đến"; @@ -2496,37 +2502,37 @@ "PHOTO_PICKER_UNNAMED_COLLECTION" = "Album Không có tiêu đề"; /* Label indicating the user must use at least 4 characters */ -"PIN_CREATION_ALPHANUMERIC_HINT" = "PIN must be at least 4 characters"; +"PIN_CREATION_ALPHANUMERIC_HINT" = "PIN phải có ít nhất 4 ký tự"; /* Title of the 'pin creation' recreation view. */ "PIN_CREATION_CHANGING_TITLE" = "Thay đổi mã PIN của bạn."; /* Title of the 'pin creation' confirmation view. */ -"PIN_CREATION_CONFIRM_TITLE" = "Confirm your PIN"; +"PIN_CREATION_CONFIRM_TITLE" = "Xác nhận PIN của bạn"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Nhập mã PIN bạn vừa tạo."; /* Button asking if the user would like to create an alphanumeric PIN */ -"PIN_CREATION_CREATE_ALPHANUMERIC" = "Create Alphanumeric PIN"; +"PIN_CREATION_CREATE_ALPHANUMERIC" = "Tạo mã PIN gồm chữ và số"; /* Button asking if the user would like to create an numeric PIN */ -"PIN_CREATION_CREATE_NUMERIC" = "Create Numeric PIN"; +"PIN_CREATION_CREATE_NUMERIC" = "Tạo mã PIN số"; /* Error body indicating that the attempt to create a PIN failed. */ -"PIN_CREATION_ERROR_MESSAGE" = "Your PIN was not saved. We’ll prompt you to create a PIN later."; +"PIN_CREATION_ERROR_MESSAGE" = "Mã PIN của bạn không được lưu. Chúng tôi sẽ yêu cầu bạn tạo mã PIN sau."; /* Error title indicating that the attempt to create a PIN failed. */ "PIN_CREATION_ERROR_TITLE" = "Không thể tạo mã PIN"; /* The explanation in the 'pin creation' view. */ -"PIN_CREATION_EXPLANATION" = "PINs keep information stored with Signal encrypted so only you can access it. Your profile, settings, and contacts will restore when you reinstall Signal."; +"PIN_CREATION_EXPLANATION" = "Mã PIN mã hoá các thông tin được lưu trữ với Signal để chỉ mình bạn có thể truy cập được. Thông tin người dùng, cài đặt, và các liên hệ sẽ được khôi phục khi bạn cài đặt lại Signal."; /* Label indicating that the attempted PIN does not match the first PIN */ "PIN_CREATION_MISMATCH_ERROR" = "Mã PIN không khớp. Hãy thử lại."; /* Label indicating the user must use at least 4 digits */ -"PIN_CREATION_NUMERIC_HINT" = "PIN must be at least 4 digits"; +"PIN_CREATION_NUMERIC_HINT" = "Mã PIN phải có ít nhất 4 số"; /* Label indication the user must confirm their PIN. */ "PIN_CREATION_PIN_CONFIRMATION_HINT" = "Nhập lại mã PIN"; @@ -2535,7 +2541,7 @@ "PIN_CREATION_PIN_PROGRESS" = "Đang tạo mã PIN..."; /* The re-creation explanation in the 'pin creation' view. */ -"PIN_CREATION_RECREATION_EXPLANATION" = "You can change your PIN as long as this device is registered."; +"PIN_CREATION_RECREATION_EXPLANATION" = "Bạn có thể thay đổi mã PIN của bạn với điều kiện thiết bị được đăng ký."; /* Title of the 'pin creation' recreation view. */ "PIN_CREATION_RECREATION_TITLE" = "Thay đổi mã PIN của bạn."; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "Tạo mã PIN của bạn"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "Chọn mã PIN mạnh hơn"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "Để giúp bạn nhớ mã PIN, thỉnh thoảng chúng tôi sẽ yêu cầu bạn nhập mã này. Số lần chúng tôi yêu cầu sẽ ít dần theo thời gian."; @@ -2556,22 +2562,22 @@ "PIN_REMINDER_MEGAPHONE_ACTION" = "Xác minh mã PIN"; /* Body for PIN reminder megaphone */ -"PIN_REMINDER_MEGAPHONE_BODY" = "We’ll occasionally ask you to verify your PIN so that you remember it."; +"PIN_REMINDER_MEGAPHONE_BODY" = "Chúng tôi sẽ hỏi bạn xác nhận lại mã PIN định kỳ để bạn có thể nhớ được mã."; /* Toast indicating that we'll ask you for your PIN again in 3 days. */ -"PIN_REMINDER_MEGAPHONE_FEW_DAYS_TOAST" = "We’ll remind you again in a few days."; +"PIN_REMINDER_MEGAPHONE_FEW_DAYS_TOAST" = "Chúng tôi sẽ nhắc bạn trong vài ngày tới."; /* Title for PIN reminder megaphone */ "PIN_REMINDER_MEGAPHONE_TITLE" = "Xác minh mã PIN Signal của bạn"; /* Toast indicating that we'll ask you for your PIN again tomorrow. */ -"PIN_REMINDER_MEGAPHONE_TOMORROW_TOAST" = "We’ll remind you again tomorrow."; +"PIN_REMINDER_MEGAPHONE_TOMORROW_TOAST" = " Chúng tôi sẽ nhắc bạn vào ngày mai."; /* Toast indicating that we'll ask you for your PIN again in 2 weeks. */ -"PIN_REMINDER_MEGAPHONE_TWO_WEEK_TOAST" = "We’ll remind you again in a couple weeks."; +"PIN_REMINDER_MEGAPHONE_TWO_WEEK_TOAST" = "Chúng tôi sẽ nhắc bạn trong vài tuần tới."; /* Toast indicating that we'll ask you for your PIN again in a week. */ -"PIN_REMINDER_MEGAPHONE_WEEK_TOAST" = "We’ll remind you again in a week."; +"PIN_REMINDER_MEGAPHONE_WEEK_TOAST" = "Chúng tôi sẽ nhắc bạn trong một tuần nữa."; /* Label indicating that the attempted PIN does not match the user's PIN */ "PIN_REMINDER_MISMATCH_ERROR" = "Mã PIN không đúng, hãy thử lại."; @@ -2586,16 +2592,16 @@ "PINS_MEGAPHONE_ACTION" = "Tạo mã PIN"; /* Body for PIN megaphone when user doesn't have a PIN */ -"PINS_MEGAPHONE_BODY" = "PINs keep information that’s stored with Signal encrypted"; +"PINS_MEGAPHONE_BODY" = "Mã PIN mã hoá các thông tin được lưu trữ với Signal"; /* Toast indication that the user will be reminded later to setup their PIN. Embeds {{time until mandatory}} */ -"PINS_MEGAPHONE_SNOOZE_TOAST_FORMAT" = "We’ll remind you later. Creating a PIN will become mandatory in %ld days."; +"PINS_MEGAPHONE_SNOOZE_TOAST_FORMAT" = "Chúng tôi sẽ nhắc bạn sau. Tạo mã PIN sẽ trở thành bắt buộc sau %ld ngày."; /* Title for PIN megaphone when user doesn't have a PIN */ "PINS_MEGAPHONE_TITLE" = "Tạo mã PIN"; /* Toast indicating that a PIN has been created. */ -"PINS_MEGAPHONE_TOAST" = "PIN created. You can change it in settings."; +"PINS_MEGAPHONE_TOAST" = "Mã PIN đã được tạo. Bạn có thể thay đổi nó trong cài đặt."; /* Accessibility label for button to start media playback */ "PLAY_BUTTON_ACCESSABILITY_LABEL" = "Phát Tập tin đa phương tiện"; @@ -2649,19 +2655,19 @@ "PROCEED_BUTTON" = "Tiến hành"; /* Action text for profile name reminder megaphone */ -"PROFILE_NAME_REMINDER_MEGAPHONE_ACTION" = "Get Started"; +"PROFILE_NAME_REMINDER_MEGAPHONE_ACTION" = "Bắt đầu"; /* Body for profile name reminder megaphone when user already has a profile name */ "PROFILE_NAME_REMINDER_MEGAPHONE_HAS_NAME_BODY" = "Bây giờ bạn có thể thêm họ của bạn vào tên hồ sơ."; /* Title for profile name reminder megaphone when user already has a profile name */ -"PROFILE_NAME_REMINDER_MEGAPHONE_HAS_NAME_TITLE" = "Confirm Your Profile Name"; +"PROFILE_NAME_REMINDER_MEGAPHONE_HAS_NAME_TITLE" = "Xác nhận Tên Người dùng của bạn"; /* Body for profile name reminder megaphone when user doesn't have a profile name */ "PROFILE_NAME_REMINDER_MEGAPHONE_NO_NAME_BODY" = "Tên này sẽ được hiển thị khi bạn bắt đầu cuộc trò chuyện hoặc chia sẻ hồ sơ."; /* Title for profile name reminder megaphone when user doesn't have a profile name */ -"PROFILE_NAME_REMINDER_MEGAPHONE_NO_NAME_TITLE" = "Add a Profile Name"; +"PROFILE_NAME_REMINDER_MEGAPHONE_NO_NAME_TITLE" = "Thêm Tên người dùng"; /* Toast indicating that a PIN has been created. */ "PROFILE_NAME_REMINDER_MEGAPHONE_TOAST" = "Tên hồ sơ của bạn đã được lưu."; @@ -2676,28 +2682,28 @@ "PROFILE_VIEW_CREATE_USERNAME" = "Tạo Tên người dùng"; /* Error message shown when user tries to update profile with a family name that is too long. */ -"PROFILE_VIEW_ERROR_FAMILY_NAME_TOO_LONG" = "Your last name is too long."; +"PROFILE_VIEW_ERROR_FAMILY_NAME_TOO_LONG" = "Tên họ của bạn quá dài."; /* Error message shown when user tries to update profile without a given name */ -"PROFILE_VIEW_ERROR_GIVEN_NAME_REQUIRED" = "Your first name is required."; +"PROFILE_VIEW_ERROR_GIVEN_NAME_REQUIRED" = "Tên của bạn là bắt buộc."; /* Error message shown when user tries to update profile with a given name that is too long. */ -"PROFILE_VIEW_ERROR_GIVEN_NAME_TOO_LONG" = "Your first name is too long."; +"PROFILE_VIEW_ERROR_GIVEN_NAME_TOO_LONG" = "Tên của bạn quá dài."; /* Default text for the family name field of the profile view. */ -"PROFILE_VIEW_FAMILY_NAME_DEFAULT_TEXT" = "(Optional)"; +"PROFILE_VIEW_FAMILY_NAME_DEFAULT_TEXT" = "(Tuỳ chọn)"; /* Label for the family name field of the profile view. */ "PROFILE_VIEW_FAMILY_NAME_FIELD" = "Tên"; /* Default text for the given name field of the profile view. */ -"PROFILE_VIEW_GIVEN_NAME_DEFAULT_TEXT" = "(Required)"; +"PROFILE_VIEW_GIVEN_NAME_DEFAULT_TEXT" = "(Bắt buộc)"; /* Label for the given name field of the profile view. */ "PROFILE_VIEW_GIVEN_NAME_FIELD" = "Họ"; /* Error shown when the user tries to update their profile when the app is not connected to the internet. */ -"PROFILE_VIEW_NO_CONNECTION" = "Profile can only be updated when connected to the internet."; +"PROFILE_VIEW_NO_CONNECTION" = "Hồ sơ người dùng chỉ có thể được cập nhật khi có kết nối internet."; /* Description of the user profile. */ "PROFILE_VIEW_PROFILE_DESCRIPTION" = "Hồ sơ Signal của bạn sẽ hiển thị cho các liên hệ khi bạn bắt đầu các cuộc trò chuyện mới và khi bạn chia sẻ nó với người dùng và nhóm khác."; @@ -2757,46 +2763,46 @@ "QUOTED_REPLY_TYPE_VIDEO" = "Video"; /* The header used to indicate All reactions to a given message. Embeds {{number of reactions}} */ -"REACTION_DETAIL_ALL_FORMAT" = "All · %@"; +"REACTION_DETAIL_ALL_FORMAT" = "Tất cả · %@"; /* notification body. Embeds {{reaction emoji}} */ "REACTION_INCOMING_NOTIFICATION_BODY_FORMAT" = "Đã bày tỏ cảm xúc %@ về tin nhắn của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_ALBUM_BODY_FORMAT" = "Reacted %@ to your album"; +"REACTION_INCOMING_NOTIFICATION_TO_ALBUM_BODY_FORMAT" = "Đã phản ứng %@ cho album của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_AUDIO_BODY_FORMAT" = "Reacted %@ to your audio"; +"REACTION_INCOMING_NOTIFICATION_TO_AUDIO_BODY_FORMAT" = "Đã phản ứng %@ cho tập âm thanh của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_CONTACT_SHARE_BODY_FORMAT" = "Reacted %@ to your contact share"; +"REACTION_INCOMING_NOTIFICATION_TO_CONTACT_SHARE_BODY_FORMAT" = "Đã phản ứng %@ cho chia sẻ liên hệ của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_FILE_BODY_FORMAT" = "Reacted %@ to your file"; +"REACTION_INCOMING_NOTIFICATION_TO_FILE_BODY_FORMAT" = "Đã phản ứng %@ cho tập tin của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_GIF_BODY_FORMAT" = "Reacted %@ to your GIF"; +"REACTION_INCOMING_NOTIFICATION_TO_GIF_BODY_FORMAT" = "Đã phản ứng %@ cho ảnh GIF của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_PHOTO_BODY_FORMAT" = "Reacted %@ to your photo"; +"REACTION_INCOMING_NOTIFICATION_TO_PHOTO_BODY_FORMAT" = "Đã phản ứng %@ cho ảnh của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_STICKER_MESSAGE_BODY_FORMAT" = "Reacted %@ to your sticker"; +"REACTION_INCOMING_NOTIFICATION_TO_STICKER_MESSAGE_BODY_FORMAT" = "Đã phản ứng %@ cho nhãn dán của bạn"; /* notification body. Embeds {{reaction emoji}} and {{body text}} */ -"REACTION_INCOMING_NOTIFICATION_TO_TEXT_MESSAGE_BODY_FORMAT" = "Reacted %@ to: \"%@\""; +"REACTION_INCOMING_NOTIFICATION_TO_TEXT_MESSAGE_BODY_FORMAT" = "Đã phản ứng %@ cho: \"%@\""; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_VIDEO_BODY_FORMAT" = "Reacted %@ to your video"; +"REACTION_INCOMING_NOTIFICATION_TO_VIDEO_BODY_FORMAT" = "Đã phản ứng %@ cho video của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_VIEW_ONCE_MESSAGE_BODY_FORMAT" = "Reacted %@ to your view-once media"; +"REACTION_INCOMING_NOTIFICATION_TO_VIEW_ONCE_MESSAGE_BODY_FORMAT" = "Đã phản ứng %@ cho tập đa phương tiện xem-một-lần của bạn"; /* notification body. Embeds {{reaction emoji}} */ -"REACTION_INCOMING_NOTIFICATION_TO_VOICE_MESSAGE_BODY_FORMAT" = "Reacted %@ to your voice message"; +"REACTION_INCOMING_NOTIFICATION_TO_VOICE_MESSAGE_BODY_FORMAT" = "Đã phản ứng %@ cho tin nhắn thoại của bạn"; /* Body for the megaphone introducing reactions */ -"REACTION_MEGAPHONE_BODY" = "Tap and hold on any message to quickly reply with how you feel."; +"REACTION_MEGAPHONE_BODY" = "Nhấn và giữ bất kì tin nhắn nào để phản hồi cảm xúc của bạn một cách nhanh chóng."; /* Title for the megaphone introducing reactions */ "REACTION_MEGAPHONE_TITLE" = "Xin giới thiệu tính năng Bày tỏ cảm xúc"; @@ -2808,19 +2814,19 @@ "REGISTER_2FA_FORGOT_PIN" = "Tôi đã quên mã PIN."; /* Alert title explaining what happens if you forget your 'two-factor auth pin'. */ -"REGISTER_2FA_FORGOT_PIN_ALERT_TITLE" = "Need Help?"; +"REGISTER_2FA_FORGOT_PIN_ALERT_TITLE" = "Cần Hỗ trợ?"; /* Alert body for a forgotten SVR (V2) PIN */ -"REGISTER_2FA_FORGOT_SVR_PIN_ALERT_MESSAGE" = "Your PIN is a 4+ digit code you created that can be numeric or alphanumeric. If you can’t remember your PIN, you’ll have to wait 7 days to re-register your account."; +"REGISTER_2FA_FORGOT_SVR_PIN_ALERT_MESSAGE" = "Mã PIN là một mã ít nhất 4 kí tự bạn tạo ra và có thể bao gồm số hoặc chữ và số. Nếu bạn không nhớ được mã PIN, bạn sẽ phải chờ 7 ngày để đăng ký lại tài khoản."; /* Alert body for a forgotten SVR (V2) PIN when the user doesn't have reglock */ -"REGISTER_2FA_FORGOT_SVR_PIN_WITHOUT_REGLOCK_ALERT_MESSAGE" = "Your PIN is a 4+ digit code you created that can be numeric or alphanumeric. If you can’t remember your PIN, you can create a new one. You can register and use your account but you’ll lose some saved settings like your profile information."; +"REGISTER_2FA_FORGOT_SVR_PIN_WITHOUT_REGLOCK_ALERT_MESSAGE" = "Mã PIN là một mã ít nhất 4 kí tự bạn tạo ra và có thể bao gồm số hoặc chữ và số. Nếu bạn không nhớ được mã PIN, bạn có thể tạo mã mới. Bạn có thể đăng ký và dùng tài khoản của bạn nhưng bạn sẽ mất một số cài đặt được lưu lại như thông tin người dùng."; /* Alert body for a forgotten V1 PIN */ -"REGISTER_2FA_FORGOT_V1_PIN_ALERT_MESSAGE" = "Your PIN is a 4+ digit numeric code you created. If you can’t remember your PIN, you’ll have to wait 7 days to re-register your account."; +"REGISTER_2FA_FORGOT_V1_PIN_ALERT_MESSAGE" = "Mã PIN là một mã ít nhất 4 kí tự bạn tạo ra. Nếu bạn không nhớ được mã PIN, bạn sẽ phải chờ 7 ngày để đăng ký lại tài khoản."; /* Alert message explaining what happens if you get your pin wrong and have multiple attempts remaining 'two-factor auth pin' with reglock disabled. */ -"REGISTER_2FA_INVALID_PIN_ALERT_MESSAGE_PLURAL_FORMAT" = "You have %lu attempts remaining. If you run out of attempts, you can create a new PIN. You can register and use your account but you’ll lose some saved settings like your profile information."; +"REGISTER_2FA_INVALID_PIN_ALERT_MESSAGE_PLURAL_FORMAT" = "Bạn còn %lu lần thử còn lại. Nếu bạn hết lần thử, bạn có thể tạo mã PIN mới. Bạn có thể đăng ký và sử dụng tài khoản nhưng bạn sẽ mất một số cài đặt đã được lưu như thông tin người dùng."; /* Alert message explaining what happens if you get your pin wrong and have multiple attempts remaining 'two-factor auth pin' with reglock enabled. */ "REGISTER_2FA_INVALID_PIN_ALERT_MESSAGE_REGLOCK_PLURAL_FORMAT" = "Bạn còn %lu lần thử. Nếu dùng hết các lần thử này, tài khoản của bạn sẽ bị xóa. Sau 7 ngày không sử dụng, bạn có thể đăng ký lại mà không cần mã PIN. Mọi nội dung và thông tin của tài khoản sẽ bị xóa."; @@ -2829,13 +2835,13 @@ "REGISTER_2FA_INVALID_PIN_ALERT_MESSAGE_REGLOCK_SINGLE" = "Bạn còn 1 lần thử. Nếu dùng hết các lần thử này, tài khoản của bạn sẽ bị xóa. Sau 7 ngày không sử dụng, bạn có thể đăng ký lại mà không cần mã PIN. Mọi nội dung và thông tin của tài khoản sẽ bị xóa."; /* Alert message explaining what happens if you get your pin wrong and have one attempt remaining 'two-factor auth pin' with reglock disabled. */ -"REGISTER_2FA_INVALID_PIN_ALERT_MESSAGE_SINGLE" = "You have 1 attempt remaining. If you run out of attempts, you can create a new PIN. You can register and use your account but you’ll lose some saved settings like your profile information."; +"REGISTER_2FA_INVALID_PIN_ALERT_MESSAGE_SINGLE" = "Bạn còn 1 lần thử còn lại. Nếu bạn hết lần thử, bạn có thể tạo mã PIN mới. Bạn có thể đăng ký và sử dụng tài khoản nhưng bạn sẽ mất một số cài đặt đã được lưu như thông tin người dùng."; /* Alert title explaining what happens if you forget your 'two-factor auth pin'. */ "REGISTER_2FA_INVALID_PIN_ALERT_TITLE" = "Mã PIN không chính xác"; /* Indicates the work we are doing while verifying the user's pin */ -"REGISTER_2FA_PIN_PROGRESS" = "Verifying PIN…"; +"REGISTER_2FA_PIN_PROGRESS" = "Xác nhận mã PIN..."; /* Label for 'submit' button in the 2FA registration view. */ "REGISTER_2FA_SUBMIT_BUTTON" = "Gửi"; @@ -2922,7 +2928,7 @@ "REMINDER_2FA_WRONG_PIN_ALERT_TITLE" = "Đây không phải là mã PIN chính xác."; /* The title for the 'replace group admin' view. */ -"REPLACE_ADMIN_VIEW_TITLE" = "Choose New Admin"; +"REPLACE_ADMIN_VIEW_TITLE" = "Chọn Quản trị viên Mới"; /* No comment provided by engineer. */ "REREGISTER_FOR_PUSH" = "Đăng ký lại để nhận thông báo đẩy."; @@ -2982,13 +2988,13 @@ "SCREEN_LOCK_UNLOCK_SIGNAL" = "Mở khóa Signal"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This will have a female profile photo. */ -"SCREENSHOT_NAME_CONTACT_EIGHT" = "Tina Ukuku"; +"SCREENSHOT_NAME_CONTACT_EIGHT" = "Trần Thị A"; /* This is a contact's name. Please keep the nick name Ali and change the last name to a popular lastname in your language. This will have male profile photo. */ -"SCREENSHOT_NAME_CONTACT_FIVE" = "Ali Smith"; +"SCREENSHOT_NAME_CONTACT_FIVE" = "Ali Nguyễn"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. This should be a unique non-public figure's name. This profile photo will be either male or female. Choose a unisex name if possible. */ -"SCREENSHOT_NAME_CONTACT_FOUR" = "Artemis Cheng"; +"SCREENSHOT_NAME_CONTACT_FOUR" = "Artemis Trương"; /* This is a contact's name. Replace the name for a more common name in your locale if this sounds too foreign. Include two last names if that is represented in your locale. This should be a unique non-public figure's name. This will have a female profile photo. */ "SCREENSHOT_NAME_CONTACT_NINE" = "Zeus Lehtonen"; @@ -3012,106 +3018,106 @@ "SCREENSHOT_NAME_CONTACT_TWO" = "Myles Larson"; /* This is a group chat of family members. Please keep Kirk or replace with a common last name in your locale. Translate 'Family' */ -"SCREENSHOT_NAME_GROUP_FIVE" = "Kirk Family"; +"SCREENSHOT_NAME_GROUP_FIVE" = "Gia đình Phạm "; /* Please include emoji. This is a group name/channel name for pictures of the sun in the sky. */ -"SCREENSHOT_NAME_GROUP_FOUR" = "Sunsets 🌅"; +"SCREENSHOT_NAME_GROUP_FOUR" = "Hoàng hôn 🌅"; /* This is for a group of people interested in discussing books they've read. */ "SCREENSHOT_NAME_GROUP_ONE" = "Câu lạc bộ sách"; /* This is group chat name for members talking about cats. Please include the emoji. */ -"SCREENSHOT_NAME_GROUP_SIX" = "Cat Chat 🐈 🐱"; +"SCREENSHOT_NAME_GROUP_SIX" = "Mèo 🐈 🐱"; /* Please include emoji. This is a group name for people who climb rocks/climb trees/hike mountains/outside mountaineering. */ -"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️ Rock Climbers"; +"SCREENSHOT_NAME_GROUP_THREE" = "🧗🏽‍♀️Leo Núi"; /* This is for a group chat for people who want weather updates. */ -"SCREENSHOT_NAME_GROUP_TWO" = "Weather Forecasts"; +"SCREENSHOT_NAME_GROUP_TWO" = "Dự báo Thời tiết"; /* This appears in Signal > Settings. A female leadership/presidential/chairwoman position + female name Freyja or similar spelling. This will have a cat profile photo. */ -"SCREENSHOT_NAME_LOCAL_PROFILE" = "Chairwoman Freya"; +"SCREENSHOT_NAME_LOCAL_PROFILE" = "Giám đốc Mai"; /* This is a message expressing support/happiness/awe/shock. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_ONE" = "Congrats! I can't believe it!"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_ONE" = "Chúc mừng! Thật không thể tin được!"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_THREE" = "See you tomorrow?"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_THREE" = "Mai gặp nhé?"; /* This is a message. Please include the emoji. */ -"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_TWO" = "Thank you ☺️"; +"SCREENSHOT_THREAD_DIRECT_FIVE_MESSAGE_TWO" = "Cảm ơn ☺️"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_ONE" = "Your wisdom has saved me."; +"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_ONE" = "Chỉ giảng của bạn đã cứu tôi."; /* This is a message. Include 'Thanks' + a similar phrase with the :) emoji. */ -"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_TWO" = "Thanks! What a wonderful message to read :)"; +"SCREENSHOT_THREAD_DIRECT_FOUR_MESSAGE_TWO" = "Cảm ơn! Tôi rất vui khi đọc tin nhắn này :)"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_ONE" = "The rain is pouring down and I'm sitting here just listening to it."; +"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_ONE" = "Đang mưa rất to và tôi chỉ đang ngồi nghe tiếng mưa."; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_TWO" = "That's what I did this morning too."; +"SCREENSHOT_THREAD_DIRECT_ONE_MESSAGE_TWO" = "Tôi cũng làm thế sáng nay."; /* This is a message before a call. */ -"SCREENSHOT_THREAD_DIRECT_SEVEN_MESSAGE_ONE" = "Free for a call?"; +"SCREENSHOT_THREAD_DIRECT_SEVEN_MESSAGE_ONE" = "Rảnh để nói chuyện không?"; /* This is a message. */ -"SCREENSHOT_THREAD_DIRECT_SIX_MESSAGE_ONE" = "Yes!"; +"SCREENSHOT_THREAD_DIRECT_SIX_MESSAGE_ONE" = "Có!"; /* Replace crepes with similar item that you bake or cook i.e. bread, croissants, naan. */ -"SCREENSHOT_THREAD_DIRECT_THREE_MESSAGE_ONE" = "We're making crepes tomorrow"; +"SCREENSHOT_THREAD_DIRECT_THREE_MESSAGE_ONE" = "Chúng tôi sẽ làm bánh crepe ngày mai"; /* This is a message before an image of mountains + a lake. */ -"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_ONE" = "Hey check this out!"; +"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_ONE" = "Xem này!"; /* This is a message. */ "SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_THREE" = "New Zealand!"; /* This is a message after an image of mountains + a lake. */ -"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_TWO" = "Whoa where are you!?"; +"SCREENSHOT_THREAD_DIRECT_TWO_MESSAGE_TWO" = "Whoa bạn ở đâu vậy?"; /* This is a message in the group chat of family members. */ -"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Today is ..."; +"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_ONE" = "Hôm nay là ..."; /* This is a message in the group chat of family members. */ -"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_TWO" = "Happy birthday to you. Happy birthday to you!"; +"SCREENSHOT_THREAD_GROUP_FIVE_MESSAGE_TWO" = "Chúc mừng sinh nhật. Chúc mừng sinh nhật!"; /* This is a message in the Sunsets group chat. */ -"SCREENSHOT_THREAD_GROUP_FOUR_MESSAGE_ONE" = "It's too cloudy here."; +"SCREENSHOT_THREAD_GROUP_FOUR_MESSAGE_ONE" = "Ở đây mây nhiều quá."; /* 1984 is the book title. The file extension is a text file. */ "SCREENSHOT_THREAD_GROUP_ONE_FILE_NAME" = "1984.txt"; /* This is for a message in the 'Book Club' group chat */ -"SCREENSHOT_THREAD_GROUP_ONE_MESSAGE_ONE" = "Did you read this yet?"; +"SCREENSHOT_THREAD_GROUP_ONE_MESSAGE_ONE" = "Bạn có đọc quyển này chưa?"; /* This is a file name 'Instructions' for the cat chat group. */ "SCREENSHOT_THREAD_GROUP_SIX_FILE_NAME" = "Instructions.PDF"; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FIVE" = "This is the instruction manual."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FIVE" = "Đây là bộ hướng dẫn sử dụng"; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FOUR" = "Pictures, please!"; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_FOUR" = "Gửi ảnh đi!"; /* This is a message after seeing a picture. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_ONE" = "This is peaceful."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_ONE" = "Thật là yên bình."; /* This is a message in the cat chat group. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_THREE" = "She’s walking a cat on a leash..."; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_THREE" = "Cô ấy đang dắt mèo bằng dây xích..."; /* This is a message. */ -"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_TWO" = "🌅 Good Morning!"; +"SCREENSHOT_THREAD_GROUP_SIX_MESSAGE_TWO" = "🌅Chào buổi sáng!"; /* This is a message in the 'Rock Climbers' group chat. Please translate to make sense for the translated group name. For example: Which way should we go? */ -"SCREENSHOT_THREAD_GROUP_THREE_MESSAGE_ONE" = "Which route should we take?"; +"SCREENSHOT_THREAD_GROUP_THREE_MESSAGE_ONE" = "Chúng ta nên đi hướng nào?"; /* This is a message. Please include the emoji if possible. */ -"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "See you all there 🤗"; +"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_ONE" = "Hẹn gặp mọi người ở đó 🤗"; /* This is a message sent with an attachment. */ -"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Raining all day"; +"SCREENSHOT_THREAD_GROUP_TWO_MESSAGE_TWO" = "Mưa cả ngày"; /* An example name for a user we use in the screenshots. */ "SCREENSHOT_USERNAME_1" = "SCREENSHOT_USERNAME_1"; @@ -3162,7 +3168,7 @@ "SECONDARY_ONBOARDING_GET_STARTED_BY_OPENING_PRIMARY" = "Mở Signal trên điện thoại để liên kết iPad này với tài khoản của bạn"; /* Link explaining what to do when trying to link a device before having a primary device. */ -"SECONDARY_ONBOARDING_GET_STARTED_DO_NOT_HAVE_PRIMARY" = "I don't have Signal on my phone…"; +"SECONDARY_ONBOARDING_GET_STARTED_DO_NOT_HAVE_PRIMARY" = "Tôi không có Signal trên điện thoại..."; /* alert body */ "SECONDARY_ONBOARDING_INSTALL_PRIMARY_FIRST_BODY" = "Hãy vào App Store trên điện thoại, cài Signal, hoàn thành quá trình đăng kí và rồi bạn có thể liên kết iPad với cùng một tài khoản."; @@ -3402,7 +3408,7 @@ "SETTINGS_NOTIFICATIONS" = "Thông báo"; /* Footer for the 'PINs' section of the privacy settings. */ -"SETTINGS_PINS_FOOTER" = "PINs keep information stored with Signal encrypted so only you can access it. Your profile, settings, and contacts will restore when you reinstall Signal."; +"SETTINGS_PINS_FOOTER" = "Mã PIN mã hoá các thông tin được lưu trữ với Signal để chỉ mình bạn có thể truy cập được. Thông tin người dùng, cài đặt, và các liên hệ sẽ được khôi phục khi bạn cài đặt lại Signal."; /* Label for the 'pins' item of the privacy settings when the user does have a pin. */ "SETTINGS_PINS_ITEM" = "Thay đổi mã PIN của bạn"; @@ -3411,7 +3417,7 @@ "SETTINGS_PINS_ITEM_CREATE" = "Tạo mã PIN"; /* Title for the 'PINs' section of the privacy settings. */ -"SETTINGS_PINS_TITLE" = "SIGNAL PIN"; +"SETTINGS_PINS_TITLE" = "MÃ PIN SIGNAL"; /* Label for 'CallKit privacy' preference */ "SETTINGS_PRIVACY_CALLKIT_PRIVACY_TITLE" = "Hiện Tên người gọi và Số điện thoại"; @@ -3435,19 +3441,19 @@ "SETTINGS_READ_RECEIPTS_SECTION_FOOTER" = "Xem và chia sẻ khi tin nhắn đã được đọc. Cài đặt này là tùy chọn và áp dụng cho mọi cuộc trò chuyện."; /* Action to turn off registration lock */ -"SETTINGS_REGISTRATION_LOCK_TURN_OFF" = "Turn Off"; +"SETTINGS_REGISTRATION_LOCK_TURN_OFF" = "Tắt"; /* Title for the alert confirming that the user wants to turn off registration lock. */ -"SETTINGS_REGISTRATION_LOCK_TURN_OFF_TITLE" = "Turn Off Registration Lock?"; +"SETTINGS_REGISTRATION_LOCK_TURN_OFF_TITLE" = "Tắt Khoá Đăng ký?"; /* Action to turn on registration lock */ -"SETTINGS_REGISTRATION_LOCK_TURN_ON" = "Turn On"; +"SETTINGS_REGISTRATION_LOCK_TURN_ON" = "Bật"; /* Body for the alert confirming that the user wants to turn on registration lock. */ "SETTINGS_REGISTRATION_LOCK_TURN_ON_MESSAGE" = "Nếu bạn quên mã PIN khi đăng kí lại với Signal, bạn sẽ không thể truy cập tài khoản trong 7 ngày/"; /* Title for the alert confirming that the user wants to turn on registration lock. */ -"SETTINGS_REGISTRATION_LOCK_TURN_ON_TITLE" = "Turn On Registration Lock?"; +"SETTINGS_REGISTRATION_LOCK_TURN_ON_TITLE" = "Bật Khoá Đăng ký?"; /* Label for re-link button. */ "SETTINGS_RELINK_BUTTON" = "Liên kết lại"; @@ -3507,7 +3513,7 @@ "SETTINGS_TWO_FACTOR_AUTH_TITLE" = "Khóa Đăng ký"; /* Footer for the 'two factor auth' section of the privacy settings when Signal PINs are available. */ -"SETTINGS_TWO_FACTOR_PINS_AUTH_FOOTER" = "For extra security, turn on registration lock, which will require your Signal PIN to register your phone number with Signal again."; +"SETTINGS_TWO_FACTOR_PINS_AUTH_FOOTER" = "Để tăng cường bảo mật, hãy bật khoá đăng ký, khoá sẽ yêu cầu mã PIN Signal của bạn để đăng ký số điện thoại của bạn lại với Signal."; /* Label for the 'typing indicators' setting. */ "SETTINGS_TYPING_INDICATORS" = "Dấu chỉ báo Đang nhập tin nhắn"; @@ -3744,10 +3750,10 @@ "UNKNOWN_USER" = "Vô danh"; /* Info Message when an unknown user disabled disappearing messages. */ -"UNKNOWN_USER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Disappearing messages were disabled."; +"UNKNOWN_USER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Tin nhắn tạm thời đã được tắt."; /* Info Message when an unknown user enabled disappearing messages. Embeds {{time amount}} before messages disappear. see the *_TIME_AMOUNT strings for context. */ -"UNKNOWN_USER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Disappearing message time was set to %@."; +"UNKNOWN_USER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Thời gian tin nhắn biến mất được cài là %@."; /* Indicates an unknown or unrecognizable value. */ "UNKNOWN_VALUE" = "Không rõ"; @@ -3786,22 +3792,22 @@ "UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_TITLE" = "Không được Hỗ trợ"; /* Error indicating that a group could not be updated. */ -"UPDATE_GROUP_FAILED" = "Group could not be updated."; +"UPDATE_GROUP_FAILED" = "Nhóm không thể được cập nhật."; /* Error indicating that a group could not be updated due to network connectivity problems. */ -"UPDATE_GROUP_FAILED_DUE_TO_NETWORK" = "This action couldn’t be completed. Check your internet connection and try again."; +"UPDATE_GROUP_FAILED_DUE_TO_NETWORK" = "Hành động này không thể được hoàn tất. Kiểm tra kết nối internet và thử lại."; /* Button to start a create pin flow from the one time splash screen that appears after upgrading */ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_CREATE_BUTTON" = "Tạo mã PIN của bạn"; /* Body text for PINs splash screen */ -"UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_DESCRIPTION" = "PINs keep information stored with Signal encrypted so only you can access it. Your profile, settings, and contacts will restore when you reinstall Signal."; +"UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_DESCRIPTION" = "Mã PIN mã hoá các thông tin được lưu trữ với Signal để chỉ mình bạn có thể truy cập được. Thông tin người dùng, cài đặt, và các liên hệ sẽ được khôi phục khi bạn cài đặt lại Signal."; /* Header for PINs splash screen */ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "Giới thiệu mã PIN"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal sẽ sớm yêu cầu hệ điều hành iOS 10 trở lên. Vui lòng nâng cấp trong ứng dụng Cài đặt >> Cài đặt chung >> Cập nhật Phần mềm."; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "Nâng cấp iOS"; @@ -3816,7 +3822,7 @@ "USERNAME_INVALID_CHARACTERS_ERROR" = "Tên người dùng chỉ được chứa các ký tự a-z, 0-9, và _"; /* A message indicating that username lookup failed. */ -"USERNAME_LOOKUP_ERROR" = "An error occurred while looking up the username. Please try again later."; +"USERNAME_LOOKUP_ERROR" = "Đã xảy ra lỗi khi tìm tên người dùng. Hãy thử lại sau."; /* A message indicating that the given username is not a registered signal account. Embeds {{username}} */ "USERNAME_NOT_FOUND_FORMAT" = "%@ không phải là người dùng Signal. Hãy kiểm tra lại bạn đã nhập đầy đủ tên người dùng hay chưa."; @@ -3879,7 +3885,7 @@ "VIEW_ONCE_MESSAGES_TOOLTIP" = "Nhấn vào đây để khiến tin nhắn tự hủy sau khi đã được xem."; /* Toast alert text shown when tapping on a view-once message that you have sent. */ -"VIEW_ONCE_OUTGOING_TOAST" = "Outgoing view-once media files are automatically removed after they are sent."; +"VIEW_ONCE_OUTGOING_TOAST" = "Các tập tin đa phương tiện xem-một-lần sẽ được xoá tự động sau khi chúng được gửi đi."; /* Indicates how to cancel a voice message. */ "VOICE_MESSAGE_CANCEL_INSTRUCTIONS" = "Kéo để huỷ"; @@ -3900,7 +3906,7 @@ "YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Bạn đã tắt chế độ tin nhắn tạm thời."; /* alert body shown when trying to use features in the app before completing registration-related setup. */ -"YOU_MUST_COMPLETE_ONBOARDING_BEFORE_PROCEEDING" = "You must complete setup before proceeding."; +"YOU_MUST_COMPLETE_ONBOARDING_BEFORE_PROCEEDING" = "Bạn phải hoàn tất cài đặt trước khi tiếp tục."; /* Info Message when you disabled disappearing messages. Embeds a {{time amount}} before messages disappear. see the *_TIME_AMOUNT strings for context. */ "YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Bạn đã đặt thời gian để tin nhắn biến mất là %@."; diff --git a/Signal/translations/zh_CN.lproj/Localizable.strings b/Signal/translations/zh_CN.lproj/Localizable.strings index 3e2f46fee4..2119e82e7d 100644 --- a/Signal/translations/zh_CN.lproj/Localizable.strings +++ b/Signal/translations/zh_CN.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "取消静音"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "未保存的修改"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "View all members"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "隆重推出“PIN”功能"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal 即将仅支持 iOS 10 或更新的系统版本。请到 设置 >> 通用 >> 软件更新 升级 iOS。"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "升级 iOS"; diff --git a/Signal/translations/zh_TW.lproj/Localizable.strings b/Signal/translations/zh_TW.lproj/Localizable.strings index 1f853097f1..79e25c6a02 100644 --- a/Signal/translations/zh_TW.lproj/Localizable.strings +++ b/Signal/translations/zh_TW.lproj/Localizable.strings @@ -860,6 +860,12 @@ /* Label for button to unmute a thread. */ "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "解除靜音"; +/* The alert message if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this conversation?"; + +/* The alert title if user tries to exit conversation settings view without saving changes. */ +"CONVERSATION_SETTINGS_UNSAVED_CHANGES_TITLE" = "未儲存的修改"; + /* Label for 'view all members' button in conversation settings view. */ "CONVERSATION_SETTINGS_VIEW_ALL_MEMBERS" = "檢視所有成員"; @@ -2505,7 +2511,7 @@ "PIN_CREATION_CONFIRM_TITLE" = "確認你的 PIN碼"; /* The explanation of confirmation in the 'pin creation' view. */ -"PIN_CREATION_CONFIRMATION_EXPLANATION" = "Enter the PIN you just created."; +"PIN_CREATION_CONFIRMATION_EXPLANATION" = "請輸入你剛才建立的PIN碼。"; /* Button asking if the user would like to create an alphanumeric PIN */ "PIN_CREATION_CREATE_ALPHANUMERIC" = "建立字母數字PIN碼"; @@ -2544,7 +2550,7 @@ "PIN_CREATION_TITLE" = "建立你的 PIN 碼"; /* Label indicating that the attempted PIN is too weak */ -"PIN_CREATION_WEAK_ERROR" = "Choose a stronger PIN"; +"PIN_CREATION_WEAK_ERROR" = "請選擇強度較強的PIN碼"; /* The explanation for the 'pin reminder' dialog. */ "PIN_REMINDER_EXPLANATION" = "要幫助你記住你的 PIN碼,我們將定期要求你輸入 PIN 碼。我們只會偶爾詢問你。"; @@ -3801,7 +3807,7 @@ "UPGRADE_EXPERIENCE_INTRODUCING_PINS_SETUP_TITLE" = "介紹 PIN 碼"; /* Message for the alert indicating that user should upgrade iOS. */ -"UPGRADE_IOS_ALERT_MESSAGE" = "Signal 將要求 iOS 10 以上才能使用。請在 \"設定\" >> \"一般\" >> \"軟體更新\" 中升級。"; +"UPGRADE_IOS_ALERT_MESSAGE" = "Signal will soon require iOS 11 or later. Please upgrade in Settings app >> General >> Software Update."; /* Title for the alert indicating that user should upgrade iOS. */ "UPGRADE_IOS_ALERT_TITLE" = "更新 iOS"; From 7d219b410ba6a6685c19e85b7ae222cca3803e59 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 15:57:44 -0300 Subject: [PATCH 07/13] Set feature flags for production. --- SignalServiceKit/src/Account/TSAccountManager.m | 6 ++++-- SignalServiceKit/src/Util/FeatureFlags.swift | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/SignalServiceKit/src/Account/TSAccountManager.m b/SignalServiceKit/src/Account/TSAccountManager.m index 0c498ecfda..d3b679fb88 100644 --- a/SignalServiceKit/src/Account/TSAccountManager.m +++ b/SignalServiceKit/src/Account/TSAccountManager.m @@ -478,10 +478,12 @@ NSString *const TSAccountManager_DeviceId = @"TSAccountManager_DeviceId"; } - (void)storeLocalNumber:(NSString *)localNumber - uuid:(NSUUID *)localUuid + uuid:(nullable NSUUID *)localUuid transaction:(SDSAnyWriteTransaction *)transaction { - OWSAssertDebug(localUuid); + // TODO UUID: make uuid non-nullable when enabling SSKFeatureFlags.allowUUIDOnlyContacts in production + // canary assert for this TODO. + OWSAssertDebug(!TSConstants.isUsingProductionService || !SSKFeatureFlags.allowUUIDOnlyContacts); @synchronized (self) { [self.keyValueStore setString:localNumber key:TSAccountManager_RegisteredNumberKey transaction:transaction]; diff --git a/SignalServiceKit/src/Util/FeatureFlags.swift b/SignalServiceKit/src/Util/FeatureFlags.swift index ab5d92c4f0..acbbcbaf5f 100644 --- a/SignalServiceKit/src/Util/FeatureFlags.swift +++ b/SignalServiceKit/src/Util/FeatureFlags.swift @@ -18,7 +18,7 @@ extension FeatureBuild { } } -let build: FeatureBuild = .qa +let build: FeatureBuild = OWSIsDebugBuild() ? .dev : .beta // MARK: - @@ -174,7 +174,7 @@ public class FeatureFlags: NSObject { public static let multiRing: Bool = false @objc - public static let groupsV2 = true + public static let groupsV2 = build.includes(.qa) && !isUsingProductionService // Don't consult this feature flag directly; instead // consult RemoteConfig.groupsV2CreateGroups. @@ -206,7 +206,7 @@ public class FeatureFlags: NSObject { public static let linkedPhones = build.includes(.internalPreview) @objc - public static let isUsingProductionService = false + public static let isUsingProductionService = true @objc public static let versionedProfiledFetches = groupsV2 @@ -261,7 +261,7 @@ public class DebugFlags: NSObject { public static let groupsV2dontSendUpdates = false @objc - public static let groupsV2showV2Indicator = true + public static let groupsV2showV2Indicator = FeatureFlags.groupsV2 && build.includes(.qa) // If set, v2 groups will be created and updated with invalid avatars // so that we can test clients' robustness to this case. From f106748898d672037bbde895d78dc7183e3f1893 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 16:03:08 -0300 Subject: [PATCH 08/13] Cautious message processing. --- .../src/Messages/OWSBatchMessageProcessor.m | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m b/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m index 77e517b5f9..a5c24a85e0 100644 --- a/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m +++ b/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m @@ -242,7 +242,7 @@ NSNotificationName const kNSNotificationNameMessageProcessingDidFlushQueue return; } - dispatch_async(self.serialQueue, ^{ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5f * NSEC_PER_SEC)), self.serialQueue, ^{ if (self.isDrainingQueue) { return; } @@ -261,12 +261,8 @@ NSNotificationName const kNSNotificationNameMessageProcessingDidFlushQueue return; } - // We want a value that is just high enough to yield perf benefits. - const NSUInteger kIncomingMessageBatchSize = 32; - // If the app is in the background, use batch size of 1. - // This reduces the cost of being interrupted and rolled back if - // app is suspended. - NSUInteger batchSize = self.isAppInBackground ? 1 : kIncomingMessageBatchSize; + // Temporarily use small batch sizes. + NSUInteger batchSize = 1; __block NSArray *batchJobs; [self.databaseStorage readWithBlock:^(SDSAnyReadTransaction *transaction) { From 426ccaa7d3a834da08bbc998ea0ef11d55445712 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 16:04:15 -0300 Subject: [PATCH 09/13] "Bump build to 3.8.3.4." --- NotificationServiceExtension/Info.plist | 2 +- Signal/Signal-Info.plist | 2 +- SignalShareExtension/Info.plist | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NotificationServiceExtension/Info.plist b/NotificationServiceExtension/Info.plist index 70d9c2a245..744a97844d 100644 --- a/NotificationServiceExtension/Info.plist +++ b/NotificationServiceExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 3.8.3 CFBundleVersion - 3.8.3.3 + 3.8.3.4 NSAppTransportSecurity NSExceptionDomains diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index 926818771e..6cc935b8b6 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -45,7 +45,7 @@ CFBundleVersion - 3.8.3.3 + 3.8.3.4 ITSAppUsesNonExemptEncryption LOGS_EMAIL diff --git a/SignalShareExtension/Info.plist b/SignalShareExtension/Info.plist index 1aeecfacaf..ea380da685 100644 --- a/SignalShareExtension/Info.plist +++ b/SignalShareExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 3.8.3 CFBundleVersion - 3.8.3.3 + 3.8.3.4 ITSAppUsesNonExemptEncryption NSAppTransportSecurity From d07e1cb588ae3989ab8f026f881c89343c5b695c Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 16:06:03 -0300 Subject: [PATCH 10/13] Revert "Cautious message processing." This reverts commit f106748898d672037bbde895d78dc7183e3f1893. --- .../src/Messages/OWSBatchMessageProcessor.m | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m b/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m index a5c24a85e0..77e517b5f9 100644 --- a/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m +++ b/SignalServiceKit/src/Messages/OWSBatchMessageProcessor.m @@ -242,7 +242,7 @@ NSNotificationName const kNSNotificationNameMessageProcessingDidFlushQueue return; } - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5f * NSEC_PER_SEC)), self.serialQueue, ^{ + dispatch_async(self.serialQueue, ^{ if (self.isDrainingQueue) { return; } @@ -261,8 +261,12 @@ NSNotificationName const kNSNotificationNameMessageProcessingDidFlushQueue return; } - // Temporarily use small batch sizes. - NSUInteger batchSize = 1; + // We want a value that is just high enough to yield perf benefits. + const NSUInteger kIncomingMessageBatchSize = 32; + // If the app is in the background, use batch size of 1. + // This reduces the cost of being interrupted and rolled back if + // app is suspended. + NSUInteger batchSize = self.isAppInBackground ? 1 : kIncomingMessageBatchSize; __block NSArray *batchJobs; [self.databaseStorage readWithBlock:^(SDSAnyReadTransaction *transaction) { From 80bf445b29ec8bfeac2eebe07f246d6ae0ca8107 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 16:06:10 -0300 Subject: [PATCH 11/13] "Bump build to 3.8.3.5." --- NotificationServiceExtension/Info.plist | 2 +- Signal/Signal-Info.plist | 2 +- SignalShareExtension/Info.plist | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NotificationServiceExtension/Info.plist b/NotificationServiceExtension/Info.plist index 744a97844d..08ba6e02c4 100644 --- a/NotificationServiceExtension/Info.plist +++ b/NotificationServiceExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 3.8.3 CFBundleVersion - 3.8.3.4 + 3.8.3.5 NSAppTransportSecurity NSExceptionDomains diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index 6cc935b8b6..0ab33b99b2 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -45,7 +45,7 @@ CFBundleVersion - 3.8.3.4 + 3.8.3.5 ITSAppUsesNonExemptEncryption LOGS_EMAIL diff --git a/SignalShareExtension/Info.plist b/SignalShareExtension/Info.plist index ea380da685..15b32ea54a 100644 --- a/SignalShareExtension/Info.plist +++ b/SignalShareExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 3.8.3 CFBundleVersion - 3.8.3.4 + 3.8.3.5 ITSAppUsesNonExemptEncryption NSAppTransportSecurity From ca9e1fa75ba08f475789864a953511dade4e47cb Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 16:06:55 -0300 Subject: [PATCH 12/13] Set feature flags for internal testing of groups v2 on production. --- SignalServiceKit/src/Account/TSAccountManager.m | 6 ++---- SignalServiceKit/src/Util/FeatureFlags.swift | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/SignalServiceKit/src/Account/TSAccountManager.m b/SignalServiceKit/src/Account/TSAccountManager.m index d3b679fb88..0c498ecfda 100644 --- a/SignalServiceKit/src/Account/TSAccountManager.m +++ b/SignalServiceKit/src/Account/TSAccountManager.m @@ -478,12 +478,10 @@ NSString *const TSAccountManager_DeviceId = @"TSAccountManager_DeviceId"; } - (void)storeLocalNumber:(NSString *)localNumber - uuid:(nullable NSUUID *)localUuid + uuid:(NSUUID *)localUuid transaction:(SDSAnyWriteTransaction *)transaction { - // TODO UUID: make uuid non-nullable when enabling SSKFeatureFlags.allowUUIDOnlyContacts in production - // canary assert for this TODO. - OWSAssertDebug(!TSConstants.isUsingProductionService || !SSKFeatureFlags.allowUUIDOnlyContacts); + OWSAssertDebug(localUuid); @synchronized (self) { [self.keyValueStore setString:localNumber key:TSAccountManager_RegisteredNumberKey transaction:transaction]; diff --git a/SignalServiceKit/src/Util/FeatureFlags.swift b/SignalServiceKit/src/Util/FeatureFlags.swift index acbbcbaf5f..f8d13cbac3 100644 --- a/SignalServiceKit/src/Util/FeatureFlags.swift +++ b/SignalServiceKit/src/Util/FeatureFlags.swift @@ -18,7 +18,7 @@ extension FeatureBuild { } } -let build: FeatureBuild = OWSIsDebugBuild() ? .dev : .beta +let build: FeatureBuild = .qa // MARK: - @@ -174,7 +174,7 @@ public class FeatureFlags: NSObject { public static let multiRing: Bool = false @objc - public static let groupsV2 = build.includes(.qa) && !isUsingProductionService + public static let groupsV2 = true // Don't consult this feature flag directly; instead // consult RemoteConfig.groupsV2CreateGroups. @@ -261,7 +261,7 @@ public class DebugFlags: NSObject { public static let groupsV2dontSendUpdates = false @objc - public static let groupsV2showV2Indicator = FeatureFlags.groupsV2 && build.includes(.qa) + public static let groupsV2showV2Indicator = true // If set, v2 groups will be created and updated with invalid avatars // so that we can test clients' robustness to this case. From de94b011a6a09b700808544cd6538b3d54ae8416 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 8 May 2020 16:09:47 -0300 Subject: [PATCH 13/13] "Bump build to 3.8.4.0." (Internal) --- NotificationServiceExtension/Info.plist | 4 ++-- Signal/Signal-Info.plist | 4 ++-- SignalShareExtension/Info.plist | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NotificationServiceExtension/Info.plist b/NotificationServiceExtension/Info.plist index 08ba6e02c4..fffa7fd760 100644 --- a/NotificationServiceExtension/Info.plist +++ b/NotificationServiceExtension/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 3.8.3 + 3.8.4 CFBundleVersion - 3.8.3.5 + 3.8.4.0 NSAppTransportSecurity NSExceptionDomains diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index 0ab33b99b2..e789e48363 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -28,7 +28,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.8.3 + 3.8.4 CFBundleSignature ???? CFBundleURLTypes @@ -45,7 +45,7 @@ CFBundleVersion - 3.8.3.5 + 3.8.4.0 ITSAppUsesNonExemptEncryption LOGS_EMAIL diff --git a/SignalShareExtension/Info.plist b/SignalShareExtension/Info.plist index 15b32ea54a..5298d8f253 100644 --- a/SignalShareExtension/Info.plist +++ b/SignalShareExtension/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 3.8.3 + 3.8.4 CFBundleVersion - 3.8.3.5 + 3.8.4.0 ITSAppUsesNonExemptEncryption NSAppTransportSecurity