Compare commits
4 Commits
main
...
8.15.0.165
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5696a7d7e9 | ||
|
|
8b57e11559 | ||
|
|
0cadd792b1 | ||
|
|
3aaaf67a20 |
4
Podfile
4
Podfile
@ -11,8 +11,8 @@ source 'https://cdn.cocoapods.org/'
|
||||
pod 'blurhash', podspec: './ThirdParty/blurhash.podspec'
|
||||
pod 'SwiftProtobuf', "1.36.1"
|
||||
|
||||
ENV['LIBSIGNAL_FFI_PREBUILD_CHECKSUM'] = '79f53932ff82f792b70e30bad3b38801da0b882137adaf65ad54d907a94f3d29'
|
||||
pod 'LibSignalClient', git: 'https://github.com/signalapp/libsignal.git', tag: 'v0.95.0', testspecs: ["Tests"]
|
||||
ENV['LIBSIGNAL_FFI_PREBUILD_CHECKSUM'] = '273236d44fdd2eb76f18de0d4229dd82d73ac1edb2e52e71885c6f98843a9c0d'
|
||||
pod 'LibSignalClient', git: 'https://github.com/signalapp/libsignal.git', tag: 'v0.94.4', testspecs: ["Tests"]
|
||||
# pod 'LibSignalClient', path: '../libsignal', testspecs: ["Tests"]
|
||||
|
||||
ENV['RINGRTC_PREBUILD_CHECKSUM'] = 'c19c813ab5255aa3cd7c2af36374100f7cc69c2fd794cae23baebd6ec9dae90c'
|
||||
|
||||
16
Podfile.lock
16
Podfile.lock
@ -9,8 +9,8 @@ PODS:
|
||||
- LibMobileCoin/CoreHTTP (6.0.2):
|
||||
- SwiftProtobuf (~> 1.5)
|
||||
- libPhoneNumber-iOS (1.2.0)
|
||||
- LibSignalClient (0.95.0)
|
||||
- LibSignalClient/Tests (0.95.0)
|
||||
- LibSignalClient (0.94.4)
|
||||
- LibSignalClient/Tests (0.94.4)
|
||||
- libwebp (1.5.0):
|
||||
- libwebp/demux (= 1.5.0)
|
||||
- libwebp/mux (= 1.5.0)
|
||||
@ -52,8 +52,8 @@ DEPENDENCIES:
|
||||
- GRDB.swift/SQLCipher
|
||||
- LibMobileCoin/CoreHTTP (from `https://github.com/signalapp/libmobilecoin-ios-artifacts`, tag `signal/6.0.2`)
|
||||
- libPhoneNumber-iOS (from `https://github.com/signalapp/libPhoneNumber-iOS`, branch `signal-master`)
|
||||
- LibSignalClient (from `https://github.com/signalapp/libsignal.git`, tag `v0.95.0`)
|
||||
- LibSignalClient/Tests (from `https://github.com/signalapp/libsignal.git`, tag `v0.95.0`)
|
||||
- LibSignalClient (from `https://github.com/signalapp/libsignal.git`, tag `v0.94.4`)
|
||||
- LibSignalClient/Tests (from `https://github.com/signalapp/libsignal.git`, tag `v0.94.4`)
|
||||
- libwebp
|
||||
- lottie-ios
|
||||
- MobileCoin/CoreHTTP (from `https://github.com/mobilecoinofficial/MobileCoin-Swift`, tag `v6.0.3`)
|
||||
@ -89,7 +89,7 @@ EXTERNAL SOURCES:
|
||||
:git: https://github.com/signalapp/libPhoneNumber-iOS
|
||||
LibSignalClient:
|
||||
:git: https://github.com/signalapp/libsignal.git
|
||||
:tag: v0.95.0
|
||||
:tag: v0.94.4
|
||||
MobileCoin:
|
||||
:git: https://github.com/mobilecoinofficial/MobileCoin-Swift
|
||||
:tag: v6.0.3
|
||||
@ -113,7 +113,7 @@ CHECKOUT OPTIONS:
|
||||
:git: https://github.com/signalapp/libPhoneNumber-iOS
|
||||
LibSignalClient:
|
||||
:git: https://github.com/signalapp/libsignal.git
|
||||
:tag: v0.95.0
|
||||
:tag: v0.94.4
|
||||
MobileCoin:
|
||||
:git: https://github.com/mobilecoinofficial/MobileCoin-Swift
|
||||
:tag: v6.0.3
|
||||
@ -131,7 +131,7 @@ SPEC CHECKSUMS:
|
||||
GRDB.swift: 1395cb3556df6b16ed69dfc74c3886abc75d2825
|
||||
LibMobileCoin: 8503f567fa32184a5be7bc038fbd727747dd9991
|
||||
libPhoneNumber-iOS: 1a34106b49dc6e12a7f37eb9aee7c64011509547
|
||||
LibSignalClient: a98db1d538243e43ecac040005204bd274cbd8c7
|
||||
LibSignalClient: 08d66ae1b4e9c93f9e6930cc0260df27c14ecd03
|
||||
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
|
||||
Logging: beeb016c9c80cf77042d62e83495816847ef108b
|
||||
lottie-ios: fcb5e73e17ba4c983140b7d21095c834b3087418
|
||||
@ -143,6 +143,6 @@ SPEC CHECKSUMS:
|
||||
SQLCipher: ff2f045b20d675a73a70f7329395ddd4a2580063
|
||||
SwiftProtobuf: 9e106a71456f4d3f6a3b0c8fd87ef0be085efc38
|
||||
|
||||
PODFILE CHECKSUM: ee98007764e1569e9dbe4f25053510725b19fc88
|
||||
PODFILE CHECKSUM: e3d9c2375b2f8bb1af334adb83effea5eedff4fb
|
||||
|
||||
COCOAPODS: 1.15.2
|
||||
|
||||
2
Pods
2
Pods
@ -1 +1 @@
|
||||
Subproject commit 5e81462d833ad24e8091d7b6ab675c2cdc94af54
|
||||
Subproject commit 1a4acf84fc43f0e68b29a5a11d82cdc28c4ed665
|
||||
@ -856,7 +856,6 @@
|
||||
50D839512F916A3700EE009A /* MessageRequestDecliner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50D839502F916A3700EE009A /* MessageRequestDecliner.swift */; };
|
||||
50D8796A2A16D2C20031345D /* MessageLoaderBatchTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50D879692A16D2C20031345D /* MessageLoaderBatchTest.swift */; };
|
||||
50D9CD8D2C52D78000273D6C /* StoryRecipientManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50D9CD8C2C52D78000273D6C /* StoryRecipientManager.swift */; };
|
||||
50DAF7E02FD87BEC00BE7430 /* OrphanedBackupAttachmentTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DAF7DF2FD87BEC00BE7430 /* OrphanedBackupAttachmentTest.swift */; };
|
||||
50DCCBFA2F1817280024D124 /* DisappearingMessagesConfigurationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DCCBF92F1817280024D124 /* DisappearingMessagesConfigurationMessage.swift */; };
|
||||
50DCCBFC2F181A790024D124 /* ProfileKeyMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DCCBFB2F181A790024D124 /* ProfileKeyMessage.swift */; };
|
||||
50DCCBFE2F1820600024D124 /* OutgoingSenderKeyDistributionMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DCCBFD2F1820600024D124 /* OutgoingSenderKeyDistributionMessage.swift */; };
|
||||
@ -2882,7 +2881,6 @@
|
||||
D96869452E1065F5005451E4 /* SeriallyAccessedState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D96869442E1065F1005451E4 /* SeriallyAccessedState.swift */; };
|
||||
D968B4982C9E1AD1006B14E1 /* SmsLockIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D968B4972C9E1AC3006B14E1 /* SmsLockIconView.swift */; };
|
||||
D968F71E2C34884B00AB318B /* BackupArchiveReleaseNotesRecipientArchiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D968F71D2C34884B00AB318B /* BackupArchiveReleaseNotesRecipientArchiver.swift */; };
|
||||
D9697C162FD78FE400119F72 /* BackupNeverShareRecoveryKeySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9697C152FD78FDD00119F72 /* BackupNeverShareRecoveryKeySheet.swift */; };
|
||||
D96A94A72954E57F004EA434 /* DonateViewController+MonthlyPaypalDonation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D96A94A62954E57F004EA434 /* DonateViewController+MonthlyPaypalDonation.swift */; };
|
||||
D97046062E81D4240034C05D /* InfoMessageGroupUpdateMigrator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D97046052E81D41F0034C05D /* InfoMessageGroupUpdateMigrator.swift */; };
|
||||
D970460A2E81D5C00034C05D /* InfoMessageGroupUpdateMigratorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D97046092E81D5BB0034C05D /* InfoMessageGroupUpdateMigratorTest.swift */; };
|
||||
@ -3824,7 +3822,7 @@
|
||||
F9C5CCA3289453B300548EEE /* StorageService.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9B8289453B100548EEE /* StorageService.pb.swift */; };
|
||||
F9C5CCA4289453B300548EEE /* SSKProto+OWS.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9B9289453B100548EEE /* SSKProto+OWS.swift */; };
|
||||
F9C5CCAC289453B300548EEE /* PreKeyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9C2289453B100548EEE /* PreKeyManager.swift */; };
|
||||
F9C5CCB0289453B300548EEE /* RemoteAttestationAuthFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9C7289453B100548EEE /* RemoteAttestationAuthFetcher.swift */; };
|
||||
F9C5CCB0289453B300548EEE /* RemoteAttestation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9C7289453B100548EEE /* RemoteAttestation.swift */; };
|
||||
F9C5CCC0289453B300548EEE /* ContactDiscoveryTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9D9289453B100548EEE /* ContactDiscoveryTask.swift */; };
|
||||
F9C5CCC3289453B300548EEE /* ContactDiscoveryError.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9DC289453B100548EEE /* ContactDiscoveryError.swift */; };
|
||||
F9C5CCC5289453B300548EEE /* SignalAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C5C9DE289453B100548EEE /* SignalAccount.swift */; };
|
||||
@ -5122,7 +5120,6 @@
|
||||
50D839502F916A3700EE009A /* MessageRequestDecliner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageRequestDecliner.swift; sourceTree = "<group>"; };
|
||||
50D879692A16D2C20031345D /* MessageLoaderBatchTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageLoaderBatchTest.swift; sourceTree = "<group>"; };
|
||||
50D9CD8C2C52D78000273D6C /* StoryRecipientManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoryRecipientManager.swift; sourceTree = "<group>"; };
|
||||
50DAF7DF2FD87BEC00BE7430 /* OrphanedBackupAttachmentTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrphanedBackupAttachmentTest.swift; sourceTree = "<group>"; };
|
||||
50DCCBF92F1817280024D124 /* DisappearingMessagesConfigurationMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisappearingMessagesConfigurationMessage.swift; sourceTree = "<group>"; };
|
||||
50DCCBFB2F181A790024D124 /* ProfileKeyMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileKeyMessage.swift; sourceTree = "<group>"; };
|
||||
50DCCBFD2F1820600024D124 /* OutgoingSenderKeyDistributionMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutgoingSenderKeyDistributionMessage.swift; sourceTree = "<group>"; };
|
||||
@ -7168,7 +7165,6 @@
|
||||
D96869442E1065F1005451E4 /* SeriallyAccessedState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeriallyAccessedState.swift; sourceTree = "<group>"; };
|
||||
D968B4972C9E1AC3006B14E1 /* SmsLockIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmsLockIconView.swift; sourceTree = "<group>"; };
|
||||
D968F71D2C34884B00AB318B /* BackupArchiveReleaseNotesRecipientArchiver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackupArchiveReleaseNotesRecipientArchiver.swift; sourceTree = "<group>"; };
|
||||
D9697C152FD78FDD00119F72 /* BackupNeverShareRecoveryKeySheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackupNeverShareRecoveryKeySheet.swift; sourceTree = "<group>"; };
|
||||
D96A94A62954E57F004EA434 /* DonateViewController+MonthlyPaypalDonation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DonateViewController+MonthlyPaypalDonation.swift"; sourceTree = "<group>"; };
|
||||
D96A94A82955270D004EA434 /* Stripe+Subscriptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Stripe+Subscriptions.swift"; sourceTree = "<group>"; };
|
||||
D97046052E81D41F0034C05D /* InfoMessageGroupUpdateMigrator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoMessageGroupUpdateMigrator.swift; sourceTree = "<group>"; };
|
||||
@ -8140,7 +8136,7 @@
|
||||
F9C5C9B8289453B100548EEE /* StorageService.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StorageService.pb.swift; sourceTree = "<group>"; };
|
||||
F9C5C9B9289453B100548EEE /* SSKProto+OWS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SSKProto+OWS.swift"; sourceTree = "<group>"; };
|
||||
F9C5C9C2289453B100548EEE /* PreKeyManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreKeyManager.swift; sourceTree = "<group>"; };
|
||||
F9C5C9C7289453B100548EEE /* RemoteAttestationAuthFetcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteAttestationAuthFetcher.swift; sourceTree = "<group>"; };
|
||||
F9C5C9C7289453B100548EEE /* RemoteAttestation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteAttestation.swift; sourceTree = "<group>"; };
|
||||
F9C5C9D9289453B100548EEE /* ContactDiscoveryTask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactDiscoveryTask.swift; sourceTree = "<group>"; };
|
||||
F9C5C9DC289453B100548EEE /* ContactDiscoveryError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactDiscoveryError.swift; sourceTree = "<group>"; };
|
||||
F9C5C9DE289453B100548EEE /* SignalAccount.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignalAccount.swift; sourceTree = "<group>"; };
|
||||
@ -9900,22 +9896,6 @@
|
||||
path = Debugging;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
50DAF7E12FD87BFD00BE7430 /* Backups */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
50DAF7E22FD87C7000BE7430 /* Attachments */,
|
||||
);
|
||||
path = Backups;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
50DAF7E22FD87C7000BE7430 /* Attachments */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
50DAF7DF2FD87BEC00BE7430 /* OrphanedBackupAttachmentTest.swift */,
|
||||
);
|
||||
path = Attachments;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
50E0198E2CC2491A0063EA48 /* Concurrency */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -13522,7 +13502,6 @@
|
||||
D97C9FF12DD3FB7200191CE2 /* BackupDisablingManager.swift */,
|
||||
D93FA5BE2DE77E440013879E /* BackupEnablingManager.swift */,
|
||||
D93BDD932E43063B00779BD8 /* BackupKeepKeySafeSheet.swift */,
|
||||
D9697C152FD78FDD00119F72 /* BackupNeverShareRecoveryKeySheet.swift */,
|
||||
D92B55EE2FD0D9210083B070 /* BackupPlanOptionView.swift */,
|
||||
D98CA2B22DF2450E0060370E /* BackupRecordKeyViewController.swift */,
|
||||
04E66D412DFF3A3E0059DBAC /* BackupRecoveryKeyReminderCoordinator.swift */,
|
||||
@ -14651,7 +14630,6 @@
|
||||
F94261FF289B1B5400460798 /* Account */,
|
||||
D92EFDED2F69B9D00031D257 /* AttachmentBackfill */,
|
||||
50ED28002F0EDAFB00E57C54 /* Attachments */,
|
||||
50DAF7E12FD87BFD00BE7430 /* Backups */,
|
||||
F945FE4B298481D800C835C7 /* Calls */,
|
||||
D985D86229B91C2B0087C90C /* ChangePhoneNumber */,
|
||||
50E0198E2CC2491A0063EA48 /* Concurrency */,
|
||||
@ -15389,7 +15367,7 @@
|
||||
F9D5BFCC2979A017001737E5 /* OWSRequestFactory+Spam.swift */,
|
||||
D95C39E7296DEBFB00A9DA23 /* OWSRequestFactory+Usernames.swift */,
|
||||
F9C5CAE2289453B200548EEE /* OWSRequestFactory.swift */,
|
||||
F9C5C9C7289453B100548EEE /* RemoteAttestationAuthFetcher.swift */,
|
||||
F9C5C9C7289453B100548EEE /* RemoteAttestation.swift */,
|
||||
66C2B1302A05D28A008DDE72 /* TSRequest.swift */,
|
||||
);
|
||||
path = Requests;
|
||||
@ -18059,7 +18037,6 @@
|
||||
041A5F072E05B3F900FAED05 /* BackupEnablementMegaphone.swift in Sources */,
|
||||
D9DF21EC2E21BD6600A962B2 /* BackupEnablingManager.swift in Sources */,
|
||||
D93BDD942E43064500779BD8 /* BackupKeepKeySafeSheet.swift in Sources */,
|
||||
D9697C162FD78FE400119F72 /* BackupNeverShareRecoveryKeySheet.swift in Sources */,
|
||||
D999345A2DE97BBC002C9196 /* BackupOnboardingCoordinator.swift in Sources */,
|
||||
D9DE34FD2DEE7765005099D7 /* BackupOnboardingIntroViewController.swift in Sources */,
|
||||
D98CA2AD2DF14A890060370E /* BackupOnboardingKeyIntroViewController.swift in Sources */,
|
||||
@ -19746,7 +19723,7 @@
|
||||
6646573B2AC388C70099DE1C /* RegistrationStateChangeManager.swift in Sources */,
|
||||
6646573D2AC3894D0099DE1C /* RegistrationStateChangeManagerImpl.swift in Sources */,
|
||||
040506FC2F7FE3DB0078B769 /* RemoteAnnouncementModel.swift in Sources */,
|
||||
F9C5CCB0289453B300548EEE /* RemoteAttestationAuthFetcher.swift in Sources */,
|
||||
F9C5CCB0289453B300548EEE /* RemoteAttestation.swift in Sources */,
|
||||
F9C5CE17289453B400548EEE /* RemoteConfigManager.swift in Sources */,
|
||||
D98DD86028EE53B00089333E /* RemoteMegaphoneModel.swift in Sources */,
|
||||
040507012F804C240078B769 /* RemoteReleaseNotesService.swift in Sources */,
|
||||
@ -20190,7 +20167,6 @@
|
||||
D979CC3A2AD3964E006AAC49 /* Numbers+Random.swift in Sources */,
|
||||
D95E149D2E3D22FD00B5B70B /* ObjectRetainerTest.swift in Sources */,
|
||||
663D02DF2C069AB600350632 /* OrphanedAttachmentCleanerTest.swift in Sources */,
|
||||
50DAF7E02FD87BEC00BE7430 /* OrphanedBackupAttachmentTest.swift in Sources */,
|
||||
D9AA37A02A86E0910088EFFB /* OutgoingCallEventSyncMessageTest.swift in Sources */,
|
||||
D925C7BB2B7BEC0F00AC73B0 /* OutgoingCallLogEventSyncMessageTest.swift in Sources */,
|
||||
D9D3216A2A8AC9B0004FC110 /* OutgoingGroupCallUpdateMessageTest.swift in Sources */,
|
||||
|
||||
@ -87,7 +87,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
}
|
||||
|
||||
appReadiness.runNowOrWhenAppDidBecomeReadySync {
|
||||
self.refreshConnection(isAppActive: false)
|
||||
self.refreshConnection(isAppActive: false, shouldRunCron: false)
|
||||
}
|
||||
|
||||
clearAppropriateNotificationsAndRestoreBadgeCount()
|
||||
@ -369,14 +369,13 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
}
|
||||
}
|
||||
|
||||
private func configureGlobalUI(in window: UIWindow) {
|
||||
let screenLockUI = AppEnvironment.shared.screenLockUI
|
||||
let windowManager = AppEnvironment.shared.windowManagerRef
|
||||
private lazy var screenLockUI = ScreenLockUI(appReadiness: appReadiness)
|
||||
|
||||
private func configureGlobalUI(in window: UIWindow) {
|
||||
Theme.setupSignalAppearance()
|
||||
|
||||
screenLockUI.setupWithRootWindow(window)
|
||||
windowManager.setupWithRootWindow(window, screenBlockingWindow: screenLockUI.screenBlockingWindow)
|
||||
AppEnvironment.shared.windowManagerRef.setupWithRootWindow(window, screenBlockingWindow: screenLockUI.screenBlockingWindow)
|
||||
screenLockUI.startObserving()
|
||||
}
|
||||
|
||||
@ -809,7 +808,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
// launching from the background, without this, we end up waiting some extra
|
||||
// seconds before receiving an actionable push notification.
|
||||
if !appContext.isMainAppAndActive {
|
||||
self.refreshConnection(isAppActive: false)
|
||||
self.refreshConnection(isAppActive: false, shouldRunCron: false)
|
||||
}
|
||||
|
||||
if registeredState != nil {
|
||||
@ -1392,7 +1391,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
}
|
||||
}
|
||||
|
||||
refreshConnection(isAppActive: true)
|
||||
refreshConnection(isAppActive: true, shouldRunCron: true)
|
||||
|
||||
// Every time we become active...
|
||||
if registeredState != nil {
|
||||
@ -1460,7 +1459,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
/// is in the background.
|
||||
private var backgroundFetchHandle: BackgroundTaskHandle?
|
||||
|
||||
private func refreshConnection(isAppActive: Bool) {
|
||||
private func refreshConnection(isAppActive: Bool, shouldRunCron: Bool) {
|
||||
let chatConnectionManager = DependenciesBridge.shared.chatConnectionManager
|
||||
|
||||
let oldActiveConnectionTokens = self.activeConnectionTokens
|
||||
@ -1468,10 +1467,9 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
// If we're active, open a connection.
|
||||
self.activeConnectionTokens = chatConnectionManager.requestConnections()
|
||||
oldActiveConnectionTokens.forEach { $0.releaseConnection() }
|
||||
|
||||
// Start a new Cron task on activate.
|
||||
self.startCronTask()
|
||||
|
||||
if shouldRunCron {
|
||||
self.startCronTask()
|
||||
}
|
||||
// We're back in the foreground. We've passed off connection management to
|
||||
// the foreground logic, so just tear it down without waiting for anything.
|
||||
self.backgroundFetchHandle?.interrupt()
|
||||
@ -1488,14 +1486,17 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
do {
|
||||
await backgroundFetcher.start()
|
||||
oldActiveConnectionTokens.forEach { $0.releaseConnection() }
|
||||
|
||||
// If there's a Cron task running that was started in the foreground, wait
|
||||
// for it to finish.
|
||||
await withTaskCancellationHandler(
|
||||
operation: { await cronTask?.value },
|
||||
onCancel: { cronTask?.cancel() },
|
||||
)
|
||||
|
||||
// If there's a fresh request to run Cron when entering the background,
|
||||
// start a new Cron instance.
|
||||
if shouldRunCron {
|
||||
await self.runCron()
|
||||
}
|
||||
// This will usually be limited to 30 seconds rather than 3 minutes.
|
||||
let waitDeadline = startDate.adding(180)
|
||||
if isPastRegistration {
|
||||
@ -1769,23 +1770,15 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
}
|
||||
let isVideo = isVideoCall(intent)
|
||||
|
||||
Task { @MainActor [appReadiness] in
|
||||
Task { @MainActor [appReadiness, screenLockUI] in
|
||||
do {
|
||||
try await appReadiness.waitForAppReady()
|
||||
} catch {
|
||||
return
|
||||
}
|
||||
|
||||
let callService = AppEnvironment.shared.callService!
|
||||
let screenLockUI = AppEnvironment.shared.screenLockUI
|
||||
let tsAccountManager = DependenciesBridge.shared.tsAccountManager
|
||||
|
||||
do {
|
||||
try await screenLockUI.waitForScreenUnlockThrowingPrevious()
|
||||
} catch {
|
||||
return
|
||||
}
|
||||
|
||||
let tsAccountManager = DependenciesBridge.shared.tsAccountManager
|
||||
guard tsAccountManager.registrationStateWithMaybeSneakyTransaction.isRegistered else {
|
||||
Logger.warn("Ignoring user activity; not registered.")
|
||||
return
|
||||
@ -1803,6 +1796,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
// * It can be received if the user taps the "video" button for a contact
|
||||
// in the contacts app. If so, the correct response is to try to initiate a
|
||||
// new call to that user - unless there is another call in progress.
|
||||
let callService = AppEnvironment.shared.callService!
|
||||
if let currentCall = callService.callServiceState.currentCall {
|
||||
if isVideo, case .individual = currentCall.mode, currentCall.mode.matches(callTarget) {
|
||||
Logger.info("Upgrading existing call to video")
|
||||
@ -1939,18 +1933,12 @@ extension AppDelegate: UNUserNotificationCenterDelegate {
|
||||
withCompletionHandler completionHandler: @escaping () -> Void,
|
||||
) {
|
||||
let startDate = MonotonicDate()
|
||||
Task { @MainActor [appReadiness] () -> Void in
|
||||
Task { @MainActor [appReadiness, screenLockUI] () -> Void in
|
||||
defer { completionHandler() }
|
||||
|
||||
do {
|
||||
try await self.appReadiness.waitForAppReady()
|
||||
} catch {
|
||||
return
|
||||
}
|
||||
try await self.appReadiness.waitForAppReady()
|
||||
|
||||
let screenLockUI = AppEnvironment.shared.screenLockUI
|
||||
let backgroundMessageFetcherFactory = DependenciesBridge.shared.backgroundMessageFetcherFactory
|
||||
|
||||
let backgroundMessageFetcher = backgroundMessageFetcherFactory.buildFetcher()
|
||||
// So that we open up a connection for replies.
|
||||
await backgroundMessageFetcher.start()
|
||||
|
||||
@ -22,12 +22,12 @@ public class AppEnvironment: NSObject {
|
||||
@MainActor
|
||||
var ownedObjects = [AnyObject]()
|
||||
|
||||
let cvAudioPlayerRef: CVAudioPlayer
|
||||
let deviceTransferServiceRef: DeviceTransferService
|
||||
let pushRegistrationManagerRef: PushRegistrationManager
|
||||
let screenLockUI: ScreenLockUI
|
||||
let speechManagerRef: SpeechManager
|
||||
let windowManagerRef: WindowManager
|
||||
|
||||
let cvAudioPlayerRef = CVAudioPlayer()
|
||||
let speechManagerRef = SpeechManager()
|
||||
let windowManagerRef = WindowManager()
|
||||
|
||||
private(set) var appIconBadgeUpdater: AppIconBadgeUpdater!
|
||||
private(set) var avatarHistoryManager: AvatarHistoryManager!
|
||||
@ -44,12 +44,8 @@ public class AppEnvironment: NSObject {
|
||||
private var registrationIdMismatchManager: RegistrationIdMismatchManager!
|
||||
|
||||
init(appReadiness: AppReadiness, deviceTransferService: DeviceTransferService) {
|
||||
self.cvAudioPlayerRef = CVAudioPlayer()
|
||||
self.deviceTransferServiceRef = deviceTransferService
|
||||
self.screenLockUI = ScreenLockUI(appReadiness: appReadiness)
|
||||
self.pushRegistrationManagerRef = PushRegistrationManager(appReadiness: appReadiness)
|
||||
self.speechManagerRef = SpeechManager()
|
||||
self.windowManagerRef = WindowManager()
|
||||
|
||||
super.init()
|
||||
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
//
|
||||
// Copyright 2026 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
//
|
||||
|
||||
import SignalServiceKit
|
||||
import SignalUI
|
||||
|
||||
final class BackupNeverShareRecoveryKeySheet: HeroSheetViewController {
|
||||
init(
|
||||
primaryButton: HeroSheetViewController.Button,
|
||||
secondaryButton: HeroSheetViewController.Button?,
|
||||
) {
|
||||
let bodyText: NSAttributedString = NSAttributedString.composed(of: [
|
||||
OWSLocalizedString(
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY",
|
||||
comment: "Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone.",
|
||||
).styled(
|
||||
with: .xmlRules([.style("bold", StringStyle(.font(.dynamicTypeSubheadline.bold())))]),
|
||||
),
|
||||
" ",
|
||||
CommonStrings.learnMore.styled(
|
||||
with: .link(.Support.phishingPrevention),
|
||||
),
|
||||
])
|
||||
|
||||
super.init(
|
||||
hero: .circleIcon(
|
||||
icon: .errorTriangle,
|
||||
iconSize: 40,
|
||||
tintColor: .Signal.red,
|
||||
backgroundColor: UIColor(rgbHex: 0xF8E0D9),
|
||||
),
|
||||
title: OWSLocalizedString(
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE",
|
||||
comment: "Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'.",
|
||||
),
|
||||
body: HeroSheetViewController.Body(
|
||||
textContent: .attributed(bodyText),
|
||||
),
|
||||
primary: .button(primaryButton),
|
||||
secondary: secondaryButton.map { .button($0) },
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -77,9 +77,6 @@ class BackupRecordKeyViewController: OWSViewController, OWSNavigationChildContro
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
let screenLockUI = AppEnvironment.shared.screenLockUI
|
||||
screenLockUI.sensitiveContentDidLoad(inViewController: self)
|
||||
|
||||
view.backgroundColor = .Signal.groupedBackground
|
||||
|
||||
if let onBackPressedBlock {
|
||||
@ -179,8 +176,29 @@ class BackupRecordKeyViewController: OWSViewController, OWSNavigationChildContro
|
||||
}
|
||||
|
||||
private func copyToClipboardWithConfirmation() {
|
||||
let warningSheet = BackupNeverShareRecoveryKeySheet(
|
||||
primaryButton: HeroSheetViewController.Button(
|
||||
let bodyText: NSAttributedString = OWSLocalizedString(
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY",
|
||||
comment: "Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone.",
|
||||
).styled(
|
||||
with: .font(.dynamicTypeSubheadline),
|
||||
.xmlRules([.style("bold", StringStyle(.font(.dynamicTypeSubheadline.bold())))]),
|
||||
)
|
||||
|
||||
let warningSheet = HeroSheetViewController(
|
||||
hero: .circleIcon(
|
||||
icon: .errorTriangle,
|
||||
iconSize: 40,
|
||||
tintColor: .Signal.red,
|
||||
backgroundColor: UIColor(rgbHex: 0xF8E0D9),
|
||||
),
|
||||
title: OWSLocalizedString(
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE",
|
||||
comment: "Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard.",
|
||||
),
|
||||
body: HeroSheetViewController.Body(
|
||||
textContent: .attributed(bodyText),
|
||||
),
|
||||
primary: .button(HeroSheetViewController.Button(
|
||||
title: OWSLocalizedString(
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE",
|
||||
comment: "Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy.",
|
||||
@ -191,8 +209,14 @@ class BackupRecordKeyViewController: OWSViewController, OWSNavigationChildContro
|
||||
copyToClipboard()
|
||||
}
|
||||
},
|
||||
),
|
||||
secondaryButton: nil,
|
||||
)),
|
||||
secondary: .button(HeroSheetViewController.Button(
|
||||
title: CommonStrings.learnMore,
|
||||
style: .secondary,
|
||||
action: .custom({ sheet in
|
||||
UIApplication.shared.open(.Support.phishingPrevention)
|
||||
}),
|
||||
)),
|
||||
)
|
||||
|
||||
present(warningSheet, animated: true)
|
||||
|
||||
@ -69,6 +69,7 @@ class BackupSettingsViewController:
|
||||
backupSubscriptionManager: DependenciesBridge.shared.backupSubscriptionManager,
|
||||
db: DependenciesBridge.shared.db,
|
||||
deviceSleepManager: deviceSleepManager,
|
||||
remoteConfig: SSKEnvironment.shared.remoteConfigManagerRef,
|
||||
subscriptionConfigManager: DependenciesBridge.shared.subscriptionConfigManager,
|
||||
tsAccountManager: DependenciesBridge.shared.tsAccountManager,
|
||||
)
|
||||
@ -92,6 +93,7 @@ class BackupSettingsViewController:
|
||||
backupSubscriptionManager: BackupSubscriptionManager,
|
||||
db: DB,
|
||||
deviceSleepManager: DeviceSleepManager,
|
||||
remoteConfig: RemoteConfigProvider,
|
||||
subscriptionConfigManager: SubscriptionConfigManager,
|
||||
tsAccountManager: TSAccountManager,
|
||||
) {
|
||||
@ -146,6 +148,7 @@ class BackupSettingsViewController:
|
||||
),
|
||||
hasBackupFailed: backupFailureStateManager.hasFailedBackup(tx: tx),
|
||||
isBackgroundAppRefreshDisabled: Self.isBackgroundAppRefreshDisabled(),
|
||||
isOptimizeStorageRemoteConfigEnabled: remoteConfig.currentConfig().isOptimizeStorageEnabled,
|
||||
)
|
||||
|
||||
return viewModel
|
||||
@ -674,7 +677,8 @@ class BackupSettingsViewController:
|
||||
|
||||
let welcomeToBackupsSheet: WelcomeToBackupsSheet
|
||||
switch backupPlan {
|
||||
case .disabled,
|
||||
case _ where !viewModel.isOptimizeStorageRemoteConfigEnabled,
|
||||
.disabled,
|
||||
.disabling,
|
||||
.free:
|
||||
welcomeToBackupsSheet = WelcomeToBackupsSheet(
|
||||
@ -688,7 +692,7 @@ class BackupSettingsViewController:
|
||||
case .paid,
|
||||
.paidAsTester,
|
||||
.paidExpiringSoon:
|
||||
var isOptimizeStorageEnabled = false
|
||||
var isOptimizeStorageEnabled = true
|
||||
|
||||
welcomeToBackupsSheet = WelcomeToBackupsSheet(
|
||||
optimizeLocalStorage: (
|
||||
@ -1617,6 +1621,10 @@ private class BackupSettingsViewModel: ObservableObject {
|
||||
/// from running.)
|
||||
@Published var isBackgroundAppRefreshDisabled: Bool
|
||||
|
||||
/// Whether the "Optimze Storage" feature is available to this user, per
|
||||
/// remote config. Not to be confused with `isOptimizeLocalStorageAvailable`.
|
||||
@Published var isOptimizeStorageRemoteConfigEnabled: Bool
|
||||
|
||||
weak var actionsDelegate: ActionsDelegate?
|
||||
|
||||
init(
|
||||
@ -1633,6 +1641,7 @@ private class BackupSettingsViewModel: ObservableObject {
|
||||
mediaTierCapacityOverflow: UInt64?,
|
||||
hasBackupFailed: Bool,
|
||||
isBackgroundAppRefreshDisabled: Bool,
|
||||
isOptimizeStorageRemoteConfigEnabled: Bool,
|
||||
) {
|
||||
self.backupSubscriptionConfiguration = backupSubscriptionConfiguration
|
||||
|
||||
@ -1652,6 +1661,8 @@ private class BackupSettingsViewModel: ObservableObject {
|
||||
self.mediaTierCapacityOverflow = mediaTierCapacityOverflow
|
||||
self.hasBackupFailed = hasBackupFailed
|
||||
self.isBackgroundAppRefreshDisabled = isBackgroundAppRefreshDisabled
|
||||
|
||||
self.isOptimizeStorageRemoteConfigEnabled = isOptimizeStorageRemoteConfigEnabled
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
@ -1711,7 +1722,7 @@ private class BackupSettingsViewModel: ObservableObject {
|
||||
// MARK: -
|
||||
|
||||
/// Whether the "Optimze Storage" feature is available, per the current
|
||||
/// `BackupPlan`.
|
||||
/// `BackupPlan`. Not to be confused with `isOptimizeStorageRemoteConfigEnabled`.
|
||||
var isOptimizeLocalStorageAvailable: Bool {
|
||||
switch backupPlan {
|
||||
case .disabled, .disabling, .free:
|
||||
@ -1997,32 +2008,36 @@ struct BackupSettingsView: View {
|
||||
viewModel: viewModel,
|
||||
)
|
||||
|
||||
Toggle(
|
||||
OWSLocalizedString(
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE",
|
||||
comment: "Title for a toggle allowing users to change the Optimize Local Storage setting.",
|
||||
),
|
||||
isOn: Binding(
|
||||
get: { viewModel.isOptimizeLocalStorageEnabled },
|
||||
set: { viewModel.setOptimizeLocalStorage($0) },
|
||||
),
|
||||
).disabled(!viewModel.isOptimizeLocalStorageAvailable)
|
||||
} footer: {
|
||||
let footerText: String = if viewModel.isOptimizeLocalStorageAvailable {
|
||||
OWSLocalizedString(
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE",
|
||||
comment: "Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available.",
|
||||
)
|
||||
} else {
|
||||
OWSLocalizedString(
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE",
|
||||
comment: "Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable.",
|
||||
)
|
||||
if viewModel.isOptimizeStorageRemoteConfigEnabled {
|
||||
Toggle(
|
||||
OWSLocalizedString(
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE",
|
||||
comment: "Title for a toggle allowing users to change the Optimize Local Storage setting.",
|
||||
),
|
||||
isOn: Binding(
|
||||
get: { viewModel.isOptimizeLocalStorageEnabled },
|
||||
set: { viewModel.setOptimizeLocalStorage($0) },
|
||||
),
|
||||
).disabled(!viewModel.isOptimizeLocalStorageAvailable)
|
||||
}
|
||||
} footer: {
|
||||
if viewModel.isOptimizeStorageRemoteConfigEnabled {
|
||||
let footerText: String = if viewModel.isOptimizeLocalStorageAvailable {
|
||||
OWSLocalizedString(
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE",
|
||||
comment: "Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available.",
|
||||
)
|
||||
} else {
|
||||
OWSLocalizedString(
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE",
|
||||
comment: "Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable.",
|
||||
)
|
||||
}
|
||||
|
||||
Text(footerText)
|
||||
.foregroundStyle(Color.Signal.secondaryLabel)
|
||||
.font(.caption)
|
||||
Text(footerText)
|
||||
.foregroundStyle(Color.Signal.secondaryLabel)
|
||||
.font(.caption)
|
||||
}
|
||||
}
|
||||
|
||||
SignalSection {
|
||||
@ -3241,6 +3256,7 @@ private extension BackupSettingsViewModel {
|
||||
mediaTierCapacityOverflow: mediaTierCapacityOverflow,
|
||||
hasBackupFailed: hasBackupFailed,
|
||||
isBackgroundAppRefreshDisabled: isBackgroundAppRefreshDisabled,
|
||||
isOptimizeStorageRemoteConfigEnabled: true,
|
||||
)
|
||||
let actionsDelegate = PreviewActionsDelegate()
|
||||
viewModel.actionsDelegate = actionsDelegate
|
||||
|
||||
@ -51,9 +51,6 @@ class EnterAccountEntropyPoolViewController: OWSViewController {
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
let screenLockUI = AppEnvironment.shared.screenLockUI
|
||||
screenLockUI.sensitiveContentDidLoad(inViewController: self)
|
||||
|
||||
view.backgroundColor = colorConfig.background
|
||||
navigationItem.rightBarButtonItem = UIBarButtonItem(
|
||||
title: CommonStrings.nextButton,
|
||||
|
||||
@ -148,7 +148,15 @@ class CVComponentCollapseSet: CVComponentBase, CVRootComponent {
|
||||
componentView.outerStack.isAccessibilityElement = true
|
||||
componentView.outerStack.accessibilityLabel = titleString
|
||||
componentView.outerStack.accessibilityTraits = .button
|
||||
componentView.outerStack.accessibilityHint = accessibilityHint(isExpanded: collapseSet.isExpanded)
|
||||
componentView.outerStack.accessibilityHint = collapseSet.isExpanded
|
||||
? OWSLocalizedString(
|
||||
"COLLAPSE_SET_ACCESSIBILITY_HINT_COLLAPSE",
|
||||
comment: "VoiceOver hint for an expanded collapse set button.",
|
||||
)
|
||||
: OWSLocalizedString(
|
||||
"COLLAPSE_SET_ACCESSIBILITY_HINT_EXPAND",
|
||||
comment: "VoiceOver hint for a collapsed collapse set button.",
|
||||
)
|
||||
}
|
||||
|
||||
// MARK: - Events
|
||||
@ -179,7 +187,6 @@ class CVComponentCollapseSet: CVComponentBase, CVRootComponent {
|
||||
componentView.chevronLabel.transform = willBeExpanded
|
||||
? CGAffineTransform(rotationAngle: expandedRotation)
|
||||
: .identity
|
||||
componentView.outerStack.accessibilityHint = accessibilityHint(isExpanded: willBeExpanded)
|
||||
|
||||
let animation = CABasicAnimation(keyPath: "transform.rotation.z")
|
||||
animation.fromValue = fromAngle
|
||||
@ -340,18 +347,6 @@ class CVComponentCollapseSet: CVComponentBase, CVRootComponent {
|
||||
)
|
||||
}
|
||||
|
||||
private func accessibilityHint(isExpanded: Bool) -> String {
|
||||
isExpanded
|
||||
? OWSLocalizedString(
|
||||
"COLLAPSE_SET_ACCESSIBILITY_HINT_COLLAPSE",
|
||||
comment: "VoiceOver hint for an expanded collapse set button.",
|
||||
)
|
||||
: OWSLocalizedString(
|
||||
"COLLAPSE_SET_ACCESSIBILITY_HINT_EXPAND",
|
||||
comment: "VoiceOver hint for a collapsed collapse set button.",
|
||||
)
|
||||
}
|
||||
|
||||
private func summaryLabel(
|
||||
count: Int,
|
||||
type: CollapseSetInteraction.MessagesType,
|
||||
|
||||
@ -150,7 +150,6 @@ private class CVQuotedMessageViewAdapter: CVQuotedMessageViewDelegate {
|
||||
DependenciesBridge.shared.attachmentDownloadManager.enqueueDownloadOfAttachmentsForMessage(
|
||||
message,
|
||||
priority: .userInitiated,
|
||||
useThumbnails: false,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
|
||||
@ -528,6 +528,7 @@ public struct CVComponentState: Equatable {
|
||||
static func ==(lhs: CollapseSet, rhs: CollapseSet) -> Bool {
|
||||
return lhs.collapsedInteractions.map(\.uniqueId) == rhs.collapsedInteractions.map(\.uniqueId)
|
||||
&& lhs.collapseSetType == rhs.collapseSetType
|
||||
&& lhs.isExpanded == rhs.isExpanded
|
||||
&& lhs.finalTimerDescription == rhs.finalTimerDescription
|
||||
}
|
||||
}
|
||||
@ -1196,7 +1197,7 @@ private extension CVComponentState.Builder {
|
||||
self.collapseSet = CVComponentState.CollapseSet(
|
||||
collapsedInteractions: collapseSetInteraction.collapsedInteractions,
|
||||
collapseSetType: collapseSetInteraction.collapseSetType,
|
||||
isExpanded: viewStateSnapshot.expandedCollapseSetIds.contains(collapseSetInteraction.uniqueId),
|
||||
isExpanded: collapseSetInteraction.isExpanded,
|
||||
finalTimerDescription: collapseSetInteraction.finalTimerDescription,
|
||||
)
|
||||
return build()
|
||||
|
||||
@ -9,7 +9,6 @@ public import UIKit
|
||||
|
||||
public protocol ConversationInputTextViewDelegate: AnyObject {
|
||||
func didAttemptAttachmentPaste()
|
||||
func didAttemptAccountEntropyPoolPaste(completePaste: @escaping () -> Void)
|
||||
func inputTextViewSendMessagePressed()
|
||||
func textViewDidChange(_ textView: UITextView)
|
||||
}
|
||||
@ -200,50 +199,9 @@ class ConversationInputTextView: BodyRangesTextView {
|
||||
return
|
||||
}
|
||||
|
||||
if handleAttemptedAccountEntropyPoolPaste() {
|
||||
return
|
||||
}
|
||||
|
||||
super.paste(sender)
|
||||
}
|
||||
|
||||
private func handleAttemptedAccountEntropyPoolPaste() -> Bool {
|
||||
let accountKeyStore = DependenciesBridge.shared.accountKeyStore
|
||||
let db = DependenciesBridge.shared.db
|
||||
|
||||
guard let pasteboardString = UIPasteboard.general.strings?.first else {
|
||||
return false
|
||||
}
|
||||
|
||||
let filteredPasteboardString = pasteboardString.filter { !$0.isWhitespace }
|
||||
|
||||
guard
|
||||
let pastedAEP = try? DisplayableAccountEntropyPool(displayString: filteredPasteboardString),
|
||||
let localAEP = db.read(block: { accountKeyStore.getAccountEntropyPool(tx: $0) }),
|
||||
pastedAEP.rawValue == localAEP
|
||||
else {
|
||||
return false
|
||||
}
|
||||
|
||||
inputTextViewDelegate?.didAttemptAccountEntropyPoolPaste(
|
||||
completePaste: { [weak self] in
|
||||
guard let self else { return }
|
||||
|
||||
let pasteRange: UITextRange
|
||||
if let selectedTextRange {
|
||||
pasteRange = selectedTextRange
|
||||
} else if let endRange = textRange(from: endOfDocument, to: endOfDocument) {
|
||||
pasteRange = endRange
|
||||
} else {
|
||||
return
|
||||
}
|
||||
|
||||
replace(pasteRange, withText: filteredPasteboardString)
|
||||
},
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
||||
// MARK: - UITextViewDelegate
|
||||
|
||||
override func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
|
||||
|
||||
@ -33,8 +33,6 @@ extension ConversationViewController: CVComponentDelegate {
|
||||
viewState.expandedCollapseSets.insert(collapseSetId)
|
||||
}
|
||||
loadCoordinator.enqueueReload(
|
||||
updatedInteractionIds: [collapseSetId],
|
||||
deletedInteractionIds: [],
|
||||
preferredScrollContinuityAnchorInteractionId: collapseSetId,
|
||||
)
|
||||
}
|
||||
@ -183,7 +181,7 @@ extension ConversationViewController: CVComponentDelegate {
|
||||
|
||||
// If any of the failed or pending downloads were enqueued by a Backup
|
||||
// restore, immediately attempt to download those attachments.
|
||||
Task.detached {
|
||||
Task {
|
||||
let attachmentDownloadManager = DependenciesBridge.shared.attachmentDownloadManager
|
||||
let attachmentStore = DependenciesBridge.shared.attachmentStore
|
||||
let backupAttachmentDownloadStore = DependenciesBridge.shared.backupAttachmentDownloadStore
|
||||
@ -194,22 +192,17 @@ extension ConversationViewController: CVComponentDelegate {
|
||||
return
|
||||
}
|
||||
|
||||
enum DownloadTypeToEnqueue {
|
||||
case thumbnail
|
||||
case fullsize
|
||||
}
|
||||
|
||||
let messageTypeToDownload: DownloadTypeToEnqueue? = db.read { tx in
|
||||
let messageHasAnyEnqueuedBackupDownloads = db.read { tx in
|
||||
let referencedAttachments = attachmentStore.fetchReferencedAttachmentsOwnedByMessage(
|
||||
messageRowId: messageRowId,
|
||||
tx: tx,
|
||||
)
|
||||
|
||||
let downloadTypes: [DownloadTypeToEnqueue] = referencedAttachments.compactMap { referencedAttachment in
|
||||
return referencedAttachments.contains { referencedAttachment in
|
||||
// We only auto-download on appear if we've got a cdn number to try.
|
||||
// The user can still manual download if there isn't one (using fallback cdn).
|
||||
guard referencedAttachment.attachment.mediaTierInfo?.cdnNumber != nil else {
|
||||
return nil
|
||||
return false
|
||||
}
|
||||
// Otherwise use presence in the backup download queue to indicate
|
||||
// downloadability; this just functionally bumps the priority so the
|
||||
@ -220,60 +213,22 @@ extension ConversationViewController: CVComponentDelegate {
|
||||
tx: tx,
|
||||
)
|
||||
switch enqueuedDownload?.state {
|
||||
case .ineligible:
|
||||
if referencedAttachment.attachment.localRelativeFilePathThumbnail != nil {
|
||||
return nil
|
||||
}
|
||||
let enqueuedThumbnail = backupAttachmentDownloadStore.getEnqueuedDownload(
|
||||
attachmentRowId: referencedAttachment.attachment.id,
|
||||
thumbnail: true,
|
||||
tx: tx,
|
||||
)
|
||||
switch enqueuedThumbnail?.state {
|
||||
case .ready:
|
||||
return .thumbnail
|
||||
case .done, .ineligible, nil:
|
||||
// There is already a thumbnail, or never will be a thumbnail to display here.
|
||||
// Either way, no need to re-enqueue the thumbnail
|
||||
return nil
|
||||
}
|
||||
case nil, .done:
|
||||
return nil
|
||||
case nil, .done, .ineligible:
|
||||
return false
|
||||
case .ready:
|
||||
return .fullsize
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
if downloadTypes.contains(.fullsize) {
|
||||
return .fullsize
|
||||
} else if downloadTypes.contains(.thumbnail) {
|
||||
return .thumbnail
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
switch messageTypeToDownload {
|
||||
case .fullsize:
|
||||
if messageHasAnyEnqueuedBackupDownloads {
|
||||
await db.awaitableWrite { tx in
|
||||
attachmentDownloadManager.enqueueDownloadOfAttachmentsForMessage(
|
||||
message,
|
||||
priority: .default,
|
||||
useThumbnails: false,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
case .thumbnail:
|
||||
await db.awaitableWrite { tx in
|
||||
attachmentDownloadManager.enqueueDownloadOfAttachmentsForMessage(
|
||||
message,
|
||||
priority: .default,
|
||||
useThumbnails: true,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
case .none:
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -287,7 +242,6 @@ extension ConversationViewController: CVComponentDelegate {
|
||||
attachmentDownloadManager.enqueueDownloadOfAttachmentsForMessage(
|
||||
message,
|
||||
priority: .userInitiated,
|
||||
useThumbnails: false,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
|
||||
@ -295,58 +295,6 @@ extension ConversationViewController: ConversationInputTextViewDelegate {
|
||||
}
|
||||
}
|
||||
|
||||
public func didAttemptAccountEntropyPoolPaste(completePaste: @escaping () -> Void) {
|
||||
let warningSheet = BackupNeverShareRecoveryKeySheet(
|
||||
primaryButton: .dismissing(
|
||||
title: OWSLocalizedString(
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE",
|
||||
comment: "Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key.",
|
||||
),
|
||||
),
|
||||
secondaryButton: HeroSheetViewController.Button(
|
||||
title: OWSLocalizedString(
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE",
|
||||
comment: "Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste.",
|
||||
),
|
||||
style: .secondaryDestructive,
|
||||
action: .custom({ [weak self] sheet in
|
||||
sheet.dismiss(animated: true) {
|
||||
let doubleWarningSheet = ActionSheetController(
|
||||
title: OWSLocalizedString(
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE",
|
||||
comment: "Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway.",
|
||||
),
|
||||
message: OWSLocalizedString(
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE",
|
||||
comment: "Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it.",
|
||||
),
|
||||
)
|
||||
doubleWarningSheet.addAction(ActionSheetAction(
|
||||
title: OWSLocalizedString(
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE",
|
||||
comment: "Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste.",
|
||||
),
|
||||
style: .destructive,
|
||||
handler: { _ in
|
||||
completePaste()
|
||||
},
|
||||
))
|
||||
doubleWarningSheet.addAction(ActionSheetAction(
|
||||
title: OWSLocalizedString(
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE",
|
||||
comment: "Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key.",
|
||||
),
|
||||
))
|
||||
|
||||
self?.present(doubleWarningSheet, animated: true)
|
||||
}
|
||||
}),
|
||||
),
|
||||
)
|
||||
|
||||
present(warningSheet, animated: true)
|
||||
}
|
||||
|
||||
public func inputTextViewSendMessagePressed() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
import SignalServiceKit
|
||||
|
||||
final class CollapseSetInteraction: TSInteraction {
|
||||
class CollapseSetInteraction: TSInteraction {
|
||||
|
||||
enum MessagesType: Equatable {
|
||||
case groupUpdates
|
||||
@ -18,6 +18,8 @@ final class CollapseSetInteraction: TSInteraction {
|
||||
|
||||
let collapseSetType: MessagesType
|
||||
|
||||
let isExpanded: Bool
|
||||
|
||||
let finalTimerDescription: String?
|
||||
|
||||
override var isDynamicInteraction: Bool { true }
|
||||
@ -30,10 +32,12 @@ final class CollapseSetInteraction: TSInteraction {
|
||||
thread: TSThread,
|
||||
collapsedInteractions: [TSInteraction],
|
||||
collapseSetType: MessagesType,
|
||||
isExpanded: Bool = false,
|
||||
) {
|
||||
owsPrecondition(!collapsedInteractions.isEmpty)
|
||||
self.collapsedInteractions = collapsedInteractions
|
||||
self.collapseSetType = collapseSetType
|
||||
self.isExpanded = isExpanded
|
||||
self.finalTimerDescription = Self.disappearingTimerDescription(
|
||||
for: collapsedInteractions,
|
||||
type: collapseSetType,
|
||||
@ -41,17 +45,13 @@ final class CollapseSetInteraction: TSInteraction {
|
||||
|
||||
let firstInteraction = collapsedInteractions[0]
|
||||
super.init(
|
||||
customUniqueId: Self.id(firstInteraction: firstInteraction),
|
||||
customUniqueId: "CollapseSet_\(firstInteraction.timestamp)",
|
||||
timestamp: firstInteraction.timestamp,
|
||||
receivedAtTimestamp: firstInteraction.receivedAtTimestamp,
|
||||
thread: thread,
|
||||
)
|
||||
}
|
||||
|
||||
static func id(firstInteraction: TSInteraction) -> String {
|
||||
"CollapseSet_\(firstInteraction.timestamp)"
|
||||
}
|
||||
|
||||
private static func disappearingTimerDescription(
|
||||
for interactions: [TSInteraction],
|
||||
type: MessagesType,
|
||||
|
||||
@ -427,23 +427,6 @@ public class CVLoadCoordinator: NSObject {
|
||||
loadIfNecessary()
|
||||
}
|
||||
|
||||
public func enqueueReload(
|
||||
updatedInteractionIds: Set<String>,
|
||||
deletedInteractionIds: Set<String>,
|
||||
preferredScrollContinuityAnchorInteractionId: String,
|
||||
) {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
loadRequestBuilder.reload(
|
||||
updatedInteractionIds: updatedInteractionIds,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
)
|
||||
loadRequestBuilder.reload(
|
||||
preferredScrollContinuityAnchorInteractionId: preferredScrollContinuityAnchorInteractionId,
|
||||
)
|
||||
loadIfNecessary()
|
||||
}
|
||||
|
||||
public func enqueueReloadWithoutCaches() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
|
||||
@ -80,10 +80,6 @@ public class CVLoader: NSObject {
|
||||
localAci: localAci,
|
||||
transaction: transaction,
|
||||
)
|
||||
let preprocessingContext = MessageLoaderPreprocessingContext(
|
||||
thread: loadContext.thread,
|
||||
oldestUnreadSortId: viewStateSnapshot.oldestUnreadMessageSortId,
|
||||
)
|
||||
|
||||
// Don't cache in the reset() case.
|
||||
let canReuseInteractions = loadRequest.canReuseInteractionModels && !loadRequest.didReset
|
||||
@ -136,35 +132,30 @@ public class CVLoader: NSObject {
|
||||
focusMessageId: focusMessageIdOnOpen,
|
||||
reusableInteractions: [:],
|
||||
deletedInteractionIds: [],
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: transaction,
|
||||
)
|
||||
case .loadSameLocation:
|
||||
try messageLoader.loadSameLocation(
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: transaction,
|
||||
)
|
||||
case .loadOlder:
|
||||
try messageLoader.loadOlderMessagePage(
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: transaction,
|
||||
)
|
||||
case .loadNewer:
|
||||
try messageLoader.loadNewerMessagePage(
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: transaction,
|
||||
)
|
||||
case .loadNewest:
|
||||
try messageLoader.loadNewestMessagePage(
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: transaction,
|
||||
)
|
||||
case .loadPageAroundInteraction(let interactionId, _):
|
||||
@ -172,7 +163,6 @@ public class CVLoader: NSObject {
|
||||
aroundInteractionId: interactionId,
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: transaction,
|
||||
)
|
||||
}
|
||||
@ -181,18 +171,36 @@ public class CVLoader: NSObject {
|
||||
throw error
|
||||
}
|
||||
|
||||
let expandedInteractions = messageLoader.loadedDisplayableInteractions.flatMap { interaction in
|
||||
if
|
||||
let collapseSet = interaction as? CollapseSetInteraction,
|
||||
viewStateSnapshot.expandedCollapseSetIds.contains(collapseSet.uniqueId)
|
||||
let initialLoadCount = messageLoader.loadedInteractions.count
|
||||
|
||||
var processedInteractions = Self.preprocessInteractions(
|
||||
messageLoader.loadedInteractions,
|
||||
loadContext: loadContext,
|
||||
)
|
||||
|
||||
if case .loadInitialMapping = loadRequest.loadType {
|
||||
let maxExtraLoads = 5
|
||||
var extraLoads = 0
|
||||
while
|
||||
processedInteractions.count < initialLoadCount,
|
||||
messageLoader.canLoadOlder,
|
||||
extraLoads < maxExtraLoads
|
||||
{
|
||||
return [collapseSet] + collapseSet.collapsedInteractions
|
||||
try messageLoader.loadOlderMessagePage(
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
tx: transaction,
|
||||
)
|
||||
processedInteractions = Self.preprocessInteractions(
|
||||
messageLoader.loadedInteractions,
|
||||
loadContext: loadContext,
|
||||
)
|
||||
extraLoads += 1
|
||||
}
|
||||
return [interaction]
|
||||
}
|
||||
|
||||
let itemModels = self.buildItemModels(
|
||||
interactions: expandedInteractions,
|
||||
interactions: processedInteractions,
|
||||
loadContext: loadContext,
|
||||
updatedInteractionIds: updatedInteractionIds,
|
||||
localAci: localAci,
|
||||
@ -264,6 +272,214 @@ public class CVLoader: NSObject {
|
||||
return itemModelBuilder.buildItems(localAci: localAci, interactions: interactions)
|
||||
}
|
||||
|
||||
// MARK: - Interaction Preprocessing
|
||||
|
||||
private static let maxCollapseSetSize = 50
|
||||
|
||||
/// Takes a list of interactions and applies preprocessing before the expensive task of creating `CVItemModel`s via `CVItemModelBuilder.buildItems`.
|
||||
///
|
||||
/// 1. Inserts date headers
|
||||
/// 2. Inserts unread indicator
|
||||
/// 3. Collapses chat events
|
||||
private static func preprocessInteractions(
|
||||
_ interactions: [TSInteraction],
|
||||
loadContext: CVLoadContext,
|
||||
) -> [TSInteraction] {
|
||||
let thread = loadContext.thread
|
||||
let isGroupThread = thread.isGroupThread
|
||||
let expandedCollapseSets = loadContext.viewStateSnapshot.expandedCollapseSets
|
||||
let oldestUnreadSortId = loadContext.viewStateSnapshot.oldestUnreadMessageSortId
|
||||
|
||||
let todayDate = Date()
|
||||
var result = [TSInteraction]()
|
||||
var currentRun = [TSInteraction]()
|
||||
var currentRunType: CollapseSetInteraction.MessagesType?
|
||||
var pastUnreadIndicator = false
|
||||
var shouldShowDateOnNextViewItem = true
|
||||
var previousDaysBeforeToday: Int?
|
||||
|
||||
func finalizeSet() {
|
||||
defer {
|
||||
currentRun.removeAll()
|
||||
currentRunType = nil
|
||||
}
|
||||
guard currentRun.count >= 2, let runType = currentRunType else {
|
||||
result.append(contentsOf: currentRun)
|
||||
return
|
||||
}
|
||||
let collapseId = "CollapseSet_\(currentRun[0].timestamp)"
|
||||
let isExpanded = expandedCollapseSets.contains(collapseId)
|
||||
let collapseSetInteraction = CollapseSetInteraction(
|
||||
thread: thread,
|
||||
collapsedInteractions: currentRun,
|
||||
collapseSetType: runType,
|
||||
isExpanded: isExpanded,
|
||||
)
|
||||
result.append(collapseSetInteraction)
|
||||
if isExpanded {
|
||||
result.append(contentsOf: currentRun)
|
||||
}
|
||||
}
|
||||
|
||||
for interaction in interactions {
|
||||
let timestamp = interaction.timestamp
|
||||
let daysBeforeToday = DateUtil.daysFrom(
|
||||
firstDate: Date(millisecondsSince1970: timestamp),
|
||||
toSecondDate: todayDate,
|
||||
)
|
||||
|
||||
if let previousDaysBeforeToday {
|
||||
if daysBeforeToday != previousDaysBeforeToday {
|
||||
shouldShowDateOnNextViewItem = true
|
||||
}
|
||||
} else {
|
||||
// Only show for the first item if the date is not today
|
||||
shouldShowDateOnNextViewItem = daysBeforeToday != 0
|
||||
}
|
||||
|
||||
if
|
||||
shouldShowDateOnNextViewItem,
|
||||
canShowDateHeader(before: interaction)
|
||||
{
|
||||
// Collapse sets shouldn't cross date boundaries
|
||||
finalizeSet()
|
||||
result.append(DateHeaderInteraction(thread: thread, timestamp: timestamp))
|
||||
shouldShowDateOnNextViewItem = false
|
||||
}
|
||||
previousDaysBeforeToday = daysBeforeToday
|
||||
|
||||
// Only insert one unread indicator and don't collapse unread events
|
||||
if pastUnreadIndicator {
|
||||
result.append(interaction)
|
||||
continue
|
||||
}
|
||||
|
||||
if let oldestUnreadSortId, oldestUnreadSortId <= interaction.sortId {
|
||||
finalizeSet()
|
||||
let unreadIndicatorInteraction = UnreadIndicatorInteraction(
|
||||
thread: thread,
|
||||
timestamp: timestamp,
|
||||
receivedAtTimestamp: interaction.receivedAtTimestamp,
|
||||
)
|
||||
result.append(unreadIndicatorInteraction)
|
||||
pastUnreadIndicator = true
|
||||
result.append(interaction)
|
||||
continue
|
||||
}
|
||||
|
||||
guard BuildFlags.collapsingChatEvents else {
|
||||
result.append(interaction)
|
||||
continue
|
||||
}
|
||||
|
||||
let collapseType = collapseSetType(for: interaction, isGroupThread: isGroupThread)
|
||||
if let collapseType {
|
||||
let isDifferentSetThanCurrentRun = currentRunType != nil && currentRunType != collapseType
|
||||
let exceededCurrentRunLimit = currentRun.count >= maxCollapseSetSize
|
||||
if isDifferentSetThanCurrentRun || exceededCurrentRunLimit {
|
||||
finalizeSet()
|
||||
}
|
||||
currentRun.append(interaction)
|
||||
currentRunType = collapseType
|
||||
} else {
|
||||
finalizeSet()
|
||||
result.append(interaction)
|
||||
}
|
||||
}
|
||||
finalizeSet()
|
||||
return result
|
||||
}
|
||||
|
||||
private static func canShowDateHeader(before interaction: TSInteraction) -> Bool {
|
||||
switch interaction.interactionType {
|
||||
case .unknown, .typingIndicator, .threadDetails, .dateHeader, .unknownThreadWarning, .defaultDisappearingMessageTimer, .collapseSet:
|
||||
return false
|
||||
case .info:
|
||||
guard let infoMessage = interaction as? TSInfoMessage else {
|
||||
owsFailDebug("Invalid interaction.")
|
||||
return false
|
||||
}
|
||||
// Only show the date for non-synced thread messages;
|
||||
return infoMessage.messageType != .syncedThread
|
||||
case .unreadIndicator, .incomingMessage, .outgoingMessage, .error, .call:
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
private static func collapseSetType(
|
||||
for interaction: TSInteraction,
|
||||
isGroupThread: Bool,
|
||||
) -> CollapseSetInteraction.MessagesType? {
|
||||
switch interaction.interactionType {
|
||||
case .info:
|
||||
guard let infoMessage = interaction as? TSInfoMessage else {
|
||||
owsFailDebug("info interaction is not TSInfoMessage")
|
||||
return nil
|
||||
}
|
||||
switch infoMessage.messageType {
|
||||
case .typeDisappearingMessagesUpdate:
|
||||
return .timerChanges
|
||||
case .typeGroupUpdate:
|
||||
if
|
||||
let wrapper = infoMessage.infoMessageUserInfo?[.groupUpdateItems]
|
||||
as? TSInfoMessage.PersistableGroupUpdateItemsWrapper
|
||||
{
|
||||
for event in wrapper.updateItems {
|
||||
switch event {
|
||||
case
|
||||
.groupTerminatedByLocalUser,
|
||||
.groupTerminatedByOtherUser,
|
||||
.groupTerminatedByUnknownUser:
|
||||
return nil
|
||||
case
|
||||
.disappearingMessagesEnabledByLocalUser,
|
||||
.disappearingMessagesEnabledByOtherUser,
|
||||
.disappearingMessagesEnabledByUnknownUser,
|
||||
.disappearingMessagesDisabledByLocalUser,
|
||||
.disappearingMessagesDisabledByOtherUser,
|
||||
.disappearingMessagesDisabledByUnknownUser:
|
||||
return .timerChanges
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return isGroupThread ? .groupUpdates : .chatUpdates
|
||||
case .verificationStateChange,
|
||||
.profileUpdate,
|
||||
.phoneNumberChange,
|
||||
.typeEndPoll,
|
||||
.typePinnedMessage:
|
||||
return isGroupThread ? .groupUpdates : .chatUpdates
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
case .error:
|
||||
guard let errorMessage = interaction as? TSErrorMessage else {
|
||||
owsFailDebug("error interaction is not TSErrorMessage")
|
||||
return nil
|
||||
}
|
||||
if errorMessage.errorType == .nonBlockingIdentityChange {
|
||||
return isGroupThread ? .groupUpdates : .chatUpdates
|
||||
}
|
||||
return nil
|
||||
case .call:
|
||||
// Don't collapse an active group call.
|
||||
if
|
||||
let groupCallMessage = interaction as? OWSGroupCallMessage,
|
||||
!groupCallMessage.hasEnded
|
||||
{
|
||||
return nil
|
||||
}
|
||||
return .callEvents
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
|
||||
#if USE_DEBUG_UI
|
||||
|
||||
public static func debugui_buildStandaloneRenderItem(
|
||||
|
||||
@ -42,7 +42,7 @@ struct CVViewStateSnapshot {
|
||||
let hasActiveCall: Bool
|
||||
let currentGroupThreadCallGroupId: GroupIdentifier?
|
||||
|
||||
let expandedCollapseSetIds: Set<String>
|
||||
let expandedCollapseSets: Set<String>
|
||||
|
||||
private static var currentCallProvider: any CurrentCallProvider { DependenciesBridge.shared.currentCallProvider }
|
||||
|
||||
@ -64,7 +64,7 @@ struct CVViewStateSnapshot {
|
||||
oldestUnreadMessageSortId: oldestUnreadMessageSortId,
|
||||
hasActiveCall: currentCallProvider.hasCurrentCall,
|
||||
currentGroupThreadCallGroupId: currentCallProvider.currentGroupThreadCallGroupId,
|
||||
expandedCollapseSetIds: viewState.expandedCollapseSets,
|
||||
expandedCollapseSets: viewState.expandedCollapseSets,
|
||||
)
|
||||
}
|
||||
|
||||
@ -84,7 +84,7 @@ struct CVViewStateSnapshot {
|
||||
oldestUnreadMessageSortId: nil,
|
||||
hasActiveCall: false,
|
||||
currentGroupThreadCallGroupId: nil,
|
||||
expandedCollapseSetIds: [],
|
||||
expandedCollapseSets: [],
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,13 +7,11 @@ import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
private enum Constants {
|
||||
/// The maximum number of top-level interactions to keep in memory. We start
|
||||
/// dropping interactions (in an LRU fashion) once we've exceeded this value.
|
||||
/// The maximum number of interactions to keep in memory. We start dropping
|
||||
/// interactions (in an LRU fashion) once we've exceeded this value.
|
||||
///
|
||||
/// TODO: Should we reduce this value?
|
||||
static let maxDisplayableInteractionCount = 500
|
||||
|
||||
static let maxCollapseSetSize = 50
|
||||
static let maxInteractionCount = 500
|
||||
}
|
||||
|
||||
protocol MessageLoaderBatchFetcher {
|
||||
@ -30,19 +28,11 @@ protocol MessageLoaderInteractionFetcher {
|
||||
|
||||
// MARK: -
|
||||
|
||||
struct MessageLoaderPreprocessingContext {
|
||||
let thread: TSThread
|
||||
let oldestUnreadSortId: UInt64?
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
|
||||
class MessageLoader {
|
||||
private let batchFetcher: MessageLoaderBatchFetcher
|
||||
private let interactionFetchers: [MessageLoaderInteractionFetcher]
|
||||
|
||||
private(set) var loadedInteractions: [TSInteraction] = []
|
||||
private(set) var loadedDisplayableInteractions: [TSInteraction] = []
|
||||
|
||||
/// If true, there might be older messages that could be loaded. If false,
|
||||
/// we believe we've reached the beginning of the chat.
|
||||
@ -100,61 +90,10 @@ class MessageLoader {
|
||||
case sameLocation
|
||||
}
|
||||
|
||||
/// A single display unit: one standalone interaction or a collapse set.
|
||||
private struct LoadedSegment {
|
||||
/// Either a single item to be displayed or multiple updates to be
|
||||
/// grouped in a collapse set.
|
||||
var rawInteractions: [TSInteraction]
|
||||
/// Zero or more generated elements (date header or unread indicator)
|
||||
/// followed by the elements to be displayed. The single raw item
|
||||
/// itself, or a collapse set which would be followed by
|
||||
/// `rawInteractions` if expanded.
|
||||
var displayableInteractions: [TSInteraction]
|
||||
}
|
||||
|
||||
/// Groups raw interactions with the displayable interactions they produce
|
||||
/// during preprocessing, so trimming can drop complete display units.
|
||||
private struct LoadedPage {
|
||||
let segments: [LoadedSegment]
|
||||
|
||||
var rawInteractions: [TSInteraction] {
|
||||
segments.flatMap(\.rawInteractions)
|
||||
}
|
||||
|
||||
var displayableInteractions: [TSInteraction] {
|
||||
segments.flatMap(\.displayableInteractions)
|
||||
}
|
||||
|
||||
var rawInteractionCount: Int {
|
||||
segments.lazy.map(\.rawInteractions.count).reduce(0, +)
|
||||
}
|
||||
|
||||
func trimmingDisplayableInteractions(
|
||||
trimOlder: Bool,
|
||||
) -> LoadedPage {
|
||||
let segments = trimOlder ? self.segments.reversed() : self.segments
|
||||
var trimmedSegments: [LoadedSegment] = []
|
||||
var displayableCount = 0
|
||||
for segment in segments {
|
||||
let segmentDisplayableCount = segment.displayableInteractions.count
|
||||
displayableCount += segmentDisplayableCount
|
||||
guard displayableCount <= Constants.maxDisplayableInteractionCount else {
|
||||
break
|
||||
}
|
||||
trimmedSegments.append(segment)
|
||||
}
|
||||
if trimOlder {
|
||||
trimmedSegments.reverse()
|
||||
}
|
||||
return LoadedPage(segments: trimmedSegments)
|
||||
}
|
||||
}
|
||||
|
||||
func loadMessagePage(
|
||||
aroundInteractionId interactionUniqueId: String,
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
deletedInteractionIds: Set<String>?,
|
||||
preprocessingContext: MessageLoaderPreprocessingContext? = nil,
|
||||
tx: DBReadTransaction,
|
||||
) throws {
|
||||
try ensureLoaded(
|
||||
@ -162,7 +101,6 @@ class MessageLoader {
|
||||
count: initialLoadCount,
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
@ -170,7 +108,6 @@ class MessageLoader {
|
||||
func loadNewerMessagePage(
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
deletedInteractionIds: Set<String>?,
|
||||
preprocessingContext: MessageLoaderPreprocessingContext? = nil,
|
||||
tx: DBReadTransaction,
|
||||
) throws {
|
||||
try ensureLoaded(
|
||||
@ -178,7 +115,6 @@ class MessageLoader {
|
||||
count: initialLoadCount * 2,
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
@ -186,7 +122,6 @@ class MessageLoader {
|
||||
func loadOlderMessagePage(
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
deletedInteractionIds: Set<String>?,
|
||||
preprocessingContext: MessageLoaderPreprocessingContext? = nil,
|
||||
tx: DBReadTransaction,
|
||||
) throws {
|
||||
try ensureLoaded(
|
||||
@ -194,7 +129,6 @@ class MessageLoader {
|
||||
count: initialLoadCount * 2,
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
@ -202,7 +136,6 @@ class MessageLoader {
|
||||
func loadNewestMessagePage(
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
deletedInteractionIds: Set<String>?,
|
||||
preprocessingContext: MessageLoaderPreprocessingContext? = nil,
|
||||
tx: DBReadTransaction,
|
||||
) throws {
|
||||
try ensureLoaded(
|
||||
@ -210,7 +143,6 @@ class MessageLoader {
|
||||
count: initialLoadCount,
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
@ -219,7 +151,6 @@ class MessageLoader {
|
||||
focusMessageId: String?,
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
deletedInteractionIds: Set<String>?,
|
||||
preprocessingContext: MessageLoaderPreprocessingContext? = nil,
|
||||
tx: DBReadTransaction,
|
||||
) throws {
|
||||
if let focusMessageId {
|
||||
@ -228,14 +159,12 @@ class MessageLoader {
|
||||
count: initialLoadCount,
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
} else {
|
||||
try loadNewestMessagePage(
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
@ -244,15 +173,13 @@ class MessageLoader {
|
||||
func loadSameLocation(
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
deletedInteractionIds: Set<String>?,
|
||||
preprocessingContext: MessageLoaderPreprocessingContext? = nil,
|
||||
tx: DBReadTransaction,
|
||||
) throws {
|
||||
try ensureLoaded(
|
||||
.sameLocation,
|
||||
count: max(initialLoadCount, loadedDisplayableInteractions.count),
|
||||
count: max(initialLoadCount, loadedInteractions.count),
|
||||
reusableInteractions: reusableInteractions,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
@ -268,122 +195,21 @@ class MessageLoader {
|
||||
count: Int,
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
deletedInteractionIds: Set<String>?,
|
||||
preprocessingContext: MessageLoaderPreprocessingContext?,
|
||||
tx: DBReadTransaction,
|
||||
) throws {
|
||||
owsAssertDebug(count > 0)
|
||||
|
||||
let maxRawInteractionFetchCount = Constants.maxDisplayableInteractionCount * Constants.maxCollapseSetSize
|
||||
let count = count.clamp(1, maxRawInteractionFetchCount)
|
||||
let loadedDisplayableCount = loadedDisplayableInteractions.count
|
||||
|
||||
let desiredDisplayableInteractionCount: Int = switch direction {
|
||||
case .older, .newer:
|
||||
loadedDisplayableCount + count
|
||||
case .sameLocation:
|
||||
max(initialLoadCount, loadedDisplayableCount)
|
||||
case .around, .newest:
|
||||
count
|
||||
}
|
||||
|
||||
var loadBatch = try buildLoadBatch(
|
||||
let count = count.clamp(1, Constants.maxInteractionCount)
|
||||
let loadBatch = try buildLoadBatch(
|
||||
direction,
|
||||
count: count,
|
||||
deletedInteractionIds: deletedInteractionIds,
|
||||
tx: tx,
|
||||
)
|
||||
|
||||
var loadedPage = buildLoadedPage(
|
||||
for: loadBatch,
|
||||
loadedInteractions = fetchInteractions(
|
||||
uniqueIds: loadBatch.uniqueIds,
|
||||
reusableInteractions: reusableInteractions,
|
||||
preprocessingContext: preprocessingContext,
|
||||
tx: tx,
|
||||
)
|
||||
|
||||
func loadMoreIfNeeded(context: MessageLoaderPreprocessingContext) throws -> Bool {
|
||||
let loadedDisplayableInteractionCount = loadedPage.displayableInteractions.count
|
||||
guard loadedDisplayableInteractionCount < desiredDisplayableInteractionCount else {
|
||||
return false
|
||||
}
|
||||
// Heuristically adjust fetch size based on the proportion of
|
||||
// messages so far that are collapsed.
|
||||
let remainingCount = desiredDisplayableInteractionCount - loadedDisplayableInteractionCount
|
||||
let estimatedRawInteractionsPerDisplayableInteraction = min(
|
||||
Constants.maxCollapseSetSize,
|
||||
max(
|
||||
1,
|
||||
Int(ceil(Double(loadedPage.rawInteractionCount) / Double(max(loadedDisplayableInteractionCount, 1)))),
|
||||
),
|
||||
)
|
||||
let fetchCount = min(
|
||||
maxRawInteractionFetchCount,
|
||||
max(count, remainingCount * estimatedRawInteractionsPerDisplayableInteraction),
|
||||
)
|
||||
guard fetchCount > 0 else {
|
||||
return false
|
||||
}
|
||||
|
||||
func fetchOlder() throws -> Bool {
|
||||
guard
|
||||
loadBatch.canLoadOlder,
|
||||
let firstInteraction = loadedPage.segments.first?.rawInteractions.first,
|
||||
let rowId = firstInteraction.sqliteRowId
|
||||
else {
|
||||
return false
|
||||
}
|
||||
return try self.fetchOlder(before: rowId, count: fetchCount, batch: &loadBatch, tx: tx) > 0
|
||||
}
|
||||
|
||||
func fetchNewer() throws -> Bool {
|
||||
guard
|
||||
loadBatch.canLoadNewer,
|
||||
let lastInteraction = loadedPage.segments.last?.rawInteractions.last,
|
||||
let rowId = lastInteraction.sqliteRowId
|
||||
else {
|
||||
return false
|
||||
}
|
||||
return try self.fetchNewer(after: rowId, count: fetchCount, batch: &loadBatch, tx: tx) > 0
|
||||
}
|
||||
|
||||
let didLoadMore: Bool
|
||||
switch direction {
|
||||
case .older, .newest:
|
||||
didLoadMore = try fetchOlder()
|
||||
case .newer:
|
||||
didLoadMore = try fetchNewer()
|
||||
case .sameLocation, .around:
|
||||
if try fetchOlder() {
|
||||
didLoadMore = true
|
||||
} else {
|
||||
didLoadMore = try fetchNewer()
|
||||
}
|
||||
}
|
||||
guard didLoadMore else {
|
||||
return false
|
||||
}
|
||||
loadedPage = buildLoadedPage(
|
||||
for: loadBatch,
|
||||
reusableInteractions: reusableInteractions,
|
||||
preprocessingContext: context,
|
||||
tx: tx,
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
||||
if let preprocessingContext {
|
||||
while try loadMoreIfNeeded(context: preprocessingContext) {
|
||||
// Loading more messages...
|
||||
}
|
||||
}
|
||||
|
||||
trimLoadedPageIfNeeded(
|
||||
&loadBatch,
|
||||
loadedPage: &loadedPage,
|
||||
loadDirection: direction,
|
||||
)
|
||||
|
||||
loadedInteractions = loadedPage.rawInteractions
|
||||
loadedDisplayableInteractions = loadedPage.displayableInteractions
|
||||
canLoadNewer = loadBatch.canLoadNewer
|
||||
canLoadOlder = loadBatch.canLoadOlder
|
||||
}
|
||||
@ -402,6 +228,24 @@ class MessageLoader {
|
||||
)
|
||||
}
|
||||
|
||||
/// Expands `batch` with `count` messages preceding `rowId`.
|
||||
@discardableResult
|
||||
func fetchOlder(before rowId: Int64, count: Int, batch: inout MessageLoaderBatch) throws -> Int {
|
||||
let uniqueIds: [String] = try fetch(filter: .before(rowId), limit: count)
|
||||
batch.insertOlder(uniqueIds: uniqueIds, didReachOldest: uniqueIds.count < count)
|
||||
batch.trimNewer()
|
||||
return uniqueIds.count
|
||||
}
|
||||
|
||||
/// Expands `batch` with `count` messages succeeding `rowId`.
|
||||
@discardableResult
|
||||
func fetchNewer(after rowId: Int64, count: Int, batch: inout MessageLoaderBatch) throws -> Int {
|
||||
let uniqueIds: [String] = try fetch(filter: .after(rowId), limit: count)
|
||||
batch.insertNewer(uniqueIds: uniqueIds, didReachNewest: uniqueIds.count < count)
|
||||
batch.trimOlder()
|
||||
return uniqueIds.count
|
||||
}
|
||||
|
||||
/// Fetches uniqueIds in the range of provided rowIds.
|
||||
func fetchRange(_ rowIds: ClosedRange<Int64>) throws -> [String] {
|
||||
return try fetch(filter: .range(rowIds), limit: rowIds.count)
|
||||
@ -421,8 +265,8 @@ class MessageLoader {
|
||||
return try loadNewest()
|
||||
}
|
||||
var batch = MessageLoaderBatch(canLoadNewer: true, canLoadOlder: true, uniqueIds: [uniqueId])
|
||||
let olderCount = try fetchOlder(before: rowId, count: count / 2, batch: &batch, tx: tx)
|
||||
try fetchNewer(after: rowId, count: count - olderCount, batch: &batch, tx: tx)
|
||||
let olderCount = try fetchOlder(before: rowId, count: count / 2, batch: &batch)
|
||||
try fetchNewer(after: rowId, count: count - olderCount, batch: &batch)
|
||||
return batch
|
||||
}
|
||||
|
||||
@ -467,7 +311,7 @@ class MessageLoader {
|
||||
return batch
|
||||
case .older:
|
||||
var batch = priorLoad.batch
|
||||
try fetchOlder(before: priorLoad.range.lowerBound, count: count, batch: &batch, tx: tx)
|
||||
try fetchOlder(before: priorLoad.range.lowerBound, count: count, batch: &batch)
|
||||
return batch
|
||||
case .sameLocation where !priorLoad.batch.canLoadNewer:
|
||||
// If we're loading at the same location and are already at the end of the
|
||||
@ -475,13 +319,13 @@ class MessageLoader {
|
||||
fallthrough
|
||||
case .newer:
|
||||
var batch = priorLoad.batch
|
||||
try fetchNewer(after: priorLoad.range.upperBound, count: count, batch: &batch, tx: tx)
|
||||
try fetchNewer(after: priorLoad.range.upperBound, count: count, batch: &batch)
|
||||
return batch
|
||||
case .sameLocation:
|
||||
var batch = priorLoad.batch
|
||||
if batch.uniqueIds.count < initialLoadCount {
|
||||
try fetchOlder(before: priorLoad.range.lowerBound, count: initialLoadCount, batch: &batch, tx: tx)
|
||||
try fetchNewer(after: priorLoad.range.upperBound, count: initialLoadCount, batch: &batch, tx: tx)
|
||||
try fetchOlder(before: priorLoad.range.lowerBound, count: initialLoadCount, batch: &batch)
|
||||
try fetchNewer(after: priorLoad.range.upperBound, count: initialLoadCount, batch: &batch)
|
||||
}
|
||||
return batch
|
||||
case .around(interactionUniqueId: let uniqueId):
|
||||
@ -499,32 +343,6 @@ class MessageLoader {
|
||||
}
|
||||
}
|
||||
|
||||
/// Expands `batch` with `count` messages preceding `rowId`.
|
||||
@discardableResult
|
||||
private func fetchOlder(
|
||||
before rowId: Int64,
|
||||
count: Int,
|
||||
batch: inout MessageLoaderBatch,
|
||||
tx: DBReadTransaction,
|
||||
) throws -> Int {
|
||||
let uniqueIds = try batchFetcher.fetchUniqueIds(filter: .before(rowId), limit: count, tx: tx)
|
||||
batch.insertOlder(uniqueIds: uniqueIds, didReachOldest: uniqueIds.count < count)
|
||||
return uniqueIds.count
|
||||
}
|
||||
|
||||
/// Expands `batch` with `count` messages succeeding `rowId`.
|
||||
@discardableResult
|
||||
private func fetchNewer(
|
||||
after rowId: Int64,
|
||||
count: Int,
|
||||
batch: inout MessageLoaderBatch,
|
||||
tx: DBReadTransaction,
|
||||
) throws -> Int {
|
||||
let uniqueIds = try batchFetcher.fetchUniqueIds(filter: .after(rowId), limit: count, tx: tx)
|
||||
batch.insertNewer(uniqueIds: uniqueIds, didReachNewest: uniqueIds.count < count)
|
||||
return uniqueIds.count
|
||||
}
|
||||
|
||||
private func fetchInteractions(
|
||||
uniqueIds interactionIds: [String],
|
||||
reusableInteractions: [String: TSInteraction] = [:],
|
||||
@ -542,268 +360,6 @@ class MessageLoader {
|
||||
}
|
||||
return refinery.values.compacted()
|
||||
}
|
||||
|
||||
private func buildLoadedPage(
|
||||
for batch: MessageLoaderBatch,
|
||||
reusableInteractions: [String: TSInteraction],
|
||||
preprocessingContext: MessageLoaderPreprocessingContext?,
|
||||
tx: DBReadTransaction,
|
||||
) -> LoadedPage {
|
||||
let rawInteractions = fetchInteractions(
|
||||
uniqueIds: batch.uniqueIds,
|
||||
reusableInteractions: reusableInteractions,
|
||||
tx: tx,
|
||||
)
|
||||
return LoadedPage(
|
||||
segments: Self.preprocessInteractions(
|
||||
rawInteractions,
|
||||
preprocessingContext: preprocessingContext,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
private func trimLoadedPageIfNeeded(
|
||||
_ loadBatch: inout MessageLoaderBatch,
|
||||
loadedPage: inout LoadedPage,
|
||||
loadDirection: LoadWindowDirection,
|
||||
) {
|
||||
guard loadedPage.displayableInteractions.count > Constants.maxDisplayableInteractionCount else {
|
||||
return
|
||||
}
|
||||
|
||||
let trimOlder: Bool = switch loadDirection {
|
||||
case .newer, .around, .newest, .sameLocation:
|
||||
true
|
||||
case .older:
|
||||
false
|
||||
}
|
||||
|
||||
loadedPage = loadedPage.trimmingDisplayableInteractions(trimOlder: trimOlder)
|
||||
|
||||
loadBatch.uniqueIds = loadedPage.rawInteractions.map(\.uniqueId)
|
||||
if trimOlder {
|
||||
loadBatch.canLoadOlder = true
|
||||
} else {
|
||||
loadBatch.canLoadNewer = true
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts interactions into page segments. When a preprocessing context
|
||||
/// is provided, this also inserts dynamic items (date headers and unread
|
||||
/// indicators) and collapse sets.
|
||||
private static func preprocessInteractions(
|
||||
_ interactions: [TSInteraction],
|
||||
preprocessingContext: MessageLoaderPreprocessingContext?,
|
||||
) -> [LoadedSegment] {
|
||||
guard let preprocessingContext else {
|
||||
return interactions.map { interaction in
|
||||
LoadedSegment(rawInteractions: [interaction], displayableInteractions: [interaction])
|
||||
}
|
||||
}
|
||||
|
||||
let thread = preprocessingContext.thread
|
||||
let isGroupThread = thread.isGroupThread
|
||||
let oldestUnreadSortId = preprocessingContext.oldestUnreadSortId
|
||||
|
||||
let todayDate = Date()
|
||||
var result = [LoadedSegment]()
|
||||
var pendingDisplayableInteractions = [TSInteraction]()
|
||||
var currentRun = [TSInteraction]()
|
||||
var currentRunType: CollapseSetInteraction.MessagesType?
|
||||
var pastUnreadIndicator = false
|
||||
var shouldShowDateOnNextViewItem = true
|
||||
var previousDaysBeforeToday: Int?
|
||||
|
||||
func appendItem(_ interaction: TSInteraction) {
|
||||
result.append(LoadedSegment(
|
||||
rawInteractions: [interaction],
|
||||
displayableInteractions: pendingDisplayableInteractions + [interaction],
|
||||
))
|
||||
pendingDisplayableInteractions.removeAll()
|
||||
}
|
||||
|
||||
func finalizeSet() {
|
||||
defer {
|
||||
currentRun.removeAll()
|
||||
currentRunType = nil
|
||||
}
|
||||
guard !currentRun.isEmpty else {
|
||||
return
|
||||
}
|
||||
guard currentRun.count >= 2, let runType = currentRunType else {
|
||||
for interaction in currentRun {
|
||||
appendItem(interaction)
|
||||
}
|
||||
return
|
||||
}
|
||||
let collapseSetInteraction = CollapseSetInteraction(
|
||||
thread: thread,
|
||||
collapsedInteractions: currentRun,
|
||||
collapseSetType: runType,
|
||||
)
|
||||
result.append(LoadedSegment(
|
||||
rawInteractions: currentRun,
|
||||
displayableInteractions: pendingDisplayableInteractions + [collapseSetInteraction],
|
||||
))
|
||||
pendingDisplayableInteractions.removeAll()
|
||||
}
|
||||
|
||||
for interaction in interactions {
|
||||
let timestamp = interaction.timestamp
|
||||
let daysBeforeToday = DateUtil.daysFrom(
|
||||
firstDate: Date(millisecondsSince1970: timestamp),
|
||||
toSecondDate: todayDate,
|
||||
)
|
||||
|
||||
if let previousDaysBeforeToday {
|
||||
if daysBeforeToday != previousDaysBeforeToday {
|
||||
shouldShowDateOnNextViewItem = true
|
||||
}
|
||||
} else {
|
||||
// Only show for the first item if the date is not today
|
||||
shouldShowDateOnNextViewItem = daysBeforeToday != 0
|
||||
}
|
||||
|
||||
if
|
||||
shouldShowDateOnNextViewItem,
|
||||
canShowDateHeader(before: interaction)
|
||||
{
|
||||
// Collapse sets shouldn't cross date boundaries
|
||||
finalizeSet()
|
||||
pendingDisplayableInteractions.append(DateHeaderInteraction(thread: thread, timestamp: timestamp))
|
||||
shouldShowDateOnNextViewItem = false
|
||||
}
|
||||
previousDaysBeforeToday = daysBeforeToday
|
||||
|
||||
// Only insert one unread indicator and don't collapse unread events
|
||||
if pastUnreadIndicator {
|
||||
appendItem(interaction)
|
||||
continue
|
||||
}
|
||||
|
||||
if let oldestUnreadSortId, oldestUnreadSortId <= interaction.sortId {
|
||||
finalizeSet()
|
||||
let unreadIndicatorInteraction = UnreadIndicatorInteraction(
|
||||
thread: thread,
|
||||
timestamp: timestamp,
|
||||
receivedAtTimestamp: interaction.receivedAtTimestamp,
|
||||
)
|
||||
pendingDisplayableInteractions.append(unreadIndicatorInteraction)
|
||||
pastUnreadIndicator = true
|
||||
appendItem(interaction)
|
||||
continue
|
||||
}
|
||||
|
||||
guard BuildFlags.collapsingChatEvents else {
|
||||
appendItem(interaction)
|
||||
continue
|
||||
}
|
||||
|
||||
let collapseType = collapseSetType(for: interaction, isGroupThread: isGroupThread)
|
||||
if let collapseType {
|
||||
let isDifferentSetThanCurrentRun = currentRunType != nil && currentRunType != collapseType
|
||||
let exceededCurrentRunLimit = currentRun.count >= Constants.maxCollapseSetSize
|
||||
if isDifferentSetThanCurrentRun || exceededCurrentRunLimit {
|
||||
finalizeSet()
|
||||
}
|
||||
currentRun.append(interaction)
|
||||
currentRunType = collapseType
|
||||
} else {
|
||||
finalizeSet()
|
||||
appendItem(interaction)
|
||||
}
|
||||
}
|
||||
finalizeSet()
|
||||
return result
|
||||
}
|
||||
|
||||
private static func canShowDateHeader(before interaction: TSInteraction) -> Bool {
|
||||
switch interaction.interactionType {
|
||||
case .unknown, .typingIndicator, .threadDetails, .dateHeader, .unknownThreadWarning, .defaultDisappearingMessageTimer, .collapseSet:
|
||||
return false
|
||||
case .info:
|
||||
guard let infoMessage = interaction as? TSInfoMessage else {
|
||||
owsFailDebug("Invalid interaction.")
|
||||
return false
|
||||
}
|
||||
// Only show the date for non-synced thread messages;
|
||||
return infoMessage.messageType != .syncedThread
|
||||
case .unreadIndicator, .incomingMessage, .outgoingMessage, .error, .call:
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
private static func collapseSetType(
|
||||
for interaction: TSInteraction,
|
||||
isGroupThread: Bool,
|
||||
) -> CollapseSetInteraction.MessagesType? {
|
||||
switch interaction.interactionType {
|
||||
case .info:
|
||||
guard let infoMessage = interaction as? TSInfoMessage else {
|
||||
owsFailDebug("info interaction is not TSInfoMessage")
|
||||
return nil
|
||||
}
|
||||
switch infoMessage.messageType {
|
||||
case .typeDisappearingMessagesUpdate:
|
||||
return .timerChanges
|
||||
case .typeGroupUpdate:
|
||||
if
|
||||
let wrapper = infoMessage.infoMessageUserInfo?[.groupUpdateItems]
|
||||
as? TSInfoMessage.PersistableGroupUpdateItemsWrapper
|
||||
{
|
||||
for event in wrapper.updateItems {
|
||||
switch event {
|
||||
case
|
||||
.groupTerminatedByLocalUser,
|
||||
.groupTerminatedByOtherUser,
|
||||
.groupTerminatedByUnknownUser:
|
||||
return nil
|
||||
case
|
||||
.disappearingMessagesEnabledByLocalUser,
|
||||
.disappearingMessagesEnabledByOtherUser,
|
||||
.disappearingMessagesEnabledByUnknownUser,
|
||||
.disappearingMessagesDisabledByLocalUser,
|
||||
.disappearingMessagesDisabledByOtherUser,
|
||||
.disappearingMessagesDisabledByUnknownUser:
|
||||
return .timerChanges
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return isGroupThread ? .groupUpdates : .chatUpdates
|
||||
case .verificationStateChange,
|
||||
.profileUpdate,
|
||||
.phoneNumberChange,
|
||||
.typeEndPoll,
|
||||
.typePinnedMessage:
|
||||
return isGroupThread ? .groupUpdates : .chatUpdates
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
case .error:
|
||||
guard let errorMessage = interaction as? TSErrorMessage else {
|
||||
owsFailDebug("error interaction is not TSErrorMessage")
|
||||
return nil
|
||||
}
|
||||
if errorMessage.errorType == .nonBlockingIdentityChange {
|
||||
return isGroupThread ? .groupUpdates : .chatUpdates
|
||||
}
|
||||
return nil
|
||||
case .call:
|
||||
// Don't collapse an active group call.
|
||||
if
|
||||
let groupCallMessage = interaction as? OWSGroupCallMessage,
|
||||
!groupCallMessage.hasEnded
|
||||
{
|
||||
return nil
|
||||
}
|
||||
return .callEvents
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
@ -891,6 +447,8 @@ struct MessageLoaderBatch {
|
||||
}
|
||||
uniqueIds = otherUniqueIds.dropLast(overlappingCount) + uniqueIds
|
||||
mergeCanLoad(otherLoadBatch)
|
||||
// Make sure we keep all of `self`, so trim entries we just added if needed.
|
||||
trimOlder()
|
||||
case (let firstIndex?, nil):
|
||||
let overlappingCount = uniqueIds.endIndex - firstIndex
|
||||
guard uniqueIds.suffix(overlappingCount) == otherUniqueIds.prefix(overlappingCount) else {
|
||||
@ -900,6 +458,8 @@ struct MessageLoaderBatch {
|
||||
}
|
||||
uniqueIds += otherUniqueIds.dropFirst(overlappingCount)
|
||||
mergeCanLoad(otherLoadBatch)
|
||||
// Make sure we keep all of `self`, so trim entries we just added if needed.
|
||||
trimNewer()
|
||||
case (let firstIndex?, let lastIndex?):
|
||||
guard uniqueIds[firstIndex...lastIndex] == otherUniqueIds[...] else {
|
||||
// If this breaks, it probably means `deletedInteractionIds` is broken (or
|
||||
@ -934,4 +494,24 @@ struct MessageLoaderBatch {
|
||||
canLoadNewer = false
|
||||
}
|
||||
}
|
||||
|
||||
mutating func trimOlder() {
|
||||
guard uniqueIds.count > Constants.maxInteractionCount else {
|
||||
return
|
||||
}
|
||||
uniqueIds = Array(uniqueIds.suffix(Constants.maxInteractionCount))
|
||||
// We trimmed from the beginning. If the oldest had been marked as loaded,
|
||||
// it's no longer loaded.
|
||||
canLoadOlder = true
|
||||
}
|
||||
|
||||
mutating func trimNewer() {
|
||||
guard uniqueIds.count > Constants.maxInteractionCount else {
|
||||
return
|
||||
}
|
||||
uniqueIds = Array(uniqueIds.prefix(Constants.maxInteractionCount))
|
||||
// We trimmed from the end. If the newest had already been marked as
|
||||
// loaded, it's no longer loaded.
|
||||
canLoadNewer = true
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "official-wallpaper.pdf",
|
||||
"filename" : "official_wallpaper_reduced.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
BIN
Signal/Images.xcassets/official_wallpaper_reduced.imageset/official_wallpaper_reduced.pdf
vendored
Normal file
BIN
Signal/Images.xcassets/official_wallpaper_reduced.imageset/official_wallpaper_reduced.pdf
vendored
Normal file
Binary file not shown.
@ -362,11 +362,23 @@ class ProvisioningCoordinatorImpl: ProvisioningCoordinator {
|
||||
self.tsAccountManager.setRegistrationId(aciRegistrationId, for: .aci, tx: tx)
|
||||
self.tsAccountManager.setRegistrationId(pniRegistrationId, for: .pni, tx: tx)
|
||||
|
||||
self.svr.storeKeys(
|
||||
fromProvisioningMessage: provisionMessage,
|
||||
authedDevice: .explicit(authedDevice),
|
||||
tx: tx,
|
||||
)
|
||||
do {
|
||||
try svr.storeKeys(
|
||||
fromProvisioningMessage: provisionMessage,
|
||||
authedDevice: .explicit(authedDevice),
|
||||
tx: tx,
|
||||
)
|
||||
} catch {
|
||||
switch error {
|
||||
case SVR.KeysError.missingMasterKey:
|
||||
owsFailDebug("Failed to store master key from provisioning message")
|
||||
return .obsoleteLinkedDeviceError
|
||||
case SVR.KeysError.missingOrInvalidMRBK:
|
||||
return .obsoleteLinkedDeviceError
|
||||
default:
|
||||
owsFailDebug("Unexpected Error")
|
||||
}
|
||||
}
|
||||
|
||||
self.receiptManager.setAreReadReceiptsEnabled(
|
||||
provisionMessage.areReadReceiptsEnabled,
|
||||
|
||||
@ -50,7 +50,7 @@ public class ProvisioningManager {
|
||||
var aciIdentityKeyPair: ECKeyPair
|
||||
var pniIdentityKeyPair: ECKeyPair
|
||||
var areReadReceiptsEnabled: Bool
|
||||
var aep: SignalServiceKit.AccountEntropyPool
|
||||
var rootKey: LinkingProvisioningMessage.RootKey
|
||||
var mediaRootBackupKey: MediaRootBackupKey
|
||||
var profileKey: Aes256Key
|
||||
}
|
||||
@ -64,11 +64,13 @@ public class ProvisioningManager {
|
||||
owsFail("Can't provision without a pni identity.")
|
||||
}
|
||||
let areReadReceiptsEnabled = receiptManager.areReadReceiptsEnabled(tx: tx)
|
||||
let rootKey: LinkingProvisioningMessage.RootKey
|
||||
guard let accountEntropyPool = accountKeyStore.getAccountEntropyPool(tx: tx) else {
|
||||
// This should be impossible; the only times you don't have
|
||||
// an AEP are during registration.
|
||||
owsFail("Can't provision without account entropy pool.")
|
||||
}
|
||||
rootKey = .accountEntropyPool(accountEntropyPool)
|
||||
let mrbk = accountKeyStore.getOrGenerateMediaRootBackupKey(tx: tx)
|
||||
guard let profileKey = profileManager.localUserProfile(tx: tx)?.profileKey else {
|
||||
owsFail("Can't provision without a profile key.")
|
||||
@ -78,7 +80,7 @@ public class ProvisioningManager {
|
||||
aciIdentityKeyPair: aciIdentityKeyPair,
|
||||
pniIdentityKeyPair: pniIdentityKeyPair,
|
||||
areReadReceiptsEnabled: areReadReceiptsEnabled,
|
||||
aep: accountEntropyPool,
|
||||
rootKey: rootKey,
|
||||
mediaRootBackupKey: mrbk,
|
||||
profileKey: profileKey,
|
||||
)
|
||||
@ -103,7 +105,7 @@ public class ProvisioningManager {
|
||||
let provisioningCode = try await deviceProvisioningService.requestDeviceProvisioningCode()
|
||||
|
||||
let provisioningMessage = LinkingProvisioningMessage(
|
||||
aep: provisioningState.aep,
|
||||
rootKey: provisioningState.rootKey,
|
||||
aci: myAci,
|
||||
phoneNumber: myPhoneNumber,
|
||||
pni: myPni,
|
||||
|
||||
@ -1269,7 +1269,7 @@ public class RegistrationCoordinatorImpl: RegistrationCoordinator {
|
||||
// but these values aren't persisted to their final destination until the very end of
|
||||
// registration, so persiting the these values once at the start is the easiest way to
|
||||
// avoid problems.
|
||||
// Note: We should generate new registration ids if we are reregistering
|
||||
// Note: We should not reuse existing registration ids if we are reregistering
|
||||
updatePersistedState(tx) {
|
||||
if $0.aciRegistrationId == nil {
|
||||
$0.aciRegistrationId = RegistrationIdGenerator.generate()
|
||||
|
||||
@ -624,6 +624,17 @@ extension RegistrationNavigationController: RegistrationPinPresenter {
|
||||
func submitWithCreateNewPinInstead() {
|
||||
pushNextController(coordinator.skipAndCreateNewPINCode())
|
||||
}
|
||||
|
||||
func enterRecoveryKey() {
|
||||
pushNextController(
|
||||
.value(.enterRecoveryKey(
|
||||
RegistrationEnterAccountEntropyPoolState(
|
||||
canShowBackButton: true,
|
||||
canShowNoKeyHelpButton: false,
|
||||
),
|
||||
)),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
extension RegistrationNavigationController: RegistrationPinAttemptsExhaustedAndMustCreateNewPinPresenter {
|
||||
|
||||
@ -89,6 +89,8 @@ protocol RegistrationPinPresenter: AnyObject {
|
||||
func submitWithCreateNewPinInstead()
|
||||
|
||||
func exitRegistration()
|
||||
|
||||
func enterRecoveryKey()
|
||||
}
|
||||
|
||||
// MARK: - RegistrationPinViewController
|
||||
@ -452,6 +454,18 @@ class RegistrationPinViewController: OWSViewController {
|
||||
))
|
||||
}
|
||||
|
||||
actions.append(
|
||||
UIAction(
|
||||
title: OWSLocalizedString(
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY",
|
||||
comment: "If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN.",
|
||||
),
|
||||
handler: { [weak self] _ in
|
||||
self?.presenter?.enterRecoveryKey()
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
if let exitAction = exitAction() {
|
||||
actions.append(exitAction)
|
||||
}
|
||||
@ -668,6 +682,15 @@ class RegistrationPinViewController: OWSViewController {
|
||||
}
|
||||
}
|
||||
|
||||
actionSheet.addAction(.init(
|
||||
title: OWSLocalizedString(
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY",
|
||||
comment: "Label for action to use Recovery Key instead of PIN for registration.",
|
||||
),
|
||||
) { [weak self] _ in
|
||||
self?.presenter?.enterRecoveryKey()
|
||||
})
|
||||
|
||||
actionSheet.addAction(.init(title: CommonStrings.contactSupport) { [weak self] _ in
|
||||
guard let self else { return }
|
||||
ContactSupportActionSheet.present(
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>8.16</string>
|
||||
<string>8.15</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
||||
@ -64,25 +64,27 @@ class InternalBackupSettingsViewController: OWSTableViewController2 {
|
||||
let vc = InternalListMediaViewController()
|
||||
self?.navigationController?.pushViewController(vc, animated: true)
|
||||
})
|
||||
section.add(.switch(
|
||||
withText: "Regenerate backup thumbnails",
|
||||
subtitle: "Regenerate backup thumbnails on next offloading run",
|
||||
isOn: { db.read(block: backupSettingsStore.shouldGenerateThumbnailsOnNextOffloading(tx:)) },
|
||||
actionBlock: { _ in
|
||||
db.write { tx in
|
||||
let currentValue = backupSettingsStore.shouldGenerateThumbnailsOnNextOffloading(tx: tx)
|
||||
backupSettingsStore.setShouldGenerateThumbnailsOnNextOffloading(!currentValue, tx: tx)
|
||||
}
|
||||
},
|
||||
))
|
||||
section.add(.switch(
|
||||
withText: "Aggressive optimize media",
|
||||
subtitle: "Don't keep recent attachments when optimize media is enabled",
|
||||
isOn: { Attachment.offloadingThresholdOverride },
|
||||
actionBlock: { _ in
|
||||
Attachment.offloadingThresholdOverride = !Attachment.offloadingThresholdOverride
|
||||
},
|
||||
))
|
||||
if RemoteConfig.current.isOptimizeStorageEnabled {
|
||||
section.add(.switch(
|
||||
withText: "Regenerate backup thumbnails",
|
||||
subtitle: "Regenerate backup thumbnails on next offloading run",
|
||||
isOn: { db.read(block: backupSettingsStore.shouldGenerateThumbnailsOnNextOffloading(tx:)) },
|
||||
actionBlock: { _ in
|
||||
db.write { tx in
|
||||
let currentValue = backupSettingsStore.shouldGenerateThumbnailsOnNextOffloading(tx: tx)
|
||||
backupSettingsStore.setShouldGenerateThumbnailsOnNextOffloading(!currentValue, tx: tx)
|
||||
}
|
||||
},
|
||||
))
|
||||
section.add(.switch(
|
||||
withText: "Aggressive optimize media",
|
||||
subtitle: "Don't keep recent attachments when optimize media is enabled",
|
||||
isOn: { Attachment.offloadingThresholdOverride },
|
||||
actionBlock: { _ in
|
||||
Attachment.offloadingThresholdOverride = !Attachment.offloadingThresholdOverride
|
||||
},
|
||||
))
|
||||
}
|
||||
|
||||
contents.add(section)
|
||||
|
||||
|
||||
@ -25,9 +25,6 @@ class PaymentsViewPassphraseGridViewController: OWSViewController {
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
let screenLockUI = AppEnvironment.shared.screenLockUI
|
||||
screenLockUI.sensitiveContentDidLoad(inViewController: self)
|
||||
|
||||
title = OWSLocalizedString(
|
||||
"SETTINGS_PAYMENTS_VIEW_PASSPHRASE_TITLE",
|
||||
comment: "Title for the 'view payments passphrase' view of the app settings.",
|
||||
|
||||
@ -45,62 +45,6 @@ class DebugUIMisc: DebugUIPage {
|
||||
}
|
||||
}),
|
||||
]
|
||||
|
||||
if let groupThread = thread as? TSGroupThread {
|
||||
items += [
|
||||
OWSTableItem(title: "Insert 50 group update messages", actionBlock: {
|
||||
let updateItems: [TSInfoMessage.PersistableGroupUpdateItem] = [
|
||||
.genericUpdateByLocalUser,
|
||||
.genericUpdateByUnknownUser,
|
||||
.nameRemovedByLocalUser,
|
||||
.nameRemovedByUnknownUser,
|
||||
.avatarChangedByLocalUser,
|
||||
.avatarChangedByUnknownUser,
|
||||
.avatarRemovedByLocalUser,
|
||||
.avatarRemovedByUnknownUser,
|
||||
.localUserLeft,
|
||||
.localUserRemovedByUnknownUser,
|
||||
.localUserWasInvitedByLocalUser,
|
||||
.localUserWasInvitedByUnknownUser,
|
||||
.localUserAcceptedInviteFromUnknownUser,
|
||||
.localUserJoined,
|
||||
.localUserAddedByLocalUser,
|
||||
.localUserAddedByUnknownUser,
|
||||
.localUserDeclinedInviteFromUnknownUser,
|
||||
.localUserInviteRevokedByUnknownUser,
|
||||
.localUserRequestedToJoin,
|
||||
.localUserRequestApprovedByUnknownUser,
|
||||
.localUserRequestCanceledByLocalUser,
|
||||
.localUserRequestRejectedByUnknownUser,
|
||||
.inviteLinkResetByLocalUser,
|
||||
.inviteLinkResetByUnknownUser,
|
||||
.inviteLinkEnabledWithoutApprovalByLocalUser,
|
||||
.inviteLinkEnabledWithApprovalByLocalUser,
|
||||
.inviteLinkDisabledByLocalUser,
|
||||
.inviteLinkApprovalDisabledByLocalUser,
|
||||
.inviteLinkApprovalEnabledByLocalUser,
|
||||
.localUserJoinedViaInviteLink,
|
||||
.wasMigrated,
|
||||
.localUserInvitedAfterMigration,
|
||||
.createdByLocalUser,
|
||||
.createdByUnknownUser,
|
||||
.inviteFriendsToNewlyCreatedGroup,
|
||||
].shuffled()
|
||||
SSKEnvironment.shared.databaseStorageRef.write { tx in
|
||||
for i in 0..<50 {
|
||||
let item = updateItems[i % updateItems.count]
|
||||
let infoMessage = TSInfoMessage(
|
||||
thread: groupThread,
|
||||
messageType: .typeGroupUpdate,
|
||||
infoMessageUserInfo: [.groupUpdateItems: TSInfoMessage.PersistableGroupUpdateItemsWrapper([item])],
|
||||
)
|
||||
infoMessage.anyInsert(transaction: tx)
|
||||
}
|
||||
}
|
||||
}),
|
||||
]
|
||||
}
|
||||
|
||||
return OWSTableSection(title: name, items: items)
|
||||
}
|
||||
|
||||
|
||||
@ -912,7 +912,6 @@ public class ChatListViewController: OWSViewController, HomeTabViewController {
|
||||
}
|
||||
|
||||
// In Production this will pop up at most 3 times per 365 days.
|
||||
Logger.info("requesting review")
|
||||
SKStoreReviewController.requestReview(in: windowScene)
|
||||
Self.didRequestReview = true
|
||||
}
|
||||
|
||||
@ -52,30 +52,17 @@ class AudioCell: MediaTileListModeCell {
|
||||
return cellHeight
|
||||
}
|
||||
|
||||
let audioAttachment: AudioAttachment?
|
||||
if let stream = audioItem.referencedAttachment.asReferencedStream {
|
||||
audioAttachment = AudioAttachment(
|
||||
guard
|
||||
let stream = audioItem.referencedAttachment.asReferencedStream,
|
||||
let audioAttachment = AudioAttachment(
|
||||
attachmentStream: stream,
|
||||
owningMessage: audioItem.message,
|
||||
metadata: audioItem.metadata,
|
||||
receivedAtDate: audioItem.receivedAtDate,
|
||||
)
|
||||
} else if let pointer = audioItem.referencedAttachment.asReferencedAnyPointer {
|
||||
audioAttachment = AudioAttachment(
|
||||
attachmentPointer: pointer,
|
||||
owningMessage: audioItem.message,
|
||||
metadata: audioItem.metadata,
|
||||
receivedAtDate: audioItem.receivedAtDate,
|
||||
downloadState: .none, // For cell height, this state shouldn't matter.
|
||||
)
|
||||
} else {
|
||||
audioAttachment = nil
|
||||
}
|
||||
|
||||
guard let audioAttachment else {
|
||||
else {
|
||||
return defaultCellHeight
|
||||
}
|
||||
|
||||
let presenter = AudioAllMediaPresenter(
|
||||
sender: "",
|
||||
audioAttachment: audioAttachment,
|
||||
|
||||
@ -117,7 +117,13 @@ public class ProvisioningManagerTests {
|
||||
|
||||
// Validate that all the data in the decrypted envelope on the new device side matches the
|
||||
// values populated by the old device
|
||||
#expect(provisionMessage.aep == accountEntropyPool)
|
||||
switch provisionMessage.rootKey {
|
||||
case .accountEntropyPool(let aep):
|
||||
#expect(aep == accountEntropyPool)
|
||||
case .masterKey:
|
||||
Issue.record("Expected AEP, but found MasterKey")
|
||||
}
|
||||
|
||||
#expect(provisionMessage.aci == myAci)
|
||||
#expect(provisionMessage.phoneNumber == myPhoneNumber.stringValue)
|
||||
#expect(provisionMessage.pni == myPni)
|
||||
|
||||
@ -103,7 +103,7 @@ public class ProvisioningCoordinatorTest: XCTestCase {
|
||||
public func testProvisioning() async throws {
|
||||
let aep = AccountEntropyPool()
|
||||
let provisioningMessage = LinkingProvisioningMessage(
|
||||
aep: aep,
|
||||
rootKey: .accountEntropyPool(aep),
|
||||
aci: .randomForTesting(),
|
||||
phoneNumber: "+17875550100",
|
||||
pni: .randomForTesting(),
|
||||
@ -180,7 +180,12 @@ public class ProvisioningCoordinatorTest: XCTestCase {
|
||||
identityManagerMock.identityKeyPairs[.pni]?.publicKey,
|
||||
provisioningMessage.pniIdentityKeyPair.asECKeyPair.publicKey,
|
||||
)
|
||||
let masterKey = provisioningMessage.aep.getMasterKey()
|
||||
let masterKey = switch provisioningMessage.rootKey {
|
||||
case .accountEntropyPool(let accountEntropyPool):
|
||||
accountEntropyPool.getMasterKey()
|
||||
case .masterKey(let masterKey):
|
||||
masterKey
|
||||
}
|
||||
XCTAssertEqual(svrMock.syncedMasterKey?.rawData, masterKey.rawData)
|
||||
}
|
||||
|
||||
|
||||
@ -3364,9 +3364,9 @@ public class RegistrationCoordinatorTest {
|
||||
// Put some auth credentials in storage.
|
||||
let svr2CredentialCandidates: [SVR2AuthCredential] = [
|
||||
Stubs.svr2AuthCredential,
|
||||
SVR2AuthCredential(credential: RemoteAttestationAuth(username: "aaaa", password: "abc")),
|
||||
SVR2AuthCredential(credential: RemoteAttestationAuth(username: "zzzz", password: "xyz")),
|
||||
SVR2AuthCredential(credential: RemoteAttestationAuth(username: "0000", password: "123")),
|
||||
SVR2AuthCredential(credential: RemoteAttestation.Auth(username: "aaaa", password: "abc")),
|
||||
SVR2AuthCredential(credential: RemoteAttestation.Auth(username: "zzzz", password: "xyz")),
|
||||
SVR2AuthCredential(credential: RemoteAttestation.Auth(username: "0000", password: "123")),
|
||||
]
|
||||
svrAuthCredentialStore.svr2Dict = Dictionary(grouping: svr2CredentialCandidates, by: \.credential.username).mapValues { $0.first! }
|
||||
|
||||
@ -3398,7 +3398,7 @@ public class RegistrationCoordinatorTest {
|
||||
static let aci = Aci.randomForTesting()
|
||||
static let pinCode = "1234"
|
||||
|
||||
static let svr2AuthCredential = SVR2AuthCredential(credential: RemoteAttestationAuth(username: "xxx", password: "yyy"))
|
||||
static let svr2AuthCredential = SVR2AuthCredential(credential: RemoteAttestation.Auth(username: "xxx", password: "yyy"))
|
||||
|
||||
static let captchaToken = "captchaToken"
|
||||
static let apnsToken = "apnsToken"
|
||||
|
||||
@ -59,87 +59,11 @@ class MessageLoaderTest: XCTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
private func createInfoMessage(
|
||||
rowId: Int64,
|
||||
thread: TSThread,
|
||||
messageType: TSInfoMessageType,
|
||||
) -> TSInteraction {
|
||||
return TSInfoMessage(
|
||||
grdbId: rowId,
|
||||
uniqueId: UUID().uuidString,
|
||||
receivedAtTimestamp: UInt64(rowId),
|
||||
sortId: UInt64(rowId),
|
||||
timestamp: UInt64(rowId),
|
||||
uniqueThreadId: thread.uniqueId,
|
||||
body: nil,
|
||||
bodyRanges: nil,
|
||||
contactShare: nil,
|
||||
deprecated_attachmentIds: nil,
|
||||
editState: .none,
|
||||
expireStartedAt: 0,
|
||||
expireTimerVersion: nil,
|
||||
expiresAt: 0,
|
||||
expiresInSeconds: 0,
|
||||
giftBadge: nil,
|
||||
isGroupStoryReply: false,
|
||||
isPoll: false,
|
||||
isSmsMessageRestoredFromBackup: false,
|
||||
isViewOnceComplete: false,
|
||||
isViewOnceMessage: false,
|
||||
linkPreview: nil,
|
||||
messageSticker: nil,
|
||||
quotedMessage: nil,
|
||||
storedShouldStartExpireTimer: false,
|
||||
storyAuthorUuidString: nil,
|
||||
storyReactionEmoji: nil,
|
||||
storyTimestamp: nil,
|
||||
wasRemotelyDeleted: false,
|
||||
customMessage: nil,
|
||||
infoMessageUserInfo: nil,
|
||||
messageType: messageType,
|
||||
read: true,
|
||||
serverGuid: nil,
|
||||
unregisteredAddress: nil,
|
||||
)
|
||||
}
|
||||
|
||||
private func createInteraction(rowId: Int64, thread: TSThread) -> TSInteraction {
|
||||
return createInfoMessage(rowId: rowId, thread: thread, messageType: .userJoinedSignal)
|
||||
}
|
||||
|
||||
private func createCollapsibleInteraction(rowId: Int64, thread: TSThread) -> TSInteraction {
|
||||
return createInfoMessage(rowId: rowId, thread: thread, messageType: .typeDisappearingMessagesUpdate)
|
||||
}
|
||||
|
||||
private func createCollapsibleInteractions(_ count: Int64, thread: TSThread) -> [TSInteraction] {
|
||||
return ((1 as Int64)...count).map { rowId in
|
||||
createCollapsibleInteraction(rowId: rowId, thread: thread)
|
||||
}
|
||||
}
|
||||
|
||||
private func createMixedInteractions(_ chunkCount: Int64, thread: TSThread) -> [TSInteraction] {
|
||||
return ((0 as Int64)..<chunkCount).flatMap { chunkIndex -> [TSInteraction] in
|
||||
let rowId = chunkIndex * 3 + 1
|
||||
return [
|
||||
createCollapsibleInteraction(rowId: rowId, thread: thread),
|
||||
createCollapsibleInteraction(rowId: rowId + 1, thread: thread),
|
||||
createInteraction(rowId: rowId + 2, thread: thread),
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
private func setInteractions(_ interactions: [TSInteraction]) {
|
||||
batchFetcher.interactions = interactions
|
||||
interactionFetcher.interactions = interactions
|
||||
}
|
||||
|
||||
private func preprocessingContext(thread: TSThread) -> MessageLoaderPreprocessingContext {
|
||||
return MessageLoaderPreprocessingContext(
|
||||
thread: thread,
|
||||
oldestUnreadSortId: nil,
|
||||
)
|
||||
}
|
||||
|
||||
func test_loadInitialMessagePage_empty() throws {
|
||||
try mockDB.read { tx in
|
||||
try self.messageLoader.loadInitialMessagePage(
|
||||
@ -167,107 +91,6 @@ class MessageLoaderTest: XCTestCase {
|
||||
XCTAssertEqual(initialMessages.map { $0.uniqueId }, messageLoader.loadedInteractions.map { $0.uniqueId })
|
||||
}
|
||||
|
||||
func test_loadInitialMessagePage_countsCollapsedInteractionsAsTopLevel() throws {
|
||||
let thread = TSContactThread(contactUUID: UUID().uuidString, contactPhoneNumber: nil)
|
||||
let initialMessages = createCollapsibleInteractions(2_000, thread: thread)
|
||||
setInteractions(initialMessages)
|
||||
|
||||
try mockDB.read { tx in
|
||||
try self.messageLoader.loadInitialMessagePage(
|
||||
focusMessageId: nil,
|
||||
reusableInteractions: [:],
|
||||
deletedInteractionIds: [],
|
||||
preprocessingContext: MessageLoaderPreprocessingContext(
|
||||
thread: thread,
|
||||
oldestUnreadSortId: nil,
|
||||
),
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
|
||||
let newestInteraction = try XCTUnwrap(initialMessages.last)
|
||||
XCTAssertEqual(messageLoader.loadedInteractions.last?.uniqueId, newestInteraction.uniqueId)
|
||||
let newestCollapseSet = try XCTUnwrap(messageLoader.loadedDisplayableInteractions.last as? CollapseSetInteraction)
|
||||
XCTAssertEqual(newestCollapseSet.collapsedInteractions.last?.uniqueId, newestInteraction.uniqueId)
|
||||
XCTAssertGreaterThan(messageLoader.loadedInteractions.count, 500)
|
||||
XCTAssertLessThanOrEqual(messageLoader.loadedDisplayableInteractions.count, 500)
|
||||
XCTAssertTrue(messageLoader.loadedDisplayableInteractions.contains { $0 is CollapseSetInteraction })
|
||||
}
|
||||
|
||||
func test_loadOlderMessagePage_withMixedCollapseSets_trimsNewerSide() throws {
|
||||
let thread = TSContactThread(contactUUID: UUID().uuidString, contactPhoneNumber: nil)
|
||||
let initialMessages = createMixedInteractions(900, thread: thread)
|
||||
setInteractions(initialMessages)
|
||||
|
||||
try mockDB.read { tx in
|
||||
try self.messageLoader.loadInitialMessagePage(
|
||||
focusMessageId: nil,
|
||||
reusableInteractions: [:],
|
||||
deletedInteractionIds: [],
|
||||
preprocessingContext: preprocessingContext(thread: thread),
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
|
||||
let newestInteraction = try XCTUnwrap(initialMessages.last)
|
||||
XCTAssertEqual(messageLoader.loadedInteractions.last?.uniqueId, newestInteraction.uniqueId)
|
||||
|
||||
try mockDB.read { tx in
|
||||
var loadCount = 0
|
||||
while self.messageLoader.canLoadOlder, loadCount < 100 {
|
||||
try self.messageLoader.loadOlderMessagePage(
|
||||
reusableInteractions: [:],
|
||||
deletedInteractionIds: [],
|
||||
preprocessingContext: preprocessingContext(thread: thread),
|
||||
tx: tx,
|
||||
)
|
||||
loadCount += 1
|
||||
}
|
||||
}
|
||||
|
||||
XCTAssertLessThanOrEqual(messageLoader.loadedDisplayableInteractions.count, 500)
|
||||
XCTAssertTrue(messageLoader.loadedDisplayableInteractions.contains { $0 is CollapseSetInteraction })
|
||||
XCTAssertFalse(messageLoader.loadedInteractions.contains { $0.uniqueId == newestInteraction.uniqueId })
|
||||
}
|
||||
|
||||
func test_loadNewerMessagePage_withMixedCollapseSets_trimsOlderSide() throws {
|
||||
let thread = TSContactThread(contactUUID: UUID().uuidString, contactPhoneNumber: nil)
|
||||
let initialMessages = createMixedInteractions(900, thread: thread)
|
||||
setInteractions(initialMessages)
|
||||
|
||||
let focusInteraction = initialMessages[100]
|
||||
try mockDB.read { tx in
|
||||
try self.messageLoader.loadInitialMessagePage(
|
||||
focusMessageId: focusInteraction.uniqueId,
|
||||
reusableInteractions: [:],
|
||||
deletedInteractionIds: [],
|
||||
preprocessingContext: preprocessingContext(thread: thread),
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
|
||||
XCTAssertTrue(messageLoader.loadedInteractions.contains { $0.uniqueId == focusInteraction.uniqueId })
|
||||
|
||||
try mockDB.read { tx in
|
||||
var loadCount = 0
|
||||
while self.messageLoader.canLoadNewer, loadCount < 100 {
|
||||
try self.messageLoader.loadNewerMessagePage(
|
||||
reusableInteractions: [:],
|
||||
deletedInteractionIds: [],
|
||||
preprocessingContext: preprocessingContext(thread: thread),
|
||||
tx: tx,
|
||||
)
|
||||
loadCount += 1
|
||||
}
|
||||
}
|
||||
|
||||
let newestInteraction = try XCTUnwrap(initialMessages.last)
|
||||
XCTAssertLessThanOrEqual(messageLoader.loadedDisplayableInteractions.count, 500)
|
||||
XCTAssertTrue(messageLoader.loadedDisplayableInteractions.contains { $0 is CollapseSetInteraction })
|
||||
XCTAssertEqual(messageLoader.loadedInteractions.last?.uniqueId, newestInteraction.uniqueId)
|
||||
XCTAssertFalse(messageLoader.loadedInteractions.contains { $0.uniqueId == focusInteraction.uniqueId })
|
||||
}
|
||||
|
||||
func test_reloadInteractions_deletes() throws {
|
||||
let initialMessages = createInteractions(5)
|
||||
setInteractions(initialMessages)
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "مفتاح الاستعادة صحيح. حافِظ على مفتاحك في مكانٍ آمن.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "مغادرة تثبيت النسخة الاحتياطية";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "نسخ إلى الحافظة";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "تمَّ";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "إنشاء مفتاح جديد";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "تمَّ إيقاف النُسخ الاحتياطية، وتمَّ حذف بياناتك من خدمة التخزين الآمنة الخاصة بسيجنال.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "تمَّ إيقاف النُسخ الاحتياطية، ويتم الآن تنزيل أي ملفات وسائط لا توجد على جهازك. وحالما يتمُّ تنزيلها، سيتمُّ حذف بياناتك بعد ذلك من خدمة التخزين الآمنة لسيجنال.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "حدث خطأ ما. يُرجى التواصل مع فريق الدعم.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "هل ترغبُ بتنزيل الوسائط المُفرَّغة؟";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "سيتمُّ تفريغ ملفات الوسائط القديمة عند قيامك بإجراء النسخ الاحتياطي القادم، لكن يُمكن تنزيلها من النسخة الاحتياطية الخاصة بك في أيّ وقت.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "لا يمكن استخدام ميزة تحسين التخزين إلّا مع المُستوى المدفوع لنسخ سيجنال الاحتياطية. يُرجى ترقية خطة النسخ الاحتياطية لديك لتفعيل هذه الميزة.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "تحسين مساحة التخزين على سيجنال";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "بلغتَ الحد الأقصى لمساحة تخزين النسخ الاحتياطي الخاص بك. حرِّر مساحة في تطبيق سيجنال لمتابعة نسخ الدردشات والوسائط احتياطيًا.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "إعادة تفعيل النسخ الاحتياطية";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "لديك وسائط في نسختك الاحتياطية غير موجودة على هذا الجهاز. ستُحذَف ملفات الوسائط غير المُنزَّلة نهائيًا بمُجرَّد إيقاف النسخ الاحتياطية.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "هل ترغبُ بتخطي التنزيل؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "لديك وسائط في نسختك الاحتياطية غير موجودة على هذا الجهاز. ستُحذَف الوسائط غير المُنزَّلة نهائيًا في حال عدم توفر اشتراك مدفوع.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "هل ترغبُ بتخطي التنزيل؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "تخطي التنزيل";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "هل أنت متأكِّد مِن أنك تريد تخطي تنزيل ملفات الوسائط الخاصة بك؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "هل ترغبُ بتخطي التنزيل؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "تخطي التنزيل";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "جارٍ التحميل…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "إنشاء نسخة احتياطية الآن";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "قد يستغرق هذا بعض الوقت. يمكنك استخدام سيجنال بشكل عادي أثناء إجراء عملية النسخ الاحتياطي.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "سيتمُّ تفريغ ملفات الوسائط القديمة عند قيامك بإجراء النسخ الاحتياطي القادم، لكن يُمكن تنزيلها من النسخة الاحتياطية الخاصة بك في أيّ وقت.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "تحسين مساحة التخزين على سيجنال";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "أنت جاهز الآن. ابدأ النسخ الاحتياطي لديك الآن.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "لديك ملفات وسائط في نسختك الاحتياطية غير موجودة على هذا الجهاز. ستُحذَف الوسائط غير المُنزَّلة نهائيًا في حال عدم توفر اشتراك مدفوع.\n\nيُمكنك دفع ثمن النسخ الاحتياطية مرّة أخرى في أي وقت لمواصلة النسخ الاحتياطي لجميع ملفات وسائطك.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "نزِّل وسائطك الاحتياطية";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "نزِّل النسخة الاحتياطية الآن";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "نزِّل وسائطك الاحتياطية اليوم";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "لا تنزِّل النسخة الاحتياطية";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "تأكَّد من أن طريقة الدفع الخاصة بك مُحدَّثة. انقر على \"إدارة الاشتراك\" > سيجنال > تحديث طريقة الدفع.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "هل ترغبُ بحذف الدردشة؟";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "كتم الدردشة لمدة…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "تجاهُل وإنشاء رقم تعريف شخصي (PIN) جديد";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "استخدِم مفتاح الاستعادة";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "إذا كُنتَ لا تستطيع تذكُّر رقم التعريف الشخصي (PIN) الخاص بك، يُمكنك إنشاء واحد جديد. يُمكنك التسجيل واستخدام حسابك، لكن سوف تفقد بعض الإعدادات المحفوظة، مثل معلومات حسابك الشخصي.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "يُبقي رقم التعريف الشخصي (PIN) المعلومات المحفوظة مع سيجنال مُشفَّرة، بحيث تستطيع أنت فقط الوصول إليها. سيتمُّ استعادة حسابك الشخصي، والإعدادات وجهات الاتصال عندما تُعيد التثبيت. لست بحاجة إلى رقم التعريف الشخصي (PIN) لفتح التطبيق.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "حدث خطأ ما أثناء إنشاء رقم التعريف الشخصي الخاص بك. يُرجى التواصل مع فريق الدعم.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "المزيد عن رقم التعريف الشخصي (PIN)";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "رقم التعريف الشخصي (PIN) غير مُطابِق. حاوِل مرّة أُخرى.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "حدث خطأ ما أثناء إنشاء رقم التعريف الشخصي (PIN). تحقَّق من اتصالك بالشبكة ثم حاوِل مرّة أخرى.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "رقم التعريف الشخصي (PIN) يجب أن يحوي أربعة ارقام على الأقل.";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "تَخَطَّ رقم التعريف الشخصي (PIN)";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "استخدِم مفتاح الاستعادة";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "لمُساعدتك في حفظ رقم التعريف الشخصي (PIN) الخاص بك، سوف نسألك لإدخاله من حينٍ لآخر. سنسألك عنه بشكلٍ أقل مع مرور الوقت.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "وفِّر مساحة %1$@ على هذا الجهاز";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "لديك وسائط في نسختك الاحتياطية غير موجودة على هذا الجهاز. ستُحذَف ملفات الوسائط غير المُنزَّلة نهائيًا في حال عدم توفر اشتراك مدفوع.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "إذا تخطّيت الاستعادة، يمكن تنزيل الوسائط والملفات المُرفَقة المتبقية في نسختك الاحتياطية في وقتٍ لاحق عند توفُّر مساحة التخزين.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "نصائح السلامة";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "إذا استلمتَ كود تحقُّق لم تطلبه، فقد يكون شخص ما يحاول الوصول إلى حسابك. لا تشارِك الكود الخاص بك.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "أبقِ كود التحقُّق آمنًا";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Код для аднаўлення правільны. Захоўвайце свой код у бяспецы.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Выйсці з налады рэзервовага капіравання";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Скапіраваць у буфер абмену";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Зразумела";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Стварыць новы код";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Рэзервовыя копіі былі адключаны, і вашы даныя былі выдалены сэрвісам бяспечнага захоўвання Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Рэзервовыя копіі былі адключаны, і зараз пампуюцца ўсе медыяфайлы, якіх няма на гэтай прыладзе. Калi вашы даныя будуць запампаваны на прыладу, яны будуць выдалены з сэрвісу бяспечнага захоўвання Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Адбылася памылка. Калі ласка, звярніцеся да службы падтрымкі.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Спампаваць выгружаныя медыяфайлы?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Старэйшыя медыяфайлы будуць выгружаны, калі вы будзеце рабіць чарговае рэзервовае капіраванне, але іх можна ў любы час спампаваць з рэзервовай копіі.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Аптымізацыю сховішча можна зрабіць толькі на платнай аснове рэзервовага капіравання Signal. Каб выкарыстоўваць гэту функцыю, абнавіце свой план рэзервовага капіравання.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Зрабіць аптымізацыю сховішча Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Для вас дасягнуты ліміт захоўвання рэзервовых копій. Вызваліце месца ў Signal, каб па-ранейшаму рабіць рэзервовае капіраванне чатаў і медыяфайлаў.";
|
||||
@ -1016,28 +1016,28 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Уключыць нанова рэзервовыя копіі";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Вы можаце спампаваць медыяфайлы з вашай рэзервовай копіі, якіх няма на гэтай прыладзе. Неспампаваныя медыяфайлы будуць назаўсёды выдалены, як толькі адключылася рэзервовае капіраванне.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Прапусціць спампаванне?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Вы можаце спампаваць медыяфайлы з вашай рэзервовай копіі, якіх няма на гэтай прыладзе. Неспампаваныя медыяфайлы будуць назаўсёды выдалены, калi няма платнай падпіскі.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Прапусціць спампаванне?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Прапусціць спампаванне";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Вы ўпэўнены, што жадаеце прапусціць пампаванне сваіх медыяфайлаў?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Прапусціць спампаванне?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Прапусціць спампаванне";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Прапусціць пампаванне";
|
||||
|
||||
/* Title for detail button in notice that the user's Backups subscription couldn't be redeemed. */
|
||||
"BACKUP_SETTINGS_SUBSCRIPTION_ALREADY_REDEEMED_NOTICE_DETAIL_BUTTON" = "Звесткі";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Запампоўка…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Пачаць рэзервовае капіраванне";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Гэта можа заняць пэўны час. Падчас рэзервовага капіравання вы можаце карыстацца Signal як звычайна.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Старэйшыя медыяфайлы будуць выгружаны, калі вы будзеце рабіць чарговае рэзервовае капіраванне, але іх можна ў любы час спампаваць з рэзервовай копіі.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Зрабіць аптымізацыю сховішча Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Усё гатова. Пачынайце рэзервовае капіраванне.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Вы можаце спампаваць медыяфайлы з вашай рэзервовай копіі, якіх няма на гэтай прыладзе. Неспампаваныя медыяфайлы будуць назаўсёды выдалены, калi няма платнай падпіскі.\n\nВы зноў можаце ў любы час рабіць плацяжы за рэзервовыя копіі, каб працягнуць рэзервовае капіраванне ўсіх вашых медыяфайлаў.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Спампуйце свае рэзервовыя медыяфайлы";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Спампаваць рэзервовую копію зараз";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Спампуйце свае рэзервовыя медыяфайлы сёння";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Не пампаваць рэзервовую копію";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Праверце, ці правільны ваш спосаб аплаты. Націсніце «Кіраваць падпіскай» > «Signal» > «Абнавіць спосаб аплаты».";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Выдаліць чат?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Адключыць апавяшчэнні ў чаце на…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Прапусціць і стварыць новы PIN-код";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Выкарыстаць код для аднаўлення";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Калі вы не памятаеце свой PIN-код, вы можаце стварыць новы. Вы зможаце зарэгістравацца і выкарыстоўваць свой уліковы запіс, але вы страціце некаторыя захаваныя налады, такія як ваша інфармацыя профілю.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN-коды трымаюць інфармацыю, што захоўваецца ў Signal, зашыфраванай, таму толькі вы можаце атрымаць да яе доступ. Ваш профіль, налады і кантакты будуць адноўлены, калі вы зробіце паўторнае ўсталяванне. Вам не спатрэбіцца PIN-код, каб адкрыць праграму.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Штосьці не так падчас стварэння PIN-кода. Калі ласка, звярніцеся да службы падтрымкі.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Дадаткова пра PIN-коды";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-коды не супадаюць. Паўтарыце спробу.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Штосьці не так падчас стварэння PIN-кода. Праверце падключэнне і паўтарыце спробу.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN-код мусіць быць не менш за 4 лічбы";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Прапусціць PIN-код";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Выкарыстаць код для аднаўлення";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Каб дапамагчы вам запомніць свой PIN-код, мы будзем прасіць вас перыядычна ўводзіць яго. З часам мы будзем нагадваць гэта радзей.";
|
||||
|
||||
@ -7904,7 +7892,7 @@
|
||||
"RESTORING_MEDIA_BANNER_WAITING_FOR_WIFI_TITLE" = "Чакаем Wi-Fi";
|
||||
|
||||
/* Button to skip restoring media, shown on a bottom sheet for restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_SKIP_BUTTON" = "Прапусціць спампаванне";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_SKIP_BUTTON" = "Прапусціць пампаванне";
|
||||
|
||||
/* Subtitle shown on a bottom sheet for restoring media from a backup when paused because the device has insufficient disk space. Embeds {{ %@ formatted number of bytes downloaded, e.g. '100 MB' }} */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_SUBTITLE_FORMAT" = "Каб завяршыць пампаванне медыяфайлаў, вашай прыладзе патрабуецца %1$@ памяці.\n\nКаб вызваліць месца са сховішча, перайдзіце ў Налады > Агульныя > Сховішча iPhone. Вы можаце выгрузіць або выдаліць праграмы і змесціва, што вы не выкарыстоўваеце.";
|
||||
@ -7913,13 +7901,13 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Вызваліце %1$@ на гэтай прыладзе";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Вы можаце спампаваць медыяфайлы з вашай рэзервовай копіі, якіх няма на гэтай прыладзе. Неспампаваныя медыяфайлы будуць назаўсёды выдалены, калi няма платнай падпіскі.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Калі вы прапусціце спампаванне, медыяфайлы і далучэнні з вашай рэзервовай копіі можна будзе спампаваць пазней, калі будзе больш месца для захоўвання.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Калі вы прапусціце пампаванне, медыяфайлы і далучэнні з вашай рэзервовай копіі можна будзе спампаваць пазней, калі будзе больш месца для захоўвання.";
|
||||
|
||||
/* Button shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_SKIP_BUTTON" = "Прапусціць спампаванне";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_SKIP_BUTTON" = "Прапусціць пампаванне";
|
||||
|
||||
/* Title shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_TITLE" = "Прапусціць спампаванне?";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Парады па бяспецы";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Калі вы атрымалі праверачны код, які не запытвалі, магчыма, гэта спроба незнаёмых атрымаць доступ да вашага ўліковага запісу. Нікому не паведамляйце свой код.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Захоўвайце свой праверачны код у бяспецы";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Правилен ключ за възстановяване. Пазете ключа си на сигурно място.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Излизане от настройката на резервно копие";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Копиране в клипборда";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Ясно";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Създайте нов ключ";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Резервните копия са изключени и данните ви са изтрити от услугата за сигурно съхранение на Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Резервните копия са изключени и всички мултимедийни данни, които не са на това устройство, се изтеглят сега. След като бъдат изтеглени, вашите данни ще бъдат изтрити от услугата за сигурно съхранение на Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Възникна грешка. Моля, свържете се с поддръжката.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Изтегляне на разтоварените мултимедийни файлове?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "По-старите мултимедийни файлове ще бъдат разтоварени при следващото ви архивиране, но те могат да бъдат изтеглени от резервното ви копие по всяко време.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Оптимизацията на съхранението може да се използва само с платената версия на Резервни копия на Signal. Надградете плана си за резервни копия сега, за да започнете да използвате тази функция.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Оптимизация на хранилището на Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Достигнали сте лимита за съхранение на резервни копия. Освободете място в Signal, за да продължите да архивирате чатове и мултимедийни файлове.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Повторно активиране на резервното копиране";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "В резервното си копие имате мултимедийни файлове, които не са на това устройство. Мултимедийните файлове, които не са изтеглени, ще бъдат изтрити перманентно, след като резервните копия бъдат деактивирани.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Пропускане на изтеглянето?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "В резервното си копие имате мултимедийни файлове, които не са на това устройство. Мултимедийните файлове, които не са изтеглени, ще бъдат изтрити перманентно, ако нямате платен абонамент.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Пропускане на изтеглянето?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Пропускане на изтеглянето";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Сигурни ли сте, че искате да пропуснете изтеглянето на вашите мултимедийни файлове?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Пропускане на изтеглянето?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Пропускане на изтеглянето";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Качване…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Направете резервно копие сега";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Това може да отнеме известно време. Можете да използвате Signal както обикновено, докато се извършва архивирането.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "По-старите мултимедийни файлове ще бъдат разтоварени при следващото ви архивиране, но те могат да бъдат изтеглени от резервното ви копие по всяко време.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Оптимизация на хранилището на Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Всичко е готово. Започнете с архивирането сега.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "В резервното си копие имате мултимедийни файлове, които не са на това устройство. Мултимедийните файлове, които не са изтеглени, ще бъдат изтрити перманентно, ако нямате платен абонамент.\n\nМожете да започнете отново да плащате за резервни копия по всяко време, за да продължи архивирането на мултимедийните ви файлове.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Изтеглете своите архивирани мултимедийни файлове";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Изтегляне на резервното копие сега";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Изтеглете своите архивирани мултимедийни файлове днес";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Не изтегляйте резервното копие";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Уверете се, че вашият платежен метод е актуален. Докоснете „Управление на абонамента > Signal > Актуализиране на платежен метод“.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Изтриване на чата?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Заглушаване на този чат за…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Пропускане и създаване на нов ПИН";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Използване на ключ за възстановяване";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Ако не можете да си спомните своя ПИН, можете да си създадете нов. Можете да се регистрирате и да използвате акаунта си, но ще изгубите някои запазени настройки като например информацията за профила ви.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "ПИН кодовете поддържат информацията, съхранявана със Signal, криптирана, така че само вие да имате достъп до нея. Вашите профил, настройки и контакти ще се възстановят, когато преинсталирате. Няма да ви е необходим вашия ПИН, за да отворите приложението.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Нещо се обърка при създаването на вашия ПИН. Моля, свържете се с поддръжката.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Научете повече за ПИН кодовете";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "ПИН кодовете не съвпадат. Опитайте отново.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Нещо се обърка при създаването на вашия ПИН. Проверете връзката си и опитайте отново.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "ПИН кодът трябва да съдържа поне 4 цифри";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Пропускане на ПИН";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Използване на ключ за възстановяване";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "За да ви помогнем да запомните своя ПИН, периодично ще ви молим да го въвеждате. С времето ще ви питаме по-малко.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Освободете %1$@ на това устройство";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "В резервното си копие имате мултимедийни файлове, които не са на това устройство. Мултимедийните файлове, които не са изтеглени, ще бъдат изтрити перманентно, ако нямате платен абонамент.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Ако пропуснете изтеглянето, останалите мултимедийни и прикачени файлове в резервното ви копие могат бъдат изтеглени по-късно, когато има налично пространство за съхранение.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Съвети за безопасност";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Ако сте получили код за потвърждение, който не сте заявили, някой може да се опитва да осъществи достъп до вашия акаунт. Не споделяйте вашия код.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Пазете вашия код за потвърждение";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "পুনরুদ্ধার 'কি' সঠিক। আপনার 'কি' নিরাপদ রাখুন।";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "ব্যাকআপের সেটআপ থেকে বেরিয়ে আসুন";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "ক্লিপবোর্ডে কপি করুন";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "বুঝতে পেরেছি";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "নতুন 'কি' তৈরি করুন";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "ব্যাকআপ বন্ধ করা হয়েছে এবং আপনার ডেটা Signal-এর সুরক্ষিত স্টোরেজ সার্ভিস থেকে মুছে ফেলা হয়েছে।";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "ব্যাকআপ বন্ধ করে দেওয়া হয়েছে, এবং এই ডিভাইসে নেই এমন যেকোনো মিডিয়া এখন ডাউনলোড হচ্ছে। ডাউনলোড হয়ে গেলে আপনার ডেটা Signal-এর সুরক্ষিত স্টোরেজ সার্ভিস থেকে মুছে ফেলা হবে।";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "একটি ত্রুটি দেখা দিয়েছে। অনুগ্রহ করে সহায়তা কেন্দ্রে যোগাযোগ করুন।";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "অফলোড করা মিডিয়া ডাউনলোড করবেন?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "আপনি যখন আপনার পরবর্তী ব্যাকআপ তৈরি করবেন তখন পুরোনো মিডিয়া অফলোড হয়ে যাবে, কিন্তু যেকোনো সময় আপনার ব্যাকআপ থেকে ডাউনলোড করা যাবে।";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "স্টোরেজ অপ্টিমাইজেশন শুধুমাত্র Signal ব্যাকআপের পেইড টিয়ারের ক্ষেত্রে ব্যবহার করা যেতে পারে। এই ফিচারটি ব্যবহার শুরু করতে আপনার ব্যাকআপ প্ল্যান আপগ্রেড করুন।";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal স্টোরেজ অপ্টিমাইজ করুন";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "আপনি আপনার ব্যাকআপ স্টোরেজের সীমায় পৌঁছে গেছেন। চ্যাট ও মিডিয়া ব্যাকআপ রাখা চালিয়ে যেতে Signal-এ জায়গা খালি করুন।";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "ব্যাকআপ পুনরায় সচল করুন";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "আপনার ব্যাকআপে এমন কিছু মিডিয়া আছে যা এই ডিভাইসে নেই। ব্যাকআপ নিষ্ক্রিয় হয়ে গেলে আনডাউনলোড করা মিডিয়া চিরতরে মুছে ফেলা হবে।";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "ডাউনলোড এড়িয়ে যাবেন?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "আপনার ব্যাকআপে এমন কিছু মিডিয়া আছে যা এই ডিভাইসে নেই। পেইড সাবস্ক্রিপশন ছাড়া ডাউনলোড না করা মিডিয়া চিরতরে মুছে ফেলা হবে।";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "ডাউনলোড এড়িয়ে যাবেন?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "ডাউনলোড এড়িয়ে যান";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "আপনি কি আপনার মিডিয়া ডাউনলোড করা এড়িয়ে যেতে চান?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "ডাউনলোড এড়িয়ে যাবেন?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "ডাউনলোড এড়িয়ে যান";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "আপলোড করা হচ্ছে";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "এখনি ব্যাকআপ করুন";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "এতে কিছুটা সময় লাগতে পারে। ব্যাকআপ নেওয়ার সময় আপনি স্বাভাবিকভাবে Signal ব্যবহার করতে পারবেন।";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "আপনি যখন আপনার পরবর্তী ব্যাকআপ তৈরি করবেন তখন পুরোনো মিডিয়া অফলোড হয়ে যাবে, কিন্তু যেকোনো সময় আপনার ব্যাকআপ থেকে ডাউনলোড করা যাবে।";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal স্টোরেজ অপ্টিমাইজ করুন";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "আপনার সব প্রস্তুতি সম্পন্ন হয়েছে। এখনই আপনার ব্যাকআপ শুরু করুন।";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "আপনার ব্যাকআপে এমন কিছু মিডিয়া আছে যা এই ডিভাইসে নেই। পেইড সাবস্ক্রিপশন ছাড়া ডাউনলোড না করা মিডিয়াচিরতরে মুছে ফেলা হবে।\n\nআপনার মিডিয়ার ব্যাকআপ নেওয়া চালিয়ে যেতে আপনি যেকোনো সময় আবার ব্যাকআপের জন্য পেমেন্ট শুরু করতে পারেন।";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "আপনার ব্যাকআপ মিডিয়া ডাউনলোড করুন";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "এখনই ব্যাকআপ ডাউনলোড করুন";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "আজই আপনার ব্যাকআপ মিডিয়া ডাউনলোড করুন";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "ব্যাকআপ ডাউনলোড করবেন না";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "আপনার পেমেন্ট পদ্ধতি হালনাগাদ কিনা তা নিশ্চিত করতে পরীক্ষা করুন। সাবস্ক্রিপশন নিয়ন্ত্রণ করুন > Signal > পেমেন্ট পদ্ধতি আপডেট করুন-এ ট্যাপ করুন।";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "চ্যাট মুছে ফেলবেন?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "এই চ্যাটটি মিউট করুন...";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "এড়িয়ে যান এবং নতুন পিন তৈরি করুন";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "পুনরুদ্ধার 'কি' ব্যবহার করুন";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "আপনি যদি আপনার পিনটি মনে না করতে পারেন তবে আপনি একটি নতুন তৈরি করতে পারেন। আপনি নিজের অ্যাকাউন্টটি রেজিস্টার করতে এবং ব্যবহার করতে পারেন, তবে আপনি আপনার প্রোফাইল তথ্যের মতো কিছু সংরক্ষিত সেটিংস হারাবেন।";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "পিনগুলি এনক্রিপ্ট করা Signal-এর সাথে তথ্য সঞ্চয় করে রাখে যাতে কেবলমাত্র আপনিই সেগুলি পড়তে পারেন। আপনি পুনরায় ইনস্টল করার পর আপনার প্রোফাইল, সেটিংস ও কন্ট্যাক্টগুলি পুনর্বহাল হবে। অ্যাপটি চালু করতে আপনার পিনের দরকার হবে না।";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "আপনার পিন তৈরি করতে কিছু একটা ভুল হয়েছে। অনুগ্রহ করে সহায়তা কেন্দ্রে যোগাযোগ করুন।";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "পিন সম্পর্কে আরো তথ্য";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "পিনগুলি মেলে না। আবার চেষ্টা করুন।";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "আপনার পিন তৈরি করতে কিছু একটা ভুল হয়েছে। আপনার নেটওয়ার্ক সংযোগ ঠিক আছে কি না দেখুন এবং আবার চেষ্টা করুন।";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "পিনটি কমপক্ষে 4টি সংখ্যার হতে হবে";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "পিন এড়িয়ে যান";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "পুনরুদ্ধার 'কি' ব্যবহার করুন";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "আপনাকে আপনার পিন মুখস্ত করতে সহায়তা করতে আমরা আপনাকে মাঝে মাঝে এটি প্রবেশ করাতে বলব। আমরা সময়ের সাথে সাথে জিজ্ঞাসা করা কমিয়ে দেব।";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "এই ডিভাইসে %1$@ খালি করুন";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "আপনার ব্যাকআপে এমন কিছু মিডিয়া আছে যা এই ডিভাইসে নেই। পেইড সাবস্ক্রিপশন ছাড়া ডাউনলোড না করা মিডিয়া চিরতরে মুছে ফেলা হবে।";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "যদি আপনি আপনার ব্যাকআপে থাকা অবশিষ্ট মিডিয়া ও সংযুক্তি পুনর্বহাল না করে এড়িয়ে যান তবে পরে যখন সংরক্ষণের জায়গা পাওয়া যাবে তখন সেগুলো ডাউনলোড করা যাবে।";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "নিরাপত্তা সংক্রান্ত পরামর্শ";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "আপনি যদি অনুরোধ না করা সত্ত্বেও কোনো যাচাইকরণ কোড পেয়ে থাকেন, তাহলে কেউ আপনার অ্যাকাউন্টে প্রবেশ করার চেষ্টা করে থাকতে পারেন। আপনার কোড শেয়ার করবেন না।";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "আপনার যাচাইকরণ কোড নিরাপদে রাখুন";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Clau de recuperació correcta. Guarda bé la teva clau.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Sortir dels ajustos de les còpies de seguretat";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copia al porta-retalls";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Entesos";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Crea una nova clau";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "S'han desactivat les còpies de seguretat i s'han eliminat les teves dades del servei d'emmagatzematge segur de Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "S'han desactivat les còpies de seguretat; qualsevol arxiu que no es trobi al dispositiu es descarregarà ara. Un cop descarregades, les teves dades s'eliminaran del servei d'emmagatzematge segur de Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "S'ha produït un error. Posa't en contacte amb el servei d'assistència.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Descarregar arxius multimèdia restants?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Els arxius multimèdia més antics s’eliminaran del dispositiu quan facis la teva pròxima còpia de seguretat, però podràs tornar-los a descarregar en qualsevol moment des de la còpia de seguretat.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "L'optimització d'emmagatzematge només es pot utilitzar amb el nivell de subscripció de pagament de Còpies de seguretat de Signal. Actualitza el teu pla de còpies de seguretat per accedir a aquesta funció.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimitzar l'emmagatzematge de Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Has assolit el límit d'emmagatzematge de còpies de seguretat. Allibera espai a Signal per continuar fent còpies de seguretat de xats i arxius.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Tornar a activar les còpies de seguretat";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Tens arxius multimèdia a la còpia de seguretat que no es troben en aquest dispositiu. Un cop desactivis les còpies de seguretat, els arxius multimèdia que no hagis descarregat s'eliminaran de forma permanent.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Ometre la descàrrega?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Tens arxius multimèdia a la còpia de seguretat que no es troben en aquest dispositiu. Sense una subscripció de pagament, els arxius multimèdia que no hagis descarregat s'eliminaran de forma permanent.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Ometre la descàrrega?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Ometre la descàrrega";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Segur que no vols descarregar els teus arxius multimèdia?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Ometre la descàrrega?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Ometre la descàrrega";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Carregant…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Fes-ne una còpia de seguretat ara";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Això pot trigar una estona. Pots continuar fent servir Signal amb normalitat mentre es fa la còpia de seguretat.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Els arxius multimèdia més antics s’eliminaran del dispositiu quan facis la teva pròxima còpia de seguretat, però podràs tornar-los a descarregar en qualsevol moment des de la còpia de seguretat.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimitzar l'emmagatzematge de Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Tot a punt! Ja pots iniciar la teva còpia de seguretat.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Tens arxius multimèdia a la còpia de seguretat que no es troben en aquest dispositiu. Sense una subscripció de pagament, els arxius multimèdia que no hagis descarregat s'eliminaran de forma permanent.\n\nPer continuar fent còpies de seguretat dels teus arxius, pots tornar a pagar per aquest servei en qualsevol moment.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Descarrega la còpia de seguretat dels teus arxius multimèdia";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Descarrega la còpia de seguretat ara";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Descarrega la còpia de seguretat dels teus arxius multimèdia avui";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "No descarregar la còpia de seguretat";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Assegura't que el teu mètode de pagament està actualitzat. Toca Gestionar la subscripció > Signal > Actualitzar mètode de pagament.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Vols eliminar el xat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Silencia aquest xat durant…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Omet i crea un PIN nou";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Utilitzar clau de recuperació";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Si no recordeu el PIN, en podeu crear un de nou. Podeu registrar-vos i usar el compte, però perdreu algunes configuracions desades, com ara la informació del perfil.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Els PIN mantenen encriptada la informació desada amb el Signal de manera que no hi pugui accedir ningú més. El perfil, la configuració i els contactes es restauraran quan el reinstal·leu. No necessitareu el PIN per obrir l'aplicació.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "S'ha produït un error en crear el teu PIN. Posa't en contacte amb el servei d'assistència.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Més sobre els PINs";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Els PIN no coincideixen. Torneu-ho a provar.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "S'ha produït un error en crear el teu PIN. Comprova la connexió i torna-ho a provar.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "El PIN ha de tenir un mínim de 4 dígits.";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Ometre PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Utilitzar clau de recuperació";
|
||||
|
||||
/* 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.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Allibera %1$@ en aquest dispositiu";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Tens arxius multimèdia a la còpia de seguretat que no es troben en aquest dispositiu. Sense una subscripció de pagament, els arxius multimèdia que no hagis descarregat s'eliminaran de forma permanent.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Si omets la descàrrega, podràs descarregar la resta d'arxius multimèdia de la teva còpia de seguretat quan s'alliberi espai.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Consells de seguretat";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Si has rebut una clau de verificació que no has sol·licitat, és possible que algú estigui intentant accedir al teu compte. No comparteixis la clau.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Guarda bé la teva clau de verificació";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Klíč pro obnovení je správný. Uchovávejte svůj klíč v bezpečí.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Ukončit nastavení zálohování";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Zkopírovat do schránky";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Rozumím";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Vytvořit nový klíč";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Zálohování bylo vypnuto a vaše data byla odstraněna ze zabezpečeného úložiště služby Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Zálohování bylo vypnuto, všechna média, která nejsou v tomto zařízení, se nyní stahují. Po stažení budou vaše data ze zabezpečeného úložiště Signal odstraněna.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Vyskytla se chyba. Kontaktujte prosím podporu.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Stáhnout odložená média?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Starší média budou při příštím zálohování odložena, ale můžete si je kdykoli stáhnout ze zálohy.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Optimalizaci úložiště lze použít pouze s placenou verzí zálohování služby Signal. Aktualizujte svůj plán zálohování, abyste mohli začít tuto funkci používat.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimalizovat úložiště Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Dosáhli jste limitu úložiště pro zálohy. Uvolněte v aplikaci Signal místo a pokračujte v zálohování chatů a médií.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Znovu povolit zálohování";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "V záloze máte média, která nejsou v tomto zařízení. Nestažená média budou po vypnutí zálohování trvale odstraněna.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Přeskočit stahování?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "V záloze máte média, která nejsou v tomto zařízení. Nestažená média budou bez placeného předplatného trvale odstraněna.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Přeskočit stahování?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Přeskočit stahování";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Opravdu chcete stahování médií přeskočit?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Přeskočit stahování?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Přeskočit stahování";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Nahrávání…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Zálohovat nyní";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Může to chvíli trvat. Během zálohování můžete Signal normálně používat.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Starší média budou při příštím zálohování odložena, ale můžete si je kdykoli stáhnout ze zálohy.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimalizovat úložiště Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Vše je nastaveno. Můžete zahájit zálohování.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "V záloze máte média, která nejsou v tomto zařízení. Nestažená média budou bez placeného předplatného trvale odstraněna.Placené zálohování můžete kdykoli obnovit a pokračovat tak v zálohování všech svých médií.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Stáhněte si média ze zálohy";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Stáhnout zálohu teď";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Stáhněte si média ze zálohy ještě dnes";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Nestahovat zálohu";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Zkontrolujte, zda je vámi zvolená platební metoda aktuální. Klepněte na Správa předplatného > Signal > Aktualizovat platební metodu.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Odstranit chat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Ztlumit tento chat na…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Přeskočit a zadat nový PIN.";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Použít klíč pro obnovení";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Pokud si nepamatujete váš PIN, můžete si vytvořit nový. Můžete se zaregistrovat a používat váš účet, ale ztratíte některá uložená nastavení, jako jsou vaše profilové informace.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN uchovává informace uložené u Signalu zašifrované, takže pouze vy k nim můžete přistupovat. Váš profil, nastavení a kontakty budou při reinstalaci obnoveny. Pro spuštění aplikace PIN nebudete potřebovat.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Při vytváření PIN došlo k chybě. Kontaktujte prosím podporu.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Více o PIN kódech";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PINy se neshodují. Zkuste to znovu.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Při vytváření PIN došlo k chybě. Zkontrolujte připojení a zkuste to znovu.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN musí mít alespoň 4 číslice";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Přeskočit PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Použít klíč pro obnovení";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Abychom vám pomohli zapamatovat si PIN, budeme vás opakovaně žádat o jeho zadání. Postupem času vás budeme žádat méně.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Uvolněte %1$@ v tomto zařízení";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "V záloze máte média, která nejsou v tomto zařízení. Nestažená média budou bez placeného předplatného trvale odstraněna.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Pokud stahování přeskočíte, můžete zbývající média a přílohy v záloze stáhnout později, až budete mít k dispozici úložný prostor.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Bezpečnostní tipy";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Pokud vám přišel ověřovací kód, o který jste nežádali, může se někdo pokoušet získat přístup k vašemu účtu. Svůj kód nesdílejte.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Uchovávejte svůj ověřovací kód v bezpečí";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Gendannelsesnøglen er korrekt. Opbevar din nøgle sikkert";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Afslut opsætning af sikkerhedskopiering";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Kopiér til udklipsholder";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Forstået";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Opret ny nøgle";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Sikkerhedskopiering er slået fra, og dine data er blevet slettet fra Signals sikre lagringstjeneste.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Sikkerhedskopier er blevet slået fra, og alle medier, der ikke er på denne enhed, bliver nu downloadet. Når dine data er hentet, slettes de fra Signals sikre lagringstjeneste.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Der opstod en fejl. Kontakt support.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Vil du downloade fjernede medier?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Ældre medier vil blive fjernet, men de kan downloades fra din sikkerhedskopi når som helst.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Lageroptimering kan kun bruges, hvis du betaler for Signal-sikkerhedskopier. Opgrader dit abonnement på sikkerhedskopiering for at begynde at bruge denne funktion.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimer Signals lagerplads";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Du har ikke mere plads til sikkerhedskopier. Frigør plads i Signal for at sikkerhedskopiere beskeder og medier.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Slå sikkerhedskopiering til igen";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Du har medier i din sikkerhedskopi, der ikke er på denne enhed. Medier, der ikke er downloadet, slettes permanent, når sikkerhedskopiering slås fra.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Vil du springe downloaden over?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Du har medier i din sikkerhedskopi, der ikke er på denne enhed. Medier, der ikke er downloadede, slettes permanent uden et betalt abonnement.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Vil du springe downloaden over?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Spring download over";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Er du sikker på, at du vil springe download af dine medier over?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Vil du springe downloaden over?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Spring download over";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Uploader…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Sikkerhedskopiér nu";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Dette kan tage lidt tid. Du kan bruge Signal normalt, mens du sikkerhedskopierer.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Ældre medier vil blive fjernet, men de kan downloades fra din sikkerhedskopi når som helst.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimer Signals lagerplads";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Det var det. Start din sikkerhedskopiering nu.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Du har medier i din sikkerhedskopi, der ikke er på denne enhed. Medier, der ikke er downloadede, slettes permanent uden et betalt abonnement.\n\nDu kan til enhver tid begynde at betale for sikkerhedskopier igen for at fortsætte med at sikkerhedskopiere dine medier.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download dine sikkerhedskopierede medier";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download din sikkerhedskopi nu";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download dine sikkerhedskopierede medier i dag";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Download ikke din sikkerhedskopi";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Sørg for, at din betalingsmetode er opdateret. Tryk på Administrer abonnement > Signal > Opdatér betalingsmetode.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Slet chat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Ignorer denne chat i…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Spring over og opret ny pinkode";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Brug gendannelsesnøgle";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Hvis du ikke kan huske din pinkode, kan du oprette en ny. Du kan registrere og bruge din konto, men du vil miste nogle gemte indstillinger, såsom dine profiloplysninger.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Pinkoder sørger for at kryptere information lagret hos Signal, så kun du kan få adgang til den. Din profil, indstillinger og kontakter gendannes, når du geninstallerer. Du har ikke brug for din pinkode for at åbne appen.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Der opstod en fejl under oprettelsen af din pinkode. Kontakt support.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Mere om pinkoder";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Pinkoder matcher ikke. Prøv igen.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Der opstod en fejl under oprettelsen af din pinkode. Tjek din forbindelse, og prøv igen.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Pinkoden skal være på mindst 4 cifre";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Spring pinkode over";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Brug gendannelsesnøgle";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "For at hjælpe dig med at huske din pinkode, beder vi dig periodisk om at indtaste den. Med tiden vil vi sjældnere spørge dig om den.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Frigør %1$@ på denne enhed";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Du har medier i din sikkerhedskopi, der ikke er på denne enhed. Medier, der ikke er downloadede, slettes permanent uden et betalt abonnement.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Hvis du springer download over, kan de resterende medier og vedhæftede filer i din sikkerhedskopi downloades på et senere tidspunkt, når der bliver ledig lagerplads.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Sikkerhedstips";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Hvis du har modtaget en bekræftelseskode, du ikke har anmodet om, forsøger nogen muligvis at tilgå din konto. Undlad at dele din kode.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Opbevar din bekræftelseskode sikkert";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Wiederherstellungsschlüssel korrekt. Verwahre deinen Schlüssel sicher auf.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Backup-Konfiguration beenden";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "In Zwischenablage kopieren";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Verstanden";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Neuen Schlüssel erstellen";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Backups wurden deaktiviert und deine Daten wurden aus dem sicheren Speicherservice von Signal gelöscht.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups sind deaktiviert, und alle Medien, die nicht auf diesem Gerät sind, werden gerade heruntergeladen. Nach dem Download werden deine Daten aus dem sicheren Speicher von Signal gelöscht.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Es ist ein Fehler aufgetreten. Bitte kontaktiere den Support.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Ausgelagerte Medien herunterladen?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Ältere Medien werden bei deinem nächsten Backup ausgelagert, sie können aber jederzeit aus deinem Backup heruntergeladen werden.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Die Speicheroptimierung kann nur mit der kostenpflichtigen Option für Signal Backups genutzt werden. Upgrade deine Backup-Option, um diese Funktion zu nutzen.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal-Speicher optimieren";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Dein Speicherplatz für Backups ist aufgebraucht. Mach Platz in Signal, um Chats und Medien weiterhin sichern zu können.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Backups erneut aktivieren";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Du hast Backup-Medien, die nicht auf diesem Gerät gespeichert sind. Nicht heruntergeladene Medien werden dauerhaft gelöscht, sobald Backups deaktiviert wurden.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Download überspringen?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Du hast Backup-Medien, die nicht auf diesem Gerät gespeichert sind. Nicht heruntergeladene Medien werden ohne kostenpflichtiges Abo dauerhaft gelöscht.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Download überspringen?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Download überspringen";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Bist du sicher, dass du auf das Herunterladen deiner Medien verzichten möchtest?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Download überspringen?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Download überspringen";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Wird hochgeladen…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Jetzt sichern";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Das könnte eine Weile dauern. Während des Backups kannst du Signal weiterhin ganz normal nutzen.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Ältere Medien werden bei deinem nächsten Backup ausgelagert, sie können aber jederzeit aus deinem Backup heruntergeladen werden.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal-Speicher optimieren";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Du kannst loslegen. Starte jetzt dein Backup.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Du hast Backup-Medien, die nicht auf diesem Gerät gespeichert sind. Nicht heruntergeladene Medien werden ohne kostenpflichtiges Abo dauerhaft gelöscht.\n\nUm deine Medien weiterhin zu sichern, kannst du jederzeit wieder für Backups bezahlen.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Lade deine Backup-Medien herunter";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Backupdaten jetzt herunterladen";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Lade noch heute deine Backup-Medien herunter";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Backupdaten nicht herunterladen";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Überprüfe, ob deine Zahlungsmethode auf dem neuesten Stand ist. Tippe auf Abo verwalten > Signal > Zahlungsmethode aktualisieren.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Chat löschen?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Diesen Chat stummschalten für …";
|
||||
|
||||
@ -5636,7 +5618,7 @@
|
||||
"MESSAGE_REQUEST_VIEW_EXISTING_GROUP_PROMPT" = "Chat mit dieser Gruppe fortsetzen und deinen Namen und dein Foto mit deren Mitgliedern teilen?";
|
||||
|
||||
/* A prompt asking if the user wants to accept a conversation invite. */
|
||||
"MESSAGE_REQUEST_VIEW_NEW_CONTACT_PROMPT" = "Darf diese Person dir eine Nachricht schicken und deinen Namen und dein Profilbild sehen? Sie erfährt erst, dass du ihre Nachricht gesehen hast, wenn du sie annimmst.";
|
||||
"MESSAGE_REQUEST_VIEW_NEW_CONTACT_PROMPT" = "Darf diese Person dir eine Nachricht schicken und ihren Namen und ihr Profilbild mit dir teilen? Sie erfährt erst, dass du ihre Nachricht gesehen hast, wenn du sie annimmst.";
|
||||
|
||||
/* A prompt asking if the user wants to accept a group invite. */
|
||||
"MESSAGE_REQUEST_VIEW_NEW_GROUP_PROMPT" = "Möchtest du dieser Gruppe beitreten und deinen Namen und dein Foto mit deren Mitgliedern teilen? Sie wissen nicht, dass du ihre Nachrichten gesehen hast, bis du die Einladung annimmst.";
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Überspringen und neue PIN erstellen";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Wiederherstellungsschlüssel verwenden";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Falls du deine PIN vergessen hast, kannst du eine neue erstellen. Du kannst dich registrieren und dein Konto verwenden, wirst aber einige gespeicherte Einstellungen, wie z. B. deine Profilinformationen verlieren.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PINs halten deine bei Signal gespeicherten Informationen verschlüsselt, sodass nur du auf sie zugreifen kannst. Falls du Signal erneut installierst, werden so dein Profil und deine Einstellungen und Kontakte wiederhergestellt. Für das Öffnen der App wirst du deine PIN nicht benötigen.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Bei der Erstellung deines PIN ist was schiefgelaufen. Bitte kontaktiere den Support.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Mehr über PINs";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PINs stimmen nicht überein. Bitte versuche es erneut.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Bei der Erstellung deines PIN ist was schiefgelaufen. Überprüfe deine Internetverbindung und versuche es erneut.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN muss aus mindestens 4 Ziffern bestehen";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "PIN überspringen";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Wiederherstellungsschlüssel verwenden";
|
||||
|
||||
/* 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 erfolgt die Abfrage seltener.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Gib auf diesem Gerät %1$@ frei.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Du hast Backup-Medien, die nicht auf diesem Gerät gespeichert sind. Nicht heruntergeladene Medien werden ohne kostenpflichtiges Abo dauerhaft gelöscht.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Wenn du »Herunterladen« überspringst, kannst du die verbleibenden Medien und Anhänge in deinem Backup zu einem späteren Zeitpunkt herunterladen, sobald wieder Speicherplatz verfügbar ist.";
|
||||
@ -8015,7 +8003,7 @@
|
||||
"SAFETY_TIPS_CRYPTO_TITLE" = "Krypto- oder Geldbetrug";
|
||||
|
||||
/* Message body describing the enable reglock safety tip. */
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_BODY" = "Schütze dein Konto, indem für die Registrierung bei Signal zusätzlich zu deinem Verifizierungscode auch deine Signal-PIN abgefragt wird.";
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_BODY" = "Schütze dein Konto, indem du für die Registrierung bei Signal zusätzlich zu deinem Verifizierungscode auch deine Signal-PIN abfragst.";
|
||||
|
||||
/* Message title describing the enable reglock safety tip. */
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_TITLE" = "Aktiviere in den Konto-Einstellungen die Registrierungssperre";
|
||||
@ -8030,10 +8018,10 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Sicherheitstipps";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Wenn du einen Verifizierungscode erhalten hast, ohne ihn angefordert zu haben, versucht möglicherweise jemand, auf dein Konto zuzugreifen. Gib deinen Code nicht weiter.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Halte deinen Verifizierungscode geheim";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Bewahre deinen Verifizierungscode sicher auf";
|
||||
|
||||
/* Message body describing the scams safety tip. */
|
||||
"SAFETY_TIPS_LOOK_OUT_FOR_SCAMS_BODY" = "Reagiere nicht auf unklare Nachrichten, die dir eine Antwort entlocken sollen. Vorsicht bei Finanztipps und verdächtigen Weblinks.";
|
||||
@ -9209,7 +9197,7 @@
|
||||
"SETTINGS_SCREEN_LOCK_SWITCH_LABEL" = "Bildschirmsperre";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_SCREEN_SECURITY" = "Im App-Umschalter Inhalte verstecken";
|
||||
"SETTINGS_SCREEN_SECURITY" = "Im App-Umschalter Bildschirm verstecken";
|
||||
|
||||
/* Footer for table section */
|
||||
"SETTINGS_SECTION_FOOTER_CALLING" = "Signal-Anrufe in der Anrufliste der iOS-Telefon-App anzeigen.";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Το κλειδί ανάκτησης είναι σωστό. Κράτησε το κλειδί σου ασφαλές.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Έξοδος από τη ρύθμιση αντιγράφων ασφαλείας";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Αντιγραφή στο πρόχειρο";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Εντάξει";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Δημιουργία νέου κλειδιού";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Τα αντίγραφα ασφαλείας έχουν απενεργοποιηθεί και τα δεδομένα σου έχουν διαγραφεί από την υπηρεσία ασφαλούς αποθήκευσης της Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Τα αντίγραφα ασφαλείας έχουν απενεργοποιηθεί. Γίνεται λήψη για τυχόν πολυμέσα που δεν βρίσκονται στη συσκευή. Μόλις ολοκληρωθεί η λήψη, τα δεδομένα σου θα διαγραφούν από την ασφαλή υπηρεσία αποθήκευσης του Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Παρουσιάστηκε σφάλμα. Επικοινώνησε με την υποστήριξη.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Λήψη πολυμέσων που αφαιρέθηκαν;";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Τα παλαιότερα αρχεία πολυμέσων θα διαγραφούν κατά την επόμενη δημιουργία αντιγράφου ασφαλείας, αλλά μπορείς να τα κατεβάσεις από το αντίγραφο ασφαλείας σας ανά πάσα στιγμή.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Η βελτιστοποίηση αποθηκευτικού χώρου μπορεί να χρησιμοποιηθεί μόνο με την πληρωμένη βαθμίδα των Αντιγράφων Ασφαλείας Signal. Αναβάθμισε το πρόγραμμα δημιουργίας αντιγράφων ασφαλείας σου για να αρχίσεις να χρησιμοποιείς αυτήν τη λειτουργία.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Βελτιστοποίηση χώρου αποθήκευσης Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Έχεις φτάσει το όριο του αποθηκευτικού χώρου αντιγράφων ασφαλείας. Απελευθέρωσε χώρο στο Signal για να συνεχίσεις να δημιουργείς αντίγραφα ασφαλείας των συνομιλιών και των πολυμέσων.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Ενεργοποίηση αντιγράφων ασφαλείας εκ νέου";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Έχεις πολυμέσα στα αντίγραφα ασφαλείας σου που δεν βρίσκονται σε αυτήν τη συσκευή. Τα αρχεία πολυμέσων που δεν έχουν κατέβει θα διαγραφούν οριστικά μόλις απενεργοποιηθούν τα αντίγραφα ασφαλείας.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Παράλειψη λήψης;";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Έχεις πολυμέσα στα αντίγραφα ασφαλείας σου που δεν βρίσκονται σε αυτήν τη συσκευή. Τα αρχεία πολυμέσων που δεν έχουν κατέβει θα διαγραφούν οριστικά χωρίς συνδρομή επί πληρωμή.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Παράλειψη λήψης;";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Παράλειψη λήψης";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Θέλεις σίγουρα να παραλείψεις τη λήψη των πολυμέσων σου;";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Παράλειψη λήψης;";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Παράλειψη λήψης";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Ανεβαίνει…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Δημιουργία αντίγραφου τώρα";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Αυτό μπορεί να διαρκέσει λίγο. Μπορείς να χρησιμοποιήσεις κανονικά το Signal κατά τη δημιουργία αντιγράφων ασφαλείας.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Τα παλαιότερα αρχεία πολυμέσων θα διαγραφούν κατά την επόμενη δημιουργία αντιγράφου ασφαλείας, αλλά μπορείς να τα κατεβάσεις από το αντίγραφο ασφαλείας σας ανά πάσα στιγμή.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Βελτιστοποίηση χώρου αποθήκευσης Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Είσαι εντάξει. Ξεκίνα τη δημιουργία αντιγράφων ασφαλείας τώρα.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Έχεις πολυμέσα στα αντίγραφα ασφαλείας σου που δεν βρίσκονται σε αυτήν τη συσκευή. Τα αρχεία πολυμέσων που δεν έχουν κατέβει θα διαγραφούν οριστικά χωρίς συνδρομή επί πληρωμή.\n\nΜπορείς να αρχίσεις να πληρώνεις ξανά για τα αντίγραφα ασφαλείας ανά πάσα στιγμή για να συνεχίσεις να δημιουργείς αντίγραφα ασφαλείας για τα πολυμέσα σου.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Λήψη πολυμέσων από τα αντίγραφα ασφαλείας";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Λήψη αντιγράφων ασφαλείας τώρα";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Κάνε λήψη των πολυμέσων από τα αντίγραφα ασφαλείας σήμερα";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Να μην γίνει λήψη των αντιγράφων ασφαλείας";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Επιβεβαίωσε ότι η μέθοδος πληρωμής είναι επικαιροποιημένη. Πάτησε Διαχείριση συνδρομής > Signal > Ενημέρωση μεθόδου πληρωμής.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Διαγραφή συνομιλίας;";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Σίγαση συνομιλίας για…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Παράλειψη και δημιουργία νέου PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Χρήση κλειδιού ανάκτησης";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Αν δεν μπορείς να θυμηθείς το PIN σου, μπορείς να δημιουργήσεις ένα νέο. Θα έχεις τη δυνατότητα να εγγραφτείς και να χρησιμοποιήσεις τον λογαριασμό σου, αλλά θα χαθούν κάποιες αποθηκευμένες ρυθμίσεις όπως οι πληροφορίες προφίλ σου.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Τα PIN κρατούν τις πληροφορίες που αποθηκεύονται στο Signal κρυπτογραφημένες, οπότε μόνο εσύ έχεις πρόσβαση σε αυτές. Το προφίλ σου, οι ρυθμίσεις και οι επαφές να επαναφερθούν όταν επανεγκαταστήσεις το Signal. Δεν θα χρειάζεται να γράψεις το PIN για να ανοίξεις την εφαρμογή.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Κάτι πήγε στραβά με τη δημιουργία του PIN σου. Επικοινώνησε με την υποστήριξη.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Περισσότερα για τα PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Τα PIN δεν ταιριάζουν. Ξαναδοκίμασε.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Κάτι πήγε στραβά με τη δημιουργία του PIN σου. Έλεγξε τη σύνδεσή σου και δοκίμασε πάλι.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Το PIN πρέπει να έχει τουλάχιστον 4 ψηφία";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Παράλειψη PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Χρήση κλειδιού ανάκτησης";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Για να σε βοηθήσουμε να θυμάσαι το PIN, θα σε προτρέπουμε να το γράφεις κάθε τόσο. Θα σε ρωτάμε ολοένα και πιο σπάνια.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Απελευθέρωσε %1$@ σε αυτή τη συσκευή";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Έχεις πολυμέσα στα αντίγραφα ασφαλείας σου που δεν βρίσκονται σε αυτήν τη συσκευή. Τα αρχεία πολυμέσων που δεν έχουν κατέβει θα διαγραφούν οριστικά χωρίς συνδρομή επί πληρωμή.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Αν παραλείψεις τη λήψη, τα υπόλοιπα πολυμέσα και συνημμένα στο αντίγραφο ασφαλείας σου μπορούν να ληφθούν αργότερα, όταν θα υπάρχει διαθέσιμος χώρος αποθήκευσης.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Συμβουλές ασφαλείας";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Εάν έλαβες έναν κωδικό επαλήθευσης που δεν ζήτησες, είναι πιθανό κάποιος να προσπαθεί να αποκτήσει πρόσβαση στον λογαριασμό σου. Μην κοινοποιείς τον κωδικό σου.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Κράτησε τον κωδικό επαλήθευσής σου ασφαλή";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Recovery key correct. Keep your key safe.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Exit Backup Setup";
|
||||
|
||||
@ -658,9 +652,15 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copy to Clipboard";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Create New Key";
|
||||
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Delete Chat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Mute this chat for...";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* 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";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Use Recovery Key";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "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.";
|
||||
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Skip PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Use Recovery Key";
|
||||
|
||||
/* 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.";
|
||||
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Clave de recuperación correcta. Guarda bien tu clave.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Salir de ajustes";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copiar al portapapeles";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Entendido";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Crear nueva clave";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Se han desactivado las copias de seguridad y eliminado tus datos del servicio de almacenamiento seguro de Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Se han desactivado las copias de seguridad. Los archivos multimedia que no se encuentran en este dispositivo se están descargando en este momento. Una vez descargados, tus datos se eliminarán del servicio de almacenamiento seguro de Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Se ha producido un error. Contacta con el equipo de Asistencia.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "¿Descargar archivos eliminados?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Los archivos multimedia más antiguos se eliminarán del dispositivo cuando hagas tu siguiente copia de seguridad. Podrás descargarlos desde tu copia de seguridad en cualquier momento.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "La optimización de almacenamiento solo se puede usar con el nivel de pago de las copias de seguridad de Signal. Actualiza tu plan de copias de seguridad para empezar a usar esta función.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimizar el almacenamiento de Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Has alcanzado el límite de almacenamiento de las copias de seguridad. Libera espacio en Signal para seguir haciendo copias de seguridad de tus chats y archivos multimedia.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Volver a habilitar copias";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Tienes archivos multimedia en tu copia de seguridad que no están en este dispositivo. Una vez desactivadas las copias de seguridad, los archivos multimedia que no hayas descargado se eliminarán de forma permanente.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "¿Omitir descarga?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Tienes archivos multimedia en tu copia de seguridad que no están en este dispositivo. Sin una suscripción de pago, los archivos multimedia que no hayas descargado se eliminarán de forma permanente.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "¿Omitir descarga?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Omitir descarga";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "¿Seguro que no quieres descargar tus archivos multimedia?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "¿Omitir descarga?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Omitir descarga";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Cargando…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Iniciar copia";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Esto puede llevar unos minutos. Puedes seguir usando Signal con normalidad mientras se crea la copia de seguridad.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Los archivos multimedia más antiguos se eliminarán del dispositivo cuando hagas tu siguiente copia de seguridad. Podrás descargarlos desde tu copia de seguridad en cualquier momento.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimizar el almacenamiento de Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "¡Todo listo! Ya puedes iniciar tu copia de seguridad.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Tienes archivos multimedia en tu copia de seguridad que no están en este dispositivo. Sin una suscripción de pago, los archivos multimedia que no hayas descargado se eliminarán de forma permanente.\n\nPuedes volver a pagar por las copias de seguridad en cualquier momento para seguir creando una copia de seguridad de tus archivos multimedia.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Descarga la copia de tus archivos multimedia";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Descargar copia de seguridad ahora";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Descarga hoy la copia de tus archivos multimedia";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "No descargar la copia de seguridad";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Asegúrate de que tu método de pago esté actualizado. Toca Gestionar suscripción > Signal > Actualizar método de pago.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "¿Eliminar chat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Silenciar este chat…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Omitir y crear nuevo PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Usar clave de recuperación";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Si olvidas tu PIN, puedes crear uno nuevo. Podrás registrarte y usar tu cuenta, pero se perderán algunos ajustes ya guardados, como tu información de perfil.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "El PIN mantiene la información guardada en Signal cifrada para que solo tú tengas acceso. Tu perfil, ajustes y contactos se restaurarán al reinstalar Signal. No necesitarás el PIN para abrir la aplicación.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "No se ha podido crear tu PIN. Contacta con el equipo de Asistencia.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Más sobre los PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Los PIN no coinciden. Inténtalo de nuevo.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "No se ha podido crear tu PIN. Comprueba tu conexión e inténtalo de nuevo.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "El PIN debe contener al menos 4 dígitos";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Omitir PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Usar clave de recuperación";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Para ayudarte a memorizar el PIN, te lo pediremos de vez en cuando. Con el tiempo lo haremos con menos frecuencia.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Libera %1$@ en este dispositivo";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Tienes archivos multimedia en tu copia de seguridad que no están en este dispositivo. Sin una suscripción de pago, los archivos multimedia que no hayas descargado se eliminarán de forma permanente.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Si omites la descarga, podrás descargar el resto de los archivos adjuntos y multimedia de tu copia de seguridad cuando se libere espacio.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Consejos de seguridad";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Si has recibido una clave de verificación que no solicitaste, es posible que alguien esté intentando acceder a tu cuenta. No compartas tu clave.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Guarda bien tu clave de verificación";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "رمز بازیابی صحیح است. رمزتان را امن نگه دارید.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "خروج از راهاندازی نسخه پشتیبان";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "کپی به کلیپبورد";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "فهمیدم";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "ایجاد رمز جدید";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "پشتیبانگیری خاموش شده و دادههای شما از سرویس ذخیرهسازی امن سیگنال حذف شده است.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "پشتیبانگیری خاموش شده است، و هر فایل رسانهای که روی این دستگاه نیست، اکنون در حال بارگیری است. پس از بارگیری، اطلاعات شما از سرویس ذخیرهسازی امن سیگنال حذف خواهد شد.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "خطایی رخ داد. لطفاً با پشتیبانی تماس بگیرید.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "رسانه آفلودشده دانلود شود؟";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "فایل رسانههای قدیمیتر هنگام تهیه نسخه پشتیبان بعدی آفلود میشوند، اما میتوانید آنها را در هر زمانی از نسخه پشتیبان خود بارگیری کنید.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "بهینهسازی فضای ذخیرهسازی فقط با نسخه پولی پشتیبانهای سیگنال امکانپذیر است. برای استفاده از این قابلیت، طرح پشتیبانگیری خود را ارتقا دهید.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "بهینهسازی فضای ذخیرهسازی سیگنال";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "به سقف فضای ذخیرهسازی نسخه پشتیبان خود رسیدهاید. در سیگنال فضا آزاد کنید تا پشتیبانگیری گفتگوها و رسانه را ادامه دهید.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "فعالسازی مجدد پشتیبانگیریها";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "شما در نسخه پشتیبان خود فایل رسانهای دارید که در این دستگاه نیست. فایل رسانه بارگیرینشده پس از غیرفعال کردن پشتیبانگیری، بهطور دائم حذف خواهد شد.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "دانلود رد شود؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "شما در نسخه پشتیبان خود فایل رسانهای دارید که در این دستگاه نیست. فایل رسانه بارگیرینشده بدون داشتن اشتراک پولی، بهطور دائم حذف خواهد شد.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "دانلود رد شود؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "رد کردن دانلود";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "مطمئنید که میخواهید بارگیری فایل رسانه خود را رد کنید؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "دانلود رد شود؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "رد کردن دانلود";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "در حال بارگذاری…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "اکنون پشتیبانگیری شود";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "این کار ممکن است کمی طول بکشد. میتوانید در حال پشتیبانگیری، بهطور عادی از سیگنال استفاده کنید.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "فایل رسانههای قدیمیتر هنگام تهیه نسخه پشتیبان بعدی آفلود میشوند، اما میتوانید آنها را در هر زمانی از نسخه پشتیبان خود بارگیری کنید.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "بهینهسازی فضای ذخیرهسازی سیگنال";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "همه چیز آماده است. اکنون پشتیبانگیری را شروع کنید.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "شما در نسخه پشتیبان خود فایل رسانهای دارید که در این دستگاه نیست. فایل رسانه بارگیرینشده بدون داشتن اشتراک پولی، بهطور دائم حذف خواهد شد.\n\nبرای ادامه پشتیبانگیری از فایل رسانه خود، میتوانید هر زمان که خواستید دوباره هزینه پشتیبانگیری را پرداخت کنید.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "فایل رسانه پشتیبان خود را بارگیری کنید";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "همین حالا نسخه پشتیبان را دانلود کنید";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "همین امروز فایل رسانه پشتیبان خود را بارگیری کنید";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "نسخه پشتیبان دانلود نشود";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "بررسی کنید تا مطمئن شوید که روش پرداخت شما بهروز است. روی «مدیریت اشتراک > «سیگنال» > بهروزرسانی روش پرداخت» ضربه بزنید.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "گفتگو پاک شود؟";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "بیصدا کردن این گفتگو بهمدت...";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "رد شدن و ایجاد یک رمز جدید";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "استفاده از رمز بازیابی";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "اگر نمیتوانید پین را به یاد بیاورید، یک پین جدید ایجاد کنید. شما میتوانید ثبتنام و از حسابتان استفاده کنید اما تنظیمات ذخیره شده مانند اطلاعت پروفایلتان را از دست میدهید.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "پینها اطلاعات ذخیره شده نزد سیگنال را رمزگذاری شده نگاه میدارند تا فقط شما بتوانید به آنها دسترسی داشته باشید. پروفایل شما، تنظیمات و مخاطبان هنگام نصب مجدد بازیابی خواهند شد. برای باز کردن برنامه به پین احتیاج نخواهید داشت.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "مشکلی حین ایجاد پین شما پیش آمد. لطفاً با پشتیبانی تماس بگیرید.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "اطلاعات بیشتر درباره پینها";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "پین ها مطابقت ندارند. دوباره امتحان کنید";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "مشکلی حین ایجاد پین شما پیش آمد. اتصال خود را بررسی و دوباره تلاش کنید.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "رمز باید حداقل 4 رقم باشد";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "عبور از وارد کردن پین";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "استفاده از رمز بازیابی";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "برای کمک به شما در به خاطر سپردن پین خود ، از شما می خواهیم که به صورت دوره ای آن را وارد کنید. با گذشت زمان کمتر سؤال خواهیم کرد.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "تا %1$@ روی این دستگاه فضا آزاد کنید";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "شما در نسخه پشتیبان خود فایل رسانهای دارید که در این دستگاه نیست. فایل رسانه بارگیرینشده بدون داشتن اشتراک پولی، بهطور دائم حذف خواهد شد.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "اگر دانلود رسانهها و پیوستهای باقیمانده را در پشتیبانگیری رد کنید، در آینده وقتی فضای ذخیرهسازی کافی داشته باشید قابل دانلود است.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "نکات ایمنی";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "اگر کد تأییدی دریافت کردید که شما درخواست نکرده بودید، یعنی شخصی در حال تلاش برای دسترسی به حسابتان است. کد خود را به اشتراک نگذارید.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "کد تأیید خود را در جایی امن نگه دارید";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Oikea palautusavain. Pidä avain turvassa.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Poistu varmuuskopioinnin asetuksista";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Kopioi leikepöydälle";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Selvä";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Luo uusi avain";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Varmuuskopiointi on poistettu käytöstä ja tietosi on poistettu Signalin suojatusta tallennuspalvelusta.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Varmuuskopiointi on poistettu käytöstä. Kaikki mediasisältö, joka ei ole laitteellasi, ladataan nyt. Latauksen jälkeen tiedot poistetaan Signalin suojatusta tallennuspalvelusta.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Tapahtui virhe. Ota yhteys tukeen.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Ladataanko sivuun siirretty mediasisältö?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Vanhempi media siirretään sivuun seuraavan varmuuskopion yhteydessä, mutta se voidaan ladata varmuuskopiosta milloin tahansa.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Tallennustilan optimointia voidaan käyttää vain Signalin maksullisen varmuuskopiointitilauksen yhteydessä. Päivitä varmuuskopioinnin tilaus, jotta voit alkaa käyttää tätä ominaisuutta.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimoi Signalin tallennustila";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Varmuuskopioinnin tilaraja on tullut täyteen. Vapauta tilaa Signalista, jotta voit jatkaa keskustelujen ja median varmuuskopiointia.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Ota varmuuskopiot uudelleen käyttöön";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Varmuuskopiossasi on mediasisältöä, jota ei ole tällä laitteella. Media, jota ei ole ladattu, poistetaan pysyvästi varmuuskopioinnin pois kytkemisen jälkeen.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Ohitetaanko lataus?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Varmuuskopiossasi on mediasisältöä, jota ei ole tällä laitteella. Media, jota ei ole ladattu, poistetaan pysyvästi ilman maksullista varmuuskopioinnin tilausta.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Ohitetaanko lataus?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Ohita lataus";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Haluatko varmasti ohittaa median lataamisen?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Ohitetaanko lataus?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Ohita lataus";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Ladataan…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Varmuuskopioi nyt";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Tämä voi kestää hetken. Voit käyttää Signalia normaalisti varmuuskopioinnin aikana.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Vanhempi media siirretään sivuun seuraavan varmuuskopion yhteydessä, mutta se voidaan ladata varmuuskopiosta milloin tahansa.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimoi Signalin tallennustila";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Kaikki on valmista. Aloita varmuuskopiointi nyt.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Varmuuskopiossasi on mediasisältöä, jota ei ole tällä laitteella. Media, jota ei ole ladattu, poistetaan pysyvästi ilman maksullista varmuuskopioinnin tilausta.\n\nVoit jatkaa varmuuskopiopalvelun maksamista uudelleen milloin tahansa jatkaaksesi kaiken mediasi varmuuskopiointia.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Lataa varmuuskopioitu mediasisältö";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Lataa varmuuskopio nyt";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Lataa varmuuskopioitu mediasisältö nyt";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Älä lataa varmuuskopiota";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Varmista, että maksutapasi on ajan tasalla. Napauta Hallinnoi tilausta > Signal > Päivitä maksutapa.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Poistetaanko keskustelu?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Mykistä tämä keskustelu, kesto…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Ohita ja luo uusi tunnusluku";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Käytä palautusavainta";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Jos et muista tunnuslukuasi, voit luoda uuden. Voit rekisteröityä ja käyttää tiliäsi, mutta menetät tallennetut asetukset, kuten profiilitietosi.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Tunnusluvulla salataan Signaliin tallentamasi tiedot, jotta vain sinä pääset niihin käsiksi. Profiilisi, asetuksesi ja yhteystietosi palautetaan, kun asennat Signalin uudelleen. Tunnuslukua ei tarvita sovelluksen avaamiseen.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "PIN-koodin luomisessa tapahtui virhe. Ota yhteys tukeen.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Lisätietoja PIN-koodeista";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Tunnusluvut eivät täsmää. Yritä uudelleen.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "PIN-koodin luomisessa tapahtui virhe. Tarkista verkkoyhteys ja yritä uudelleen.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Tunnusluvussa on oltava vähintään 4 numeroa.";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Ohita PIN-koodi";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Käytä palautusavainta";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Pyydämme tunnuslukua ajoittain sen muistamisen helpottamiseksi. Pyynnöt harvenevat ajan myötä.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Vapauta %1$@ tällä laitteella";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Varmuuskopiossasi on mediasisältöä, jota ei ole tällä laitteella. Media, jota ei ole ladattu, poistetaan pysyvästi ilman maksullista varmuuskopioinnin tilausta.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Jos ohitat lataamisen, varmuuskopion jäljellä olevat mediat ja liitteet voidaan ladata myöhemmin, kun tallennustilaa vapautuu.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Turvallisuusvinkkejä";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Jos sait vahvistuskoodin, jota et ole pyytänyt, joku muu saattaa yrittää kirjautua tilillesi. Älä jaa koodia kenellekään.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Pidä vahvistuskoodi turvassa";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Confirmation réussie. Conservez votre clé en lieu sûr.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Quitter la configuration";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copier dans le presse-papiers";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "J'ai compris";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Créer une nouvelle clé";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Les sauvegardes sont désactivées. Vos données ont été supprimées du service de stockage sécurisé de Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Les sauvegardes étant désactivées, nous téléchargeons les médias non enregistrés sur cet appareil. Une fois téléchargées, vos données seront supprimées du service de stockage sécurisé de Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Une erreur s'est produite. Merci de contacter l'assistance.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Télécharger les médias déplacés vers la sauvergarde ?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Lorsque vous lancerez une nouvelle sauvegarde, les médias les plus anciens seront déplacés vers la sauvegarde et supprimés de votre appareil. Vous pouvez cependant les télécharger depuis votre sauvegarde à tout moment.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "L'optimisation de l'espace de stockage n'est disponible qu'avec la version payante du forfait de sauvegarde Signal. Donnez un coup de pouce à Signal et passez à la version payante pour utiliser cette fonctionnalité.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimiser le stockage Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Vous avez atteint la limite de stockage. Libérez de l'espace sur Signal pour continuer de sauvegarder vos médias et conversations.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Réactiver les sauvegardes";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Votre sauvegarde contient des médias non enregistrés sur cet appareil. Une fois les sauvegardes désactivées, les médias non téléchargés seront définitivement supprimés.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Ignorer le téléchargement ?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Votre sauvegarde contient des médias non enregistrés sur cet appareil. Sans abonnement payant, les médias non téléchargés seront définitivement supprimés.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Ignorer le téléchargement ?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Ignorer le téléchargement";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Vos médias ne seront pas téléchargés. Voulez-vous vraiment continuer ?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Ignorer le téléchargement ?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Ignorer le téléchargement";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Importation…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Sauvegarder maintenant";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Cela peut prendre un certain temps. Vous pouvez continuer d'utiliser Signal pendant que nous sauvegardons vos données.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Lorsque vous lancerez une nouvelle sauvegarde, les médias les plus anciens seront déplacés vers la sauvegarde et supprimés de votre appareil. Vous pouvez cependant les télécharger depuis votre sauvegarde à tout moment.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimiser le stockage Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "À vos marques... Prêts ? Sauvegardez.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Votre sauvegarde contient des médias non enregistrés sur cet appareil. Sans abonnement payant, les médias non téléchargés seront définitivement supprimés.\n\nPour continuer de sauvegarder vos médias, vous pouvez reprendre un forfait payant à tout moment.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Télécharger les médias sauvegardés";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Télécharger la sauvegarde";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Télécharger les médias sauvegardés";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Ne pas télécharger";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Vérifiez que votre mode de paiement est à jour. Appuyez sur Gérer l'abonnement > Signal > Mettre à jour le mode de paiement.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Supprimer la conversation ?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Mettre la conversation en sourdine pour…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Ignorer et créer un nouveau PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Utiliser la clé de récupération";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Si vous ne vous souvenez pas de votre code PIN, vous pouvez en créer un nouveau. Vous pourrez vous réinscrire et utiliser votre compte, mais vous perdrez certains paramètres enregistrés, tels que les informations de profil.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Avec un code PIN, les informations stockées dans Signal restent chiffrées, et vous seul y avez accès. Votre profil, vos contacts et vos paramètres sont restaurés si vous réinstallez Signal. Vous n'avez pas besoin du code PIN pour ouvrir l'app.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Une erreur s'est produite lors de la création de votre code PIN. Merci de contacter l'assistance.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "En savoir plus sur les PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Les codes PIN ne correspondent pas. Veuillez réessayer.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Une erreur s'est produite lors de la création de votre code PIN. Veuillez vérifier votre connexion et réessayer.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Le code PIN doit comporter au moins quatre chiffres";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Ignorer la saisie du PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Utiliser la clé de récupération";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Pour vous aider à mémoriser votre code PIN, nous vous demanderons de le saisir régulièrement. Nous vous le demanderons moins souvent au fil du temps.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Libérez %1$@ sur cet appareil";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Votre sauvegarde contient des médias non enregistrés sur cet appareil. Sans abonnement payant, les médias non téléchargés seront définitivement supprimés.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Si vous choisissez d'ignorer le téléchargement, vous pourrez télécharger les pièces jointes et médias de votre sauvegarde lorsque vous aurez libéré de l'espace de stockage.";
|
||||
@ -8018,7 +8006,7 @@
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_BODY" = "Pour mieux protéger votre compte, en plus du code de vérification, exigez la saisie du code PIN Signal lors de l'inscription à Signal.";
|
||||
|
||||
/* Message title describing the enable reglock safety tip. */
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_TITLE" = "Activer le blocage d'inscription dans les paramètres du compte";
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_TITLE" = "Activer le blocage d’inscription dans les paramètres du compte";
|
||||
|
||||
/* Message contents for the safety tip concerning fake businesses. */
|
||||
"SAFETY_TIPS_FAKE_BUSINESS_BODY" = "Soyez prudent lorsque des entreprises ou des organismes publics vous contactent. Les messages qui affirment provenir de transporteurs ou de services fiscaux, par exemple, peuvent être des spams.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Conseils de sécurité";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Si vous avez reçu un code de vérification sans l'avoir demandé, il est possible que quelqu'un tente d'accéder à votre compte. Ne communiquez pas votre code.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Protégez votre code de vérification";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Eochair athshlánaithe cheart. Coinnigh d'eochair sábháilte.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Scoir socrú cúltacaí";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Cóipeáil chuig an ngearrthaisce";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Tuigim";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Cruthaigh eochair nua";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Tá cúltacaí casta as agus scriosadh do shonraí ó sheirbhís stórála shlán Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Tá cúltacaí casta as, agus tá aon mheáin nach bhfuil ar an ngléas á n-íoslódáil anois. Agus iad íoslódáilte, scriosfar do shonraí ó sheirbhís stórála shlán Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Tharla earráid. Déan teagmháil leis an bhfoireann tacaíochta.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Íoslódáil meáin a baineadh?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Bainfear meáin níos sine nuair a dhéanfaidh tú do chéad chúltaca eile, ach is féidir iad a íoslódáil ó do chúltaca am ar bith.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Ní féidir optamú stórais a úsáid ach leis an leibhéal íoctha de Chúltacaí Signal. Uasghrádaigh do phlean cúltacaithe le tosú ar úsáid na gné sin.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optamaigh stóras Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Tá do theorainn maidir le stóras cúltaca bainte amach agat. Saor spás in Signal le leanúint le comhráite agus le meáin a chúltacú.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Athchumasaigh Cúltacaí";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Tá meáin i do chúltacú nach bhfuil ar an ngléas seo. Scriosfar go buan meáin nach bhfuil íoslódáilte ar dhíchumasú cúltacaí.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Scipeáil íoslódáil?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Tá meáin i do chúltacú nach bhfuil ar an ngléas seo. Scriosfar go buan meáin nach bhfuil íoslódáilte mura bhfuil síntiús íoctha agat.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Scipeáil íoslódáil?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Scipeáil íoslódáil";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "An bhfuil tú cinnte gur mian leat íoslódáil do mheán a scipeáil?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Scipeáil íoslódáil?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Scipeáil íoslódáil";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Uaslódáil…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Déan cúltaca anois";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "D'fhéadfadh sé sin tamall a ghlacadh. Is féidir leat Signal a úsáid mar is gnáth le linn cúltacú.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Bainfear meáin níos sine nuair a dhéanfaidh tú do chéad chúltaca eile, ach is féidir iad a íoslódáil ó do chúltaca am ar bith.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optamaigh stóras Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Tá tú ullamh anois. Tosaigh an cúltacú anois.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Tá meáin i do chúltaca nach bhfuil ar an ngléas seo. Scriosfar go buan meáin nach bhfuil íoslódáilte mura bhfuil síntiús íoctha agat.\n\nIs féidir leat tosú ar íoc as cúltacaí arís am ar bith le leanúint le cúltacú do mheán.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Íoslódáil Do Chúltaca Meán";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Íoslódáil an cúltaca anois";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Íoslódáil Do Chúltaca Meán Inniu";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Ná híoslódáil an cúltaca";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Seiceáil go bhfuil do mhodh íocaíochta suas chun dáta. Tapáil Bainistigh Síntiús > Signal > Nuashonraigh Modh Íocaíochta.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Scrios Comhrá?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Balbhaigh an comhrá seo ar feadh…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Scipeáil agus Cruthaigh UAP nua";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Úsáid Eochair Athshlánaithe";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Mura bhfuil tú in ann cuimhneamh ar d'UAP, is féidir leat ceann nua a chruthú. Beidh tú in ann clárú agus do chuntas a úsáid ach caillfidh tú socruithe áirithe, an fhaisnéis i do phróifíl ina measc.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Úsáidtear UAPanna chun an fhaisnéis a stórálann tú le Signal a chriptiú, ionas nach mbeidh aon duine eile in ann í a fheiceáil. Déanfar athchóiriú ar do phróifíl agus do chuid socruithe agus teagmhálaithe nuair a shuiteálfaidh tú Signal arís. Ní bheidh an UAP ag teastáil chun an aip a oscailt.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Chuaigh rud éigin amú agus do UAP á cruthú. Déan teagmháil leis an bhfoireann tacaíochta.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Tuilleadh faisnéise faoi UAPanna";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Ní ionann iad na UAPanna. Bain triail eile as.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Chuaigh rud éigin amú agus do UAP á cruthú. Seiceáil do nasc agus triail arís.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Ní cheadaítear UAP atá níos giorra ná 4 dhigit";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Scipeáil an UAP";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Úsáid Eochair Athshlánaithe";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Chun cabhrú leat d'UAP a chur de ghlanmheabhair, iarrfaimid ort í a chur isteach anois is arís, níos annaimhe de réir a chéile.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Déan %1$@ de spás ar an ngléas seo";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Tá meáin i do chúltaca nach bhfuil ar an ngléas seo. Scriosfar go buan meáin nach bhfuil íoslódáilte mura bhfuil síntiús íoctha agat.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Má scipeálann tú íoslódáil beidh tú in ann na meáin agus ceangaltáin i do chúltaca a íoslódáil níos déanaí nuair a chuirfear spás stórála ar fáil.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Leideanna Sábháilteachta";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Más é go bhfuair tú cód fíoraithe nár iarr tú, is féidir go bhfuil duine ag iarraidh do chuntas a rochtain. Ná comhroinn do chód.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Coinnigh do chód fíoraithe sábháilte";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "રિકવરી કી સાચી છે. તમારી કીને સુરક્ષિત રાખો.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "બેકઅપ સેટઅપમાંથી બહાર નીકળો";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "ક્લિપબોર્ડમાં કૉપિ કરો";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "સમજાઈ ગયું";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "નવી કી બનાવો";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "બેકઅપ બંધ કરવામાં આવ્યા છે અને તમારો ડેટા Signalની સુરક્ષિત સ્ટોરેજ સેવામાંથી ડિલીટ કરવામાં આવ્યો છે.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "બેકઅપ બંધ કરવામાં આવ્યા છે અને આ ડિવાઇસ પર ન હોય તેવા કોઈ પણ મીડિયા હવે ડાઉનલોડ થઈ રહ્યાં છે. ડાઉનલોડ થઈ ગયા પછી તમારા ડેટા Signalની સુરક્ષિત સ્ટોરેજ સેવામાંથી ડિલીટ કરવામાં આવશે.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "એક ભૂલ આવી. કૃપા કરીને સપોર્ટનો સંપર્ક કરો.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "ઓફલોડ કરેલા મીડિયા ડાઉનલોડ કરીએ?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "તમે તમારું આગામી બેકઅપ બનાવશો ત્યારે જૂના મીડિયાને ઓફલોડ કરવામાં આવશે, પરંતુ તમારા બેકઅપમાંથી ગમે ત્યારે ડાઉનલોડ કરી શકાય છે.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "સ્ટોરેજ ઑપ્ટિમાઇઝેશનનો ઉપયોગ માત્ર Signal બેકઅપના પેઇડ ટીયર સાથે જ થઈ શકે છે. આ સુવિધાનો ઉપયોગ શરૂ કરવા માટે તમારા બેકઅપ પ્લાનને અપગ્રેડ કરો.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal સ્ટોરેજ ઑપ્ટિમાઇઝ કરો";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "તમે તમારી બેકઅપ સ્ટોરેજ મર્યાદા સુધી પહોંચી ગયા છો. ચેટ અને મીડિયાનો બેકઅપ લેવાનું ચાલુ રાખવા માટે Signalમાં જગ્યા ખાલી કરો.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "બેકઅપ ફરીથી સક્ષમ કરો";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "તમારા બેકઅપમાં એવા મીડિયા છે જે આ ડિવાઇસ પર નથી. બેકઅપ અક્ષમ કરવામાં આવે પછી ડાઉનલોડ ન કરેલ મીડિયા કાયમીરૂપે ડિલીટ કરવામાં આવશે.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "ડાઉનલોડ કરવાનું છોડીએ?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "તમારા બેકઅપમાં એવા મીડિયા છે જે આ ડિવાઇસ પર નથી. સશુલ્ક સબ્સ્ક્રિપ્શન વિના ડાઉનલોડ ન કરેલા મીડિયા કાયમીરૂપે ડિલીટ કરવામાં આવશે.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "ડાઉનલોડ કરવાનું છોડીએ?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "ડાઉનલોડ કરવાનું છોડો";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "શું તમે ખરેખર તમારા મીડિયા ડાઉનલોડ કરવાનું છોડવા માગો છો?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "ડાઉનલોડ કરવાનું છોડીએ?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "ડાઉનલોડ કરવાનું છોડો";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "અપલોડ થઈ રહ્યુ છે…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "હમણાં બેકઅપ લો";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "આમાં થોડો સમય લાગી શકે છે. બેકઅપ લેતી વખતે તમે Signalનો સામાન્યની જેમ જ ઉપયોગ કરી શકો છો.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "તમે તમારું આગામી બેકઅપ બનાવશો ત્યારે જૂના મીડિયાને ઓફલોડ કરવામાં આવશે, પરંતુ તમારા બેકઅપમાંથી ગમે ત્યારે ડાઉનલોડ કરી શકાય છે.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal સ્ટોરેજ ઑપ્ટિમાઇઝ કરો";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "તમે એકદમ તૈયાર છો. હવે તમારું બેકઅપ શરૂ કરો.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "તમારા બેકઅપમાં એવા મીડિયા છે જે આ ડિવાઇસ પર નથી. સશુલ્ક સબ્સ્ક્રિપ્શન વિના ડાઉનલોડ ન કરેલા મીડિયા કાયમીરૂપે ડિલીટ કરવામાં આવશે.તમે તમારા તમામ મીડિયાનું બેકઅપ લેવાનું ચાલુ રાખવા માટે કોઈ પણ સમયે ફરીથી બેકઅપ માટે ચુકવણી કરવાનું શરૂ કરી શકો છો.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "તમારા બેકઅપ મીડિયા ડાઉનલોડ કરો";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "હમણાં બેકઅપ ડાઉનલોડ કરો";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "તમારા બેકઅપ મીડિયા આજે જ ડાઉનલોડ કરો";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "બેકઅપ ડાઉનલોડ કરશો નહીં";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "તમારી ચુકવણી પદ્ધતિ અપ ટૂ ડેટ છે તેની ખાતરી કરવા માટે તપાસો. સબ્સ્ક્રિપ્શન મેનેજ કરો > Signal > ચુકવણી પદ્ધતિ અપડેટ કરો પર ટેપ કરો.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "ચેટ ડિલીટ કરવી છે?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "આ ચેટને આટલા સમય માટે મ્યૂટ કરો…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "સ્કિપ કરો અને નવો PIN બનાવો";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "રિકવરી કીનો ઉપયોગ કરો";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "જો તમને તમારો PIN યાદ ન આવે તો તમે એક નવો બનાવી શકો છો. તમે તમારા એકાઉન્ટને રજીસ્ટર અને ઉપયોગ કરી શકો છો પરંતુ તમે તમારી પ્રોફાઇલ માહિતી જેવી કેટલીક સાચવેલી સેટિંગ્સ ગુમાવશો.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN એન્ક્રિપ્ટ થયેલ Signal સાથે માહિતીને સંગ્રહિત રાખે છે જેથી ફક્ત તમે જ તેને ઍક્સેસ કરી શકો. જ્યારે તમે ફરીથી ઇન્સ્ટોલ કરો ત્યારે તમારી પ્રોફાઇલ, સેટિંગ્સ અને સંપર્કો રિસ્ટોર થશે. એપ્લિકેશન ઓપન કરવા માટે તમારે તમારા PIN ની જરૂર નહીં પડે.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "તમારો પિન બનાવવામાં કંઈક ખોટું થયું. કૃપા કરીને સપોર્ટનો સંપર્ક કરો.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "પિન વિશે વધુ માહિતી";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN મેળ ખાતા નથી. ફરીથી પ્રયત્ન કરો.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "તમારો પિન બનાવવામાં કંઈક ખોટું થયું. તમારું કનેક્શન તપાસો અને ફરીથી પ્રયત્ન કરો.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN ઓછામાં ઓછો 4 અંકનો હોવો જોઈએ";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "પિન સ્કિપ કરો";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "રિકવરી કીનો ઉપયોગ કરો";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "તમને તમારો PIN યાદ રાખવામાં મદદ કરવા માટે, અમે તમને તે સમયાંતરે દાખલ કરવા માટે કહીશું. અમે સમય જતાં ઓછુ પૂછશું.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "આ ડિવાઇસ પર %1$@ ખાલી કરો";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "તમારા બેકઅપમાં એવા મીડિયા છે જે આ ડિવાઇસ પર નથી. સશુલ્ક સબ્સ્ક્રિપ્શન વિના ડાઉનલોડ ન કરેલા મીડિયા કાયમીરૂપે ડિલીટ કરવામાં આવશે.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "જો તમે ડાઉનલોડ કરવાનું છોડી દો છો તો તમારા બેકઅપમાંના બાકીના મીડિયા અને અટેચમેન્ટ જ્યારે સ્ટોરેજ સ્પેસ ઉપલબ્ધ થાય ત્યારે પછીના સમયે ડાઉનલોડ કરી શકાય છે.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "સલામતી ટિપ્સ";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "જો તમને વેરિફિકેશન કોડ મળે જેના માટે તમે વિનંતી કરી ન હોય, તો કોઈક તમારા એકાઉન્ટને ઍક્સેસ કરવાનો પ્રયાસ કરતું હોઈ શકે છે. તમારો કોડ શેર કરશો નહીં.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "તમારો વેરિફિકેશન કોડ સુરક્ષિત રાખો";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "מפתח השחזור נכון. שמור על המפתח שלך במקום בטוח.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "יציאה מהגדרת גיבוי";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "העתק ללוח הגזירה";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "הבנתי";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "יצירת מפתח חדש";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "הגיבויים הושבתו והנתונים שלך נמחקו משירות האחסון המאובטח של Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "הגיבויים הושבתו, וכל מדיה שאינה על המכשיר נמצאת כעת בתהליך הורדה. ברגע שההורדה תסתיים, הנתונים שלך יימחקו משירות האחסון המאובטח של Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "אירעה שגיאה. יש ליצור קשר עם התמיכה.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "להוריד את המדיה שנוקתה?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "מדיה ישנה תוסר מהמכשיר בעת ביצוע הגיבוי הבא, אבל ניתן להוריד אותה מהגיבוי שלך בכל עת.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "ניתן להשתמש באופטימיזציה של אחסון רק עם אפשרות הגיבוי בתשלום של Signal. אפשר לשדרג את תכנית הגיבוי שלך כדי להתחיל להשתמש בפיצ׳ר.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "אופטימיזציה של אחסון Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "הגעת למגבלת אחסון הגיבוי שלך. יש לפנות מקום ב–Signal כדי להמשיך לגבות צ׳אטים ומדיה.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "הפעלת גיבויים מחדש";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "יש לך מדיה בגיבוי שאינה נמצאת במכשיר זה. כל מדיה שלא תורד תימחק לצמיתות לאחר השבתת הגיבויים.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "לדלג על הורדה?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "יש לך מדיה בגיבוי שאינה נמצאת במכשיר זה. בלי מנוי בתשלום, כל מדיה שלא תורד תימחק לצמיתות.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "לדלג על הורדה?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "דילוג על הורדה";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "בטוח שבא לך לדלג על הורדת המדיה שלך?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "לדלג על הורדה?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "דילוג על הורדה";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "מעלה…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "לגבות כעת";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "זה עשוי לקחת זמן. אפשר להשתמש ב–Signal כרגיל בזמן הגיבוי.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "מדיה ישנה תוסר מהמכשיר בעת ביצוע הגיבוי הבא, אבל ניתן להוריד אותה מהגיבוי שלך בכל עת.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "אופטימיזציה של אחסון Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "הכל מוכן. אפשר להתחיל את הגיבוי.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "יש לך מדיה בגיבוי שאינה נמצאת במכשיר זה. בלי מנוי בתשלום, כל מדיה שלא תורד תימחק לצמיתות.\n\nאפשר לחזור לשלם על גיבויים בכל עת כדי להמשיך לגבות את המדיה שלך.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "להוריד את המדיה מהגיבוי שלך";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "להוריד גיבוי כעת";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "להוריד את המדיה שלך היום";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "לא להוריד גיבוי";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "כדאי לוודא שאמצעי התשלום שלך מעודכן. יש ללחוץ על ניהול מנוי > Signal > עדכון אמצעי תשלום.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "למחוק צ'אט?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "השתקת צ׳אט זה למשך…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "דלג וצור PIN חדש";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "שימוש במפתח שחזור";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "אם אתה לא זוכר את ה־PIN שלך, אתה יכול ליצור אחד חדש. אתה יכול להירשם ולהשתמש בחשבון שלך אבל תאבד מספר הגדרות מסוימות כמו מידע הפרופיל שלך.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "קודי PIN שומרים על מידע מאוחסן עם Signal מוצפן כך שרק אתה יכול להשיג גישה אליו. הפרופיל, ההגדרות ואנשי הקשר שלך ישוחזרו כשתתקין מחדש את Signal. לא תצטרך את ה־PIN שלך כדי לפתוח את היישום.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "משהו השתבש ביצירת קוד ה–PIN שלך. יש ליצור קשר עם התמיכה.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "עוד על קודי PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "קודי PIN אינם תואמים. נסה שוב.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "משהו השתבש ביצירת קוד ה–PIN שלך. יש לבדוק את החיבור שלך ולנסות שוב.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "קוד PIN חייב להיות לפחות 4 ספרות";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "דילוג על PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "שימוש במפתח שחזור";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "כדי לעזור לך לשנן את ה־PIN שלך, נבקש ממך להכניס אותו מעת לעת. נבקש פחות עם הזמן.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "יש לפנות %1$@ במכשיר הזה";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "יש לך מדיה בגיבוי שאינה נמצאת במכשיר זה. בלי מנוי בתשלום, כל מדיה שלא תורד תימחק לצמיתות.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "דילוג על הורדה יגרום לכך שתהיה לך אפשרות להוריד את המדיה והקבצים המצורפים הנותרים בגיבוי שלך במועד מאוחר יותר, כשיתפנה שטח אחסון.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "טיפים לבטיחות";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "אם קיבלת קוד אימות שלא ביקשת, ייתכן שמישהו מנסה לגשת לחשבון שלך. אין לשתף את הקוד שלך.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "לשמור על בטיחות קוד האימות שלך";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "'रिकवरी की' सही है। अपनी 'की' सुरक्षित रखें।";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "बैकअप सेटअप से बाहर निकलें";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "क्लिपबोर्ड पर कॉपी करें";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "ठीक है";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "नई 'की' बनाएं";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "बैकअप बंद कर दिया गया है। साथ ही, आपका डेटा Signal की सिक्योर स्टोरेज सर्विस से डिलीट कर दिया गया है।";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "बैकअप बंद कर दिए गए हैं। इस डिवाइस पर जो भी मीडिया उपलब्ध नहीं है, उसे अभी डाउनलोड किया जा रहा है। डाउनलोड हो जाने के बाद, Signal की सिक्योर स्टोरेज सर्विस से आपका डेटा डिलीट कर दिया जाएगा।";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "कोई गड़बड़ी हुई। कृपया सपोर्ट टीम से संपर्क करें।";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "क्या आपको ऑफ़लोड किया गया मीडिया डाउनलोड करना है?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "अगला बैकअप लेते समय, पुराना मीडिया ऑफ़लोड कर दिया जाएगा। हालांकि, आपके पास इसे अपने बैकअप से डाउनलोड करने का विकल्प मौजूद रहेगा।";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "स्टोरेज ऑप्टिमाइज़ेशन की सुविधा सिर्फ़ Signal बैकअप के पेड टियर के साथ इस्तेमाल की जा सकती है। इस फ़ीचर को इस्तेमाल करने के लिए, अपना बैकअप प्लान अपग्रेड करें।";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal स्टोरेज को बेहतर करें";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "आपने अपने बैकअप स्टोरेज की सीमा पूरी कर ली है। चैट और मीडिया का बैकअप आगे भी लेते रहने के लिए, Signal में स्पेस खाली करें।";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "बैकअप फिर से चालू करें";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "आपके बैकअप में कुछ ऐसी मीडिया फ़ाइलें हैं, जो इस डिवाइस पर मौजूद नहीं हैं। बैकअप बंद करने के बाद, जो मीडिया डाउनलोड नहीं किए गए हैं उन्हें हमेशा के लिए डिलीट कर दिया जाएगा।";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "डाउनलोड किए बिना आगे बढ़ना है?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "आपके बैकअप में कुछ ऐसे मीडिया हैं, जो इस डिवाइस पर मौजूद नहीं हैं। पेड सब्सक्रिप्शन के बिना, जो मीडिया डाउनलोड नहीं किए गए हैं उन्हें हमेशा के लिए डिलीट कर दिया जाएगा।";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "डाउनलोड किए बिना आगे बढ़ना है?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "डाउनलोड किए बिना आगे बढ़ें";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "क्या आपको वाकई अपना मीडिया डाउनलोड नहीं करना है?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "डाउनलोड किए बिना आगे बढ़ना है?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "डाउनलोड किए बिना आगे बढ़ें";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "अपलोड हो रहा है…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "अभी बैकअप लें";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "इसमें कुछ समय लग सकता है। बैकअप लेने के दौरान भी, Signal का पहले की तरह इस्तेमाल किया जा सकता है।";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "अगला बैकअप लेते समय, पुराना मीडिया ऑफ़लोड कर दिया जाएगा। हालांकि, आपके पास इसे अपने बैकअप से डाउनलोड करने का विकल्प मौजूद रहेगा।";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal स्टोरेज को बेहतर करें";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "सबकुछ तैयार है। अपना बैकअप अभी शुरू करें।";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "आपके बैकअप में कुछ मीडिया है, जो इस डिवाइस पर मौजूद नहीं है। पेड सब्सक्रिप्शन के बिना, जो मीडिया डाउनलोड नहीं किए गए हैं उन्हें हमेशा के लिए डिलीट कर दिया जाएगा।\n\nअपने मीडिया का बैकअप जारी रखने के लिए किसी भी समय दोबारा पेमेंट शुरू किया जा सकता है।";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "अपना बैकअप मीडिया डाउनलोड करें";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "अभी बैकअप डाउनलोड करें";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "आज ही अपना बैकअप मीडिया डाउनलोड करें";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "बैकअप डाउनलोड न करें";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "पक्का कर लें कि आपका पेमेंट मेथड अप-टू-डेट है। सब्सक्रिप्शन मैनेज करें > Signal > 'पेमेंट मेथड अपडेट करें' पर टैप करें।";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "चैट को डिलीट करना है?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "इतने समय के लिए यह चैट म्यूट करें...";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "आगे बढ़ें और नया पिन बनाएं";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "'रिकवरी की' इस्तेमाल करें";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "अगर आपको अपना पिन याद नहीं है, तो आपके पास नया पिन बनाने का विकल्प मौजूद है। रजिस्टर करके अपना अकाउंट इस्तेमाल किया जा सकता है, लेकिन सेव की गईं कुछ सेटिंग खो सकती हैं, जैसे कि आपकी प्रोफ़ाइल से जुड़ी जानकारी।";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "पिन की मदद से Signal पर आपकी जानकारी एन्क्रिप्टेड रूप में स्टोर की जाती है, ताकि सिर्फ़ आप ही उसे देख सकें। Signal दोबारा इंस्टॉल करने पर आपकी प्रोफ़ाइल, सेटिंग, और कॉन्टैक्ट रीस्टोर हो जाएगा। ऐप खोलने के लिए पिन की ज़रूरत नहीं होगी।";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "आपका पिन बनाने में कोई गड़बड़ी हुई। कृपया सपोर्ट टीम से संपर्क करें।";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "पिन के बारे में और जानकारी";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "पिन मेल नहीं खा रहा। फिर से कोशिश करें।";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "आपका पिन बनाने में कोई गड़बड़ी हुई। अपना इंटरनेट कनेक्शन देखें और दोबारा कोशिश करें।";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "पिन में कम से कम 4 डिजिट होने चाहिए";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "पिन डाले बिना आगे बढ़ें";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "'रिकवरी की' इस्तेमाल करें";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "हम आपसे समय-समय पर पिन डालने के लिए कहेंगे, ताकि आपको पिन सही से याद हो सके। धीरे-धीरे हम पूछना कम कर देंगे।";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "इस डिवाइस से %1$@ स्पेस खाली करें";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "आपके बैकअप में कुछ ऐसे मीडिया हैं, जो इस डिवाइस पर मौजूद नहीं हैं। पेड सब्सक्रिप्शन के बिना, जो मीडिया डाउनलोड नहीं किए गए हैं उन्हें हमेशा के लिए डिलीट कर दिया जाएगा।";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "अगर आपको अभी अपने बाकी मीडिया और अटैचमेंट डाउनलोड नहीं करना है, तो स्टोरेज स्पेस खाली होने पर बाद में इन्हें डाउनलोड किया जा सकता है।";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "सुरक्षा से जुड़े सुझाव";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "अगर आपको कोई ऐसा वेरिफ़िकेशन कोड मिला है जिसका अनुरोध आपने नहीं किया था, तो हो सकता है कि कोई आपका अकाउंट खोलने की कोशिश कर रहा हो। अपना कोड किसी को न बताएं।";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "अपना वेरिफ़िकेशन कोड सुरक्षित रखें";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Ključ za oporavak je točan. Zapamtite svoj ključ.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Izađi iz postavljanja";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Kopiraj u međuspremnik";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Shvaćam";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Stvori novi ključ";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Sigurnosno kopiranje je isključeno te su vaši podaci izbrisani iz Signalovog zaštićenog sustava pohrane.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Sigurnosno kopiranje je isključeno. Medijski zapisi koji se ne nalaze na ovom uređaju sada se preuzimaju. Kad preuzimanje bude dovršeno, vaši će podaci biti izbrisani iz Signalovog zaštićenog sustava pohrane.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Došlo je do pogreške. Molimo, kontaktirajte podršku.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Preuzeti preostale medijske zapise?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Stariji medijski zapisi bit će premješteni prilikom sljedećeg sigurnosnog kopiranja, ali moguće ih je vratiti iz sigurnosne kopije u bilo kojem trenutku.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Optimizacija pohrane dostupna je samo uz plaćenu pretplatu na sigurnosno kopiranje Signala. Pretplatite se na sigurnosno kopiranje kako biste koristili ovu značajku.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimizirajte Signalovu pohranu";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Dosegli ste ograničenje pohrane sigurnosnih kopija. Oslobodite prostor u Signalu kako biste mogli nastaviti sigurnosno kopirati razgovore i medijske zapise.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Ponovno uključi";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "U sigurnosnoj kopiji imate medijske zapise koji nisu na ovom uređaju. Datoteke koje niste preuzeli bit će trajno izbrisane kad onemogućite sigurnosno kopiranje.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Preskočiti preuzimanje?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "U sigurnosnoj kopiji imate medijske zapise koji nisu na ovom uređaju. Datoteke koje niste preuzeli bit će trajno izbrisane bez plaćene pretplate.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Preskočiti preuzimanje?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Preskoči preuzimanje";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Jeste li sigurni da želite preskočiti preuzimanje medijskih zapisa?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Preskočiti preuzimanje?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Preskoči preuzimanje";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Učitavanje…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Sigurnosno kopiraj sada";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Ovo bi moglo potrajati. Tijekom sigurnosnog kopiranja možete normalno koristiti Signal.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Stariji medijski zapisi bit će premješteni prilikom sljedećeg sigurnosnog kopiranja, ali moguće ih je vratiti iz sigurnosne kopije u bilo kojem trenutku.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimizirajte Signalovu pohranu";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Sve je spremno. Započnite sigurnosno kopiranje.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "U sigurnosnoj kopiji imate medijske zapise koji nisu na ovom uređaju. Datoteke koje niste preuzeli bit će trajno izbrisane bez plaćene pretplate.\n\nU bilo kojem trenutku možete ponovno početi plaćati sigurnosno kopiranje kako biste sačuvali svoje medijske zapise.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Preuzmite sigurnosnu kopiju medijskih zapisa";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Odmah preuzmi sigurnosnu kopiju";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Preuzmite sigurnosnu kopiju medijskih zapisa danas";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Nemoj preuzeti sigurnosnu kopiju";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Provjerite je li vaš način plaćanja ažuran. Dodirnite Upravljanje pretplatom > Signal > Ažuriranje načina plaćanja.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Izbrisati razgovor?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Utišaj ovaj razgovor na…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Preskoči i stvori novi PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Koristi ključ za oporavak";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Ako se ne možete sjetiti svog PIN-a, možete stvoriti novi. Možete se registrirati i koristiti svoj račun, ali će te izgubit neke spremljene postavke poput podataka o vašem profilu.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN-ovi čuvaju šifrirane podatke spremljenima na Signalu tako da im samo vi možete pristupiti. Vaš profil, postavke i kontakti će biti vraćeni nakon ponovne instalacije. Neće vam trebati PIN kako biste otvorili aplikaciju.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Došlo je do pogreške prilikom izrade PIN-a. Molimo kontaktirajte podršku.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Više o PIN-ovima";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-ovi se ne podudaraju. Pokušajte ponovno.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Došlo je do pogreške prilikom izrade PIN-a. Provjerite internetsku vezu i pokušajte ponovno.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN mora imati najmanje 4 znamenke";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Preskoči PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Koristi ključ za oporavak";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Kako bismo vam pomogli da zapamtite vaš PIN, zamoliti ćemo vas da ga povremeno unesete. S vremenom ćemo vas rijeđe tražiti.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Oslobodite %1$@ prostora na ovom uređaju";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "U sigurnosnoj kopiji imate medijske zapise koji nisu na ovom uređaju. Datoteke koje niste preuzeli bit će trajno izbrisane bez plaćene pretplate.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Ako preskočite ovaj korak, moći ćete preuzeti medijske zapise i privitke spremljene u sigurnosnoj kopiji kada na vašem uređaju bude dostupno dovoljno prostora za pohranu.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Savjeti za sigurnost";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Ako ste primili potvrdni kôd koji niste zatražili, to može značiti da netko pokušava pristupiti vašem računu. Nemojte dijeliti svoj kôd.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Čuvajte svoj potvrdni kôd";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "A helyreállítási mentési kulcs helyes. Tartsd biztonságban a kulcsodat.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Kilépés a biztonsági mentés beállításából";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Másolás vágólapra";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Rendben";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Új kulcs létrehozása";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "A biztonsági mentéseket kikapcsoltuk, az adataidat pedig töröltük a Signal biztonságos tárolási szolgáltatásából.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "A biztonsági mentések ki vannak kapcsolva, az eszközön nem található médiafájlok letöltése folyamatban van. A letöltés után az adataid törlődnek a Signal biztonságos tárhelyszolgáltatásából.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Hiba lépett fel! Kérjük, vedd fel a kapcsolatot az ügyfélszolgálattal!";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Letöltöd a hátralévő médiafájlokat?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "A régebbi médiafájlok a következő biztonsági mentéskor le lesznek töltve, de bármikor letölthetők a biztonsági mentésből.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "A tárhely-optimalizálás csak a díj ellenében igénybe vehető Signal biztonsági mentésekkel használható. A funkció használatának megkezdéséhez frissítsd a biztonsági csomagodat.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimalizáld a Signal-tárhelyedet";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Elérted a biztonsági mentések tárhelykorlátját. A csevegések és médiafájlok biztonsági mentésének folytatásához szabadíts fel tárhelyet a Signalban.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Engedélyezd újra a biztonsági mentéseket";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "A biztonsági mentésben olyan médiafájlok vannak, amelyek nincsenek ezen az eszközön. A le nem töltött médiafájl véglegesen törlődik, ha a biztonsági mentések letiltásra kerülnek.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Letöltés kihagyása?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "A biztonsági mentésben olyan médiafájlok vannak, amelyek nincsenek ezen az eszközön. A le nem töltött médiafájl véglegesen törlődik fizetős előfizetés nélkül.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Letöltés kihagyása?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Letöltés kihagyása";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Biztosan kihagyod a médiafájl letöltését?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Letöltés kihagyása?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Letöltés kihagyása";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Feltöltés folyamatban…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Biztonsági mentés készítése";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Ez eltarthat egy ideig. A Signalt a szokásos módon használhatod biztonsági mentés közben.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "A régebbi médiafájlok a következő biztonsági mentéskor le lesznek törölve, de bármikor letölthetők a biztonsági mentésből.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimalizáld a Signal-tárhelyedet";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Kész is vagy! Kezdd el a biztonsági mentést most.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "A biztonsági mentésben olyan médiafájlok vannak, amelyek nem találhatók ezen az eszközön. A le nem töltött médiafájl véglegesen törlődik fizetős előfizetés nélkül.\n\nBármikor újra elkezdhetsz fizetni a biztonsági mentésekért, hogy folytathasd a médiafájlok biztonsági mentését.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Töltsd le a biztonsági mentett médiafájlt";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Biztonsági mentés letöltése most";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Töltsd le a biztonsági mentett médiafájlt még ma";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Ne töltsön le biztonsági mentést";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Ellenőrizd, hogy a megadott fizetési mód naprakész-e. Koppints az Előfizetés kezelése > Signal > Fizetési mód frissítése lehetőségre.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Törlöd a csevegést?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Némítás eddig…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Kihagyás és új PIN létrehozása";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Helyreállítási kulcs használata";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Ha nem emlékszel PIN kódodra, készíthetsz újat. Regisztrálhatsz, majd használhatod a fiókodat, de mentett beállításaid egy része, mint profil információid elvesznek.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "A PIN-nek köszönhetően a Signal által tárolt információk titkosítva lesznek, így csak te férhetsz hozzájuk. Újratelepítés esetén profilod, beállításaid és kontaktjaid visszaállításra kerülnek. Az alkalmazás megnyitásához nincs szükség a PIN kódra.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Hiba történt a PIN-kód létrehozásakor. Kérjük, vedd fel a kapcsolatot az ügyfélszolgálattal!";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "További információ a PIN-kódokról";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN kódok nem egyeznek. Próbáld újra.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Hiba történt a PIN-kód létrehozásakor. Ellenőrizd az internetkapcsolatodat, és próbáld újra!";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "A PIN kód hossza minimum 4 számjegy";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "PIN-kód kihagyása";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Helyreállítási kulcs használata";
|
||||
|
||||
/* 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.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Szabadíts fel %1$@ tárhelyet ezen az eszközön";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "A biztonsági mentésben olyan médiafájlok vannak, amelyek nincsenek ezen az eszközön. A le nem töltött médiafájlok véglegesen törlődnek fizetős előfizetés nélkül.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Ha kihagyod a letöltést, a biztonsági másolatban lévő fennmaradó médiafájlok és mellékletek letölthetők később, amikor tárhely szabadul fel.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Biztonsági tippek";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Ha olyan megerősítő kódot kaptál, amelyet nem te kértél, lehet, hogy valaki megpróbál hozzáférni a fiókodhoz. Ne oszd meg a kódodat!";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Tartsd biztonságban a megerősítő kódodat";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Kunci pemulihan benar. Pastikan kunci Anda aman.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Keluar Penyiapan Pencadangan";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Salin ke Papan Klip";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Mengerti";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Buat Kunci Baru";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Pencadangan telah dinonaktifkan dan data Anda telah dihapus dari layanan penyimpanan aman Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Signal Backups telah dinonaktifkan, dan media apa pun yang belum ada di perangkat ini akan diunduh sekarang. Setelah diunduh, data Anda akan dihapus dari layanan penyimpanan aman Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Terjadi kesalahan. Silakan hubungi tim dukungan.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Unduh Media yang Di-offload?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Media lama akan di-offload saat Anda membuat cadangan berikutnya, tetapi tetap bisa diunduh dari cadangan kapan saja.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Pengoptimalan penyimpanan hanya dapat digunakan dengan Signal Backups berbayar. Upgrade paket pencadangan Anda untuk mulai menggunakan fitur ini.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimalkan Penyimpanan Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Anda telah mencapai batas penyimpanan cadangan. Hapus beberapa file untuk mengosongkan ruang penyimpanan di Signal agar dapat terus mencadangkan chat dan media.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Aktifkan Kembali Cadangan";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Ada media di data cadangan Anda yang belum tersimpan di perangkat ini. Media yang belum diunduh akan dihapus permanen begitu layanan pencadangan dinonaktifkan.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Lewati Pengunduhan?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Ada media di data cadangan Anda yang belum tersimpan di perangkat ini. Media yang belum diunduh akan dihapus permanen tanpa langganan berbayar.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Lewati Pengunduhan?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Lewati Pengunduhan";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Yakin mau melewatkan pengunduhan media?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Lewati Pengunduhan?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Lewati Pengunduhan";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Mengunggah …";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Cadangkan Sekarang";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Ini mungkin memerlukan waktu. Anda dapat menggunakan Signal seperti biasa selama proses pencadangan berlangsung.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Media lama akan di-offload saat Anda membuat cadangan berikutnya, tetapi tetap bisa diunduh dari cadangan kapan saja.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimalkan Penyimpanan Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Semua sudah siap. Mulai pencadangan sekarang.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Ada media di data cadangan Anda yang belum tersimpan di perangkat ini. Media yang belum diunduh akan dihapus permanen tanpa langganan berbayar.\n\nAnda dapat kembali membayar paket pencadangan data kapan saja agar bisa lanjut mencadangkan media Anda.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Unduh Media Cadangan Anda";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Unduh Cadangan Sekarang";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Unduh Media Cadangan Anda Sekarang";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Jangan Unduh Cadangan";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Cek dan pastikan metode pembayaran Anda sudah yang terbaru. Ketuk Kelola Langganan > Signal > Perbarui Metode Pembayaran.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Hapus Obrolan?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Bisukan obrolan ini selama…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Lewati dan Buat Pin Baru";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Gunakan Kunci Pemulihan";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Jika Anda tidak dapat mengingat PIN Anda, Anda dapat membuat yang baru. Anda dapat mendaftar dan menggunakan akun Anda namun pengaturan dan informasi profil Anda akan dihapus.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN menjaga informasi yang disimpan dengan Signal terenkripsi sehingga hanya Anda yang dapat mengaksesnya. Profil Anda, pengaturan, dan kontak-kontak akan dipulihkan saat Anda memasang ulang aplikasi. Anda tidak memerlukan PIN untuk membuka aplikasinya.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Terjadi kesalahan saat membuat PIN Anda. Silakan hubungi tim dukungan.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Selengkapnya Tentang PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN tidak cocok. Coba lagi.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Terjadi kesalahan saat membuat PIN Anda. Periksa koneksi Anda dan coba lagi.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN minimal harus 4 karakter";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Lewati PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Gunakan Kunci Pemulihan";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Untuk membantu Anda mengingat PIN, kami akan meminta Anda untuk memasukkannya secara berkala. Kami akan memintanya lebih jarang dari waktu ke waktu.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Kosongkan ruang %1$@ di perangkat ini";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Ada media di data cadangan Anda yang belum tersimpan di perangkat ini. Media yang belum diunduh akan dihapus permanen tanpa langganan berbayar.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Jika Anda melewati pengunduhan, media dan lampiran yang masih ada di cadangan dapat diunduh lain waktu, ketika ruang penyimpanan telah tersedia.";
|
||||
@ -8015,7 +8003,7 @@
|
||||
"SAFETY_TIPS_CRYPTO_TITLE" = "Penipuan uang atau kripto";
|
||||
|
||||
/* Message body describing the enable reglock safety tip. */
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_BODY" = "Lindungi akun dengan mewajibkan PIN Signal, sebagai tambahan untuk kode verifikasi, saat Anda mendaftar Signal.";
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_BODY" = "Lindungi akun dengan mewajibkan PIN Signal, sebagai tambahan untuk kode verifikasi, saat mendaftar di Signal.";
|
||||
|
||||
/* Message title describing the enable reglock safety tip. */
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_TITLE" = "Aktifkan kunci registrasi di pengaturan akun";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Tips Keamanan";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Jika Anda menerima kode verifikasi tanpa memintanya, kemungkinan ada yang mencoba mengakses akun Anda. Jangan bagikan kode Anda.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Pastikan kode verifikasi Anda aman";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Chiave di ripristino corretta. Tieni la tua chiave al sicuro.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Non configurare il backup";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copia negli appunti";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Capito";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Crea nuova chiave";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "I backup sono stati disattivati e i tuoi dati sono stati eliminati dal servizio di archiviazione sicura di Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "I backup sono stati disattivati. I contenuti multimediali non presenti su questo dispositivo sono in fase di scaricamento. Una volta scaricati, i tuoi dati verranno eliminati dal servizio di archiviazione sicura di Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Ops, qualcosa è andato storto… Ti consigliamo di contattare l'assistenza.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Scaricare i media del backup remoto?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "I contenuti multimediali meno recenti verranno trasferiti in un archivio remoto al prossimo backup, ma potrai riscaricarli in qualsiasi momento.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "L'ottimizzazione dello spazio di archiviazione è una funzione disponibile solo con i Backup di Signal a pagamento. Scegli il tuo piano di backup per poterla usare.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Ottimizza lo spazio di archiviazione di Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Hai raggiunto lo spazio massimo per il backup. Libera dello spazio su Signal per continuare a fare il backup di chat e media.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Riattiva i backup";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Il tuo backup contiene contenuti multimediali non presenti su questo dispositivo. Se disattivi i backup, i file non ancora scaricati verranno eliminati definitivamente.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Saltare il download?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Il tuo backup contiene contenuti multimediali non presenti su questo dispositivo. Senza un abbonamento a pagamento, i contenuti multimediali non scaricati verranno eliminati definitivamente.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Saltare il download?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Salta download";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Vuoi davvero saltare lo scaricamento dei tuoi contenuti multimediali?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Saltare il download?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Salta download";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Caricamento in corso…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Fai ora il backup";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Potrebbe essere necessario un po' di tempo. Puoi comunque usare Signal normalmente mentre il backup è in corso.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "I contenuti multimediali meno recenti verranno trasferiti in un archivio remoto al prossimo backup, ma potrai riscaricarli in qualsiasi momento.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Ottimizza lo spazio di archiviazione di Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Non devi fare nient'altro. Comincia subito il tuo backup.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Il tuo backup contiene contenuti multimediali non presenti su questo dispositivo. Senza un abbonamento a pagamento, i contenuti multimediali non scaricati verranno eliminati definitivamente.\n\nPuoi riattivare l'abbonamento in qualsiasi momento per continuare a salvare i tuoi contenuti multimediali.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Scarica i tuoi contenuti multimediali dal backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Scarica ora il backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Scarica ora i tuoi contenuti multimediali dal backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Non scaricare il backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Assicurati che il tuo metodo di pagamento sia aggiornato. Vai su Gestisci abbonamento > Signal > Aggiorna il tuo metodo di pagamento.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Eliminare la chat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Silenzia questa chat per…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Salta e crea un nuovo Pin";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Usa la chiave di ripristino";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Se non riesci a ricordarti il tuo PIN, puoi crearne uno nuovo. Puoi registrarti e usare il tuo account ma perderai alcune impostazioni salvate come le informazioni del tuo profilo.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "I PIN mantengono le informazioni memorizzate con Signal crittografate in modo che solo tu possa accedervi. Il profilo, le impostazioni e i contatti verranno ripristinati quando reinstalli. Non avrai bisogno del tuo PIN per aprire l'app.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Qualcosa è andato storto durante la creazione del tuo PIN. Ti consigliamo di contattare l'assistenza.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Scopri più informazioni sui PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "I PIN non corrispondono. Riprova.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Qualcosa è andato storto durante la creazione del tuo PIN. Controlla la tua connessione e riprova.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Il PIN deve essere almeno di 4 cifre";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Salta inserimento PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Usa la chiave di ripristino";
|
||||
|
||||
/* 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.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Libera %1$@ di spazio su questo dispositivo";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Il tuo backup contiene contenuti multimediali non presenti su questo dispositivo. Senza un abbonamento a pagamento, i contenuti multimediali non scaricati verranno eliminati definitivamente.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Se scegli di saltare il download, potrai scaricare i media e gli allegati rimanenti nel tuo backup in un secondo momento quando avrai più spazio di archiviazione.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Consigli sulla sicurezza";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Se hai ricevuto un codice di verifica che non hai richiesto, probabilmente qualcuno sta tentando di accedere al tuo account. Non condividere il tuo codice.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Tieni al sicuro il tuo codice di verifica";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "回復キーが確認されました。キーの取り扱いは厳重にしてください。";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "バックアップの設定を終了";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "クリップボードにコピー";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "わかりました";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "新しいキーを作成";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "バックアップがオフになり、データはSignalの安全なストレージサービスから消去されました。";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "バックアップはオフになっています。現在、この端末上にないメディアをダウンロード中です。ダウンロードが完了すると、データはSignalの安全なストレージサービスから消去されます。";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "エラーが発生しました。サポートにお問い合わせください。";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "オフロード済みのメディアをダウンロードしますか?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "過去のメディアは次回バックアップの際にオフロードされますが、バックアップからいつでもダウンロードできます。";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "ストレージの最適化は、Signalバックアップの有料版でのみご利用いただけます。この機能をご利用になるには、バックアッププランをアップグレードしてください。";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signalのストレージの最適化";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "バックアップストレージの上限に達しました。チャットやメディアのバックアップを続けるには、Signalの空き容量を増やしてください。";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "バックアップを再度有効化";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "バックアップ内に、この端末に保存されていないメディアがあります。バックアップを無効にした時点で、ダウンロードしていないメディアは完全に消去されます。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "ダウンロードをスキップしますか?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "バックアップ内に、この端末に保存されていないメディアがあります。有料サブスクリプションに加入していない場合は、ダウンロードしていないメディアは完全に消去されます。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "ダウンロードをスキップしますか?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "ダウンロードをスキップ";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "メディアのダウンロードをスキップしますか?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "ダウンロードをスキップしますか?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "ダウンロードをスキップ";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "アップロードしています…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "いますぐバックアップ";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "これにはしばらく時間がかかる可能性があります。バックアップ中でも、通常通りSignalを使用できます。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "過去のメディアは次回バックアップの際にオフロードされますが、バックアップからいつでもダウンロードできます。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signalのストレージの最適化";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "すべての設定が完了しています。今すぐバックアップを開始しましょう。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "バックアップ内に、この端末に保存されていないメディアがあります。有料サブスクリプションに加入していない場合は、ダウンロードしていないメディアは完全に消去されます。\n\n決済の再開はいつでも可能であり、メディアのバックアップは継続されます。";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "バックアップメディアをダウンロードしてください";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "今すぐバックアップをダウンロードする";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "バックアップメディアを今すぐダウンロードしてください";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "バックアップをダウンロードしない";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "お支払い方法が現在も有効なものであるかをご確認ください。「サブスクリプションを管理する」>「Signal」>「支払い方法をアップデートする」をタップします。";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "チャットを消去しますか?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "このチャットのミュート期間…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "スキップして新しいPINを作成";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "回復キーを使用する";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "もしPINを忘れてしまっても、新しく作成できます。アカウントを登録して使用することもできますが、プロフィールなどの保存されている設定情報は失われます。";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Signal内に保存された情報は、PINにより暗号化を保持されるため、あなたのみアクセスできます。PINを使うことで、Signalの再インストール時にあなたのプロフィール、設定および連絡先が復元されます。アプリを開く際にはPINは必要はありません。";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "PINの作成中に問題が発生しました。サポートにお問い合わせください。";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "PIN とは?";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PINが一致しません。再度試してください。";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "PINの作成中に問題が発生しました。インターネット接続を確認してもう一度お試しください。";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PINは4桁以上の数字にしてください";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "PIN を使用しない";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "回復キーを使用する";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "PINを覚えていただくため、定期的に入力をお願いしています。頻度は次第に少なくなります。";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "端末に%1$@のストレージを確保してください";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "バックアップ内に、この端末に保存されていないメディアがあります。有料サブスクリプションに加入していない場合は、ダウンロードしていないメディアは完全に消去されます。";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "ダウンロードをスキップした場合、バックアップ内の残りのメディアと添付ファイルは、ストレージ容量が確保できたときにダウンロードできます。";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "安全な使い方のヒント";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "リクエストしていない確認コードを受け取った場合、誰かがあなたのアカウントへアクセスしようとしている可能性があります。ご自身のコードは共有しないでください。";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "確認コードの取り扱いは厳重にしてください";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "복구 키가 맞습니다. 키를 안전하게 보관하세요.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "백업 설정 종료";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "클립보드에 복사";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "확인";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "새로운 키 생성";
|
||||
@ -719,7 +719,7 @@
|
||||
"BACKUP_SETTINGS_BACKGROUND_APP_REFRESH_DISABLED_SHEET_GO_TO_SETTINGS_BUTTON" = "설정으로 이동";
|
||||
|
||||
/* Message for a sheet warning the user about the Background App Refresh permission. \"Background App Refresh\" should be localized the same way it is in iOS Settings app permissions. */
|
||||
"BACKUP_SETTINGS_BACKGROUND_APP_REFRESH_DISABLED_SHEET_MESSAGE" = "Signal이 자동으로 메시지를 백업하도록 하려면 아래의 '설정으로 이동'을 탭하여 '백그라운드 앱 새로고침'을 활성화하세요.";
|
||||
"BACKUP_SETTINGS_BACKGROUND_APP_REFRESH_DISABLED_SHEET_MESSAGE" = "Signal이 자동으로 메시지를 백업하도록 하려면 아래의 '설정으로 이동'을 탭하여 '백그라운드 앱 새로 고침'을 활성화하세요.";
|
||||
|
||||
/* Title for a sheet warning the user about the Background App Refresh permission. \"Background App Refresh\" should be localized the same way it is in iOS Settings app permissions. */
|
||||
"BACKUP_SETTINGS_BACKGROUND_APP_REFRESH_DISABLED_SHEET_TITLE" = "자동 백업 비활성화됨";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "백업을 사용하지 않도록 설정했으며, Signal의 안전한 저장소 서비스에서 데이터를 삭제했습니다.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "백업을 비활성화했으며, 이 기기에 저장되지 않은 모든 미디어를 다운로드하는 중입니다. 다운로드가 완료되면 Signal의 보안 저장 공간에서 해당 데이터가 삭제됩니다.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "오류가 발생했습니다. 고객 지원팀에 문의하세요.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "오프로드된 미디어를 다운로드할까요?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "다음 백업 시 오래된 미디어는 오프로드되지만, 언제든지 백업에서 다시 다운로드할 수 있습니다.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "저장 공간 최적화는 유료 Signal 백업으로만 사용할 수 있습니다. 이 기능을 사용하기 시작하려면 백업 플랜을 업그레이드하세요.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal 저장 공간 최적화";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "백업 저장 용량이 한도에 도달했습니다. 채팅과 미디어를 계속 백업하려면 Signal에 사용 가능한 공간을 확보하세요.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "백업 재활성화";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "현재 기기에 없는 미디어가 백업에 존재합니다. 백업을 비활성화하면 다운로드하지 않은 미디어는 영구 삭제됩니다.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "다운로드를 건너뛸까요?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "현재 기기에 없는 미디어가 백업에 존재합니다. 유료 구독이 없을 경우, 다운로드하지 않은 미디어는 영구 삭제됩니다.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "다운로드를 건너뛸까요?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "다운로드 건너뛰기";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "미디어 다운로드를 건너뛰시겠어요?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "다운로드를 건너뛸까요?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "다운로드 건너뛰기";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "업로드 중…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "지금 백업";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "완료하는 데 다소 시간이 걸릴 수 있어요. 백업하는 동안에도 Signal은 정상적으로 사용할 수 있습니다.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "다음 백업 시 오래된 미디어는 오프로드되지만, 언제든지 백업에서 다시 다운로드할 수 있습니다.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal 저장 공간 최적화";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "준비됐습니다. 지금 백업을 시작하세요.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "현재 기기에 없는 미디어가 백업에 존재합니다. 유료 구독이 없을 경우, 다운로드하지 않은 미디어는 영구 삭제됩니다.\n\n원하실 때 언제든 다시 결제하시면 미디어 백업을 계속 이용할 수 있습니다.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "백업 미디어 다운로드";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "지금 백업 다운로드";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "지금 백업 미디어를 다운로드하세요";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "백업을 다운로드하지 않음";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "결제 수단이 최신 상태인지 확인하세요. 구독 관리 > Signal > 결제 수단 업데이트를 탭하세요.";
|
||||
@ -1364,7 +1364,7 @@
|
||||
"CALL_CONTROLS_INCOMING_ANSWER" = "응답";
|
||||
|
||||
/* Label for button shown when an incoming call rings. This particular label has room for two lines; you may insert a manual linebreak with '\n' as long as both lines are 15 characters or shorter (8 fullwidth characters or shorter), as in the English translation. */
|
||||
"CALL_CONTROLS_INCOMING_ANSWER_WITHOUT_VIDEO" = "음성 통화로\n받기";
|
||||
"CALL_CONTROLS_INCOMING_ANSWER_WITHOUT_VIDEO" = "카메라 끄고\n응답";
|
||||
|
||||
/* label for button shown when an incoming call rings */
|
||||
"CALL_CONTROLS_INCOMING_DECLINE" = "거절";
|
||||
@ -2225,7 +2225,7 @@
|
||||
"CONTACT_SHARE_INVALID_CONTACT" = "잘못된 연락처입니다.";
|
||||
|
||||
/* Alert body when contacts disabled while trying to share a contact. */
|
||||
"CONTACT_SHARING_NO_ACCESS_BODY" = "Signal에 연락처 접근 권한이 필요합니다. iOS 설정에서 연락처 접근을 허용해 주세요. 연락처 정보는 암호화되며 Signal도 확인할 수 없습니다.";
|
||||
"CONTACT_SHARING_NO_ACCESS_BODY" = "Signal에 연락처 접근 권한이 필요합니다. iOS 설정으로 가서 연락처를 켜세요. 연락처는 암호화되며 Signal 서비스에 표시되지 않습니다.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to share a contact. */
|
||||
"CONTACT_SHARING_NO_ACCESS_TITLE" = "연락처 접근 허용";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "대화를 삭제할까요?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "다음 기간 동안 이 대화 알림 끄기";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "건너뛴 후 새 PIN 만들기";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "복구 키 사용";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "PIN이 기억나지 않는다면 새로 설정할 수 있습니다. 등록 후 계정은 계속 사용할 수 있지만, 프로필 정보와 같은 일부 설정은 복구되지 않습니다.";
|
||||
|
||||
@ -6173,7 +6158,7 @@
|
||||
"ONBOARDING_MODE_SWITCH_WARNING_REGISTERING" = "iPhone을 연결하는 것은 권장되지 않으며, 핵심 기능이 제한될 수 있어요.";
|
||||
|
||||
/* Description of the 'Contacts' permission in the 'onboarding permissions' view. */
|
||||
"ONBOARDING_PERMISSIONS_CONTACTS_DESCRIPTION" = "내가 아는 사람들을 찾아보세요. 연락처 정보는 암호화되며 Signal도 확인할 수 없습니다.";
|
||||
"ONBOARDING_PERMISSIONS_CONTACTS_DESCRIPTION" = "아는 사람을 찾으세요. 연락처는 암호화되며 Signal 서비스에 표시되지 않습니다.";
|
||||
|
||||
/* Title introducing the 'Contacts' permission in the 'onboarding permissions' view. */
|
||||
"ONBOARDING_PERMISSIONS_CONTACTS_TITLE" = "연락처";
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN 번호는 Signal에 저장된 정보를 암호화하여 오직 나만 접근할 수 있게 만듭니다. 내 프로필, 설정, 그리고 연락처는 Signal을 다시 설치할 때 복원됩니다.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "PIN 생성 중 문제가 발생했습니다. 고객 지원팀으로 문의해 주세요.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "PIN에 관한 자세한 정보";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN이 일치하지 않습니다. 다시 시도해 주세요.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "PIN 생성 중 문제가 발생했습니다. 연결을 확인하고 다시 시도해 주세요.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN은 최소 4자리입니다";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "PIN 건너뛰기";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "복구 키 사용";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "주기적으로 PIN을 입력하면 외우는 데 도움이 됩니다. 가끔 여쭤보겠습니다.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "기기에서 %1$@ 공간을 확보하세요";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "현재 기기에 없는 미디어가 백업에 존재합니다. 유료 구독이 없을 경우, 다운로드하지 않은 미디어는 영구 삭제됩니다.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "다운로드를 건너뛰면 나중에 저장 공간이 확보될 때 백업의 남은 미디어와 첨부 파일을 다운로드할 수 있습니다.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "안전 팁";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "직접 요청한 인증 코드가 아니라면 다른 사람이 계정에 접근하려고 시도하는 것일 수 있습니다. 인증 코드를 절대 타인과 공유하지 마세요.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "인증 코드를 안전하게 보관하세요";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Atkūrimo raktas teisingas. Saugokite savo raktą.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Išeiti iš atsarginės kopijos nustatymo";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Kopijuoti į iškarpinę";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Supratau";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Sukurti naują raktą";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Atsarginės kopijos buvo išjungtos ir jūsų duomenys ištrinti iš saugios „Signal“ saugyklos paslaugos.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Atsarginės kopijos buvo išjungtos, dabar atsisiunčiami visi įrašai, kurių nėra šiame įrenginyje. Atsisiuntus, jūsų duomenys bus ištrinti iš „Signal“ saugyklos.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Įvyko klaida. Susisiekite su aptarnavimo komanda.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Atsisiųsti perkeltus įrašus?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Sukūrus naują atsarginę kopiją seni įrašai bus perkelti, tačiau juos bet kada galėsite atsisiųsti iš atsarginės kopijos.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Saugyklos optimizavimą galima naudoti tik įsigijus mokamą „Signal“ atsarginių kopijų planą. Norėdami pradėti naudotis šia funkcija, atnaujinkite atsarginių kopijų planą.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimizuoti „Signal“ saugyklą";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Pasiekėte atsarginių kopijų saugyklos limitą. Atlaisvinkite vietos „Signal“, kad galėtumėte toliau kurti pokalbių ir įrašų atsargines kopijas.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Iš naujo įjungti atsargines kopijas";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Savo atsarginėje kopijoje turite įrašų, kurių nėra įrenginyje. Išjungus atsargines kopijas, neatsisiųsti įrašai bus ištrinti visam laikui.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Praleisti atsisiuntimą?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Savo atsarginėje kopijoje turite įrašų, kurių nėra įrenginyje. Neturint mokamos prenumeratos, neatsisiųsti įrašai bus ištrinti visam laikui.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Praleisti atsisiuntimą?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Praleisti atsisiuntimą";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Ar tikrai norite praleisti įrašų atsisiuntimą?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Praleisti atsisiuntimą?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Praleisti atsisiuntimą";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Įkeliama…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Daryti atsarginę kopiją dabar";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Tai gali šiek tiek užtrukti. Kol kuriama atsarginė kopija, „Signal“ galite naudoti kaip įprasta.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Sukūrus naują atsarginę kopiją seni įrašai bus perkelti, tačiau juos bet kada galėsite atsisiųsti iš atsarginės kopijos.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimizuoti „Signal“ saugyklą";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Viskas paruošta. Pradėkite atsarginę kopiją dabar.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Savo atsarginėje kopijoje turite įrašų, kurių nėra įrenginyje. Neturint mokamos prenumeratos, neatsisiųsti įrašai bus ištrinti visam laikui.\n\nBet kada galite vėl pradėti mokėti už atsargines kopijas ir toliau kopijuoti savo įrašus.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Atsisiųskite savo atsarginės kopijos įrašus";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Atsisiųsti duomenis dabar";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Atsisiųskite savo atsarginės kopijos įrašus šiandien";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Neatsisiųsti duomenų";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Įsitikinkite, kad jūsų mokėjimo būdas atnaujintas. Bakstelėkite Tvarkyti prenumeratą >„Signal“ > Atnaujinti mokėjimo būdą.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Ištrinti pokalbį?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Nutildyti šį pokalbį…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Praleisti ir sukurti naują PIN kodą";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Naudoti atkūrimo raktą";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Jei negalite prisiminti savo PIN kodo, galite susikurti naują. Galite registruotis ir naudotis savo paskyra, tačiau prarasite kai kuriuos įrašytus nustatymus, kaip pavyzdžiui, savo profilio informaciją.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN kodai šifruotu pavidalu saugo informaciją, kuri yra laikoma Signal programėlėje, taigi, tik jūs galite gauti prieigą prie jos. Jums įdiegus Signal iš naujo, jūsų profilis, nustatymai ir adresatai bus atkurti. Norint atverti programėlę jums nereikės įvesti PIN kodo.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Įvyko klaida kuriant PIN. Susisiekite su aptarnavimo komanda.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Daugiau apie PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN kodai nesutampa. Bandykite dar kartą.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Įvyko klaida kuriant PIN. Patikrinkite interneto ryšį ir bandykite dar kartą.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN kodą privalo sudaryti bent 4 skaitmenys";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Praleisti PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Naudoti atkūrimo raktą";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Tam, kad įsimintumėte savo PIN kodą, mes laikas nuo laiko prašysime jį įvesti. Bėgant laikui, mes tai darysime rečiau.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Atlaisvinkite %1$@ šiame įrenginyje";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Savo atsarginėje kopijoje turite įrašų, kurių nėra įrenginyje. Neturint mokamos prenumeratos, neatsisiųsti įrašai bus ištrinti visam laikui.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Jei pasirinksite praleisti atsisiuntimą, likusius įrašus ir priedus iš atsarginės kopijos bus galima atsisiųsti vėliau, kai bus atlaisvinta vietos saugykloje.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Saugos patarimai";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Jei patvirtinimo kodą gavote jo neprašę, gali būti, kad kas nors bando pasiekti jūsų paskyrą. Nesidalykite savo kodu.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Saugokite savo patvirtinimo kodą";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "रीकव्हरी की बरोबर आहे. आपली की सुरक्षित ठेवा.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "बॅकअप सेटअप मधून बाहेर पडा";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "क्लिपबोर्ड वर कॉपी करा";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "कळले";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "नवीन की तयार करा";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "बॅकअप बंद करण्यात आलेले आहेत आणि आपला डेटा Signal च्या सुरक्षित संग्रहण सेवेमधून हटवण्यात आला आहे.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "बॅकअप्स बंद केले आहेत, डिव्हाईसवर नसलेला कोणताही मीडिया आता डाऊनलोड होत आहे. एकदा डाऊनलोड झाला की तुमचा डेटा Signal च्या संरक्षित साठवण सेवेमधून हटवला जाईल.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "एक त्रुटी उद्भवली. कृपया सपोर्टशी संंपर्क साधा.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "ऑफलोड केलेला मीडिया डाऊनलोड करायचा?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "तुम्ही तुमचा पुढचा बॅकअप घ्याल तेव्हा जुना मीडिया ऑफलोड होईल, पण तो तुमच्या बॅकअपमधून कधीही डाऊनलोड करता येईल.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "साठवण सुधारणा फक्त Signal बॅकअप्सच्या सशुल्क टीअरसह वापरता येते. हे वैशिष्ट्य वापरणे सुरू करण्यासाठी आपला बॅकअप प्लॅन अपग्रेड करा.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal साठवणीचा परिपूर्ण वापर करा";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "तुम्ही तुमची बॅकअप साठवण मर्यादा गाठली आहे. चॅट्स आणि मीडिया बॅकअप करणे सुरु ठेवण्यासाठी Signal मधील जागा मोकळी करा.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "बॅकअप पुन्हा सक्षम करा";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "तुमच्या बॅकअपमध्ये असा मीडिया आहे जो या डिव्हाईसवर नाही. डाऊनलोड न केलेला मीडिया बॅकअप्स बंद केल्यावर कायमचा हटवला जाईल.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "डाउनलोड वगळायचे?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "तुमच्या बॅकअपमध्ये असा मीडिया आहे जो या डिव्हाईसवर नाही. सशुल्क सदस्यत्व नसेल तर डाऊनलोड न केलेला मीडिया कायमचा हटवला जाईल.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "डाउनलोड वगळायचे?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "डाउनलोड वगळा";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "तुम्हाला नक्की तुमचा मीडिया डाऊनलोड करायचा नाही?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "डाउनलोड वगळायचे?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "डाउनलोड वगळा";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "अपलोड करत आहे…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "आता बॅकअप करा";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "यासाठी थोडा वेळ लागू शकतो. तुम्ही बॅकअप चालू असताना Signalचा नेहमीप्रमाणे वापर करू शकता.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "तुम्ही तुमचा पुढचा बॅकअप घ्याल तेव्हा जुना मीडिया ऑफलोड होईल, पण तो तुमच्या बॅकअपमधून कधीही डाऊनलोड करता येईल.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal साठवणीचा परिपूर्ण वापर करा";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "आपण तयार आहात. तुमचा बॅकअप आत्ता सुरू करा.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "तुमच्या बॅकअपमध्ये असा मीडिया आहे जो या डिव्हाईसवर नाही. सशुल्क सदस्यत्व नसेल तर डाऊनलोड न केलेला मीडिया कायमचा हटवला जाईल.\n\nतुमच्या मीडियाचा बॅकअप घेणे चालू ठेवण्यासाठी तुम्ही कधीही बॅकअप्ससाठी पैसे भरू शकता.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "तुमचा बॅकअप मीडिया डाऊनलोड करा";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "बॅकअप आत्ताच डाऊनलोड करा";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "आजच तुमचा बॅकअप मीडिया डाऊनलोड करा";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "बॅकअप डाऊनलोड करू नका";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "तुमची पेमेंट करायची पद्धत अद्ययावत असल्याची खात्री करण्यासाठी ती एकदा तपासून घ्या. सदस्यत्व हाताळा > Signal > पेमेंट करायची पद्धत अद्ययावत करा वर टॅप करा.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "चॅट हटवायचा?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "…साठी ही चॅट मूक करा";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "वगळा आणि नवीन PIN तयार करा";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "रीकव्हरी की वापरा";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "जर आपल्याला आपला PIN आठवत नसेल, तर आपण एक नवीन तयार करू शकता. आपण नोंदणी करू शकता आणि आपले खाते वापरू शकता पण काही जतन केलेल्या सेटिंग आपण गमवाल जसे की आपली प्रोफाईल माहिती.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Signal सोबत संचयित केलेली माहिती PIN एन्क्रिप्टेड ठेवतात जेणेकरून ती फक्त आपण अॅक्सेस करू शकता. आपण पुन्हा स्थापन केल्यावर आपली प्रोफाईल, सेटिंग, आणि संपर्क पुनर्स्थित होईल. आपल्याला अॅप उघडण्यासाठी PIN ची गरज लागणार नाही.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "तुमचा पिन तयार करताना काहीतरी गडबड झाली. कृपया सपोर्टशी संंपर्क साधा.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "पिन बद्दल अधिक";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN जुळत नाहीत. पुन्हा प्रयत्न करा.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "तुमचा पिन तयार करताना काहीतरी गडबड झाली. तुमचे कनेक्शन तपासा आणि पुन्हा प्रयत्न करा.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN किमान 4 अंकांचा असायला हवा";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "पिन वगळा";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "रीकव्हरी की वापरा";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "आपला PIN आपल्या लक्षात रहाण्यात मदत करण्यासाठी, आम्ही वेळोवेळी तो प्रविष्ट करण्यास विचारू. कालांतराने आम्ही कमी वेळेस विचारू.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "या डिव्हाईसवरील %1$@ जागा मोकळी करा";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "तुमच्या बॅकअपमध्ये असा मीडिया आहे जो या डिव्हाईसवर नाही. सशुल्क सदस्यत्व नसेल तर डाऊनलोड न केलेला मीडिया कायमचा हटवला जाईल.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "जर तुम्ही डाऊनलोड करायचे टाळलेत तर आपल्या बॅकअपमधील उरलेला मीडिया आणि अटॅचमेंट्स नंतर साठवणीसाठी जागा मिळाल्यावर डाऊनलोड करता येतात.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "सुरक्षिततेच्या टीपा";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "जर तुम्हाला तुम्ही न मागविलेला पडताळणी कोड मिळाला असेल, तर कोणीतरी तुमच्या खात्यात प्रवेश करायचा प्रयत्न करत असल्याची शक्यता आहे. तुमचा कोड कोणालाही देऊ नका.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "तुमचा पडताळणी कोड सुरक्षित ठेवा";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Kunci pemulihan betul. Pastikan kunci anda selamat.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Keluar daripada Tetapan Sandaran";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Salin ke Papan Keratan";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Faham";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Cipta kunci baharu";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Sandaran telah dimatikan dan data anda telah dipadam daripada perkhidmatan storan selamat Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Sandaran telah dimatikan dan sebarang media yang belum ada pada peranti sedang dimuat turun sekarang. Sebaik sahaja dimuat turun, data anda akan dipadam daripada perkhidmatan storan selamat Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Ralat telah berlaku. Sila hubungi sokongan.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Muat Turun Media yang Telah Dialih Keluar?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Media terdahulu akan dipindahkan apabila anda membuat sandaran anda yang seterusnya, tetapi boleh dimuat turun daripada sandaran anda pada bila-bila masa.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Pengoptimuman storan hanya boleh digunakan dengan Sandaran Signal berbayar. Naik taraf pelan sandaran anda untuk mula menggunakan ciri ini.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimumkan storan Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Anda telah mencapai had storan sandaran anda. Kosongkan ruang dalam Signal untuk terus membuat sandaran sembang dan media.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Dayakan semula sandaran";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Anda mempunyai media dalam sandaran anda yang tiada pada peranti ini. Media yang belum dimuat turun akan dipadamkan secara kekal setelah sandaran dinyahdayakan.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Langkau muat turun?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Anda mempunyai media dalam sandaran anda yang tiada pada peranti ini. Media yang belum dimuat turun akan dipadamkan secara kekal tanpa langganan berbayar.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Langkau muat turun?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Langkau muat turun";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Adakah anda pasti mahu melangkau daripada memuat turun media anda?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Langkau muat turun?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Langkau muat turun";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Memuat naik…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Sandaran Sekarang";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Ini boleh mengambil sedikit masa. Anda boleh menggunakan Signal seperti biasa semasa membuat sandaran.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Media terdahulu akan dipindahkan apabila anda membuat sandaran anda yang seterusnya, tetapi boleh dimuat turun daripada sandaran anda pada bila-bila masa.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimumkan storan Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Anda sudah bersedia. Mulakan sandaran anda sekarang.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Anda mempunyai media dalam sandaran anda yang tiada pada peranti ini. Media yang belum dimuat turun akan dipadamkan secara kekal tanpa langganan berbayar.\n\nAnda boleh mula membayar untuk sandaran semula pada bila-bila masa untuk terus membuat sandaran semua media anda.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Muat Turun Media Sandaran Anda";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Muat turun sandaran sekarang";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Muat Turun Media Sandaran Anda Hari Ini";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Jangan muat turun sandaran";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Pastikan kaedah pembayaran anda dikemas kini. Ketik Urus Langganan > Signal > Kemas Kini Kaedah Pembayaran.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Padam Sembang?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Redamkan sembang ini untuk...";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Langkau dan Cipta Pin Baru";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Gunakan Kunci Pemulihan";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Jika anda tidak ingat PIN anda, anda boleh mencipta yang baru. Anda boleh mendaftar dan mengguna akaun anda tetapi anda akan kehilangan sesetengah tetapan yang disimpan seperti maklumat profil anda.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN memastikan maklumat yang disimpan dengan Signal disulitkan supaya hanya anda boleh mengaksesnya. Profil, tetapan dan kenalan anda akan dipulihkan semasa anda memasang semula. Anda tidak memerlukan PIN anda untuk membuka aplikasi.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Ada yang tidak kena semasa mencipta PIN anda. Sila hubungi sokongan.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Lagi Tentang PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN tidak sepadan. Cuba lagi.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Ada yang tidak kena semasa mencipta PIN anda. Periksa sambungan anda dan cuba lagi.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN perlu sekurang-kurangnya 4 digit";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Langkau PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Gunakan Kunci Pemulihan";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Untuk membantu anda menghafal PIN anda, kami akan meminta anda memasukinya secara berkala. Kami akan tanya dari masa ke masa.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Kosongkan %1$@ pada peranti ini";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Anda mempunyai media dalam sandaran anda yang tiada pada peranti ini. Media yang belum dimuat turun akan dipadamkan secara kekal tanpa langganan berbayar.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Jika anda langkau muat turun media dan lampiran yang tinggal, ia boleh dimuat turun kemudian apabila ruang storan mencukupi.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Tip Keselamatan";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Jika anda menerima kod pengesahan yang tidak anda minta, seseorang mungkin sedang cuba mengakses akaun anda. Jangan kongsi kod anda.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Pastikan kod pengesahan andaselamat";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Sikkerhetskoden stemmer. Ta godt vare på den.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Avslutt konfigurering";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Kopier til utklippstavlen";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Skjønner";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Opprett ny kode";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Sikkerhetskopiering er slått av, og dataene ble slettet fra Signals sikre lagringstjeneste.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Sikkerhetskopiering er slått av. Alle mediefilene som ikke er lagret på denne enheten, lastes ned nå og slettes så fra Signals sikre lagringstjeneste.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Det har oppstått en feil. Ta kontakt med brukerstøtten vår.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Vil du laste ned de avlastede filene?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Gamle mediefiler avlastes når du oppretter en ny sikkerhetskopi, men kan lastes ned fra sikkerhetskopien din når som helst.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Optimalisering av lagring kan kun brukes med betalingsabonnement på sikkerhetskopiering fra Signal. Du må oppgradere abonnementet ditt for å kunne bruke denne funksjonen.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimal lagring på Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Du har nådd grensen for sikkerhetskopiering. Frigjør plass på Signal for å sikkerhetskopiere samtalene og mediefilene dine.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Slå på sikkerhetskopiering på nytt";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Du har sikkerhetskopierte mediefiler som ikke er lagret på denne enheten. Mediefilene som ikke er lastet ned på enheten, slettes for godt når sikkerhetskopieringen deaktiveres.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Vil du hoppe over nedlastingen?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Du har sikkerhetskopierte mediefiler som ikke er lagret på denne enheten. Mediefilene som ikke er lastet ned på enheten, slettes for godt uten et abonnement.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Vil du hoppe over nedlastingen?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Hopp over";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Er du sikker på at du ikke vil laste ned mediefilene?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Vil du hoppe over nedlastingen?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Hopp over";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Laster opp …";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Sikkerhetskopier nå";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Dette kan ta en stund. Du kan bruke Signal på vanlig måte mens sikkerhetskopieringen pågår.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Gamle mediefiler avlastes når du oppretter en ny sikkerhetskopi, men kan lastes ned fra sikkerhetskopien din når som helst.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimal lagring på Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Alt er klart. Du kan nå sikkerhetskopiere filene dine.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Du har sikkerhetskopierte mediefiler som ikke er lagret på denne enheten. Mediefilene som ikke er lastet ned på enheten, slettes for godt uten et abonnement.\n\nDu kan aktivere abonnementet på nytt når som helst ved å betale abonnementsprisen.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Last ned de sikkerhetskopierte filene";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Last ned sikkerhetskopien nå";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Last ned de sikkerhetskopierte filene i dag";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Ikke last ned sikkerhetskopien";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Sjekk om betalingsmåten din er oppdatert. Trykk på «Administrer abonnement» og velg «Oppdater betalingsmåte» under «Signal».";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Vil du slette samtalen?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Demp samtalen i …";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Hopp over og lag ny PIN-kode";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Bruk sikkerhetskode";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Hvis du ikke kan huske PIN-koden din, kan du opprette en ny. Du kan registrere og bruke kontoen din, men du vil miste noen lagrede innstillinger som profilinformasjonen din.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN-koder holder informasjon lagret i Signal kryptert slik at bare du kan få tilgang til den. Profilen, innstillingene og kontaktene dine vil gjenopprettes når du installerer Signal på nytt. Du vil ikke trenge PIN-koden for å åpne appen.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Noe gikk galt i forsøket på å opprette PIN-koden. Ta kontakt med brukerstøtten vår.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Mer om PIN-koder";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-koder stemmer ikke overens. Prøv igjen.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Noe gikk galt i forsøket på å opprette PIN-koden. Sjekk internettilkoblingen, og prøv på nytt.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN-koden må være minst 4 sifre.";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Hopp over PIN-kode";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Bruk sikkerhetskode";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "For å hjelpe deg med å huske PIN-koden din, ber vi deg om å oppgi den med jevne mellomrom. Vi vil spørre mindre etter hvert.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Frigjør %1$@ med lagringsplass";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Du har sikkerhetskopierte mediefiler som ikke er lagret på denne enheten. Mediefilene som ikke er lastet ned på enheten, slettes for godt uten et abonnement.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Hvis du velger å hoppe over dette trinnet, kan du laste ned resten av mediefilene og vedleggene i sikkerhetskopien din senere når du har nok lagringsplass.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Sikkerhetstips";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Hvis du har fått tilsendt en bekreftelseskode som du ikke har bedt om, kan det hende at noen forsøker å logge seg inn på kontoen din. Ikke del koden din med andre.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Ta godt vare på bekreftelseskoden";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Juiste herstelsleutel. Bewaar je sleutel op een veilige manier.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Instellen back-up verlaten";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Kopiëren naar klembord";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Begrepen";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Nieuwe sleutel aanmaken";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Back-ups zijn uitgeschakeld en je gegevens zijn verwijderd uit de beveiligde opslagservice van Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Back-ups zijn uitgeschakeld, alle media die niet op het apparaat staan, worden nu gedownload. Nadat ze zijn gedownload, worden je gegevens verwijderd uit de beveiligde opslagservice van Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Er is een fout opgetreden. Neem contact op met ondersteuning.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Verplaatste media downloaden?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Oudere media worden verwijderd van je apparaat bij de volgende back-up, maar kunnen op elk moment opnieuw worden gedownload vanuit je back-up.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Opslagoptimalisatie kan alleen worden gebruikt met een betaald abonnement op Signal Secure Backups. Upgrade je back-upabonnement om deze functie te gebruiken.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal-opslag optimaliseren";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Je hebt de limiet voor je back-upopslag bereikt. Maak ruimte vrij in Signal om back-ups van chats en media te kunnen maken.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Back-ups opnieuw inschakelen";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Je hebt media in je back-up die niet op dit apparaat staan. Media die niet zijn gedownload, worden permanent verwijderd wanneer back-ups zijn uitgeschakeld.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Downloaden overslaan?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Je hebt media in je back-up die niet op dit apparaat staan. Media die niet zijn gedownload, worden permanent verwijderd als je geen betaald abonnement hebt.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Downloaden overslaan?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Downloaden overslaan";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Weet je zeker dat je het downloaden van je media wilt overslaan?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Downloaden overslaan?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Downloaden overslaan";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Aan het uploaden…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Nu back-up maken";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Dit kan even duren. Je kunt Signal gewoon blijven gebruiken tijdens het maken van de back-up.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Oudere media worden verwijderd van je apparaat bij de volgende back-up, maar kunnen op elk moment opnieuw worden gedownload vanuit je back-up.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal-opslag optimaliseren";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Je bent er klaar voor. Maak nu je back-up.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Je hebt media in je back-up die niet op dit apparaat staan. Media die niet zijn gedownload, worden permanent verwijderd als je geen betaald abonnement hebt.\n\nJe kunt op elk gewenst moment opnieuw betalen zodat back-ups van je media worden gemaakt.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download je back-upmedia";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Nu back-up downloaden";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download vandaag je back-upmedia";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Back-up niet downloaden";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Controleer of je betaalmethode nog steeds juist is. Tik op Abonnement beheren > Signal > Betaalmethode bijwerken.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Chat verwijderen?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Deze chat dempen voor…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Overslaan en nieuwe pincode aanmaken";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Herstelsleutel gebruiken";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Als je je pincode niet kunt herinneren, dan kun je een nieuwe pincode aanmaken. Je kunt je opnieuw registreren en je account gebruiken maar je verliest wel een aantal opgeslagen instellingen, zoals je profielinformatie.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Met een pincode wordt informatie versleuteld opgeslagen op Signals servers zodat alleen jij er toegang toe hebt. Je kunt hierdoor je profiel, instellingen en contacten herstellen wanneer je Signal opnieuw installeert. Je hebt de pincode niet nodig om de app te openen.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Er ging iets mis bij het aanmaken van je pincode. Neem contact op met ondersteuning.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Meer over pincodes";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "De pincodes komen niet overeen. Probeer het opnieuw.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Er ging iets mis bij het aanmaken van je pincode. Controleer je internetverbinding en probeer het opnieuw.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Je pincode moet uit ten minste 4 cijfers bestaan";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Pincode overslaan";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Herstelsleutel gebruiken";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Om je te helpen je pincode te onthouden, vragen we je regelmatig om je pincode in te voeren. We zullen dit na verloop van tijd minder vaak vragen.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Maak %1$@ vrij op dit apparaat";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Je hebt media in je back-up die niet op dit apparaat staan. Media die niet zijn gedownload, worden permanent verwijderd als je geen betaald abonnement hebt.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Als je downloaden overslaat, kunnen de resterende media en bijlagen in je back-up op een later moment worden gedownload wanneer er opslagruimte vrijkomt.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Veiligheidstips";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Als je een verificatiecode hebt ontvangen die je niet hebt aangevraagd, kan het zijn dat iemand probeert toegang te krijgen tot je account. Deel je code niet.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Bewaar je verificatiecode op een veilige manier";
|
||||
@ -8342,7 +8330,7 @@
|
||||
"SETTINGS_ADVANCED_PIN_SETTINGS" = "Geavanceerde pincode-instellingen";
|
||||
|
||||
/* The title for the advanced pin settings. */
|
||||
"SETTINGS_ADVANCED_PIN_TITLE" = "Geav. pincode-instellingen";
|
||||
"SETTINGS_ADVANCED_PIN_TITLE" = "Geavanceerde pincode-instellingen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_ADVANCED_PINS_DISABLE_PIN_ACTION" = "Pincode uitschakelen";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Kod odzyskiwania jest poprawny. Przechowuj kod w bezpiecznym miejscu.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Przerwij konfigurację";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Skopiuj do schowka";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Rozumiem";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Utwórz nowy kod";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Tworzenie kopii zapasowych zostało wyłączone, a Twoje dane zostały usunięte z usługi bezpiecznego przechowywania Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Tworzenie kopii zapasowych zostało wyłączone, a wszystkie multimedia, które nie znajdują się na urządzeniu, są właśnie pobierane. Następnie zostaną one usunięte z usługi bezpiecznego przechowywania Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Wystąpił błąd. Skontaktuj się z naszą pomocą techniczną.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Pobrać pozostałe multimedia?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Przy następnym tworzeniu kopii zapasowej starsze multimedia zostaną przeniesione z urządzenia do kopii zapasowej, ale w każdej chwili będzie można je pobrać z powrotem na urządzenie.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Optymalizacja pamięci jest dostępna tylko w ramach płatnej usługi kopii zapasowych Signal. Aby korzystać z tej funkcji, wykup płatny tryb tworzenia kopii zapasowych.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optymalizuj pamięć, którą zajmuje Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Wykorzystano limit miejsca na kopie zapasowe. Aby dalej tworzyć kopie zapasowe czatów i multimediów, zwolnij najpierw trochę miejsca w aplikacji Signal.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Włącz z powrotem";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "W kopii zapasowej masz multimedia, które nie zostały jeszcze pobrane na to urządzenie. Jeśli wyłączysz tworzenie kopii zapasowych, niepobrane multimedia zostaną trwale usunięte.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Pominąć pobieranie?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "W kopii zapasowej masz multimedia, które nie zostały jeszcze pobrane na to urządzenie. Jeśli nie wykupisz subskrypcji kopii zapasowych, Twoje niepobrane multimedia zostaną trwale usunięte.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Pominąć pobieranie?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Pomiń pobieranie";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Na pewno chcesz pominąć pobieranie swoich multimediów?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Pominąć pobieranie?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Pomiń pobieranie";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Przesyłanie…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Utwórz kopię teraz";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Może to trochę potrwać. Podczas tworzenia kopii zapasowej możesz normalnie korzystać z aplikacji.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Przy następnym tworzeniu kopii zapasowej starsze multimedia zostaną przeniesione z urządzenia do kopii zapasowej, ale w każdej chwili będzie można je pobrać z powrotem na urządzenie.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optymalizuj pamięć, którą zajmuje Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Wszystko gotowe. Możesz już utworzyć bezpieczną kopię zapasową";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "W kopii zapasowej masz multimedia, które nie zostały jeszcze pobrane na to urządzenie. Jeśli nie wykupisz subskrypcji kopii zapasowych, Twoje niepobrane multimedia zostaną trwale usunięte.\n\nW każdej chwili możesz wznowić płatność za dalsze tworzenie kopii zapasowych multimediów.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Pobierz multimedia z kopii zapasowej";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Pobierz kopię zapasową";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Pobierz multimedia z kopii zapasowej już dziś";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Nie pobieraj kopii zapasowej";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Upewnij się, że dane do płatności w wybranej metodzie są aktualne. Wybierz opcję Zarządzaj subskrypcją > Signal > Aktualizuj metodę płatności.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Usunąć czat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Wycisz ten czat na…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Pomiń i utwórz nowy PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Użyj kodu odzyskiwania";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Jeśli nie pamiętasz PIN-u, masz możliwość utworzenia nowego. Możesz się zarejestrować i korzystać ze swojego konta, ale stracisz niektóre zapisane ustawienia, takie jak informacje w profilu.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Dzięki PIN-owi dane przechowywane w aplikacji Signal są szyfrowane i tylko Ty masz do nich dostęp. PIN pozwoli Ci przywrócić profil, ustawienia i kontakty, gdy ponownie zainstalujesz Signal. Nie potrzebujesz PIN-u, aby otwierać aplikację.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Podczas tworzenia PIN-u wystąpił błąd. Skontaktuj się z naszą pomocą techniczną.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Więcej informacji o kodzie PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Kody PIN są różne. Spróbuj ponownie.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Podczas tworzenia PIN-u wystąpił błąd. Sprawdź połączenie z internetem i spróbuj ponownie.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN musi mieć co najmniej 4 cyfry";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Pomiń PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Użyj kodu odzyskiwania";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Aby pomóc Ci zapamiętać PIN, będziemy niekiedy o niego pytać, z czasem coraz rzadziej.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Zwolnij %1$@ na urządzeniu";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "W kopii zapasowej masz multimedia, które nie zostały jeszcze pobrane na to urządzenie. Jeśli nie wykupisz subskrypcji kopii zapasowych, Twoje niepobrane multimedia zostaną trwale usunięte.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Jeśli pominiesz pobieranie, pozostałe multimedia i załączniki z kopii zapasowej będzie można pobrać później, gdy zwolni się miejsce na urządzeniu.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Wskazówki dotyczące bezpieczeństwa";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Jeśli otrzymasz kod weryfikacyjny, ale nie przypominasz sobie przesyłania o niego prośby, być może ktoś próbuje zdobyć dostęp do Twojego konta. Nie podawaj nikomu swojego kodu.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Zachowaj kod weryfikacyjny dla siebie";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Chave de recuperação correta. Mantenha sua chave segura.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Sair da configuração de backup";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copiar para a área de transferência";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Entendi";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Criar nova chave";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Os backups foram desativados e seus dados foram excluídos do serviço seguro de armazenamento do Signal. ";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Os backups foram desativados. Todos os arquivos de mídia que não estiverem armazenados neste dispositivo serão baixados agora. Após o download, seus dados serão excluídos do serviço de armazenamento seguro do Signal. ";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Ocorreu um erro. Entre em contato com o suporte.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Baixar mídia restante?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Arquivos de mídia antigos serão transferidos para backup, mas poderão ser baixados a qualquer momento.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "A otimização de armazenamento só pode ser usada com o plano pago dos Backups do Signal. Atualize seu plano de backup para começar a usar esta função.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Otimizar armazenamento do Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Você atingiu seu limite de armazenamento de backup. Libere espaço no Signal para continuar fazendo backup de conversas e arquivos de mídia.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Reativar backups";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Você tem arquivos de mídia no backup que não estão neste dispositivo. Os arquivos de mídia não baixados serão excluídos permanentemente quando os backups forem desativados.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Pular download?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Você tem arquivos de mídia de backup que não estão neste dispositivo. As mídias não baixadas serão permanentemente excluídas sem uma assinatura paga.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Pular download?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Pular download";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Você tem certeza de que não quer baixar sua mídia?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Pular download?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Pular download";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Carregando…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Fazer backup agora";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Isso pode demorar um pouco. Você pode usar o Signal normalmente enquanto faz o backup.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Arquivos de mídia antigos serão transferidos para backup, mas poderão ser baixados a qualquer momento.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Otimizar armazenamento do Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Está tudo pronto. Comece quando quiser.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Você tem arquivos de mídia no backup que não estão neste dispositivo. Sem uma assinatura paga, os arquivos de mídia não baixados serão excluídos permanentemente.\n\nVocê pode assinar novamente o serviço de backups a qualquer momento para continuar fazendo backup dos seus arquivos de mídia. ";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Baixe suas mídias de backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Baixar backup agora";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Baixe suas mídias de backup hoje";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Não baixar backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Verifique se sua forma de pagamento está atualizada. Toque em Gerenciar assinatura > Signal > Atualizar forma de pagamento.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Excluir chat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Silenciar este chat por…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Pular e criar novo PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Usar a chave de recuperação";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Se não conseguir se lembrar do seu PIN, você pode criar um outro. Nesse caso, você pode se registrar e usar sua conta, mas perderá algumas configurações salvas, como as informações do seu perfil.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "O PIN mantém criptografadas as informações armazenadas no Signal, de modo que somente você possa acessá-las. Seu perfil, configurações e contatos serão restaurados quando você reinstalar. Você não precisará do PIN para abrir o app.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Algo deu errado ao criar seu PIN. Entre em contato com o suporte.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Mais sobre PINs";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PINs não coincidem. Tente novamente.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Algo deu errado ao criar seu PIN. Verifique a sua conexão e tente novamente.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "O PIN deve conter pelo menos quatro dígitos";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Ignorar PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Usar a chave de recuperação";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Para ajudar você a memorizar seu PIN, pediremos que você o insira periodicamente. Esses pedidos diminuirão com o passar do tempo.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Libere %1$@ neste dispositivo";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Você tem arquivos de mídia no backup que não estão neste dispositivo. Os arquivos de mídia não baixados serão excluídos permanentemente sem uma assinatura paga. ";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Se você pular essa etapa, poderá baixar os arquivos de mídia e os anexos restantes no seu backup posteriormente, quando houver espaço de armazenamento disponível.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Dicas de segurança";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Se você recebeu um código de verificação que não solicitou, alguém pode estar tentando acessar sua conta. Não compartilhe esse código. ";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Mantenha seu código de verificação protegido";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Chave de recuperação correta. Mantenha a sua chave segura.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Sair da configuração da cópia de segurança";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copiar para a área de transferência";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Entendido";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Criar nova chave";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "As cópias de segurança foram desativadas e os seus dados foram eliminados do serviço de armazenamento seguro do Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "As cópias de segurança foram desativadas e quaisquer ficheiros multimédia que não estejam no dispositivo estão a ser transferidos agora. Após a transferência, os seus dados serão eliminados do serviço de armazenamento seguro do Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Ocorreu um erro. Entre em contacto com a equipa de suporte.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Transferir ficheiros multimédia?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Os ficheiros mais antigos serão descarregados quando fizer a sua próxima cópia de segurança, mas podem ser transferidos a partir da sua cópia de segurança a qualquer altura.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "A otimização do armazenamento só pode ser usada com a categoria paga das Cópias de Segurança do Signal. Faça upgrade ao seu plano de cópias de segurança para começar a usar esta funcionalidade.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Otimizar o armazenamento do Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Atingiu o limite de armazenamento das cópias de segurança. Liberte espaço no Signal para continuar a efetuar cópias de segurança dos seus chats e ficheiros multimédia.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Reativar cópias de segurança";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Tem ficheiros multimédia na sua cópia de segurança que não estão neste dispositivo. Os ficheiros multimédia não transferidos serão permanentemente eliminados assim que as cópias de segurança forem desativadas.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Saltar descarregamento?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Tem ficheiros multimédia na sua cópia de segurança que não estão neste dispositivo. Os ficheiros multimédia não transferidos serão permanentemente eliminados sem uma subscrição paga.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Saltar descarregamento?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Saltar transferência";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Tem a certeza de que quer saltar a transferência dos seus ficheiros multimédia?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Saltar descarregamento?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Saltar transferência";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "A carregar…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Efetuar cópia de segurança agora";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Isto pode demorar algum tempo. Pode utilizar o Sinal normalmente enquanto efetua a cópia de segurança.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Os ficheiros mais antigos serão descarregados quando fizer a sua próxima cópia de segurança, mas podem ser transferidos a partir da sua cópia de segurança a qualquer altura.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Otimizar o armazenamento do Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Está tudo pronto. Inicie a sua cópia de segurança agora.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Tem ficheiros multimédia na sua cópia de segurança que não estão neste dispositivo. Os ficheiros multimédia não transferidos serão permanentemente eliminados sem uma subscrição paga.\n\nPode voltar a pagar a qualquer altura para continuar a fazer cópias de segurança dos seus ficheiros.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Transfira a cópia de segurança dos seus ficheiros multimédia";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Descarregar cópia de segurança agora";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Transfira já a cópia de segurança dos seus ficheiros multimédia";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Não foi possível descarregar a cópia de segurança";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Certifique-se que o seu método de pagamento está atualizado. Toque em Gerir subscrição > Signal > Atualizar método de pagamento.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Eliminar chat?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Silenciar este chat durante…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Ignorar e criar novo PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Usar chave de recuperação";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Se não se conseguir lembrar do seu PIN, você poderá criar um novo. Poderá registar e utilizar a sua conta mas irá perder algumas das definições guardadas como a sua informação de perfil.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Os PINs mantém encriptada a informação guardada no Signal de forma a que apenas você lhe possa aceder. O seu perfil, definições e contactos serão restaurados quando reinstalar o Signal. Não necessita do seu PIN para abrir a aplicação.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Ocorreu um problema ao criar o seu PIN. Entre em contacto com a equipa de suporte.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Mais acerca dos PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Os PINs não coincidem. Tente novamente.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Ocorreu um problema ao criar o seu PIN. Verifique a sua ligação e tente novamente.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "O PIN deverá conter pelo menos 4 dígitos";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Ignorar PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Usar chave de recuperação";
|
||||
|
||||
/* 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.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Liberte até %1$@ neste dispositivo";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Tem ficheiros multimédia na sua cópia de segurança que não estão neste dispositivo. Os ficheiros multimédia não transferidos serão permanentemente eliminados sem uma subscrição paga.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Se saltar a transferência, os restantes ficheiros multimédia e anexos da cópia de segurança podem ser transferidos mais tarde, quando o espaço de armazenamento estiver disponível.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Dicas de segurança";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Se tiver recebido um código de verificação que não pediu, alguém pode estar a tentar aceder à sua conta. Não partilhe o seu código.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Mantenha o seu código de verificação seguro";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Codul de recuperare este corect. Păstrează-ți codul în siguranță.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Ieșire din configurarea backup-ului";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Copiere în clipboard";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Am înțeles";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Creează un cod nou";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Backup-urile au fost dezactivate și datele tale au fost eliminate din serviciul de stocare securizată de la Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backup-urile au fost dezactivate, orice fișier media care nu se află pe dispozitiv se descarcă acum. După descărcare, datele tale vor fi șterse din serviciul de stocare securizată al Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "A apărut o eroare. Contactează serviciul de asistență.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Descarci fișiere media mutate?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Fișierele mai vechi vor fi mutate când faci următorul backup, dar pot fi descărcate oricând din backup.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Optimizarea stocării poate fi utilizată numai cu nivelul plătit de Backup-uri Signal. Actualizează-ți planul de backup pentru a începe să folosești această funcție.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimizează stocarea Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Ai atins limita de stocare pentru backup. Eliberează spațiu în Signal pentru a continua să faci backup la conversații și fișiere media.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Reactivează backup-urile";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Ai fișiere media în backup care nu se află pe acest dispozitiv. Fișierele nedescărcate vor fi eliminate permanent după ce sunt dezactivate backup-urile.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Omiți descărcarea?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Ai fișiere media în backup care nu se află pe acest dispozitiv. Fișierele nedescărcate vor fi eliminate permanent fără un abonament plătit.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Omiți descărcarea?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Omite descărcarea";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Sigur vrei să sari peste descărcarea fișierelor?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Omiți descărcarea?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Omite descărcarea";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Se încarcă…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Fă un backup acum";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Asta ar putea dura ceva timp. Poți folosi Signal normal în timp ce faci backup.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Fișierele mai vechi vor fi mutate când faci următorul backup, dar pot fi descărcate oricând din backup.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimizează stocarea Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Ești gata. Începe backup-ul acum.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Ai fișiere media în backup care nu se află pe acest dispozitiv. Fișierele nedescărcate vor fi șterse permanent fără un abonament plătit.\n\nPoți începe să plătești din nou pentru backup în orice moment, pentru a continua să îți salvezi toate fișierele media.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Descarcă-ți fișierele de backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Descarcă acum un backup";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Descarcă-ți fișierele de backup astăzi";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Nu descărca copia de rezervă";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Asigură-te că metoda ta de plată este actualizată. Atinge Gestionează abonamentul > Signal > Actualizează metoda de plată.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Șterg Conversația?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Pune pe silențios această conversație pentru…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Omite și creează un PIN nou";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Folosește codul de recuperare";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Dacă nu iți mai amintești codul PIN, poți crea unul nou. Îți poți înregistra și utiliza contul, dar vei pierde unele setări salvate, cum ar fi informațiile despre profil.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN-urile păstrează informațiile stocate în Signal criptate, astfel încât numai tu să le poți accesa. Profilul, setările și contactele se vor restabili atunci când reinstalezi Signal. Nu ai nevoie de PIN pentru a deschide aplicația.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Ceva nu a mers bine la crearea PIN-ului tău. Contactează serviciul de asistență.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Mai multe despre PIN-uri";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-urile nu se potrivesc. Încearcă din nou.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Ceva nu a mers bine la crearea PIN-ului tău. Verifică-ți conexiunea și încearcă din nou.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN-ul trebuie să aibă cel puțin 4 cifre";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Sări peste PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Folosește codul de recuperare";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Pentru a te ajuta să memorezi codul PIN, te vom ruga să îl introduci periodic. În timp, o să-l cerem mai rar.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Eliberează %1$@ pe acest dispozitiv";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Ai fișiere media în backup care nu se află pe acest dispozitiv. Fișierele nedescărcate vor fi eliminate permanent fără un abonament plătit.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Dacă omiți descărcarea, fișierele media rămase și atașamentele din backup pot fi descărcate mai târziu, când spațiul de stocare devine disponibil.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Sfaturi de siguranță";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Dacă primești un cod de verificare pe care nu l-ai cerut, este posibil ca cineva să încerce să îți acceseze contul. Nu distribui codul tău.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Păstrează-ți codul de verificare în siguranță";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Ключ восстановления правильный. Храните ключ в безопасности.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Выход из настройки резервного копирования";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Копировать в буфер обмена";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Понятно";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Создать новый ключ";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Резервное копирование было отключено, а ваши данные — удалены из защищённого хранилища Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Резервное копирование было отключено, и все медиафайлы, которых нет на этом устройстве, в данный момент загружаются. После загрузки ваши данные будут удалены из защищённого хранилища Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Произошла ошибка. Пожалуйста, свяжитесь с поддержкой.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Загрузить выгруженные медиафайлы?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Старые медиафайлы будут выгружены при создании новой резервной копии, но их можно будет загрузить из резервной копии в любое время.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Оптимизация хранилища доступна только с платным уровнем резервного копирования Signal. Обновите план резервного копирования, чтобы начать использовать эту функцию.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Оптимизируйте хранилище Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Вы исчерпали лимит хранилища резервных копий. Освободите место в Signal, чтобы продолжить резервное копирование чатов и медиафайлов.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Включить резервное копирование снова";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "У вас есть медиафайлы в резервных копиях, которых нет на этом устройстве. Незагруженные медиафайлы будут безвозвратно удалены после отключения резервного копирования.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Пропустить загрузку?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "У вас есть медиафайлы в резервных копиях, которых нет на этом устройстве. Незагруженные медиафайлы будут безвозвратно удалены без платной подписки.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Пропустить загрузку?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Пропустить загрузку";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Вы действительно хотите пропустить загрузку ваших медиафайлов?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Пропустить загрузку?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Пропустить загрузку";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Загрузка…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Создать резервную копию";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Это может занять некоторое время. Во время резервного копирования вы можете пользоваться Signal в обычном режиме.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Старые медиафайлы будут выгружены при создании новой резервной копии, но их можно будет загрузить из резервной копии в любое время.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Оптимизируйте хранилище Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Всё готово. Начните резервное копирование.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "У вас есть медиафайлы в резервных копиях, которых нет на этом устройстве. Незагруженные медиафайлы будут безвозвратно удалены без платной подписки.\n\nВы можете возобновить оплату за резервное копирование в любое время, чтобы продолжить создавать резервные копии своих медиафайлов.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Загрузите вашу резервную копию медиафайлов";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Загрузить резервную копию";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Загрузите вашу резервную копию медиафайлов уже сегодня";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Не загружать резервную копию";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Проверьте актуальность вашего способа оплаты. Нажмите «Управлять подпиской» > Signal > «Обновить способы оплаты».";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Удалить чат?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Отключить звуки этого чата на…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Пропустить и создать новый PIN-код";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Использовать ключ восстановления";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Если вы не можете вспомнить свой PIN-код, вы можете создать новый. Вы сможете зарегистрироваться и использовать свою учётную запись, но потеряете некоторые сохранённые настройки, например информацию вашего профиля.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN-коды шифруют информацию, хранящуюся в сервисе Signal, так что только вы можете получить к ней доступ. Ваши профиль, настройки и контакты будут восстановлены, если вы переустановите Signal. Ваш PIN-код не нужен, чтобы открыть приложение.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Что-то пошло не так при создании Пин-кода. Пожалуйста, свяжитесь с поддержкой.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Больше о Пин-кодах";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-коды не совпадают. Попробуйте ещё раз.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Что-то пошло не так при создании Пин-кода. Проверьте ваше подключение к интернету и попробуйте ещё раз.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN-код должен быть не короче 4 цифр";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Пропустить Пин-код";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Использовать ключ восстановления";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Чтобы помочь вам запомнить свой PIN-код, мы будем просить вас периодически вводить его. Со временем это будет происходить реже.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Освободите %1$@ на этом устройстве";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "У вас есть медиафайлы в резервных копиях, которых нет на этом устройстве. Незагруженные медиафайлы будут безвозвратно удалены без платной подписки.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Если вы пропустите загрузку, оставшиеся медиафайлы и вложения из резервной копии могут быть загружены позднее, когда освободится место для хранения.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Советы по безопасности";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Если вы получили код подтверждения, который не запрашивали, возможно, кто-то пытается получить доступ к вашей учётной записи. Не делитесь вашим кодом.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Храните код подтверждения в безопасности";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Kľúč na obnovenie je správny. Uchovajte ho v bezpečí.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Ukončiť nastavenie zálohovania";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Skopírovať do schránky";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Rozumiem";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Vytvoriť nový kľúč";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Zálohovanie bolo vypnuté a vaše údaje boli vymazané zo zabezpečeného úložiska Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Zálohovanie bolo vypnuté a všetky médiá, ktoré nie sú v tomto zariadení, sa práve sťahujú. Po stiahnutí budú vaše údaje vymazané zo zabezpečeného úložiska Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Vyskytla sa chyba. Kontaktujte náš tím podpory.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Stiahnuť presunuté médiá?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Staršie médiá budú pri ďalšom zálohovaní presunuté, môžete si ich však kedykoľvek stiahnuť zo zálohy.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Optimalizáciu úložiska je možné využiť iba v prípade, ak používate platenú verziu Záloh Signal. Ak chcete používať túto funkciu, aktualizujte svoj plán zálohovania.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimalizácia úložiska Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Dosiahli ste limit úložného priestoru. Ak chcete pokračovať v zálohovaní četov a médií, uvoľnite miesto v aplikácii Signal.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Znova povoliť zálohovanie";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "V zálohe máte médiá, ktoré nie sú na tomto zariadení. Nestiahnuté médiá budú po vypnutí zálohovania natrvalo vymazané.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Preskočiť sťahovanie?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "V zálohe máte médiá, ktoré nie sú na tomto zariadení. Nestiahnuté médiá budú bez plateného predplatného natrvalo vymazané.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Preskočiť sťahovanie?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Preskočiť sťahovanie";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Naozaj chcete preskočiť sťahovanie médií?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Preskočiť sťahovanie?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Preskočiť sťahovanie";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Nahrávanie…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Zálohovať teraz";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Môže to chvíľu trvať. Počas zálohovania môžete Signal používať ako obvykle.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Staršie médiá budú pri ďalšom zálohovaní presunuté, môžete si ich však kedykoľvek stiahnuť zo zálohy.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimalizácia úložiska Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Hotovo Môžete spustiť zálohovanie.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "V zálohe máte médiá, ktoré nie sú na tomto zariadení. Nestiahnuté médiá budú bez plateného predplatného natrvalo vymazané.\n\nKedykoľvek môžete začať opäť platiť za zálohy. Budete tak môcť pokračovať v zálohovaní svojich médií.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Stiahnite si svoje zálohované médiá";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Stiahnuť zálohu teraz";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Stiahnite si svoje zálohované médiá ešte dnes";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Nesťahovať zálohu";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Skontrolujte, či je váš spôsob platby aktuálny. Ťuknite na Spravovať predplatné > Signal > Aktualizovať spôsob platby.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Vymazať čet?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Stlmiť tento čet na…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Preskočiť a vytvoriť nový PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Použiť kľúč na obnovenie";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Ak si na svoj PIN nedokážete spomenúť, môžete si vytvoriť nový. Môžete sa zaregistrovať a používať svoj účet, ale prídete o niektoré uložené nastavenia, ako sú informácie o vašom profile.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN kódy udržiavajú informácie uložené v Signale zašifrované, aby ste k nim mali prístup iba vy. Váš profil, vaše nastavenia a kontakty sa po opätovnej inštalácii obnovia. Na otvorenie aplikácie PIN potrebovať nebudete.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Pri vytváraní PIN kódu sa vyskytla chyba. Kontaktujte náš tím podpory.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Viac o PIN kódoch";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PINy sa nezhodujú. Skúste to znovu.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Pri vytváraní PIN kódu sa vyskytla chyba. Skontrolujte svoje pripojenie a skúste to znova.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN musí mať aspoň 4 číslice";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Preskočiť PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Použiť kľúč na obnovenie";
|
||||
|
||||
/* 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.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Uvoľnite na tomto zariadení %1$@";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "V zálohe máte médiá, ktoré nie sú na tomto zariadení. Nestiahnuté médiá budú bez plateného predplatného natrvalo vymazané.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Ak preskočíte sťahovanie, zostávajúce médiá a prílohy vo vašej zálohe si môžete stiahnuť neskôr, keď bude k dispozícii úložný priestor.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Bezpečnostné tipy";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Ak ste dostali overovací kód, o ktorý ste nepožiadali, niekto sa môže pokúšať dostať do vášho účtu. Nezdieľajte svoj kód.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Uchovajte svoj overovací kód v bezpečí";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Кључ за опоравак је исправан. Чувајте кључ на сигурном.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Изађи из подешавања резервне копије";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Копирај";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "У реду";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Креирај нови кључ";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Резервне копије су искључене и ваши подаци су избрисани из Signal-овог сервиса за безбедно складиштење.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Резервне копије су искључене. Сви медији који нису на уређају се сада преузимају. Када буду преузети, ваши подаци ће бити избрисани из Signal-овог сервиса за безбедно складиштење.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Дошло је до грешке. Обратите се подршци.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Желите ли да преузмете уклоњене медије?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Старији медији ће бити премештени када направите следећу резервну копију, али се могу преузети из резервне копије у било ком тренутку.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Оптимизација меморијског простора се може користити само ако имате плаћени пакет резервних копија Signal-а. Надоградите пакет резервних копија да бисте могли да користите ову функционалност.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Оптимизуј меморијски простор Signal-а";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Достигли сте ограничење простора за резервну копију. Ослободите простор у Signal-у да бисте наставили са прављењем резервних копија ћаскања и медија.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Поново омогући резервне копије";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Имате медије у резервној копији која није на овом уређају. Непреузети медији ће бити трајно избрисани након што се искључи прављење резервних копија.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Желите ли да прескочите преузимање?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Имате медије у резервној копији која није на овом уређају. Непреузети медији ће бити трајно избрисани без плаћене претплате.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Желите ли да прескочите преузимање?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Прескочи преузимање";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Да ли сте сигурни да желите да прескочите преузимање медија?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Желите ли да прескочите преузимање?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Прескочи преузимање";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Отпрема се…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Направи резервну копију";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Ово може потрајати. Signal можете користити нормално док се креира резервна копија.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Старији медији ће бити премештени када направите следећу резервну копију, али се могу преузети из резервне копије у било ком тренутку.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Оптимизуј меморијски простор Signal-а";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Све је спремно. Покрените креирање резервне копије.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Имате медије у резервној копији која није на овом уређају. Непреузети медији ће бити трајно избрисани без плаћене претплате.\n\nМожете поново да почнете да плаћате резервне копије у било ком тренутку да бисте наставили са прављењем резервних копија свих својих медија.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Преузмите медије из резервне копије";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Преузми резервну копију";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Преузмите медије из резервне копије данас";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Немој да преузмеш резервну копију";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Проверите да ли је ваш начин плаћања ажуриран. Додирните Управљање претплатом > Signal > Ажурирај начин плаћања.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Желите ли да избришете ћаскање?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Искључи обавештења за ово ћаскање на одређено време…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Прескочи и креирај нови PIN";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Употреби кључ за опоравак";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Ако се не сећате свог PIN-а, можете креирати нови. Можете да се региструјете и користите налог, али ћете изгубити нека сачувана подешавања као што су информације на профилу.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "Подаци које Signal складишти се шифрују помоћу PIN-а, тако да им само ви можете приступити. Ваш налог, подешавања и контакти ће бити враћени када поново инсталирате Signal. Неће бити потребан PIN да бисте отворили апликацију.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Дошло је до грешке приликом креирања PIN-а. Обратите се подршци.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Више о PIN-овима";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-ови се не поклапају. Пробајте поново.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Дошло је до грешке приликом креирања PIN-а. Проверите да ли сте повезани на интернет и пробајте поново.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN мора садржати бар 4 цифре";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Прескочи PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Употреби кључ за опоравак";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Да бисмо вам помогли да запамтите свој PIN, повремено ћемо вам тражити да га унесете. Временом ће то бити све ређе.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Ослободите %1$@ на овом уређају";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Имате медије у резервној копији која није на овом уређају. Непреузети медији ће бити трајно избрисани без плаћене претплате.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Ако прескочите преузимање преосталих медија и прилога у резервној копији, можете их преузети касније када меморијски простор постане доступан.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Савети за безбедност";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Ако сте примили верификациони код који нисте затражили, то можда значи да неко други покушава да приступи вашем налогу. Не делите своју шифру ни са ким.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Чувајте верификациони код на сигурном";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Återställningsnyckeln är korrekt. Förvara din nyckel säkert.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Avsluta säkerhetskopieringsinställning";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Kopiera till urklipp";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Uppfattat";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Skapa ny nyckel";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Säkerhetskopieringar har stängts av och dina data har tagits bort från Signals säkra lagringstjänst.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Säkerhetskopiering har inaktiverats. Alla mediefiler som inte finns på enheten laddas ner nu. När dina data har laddats ner kommer de att raderas från Signals säkra lagringstjänst.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Ett fel inträffade. Kontakta supporten.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Ladda ner avlastade media?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Äldre mediefiler avlastas vid nästa säkerhetskopiering, men kan laddas ner från säkerhetskopian när som helst.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Lagringsoptimering kan endast användas med den betalda nivån av Säkerhetskopiering av Signal. Uppgradera din säkerhetskopieringsplan för att börja använda den här funktionen.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimera Signal-lagring";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Du har nått din gräns för säkerhetskopiering. Frigör utrymme i Signal för att fortsätta säkerhetskopiera chattar och media.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Återaktivera säkerhetskopiering";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Du har media i din säkerhetskopia som inte finns på den här enheten. Media som inte har laddats ner kommer att raderas permanent när säkerhetskopior inaktiveras.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Hoppa över nedladdning?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Du har media i din säkerhetskopia som inte finns på den här enheten. Media som inte har laddats ner kommer att raderas permanent utan ett betalabonnemang.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Hoppa över nedladdning?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Hoppa över nedladdning";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Är du säker på att du vill hoppa över att ladda ner dina mediefiler?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Hoppa över nedladdning?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Hoppa över nedladdning";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Laddar upp …";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Säkerhetskopiera nu";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Det kan ta en stund. Du kan använda Signal som vanligt medan du säkerhetskopierar.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Äldre mediefiler avlastas vid nästa säkerhetskopiering, men kan laddas ner från säkerhetskopian när som helst.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimera Signal-lagring";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Du är redo. Starta din säkerhetskopiering nu.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Du har mediefiler i din säkerhetskopia som inte finns på den här enheten. Media som inte har laddats ner kommer att raderas permanent utan ett betalabonnemang.\n\nDu kan när som helst börja betala för säkerhetskopiering igen för att fortsätta säkerhetskopiera dina mediefiler.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Ladda ner dina säkerhetskopierade mediefiler";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Ladda ner säkerhetskopian nu";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Ladda ner dina säkerhetskopierade mediefiler idag";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Ladda inte ner säkerhetskopian";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Kontrollera att din betalningsmetod är uppdaterad. Tryck på Hantera abonnemang > Signal > Uppdatera betalningsmetod.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Ta bort chatt?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Tysta denna chatt i …";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Hoppa över och skapa ny PIN-kod";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Använd återställningsnyckel";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Om du inte kommer ihåg din PIN-kod kan du skapa en ny. Du kan registrera och använda ditt konto men du kommer att förlora några sparade inställningar som din profilinformation.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN-koden håller information som lagras hos Signal krypterad så att du bara kan komma åt den. Din profil, inställningar och kontakter kommer att återställas när du installerar om. Du behöver inte din PIN-kod för att öppna appen.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Något gick fel när din pinkod skulle skapas. Kontakta supporten.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Mer om pinkoder";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-koder matchar inte. Försök igen.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Något gick fel när din pinkod skulle skapas. Kontrollera din anslutning och försök igen.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN-koden måste vara minst 4 siffror";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Hoppa över pinkod";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Använd återställningsnyckel";
|
||||
|
||||
/* 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.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Frigör %1$@ på den här enheten";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Du har media i din säkerhetskopia som inte finns på den här enheten. Media som inte har laddats ner kommer att raderas permanent utan ett betalabonnemang.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Om du hoppar över nedladdning kan återstående media och bilagor i din säkerhetskopia laddas ner vid ett senare tillfälle när lagringsutrymme blir tillgängligt.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Säkerhetstips";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Om du har fått en verifieringskod som du inte har begärt kan det vara någon som försöker komma åt ditt konto. Dela inte din kod.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Förvara din verifieringskod säkert";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "กุญแจกู้คืนถูกต้อง โปรดเก็บกุญแจของคุณให้ปลอดภัย";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "ออกจากการตั้งค่าการสำรองข้อมูล";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "คัดลอกไปคลิปบอร์ด";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "เข้าใจแล้ว";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "สร้างกุญแจใหม่";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "การสำรองข้อมูลถูกปิดใช้งานและข้อมูลของคุณถูกลบออกจากบริการจัดเก็บที่ปลอดภัยของ Signal แล้ว";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "ปิดใช้งานการสำรองข้อมูลแล้ว และกำลังดาวน์โหลดไฟล์สื่อที่ยังไม่ได้บันทึกไว้ในอุปกรณ์เครื่องนี้ โดยข้อมูลของคุณจะถูกลบออกจากบริการจัดเก็บที่ปลอดภัยของ Signal เมื่อการดาวน์โหลดเสร็จสิ้น";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "เกิดข้อผิดพลาดบางประการ โปรดติดต่อฝ่ายสนับสนุน";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "ดาวน์โหลดไฟล์สื่อที่ออฟโหลดไว้ใช่หรือไม่";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "ไฟล์สื่อที่เก่าแล้วจะถูกออฟโหลดเมื่อคุณสำรองข้อมูลในครั้งต่อไป แต่คุณสามารถดาวน์โหลดไฟล์กลับมาจากข้อมูลสำรองได้ทุกเมื่อ";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "เริ่มใช้งานฟีเจอร์การเพิ่มประสิทธิภาพพื้นที่จัดเก็บ โดยอัปเกรดแพ็กเกจสำรองข้อมูลของคุณด้วยการชำระค่าสำรองข้อมูลของ Signal";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "เพิ่มประสิทธิภาพพื้นที่จัดเก็บของ Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "พื้นที่จัดเก็บข้อมูลสำรองของคุณเต็มแล้ว โปรดเพิ่มพื้นที่จัดเก็บใน Signal เพื่อสำรองข้อมูลแชทและไฟล์สื่อต่อไป";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "เปิดใช้งานการสำรองข้อมูลอีกครั้ง";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "คุณมีไฟล์สื่อในข้อมูลสำรองที่ยังไม่ได้กู้คืนมายังอุปกรณ์เครื่องนี้ เมื่อคุณปิดใช้งานการสำรองข้อมูล ไฟล์สื่อที่คุณยังไม่ได้ดาวน์โหลดจะถูกลบอย่างถาวร";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "ข้ามการดาวน์โหลดใช่หรือไม่";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "คุณมีไฟล์สื่อในข้อมูลสำรองที่ยังไม่ได้กู้คืนมายังอุปกรณ์เครื่องนี้ หากไม่มีการสมัครและชำระค่าแพ็กเกจ ไฟล์สื่อที่คุณยังไม่ได้ดาวน์โหลดจะถูกลบอย่างถาวร";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "ข้ามการดาวน์โหลดใช่หรือไม่";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "ข้ามการดาวน์โหลด";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "คุณแน่ใจหรือไม่ว่าต้องการข้ามการดาวน์โหลดไฟล์สื่อ";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "ข้ามการดาวน์โหลดใช่หรือไม่";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "ข้ามการดาวน์โหลด";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "กำลังส่งข้อมูล…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "สำรองข้อมูลเดี๋ยวนี้";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "ขั้นตอนนี้อาจใช้เวลาสักครู่ โดยคุณสามารถใช้ Signal ได้ตามปกติในระหว่างที่กำลังสำรองข้อมูล";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "ไฟล์สื่อที่เก่าแล้วจะถูกออฟโหลดเมื่อคุณสำรองข้อมูลในครั้งต่อไป แต่คุณสามารถดาวน์โหลดไฟล์กลับมาจากข้อมูลสำรองได้ทุกเมื่อ";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "เพิ่มประสิทธิภาพพื้นที่จัดเก็บของ Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "ตั้งค่าเรียบร้อย เริ่มสำรองข้อมูลของคุณได้เลย";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "คุณมีไฟล์สื่อในข้อมูลสำรองที่ยังไม่ได้กู้คืนมายังอุปกรณ์เครื่องนี้ หากไม่มีการสมัครและชำระค่าแพ็กเกจ ไฟล์สื่อที่คุณยังไม่ได้ดาวน์โหลดจะถูกลบอย่างถาวร\n\nหากต้องการสำรองข้อมูลสื่อต่อ คุณสามารถเริ่มชำระเงินเพื่อสำรองข้อมูลอีกครั้งได้ทุกเมื่อ";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "ดาวน์โหลดไฟล์สื่อในข้อมูลสำรองของคุณ";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "ดาวน์โหลดข้อมูลสำรองเดี๋ยวนี้";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "ดาวน์โหลดไฟล์สื่อในข้อมูลสำรองของคุณวันนี้";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "ไม่ต้องดาวน์โหลดข้อมูลสำรอง";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "โปรดตรวจสอบให้แน่ใจว่าคุณอัปเดตวิธีการชำระเงินแล้ว โดยแตะที่จัดการการเป็นสมาชิก > Signal > อัปเดตวิธีการชำระเงิน";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "ลบแชทใช่หรือไม่";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "ปิดเสียงแชทนี้เป็นเวลา…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "ข้ามและสร้างรหัส PIN ใหม่";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "ใช้กุญแจกู้คืน";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "ถ้าคุณจำรหัส PIN ไม่ได้ คุณสามารถสร้างมันใหม่ คุณสามารถลงทะเบียนและใช้บัญชีของคุณได้ แต่คุณจะสูญเสียการตั้งค่าเดิมอย่างข้อมูลโปรไฟล์ของคุณ";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "รหัส PIN รักษาข้อมูลที่เก็บไว้ใน Signal ได้เข้ารหัสไว้ ดังนั้นจึงมีแต่คุณที่เข้าถึงข้อมูลนี้ได้ โปรไฟล์ของคุณ การตั้งค่า และรายชื่อผู้ติดต่อจะถูกกู้คืนเมื่อคุณติดตั้งแอปอีกครั้ง คุณไม่จำเป็นต้องมีรหัส PIN ของคุณเพื่อเปิดแอป";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "เกิดข้อผิดพลาดในระหว่างการสร้าง PIN ของคุณ โปรดติดต่อฝ่ายสนับสนุน";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "ข้อมูลเพิ่มเติมเกี่ยวกับ PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "รหัส PIN ไม่ตรงกัน ลองอีกครั้ง";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "เกิดข้อผิดพลาดในระหว่างการสร้าง PIN ของคุณ โปรดตรวจสอบการเชื่อมต่อของคุณแล้วลองอีกครั้ง";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "รหัส PIN ต้องมีอย่างน้อย 4 หลัก";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "ข้ามการใส่ PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "ใช้กุญแจกู้คืน";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "เพื่อช่วยให้คุณจดจำรหัส PIN ได้ เราจะขอให้คุณใส่รหัส PIN เป็นระยะ เราจะถามคุณน้อยลงเมื่อเวลาผ่านไป";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "เพิ่มพื้นที่ %1$@ บนอุปกรณ์เครื่องนี้";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "คุณมีไฟล์สื่อในข้อมูลสำรองที่ยังไม่ได้กู้คืนมายังอุปกรณ์เครื่องนี้ หากไม่มีการสมัครและชำระค่าแพ็กเกจ ไฟล์สื่อที่คุณยังไม่ได้ดาวน์โหลดจะถูกลบอย่างถาวร";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "หากข้ามการดาวน์โหลด คุณจะสามารถดาวน์โหลดไฟล์สื่อและไฟล์แนบที่หลงเหลืออยู่ในข้อมูลสำรองได้ในภายหลังเมื่ออุปกรณ์มีพื้นที่จัดเก็บเพียงพอ";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "คำแนะนำเพื่อความปลอดภัย";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "หากคุณได้รับรหัสยืนยันทั้งที่ไม่ได้ส่งคำขอ นั่นแสดงว่าอาจมีบุคคลอื่นพยายามเข้าถึงบัญชีคุณ อย่าเปิดเผยรหัสของคุณกับใคร";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "รักษารหัสยืนยันของคุณให้ปลอดภัย";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Kurtarma anahtarı doğru. Anahtarını güvende tut.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Yedekleme Kurulumundan Çık";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Panoya Kopyala";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Anladım";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Yeni Anahtar Oluştur";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Yedeklemeler kapatıldı ve verilerin Signal'ın güvenli depolama hizmetinden silindi.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Yedeklemeler kapatıldı ve bu cihazda bulunmayan medya dosyaları şimdi indiriliyor. Verilerin indirildikten sonra, Signal'ın güvenli depolama alanı hizmetinden silinecektir.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Bir hata oluştu. Lütfen destek ekibiyle iletişime geç.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Boşaltılan medya indirilsin mi?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Bir sonraki yedeklemeni gerçekleştirdiğinde eski medya kaldırılır, ancak istediğin zaman yedeklemenden indirilebilir.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Depolama optimizasyonu yalnızca Signal Yedeklemelerin ücretli katmanı ile kullanılabilir. Bu özelliği kullanmaya başlamak için yedekleme planını yükselt.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal Depolama Alanını Optimize Et";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Yedekleme depolama sınırına ulaştın. Sohbetleri ve medyayı yedeklemeye devam etmek için Signal'da yer aç.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Yedeklemeleri yeniden etkinleştir";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Yedeklemende bu cihazda olmayan medya var. İndirilmeyen medya, yedeklemeler devre dışı bırakıldıktan sonra kalıcı olarak silinecektir.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "İndirme Atlansın mı?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Yedeklemende bu cihazda olmayan medya var. İndirilmeyen medya, ücretli abonelik olmadığı takdirde kalıcı olarak silinecektir.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "İndirme Atlansın mı?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "İndirmeyi Atla";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Medyanı indirmeyi atlamak istediğinden emin misin?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "İndirme Atlansın mı?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "İndirmeyi atla";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Yükleniyor…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Şimdi Yedekle";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Bu işlem biraz zaman alabilir. Yedekleme yapılırken Signal'ı normal şekilde kullanabilirsin.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Bir sonraki yedeklemeni gerçekleştirdiğinde eski medya kaldırılır, ancak istediğin zaman yedeklemenden indirilebilir.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal Depolama Alanını Optimize Et";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Şimdi hazırsın. Yedeklemeni şimdi başlat.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Yedeklemende bu cihazda olmayan medya var. İndirilmeyen medya, ücretli abonelik olmadığı takdirde kalıcı olarak silinecektir.\n\nMedyanı yedeklemeye devam etmek için istediğin zaman yeniden ücretli aboneliğe geçebilirsin.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Yedekleme Medyanı İndir";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Yedeklemeyi Şimdi İndir";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Yedekleme Medyanı Hemen İndir";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Yedeklemeyi İndirme";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Ödeme yönteminin güncel olduğundan emin olmak için kontrol et. Aboneliği Yönet > Signal > Ödeme Yöntemini Güncelle seçeneklerine dokun.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Sohbet silinsin mi?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Bu sohbeti sessize al…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Geç ve Yeni PIN Oluştur";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Kurtarma Anahtarı Kullan";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "PIN'inizi hatırlayamıyorsanız, yeni bir tane oluşturabilirsiniz. Hesabınızı kaydedebilir ve kullanabilirsiniz, ancak profil bilgileriniz gibi kaydedilmiş bazı ayarları kaybedersiniz.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN'ler Signal'de depolanan verileri şifreli olarak tutar böylelikle yalnızca siz erişebilirsiniz. Profiliniz, ayarlarınız ve kişileriniz Signal'i yeniden yüklediğinizde geri yüklenecektir. Uygulamayı açmak için PIN'inize ihtiyacınız yoktur.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "PIN'in oluşturulurken bir sorun oluştu. Lütfen destek ekibiyle iletişime geç.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "PIN'ler Hakkında Daha Fazla Bilgi";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN'ler eşleşmiyor. Tekrar deneyin.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "PIN'in oluşturulurken bir sorun oluştu. Bağlantını kontrol edip tekrar dene.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN en az 4 haneli olmalı";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "PIN'i atla";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Kurtarma Anahtarı Kullan";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "PIN'inizi hatırlamanıza yardımcı olmak için, arada sırada girmenizi isteyeceğiz. Zaman geçtikçe daha az soracağız.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Bu cihazda %1$@ yer boşalt";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Yedeklemende bu cihazda olmayan medya var. İndirilmeyen medya, ücretli abonelik olmadığı takdirde kalıcı olarak silinecektir.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "İndirmeyi atlarsan, yedeklemende kalan medya ve ekler daha sonra depolama alanı kullanılabilir hale geldiğinde indirilebilir.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Güvenlik İpuçları";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "İstemediğin bir doğrulama kodu aldıysan, birisi hesabına erişmeye çalışıyor olabilir. Kodunu paylaşma.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Doğrulama kodunu güvende tut";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "ئەسلىگە كەلتۈرۈش ئاچقۇچى توغرا. ئاچقۇچىڭىزنى بىخەتەر ساقلاڭ.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "زاپاسلاشنى قۇرۇشتىن چېكىنىش";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "چاپلاش تاختىسىغا كۆچۈر";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "بىلدىم";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "يېڭى ئاچقۇچ قۇرۇڭ";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "زاپاسلاش ئېتىۋېتىلدى ۋە Signalنىڭ بىخەتەر ساقلاش مۇلازىمىتىدىن سانلىق مەلۇماتلىرىڭىز ئۆچۈرۈلدى.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "زاپاسلاش ئېتىۋېتىلدى، بۇ ئۈسكۈنىدە يوق ھەرقانداق مېدىيا ھازىر چۈشۈرۈلىۋاتىدۇ. چۈشۈرۈلگەندىن كېيىن، سانلىق مەلۇماتلىرىڭىز Signalنىڭ بىخەتەر ساقلاش مۇلازىمىتىدىن ئۆچۈرۈلىدۇ.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "بىر خاتالىق كۆرۈلدى. ياردەمچى خادىم بىلەن ئالاقىلىشىڭ.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "قالدۇرۇۋېتىلگەن مېدىيانى چۈشۈرەمسىز؟";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "كىيىنكى زاپاسلاشنى ئېلىپ بارسىڭىز كونا مېدىيا چۈشۈرۋېتىلىدۇ، ئەمما زاپاسلىغان ئورۇندىن خالىغان ۋاقىتتا چۈشۈرەلەيسىز.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "ساقلاشنى ئەلالاشتۇرۇش پەقەت سىگنال زاپاسلاشنىڭ ھەقلىق دەرىجىسى بىلەنلا ئىشلىتىلىدۇ. زاپاسلاش پىلانىڭىزنى يېڭىلاپ بۇ ئىقتىدارنى ئىشلىتىشنى باشلاڭ.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal ساقلاش بوشلىقىنى ئەلالاشتۇرۇش";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "زاپاسلاش ئامبىرىڭىزنىڭ چېكىگە يەتتىڭىز. پاراڭلار ۋە مېدىيانى داۋاملىق زاپاسلاش ئۈچۈن Signalدا بوشلۇق ھازىرلاڭ.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "زاپاسلاشنى قايتا قوزغىتىش";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "زاپاس سانلىق مەلۇماتىڭىزدا بۇ ئۈسكۈنىدە يوق مېدىيا بار. زاپاسلاش ئېتىۋېتىلگەن ھامان، چۈشۈرۈلمىگەن مېدىيا مەڭگۈلۈك ئۆچۈرۈلۈپ تاشلىنىدۇ.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "چۈشۈرۈشتىن ۋاز كېچەمسىز؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "زاپاس سانلىق مەلۇماتىڭىزدا بۇ ئۈسكۈنىدە يوق مېدىيا بار. مۇشتەرىلىكىڭىز بولمىسا، چۈشۈرۈلمىگەن مېدىيا مەڭگۈلۈك ئۆچۈرۈلۈپ تاشلىنىدۇ.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "چۈشۈرۈشتىن ۋاز كېچەمسىز؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "چۈشۈرۈشتىن ۋاز كېچىش";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "مېدىيانى چۈشۈرۈشنى ئاتلاپ ئۆتۈپ كېتىشنى جەزىملەشتۈرەمسىز؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "چۈشۈرۈشتىن ۋاز كېچەمسىز؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "چۈشۈرۈشتىن ۋاز كېچىش";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "يۈكلىنىۋاتىدۇ...";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "ھازىر زاپاسلا";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "بۇنىڭغا بىر ئاز ۋاقىت كېتىشى مۇمكىن. زاپاسلاش ئېلىپ بېرىلىۋاتقاندىمۇ Signal نى ئادەتتىكىدەكلا ئىشلىتەلەيسىز.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "كىيىنكى زاپاسلاشنى ئېلىپ بارسىڭىز كونا مېدىيا چۈشۈرۋېتىلىدۇ، ئەمما زاپاسلىغان ئورۇندىن خالىغان ۋاقىتتا چۈشۈرەلەيسىز.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal ساقلاش بوشلىقىنى ئەلالاشتۇرۇش";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "ھەممىسى تەييار بولدى. زاپاسلاشنى ھازىرلا باشلاڭ.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "زاپاس سانلىق مەلۇماتىڭىزدا بۇ ئۈسكۈنىدە يوق مېدىيا بار. مۇشتەرىلىكىڭىز بولمىسا، چۈشۈرۈلمىگەن مېدىيا مەڭگۈلۈك ئۆچۈرۈلۈپ تاشلىنىدۇ.\n\nسىز ھارقانداق ۋاقىتتا بارلىق مېدىيالىرىڭىزنى داۋاملىق زاپاسلاش ئۈچۈن پۇل تۆلەشكە باشلىسىڭىز بولىدۇ.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "زاپاس مېدىيانى چۈشۈرۈڭ";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "زاپاس سانلىق مەلۇماتلىرىڭىزنى ھازىر چۈشۈرۈڭ";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "زاپاس مېدىيانى بۈگۈنلا چۈشۈرۈڭ";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "زاپاس سانلىق مەلۇماتلىرىڭىزنى چۈشۈرمەڭ";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "پۇل تۆلەش ئۇسۇلىڭىزنىڭ ئەڭ يېڭى ئىكەنلىكىنى جەزملەشتۈرۈڭ. «مۇشتەرىلىكنى باشقۇرۇش> Signal> ھەق تۆلەش ئۇسۇلىنى يېڭىلاش»نى چېكىڭ.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "پاراڭنى ئۆچۈرەمسىز؟";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "بۇ پاراڭنى تۆۋەندىكىلەر ئۈچۈن ئۈنسىز قىلىش...";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "ئاتلاڭ ۋە يېڭى PIN كىرگۈزۈڭ";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "ئەسلىگە كەلتۈرۈش ئاچقۇچىنى ئىشلىتىڭ";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "ئەگەر PIN نى ئەسلىيەلمىسىڭىز، يېڭىدىن بىرنى قۇرسىڭىز بولىدۇ. ھېساباتىڭىزنى تىزىملىتالايسىز ۋە ئىشلىتەلەيسىز، ئەمما ئارخىپ ئۇچۇرلىرىڭىزغا ئوخشاش ساقلانغان تەڭشەكلەرنى يوقىتىپ قويىسىز.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PINلەر Signalدا ساقلانغان ئۇچۇرلارنى مەخپىيلەشتۈرۈپ ساقلايدۇ. شۇڭا سىزلا زىيارەت قىلالايسىز. ئارخىپىڭىز، سەپلىمىلىرىڭىز ۋە ئالاقەداشلىرىڭىز Signal نى قايتا قاچىلىغىنىڭىزدا ئەسلىگە كەلتۈرىلىدۇ. ئەپنى ئېچىش PIN نىڭىز كېرەك ئەمەس.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "PIN نومۇرىنى قۇرۇش جەريانىدا خاتالىق كۆرۈلدى. ياردەمچى خادىم بىلەن ئالاقىلىشىڭ.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "PIN ھەققىدە تەپسىلاتلار";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN ماس كەلمىدى. قايتا سىناڭ.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "PIN نومۇرىنى قۇرۇش جەريانىدا خاتالىق كۆرۈلدى. تور ئۇلىنىشىڭىزنى تەكشۈرۈپ قايتا سىناڭ.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN ئەڭ ئاز 4 خانىدىن تۈزۈلۈشى كېرەك";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "PIN كىرگۈزۈشتىن ئاتلاش";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "ئەسلىگە كەلتۈرۈش ئاچقۇچىنى ئىشلىتىڭ";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "ئەستە تۇتۇشىڭىزغا قۇلايلىق بولۇشى ئۈچۈن PIN نى قەرەللىك ئەسكەرتىپ تۇرىمىز. ئەسكەرتىش قېتىم سانى تەدرىجىي ئازلايدۇ.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "بۇ ئۈسكۈنىدىكى %1$@ بوشلۇقنى بېكارلاڭ";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "زاپاس سانلىق مەلۇماتىڭىزدا بۇ ئۈسكۈنىدە يوق مېدىيا بار. مۇشتەرىلىكىڭىز بولمىسا، چۈشۈرۈلمىگەن مېدىيا مەڭگۈلۈك ئۆچۈرۈلۈپ تاشلىنىدۇ.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "ئەگەر زاپاس مېدىيا ۋە قوشۇمچە ھۆججەتلەرنى چۈشۈرۈشنى ئاتلاپ ئۆتۈپ كەتسىڭىز ، كىيىن ساقلاش بوشلۇقى چىققاندا چۈشۈرگىلى بولىدۇ.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "بىخەتەرلىك ئەسكەرتىشلىرى";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "ئەگەر سىز تەلەپ قىلمىغان ئەھۋالدا بىر دەلىللەش كودى تاپشۇرۇۋالغان بولسىڭىز، بىرى سىزنىڭ ھېساباتىڭىزغا كىرىشكە ئۇرۇنغان بولۇشى مۇمكىن. كودىڭىزنى ئورتاقلاشماڭ.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "دەلىللەش كودىڭىزنى بىخەتەر ساقلاڭ";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Ключ відновлення правильний. Бережіть цей ключ.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Перервати";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Копіювати в буфер обміну";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Зрозуміло";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Створити новий ключ";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Резервне копіювання вимкнено, а ваші дані видалено із захищеного сховища даних Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Резервне копіювання вимкнено. Триває завантаження медіафайлів, які не зберігаються на пристрої. Після завантаження ваші дані буде видалено з надійного сховища даних Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Сталася помилка. Будь ласка, зверніться до служби підтримки.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Завантажити вивантажені медіафайли?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Старі медіафайли буде вивантажено з пам'яті пристрою під час створення чергової резервної копії; їх можна в будь-який час завантажити на пристрій з резервної копії.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Оптимізація пам'яті доступна тим, хто користується платним резервним копіюванням від Signal. Оформте передплату, щоб використовувати цю функцію.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Оптимізувати сховище Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Розмір резервної копії досяг ліміту. Звільніть місце в Signal, щоб продовжити резервне копіювання чатів і медіафайлів.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Увімкнути знову";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "У вашій резервній копії є медіафайли, що не зберігаються на цьому пристрої. Після вимкнення резервного копіювання незавантажені медіафайли буде видалено.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Не завантажувати?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "У вашій резервній копії є медіафайли, що не зберігаються на цьому пристрої. Без передплати незавантажені медіафайли буде видалено.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Не завантажувати?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Не завантажувати";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Ви справді не хочете завантажувати медіафайли?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Не завантажувати?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Не завантажувати";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Вивантаження…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Створити копію зараз";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Це може тривати довго. Та поки копія створюється, ви можете користуватися Signal як зазвичай.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Старі медіафайли буде вивантажено з пам'яті пристрою під час створення чергової резервної копії; їх можна в будь-який час завантажити на пристрій з резервної копії.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Оптимізувати сховище Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Усе готово. Тепер можна створити надійну резервну копію.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "У вашій резервній копії є медіафайли, що не зберігаються на цьому пристрої. Без передплати незавантажені медіафайли буде видалено.\n\nВи можете поновити оплату в будь-який момент, щоб знову здійснювати резервне копіювання медіафайлів.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Завантажте медіафайли з резервної копії";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Завантажити зараз";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Завантажте медіафайли з резервної копії сьогодні";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Не завантажувати";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Перевірте дійсність вашого платіжного засобу. Натисніть «Керувати передплатою» > Signal > оновіть платіжний засіб.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Видалити чат?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Вимкнути сповіщення чату на…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Пропустити й створити новий PIN-код";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Використати ключ відновлення";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "Якщо ви забули свій PIN-код, то можете створити новий. Ви можете зареєструвати й використовувати акаунт, але ви втратите частину збережених налаштувань, як-от інформацію профілю.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN-коди забезпечують шифрування інформації, що зберігається в Signal, щоб отримати до неї доступ могли тільки ви. У разі перевстановлення Signal ви зможете відновити свій профіль, налаштування й контакти. Щоб відкрити застосунок, PIN-код не потрібен.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Під час створення PIN-коду сталася помилка. Будь ласка, зверніться до служби підтримки.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Детальніше про PIN-коди";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN-коди не збігаються. Введіть їх ще раз.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Під час створення PIN-коду сталася помилка. Перевірте з'єднання й спробуйте ще раз.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Мінімальна довжина PIN-коду — 4 цифри";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Пропустити PIN-код";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Використати ключ відновлення";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "Щоб ви запам'ятали свій PIN-код, ми періодично проситимемо вас його вводити. Згодом це ставатиметься рідше.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Звільніть %1$@ на цьому пристрої";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "У вашій резервній копії є медіафайли, що не зберігаються на цьому пристрої. Без передплати незавантажені медіафайли буде видалено.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Якщо не завантажити дані, решту медіафайлів і вкладень можна буде завантажити пізніше, коли на пристрої буде вільне місце.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Заходи безпеки";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Якщо вам несподівано надійшов код підтвердження, можливо, хтось намагається отримати доступ до вашого акаунту. Нікому не повідомляйте свого коду.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Нікому не повідомляйте свій код підтвердження";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "ریکوری کیی درست ہے۔ اپنی کیی کو محفوظ رکھیں۔";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "بیک اپ کا سیٹ اپ بند کریں";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "کلپ بورڈ پر کاپی کریں";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "سمجھ گیا";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "نئی کیی تخلیق کریں";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "بیک اپس کو آف کر دیا گیا ہے اور آپ کے ڈیٹا کو Signal کی محفوظ اسٹوریج کی سروس سے حذف کر دیا گیا ہے۔";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "بیک اپس غیر فعال کر دیے گئے ہیں، اور ایسا کوئی بھی میڈیا جو اس ڈیوائس میں موجود نہیں ہے اب ڈاؤن لوڈ ہو رہا ہے۔ ڈاؤن لوڈ ہونے کے بعد آپ کے ڈیٹا کو Signal کی محفوظ شدہ اسٹوریج کی سروس سے حذف کر دیا جائے گا۔";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "ایک نقص پیش آیا۔ براہ کرم سپورٹ سے رابطہ کریں۔";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "آف لوڈ شدہ میڈیا ڈاؤن لوڈ کریں؟";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "جب آپ اپنا اگلا بیک اپ کریں گے تو پرانا میڈیا آف لوڈ ہو جائے گا، لیکن اپنے بیک اپ سے اسے کسی بھی وقت ڈاؤن لوڈ کر سکتے ہیں۔";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "اسٹوریج کی کارکردگی کو صرف Signal بیک اپس کے ادا شدہ درجے کے ساتھ ہی استعمال کیا جا سکتا ہے۔ اس فیچر کے استعمال کو شروع کرنے کے لیے اپنے بیک اپ پلان کو اپ گریڈ کریں۔";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Signal کی اسٹوریج کو بہتر کریں";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "آپ اپنی بیک اپ اسٹوریج کی حد تک پہنچ گئے ہیں۔ چیٹس اور میڈیا کا بیک اپ جاری رکھنے کے لیے Signal میں جگہ خالی کریں۔";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "بیک اپس کو دوبارہ فعال کریں";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "آپ کے بیک اپ میں وہ میڈیا موجود ہے جو اس ڈیوائس میں موجود نہیں ہے۔ بیک اپس غیر فعال کر دیے جانے کے بعد غیر ڈاؤن لوڈ شدہ میڈیا مستقل طور پر حذف کر دیا جائے گا۔";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "ڈاؤن لوڈ کو چھوڑ دیں؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "آپ کے بیک اپ میں وہ میڈیا موجود ہے جو اس ڈیوائس میں موجود نہیں ہے۔ ادا شدہ سبسکرپشن کے بغیر غیر ڈاؤن لوڈ شدہ میڈیا مستقل طور پر حذف کر دیا جائے گا۔";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "ڈاؤن لوڈ کو چھوڑ دیں؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "ڈاؤن لوڈ چھوڑ دیں";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "کیا آپ واقعی اپنا میڈیا ڈاؤن لوڈ کرنے کو چھوڑنا چاہتے ہیں؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "ڈاؤن لوڈ کو چھوڑ دیں؟";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "ڈاؤن لوڈ چھوڑ دیں";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "اپ لوڈ ہو رہا ہے";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "اب بیک اپ کریں";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "اس میں کچھ وقت لگ سکتا ہے۔ آپ بیک اپ کے دوران Signal کو معمول کے مطابق استعمال کر سکتے ہیں۔";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "جب آپ اپنا اگلا بیک اپ کریں گے تو پرانا میڈیا آف لوڈ ہو جائے گا، لیکن اپنے بیک اپ سے اسے کسی بھی وقت ڈاؤن لوڈ کر سکتے ہیں۔";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Signal کی اسٹوریج کو بہتر کریں";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "آپ بالکل تیار ہیں۔ ابھی اپنا بیک اپ شروع کریں۔";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "آپ کے بیک اپ میں وہ میڈیا موجود ہے جو اس ڈیوائس میں موجود نہیں ہے۔ ادا شدہ سبسکرپشن کے بغیر غیر ڈاؤن لوڈ شدہ میڈیا مستقل طور پر حذف کر دیا جائے گا۔\n\nآپ اپنے میڈیا کا بیک اپ جاری رکھنے کے لیے کسی بھی وقت بیک اپس کے لیے دوبارہ ادائیگی کرنے کا آغاز کر سکتے ہیں۔";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "اپنا بیک اپ میڈیا ڈاؤن لوڈ کریں";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "ابھی بیک اپ ڈاؤن لوڈ کریں";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "اپنا بیک اپ میڈیا آج ہی ڈاؤن لوڈ کریں";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "بیک اپ کو ڈاؤن لوڈ نہ کریں";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "یہ یقینی بنانے کے لیے چیک کریں کہ آپ کا پیمنٹ کا طریقہ اپ ٹو ڈیٹ ہے۔ سبسکرپشن کا نظم کریں > Signal > پیمنٹ کا طریقہ اپ ڈیٹ کریں پر ٹیپ کریں۔";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "چیٹ کو حذف کریں؟";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "اس چیٹ کو خاموش کریں تا وقتیکہ۔۔۔";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "چھوڑیں اور نیا پن بنائیں";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "بحالی کی کیی استعمال کریں";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "اگر آپ اپنا پن یاد نہیں کرسکتے ہیں تو ، آپ ایک نیا بنا سکتے ہیں۔ آپ اپنا اکاؤنٹ رجسٹر اور استعمال کرسکتے ہیں لیکن آپ اپنی پروفائل کی معلومات جیسے کچھ محفوظ کردہ ترتیبات کو گنوا بیٹھیں گے۔";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PINs Signal کے ساتھ ذخیرہ شدہ معلومات کو خفیہ شدہ رکھتا ہے لہذا صرف آپ ہی اس تک رسائی حاصل کرسکتے ہیں۔ جب آپ دوبارہ انسٹال کریں گے تو آپ کا پروفائل ، ترتیبات اور رابطے بحال ہوں گے۔ ایپ کو کھولنے کے لیئے آپ کو اپنے PIN کی ضرورت نہیں ہوگی۔";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "آپ کی پن تخلیق کرتے ہوئے کچھ غلط ہو گیا ہے۔ براہ کرم سپورٹ سے رابطہ کریں۔";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "پِنز سے متعلق مزید";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "پن میچ نہیں ہوا۔ دوبارہ کوشش کریں۔";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "آپ کی پن تخلیق کرتے ہوئے کچھ غلط ہو گیا ہے۔ اپنا کنکشن چیک کریں اور دوبارہ کوشش کریں۔";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "پن کم از کم 4 ہندسوں کا ہونا ضروری ہے";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "پِن چھوڑ دیں";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "بحالی کی کیی استعمال کریں";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "اپنا پن یاد رکھنے میں مدد کیلئے،ہم وقتآ فوقتآ داخل کرنے کا کہیں گے۔ہم وقت کیساتھ کم کہیں گے۔";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "اس ڈیوائس پر %1$@ خالی کریں";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "آپ کے بیک اپ میں وہ میڈیا موجود ہے جو اس ڈیوائس میں موجود نہیں ہے۔ ادا شدہ سبسکرپشن کے بغیر غیر ڈاؤن لوڈ شدہ میڈیا مستقل طور پر حذف کر دیا جائے گا۔";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "اگر آپ ڈاؤن لوڈنگ کے عمل کو چھوڑ دیتے ہیں، تو اپنے بیک اپ میں موجود باقی میڈیا اور منسلکات کو بعد میں اس وقت ڈاؤن لوڈ کیا جا سکتا ہے جب اسٹوریج کی جگہ دستیاب ہو۔";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "حفاظتی تجاویز";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "اگر آپ کو کوئی ایسا تصدیقی کوڈ موصول ہوتا ہے جس کی آپ نے درخواست نہیں کی، تو ہو سکتا ہے کوئی آپ کے اکاؤنٹ تک رسائی حاصل کرنے کی کوشش کر رہا ہو۔ اپنا کوڈ شیئر نہ کریں۔";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "اپنا تصدیقی کوڈ محفوظ رکھیں";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "Mã khóa khôi phục đúng. Cất giữ mã khóa một cách an toàn.";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "Thoát thiết lập";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "Sao chép vào Bảng kẹp";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Đã hiểu";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "Tạo mã khóa mới";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "Đã tắt sao lưu và dữ liệu của bạn đã được xóa khỏi dịch vụ lưu trữ bảo mật của Signal.";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Đã tắt sao lưu, tập tin đa phương tiện không có trên thiết bị này sẽ bắt đầu tải xuống. Khi tải xong, dữ liệu của bạn sẽ được xóa khỏi dịch vụ lưu trữ bảo mật của Signal.";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "Có lỗi xảy ra. Vui lòng liên hệ bộ phận hỗ trợ.";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "Tải tập tin đa phương tiện đã offload?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Các tập tin đa phương tiện cũ hơn sẽ được gỡ khi bạn tạo bản sao lưu tiếp theo, nhưng có thể được tải xuống từ bản sao lưu bất cứ lúc nào.";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "Tối ưu hóa lưu trữ là tính năng của gói trả phí Sao lưu Signal. Nâng cấp gói sao lưu để bắt đầu sử dụng tính năng này.";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Tối ưu hóa dung lượng của Signal";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "Bạn đã đạt giới hạn dung lượng sao lưu. Giải phóng dung lượng trong Signal để tiếp tục sao lưu cuộc trò chuyện và tập tin đa phương tiện.";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "Kích hoạt lại sao lưu";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "Bạn có tập tin đa phương tiện trong bản sao lưu không có trên thiết bị này. Các tập tin đa phương tiện chưa được tải xuống sẽ bị xóa vĩnh viễn sau khi tắt tính năng sao lưu.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Bỏ qua không tải?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "Bạn có tập tin đa phương tiện trong bản sao lưu không có trên thiết bị này. Các tập tin đa phương tiện chưa được tải xuống sẽ bị xóa vĩnh viễn nếu không có gói đăng ký trả phí.";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Bỏ qua không tải?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Bỏ qua không tải";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Bạn có chắc muốn bỏ qua bước tải xuống các tập tin đa phương tiện của mình?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Bỏ qua không tải?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "Bỏ qua không tải";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "Đang tải lên…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Sao lưu Ngay";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "Quá trình có thể mất một lúc. Bạn có thể sử dụng Signal bình thường trong thời gian sao lưu.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Các tập tin đa phương tiện cũ hơn sẽ được gỡ khi bạn tạo bản sao lưu tiếp theo, nhưng có thể được tải xuống từ bản sao lưu bất cứ lúc nào.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Tối ưu hóa dung lượng của Signal";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "Mọi thứ đã sẵn sàng. Bắt đầu sao lưu ngay.";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "Bạn có tập tin đa phương tiện trong bản sao lưu không có trên thiết bị này. Các tập tin đa phương tiện chưa được tải xuống sẽ bị xóa vĩnh viễn nếu không có gói đăng ký trả phí.\n\nBạn có thể thanh toán cho gói sao lưu bất kỳ lúc nào để tiếp tục sao lưu tập tin đa phương tiện của mình.";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Tải xuống tập tin đa phương tiện đã sao lưu";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Tải bản sao lưu ngay";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Tải xuống tập tin đa phương tiện đã sao lưu hôm nay";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Không tải bản sao lưu";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "Kiểm tra để đảm bảo rằng phương thức thanh toán của bạn đã được cập nhật thông tin mới nhất. Nhấn vào Quản lý gói đăng ký > Signal > Cập nhật phương thức thanh toán.";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Xóa Cuộc trò chuyện?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "Tắt tiếng cuộc trò chuyện này trong…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "Bỏ qua và Tạo PIN mới";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "Sử dụng mã khóa khôi phục";
|
||||
|
||||
/* 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ơ.";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"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 lại Signal. Bạn không cần điền PIN mỗi lần mở ứng dụng.";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Đã xảy ra lỗi khi tạo mã PIN của bạn. Vui lòng liên hệ bộ phận hỗ trợ.";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "Tìm Hiểu Thêm về Mã PIN";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "Mã PIN không khớp. Hãy thử lại.";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Đã xảy ra lỗi khi tạo mã PIN của bạn. Kiểm tra kết nối của bạn và thử lại.";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "Mã PIN phải có ít nhất 4 số";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "Bỏ qua mã PIN";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "Sử dụng mã khóa khôi phục";
|
||||
|
||||
/* 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.";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "Giải phóng %1$@ trên thiết bị này";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "Bạn có tập tin đa phương tiện trong bản sao lưu không có trên thiết bị này. Các tập tin đa phương tiện chưa được tải xuống sẽ bị xóa vĩnh viễn nếu không có gói đăng ký trả phí.";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "Nếu bỏ qua việc tải xuống, các tập tin đa phương tiện và tập tin đính kèm còn lại trong bản sao lưu của bạn có thể được tải xuống sau khi có dung lượng trống.";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "Lời khuyên để giữ an toàn";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "Nếu bạn nhận được mã xác minh mà bạn không yêu cầu, có thể ai đó đang cố gắng truy cập vào tài khoản của bạn. Không chia sẻ mã của bạn.";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "Hãy giữ mã xác minh của bạn an toàn";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "恢復金鑰正確。好好儲存你嘅金鑰。";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "退出備份設定";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "複製到剪貼簿";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "明白";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "建立新金鑰";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "備份功能已經閂咗,同埋你嘅資料已經喺 Signal 嘅安全儲存服務入面刪除。";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "備份功能已經閂咗,而家下載緊任何唔喺部機度嘅媒體。下載晒之後,喺 Signal 安全儲存服務入面嘅資料將會刪除。";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "發生錯誤。請聯絡支援團隊。";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "係咪下載已經卸載嘅媒體?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "比較舊嘅媒體會喺下次備份嗰陣卸載,但可以隨時喺備份度下載返。";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "淨係得有課金 Signal 備份嘅帳戶先用到「優化儲存空間」功能。如果想用呢個功能,就升級備份計劃啦。";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "優化 Signal 儲存空間";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "你嘅備份儲存空間頂晒櫳喇。喺 Signal 度搵多啲位嚟繼續備份聊天同媒體。";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "重新啟用備份";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "你備份入面有媒體唔喺呢部機入面。停用備份功能之後,未下載嘅媒體就會永久刪除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "係咪要跳過下載?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "你備份入面有媒體唔喺呢部機入面。如果冇加入課金計劃,未下載嘅媒體就會永久刪除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "係咪要跳過下載?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "跳過下載";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "你係咪確定要跳過下載媒體?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "係咪要跳過下載?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "跳過下載";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "上載緊……";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "即刻備份";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "呢個過程可能需要啲時間。備份嗰陣,你可以好似平時咁用 Signal。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "比較舊嘅媒體會喺下次備份嗰陣卸載,但可以隨時喺備份度下載返。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "優化 Signal 儲存空間";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "搞掂晒。你可以即刻開始備份喇。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "你備份入面有媒體唔喺呢部機入面。如果冇加入課金計劃,未下載嘅媒體就會永久刪除。\n\n你可以隨時再開始支付備份費用,咁就可以繼續備份媒體。";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "下載你嘅備份媒體";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "即刻下載備份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "即刻下載你嘅備份媒體";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "唔下載備份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "請確定你嘅付款方式仍然有效。㩒一下「管理課金計劃」> Signal > 「更新付款方式」。";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "係咪要刪除聊天?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "將呢個聊天靜音...";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "飛過並建立新嘅 PIN 碼";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "用「恢復金鑰」";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "若然您唔記得咗自己個 PIN 碼,您整過個新嘅都得。咁您就可以註冊同使用您嘅帳戶,但係您就會冇咗先前儲存落嘅一啲設定,例如話您嘅個人資料資訊。";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "有 PIN 碼,儲存喺 Signal 嘅資訊就安心加密,淨係得您先接觸到。當您重新裝過 Signal 嘅時候,您嘅個人資料、設定同埋聯絡人亦都可以還原。平時開啟個 app 就唔需要用到您個 PIN 碼。";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "建立 PIN 碼嗰陣出現咗問題。請聯絡支援團隊。";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "PIN 碼知多啲";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN 碼唔夾。請再試一次。";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "建立 PIN 碼嗰陣出現咗問題。請檢查你嘅連線,然後再試多次。";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN 碼至少要係 4 個位數字";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "略過 PIN 碼";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "用「恢復金鑰」";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "為咗幫您記住您個 PIN 碼,我哋定時定候會叫您打一次。慢慢就唔會問得您咁密㗎喇。";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "要喺呢部機度搵多 %1$@ 空間";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "你備份入面有媒體唔喺呢部機入面。如果冇加入課金計劃,未下載嘅媒體就會永久刪除。";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "如果你跳過下載,備份入面剩低嘅媒體同附件可以之後喺儲存空間夠位嗰陣下載返。";
|
||||
@ -8015,7 +8003,7 @@
|
||||
"SAFETY_TIPS_CRYPTO_TITLE" = "加密貨幣或者金錢詐騙";
|
||||
|
||||
/* Message body describing the enable reglock safety tip. */
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_BODY" = "喺註冊 Signal 時,除咗驗證碼之外,仲需要輸入 Signal PIN 碼,嚟確保你嘅帳戶安全。";
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_BODY" = "喺註冊 Signal 時,除咗驗證碼之外,仲需要輸入 Signal PIN 碼,嚟保護你嘅帳戶安全。";
|
||||
|
||||
/* Message title describing the enable reglock safety tip. */
|
||||
"SAFETY_TIPS_ENABLE_REGLOCK_TITLE" = "喺帳戶設定度開啟註冊鎖";
|
||||
@ -8030,10 +8018,10 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "安全貼士";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "如果你收到冇要求過嘅驗證碼,可能有人試緊入去你嘅帳戶。千祈唔好同人分享你嘅驗證碼。";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "好好保管你嘅驗證碼";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "安全儲存你嘅驗證碼";
|
||||
|
||||
/* Message body describing the scams safety tip. */
|
||||
"SAFETY_TIPS_LOOK_OUT_FOR_SCAMS_BODY" = "唔好理嗰啲引你回覆嘅模糊訊息。要對理財貼士同埋可疑嘅網站連結提高警覺。";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "恢复密钥正确。请安全保存您的密钥。";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "退出备份设置";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "复制到剪贴板";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "知道了";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "创建新密钥";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "备份已关闭,您的数据已从 Signal 的安全存储服务中删除。";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "备份已关闭,任何不在此设备上的媒体现在正在下载。下载完成后,您的数据将会从 Signal 的安全存储服务中删除。";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "出现了一个错误。请联系支持团队。";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "要下载卸载的媒体吗?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "当您下次备份时,您的旧媒体将会被卸载,但您可以随时从备份中下载这些媒体。";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "储存优化功能仅在 Signal 备份付费套餐中可用。欢迎升级您的备份套餐以开始使用该功能。";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "优化 Signal 存储";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "您已达到备份存储空间的上限。请释放 Signal 的空间,以继续备份聊天记录和媒体。";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "重新启用备份";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "您的备份中有一些媒体不在此设备上。当备份被关闭后,未下载的媒体将会被永久删除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "要跳过下载吗?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "您的备份中有一些媒体不在此设备上。如不订阅付费备份套餐,未下载的媒体将会被永久删除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "要跳过下载吗?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "跳过下载";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "您确定要跳过下载媒体吗?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "要跳过下载吗?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "跳过下载";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "上传中……";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "现在备份";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "这可能需要一段时间。在备份过程中,您可以正常使用 Signal。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "当您下次备份时,您的旧媒体将会被卸载,但您可以随时从备份中下载这些媒体。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "优化 Signal 存储";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "您已完成操作。现在开始备份吧。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "您的备份中有一些媒体不在此设备上。如不订阅付费备份套餐,未下载的媒体将会被永久删除。\n\n您可以随时重新开始支付备份费用,以继续备份您的媒体。";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "下载您的备份媒体";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "立即下载备份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "立即下载您的备份媒体";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "不下载备份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "请确保您使用的是最新的付款方式。点击“管理套餐 > Signal > 更新付款方式”。";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "删除聊天?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "将此聊天静音……";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "跳过并新建 PIN 码";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "使用恢复密钥";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "如果你忘记了你的 PIN 码,你可以重新创建一个。你可以注册并继续使用你的账户,但你会丢失一些个人设置——如你的个人资料。";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN 用于加密 Signal 存储的信息,这样只有你可以访问。重装之后,可恢复你的个人资料、设置和联系人。打开 Signal 无需使用 PIN。";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "创建您的密码时出错了。请联系支持团队。";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "进一步了解 PIN 码";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN 不匹配。请重试。";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "创建您的密码时出错了。请检查您的网络连接并重试。";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN 码至少需要4位数。";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "跳过 PIN 码";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "使用恢复密钥";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "为了帮助您牢记 PIN,我们会定期要求您输入。此频率会逐渐降低。";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "在此设备上释放 %1$@";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "您的备份中有一些媒体不在此设备上。如不订阅付费备份套餐,未下载的媒体将会被永久删除。";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "如果跳过下载备份中剩余的媒体和附件,您后续可以在储存空间可用时再下载。";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "安全提示";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "如果您收到了不是您本人请求的验证码,那么可能有人企图访问您的账户。请勿分享您的验证码。";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "妥善保管您的验证码";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "恢復金鑰正確。請妥善保管你的金鑰。";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "退出備份設定";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "複製到剪貼簿";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "我知道了";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "建立新金鑰";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "備份已關閉,而且你的資料已從 Signal 的安全儲存服務中刪除。";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "備份已關閉,而且任何未在此裝置上的媒體現正在下載中。下載完成後,你的資料將會從 Signal 的安全儲存服務中刪除。";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "發生錯誤。請聯絡支援團隊。";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "要下載已卸載的媒體嗎?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "較舊的媒體將在下次進行備份時被卸載,但可以隨時從備份中下載。";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "儲存最佳化只可供 Signal 備份付費級別使用。升級你的備份計畫以開始使用此功能。";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "最佳化 Signal 儲存空間";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "已達備份儲存上限。在 Signal 中釋放空間以繼續備份聊天和媒體。";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "重新啟用備份";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "你有不在此裝置上的備份媒體。一旦停用備份功能,未下載的媒體將會被永久刪除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "要跳過下載嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "你有不在此裝置上的備份媒體。在沒有給予定期贊助的情況下,未下載的媒體將會被永久刪除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "要跳過下載嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "跳過下載";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "你確定要跳過下載媒體嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "要跳過下載嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "跳過下載";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "正在上載……";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "立即備份";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "這可能需要一點時間。備份期間,你可以如常使用 Signal。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "較舊的媒體將在下次進行備份時被卸載,但可以隨時從備份中下載。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "最佳化 Signal 儲存空間";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "一切準備就緒。立即開始你的備份。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "你有不在此裝置上的備份媒體。在沒有給予定期贊助的情況下,未下載的媒體將會被永久刪除。\n\n你可以隨時重新開始支付備份費用,以繼續備份媒體。";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "下載你的備份媒體";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "立即下載備份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "立即下載你的備份媒體";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "不要下載備份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "請檢查以確定你的付款方式仍然有效。輕按「管理定期贊助」 > 「Signal」 > 「更新付款方式」。";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "是否刪除聊天?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "將此聊天設為靜音…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "略過並設定新 PIN 碼";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "使用恢復金鑰";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "如果您記不起您的 PIN 碼,您可建立一個新的 PIN 碼。註冊並使用您的帳號不成問題,惟您將會遺失部分已儲存的設定,像是您的個人資料資訊。";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN 碼讓在 Signal 中的資訊得以加密保存並僅供您存取。當您重新安裝時,您的個人資料、設定和聯絡人將會還原。開啟應用程式不需輸入 PIN 碼。";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "建立你的 PIN 碼時發生錯誤。請聯絡支援團隊。";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "更多 PIN 碼資訊";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN 碼不匹配。請再試一次。";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "建立你的 PIN 碼時發生錯誤。請檢查你的網路連線,然後再試一次。";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN 須至少為 4 個字元";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "跳過 PIN 碼";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "使用恢復金鑰";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "為幫助您記住您的 PIN 碼,我們將定期要求您輸入 PIN 碼。隨著時間過去,我們會減少要求。";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "在此裝置上釋放 %1$@";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "你有不在此裝置上的備份媒體。在沒有給予定期贊助的情況下,未下載的媒體將會被永久刪除。";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "如果你跳過下載,備份內尚餘的媒體和附件可稍後在儲存空間足夠時下載。";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "安全提示";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "如果你收到了未曾要求的驗證碼,可能有人正試圖存取你的帳戶。請勿分享你的驗證碼。";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "妥善保管你的驗證碼";
|
||||
|
||||
@ -580,12 +580,6 @@
|
||||
/* Toast indicating that the Recovery Key was correct. */
|
||||
"BACKUP_KEY_REMINDER_SUCCESSFUL_TOAST" = "恢復金鑰正確。請妥善保管你的金鑰。";
|
||||
|
||||
/* Body for a warning sheet shown to discourage the user from sharing their 'Recovery Key', warning them not to share it with anyone. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_BODY" = "<bold>Signal will never message you</bold> for your recovery key. Never respond to a chat pretending to be Signal. Store your recovery key somewhere safe and never share it with anyone.";
|
||||
|
||||
/* Title for a warning sheet shown to discourage the user from sharing their 'Recovery Key'. */
|
||||
"BACKUP_NEVER_SHARE_RECOVERY_KEY_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Button label for action sheet to cancel backup onboarding */
|
||||
"BACKUP_ONBOARDING_CANCEL_SHEET_ACTION" = "退出備份設定";
|
||||
|
||||
@ -658,8 +652,14 @@
|
||||
/* Title for a button allowing users to copy their 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_TO_CLIPBOARD_BUTTON_TITLE" = "複製到剪貼簿";
|
||||
|
||||
/* Body for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, warning them not to share it with anyone. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_BODY" = "Signal will <bold>never</bold> message you for your recovery key. Do not respond to a chat pretending to be Signal. Store your recovery key somewhere safe and do not share it with anyone.";
|
||||
|
||||
/* Title for the primary button in a warning sheet shown before copying the user's 'Recovery Key' to the clipboard, which acknowledges the warning and proceeds with the copy. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "我知道了";
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_PRIMARY_BUTTON_TITLE" = "Got It";
|
||||
|
||||
/* Title for a warning sheet shown before copying the user's 'Recovery Key' to the clipboard. */
|
||||
"BACKUP_RECORD_KEY_COPY_WARNING_SHEET_TITLE" = "Do Not Share Your Recovery Key";
|
||||
|
||||
/* Title for a button allowing users to create a new 'Recovery Key'. */
|
||||
"BACKUP_RECORD_KEY_CREATE_NEW_KEY_BUTTON_TITLE" = "建立新金鑰";
|
||||
@ -833,7 +833,7 @@
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLED_SECTION_FOOTER" = "備份已關閉,而且你的資料已從 Signal 的安全儲存服務中刪除。";
|
||||
|
||||
/* Description for a progress view tracking media being downloaded in service of disabling Backups. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "備份已關閉,而且任何未在此裝置上的媒體現正在下載中。下載完成後,你的資料將會從 Signal 的安全儲存服務中刪除。";
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_DOWNLOADING_MEDIA_PROGRESS_VIEW_DESCRIPTION" = "Backups have been turned off, and any media that is not on this device is downloading now. Once downloaded your data will be deleted from Signal’s secure storage service.";
|
||||
|
||||
/* Message for a view indicating we failed to delete the user's Backup due to an unexpected error. */
|
||||
"BACKUP_SETTINGS_BACKUPS_DISABLING_GENERIC_ERROR_MESSAGE" = "發生錯誤。請聯絡支援部門。";
|
||||
@ -998,13 +998,13 @@
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_DOWNLOAD_SHEET_TITLE" = "要下載已卸載的媒體嗎?";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is available. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "較舊的媒體將在下次進行備份時被卸載,但可以隨時從備份中下載。";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_AVAILABLE" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Footer for a toggle allowing users to change the Optimize Local Storage setting, if the toggle is unavailable. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_FOOTER_UNAVAILABLE" = "儲存最佳化只可供 Signal 備份付費級別使用。升級你的備份計畫以開始使用此功能。";
|
||||
|
||||
/* Title for a toggle allowing users to change the Optimize Local Storage setting. */
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "最佳化 Signal 儲存空間";
|
||||
"BACKUP_SETTINGS_OPTIMIZE_LOCAL_STORAGE_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Subtitle for a notification telling the user they are out of remote storage space. */
|
||||
"BACKUP_SETTINGS_OUT_OF_STORAGE_SPACE_NOTIFICATION_SUBTITLE" = "已達備份儲存上限。在 Signal 中釋放空間以繼續備份聊天和媒體。";
|
||||
@ -1016,25 +1016,25 @@
|
||||
"BACKUP_SETTINGS_REENABLE_BACKUPS_BUTTON_TITLE" = "重新啟用備份";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "你有不在此裝置上的備份媒體。一旦停用備份功能,未下載的媒體將會被永久刪除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted once backups are disabled.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads while disabling Backups. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "要跳過下載嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_DISABLING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Message for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "你有不在此裝置上的備份媒體。在沒有給予定期贊助的情況下,未下載的媒體將會被永久刪除。";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Title for a sheet warning the user about skipping downloads that will expire. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "要跳過下載嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_EXPIRING_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "跳過下載";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_ACTION_SKIP" = "Skip Download";
|
||||
|
||||
/* Message for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "你確定要跳過下載媒體嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_MESSAGE" = "Are you sure you want to skip downloading your media?";
|
||||
|
||||
/* Title for a double-confirmation sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "要跳過下載嗎?";
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_SECOND_WARNING_SHEET_TITLE" = "Skip Download?";
|
||||
|
||||
/* Title for an action in a sheet warning the user about skipping downloads. */
|
||||
"BACKUP_SETTINGS_SKIP_DOWNLOADS_WARNING_SHEET_ACTION_SKIP" = "跳過下載";
|
||||
@ -1076,34 +1076,34 @@
|
||||
"BACKUP_SETTINGS_UPLOAD_PROGRESS_SUBTITLE_RUNNING_GENERIC" = "上傳中…";
|
||||
|
||||
/* Title for a button in a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "立即備份";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_BUTTON_TITLE" = "Back Up Now";
|
||||
|
||||
/* Message for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "這可能需要一點時間。備份期間,你可以如常使用 Signal。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_MESSAGE" = "This could take a while. You can use Signal normally while backing up.";
|
||||
|
||||
/* Footer for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "較舊的媒體將在下次進行備份時被卸載,但可以隨時從備份中下載。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_FOOTER" = "Older media will be offloaded when you make your next backup, but can be downloaded from your backup anytime.";
|
||||
|
||||
/* Title for a toggle shown after the user enables backups, letting them enable the Optimize Storage feature. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "最佳化 Signal 儲存空間";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_OPTIMIZE_MEDIA_TOGGLE_TITLE" = "Optimize Signal Storage";
|
||||
|
||||
/* Title for a sheet shown after the user enables backups. */
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "一切準備就緒。立即開始你的備份。";
|
||||
"BACKUP_SETTINGS_WELCOME_TO_BACKUPS_SHEET_TITLE" = "You're all set. Start your backup now.";
|
||||
|
||||
/* Body for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "你有不在此裝置上的備份媒體。在沒有給予定期贊助的情況下,未下載的媒體將會被永久刪除。\n\n你可以隨時重新開始支付備份費用,以繼續備份媒體。";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_BODY" = "You have media in your backup that's not on this device. Undownloaded media will be permanently deleted without a paid subscription.\n\nYou can begin paying for backups again at any time to continue backing up your media.";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "下載你的備份媒體";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_FIRST_WARNING_TITLE" = "Download Your Backup Media";
|
||||
|
||||
/* Primary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "立即下載備份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_PRIMARY_BUTTON" = "Download Backup Now";
|
||||
|
||||
/* Title for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "立即下載你的備份媒體";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECOND_WARNING_TITLE" = "Download Your Backup Media Today";
|
||||
|
||||
/* Secondary button for a sheet warning users that their Backup subscription is expiring soon, and they have pending downloads. */
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "不要下載備份";
|
||||
"BACKUP_SUBSCRIPTION_EXPIRING_SOON_PENDING_DOWNLOADS_HERO_SHEET_SECONDARY_BUTTON" = "Don't Download Backup";
|
||||
|
||||
/* Message for a sheet shown when your Backup subscription fails to renew. */
|
||||
"BACKUP_SUBSCRIPTION_FAILED_TO_RENEW_SHEET_MESSAGE" = "請檢查以確定你的付款方式仍然有效。輕按「管理定期贊助」 > 「Signal」 > 「更新付款方式」。";
|
||||
@ -2350,24 +2350,6 @@
|
||||
/* Title for the 'conversation delete confirmation' alert. */
|
||||
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "刪除聊天?";
|
||||
|
||||
/* Title for the button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Don’t Share";
|
||||
|
||||
/* Message body for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, warning them not to share it. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_MESSAGE" = "Do not share your recovery key with anyone. This will let them take over your account. Signal will never message you for your recovery key. Never respond to a chat pretending to be Signal.";
|
||||
|
||||
/* Title for the destructive button in a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway, that proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_PASTE_BUTTON_TITLE" = "Paste Key";
|
||||
|
||||
/* Title for a second confirmation sheet shown after the user opts to paste their 'Recovery Key' into the chat input text field anyway. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_CONFIRM_SHEET_TITLE" = "Do Not Share Recovery Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that dismisses the sheet without pasting the key. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_DO_NOT_SHARE_BUTTON_TITLE" = "Do Not Share Key";
|
||||
|
||||
/* Title for the button in a warning sheet shown before the user pastes their 'Recovery Key' into the chat input text field that acknowledges the warning and proceeds with the paste. */
|
||||
"CONVERSATION_INPUT_PASTE_RECOVERY_KEY_WARNING_SHEET_SHARE_BUTTON_TITLE" = "Share Key";
|
||||
|
||||
/* Title for the 'conversation mute confirmation' alert. */
|
||||
"CONVERSATION_MUTE_CONFIRMATION_ALERT_TITLE" = "將此聊天靜音…";
|
||||
|
||||
@ -6073,6 +6055,9 @@
|
||||
/* Label for the 'skip and create new pin' button when reglock is disabled during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_AND_CREATE_NEW_PIN" = "略過即建立新的 PIN 碼";
|
||||
|
||||
/* Label for action to use Recovery Key instead of PIN for registration. */
|
||||
"ONBOARDING_2FA_SKIP_AND_USE_RECOVERY_KEY" = "使用恢復金鑰";
|
||||
|
||||
/* Explanation for the skip pin entry action sheet during onboarding. */
|
||||
"ONBOARDING_2FA_SKIP_PIN_ENTRY_MESSAGE" = "若您忘記 PIN 碼,可以建立一個新的。您可以註冊並使用您的帳號,但將會遺失一些先前的設定,例如個人資訊設定。";
|
||||
|
||||
@ -6893,7 +6878,7 @@
|
||||
"PIN_CREATION_EXPLANATION" = "PIN 碼可以加密 Signal 伺服器上面關於您帳號的資訊,因此只有您可以存取。重新安裝時,您的個人資訊、設定和聯絡人將從 Signal 伺服器上回復。啟動 Signal 應用程式時不需要 PIN。";
|
||||
|
||||
/* Message when a generic error occurs while creating a PIN. */
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "建立你的 PIN 碼時發生錯誤。請聯絡支援團隊。";
|
||||
"PIN_CREATION_GENERIC_ERROR_MESSAGE" = "Something went wrong creating your PIN. Please contact support.";
|
||||
|
||||
/* Learn more action on the pin creation view */
|
||||
"PIN_CREATION_LEARN_MORE" = "更多 PIN 碼資訊";
|
||||
@ -6908,7 +6893,7 @@
|
||||
"PIN_CREATION_MISMATCH_ERROR" = "PIN 碼不符,請再試一次。";
|
||||
|
||||
/* Message when a network error occurs while creating a PIN. */
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "建立你的 PIN 碼時發生錯誤。請檢查你的網路連線,然後再試一次。";
|
||||
"PIN_CREATION_NETWORK_ERROR_MESSAGE" = "Something went wrong creating your PIN. Check your connection and try again.";
|
||||
|
||||
/* Label indicating the user must use at least 4 digits */
|
||||
"PIN_CREATION_NUMERIC_HINT" = "PIN碼必須至少 4 個字元";
|
||||
@ -6937,6 +6922,9 @@
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. In some cases, they can skip this entry and lose some data. This text is shown on a button that lets them begin to do this. */
|
||||
"PIN_ENTER_EXISTING_SKIP" = "跳過 PIN 碼";
|
||||
|
||||
/* If the user is re-registering, they need to enter their PIN to restore all their data. If they don't remember their PIN, they may remember their Recovery Key which can be used instead of a PIN. */
|
||||
"PIN_ENTER_EXISTING_USE_RECOVERY_KEY" = "使用恢復金鑰";
|
||||
|
||||
/* The explanation for the 'pin reminder' dialog. */
|
||||
"PIN_REMINDER_EXPLANATION" = "要幫助你記住你的 PIN碼,我們將定期要求你輸入 PIN 碼。我們只會偶爾詢問你。";
|
||||
|
||||
@ -7913,7 +7901,7 @@
|
||||
"RESTORING_MEDIA_DISK_SPACE_SHEET_TITLE_FORMAT" = "在此裝置上釋放 %1$@";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space, and the user's paid subscription is expiring. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "你有不在此裝置上的備份媒體。在沒有給予定期贊助的情況下,未下載的媒體將會被永久刪除。";
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_PAID_EXPIRING_SOON_SHEET_MESSAGE" = "You have media in your backup that’s not on this device. Undownloaded media will be permanently deleted without a paid subscription.";
|
||||
|
||||
/* Message shown on a bottom sheet to skip restoring media from a backup when paused because the device has insufficient disk space. */
|
||||
"RESTORING_MEDIA_DISK_SPACE_SKIP_SHEET_MESSAGE" = "如果你跳過下載,備份內尚餘的媒體和附件可稍後在儲存空間足夠時下載。";
|
||||
@ -8030,7 +8018,7 @@
|
||||
"SAFETY_TIPS_HEADER_TITLE" = "安全提示";
|
||||
|
||||
/* Message body describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "如果你收到了未曾要求的驗證碼,可能有人正試圖存取你的帳戶。請勿分享你的驗證碼。";
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_BODY" = "If you received a verification code you didn’t request, someone may be attempting to access your account. Do not share your code.";
|
||||
|
||||
/* Message title describing the keeping codes safe safety tip. */
|
||||
"SAFETY_TIPS_KEEP_CODE_SAFE_TITLE" = "妥善保管你的驗證碼";
|
||||
|
||||
@ -124,7 +124,7 @@ class ScreenLockUI {
|
||||
self.appReadiness = appReadiness
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
// MARK: - Public
|
||||
|
||||
func setupWithRootWindow(_ rootWindow: UIWindow) {
|
||||
AssertIsOnMainThread()
|
||||
@ -180,21 +180,6 @@ class ScreenLockUI {
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Sensitive Content
|
||||
|
||||
/// Tracks view controllers displaying "sensitive content" that should be
|
||||
/// hidden from the App Switcher.
|
||||
private var sensitiveContentViewControllers: WeakArray<UIViewController> = []
|
||||
|
||||
@MainActor
|
||||
func sensitiveContentDidLoad(inViewController viewController: UIViewController) {
|
||||
if sensitiveContentViewControllers.contains(where: { $0 === viewController }) {
|
||||
return
|
||||
}
|
||||
|
||||
sensitiveContentViewControllers.append(viewController)
|
||||
}
|
||||
|
||||
// MARK: - UI
|
||||
|
||||
private func updateScreenBlockingWindowWithUIState(_ uiState: ScreenLockViewController.UIState) {
|
||||
@ -266,16 +251,7 @@ class ScreenLockUI {
|
||||
return .none
|
||||
}
|
||||
|
||||
// Cull any "sensitive content" view controllers that aren't actually
|
||||
// presenting content. (Their presence here may suggest a retain cycle.)
|
||||
sensitiveContentViewControllers.removeAll(where: { viewController in
|
||||
!viewController.isViewLoaded || viewController.view.window == nil
|
||||
})
|
||||
|
||||
guard
|
||||
SSKEnvironment.shared.preferencesRef.isScreenSecurityEnabled
|
||||
|| sensitiveContentViewControllers.elements.count > 0
|
||||
else {
|
||||
guard SSKEnvironment.shared.preferencesRef.isScreenSecurityEnabled else {
|
||||
return .none
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>8.16</string>
|
||||
<string>8.15</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
|
||||
@ -20,7 +20,6 @@ public class AccountKeyStore {
|
||||
private let aepKvStore: KeyValueStore
|
||||
private let mrbkKvStore: NewKeyValueStore
|
||||
private let masterKeyKvStore: NewKeyValueStore
|
||||
private let syncStore: NewKeyValueStore
|
||||
|
||||
private let backupSettingsStore: BackupSettingsStore
|
||||
|
||||
@ -31,7 +30,6 @@ public class AccountKeyStore {
|
||||
self.masterKeyKvStore = NewKeyValueStore(collection: "kOWSKeyBackupService_Keys")
|
||||
self.mrbkKvStore = NewKeyValueStore(collection: "MediaRootBackupKey")
|
||||
self.aepKvStore = KeyValueStore(collection: "AccountEntropyPool")
|
||||
self.syncStore = NewKeyValueStore(collection: "AccountKey.Sync")
|
||||
self.backupSettingsStore = backupSettingsStore
|
||||
}
|
||||
|
||||
@ -139,20 +137,4 @@ public class AccountKeyStore {
|
||||
|
||||
aepKvStore.setString(accountEntropyPool.rawString, key: Keys.aepKeyName, transaction: tx)
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
|
||||
private static let isWaitingForKeysSyncKey = "isWaitingForKeysSync"
|
||||
|
||||
func isWaitingForKeysSyncMessage(tx: DBReadTransaction) -> Bool {
|
||||
return syncStore.fetchValue(Bool.self, forKey: Self.isWaitingForKeysSyncKey, tx: tx) == true
|
||||
}
|
||||
|
||||
func setWaitingForKeysSyncMessage(_ isWaitingForKeysSyncMessage: Bool, tx: DBWriteTransaction) {
|
||||
if isWaitingForKeysSyncMessage {
|
||||
syncStore.writeValue(true, forKey: Self.isWaitingForKeysSyncKey, tx: tx)
|
||||
} else {
|
||||
syncStore.removeValue(forKey: Self.isWaitingForKeysSyncKey, tx: tx)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -347,23 +347,23 @@ public class AttachmentBackfillManager {
|
||||
private func attemptBackfill(
|
||||
interactionId: Int64,
|
||||
) async -> [Result<SSKProtoAttachmentPointer, Error>] {
|
||||
let backfillableReferencedAttachments: [ReferencedAttachment] = db.read { tx in
|
||||
let stickerReferencedAttachments = attachmentStore.fetchReferencedAttachments(
|
||||
for: .messageSticker(messageRowId: interactionId),
|
||||
let backfillableAttachmentReferences: [AttachmentReference] = db.read { tx in
|
||||
let stickerReferences = attachmentStore.fetchReferences(
|
||||
owner: .messageSticker(messageRowId: interactionId),
|
||||
tx: tx,
|
||||
)
|
||||
|
||||
if !stickerReferencedAttachments.isEmpty {
|
||||
return stickerReferencedAttachments
|
||||
if !stickerReferences.isEmpty {
|
||||
return stickerReferences
|
||||
}
|
||||
|
||||
return attachmentStore.fetchReferencedAttachments(
|
||||
for: .messageBodyAttachment(messageRowId: interactionId),
|
||||
return attachmentStore.fetchReferences(
|
||||
owner: .messageBodyAttachment(messageRowId: interactionId),
|
||||
tx: tx,
|
||||
)
|
||||
}
|
||||
|
||||
if backfillableReferencedAttachments.isEmpty {
|
||||
if backfillableAttachmentReferences.isEmpty {
|
||||
logger.warn("No attachments for backfill target.")
|
||||
return []
|
||||
}
|
||||
@ -372,9 +372,9 @@ public class AttachmentBackfillManager {
|
||||
of: (Int, Result<SSKProtoAttachmentPointer, Error>).self,
|
||||
returning: [Result<SSKProtoAttachmentPointer, Error>].self,
|
||||
) { taskGroup in
|
||||
for (index, referencedAttachment) in backfillableReferencedAttachments.enumerated() {
|
||||
for (index, attachmentReference) in backfillableAttachmentReferences.enumerated() {
|
||||
taskGroup.addTask { [self] in
|
||||
let result = await uploadAttachmentForBackfill(referencedAttachment: referencedAttachment)
|
||||
let result = await uploadAttachmentForBackfill(attachmentReference: attachmentReference)
|
||||
return (index, result)
|
||||
}
|
||||
}
|
||||
@ -390,26 +390,10 @@ public class AttachmentBackfillManager {
|
||||
}
|
||||
}
|
||||
|
||||
private struct BackedUpAttachmentMissingLocalFileError: Error {}
|
||||
|
||||
private func uploadAttachmentForBackfill(
|
||||
referencedAttachment: ReferencedAttachment,
|
||||
attachmentReference: AttachmentReference,
|
||||
) async -> Result<SSKProtoAttachmentPointer, Error> {
|
||||
let logger = logger.suffixed(with: "[\(referencedAttachment.attachment.id)]")
|
||||
|
||||
if
|
||||
referencedAttachment.attachment.asStream() == nil,
|
||||
referencedAttachment.attachment.mediaTierInfo != nil
|
||||
{
|
||||
// We don't have the file locally, but we do have media-tier CDN
|
||||
// info (implying we may be able to retrieve the file from our
|
||||
// Backup). AttachmentBackfill doesn't support sending media-tier
|
||||
// CDN pointers so we can't actually do a backfill, but we don't
|
||||
// want to return a terminal error since that'll prevent our linked
|
||||
// device from ever trying again in the future.
|
||||
logger.warn("Missing local file, but media-tier info present.")
|
||||
return .failure(BackedUpAttachmentMissingLocalFileError())
|
||||
}
|
||||
let logger = logger.suffixed(with: "[\(attachmentReference.attachmentRowId)]")
|
||||
|
||||
do {
|
||||
try await Retry.performWithBackoff(maxAttempts: 4) { [attachmentUploadManager] in
|
||||
@ -417,22 +401,21 @@ public class AttachmentBackfillManager {
|
||||
// actual upload if the attachment has recent, reusable transit-
|
||||
// tier info.
|
||||
try await attachmentUploadManager.uploadTransitTierAttachment(
|
||||
attachmentId: referencedAttachment.attachment.id,
|
||||
attachmentId: attachmentReference.attachmentRowId,
|
||||
progress: nil,
|
||||
)
|
||||
}
|
||||
|
||||
guard
|
||||
// Refetch the attachment to get updated transit tier info.
|
||||
let refetchedAttachment = db.read(block: { tx in
|
||||
let attachment = db.read(block: { tx in
|
||||
return attachmentStore.fetch(
|
||||
id: referencedAttachment.attachment.id,
|
||||
id: attachmentReference.attachmentRowId,
|
||||
tx: tx,
|
||||
)
|
||||
}),
|
||||
let attachmentProto = ReferencedAttachment(
|
||||
reference: referencedAttachment.reference,
|
||||
attachment: refetchedAttachment,
|
||||
reference: attachmentReference,
|
||||
attachment: attachment,
|
||||
).asProtoForSending()
|
||||
else {
|
||||
return .failure(OWSAssertionError(
|
||||
@ -485,8 +468,6 @@ public class AttachmentBackfillManager {
|
||||
switch attemptResult {
|
||||
case .success(let attachmentProto):
|
||||
attachmentDataBuilder.setAttachment(attachmentProto)
|
||||
case .failure(is BackedUpAttachmentMissingLocalFileError):
|
||||
attachmentDataBuilder.setStatus(.pending)
|
||||
case .failure(let error) where error.isRetryable:
|
||||
attachmentDataBuilder.setStatus(.pending)
|
||||
case .failure:
|
||||
|
||||
@ -58,7 +58,7 @@ public class OldSenderKeyStore {
|
||||
} catch {
|
||||
// It's likely there's no session for the current recipient. Maybe it was cleared?
|
||||
// In this case, we just assume we need to send a new SKDM
|
||||
if case SignalError.sessionNotFound = error {
|
||||
if case SignalError.invalidState = error {
|
||||
Logger.warn("Invalid session state. Cannot build recipient state for \(intendedRecipient). \(error)")
|
||||
} else {
|
||||
owsFailDebug("Failed to fetch current recipient state for \(intendedRecipient): \(error)")
|
||||
|
||||
@ -408,8 +408,7 @@ public class BackupArchiveAccountDataArchiver: BackupArchiveProtoStreamWriter {
|
||||
case .paid:
|
||||
uploadEra = backupAttachmentUploadEraStore.currentUploadEra(tx: context.tx)
|
||||
|
||||
// Only enable optimizeLocalStorage for restores to a primary.
|
||||
let optimizeLocalStorage = context.isPrimaryDevice && accountData.accountSettings.optimizeOnDeviceStorage
|
||||
let optimizeLocalStorage = accountData.accountSettings.optimizeOnDeviceStorage
|
||||
if BuildFlags.Backups.avoidStoreKitForTesters {
|
||||
// If we're importing into a build that can't make purchases,
|
||||
// opt ourselves into "paid as tester" mode. We'll manage IAP
|
||||
|
||||
@ -87,6 +87,10 @@ public class AttachmentOffloadingManagerImpl: AttachmentOffloadingManager {
|
||||
}
|
||||
|
||||
public func offloadAttachmentsIfNeeded() async throws {
|
||||
guard remoteConfig.currentConfig().isOptimizeStorageEnabled else {
|
||||
return
|
||||
}
|
||||
|
||||
guard db.read(block: { offloadingIsAllowed(tx: $0) }) else {
|
||||
return
|
||||
}
|
||||
|
||||
@ -394,7 +394,7 @@ class BackupListMediaManagerImpl: BackupListMediaManager {
|
||||
|
||||
var query = Attachment.Record
|
||||
.order(Column(Attachment.Record.CodingKeys.sqliteId).asc)
|
||||
.filter(Column(Attachment.Record.CodingKeys.plaintextHash) != nil)
|
||||
.filter(Column(Attachment.Record.CodingKeys.mediaName) != nil)
|
||||
|
||||
if let id = txContext.lastEnumeratedAttachmentId {
|
||||
query = query
|
||||
@ -761,6 +761,7 @@ class BackupListMediaManagerImpl: BackupListMediaManager {
|
||||
attachment,
|
||||
listedMedia: matchedListedMedia,
|
||||
isThumbnail: isThumbnail,
|
||||
fullsizeMediaName: fullsizeMediaName,
|
||||
uploadEraAtStartOfListMedia: uploadEraAtStartOfListMedia,
|
||||
currentBackupPlan: currentBackupPlan,
|
||||
remoteConfig: remoteConfig,
|
||||
@ -949,6 +950,7 @@ class BackupListMediaManagerImpl: BackupListMediaManager {
|
||||
_ attachment: Attachment,
|
||||
listedMedia: ListedBackupMediaObject,
|
||||
isThumbnail: Bool,
|
||||
fullsizeMediaName: String,
|
||||
uploadEraAtStartOfListMedia: String,
|
||||
currentBackupPlan: BackupPlan,
|
||||
remoteConfig: RemoteConfig,
|
||||
@ -960,6 +962,7 @@ class BackupListMediaManagerImpl: BackupListMediaManager {
|
||||
from: listedMedia,
|
||||
isThumbnail: isThumbnail,
|
||||
uploadEraAtStartOfListMedia: uploadEraAtStartOfListMedia,
|
||||
fullsizeMediaName: fullsizeMediaName,
|
||||
tx: tx,
|
||||
)
|
||||
|
||||
@ -1012,6 +1015,7 @@ class BackupListMediaManagerImpl: BackupListMediaManager {
|
||||
from listedMedia: ListedBackupMediaObject,
|
||||
isThumbnail: Bool,
|
||||
uploadEraAtStartOfListMedia: String,
|
||||
fullsizeMediaName: String,
|
||||
tx: DBWriteTransaction,
|
||||
) -> Bool {
|
||||
if isThumbnail {
|
||||
@ -1023,6 +1027,7 @@ class BackupListMediaManagerImpl: BackupListMediaManager {
|
||||
uploadEra: uploadEraAtStartOfListMedia,
|
||||
lastDownloadAttemptTimestamp: nil,
|
||||
),
|
||||
mediaName: fullsizeMediaName,
|
||||
tx: tx,
|
||||
)
|
||||
return true
|
||||
@ -1063,6 +1068,7 @@ class BackupListMediaManagerImpl: BackupListMediaManager {
|
||||
uploadEra: uploadEraAtStartOfListMedia,
|
||||
lastDownloadAttemptTimestamp: nil,
|
||||
),
|
||||
mediaName: fullsizeMediaName,
|
||||
tx: tx,
|
||||
)
|
||||
return true
|
||||
|
||||
@ -91,14 +91,12 @@ public class BackupListMediaManagerTests {
|
||||
// Case 1: Attachment exists locally but not on CDN
|
||||
let localOnlyIds = await db.awaitableWrite { tx in
|
||||
return (0..<numAttachmentsPerCase).map { _ in
|
||||
let plaintextHash = Randomness.generateRandomBytes(32)
|
||||
return insertAttachment(
|
||||
plaintextHash: plaintextHash,
|
||||
encryptionKey: .generate(),
|
||||
mediaName: UUID().uuidString,
|
||||
mediaTierInfo: .init(
|
||||
cdnNumber: 1,
|
||||
unencryptedByteCount: 100,
|
||||
plaintextHash: plaintextHash,
|
||||
plaintextHash: UUID().data,
|
||||
incrementalMacInfo: nil,
|
||||
uploadEra: localUploadEra,
|
||||
lastDownloadAttemptTimestamp: nil,
|
||||
@ -113,7 +111,7 @@ public class BackupListMediaManagerTests {
|
||||
let remoteOnlyCdnNumberMedia = (0..<numAttachmentsPerCase).map { _ in
|
||||
return BackupArchive.Response.StoredMedia(
|
||||
cdn: orphanCdnNumber,
|
||||
mediaId: Randomness.generateRandomBytes(15).hexadecimalString,
|
||||
mediaId: UUID().uuidString,
|
||||
objectLength: 100,
|
||||
)
|
||||
}
|
||||
@ -126,12 +124,7 @@ public class BackupListMediaManagerTests {
|
||||
var discoveredCdnNumberMedia = [BackupArchive.Response.StoredMedia]()
|
||||
let discoveredCdnNumberIds = await db.awaitableWrite { tx in
|
||||
return (0..<numAttachmentsPerCase).map { _ in
|
||||
let plaintextHash = Randomness.generateRandomBytes(32)
|
||||
let encryptionKey = AttachmentKey.generate()
|
||||
let mediaName = Attachment.mediaName(
|
||||
plaintextHash: plaintextHash,
|
||||
encryptionKey: encryptionKey.combinedKey,
|
||||
)
|
||||
let mediaName = UUID().uuidString
|
||||
let fullsizeMediaId = try! mediaRootBackupKey.deriveMediaId(mediaName)
|
||||
let thumbnailMediaId = try! mediaRootBackupKey.deriveMediaId(AttachmentBackupThumbnail.thumbnailMediaName(fullsizeMediaName: mediaName))
|
||||
for mediaId in [fullsizeMediaId, thumbnailMediaId] {
|
||||
@ -142,8 +135,7 @@ public class BackupListMediaManagerTests {
|
||||
))
|
||||
}
|
||||
return insertAttachment(
|
||||
plaintextHash: plaintextHash,
|
||||
encryptionKey: encryptionKey,
|
||||
mediaName: mediaName,
|
||||
mediaTierInfo: nil,
|
||||
tx: tx,
|
||||
)
|
||||
@ -155,12 +147,7 @@ public class BackupListMediaManagerTests {
|
||||
var matchingCdnNumberMedia = [BackupArchive.Response.StoredMedia]()
|
||||
let matchingCdnNumberIds = await db.awaitableWrite { tx in
|
||||
return (0..<numAttachmentsPerCase).map { _ in
|
||||
let plaintextHash = Randomness.generateRandomBytes(32)
|
||||
let encryptionKey = AttachmentKey.generate()
|
||||
let mediaName = Attachment.mediaName(
|
||||
plaintextHash: plaintextHash,
|
||||
encryptionKey: encryptionKey.combinedKey,
|
||||
)
|
||||
let mediaName = UUID().uuidString
|
||||
let fullsizeMediaId = try! mediaRootBackupKey.deriveMediaId(mediaName)
|
||||
let thumbnailMediaId = try! mediaRootBackupKey.deriveMediaId(AttachmentBackupThumbnail.thumbnailMediaName(fullsizeMediaName: mediaName))
|
||||
for mediaId in [fullsizeMediaId, thumbnailMediaId] {
|
||||
@ -176,12 +163,11 @@ public class BackupListMediaManagerTests {
|
||||
))
|
||||
}
|
||||
return insertAttachment(
|
||||
plaintextHash: plaintextHash,
|
||||
encryptionKey: encryptionKey,
|
||||
mediaName: mediaName,
|
||||
mediaTierInfo: .init(
|
||||
cdnNumber: matchingCdnNumber,
|
||||
unencryptedByteCount: 100,
|
||||
plaintextHash: plaintextHash,
|
||||
plaintextHash: UUID().data,
|
||||
incrementalMacInfo: nil,
|
||||
uploadEra: localUploadEra,
|
||||
lastDownloadAttemptTimestamp: nil,
|
||||
@ -195,12 +181,7 @@ public class BackupListMediaManagerTests {
|
||||
var nonMatchingCdnNumberMedia = [BackupArchive.Response.StoredMedia]()
|
||||
let nonMatchingCdnNumberIds = await db.awaitableWrite { tx in
|
||||
return (0..<numAttachmentsPerCase).map { _ in
|
||||
let plaintextHash = Randomness.generateRandomBytes(32)
|
||||
let encryptionKey = AttachmentKey.generate()
|
||||
let mediaName = Attachment.mediaName(
|
||||
plaintextHash: plaintextHash,
|
||||
encryptionKey: encryptionKey.combinedKey,
|
||||
)
|
||||
let mediaName = UUID().uuidString
|
||||
let fullsizeMediaId = try! mediaRootBackupKey.deriveMediaId(mediaName)
|
||||
let thumbnailMediaId = try! mediaRootBackupKey.deriveMediaId(AttachmentBackupThumbnail.thumbnailMediaName(fullsizeMediaName: mediaName))
|
||||
for mediaId in [fullsizeMediaId, thumbnailMediaId] {
|
||||
@ -218,12 +199,11 @@ public class BackupListMediaManagerTests {
|
||||
))
|
||||
}
|
||||
return insertAttachment(
|
||||
plaintextHash: plaintextHash,
|
||||
encryptionKey: encryptionKey,
|
||||
mediaName: mediaName,
|
||||
mediaTierInfo: .init(
|
||||
cdnNumber: matchingCdnNumber,
|
||||
unencryptedByteCount: 100,
|
||||
plaintextHash: plaintextHash,
|
||||
plaintextHash: UUID().data,
|
||||
incrementalMacInfo: nil,
|
||||
uploadEra: localUploadEra,
|
||||
lastDownloadAttemptTimestamp: nil,
|
||||
@ -349,20 +329,14 @@ public class BackupListMediaManagerTests {
|
||||
typealias Attachment = SignalServiceKit.Attachment
|
||||
|
||||
private func insertAttachment(
|
||||
plaintextHash: Data,
|
||||
encryptionKey: AttachmentKey,
|
||||
mediaName: String,
|
||||
mediaTierInfo: Attachment.MediaTierInfo?,
|
||||
tx: DBWriteTransaction,
|
||||
) -> Attachment.IDType {
|
||||
owsPrecondition(mediaTierInfo == nil || mediaTierInfo!.plaintextHash == plaintextHash)
|
||||
|
||||
let thread = TSThread(uniqueId: UUID().uuidString)
|
||||
try! thread.insert(tx.database)
|
||||
|
||||
var attachmentRecord = Attachment.Record.mockStream(
|
||||
encryptionKey: encryptionKey,
|
||||
plaintextHash: plaintextHash,
|
||||
)
|
||||
var attachmentRecord = Attachment.Record.mockStream(mediaName: mediaName)
|
||||
try! attachmentRecord.insert(tx.database)
|
||||
|
||||
if let mediaTierInfo {
|
||||
|
||||
@ -104,7 +104,6 @@ public final class ContactDiscoveryManagerImpl: ContactDiscoveryManager {
|
||||
recipientFetcher: RecipientFetcher,
|
||||
recipientManager: any SignalRecipientManager,
|
||||
recipientMerger: RecipientMerger,
|
||||
remoteAttestationAuthFetcher: RemoteAttestationAuthFetcher,
|
||||
tsAccountManager: TSAccountManager,
|
||||
udManager: OWSUDManager,
|
||||
libsignalNet: Net,
|
||||
@ -116,7 +115,6 @@ public final class ContactDiscoveryManagerImpl: ContactDiscoveryManager {
|
||||
recipientFetcher: recipientFetcher,
|
||||
recipientManager: recipientManager,
|
||||
recipientMerger: recipientMerger,
|
||||
remoteAttestationAuthFetcher: remoteAttestationAuthFetcher,
|
||||
tsAccountManager: tsAccountManager,
|
||||
udManager: udManager,
|
||||
libsignalNet: libsignalNet,
|
||||
|
||||
@ -17,7 +17,6 @@ final class ContactDiscoveryTaskQueueImpl: ContactDiscoveryTaskQueue {
|
||||
private let recipientFetcher: RecipientFetcher
|
||||
private let recipientManager: any SignalRecipientManager
|
||||
private let recipientMerger: RecipientMerger
|
||||
private let remoteAttestationAuthFetcher: RemoteAttestationAuthFetcher
|
||||
private let tsAccountManager: TSAccountManager
|
||||
private let udManager: OWSUDManager
|
||||
private let libsignalNet: Net
|
||||
@ -28,7 +27,6 @@ final class ContactDiscoveryTaskQueueImpl: ContactDiscoveryTaskQueue {
|
||||
recipientFetcher: RecipientFetcher,
|
||||
recipientManager: any SignalRecipientManager,
|
||||
recipientMerger: RecipientMerger,
|
||||
remoteAttestationAuthFetcher: RemoteAttestationAuthFetcher,
|
||||
tsAccountManager: TSAccountManager,
|
||||
udManager: OWSUDManager,
|
||||
libsignalNet: Net,
|
||||
@ -38,7 +36,6 @@ final class ContactDiscoveryTaskQueueImpl: ContactDiscoveryTaskQueue {
|
||||
self.recipientFetcher = recipientFetcher
|
||||
self.recipientManager = recipientManager
|
||||
self.recipientMerger = recipientMerger
|
||||
self.remoteAttestationAuthFetcher = remoteAttestationAuthFetcher
|
||||
self.tsAccountManager = tsAccountManager
|
||||
self.udManager = udManager
|
||||
self.libsignalNet = libsignalNet
|
||||
@ -56,7 +53,7 @@ final class ContactDiscoveryTaskQueueImpl: ContactDiscoveryTaskQueue {
|
||||
mode: mode,
|
||||
udManager: udManager,
|
||||
connectionImpl: libsignalNet,
|
||||
remoteAttestationAuthFetcher: remoteAttestationAuthFetcher,
|
||||
remoteAttestation: ContactDiscoveryV2Operation<LibSignalClient.Net>.Wrappers.RemoteAttestation(),
|
||||
).perform()
|
||||
|
||||
return try await self.processResults(requestedPhoneNumbers: e164s, discoveryResults: discoveryResults)
|
||||
|
||||
@ -101,7 +101,7 @@ final class ContactDiscoveryV2Operation<ConnectionType: ContactDiscoveryConnecti
|
||||
|
||||
private let connectionImpl: ConnectionType
|
||||
|
||||
private let remoteAttestationAuthFetcher: RemoteAttestationAuthFetcher
|
||||
private let remoteAttestation: Shims.RemoteAttestation
|
||||
|
||||
convenience init(
|
||||
db: any DB,
|
||||
@ -109,7 +109,7 @@ final class ContactDiscoveryV2Operation<ConnectionType: ContactDiscoveryConnecti
|
||||
mode: ContactDiscoveryMode,
|
||||
udManager: any OWSUDManager,
|
||||
connectionImpl: ConnectionType,
|
||||
remoteAttestationAuthFetcher: RemoteAttestationAuthFetcher,
|
||||
remoteAttestation: any Shims.RemoteAttestation,
|
||||
) {
|
||||
self.init(
|
||||
db: db,
|
||||
@ -117,7 +117,7 @@ final class ContactDiscoveryV2Operation<ConnectionType: ContactDiscoveryConnecti
|
||||
persistentState: mode == .oneOffUserRequest ? nil : ContactDiscoveryV2PersistentStateImpl(),
|
||||
udManager: udManager,
|
||||
connectionImpl: connectionImpl,
|
||||
remoteAttestationAuthFetcher: remoteAttestationAuthFetcher,
|
||||
remoteAttestation: remoteAttestation,
|
||||
)
|
||||
}
|
||||
|
||||
@ -127,22 +127,19 @@ final class ContactDiscoveryV2Operation<ConnectionType: ContactDiscoveryConnecti
|
||||
persistentState: (any ContactDiscoveryV2PersistentState)?,
|
||||
udManager: any OWSUDManager,
|
||||
connectionImpl: ConnectionType,
|
||||
remoteAttestationAuthFetcher: RemoteAttestationAuthFetcher,
|
||||
remoteAttestation: any Shims.RemoteAttestation,
|
||||
) {
|
||||
self.db = db
|
||||
self.e164sToLookup = e164sToLookup
|
||||
self.persistentState = persistentState
|
||||
self.udManager = udManager
|
||||
self.connectionImpl = connectionImpl
|
||||
self.remoteAttestationAuthFetcher = remoteAttestationAuthFetcher
|
||||
self.remoteAttestation = remoteAttestation
|
||||
}
|
||||
|
||||
func perform() async throws -> [ContactDiscoveryResult] {
|
||||
do {
|
||||
let cdsiAuth = try await self.remoteAttestationAuthFetcher.fetchAuth(
|
||||
forService: .cdsi,
|
||||
chatServiceAuth: .implicit(),
|
||||
)
|
||||
let cdsiAuth = try await self.remoteAttestation.authForCDSI()
|
||||
let request = try self.buildRequest()
|
||||
let auth = LibSignalClient.Auth(username: cdsiAuth.username, password: cdsiAuth.password)
|
||||
let tokenResult = try await self.connectionImpl.performRequest(request, auth: auth)
|
||||
@ -325,3 +322,27 @@ private class ContactDiscoveryV2PersistentStateImpl: ContactDiscoveryV2Persisten
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Shims
|
||||
|
||||
extension ContactDiscoveryV2Operation {
|
||||
enum Shims {
|
||||
typealias RemoteAttestation = _ContactDiscoveryV2Operation_RemoteAttestationShim
|
||||
}
|
||||
|
||||
enum Wrappers {
|
||||
typealias RemoteAttestation = _ContactDiscoveryV2Operation_RemoteAttestationWrapper
|
||||
}
|
||||
}
|
||||
|
||||
protocol _ContactDiscoveryV2Operation_RemoteAttestationShim {
|
||||
func authForCDSI() async throws -> RemoteAttestation.Auth
|
||||
}
|
||||
|
||||
class _ContactDiscoveryV2Operation_RemoteAttestationWrapper: _ContactDiscoveryV2Operation_RemoteAttestationShim {
|
||||
init() {}
|
||||
|
||||
func authForCDSI() async throws -> RemoteAttestation.Auth {
|
||||
return try await RemoteAttestation.authForCDSI()
|
||||
}
|
||||
}
|
||||
|
||||
@ -208,10 +208,15 @@ extension OWSSyncManager: SyncManagerProtocol, SyncManagerProtocolSwift {
|
||||
return owsFailDebug("Missing thread")
|
||||
}
|
||||
|
||||
let accountKeyStore = DependenciesBridge.shared.accountKeyStore
|
||||
guard let accountEntropyPool = accountKeyStore.getAccountEntropyPool(tx: tx) else {
|
||||
owsFailDebug("must have AEP for sync message")
|
||||
return
|
||||
let accountEntropyPool = DependenciesBridge.shared.accountKeyStore.getAccountEntropyPool(tx: tx)
|
||||
if accountEntropyPool == nil {
|
||||
Logger.warn("Expecting AEP present for sync message")
|
||||
}
|
||||
|
||||
let masterKey = DependenciesBridge.shared.accountKeyStore.getMasterKey(tx: tx)
|
||||
|
||||
guard accountEntropyPool != nil || masterKey != nil else {
|
||||
return owsFailDebug("Missing root key")
|
||||
}
|
||||
|
||||
let mrbk = DependenciesBridge.shared.accountKeyStore.getOrGenerateMediaRootBackupKey(tx: tx)
|
||||
@ -219,6 +224,7 @@ extension OWSSyncManager: SyncManagerProtocol, SyncManagerProtocolSwift {
|
||||
let syncKeysMessage = OutgoingKeysSyncMessage(
|
||||
localThread: thread,
|
||||
accountEntropyPool: accountEntropyPool,
|
||||
masterKey: masterKey,
|
||||
mediaRootBackupKey: mrbk,
|
||||
tx: tx,
|
||||
)
|
||||
@ -241,10 +247,10 @@ extension OWSSyncManager: SyncManagerProtocol, SyncManagerProtocolSwift {
|
||||
)
|
||||
} catch {
|
||||
switch error {
|
||||
case .missingAep:
|
||||
Logger.warn("Key sync messages missing aep")
|
||||
case .missingMrbk:
|
||||
Logger.warn("Key sync messages missing media root backup key")
|
||||
case .missingMasterKey:
|
||||
Logger.warn("Key sync messages missing master key")
|
||||
case .missingOrInvalidMRBK:
|
||||
Logger.warn("Key sync messages missing or invalid media root backup key")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -8,12 +8,17 @@ public import LibSignalClient
|
||||
|
||||
public struct LinkingProvisioningMessage {
|
||||
|
||||
public enum RootKey {
|
||||
case accountEntropyPool(AccountEntropyPool)
|
||||
case masterKey(MasterKey)
|
||||
}
|
||||
|
||||
public enum Constants {
|
||||
public static let provisioningVersion: UInt32 = 1
|
||||
public static let userAgent: String = "OWI"
|
||||
}
|
||||
|
||||
public let aep: AccountEntropyPool
|
||||
public let rootKey: RootKey
|
||||
public let aci: Aci
|
||||
public let phoneNumber: String
|
||||
public let pni: Pni
|
||||
@ -28,7 +33,7 @@ public struct LinkingProvisioningMessage {
|
||||
public let provisioningVersion: UInt32
|
||||
|
||||
public init(
|
||||
aep: AccountEntropyPool,
|
||||
rootKey: RootKey,
|
||||
aci: Aci,
|
||||
phoneNumber: String,
|
||||
pni: Pni,
|
||||
@ -42,7 +47,7 @@ public struct LinkingProvisioningMessage {
|
||||
provisioningUserAgent: String? = Constants.userAgent,
|
||||
provisioningVersion: UInt32 = Constants.provisioningVersion,
|
||||
) {
|
||||
self.aep = aep
|
||||
self.rootKey = rootKey
|
||||
self.aci = aci
|
||||
self.phoneNumber = phoneNumber
|
||||
self.pni = pni
|
||||
@ -114,9 +119,11 @@ public struct LinkingProvisioningMessage {
|
||||
let accountEntropyPool = proto.accountEntropyPool?.nilIfEmpty,
|
||||
let aep = try? AccountEntropyPool(key: accountEntropyPool)
|
||||
{
|
||||
self.aep = aep
|
||||
self.rootKey = .accountEntropyPool(aep)
|
||||
} else if let masterKey = try proto.masterKey.map({ try MasterKey(data: $0) }) {
|
||||
self.rootKey = .masterKey(masterKey)
|
||||
} else {
|
||||
throw ProvisioningError.invalidProvisionMessage("missing aep from provisioning message")
|
||||
throw ProvisioningError.invalidProvisionMessage("missing master key from provisioning message")
|
||||
}
|
||||
|
||||
guard let mrbkBytes = proto.mediaRootBackupKey else {
|
||||
@ -148,7 +155,14 @@ public struct LinkingProvisioningMessage {
|
||||
messageBuilder.setNumber(phoneNumber)
|
||||
messageBuilder.setAciBinary(aci.rawUUID.data)
|
||||
messageBuilder.setPniBinary(pni.rawUUID.data)
|
||||
messageBuilder.setAccountEntropyPool(aep.rawString)
|
||||
|
||||
switch rootKey {
|
||||
case .accountEntropyPool(let accountEntropyPool):
|
||||
messageBuilder.setAccountEntropyPool(accountEntropyPool.rawString)
|
||||
messageBuilder.setMasterKey(accountEntropyPool.getMasterKey().rawData)
|
||||
case .masterKey(let masterKey):
|
||||
messageBuilder.setMasterKey(masterKey.rawData)
|
||||
}
|
||||
messageBuilder.setMediaRootBackupKey(mrbk.serialize())
|
||||
ephemeralBackupKey.map { messageBuilder.setEphemeralBackupKey($0.serialize()) }
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user