Merge remote-tracking branch 'private/release/2.34.0'

This commit is contained in:
Matthew Chen 2019-01-22 11:10:04 -05:00
commit 977ee9ffe9
80 changed files with 1614 additions and 773 deletions

View File

@ -47,7 +47,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>2.34.0.14</string>
<string>2.34.0.25</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LOGS_EMAIL</key>
@ -148,8 +148,6 @@
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

View File

@ -1327,6 +1327,8 @@ static NSTimeInterval launchStartedAt;
self.window.rootViewController = navigationController;
[AppUpdateNag.sharedInstance showAppUpgradeNagIfNecessary];
[UIViewController attemptRotationToDeviceOrientation];
}
#pragma mark - status bar touches

View File

@ -386,7 +386,7 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
{
NSString *confirmationTitleFormat
= NSLocalizedString(@"UNLINK_CONFIRMATION_ALERT_TITLE", @"Alert title for confirming device deletion");
NSString *confirmationTitle = [NSString stringWithFormat:confirmationTitleFormat, device.name];
NSString *confirmationTitle = [NSString stringWithFormat:confirmationTitleFormat, device.displayName];
NSString *confirmationMessage
= NSLocalizedString(@"UNLINK_CONFIRMATION_ALERT_BODY", @"Alert message to confirm unlinking a device");
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:confirmationTitle

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -11,6 +11,9 @@ public class MediaAlbumCellView: UIStackView {
@objc
public let itemViews: [ConversationMediaView]
@objc
public var moreItemsView: ConversationMediaView?
private static let kSpacingPts: CGFloat = 2
private static let kMaxItems = 5
@ -41,8 +44,6 @@ public class MediaAlbumCellView: UIStackView {
}
private func createContents(maxMessageWidth: CGFloat) {
var moreItemViews = [ConversationMediaView]()
switch itemViews.count {
case 0:
owsFailDebug("No item views.")
@ -129,7 +130,7 @@ public class MediaAlbumCellView: UIStackView {
return
}
moreItemViews.append(lastView)
moreItemsView = lastView
let tintView = UIView()
tintView.backgroundColor = UIColor(white: 0, alpha: 0.4)
@ -151,7 +152,7 @@ public class MediaAlbumCellView: UIStackView {
}
for itemView in itemViews {
guard !moreItemViews.contains(itemView) else {
guard moreItemsView != itemView else {
// Don't display the caption indicator on
// the "more" item, if any.
continue
@ -277,4 +278,9 @@ public class MediaAlbumCellView: UIStackView {
}
return bestMediaView
}
@objc
public func isMoreItemsView(mediaView: ConversationMediaView) -> Bool {
return moreItemsView == mediaView
}
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import "OWSMessageBubbleView.h"
@ -1376,10 +1376,6 @@ const UIDataDetectorTypes kOWSAllowedDataDetectorTypes
OWSAssertDebug(self.bodyMediaView);
OWSAssertDebug(self.viewItem.mediaAlbumItems.count > 0);
if (self.viewItem.mediaAlbumHasFailedAttachment) {
[self.delegate didTapFailedIncomingAttachment:self.viewItem];
return;
}
if (![self.bodyMediaView isKindOfClass:[OWSMediaAlbumCellView class]]) {
OWSFailDebug(@"Unexpected body media view: %@", self.bodyMediaView.class);
return;
@ -1392,8 +1388,21 @@ const UIDataDetectorTypes kOWSAllowedDataDetectorTypes
return;
}
if ([mediaAlbumCellView isMoreItemsViewWithMediaView:mediaView]
&& self.viewItem.mediaAlbumHasFailedAttachment) {
[self.delegate didTapFailedIncomingAttachment:self.viewItem];
return;
}
TSAttachment *attachment = mediaView.attachment;
if (![attachment isKindOfClass:[TSAttachmentStream class]]) {
if ([attachment isKindOfClass:[TSAttachmentPointer class]]) {
TSAttachmentPointer *attachmentPointer = (TSAttachmentPointer *)attachment;
if (attachmentPointer.state == TSAttachmentPointerStateFailed) {
// Treat the tap as a "retry" tap if the user taps on a failed download.
[self.delegate didTapFailedIncomingAttachment:self.viewItem];
return;
}
} else if (![attachment isKindOfClass:[TSAttachmentStream class]]) {
OWSLogWarn(@"Media attachment not yet downloaded.");
return;
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
NS_ASSUME_NONNULL_BEGIN
@ -53,6 +53,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)updateFontSizes;
- (void)updateLayoutWithSafeAreaInsets:(UIEdgeInsets)safeAreaInsets;
#pragma mark - Voice Memo
- (void)ensureTextViewHeight;

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import "ConversationInputToolbar.h"
@ -53,6 +53,8 @@ const CGFloat kMaxTextViewHeight = 98;
@property (nonatomic, nullable) UILabel *recordingLabel;
@property (nonatomic) BOOL isRecordingVoiceMemo;
@property (nonatomic) CGPoint voiceMemoGestureStartLocation;
@property (nonatomic, nullable) NSArray<NSLayoutConstraint *> *layoutContraints;
@property (nonatomic) UIEdgeInsets receivedSafeAreaInsets;
@end
@ -68,7 +70,8 @@ const CGFloat kMaxTextViewHeight = 98;
self = [super initWithFrame:CGRectZero];
_conversationStyle = conversationStyle;
_receivedSafeAreaInsets = UIEdgeInsetsZero;
if (self) {
[self createContents];
}
@ -163,7 +166,18 @@ const CGFloat kMaxTextViewHeight = 98;
self.contentRows.axis = UILayoutConstraintAxisVertical;
[self addSubview:self.contentRows];
[self.contentRows autoPinEdgesToSuperviewEdges];
[self.contentRows autoPinEdgeToSuperviewEdge:ALEdgeTop];
[self.contentRows autoPinEdgeToSuperviewSafeArea:ALEdgeBottom];
// See comments on updateContentLayout:.
if (@available(iOS 11, *)) {
self.contentRows.insetsLayoutMarginsFromSafeArea = NO;
self.composeRow.insetsLayoutMarginsFromSafeArea = NO;
self.insetsLayoutMarginsFromSafeArea = NO;
}
self.contentRows.preservesSuperviewLayoutMargins = NO;
self.composeRow.preservesSuperviewLayoutMargins = NO;
self.preservesSuperviewLayoutMargins = NO;
[self ensureShouldShowVoiceMemoButtonAnimated:NO doLayout:NO];
}
@ -322,6 +336,35 @@ const CGFloat kMaxTextViewHeight = 98;
}
}
// iOS doesn't always update the safeAreaInsets correctly & in a timely
// way for the inputAccessoryView after a orientation change. The best
// workaround appears to be to use the safeAreaInsets from
// ConversationViewController's view. ConversationViewController updates
// this input toolbar using updateLayoutWithIsLandscape:.
- (void)updateContentLayout
{
if (self.layoutContraints) {
[NSLayoutConstraint deactivateConstraints:self.layoutContraints];
}
self.layoutContraints = @[
[self.contentRows autoPinEdgeToSuperviewEdge:ALEdgeLeft withInset:self.receivedSafeAreaInsets.left],
[self.contentRows autoPinEdgeToSuperviewEdge:ALEdgeRight withInset:self.receivedSafeAreaInsets.right],
];
}
- (void)updateLayoutWithSafeAreaInsets:(UIEdgeInsets)safeAreaInsets
{
BOOL didChange = !UIEdgeInsetsEqualToEdgeInsets(self.receivedSafeAreaInsets, safeAreaInsets);
BOOL hasLayout = self.layoutContraints != nil;
self.receivedSafeAreaInsets = safeAreaInsets;
if (didChange || !hasLayout) {
[self updateContentLayout];
}
}
- (void)handleLongPress:(UIGestureRecognizer *)sender
{
switch (sender.state) {

View File

@ -747,6 +747,7 @@ typedef enum : NSUInteger {
NSTimeInterval appearenceDuration = CACurrentMediaTime() - self.viewControllerCreatedAt;
OWSLogVerbose(@"First viewWillAppear took: %.2fms", appearenceDuration * 1000);
}
[self updateInputToolbarLayout];
}
- (NSArray<id<ConversationViewItem>> *)viewItems
@ -1185,27 +1186,6 @@ typedef enum : NSUInteger {
if (@available(iOS 10, *)) {
self.collectionView.prefetchingEnabled = YES;
}
// Now that we're using a "minimal" initial load window,
// try to increase the load window a moment after we've
// settled into the view.
__weak ConversationViewController *weakSelf = self;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(NSEC_PER_SEC / 2)), dispatch_get_main_queue(), ^{
ConversationViewController *strongSelf = weakSelf;
if (!strongSelf) {
return;
}
// Try to auto-extend the load window.
BOOL isMainAppAndActive = CurrentAppContext().isMainAppAndActive;
if (strongSelf.isUserScrolling || !strongSelf.isViewVisible || !isMainAppAndActive) {
return;
}
if (!strongSelf.conversationViewModel.canLoadMoreItems) {
return;
}
[strongSelf.conversationViewModel loadAnotherPageOfMessages];
});
}
self.conversationViewModel.focusMessageIdOnOpen = nil;
@ -1249,6 +1229,8 @@ typedef enum : NSUInteger {
// Clear the "on open" state after the view has been presented.
self.actionOnOpen = ConversationViewActionNone;
[self updateInputToolbarLayout];
}
// `viewWillDisappear` is called whenever the view *starts* to disappear,
@ -1700,8 +1682,9 @@ typedef enum : NSUInteger {
if (!self.showLoadMoreHeader) {
return;
}
static const CGFloat kThreshold = 50.f;
if (self.collectionView.contentOffset.y < kThreshold) {
CGSize screenSize = UIScreen.mainScreen.bounds.size;
CGFloat loadMoreThreshold = MAX(screenSize.width, screenSize.height);
if (self.collectionView.contentOffset.y < loadMoreThreshold) {
[self.conversationViewModel loadAnotherPageOfMessages];
}
}
@ -4847,6 +4830,8 @@ typedef enum : NSUInteger {
// new size.
[strongSelf resetForSizeOrOrientationChange];
[strongSelf updateInputToolbarLayout];
if (lastVisibleIndexPath) {
[strongSelf.collectionView scrollToItemAtIndexPath:lastVisibleIndexPath
atScrollPosition:UICollectionViewScrollPositionBottom
@ -4879,6 +4864,23 @@ typedef enum : NSUInteger {
// Try to update the lastKnownDistanceFromBottom; the content size may have changed.
[self updateLastKnownDistanceFromBottom];
}
[self updateInputToolbarLayout];
}
- (void)viewSafeAreaInsetsDidChange
{
[super viewSafeAreaInsetsDidChange];
[self updateInputToolbarLayout];
}
- (void)updateInputToolbarLayout
{
UIEdgeInsets safeAreaInsets = UIEdgeInsetsZero;
if (@available(iOS 11, *)) {
safeAreaInsets = self.view.safeAreaInsets;
}
[self.inputToolbar updateLayoutWithSafeAreaInsets:safeAreaInsets];
}
@end

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import "ConversationViewLayout.h"
@ -47,6 +47,8 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType);
@property (nonatomic, readonly, nullable) NSString *caption;
@property (nonatomic, readonly) BOOL isFailedDownload;
@end
#pragma mark -

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import "ConversationViewItem.h"
@ -64,6 +64,16 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType)
return self;
}
- (BOOL)isFailedDownload
{
if (![self.attachment isKindOfClass:[TSAttachmentPointer class]]) {
return NO;
}
TSAttachmentPointer *attachmentPointer = (TSAttachmentPointer *)self.attachment;
return attachmentPointer.state == TSAttachmentPointerStateFailed;
}
@end
#pragma mark -
@ -1080,11 +1090,8 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType)
OWSAssertDebug(self.mediaAlbumItems.count > 0);
for (ConversationMediaAlbumItem *mediaAlbumItem in self.mediaAlbumItems) {
if ([mediaAlbumItem.attachment isKindOfClass:[TSAttachmentPointer class]]) {
TSAttachmentPointer *attachmentPointer = (TSAttachmentPointer *)mediaAlbumItem.attachment;
if (attachmentPointer.state == TSAttachmentPointerStateFailed) {
return YES;
}
if (mediaAlbumItem.isFailedDownload) {
return YES;
}
}
return NO;

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -377,6 +377,11 @@ class MediaGallery: NSObject, MediaGalleryDataSource, MediaTileViewControllerDel
// For a speedy load, we only fetch a few items on either side of
// the initial message
ensureGalleryItemsLoaded(.around, item: initialDetailItem, amount: 10)
// We lazily load media into the gallery, but with large albums, we want to be sure
// we load all the media required to render the album's media rail.
ensureAlbumEntirelyLoaded(galleryItem: initialDetailItem)
self.initialDetailItem = initialDetailItem
let pageViewController = MediaPageViewController(initialItem: initialDetailItem, mediaGalleryDataSource: self, uiDatabaseConnection: self.uiDatabaseConnection, options: self.options)
@ -738,6 +743,16 @@ class MediaGallery: NSObject, MediaGalleryDataSource, MediaTileViewControllerDel
return galleryItem
}
func ensureAlbumEntirelyLoaded(galleryItem: MediaGalleryItem) {
ensureGalleryItemsLoaded(.before, item: galleryItem, amount: UInt(galleryItem.albumIndex))
let followingCount = galleryItem.message.attachmentIds.count - 1 - galleryItem.albumIndex
guard followingCount >= 0 else {
return
}
ensureGalleryItemsLoaded(.after, item: galleryItem, amount: UInt(followingCount))
}
var galleryAlbums: [String: MediaGalleryAlbum] = [:]
func getAlbum(item: MediaGalleryItem) -> MediaGalleryAlbum? {
guard let albumMessageId = item.attachmentStream.albumMessageId else {

View File

@ -145,7 +145,7 @@ class MediaPageViewController: UIPageViewController, UIPageViewControllerDataSou
// e.g. when getting to media details via message details screen, there's only
// one "Page" so the bounce doesn't make sense.
pagerScrollView.isScrollEnabled = sliderEnabled
pagerScrollViewContentOffsetObservation = pagerScrollView.observe(\.contentOffset, options: [.new]) { [weak self] object, change in
pagerScrollViewContentOffsetObservation = pagerScrollView.observe(\.contentOffset, options: [.new]) { [weak self] _, change in
guard let strongSelf = self else { return }
strongSelf.pagerScrollView(strongSelf.pagerScrollView, contentOffsetDidChange: change)
}
@ -607,10 +607,16 @@ class MediaPageViewController: UIPageViewController, UIPageViewControllerDataSou
return
}
mediaGalleryDataSource.dismissMediaDetailViewController(self,
animated: isAnimated,
completion: completion)
if IsLandscapeOrientationEnabled() {
mediaGalleryDataSource.dismissMediaDetailViewController(self,
animated: isAnimated,
completion: completion)
} else {
mediaGalleryDataSource.dismissMediaDetailViewController(self, animated: isAnimated) {
UIDevice.current.ows_setOrientation(.portrait)
completion?()
}
}
}
// MARK: MediaDetailViewControllerDelegate

View File

@ -93,7 +93,7 @@ class MenuActionsViewController: UIViewController, MenuActionSheetDelegate {
// MARK: Orientation
override public var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .allButUpsideDown
return DefaultUIInterfaceOrientationMask()
}
// MARK: Present / Dismiss animations

View File

@ -9,6 +9,6 @@ import Foundation
// MARK: Orientation
override public var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .allButUpsideDown
return DefaultUIInterfaceOrientationMask()
}
}

View File

@ -317,10 +317,16 @@ class ImagePickerGridController: UICollectionViewController, PhotoLibraryDelegat
let attachmentPromises: [Promise<SignalAttachment>] = assets.map({
return photoCollectionContents.outgoingAttachment(for: $0)
})
when(fulfilled: attachmentPromises)
.map { attachments in
firstly {
when(fulfilled: attachmentPromises)
}.map { attachments in
Logger.debug("built all attachments")
self.didComplete(withAttachments: attachments)
}.retainUntilComplete()
}.catch { error in
Logger.error("failed to prepare attachments. error: \(error)")
OWSAlerts.showAlert(title: NSLocalizedString("IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS", comment: "alert title"))
}.retainUntilComplete()
}
private func didComplete(withAttachments attachments: [SignalAttachment]) {
@ -573,6 +579,23 @@ class ImagePickerGridController: UICollectionViewController, PhotoLibraryDelegat
// If we re-enter image picking via "add more" button, do so in batch mode.
isInBatchSelectMode = true
// clear selection
deselectAnySelected()
// removing-and-readding accomplishes two things
// 1. respect items removed from the rail while in the approval view
// 2. in the case of the user adding more to what was a single item
// which was not selected in batch mode, ensure that item is now
// part of the "batch selection"
for previouslySelected in attachments {
guard let assetId = previouslySelected.assetId else {
owsFailDebug("assetId was unexpectedly nil")
continue
}
selectedIds.add(assetId as Any)
}
navigationController?.popToViewController(self, animated: true)
}

View File

@ -142,7 +142,12 @@ class PhotoCollectionContents {
private func requestImageDataSource(for asset: PHAsset) -> Promise<(dataSource: DataSource, dataUTI: String)> {
return Promise { resolver in
_ = imageManager.requestImageData(for: asset, options: nil) { imageData, dataUTI, _, _ in
let options: PHImageRequestOptions = PHImageRequestOptions()
options.isNetworkAccessAllowed = true
_ = imageManager.requestImageData(for: asset, options: options) { imageData, dataUTI, orientation, info in
guard let imageData = imageData else {
resolver.reject(PhotoLibraryError.assertionError(description: "imageData was unexpectedly nil"))
return
@ -166,7 +171,10 @@ class PhotoCollectionContents {
private func requestVideoDataSource(for asset: PHAsset) -> Promise<(dataSource: DataSource, dataUTI: String)> {
return Promise { resolver in
_ = imageManager.requestExportSession(forVideo: asset, options: nil, exportPreset: AVAssetExportPresetMediumQuality) { exportSession, _ in
let options: PHVideoRequestOptions = PHVideoRequestOptions()
options.isNetworkAccessAllowed = true
_ = imageManager.requestExportSession(forVideo: asset, options: options, exportPreset: AVAssetExportPresetMediumQuality) { exportSession, foo in
guard let exportSession = exportSession else {
resolver.reject(PhotoLibraryError.assertionError(description: "exportSession was unexpectedly nil"))

View File

@ -624,7 +624,7 @@ NSString *const kProfileView_LastPresentedDate = @"kProfileView_LastPresentedDat
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return (self.profileViewMode == ProfileViewMode_Registration ? UIInterfaceOrientationMaskPortrait
: UIInterfaceOrientationMaskAllButUpsideDown);
: DefaultUIInterfaceOrientationMask());
}
@end

View File

@ -170,6 +170,6 @@ public class BackupRestoreViewController: OWSTableViewController {
// MARK: Orientation
public override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .allButUpsideDown
return DefaultUIInterfaceOrientationMask()
}
}

View File

@ -8,14 +8,14 @@
"ACTION_AUDIO_CALL" = "اتصال";
/* Label for 'invite' button in contact view. */
"ACTION_INVITE" = "ارسال دعوة";
"ACTION_INVITE" = "ادعُ إلى Signal";
/* Label for 'send message' button in contact view.
Label for button that lets you send a message to a contact. */
"ACTION_SEND_MESSAGE" = "إرسال رسالة";
/* Label for 'share contact' button. */
"ACTION_SHARE_CONTACT" = "مشاركة جهة اتصال.";
"ACTION_SHARE_CONTACT" = "مشاركة جهة اتصال";
/* Label for 'video call' button in contact view. */
"ACTION_VIDEO_CALL" = "اتصال فيديو";
@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "تم";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "حدد";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "معاودة الاتصال";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "جار الربط…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "العثور على أسماء من يتم الاتصال بهم عن طريق رقم الهاتف";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "ترقية iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "ترقية Signal..";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "الرجوع";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Done";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Select";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connecting…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Find Contacts by Phone Number";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Back";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Готово";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Изберете";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Свързване...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Намери Контакти по Телефонен Номер";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Надстройте iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Обратно";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Uredu";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Select";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Povezivanje...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Pronađi kontakt po telefonskom broju";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Ažuriraj iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Nazad";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Fet";
/* Label for redo button. */
"BUTTON_REDO" = "Refés";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Seleccionar";
/* Label for undo button. */
"BUTTON_UNDO" = "Desfés";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Torna a trucar";
@ -952,10 +958,10 @@
"EXPERIENCE_UPGRADE_DISMISS_BUTTON" = "Ara no";
/* action sheet header when re-sending message which failed because of too many attempts */
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Too many failures with this contact. Please try again later.";
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Massa errors amb aquest contacte. Torna-ho a intentar més tard";
/* action sheet header when re-sending message which failed because of untrusted identity keys */
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Your safety number with %@ has recently changed. You may wish to verify before sending this message again.";
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "El teu codi de seguretat amb %@ ha canviat recentment. Potser vols comprovar-lo abans de tornar a enviar aquest missatge.";
/* alert title */
"FAILED_VERIFICATION_TITLE" = "No s'ha pogut verificar els números.";
@ -964,34 +970,34 @@
"FINGERPRINT_SCAN_VERIFY_BUTTON" = "Marca com a verificat";
/* No comment provided by engineer. */
"FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Reset Session";
"FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Reinicialitza la sessió";
/* Accessibility label for finishing new group */
"FINISH_GROUP_CREATION_LABEL" = "Acaba de crear el grup";
/* Label indicating media gallery is empty */
"GALLERY_TILES_EMPTY_GALLERY" = "You don't have any media in this conversation.";
"GALLERY_TILES_EMPTY_GALLERY" = "No tens arxius en aquesta conversa";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Carregant nous arxius...";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Carregant arxius antics...";
/* A label for generic attachments. */
"GENERIC_ATTACHMENT_LABEL" = "Fitxer adjunt";
/* Error displayed when there is a failure fetching a GIF from the remote service. */
"GIF_PICKER_ERROR_FETCH_FAILURE" = "Failed to fetch the requested GIF. Please verify you are online.";
"GIF_PICKER_ERROR_FETCH_FAILURE" = "Error descarregant el GIF demanat. Comprova que estàs on-line.";
/* Generic error displayed when picking a GIF */
"GIF_PICKER_ERROR_GENERIC" = "S'ha produït un error desconegut.";
/* Shown when selected GIF couldn't be fetched */
"GIF_PICKER_FAILURE_ALERT_TITLE" = "Unable to Choose GIF";
"GIF_PICKER_FAILURE_ALERT_TITLE" = "Error descarregant el GIF";
/* Alert message shown when user tries to search for GIFs without entering any search terms. */
"GIF_PICKER_VIEW_MISSING_QUERY" = "Please enter your search.";
"GIF_PICKER_VIEW_MISSING_QUERY" = "Entra el que vols buscar";
/* Title for the 'GIF picker' dialog. */
"GIF_PICKER_VIEW_TITLE" = "Cerca GIF";
@ -1003,7 +1009,7 @@
"GIF_VIEW_SEARCH_NO_RESULTS" = "No hi ha cap resultat.";
/* Placeholder text for the search field in GIF view */
"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Enter your search";
"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Entra el que vols buscar";
/* No comment provided by engineer. */
"GROUP_AVATAR_CHANGED" = "S'ha canviat l'avatar.";
@ -1030,7 +1036,7 @@
"GROUP_MEMBERS_CALL" = "Truca";
/* Label for the button that clears all verification errors in the 'group members' view. */
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Clear Verification for All";
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Esborra les verificacions per tothom";
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Això esborrarà la verificació de tots els membres del grup el número dels quals hagin canviat des que els vau verificar.";
@ -1057,7 +1063,7 @@
"GROUP_YOU_LEFT" = "Heu abandonat el grup.";
/* Label for 'archived conversations' button. */
"HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Archived Conversations";
"HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Converses arxivades";
/* Table cell subtitle label for a conversation the user has blocked. */
"HOME_VIEW_BLOCKED_CONVERSATION" = "Blocat";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "S'està connectant...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Troba contactes pel número de telèfon";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Actualitzeu l'iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Enrere";

View File

@ -99,10 +99,10 @@
"ATTACHMENT" = "Příloha";
/* One-line label indicating the user can add no more text to the attachment caption. */
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached.";
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Dosažen limit znaků.";
/* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Add a caption…";
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Přidat titulek...";
/* Format string for file extension label in call interstitial view */
"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Typ souboru: %@";
@ -120,7 +120,7 @@
"ATTACHMENT_DEFAULT_FILENAME" = "Příloha";
/* Status label when an attachment download has failed. */
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Stahování selhalo. Klepnutím zkuste znovu.";
/* Status label when an attachment is currently downloading */
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Stahování…";
@ -132,28 +132,28 @@
"ATTACHMENT_ERROR_ALERT_TITLE" = "Chyba při odesílání přílohy";
/* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Unable to convert image.";
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Obrázek nemohl být konvertován.";
/* Attachment error message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Video nelze zpracovat.";
/* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Unable to parse image.";
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Obrázek nebylo možné zpracovat.";
/* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Nelze odebrat metadata obrázku.";
/* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Unable to resize image.";
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Nelze změnit velikost obrázku.";
/* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Příloha je příliš velká.";
/* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
"ATTACHMENT_ERROR_INVALID_DATA" = "Příloha má neplatný obsah.";
/* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Attachment has an invalid file format.";
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Příloha má neplatný formát souboru.";
/* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Příloha je prázdná.";
@ -171,7 +171,7 @@
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Nepodařilo se vybrat dokument.";
/* Alert body when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Please create a compressed archive of this file or directory and try sending that instead.";
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Prosím vytvořte komprimovaný archiv tohoto souboru či složky a zkuste to znovu.";
/* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Nepodporovaný soubor";
@ -228,10 +228,10 @@
"BACKUP_IMPORT_PHASE_RESTORING_FILES" = "Obnova souborů";
/* Label for the backup restore decision section. */
"BACKUP_RESTORE_DECISION_TITLE" = "Backup Available";
"BACKUP_RESTORE_DECISION_TITLE" = "Je k dispozici záloha";
/* Label for the backup restore description. */
"BACKUP_RESTORE_DESCRIPTION" = "Restoring Backup";
"BACKUP_RESTORE_DESCRIPTION" = "Obnovování zálohy";
/* Label for the backup restore progress. */
"BACKUP_RESTORE_PROGRESS" = "Průběh";
@ -240,7 +240,7 @@
"BACKUP_RESTORE_STATUS" = "Stav";
/* Error shown when backup fails due to an unexpected error. */
"BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error";
"BACKUP_UNEXPECTED_ERROR" = "Nastala chyba zálohy";
/* An explanation of the consequences of blocking a group. */
"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "Již nebudete přijímat zprávy a aktulizace od této skupiny.";
@ -249,16 +249,16 @@
"BLOCK_LIST_BLOCK_BUTTON" = "Zablokovat";
/* A format for the 'block group' action sheet title. Embeds the {{group name}}. */
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Block and Leave the \"%@\" Group?";
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Zablokovat a opustit skupinu „%@“?";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Zablokovat %@?";
/* Section header for groups that have been blocked */
"BLOCK_LIST_BLOCKED_GROUPS_SECTION" = "Blocked Groups";
"BLOCK_LIST_BLOCKED_GROUPS_SECTION" = "Zablokované skupiny";
/* Section header for users that have been blocked */
"BLOCK_LIST_BLOCKED_USERS_SECTION" = "Blocked Users";
"BLOCK_LIST_BLOCKED_USERS_SECTION" = "Zablokovaní uživatelé";
/* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Odblokovat";
@ -267,7 +267,7 @@
"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Současní členové mají možnost vás do skupiny opět přidat.";
/* Action sheet title when confirming you want to unblock a group. */
"BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Unblock This Group?";
"BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Odblokovat skupinu?";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Odblokovat %@?";
@ -276,13 +276,13 @@
"BLOCK_LIST_VIEW_BLOCK_BUTTON" = "Zablokovat";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ has been blocked.";
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ byl(a) zablokován(a).";
/* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Uživatel zablokován";
/* The title of the 'group blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_GROUP_ALERT_TITLE" = "Group Blocked";
"BLOCK_LIST_VIEW_BLOCKED_GROUP_ALERT_TITLE" = "Skupina zablokována";
/* The message of the 'You can't block yourself' alert. */
"BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_MESSAGE" = "Nemůžete zablokovat sám/sama sebe.";
@ -294,7 +294,7 @@
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ byl(a) odblokován(a).";
/* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Existing members can now add you to the group again.";
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Stávající členové vás nyní mohou opět přidat do skupiny.";
/* Action sheet that will block an unknown user. */
"BLOCK_OFFER_ACTIONSHEET_BLOCK_ACTION" = "Zablokovat";
@ -311,14 +311,20 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Hotovo";
/* Label for redo button. */
"BUTTON_REDO" = "Znovu";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Vybrat";
/* Label for undo button. */
"BUTTON_UNDO" = "Zpět";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Zavolat znovu";
/* Alert message when calling and permissions for microphone are missing */
"CALL_AUDIO_PERMISSION_MESSAGE" = "You can enable microphone access in the iOS Settings app to make calls and record voice messages in Signal.";
"CALL_AUDIO_PERMISSION_MESSAGE" = "Pro volání a nahrávání hlasových zpráv v Signalu povolte přístup k mikrofonu v nastavení iOS.";
/* Alert title when calling and permissions for microphone are missing */
"CALL_AUDIO_PERMISSION_TITLE" = "Vyžadován přístup k mikrofonu";
@ -327,7 +333,7 @@
"CALL_LABEL" = "Zavolat";
/* Call setup status label after outgoing call times out */
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
"CALL_SCREEN_STATUS_NO_ANSWER" = "Žádná odpověď";
/* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */
"CALL_STATUS_FORMAT" = "Signal %@";
@ -357,10 +363,10 @@
"CALL_VIEW_MUTE_LABEL" = "Ztlumit";
/* Reminder to the user of the benefits of enabling CallKit and disabling CallKit privacy. */
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "You can enable iOS Call Integration in your Signal privacy settings to answer incoming calls from your lock screen.";
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "Můžete povolit integraci s iOS hovory v nastavení soukromí aplikace Signal, abyste mohli přijímat příchozí hovory ze zamčené obrazovky.";
/* Reminder to the user of the benefits of disabling CallKit privacy. */
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "You can enable iOS Call Integration in your Signal privacy settings to see the name and phone number for incoming calls.";
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "Můžete povolit integraci s iOS hovory v nastavení soukromí aplikace Signal, abyste mohli vidět jméno a telefonní číslo pro příchozí hovory.";
/* Label for button that dismiss the call view's settings nag. */
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Nyní ne";
@ -396,10 +402,10 @@
"CENSORSHIP_CIRCUMVENTION_COUNTRY_VIEW_TITLE" = "Vybrat zemi";
/* The label for the 'do not restore backup' button. */
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Do Not Restore";
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Neobnovovat";
/* Message for alert shown when the app failed to check for an existing backup. */
"CHECK_FOR_BACKUP_FAILED_MESSAGE" = "Could not determine whether there is a backup that can be restored.";
"CHECK_FOR_BACKUP_FAILED_MESSAGE" = "Nebylo možné zjistit, zda je k dispozici záloha.";
/* Title for alert shown when the app failed to check for an existing backup. */
"CHECK_FOR_BACKUP_FAILED_TITLE" = "Chyba";
@ -408,22 +414,22 @@
"CHECK_FOR_BACKUP_RESTORE" = "Obnovení";
/* Error indicating that the app could not determine that user's iCloud account status */
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal could not determine your iCloud account status. Sign in to your iCloud Account in the iOS settings app to backup your Signal data.";
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Nebylo možné zjistit stav účtu iCloud. Přihlašte se do svého účtu iCloud v nastavení iOS pro zálohování dat v Signalu.";
/* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "No iCloud Account. Sign in to your iCloud Account in the iOS settings app to backup your Signal data.";
"CLOUDKIT_STATUS_NO_ACCOUNT" = "Žádný účet iCloud. Přihlašte se do svého účtu iCloud v nastavení iOS pro zálohování dat v Signalu.";
/* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was denied access your iCloud account for backups. Grant Signal access to your iCloud Account in the iOS settings app to backup your Signal data.";
"CLOUDKIT_STATUS_RESTRICTED" = "Signalu byl odepřen přístup k účtu iCloud pro vytvoření zálohy. Povolte Signalu přístup k vašemu účtu iCloud v nastavení iOS pro zálohování dat.";
/* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_1" = "Choose the color of outgoing messages in this conversation.";
"COLOR_PICKER_DEMO_MESSAGE_1" = "Vyberte barvu odchozích zpráv v této konverzaci.";
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
"COLOR_PICKER_DEMO_MESSAGE_2" = "Jen vy uvidíte barvu, kterou vyberete.";
/* Modal Sheet title when picking a conversation color. */
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
"COLOR_PICKER_SHEET_TITLE" = "Barva konverzace";
/* Activity Sheet label */
"COMPARE_SAFETY_NUMBER_ACTION" = "Porovnat se schránkou";
@ -438,10 +444,10 @@
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Pozvat";
/* Multi-line label explaining why compose-screen contact picker is empty. */
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users.";
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Pro nalezení kontaktů používajících Signal povolte přístup ke kontaktům v nastavení iOS.";
/* No comment provided by engineer. */
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Tímto aplikaci resetujete. Budou smazány vaše zprávy a bude vám zrušena registrace na serveru. Po dokončení se aplikace zavře.";
/* No comment provided by engineer. */
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Opravdu chcete smazat váš účet?";
@ -495,7 +501,7 @@
"CONTACT_FIELD_ADDRESS_POBOX" = "P.O. Box";
/* Label for the 'postcode' field of a contact's address. */
"CONTACT_FIELD_ADDRESS_POSTCODE" = "Postal Code";
"CONTACT_FIELD_ADDRESS_POSTCODE" = "P";
/* Label for the 'region' field of a contact's address. */
"CONTACT_FIELD_ADDRESS_REGION" = "Region";
@ -555,10 +561,10 @@
"CONTACT_WITHOUT_NAME" = "Kontakt beze jména";
/* Message for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This cannot be undone.";
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Toto nelze vrátit zpět.";
/* Title for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Delete Conversation?";
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Smazat konverzaci?";
/* title for conversation settings screen */
"CONVERSATION_SETTINGS" = "Nastavení konverzace";
@ -567,7 +573,7 @@
"CONVERSATION_SETTINGS_ADD_TO_EXISTING_CONTACT" = "Přidat k existujícímu kontaktu";
/* table cell label in conversation settings */
"CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Block This Group";
"CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Zablokovat tuto skupinu";
/* table cell label in conversation settings */
"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Zablokovat tohoto uživatele";
@ -576,7 +582,7 @@
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informace o kontaktu";
/* Label for table cell which leads to picking a new conversation color */
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Barva konverzace";
/* Navbar title when viewing settings for a group thread */
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informace o skupině";
@ -636,16 +642,16 @@
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Přidat do kontaktů";
/* Message shown in conversation view that offers to share your profile with a user. */
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile with This User";
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Sdílet s tímto uživatelem váš profil";
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Tento uživatel není ve vašich kontaktech.";
/* Indicates that the app is loading more messages in this conversation. */
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Načítání více zpráv...";
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Tap for More";
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Klepnutím zobrazíte více";
/* Message shown in conversation view that offers to block an unknown user. */
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Zablokovat tohoto uživatele";
@ -721,7 +727,7 @@
"DEBUG_LOG_ALERT_TITLE" = "Další krok";
/* Error indicating that the app could not launch the Email app. */
"DEBUG_LOG_COULD_NOT_EMAIL" = "Could not open Email app.";
"DEBUG_LOG_COULD_NOT_EMAIL" = "Nebylo možné otevřít aplikaci Mail.";
/* Message of the alert before redirecting to GitHub Issues. */
"DEBUG_LOG_GITHUB_ISSUE_ALERT_MESSAGE" = "Odkaz gist byl zkopírován do schránky. Budete přesměrováni do seznamu chyb na GitHub.";
@ -766,7 +772,7 @@
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Umístění pro obcházení cenzury";
/* Alert body for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "You can enable access in the iOS Settings app.";
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "Můžete povolit přístup v nastavení iOS.";
/* Alert title for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_TITLE" = "Aplikace Signal pro úpravu informací kontaktu vyžaduje přístup ke kontaktům.";
@ -793,7 +799,7 @@
"EDIT_GROUP_UPDATE_BUTTON" = "Aktualizovat";
/* The alert message if user tries to exit update group view without saving changes. */
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this group?";
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Chcete uložit změny vykonané na této skupině?";
/* The alert title if user tries to exit update group view without saving changes. */
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Neuložené změny";
@ -805,16 +811,16 @@
"EDIT_TXT" = "Upravit";
/* body of email sent to contacts when inviting to install Signal. Embeds {{link to install Signal}} and {{link to the Signal home page}} */
"EMAIL_INVITE_BODY" = "Ahoj,\n\nPoslední dobou jsem začal na svém iPhonu používat Signal, aby moje konverzace zůstaly soukromé. Byl bych rád, kdyby sis ho také nainstaloval, aby by naše zprávy a hovory nemohl sledovat nikdo nepovolaný.\n\nSignal je dostupný pro iPhony a Android. Získáš ho zde: %@\n\nSignal funguje stejně, jako tvá stávající aplikace na posílání zpráv. Můžeme posílat obrázky, videa, pořádat hovory a vytvářet skupinové chaty. A nejlepší na tom je, že je nikdo jiný nemůže vidět, ani lidé, co vyvíjí Signal!\n\nO Open Whisper Systems, lidech, kteří vyvíjí Signal, se můžeš dočíst tady %@";
"EMAIL_INVITE_BODY" = "Ahoj,\n\nPoslední dobou jsem začal na svém iPhonu používat Signal, aby moje konverzace zůstaly soukromé. Byl bych rád, kdyby sis ho také nainstaloval, aby naše zprávy a hovory nemohl sledovat nikdo nepovolaný.\n\nSignal je dostupný pro iPhony a Android. Získáš ho zde: %@\n\nSignal funguje stejně, jako tvá stávající aplikace na posílání zpráv. Můžeme posílat obrázky, videa, pořádat hovory a vytvářet skupinové chaty. A nejlepší na tom je, že je nikdo jiný nemůže vidět, ani lidé, co vyvíjí Signal!\n\nO Open Whisper Systems, lidech, kteří vyvíjí Signal, se můžeš dočíst tady %@";
/* subject of email sent to contacts when inviting to install Signal */
"EMAIL_INVITE_SUBJECT" = "Přejděme na Signal";
/* Body text an existing user sees when viewing an empty archive */
"EMPTY_ARCHIVE_TEXT" = "You can archive inactive conversations from your Inbox.";
"EMPTY_ARCHIVE_TEXT" = "Konverzace můžete archivovat z vaší schránky.";
/* Header text an existing user sees when viewing an empty archive */
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
"EMPTY_ARCHIVE_TITLE" = "Vyčistit váš seznam konverzací.";
/* Full width label displayed when attempting to compose message */
"EMPTY_CONTACTS_LABEL_LINE1" = "Žádný z vašich kontaktů nemá aplikaci Signal.";
@ -823,16 +829,16 @@
"EMPTY_CONTACTS_LABEL_LINE2" = "Proč někoho nepozvete?";
/* Body text a new user sees when viewing an empty inbox */
"EMPTY_INBOX_NEW_USER_TEXT" = "Tap on the compose button";
"EMPTY_INBOX_NEW_USER_TEXT" = "Klepněte na tlačítko vytvořit.";
/* Header text a new user sees when viewing an empty inbox */
"EMPTY_INBOX_NEW_USER_TITLE" = "Zahajte vaši první konverzaci Signal!";
/* Body text an existing user sees when viewing an empty inbox */
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
"EMPTY_INBOX_TEXT" = "Nula nula nic.";
/* Header text an existing user sees when viewing an empty inbox */
"EMPTY_INBOX_TITLE" = "Inbox Zero";
"EMPTY_INBOX_TITLE" = "Schránka prázdná, nikde nic.";
/* Indicates that user should confirm their 'two factor auth pin'. */
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Potvrďte Váš PIN.";
@ -880,16 +886,16 @@
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Nepodařilo se odeslat zprávu.";
/* Error message indicating that message send is disabled due to prekey update failures */
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Unable to send due to stale prekey data.";
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Nebylo možné odeslat zprávu kvůli neplatnému klíči šifrování.";
/* Error message indicating that message send failed due to block list */
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Nepodařilo se poslat zprávu, protože jste tohoto uživatele zablokoval(a).";
/* Error message indicating that message send failed due to failed attachment write */
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Failed to write and send attachment.";
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Chyba při zápisu a odesílání přílohy.";
/* Generic error used whenever Signal can't contact the server */
"ERROR_DESCRIPTION_NO_INTERNET" = "Signal was unable to connect to the internet. Please try again.";
"ERROR_DESCRIPTION_NO_INTERNET" = "Signal se nemohl připojit k internetu. Prosím zkuste to znovu.";
/* Error indicating that an outgoing message had no valid recipients. */
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Poslání zprávy selhalo z důvodu platných příjemců.";
@ -904,7 +910,7 @@
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Neplatná odpověď ze strany služby.";
/* Error message when attempting to send message */
"ERROR_DESCRIPTION_SENDING_UNAUTHORIZED" = "This device is no longer registered with your phone number. Please reinstall Signal.";
"ERROR_DESCRIPTION_SENDING_UNAUTHORIZED" = "Toto zařízení již není registrováno pod vaším telefonním číslem. Prosím nainstalujte znovu Signal.";
/* Generic server error */
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Chyba serveru. Prosím, zkuste to později.";
@ -916,10 +922,10 @@
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Kontakt není uživatelem aplikace Signal.";
/* Error message when unable to receive an attachment because the sending client is too old. */
"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal.";
"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Chyba přílohy: Odesílatel musí aktualizovat aplikaci Signal a odeslat zprávu znovu.";
/* No comment provided by engineer. */
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Přijata duplikovaná zpráva.";
/* No comment provided by engineer. */
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Klíč příjemce je neplatný.";
@ -928,7 +934,7 @@
"ERROR_MESSAGE_INVALID_MESSAGE" = "Přijatá zpráva byla mimo synchronizaci.";
/* No comment provided by engineer. */
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
"ERROR_MESSAGE_INVALID_VERSION" = "Přijata zpráva nekompatibilní s touto verzí.";
/* No comment provided by engineer. */
"ERROR_MESSAGE_NO_SESSION" = "Nedostupné sezení pro kontakt.";
@ -952,10 +958,10 @@
"EXPERIENCE_UPGRADE_DISMISS_BUTTON" = "Nyní ne";
/* action sheet header when re-sending message which failed because of too many attempts */
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Too many failures with this contact. Please try again later.";
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Příliš mnoho selhání s tímto kontaktem. Zkuste to znovu později.";
/* action sheet header when re-sending message which failed because of untrusted identity keys */
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Your safety number with %@ has recently changed. You may wish to verify before sending this message again.";
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Vaše bezpečnostní číslo s %@ se nedávno změnilo. Před novým odesláním této zprávy zvažte jeho ověření.";
/* alert title */
"FAILED_VERIFICATION_TITLE" = "Nepodařilo se ověřit bezpečnostní číslo!";
@ -970,13 +976,13 @@
"FINISH_GROUP_CREATION_LABEL" = "Dokončit tvorbu skupiny";
/* Label indicating media gallery is empty */
"GALLERY_TILES_EMPTY_GALLERY" = "V konverzaci nejsou žádná multimédia.";
"GALLERY_TILES_EMPTY_GALLERY" = "V konverzaci nejsou žádná média.";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Načítání novějších médií...";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Načítání starších médií...";
/* A label for generic attachments. */
"GENERIC_ATTACHMENT_LABEL" = "Příloha";
@ -1030,10 +1036,10 @@
"GROUP_MEMBERS_CALL" = "Zavolat";
/* Label for the button that clears all verification errors in the 'group members' view. */
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Clear Verification for All";
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Zrušit ověření pro všechny";
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Toto odstraní stav ověření všech členů skupiny jejichž bezpečnostní čísla se od posledního ověření změnila.";
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Toto odstraní stav ověření všech členů skupiny, jejichž bezpečnostní čísla se od posledního ověření změnila.";
/* Title for the 'members' section of the 'group members' view. */
"GROUP_MEMBERS_SECTION_TITLE_MEMBERS" = "Členové";
@ -1074,11 +1080,20 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Připojování…";
/* Call setup status label */
"IN_CALL_RECONNECTING" = "Reconnecting…";
"IN_CALL_RECONNECTING" = "Opětovné připojování...";
/* Call setup status label */
"IN_CALL_RINGING" = "Vyzvánění…";
@ -1090,10 +1105,10 @@
"IN_CALL_TERMINATED" = "Hovor skončil.";
/* Label reminding the user that they are in archive mode. */
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "These conversations are archived and will only appear in the Inbox if new messages are received.";
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "Tyto konverzace jsou archivované a zobrazí se mezi doručenými zprávami, pokud budou přijaty nové zprávy.";
/* Multi-line label explaining how to show names instead of phone numbers in your inbox */
"INBOX_VIEW_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see contact names in your Signal conversation list.";
"INBOX_VIEW_MISSING_CONTACTS_PERMISSION" = "Pokud chcete vidět jména kontaktů v seznamu konverzací, povolte Signalu přístup ke kontaktům v nastavení iOS.";
/* notification body */
"INCOMING_CALL" = "Příchozí hovor";
@ -1114,7 +1129,7 @@
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Neplatný zvukový soubor.";
/* Alert body when contacts disabled while trying to invite contacts to signal */
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_BODY" = "You can enable contacts access in the iOS Settings app to invite your friends to join Signal.";
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_BODY" = "Pro pozvání přátel do Signalu povolte přístup ke kontaktům v nastavení iOS.";
/* Alert title when contacts disabled while trying to invite contacts to signal */
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Povolit přístup ke kontaktům";
@ -1129,7 +1144,7 @@
"INVITE_FRIENDS_PICKER_TITLE" = "Pozvat přátele";
/* Alert warning that sending an invite to multiple users will create a group message whose recipients will be able to see each other. */
"INVITE_WARNING_MULTIPLE_INVITES_BY_TEXT" = "Inviting multiple users at the same time will start a group message and the recipients will be able to see each other.";
"INVITE_WARNING_MULTIPLE_INVITES_BY_TEXT" = "Pozvání několika uživatelů najednou odešle skupinovou zprávu, jejíž příjemci se navzájem uvidí.";
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
"KEEP_MESSAGES_DURATION" = "Zprávy zmizí za %@.";
@ -1144,13 +1159,13 @@
"LEAVE_GROUP_ACTION" = "Opustit skupinu";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_BODY" = "This QR code is not valid. Please make sure you are scanning the QR code that is displayed on the device you want to link.";
"LINK_DEVICE_INVALID_CODE_BODY" = "Tento QR kód je neplatný. Ujistěte se prosím, že snímáte QR kód ze zařízení, které chcete připojit.";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_TITLE" = "Propojení zařízení selhalo";
/* confirm the users intent to link a new device */
"LINK_DEVICE_PERMISSION_ALERT_BODY" = "This device will be able to see your groups and contacts, access your conversations, and send messages in your name.";
"LINK_DEVICE_PERMISSION_ALERT_BODY" = "Toto zařízení uvidí vaše skupiny a kontakty, bude mít přístup k vaším konverzacím a bude moct posílat zprávy ve vašem jménu.";
/* confirm the users intent to link a new device */
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Připojit toto zařízení?";
@ -1159,7 +1174,7 @@
"LINK_DEVICE_RESTART" = "Zkusit znovu";
/* QR Scanning screen instructions, placed alongside a camera view for scanning QR Codes */
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Scan the QR code that is displayed on the device you want to link.";
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Pro připojení naskenujte QR kód zobrazený na zařízení, které chcete připojit.";
/* Subheading for 'Link New Device' navigation */
"LINK_NEW_DEVICE_SUBTITLE" = "Naskenovat QR kód";
@ -1183,7 +1198,7 @@
"LONG_TEXT_VIEW_TITLE" = "Zpráva";
/* nav bar button item */
"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "Všechna multimédia";
"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "Všechna média";
/* media picker option to take photo or video */
"MEDIA_FROM_CAMERA_BUTTON" = "Fotoaparát";
@ -1201,7 +1216,7 @@
"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Smazat zprávu";
/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ on %@";
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@, %@";
/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */
"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@";
@ -1213,25 +1228,25 @@
"MEDIA_GALLERY_THIS_MONTH_HEADER" = "Tento měsíc";
/* Action sheet button title */
"MESSAGE_ACTION_COPY_MEDIA" = "Zkopírovat multimédia";
"MESSAGE_ACTION_COPY_MEDIA" = "Zkopírovat média";
/* Action sheet button title */
"MESSAGE_ACTION_COPY_TEXT" = "Zkopírovat text zprávy";
/* Action sheet button title */
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
"MESSAGE_ACTION_DELETE_MESSAGE" = "Smazat tuto zprávu";
/* Action sheet button subtitle */
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Bude pouze smazána na tomto zařízení.";
/* Action sheet button title */
"MESSAGE_ACTION_DETAILS" = "Více informací";
/* Action sheet button title */
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
"MESSAGE_ACTION_REPLY" = "Odpovědět na tuto zprávu";
/* Action sheet button title */
"MESSAGE_ACTION_SAVE_MEDIA" = "Uložit multimédia";
"MESSAGE_ACTION_SAVE_MEDIA" = "Uložit média";
/* Title for the 'message approval' dialog. */
"MESSAGE_APPROVAL_DIALOG_TITLE" = "Zpráva";
@ -1306,7 +1321,7 @@
"MESSAGE_STATUS_SEND_FAILED" = "Odesílání selhalo.";
/* message status while message is sending. */
"MESSAGE_STATUS_SENDING" = "Sending…";
"MESSAGE_STATUS_SENDING" = "Odesílaní...";
/* status message for sent messages */
"MESSAGE_STATUS_SENT" = "Odesláno";
@ -1321,19 +1336,19 @@
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ již není ověřený. Pro možnosti klepněte.";
/* Indicates that this 1:1 conversation has been blocked. */
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Zablokoval(a) jste tohoto uživatele";
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ již není označen(a) jako ověřený. Pro možnosti klepněte.";
/* Indicates that a single member of this group has been blocked. */
"MESSAGES_VIEW_GROUP_1_MEMBER_BLOCKED" = "You Blocked 1 Member of This Group";
"MESSAGES_VIEW_GROUP_1_MEMBER_BLOCKED" = "Zablokoval(a) jste jednoho člena této skupiny";
/* Indicates that this group conversation has been blocked. */
"MESSAGES_VIEW_GROUP_BLOCKED" = "You Blocked This Group";
"MESSAGES_VIEW_GROUP_BLOCKED" = "Zablokoval(a) jste tuto skupinu";
/* Indicates that some members of this group has been blocked. Embeds {{the number of blocked users in this group}}. */
"MESSAGES_VIEW_GROUP_N_MEMBERS_BLOCKED_FORMAT" = "You Blocked %@ Members of This Group";
"MESSAGES_VIEW_GROUP_N_MEMBERS_BLOCKED_FORMAT" = "Zablokoval(a) jste %@ členů této skupiny";
/* Text for banner in group conversation view that offers to share your profile with this group. */
"MESSAGES_VIEW_GROUP_PROFILE_WHITELIST_BANNER" = "Sdílet s touto skupinou váš profil?";
@ -1364,26 +1379,26 @@
/* Alert body
Alert body when camera is not authorized */
"MISSING_CAMERA_PERMISSION_MESSAGE" = "You can enable camera access in the iOS Settings app to make video calls in Signal.";
"MISSING_CAMERA_PERMISSION_MESSAGE" = "Pro videohovory v Signalu povolte přístup k fotoaparátu v nastavení iOS.";
/* Alert title
Alert title when camera is not authorized */
"MISSING_CAMERA_PERMISSION_TITLE" = "Aplikace Signal vyžaduje přístup k vašemu fotoaparátu.";
/* Alert body when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "You can enable this permission in the iOS Settings app.";
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Tento souhlas můžete udělit v nastavení iOS.";
/* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Signal requires access to your photos for this feature.";
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Tato funkce Signalu vyžaduje přístup k fotografiím.";
/* notification title. Embeds {{caller's name or phone number}} */
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Zmeškaný hovor od %@.";
/* alert title: cannot link - reached max linked devices */
"MULTIDEVICE_PAIRING_MAX_DESC" = "You cannot link any more devices.";
"MULTIDEVICE_PAIRING_MAX_DESC" = "Nemůžete propojit další zařízení.";
/* alert body: cannot link - reached max linked devices */
"MULTIDEVICE_PAIRING_MAX_RECOVERY" = "You have reached the maximum of devices you can currently link with your account. Please remove a device and try again.";
"MULTIDEVICE_PAIRING_MAX_RECOVERY" = "Dosáhl(a) jste limitu počtu zařízení, které můžete připojit k vašemu účtu. Prosím odstraňte některé ze zařízení a zkuste to znovu.";
/* An explanation of the consequences of muting a thread. */
"MUTE_BEHAVIOR_EXPLANATION" = "Pro ztlumené konverzace nebudete dostávat oznámení.";
@ -1392,7 +1407,7 @@
"NAVIGATION_ITEM_SKIP_BUTTON" = "Přeskočit";
/* No comment provided by engineer. */
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
"NETWORK_ERROR_RECOVERY" = "Zkontrolujte, že jste online a zkuste to znovu.";
/* Indicates to the user that censorship circumvention has been activated. */
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Obcházení cenzury: Zapnuto";
@ -1454,8 +1469,11 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Najít kontakty pomocí telefonního čísla";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Je možné, že byly přijaty nové zprávy zatímco váš %@ byl restartován.";
/* No comment provided by engineer. */
"NOTIFICATION_SEND_FAILED" = "Nepodařilo se odeslat zprávu pro %@.";
@ -1548,10 +1566,10 @@
"PHONE_NUMBER_TYPE_WORK_FAX" = "Pracovní fax";
/* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Unnamed Album";
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Album beze jména";
/* Accessibility label for button to start media playback */
"PLAY_BUTTON_ACCESSABILITY_LABEL" = "Spustit multimédia";
"PLAY_BUTTON_ACCESSABILITY_LABEL" = "Spustit média";
/* Label indicating that the user is not verified. Embeds {{the user's name or phone number}}. */
"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "Neoznačil(a) jste %@ jako ověřený kontakt.";
@ -1590,7 +1608,7 @@
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Váš kontakt používá starou verzi Signalu a musí ji aktualizovat, než bude možné ověření.";
/* alert body */
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "The scanned code doesn't look like a safety number. Are you both on an up-to-date version of Signal?";
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "Naskenovaný kód nevypadá jako bezpečnostní číslo. Používate oba aktuální verzi aplikace Signal?";
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Pokud chcete ověřit bezpečnost koncového šifrování s %@, porovnete čísla výše s čísli na druhém zařízení..\n\nNebo můžete naskenovat kód z druhého telefonu, nebo on může naskenovat ten váš.";
@ -1668,13 +1686,13 @@
"QUOTED_REPLY_AUTHOR_INDICATOR_YOURSELF" = "Odpověď sobě";
/* Footer label that appears below quoted messages when the quoted content was not derived locally. When the local user doesn't have a copy of the message being quoted, e.g. if it had since been deleted, we instead show the content specified by the sender. */
"QUOTED_REPLY_CONTENT_FROM_REMOTE_SOURCE" = "Original message not found.";
"QUOTED_REPLY_CONTENT_FROM_REMOTE_SOURCE" = "Původní zpráva nebyla nalezena.";
/* Toast alert text shown when tapping on a quoted message which we cannot scroll to because the local copy of the message was since deleted. */
"QUOTED_REPLY_ORIGINAL_MESSAGE_DELETED" = "Original message no longer available.";
"QUOTED_REPLY_ORIGINAL_MESSAGE_DELETED" = "Původní zpráva již není dostupná.";
/* Toast alert text shown when tapping on a quoted message which we cannot scroll to because the local copy of the message didn't exist when the quote was received. */
"QUOTED_REPLY_ORIGINAL_MESSAGE_REMOTELY_SOURCED" = "Original message not found.";
"QUOTED_REPLY_ORIGINAL_MESSAGE_REMOTELY_SOURCED" = "Původní zpráva nebyla nalezena.";
/* Indicates this message is a quoted reply to an attachment of unknown type. */
"QUOTED_REPLY_TYPE_ATTACHMENT" = "Příloha";
@ -1695,7 +1713,7 @@
"REGISTER_2FA_FORGOT_PIN" = "Zapoměl jsem PIN.";
/* Alert message explaining what happens if you forget your 'two-factor auth pin'. */
"REGISTER_2FA_FORGOT_PIN_ALERT_MESSAGE" = "Registrace tohoto telefonního čísla bude možná bez zámku registrace po uplynutí 7 dní, po poslední aktivitě čísla v aplikaci Signal.";
"REGISTER_2FA_FORGOT_PIN_ALERT_MESSAGE" = "Registrace tohoto telefonního čísla bude možná bez zámku registrace po uplynutí 7 dní po poslední aktivitě čísla v aplikaci Signal.";
/* Instructions to enter the 'two-factor auth pin' in the 2FA registration view. */
"REGISTER_2FA_INSTRUCTIONS" = "Toto telefonní číslo má povolený zámek registrace. Prosím zadejte registrační PIN.\n\nVáš registrační PIN se liší od automatického kódu, který byl zadán na Váš přístroj při posledním kroku.";
@ -1737,7 +1755,7 @@
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Váš účet nemůžeme aktivovat do té doby, než ověříte kód, který jsme vám poslali.";
/* alert body when registering an iPad */
"REGISTRATION_IPAD_CONFIRM_BODY" = "Registering now will disable Signal on any other device currently registered with this phone number.";
"REGISTRATION_IPAD_CONFIRM_BODY" = "Registrací deaktivujete Signal na jiném zařízení, které je registrováno pod tímto telefonním číslem.";
/* button text to proceed with registration when on an iPad */
"REGISTRATION_IPAD_CONFIRM_BUTTON" = "Registrovat tento iPad";
@ -1749,7 +1767,7 @@
"REGISTRATION_LEGAL_TERMS_LINK" = "Podmínky & Zásady ochrany osobních údajů";
/* legal disclaimer, embeds a tappable {{link title}} which is styled as a hyperlink */
"REGISTRATION_LEGAL_TOP_MATTER_FORMAT" = "By registering this device, you agree to Signal's %@";
"REGISTRATION_LEGAL_TOP_MATTER_FORMAT" = "Registrací tohoto zařízení souhlasíte s %@ Signalu";
/* embedded in legal topmatter, styled as a link */
"REGISTRATION_LEGAL_TOP_MATTER_LINK_TITLE" = "podmínky";
@ -1761,7 +1779,7 @@
"REGISTRATION_PHONENUMBER_BUTTON" = "Telefonní číslo";
/* No comment provided by engineer. */
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
"REGISTRATION_RESTRICTED_MESSAGE" = "Před tím, než začnete posílat zprávy, se musíte registrovat.";
/* No comment provided by engineer. */
"REGISTRATION_TITLE_LABEL" = "Vaše telefonní číslo";
@ -1905,7 +1923,7 @@
"SEND_INVITE_FAILURE" = "Odeslání pozvánky selhalo, zkuste to později.";
/* Alert body after invite succeeded */
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
"SEND_INVITE_SUCCESS" = "Pozval jsi kamaráda/ku do Signalu!";
/* Text for button to send a Signal invite via SMS. %@ is placeholder for the recipient's phone number. */
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "Pozvat pomocí SMS: %@";
@ -1974,19 +1992,19 @@
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Záloha povolena";
/* Label for iCloud status row in the in the backup settings view. */
"SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud Status";
"SETTINGS_BACKUP_ICLOUD_STATUS" = "Stav iCloudu";
/* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Backup Restore Failed";
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Chyba obnovy ze zálohy";
/* Indicates that app is not restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Backup Restore Idle";
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Neprobíhá obnova ze zálohy";
/* Indicates that app is restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Backup Restore In Progress";
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Probíhá obnova ze zálohy";
/* Indicates that the last backup restore succeeded. */
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Backup Restore Succeeded";
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Byla úspěšně provedena obnova ze zálohy";
/* Label for phase row in the in the backup settings view. */
"SETTINGS_BACKUP_PHASE" = "Fáze";
@ -2010,7 +2028,7 @@
"SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Záloha provedena";
/* A label for the 'add phone number' button in the block list table. */
"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Add Blocked User";
"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Přidat zablokovaného uživatele";
/* A label that indicates the user has no Signal contacts. */
"SETTINGS_BLOCK_LIST_NO_CONTACTS" = "V aplikaci Signal nemáte žádné kontakty.";
@ -2025,13 +2043,13 @@
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Vždy přeposílat hovory";
/* User settings section footer, a detailed explanation */
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "Relay all calls through a Signal server to avoid revealing your IP address to your contact. Enabling will reduce call quality.";
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "Přenášet všechna volání přes server Signal, aby nedošlo k odhalení vaší IP adresy volanému. Povolením dojde ke zhoršení kvality hovoru.";
/* No comment provided by engineer. */
"SETTINGS_CLEAR_HISTORY" = "Smazat historii konverzace";
/* No comment provided by engineer. */
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger\nLicencované pod GPLv3";
/* No comment provided by engineer. */
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Smazat účet";
@ -2040,7 +2058,7 @@
"SETTINGS_DELETE_DATA_BUTTON" = "Smazat veškerá data";
/* Alert message before user confirms clearing history */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Are you sure you want to delete all history (messages, attachments, calls, etc.)? This action cannot be reverted.";
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Opravdu chcete smazat celou historii (zprávy, přílohy, volání atd.)? Tuto akci nelze vzít zpět.";
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Smazat vše";
@ -2151,10 +2169,10 @@
"SETTINGS_TWO_FACTOR_AUTH_TITLE" = "Zámek registrace";
/* Label for the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS" = "Typing Indicators";
"SETTINGS_TYPING_INDICATORS" = "Indikátory psaní";
/* An explanation of the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS_FOOTER" = "See and share when messages are being typed. This setting is optional and applies to all conversations.";
"SETTINGS_TYPING_INDICATORS_FOOTER" = "Zobrazte a sdílejte, kdy jsou zprávy psány. Toto nastavení je volitelné a platí pro všechny konverzace.";
/* Label for a link to more info about unidentified delivery. */
"SETTINGS_UNIDENTIFIED_DELIVERY_LEARN_MORE" = "Dozvědět se více";
@ -2163,13 +2181,13 @@
"SETTINGS_UNIDENTIFIED_DELIVERY_SECTION_TITLE" = "Utajený odesílatel";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Display Indicators";
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Zobrazit indikátory";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Show a status icon when you select \"More Info\" on messages that were delivered using sealed sender.";
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Zobrazit ikonu když zvolíte \"Více informací\" u zprávy poslané s použitím funkce utajený odesílatel.";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Allow from Anyone";
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Povolit od kohokoliv";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Povolit utajené odesílatele pro příchozí zprávy od lidíé které nemáte kontaktech nebo se kterými nesdílte váš profil.";
@ -2190,7 +2208,7 @@
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Vaše bezpečnostní číslo s %@ se nedávno změnilo. Před novým odesláním zvažte jeho ověření.";
/* Indicates that the share extension is still loading. */
"SHARE_EXTENSION_LOADING" = "Loading…";
"SHARE_EXTENSION_LOADING" = "Načítání...";
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Spustit aplikaci Signal pro registraci.";
@ -2304,7 +2322,7 @@
"UNLINK_ACTION" = "Odpojit";
/* Alert message to confirm unlinking a device */
"UNLINK_CONFIRMATION_ALERT_BODY" = "This device will no longer be able to send or receive messages if it is unlinked.";
"UNLINK_CONFIRMATION_ALERT_BODY" = "Pokud bude toto zařízení odpojeno, nebude možné dále odesílat a přijímat zprávy.";
/* Alert title for confirming device deletion */
"UNLINK_CONFIRMATION_ALERT_TITLE" = "Odpojit \"%@\"?";
@ -2328,7 +2346,7 @@
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Nemůžete odstraňovat členy skupiny. Buď odejdou sami, nebo můžete vytvořit novou skupinu bez nich.";
/* Title for alert indicating that group members can't be removed. */
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_TITLE" = "Not Supported";
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_TITLE" = "Nepodporováno";
/* Description of CallKit to upgrading (existing) users */
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Odpovídání na hovory z vaší zamknuté obrazovky je s integrací iOS hovorů jednoduché. Ve výchozím stavu rovněž anonymizujeme volajícího, takže o soukromí nepřijdete.";
@ -2340,7 +2358,7 @@
"UPGRADE_EXPERIENCE_CALLKIT_TITLE" = "Pro přijetí stačí přejet";
/* button label shown one time, after upgrade */
"UPGRADE_EXPERIENCE_ENABLE_TYPING_INDICATOR_BUTTON" = "Turn On Typing Indicators";
"UPGRADE_EXPERIENCE_ENABLE_TYPING_INDICATOR_BUTTON" = "Zapnout indikátory psaní";
/* Description for notification audio customization */
"UPGRADE_EXPERIENCE_INTRODUCING_NOTIFICATION_AUDIO_DESCRIPTION" = "Nyní můžete zvolit výchozí zvuky chatů, či zvuky pro každou konverzaci zvlášť. Zvuky u hovorů budou stejné, jako byly zvoleny u každého systémového kontaktu zvlášť.";
@ -2373,7 +2391,7 @@
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_DESCRIPTION" = "Nyní můžete volitelně vidět a sdílet když je psaná zpráva.";
/* Header for upgrading users */
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_TITLE" = "Introducing Typing Indicators";
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_TITLE" = "Představujeme indikátory psaní";
/* Description of video calling to upgrading (existing) users */
"UPGRADE_EXPERIENCE_VIDEO_DESCRIPTION" = "Aplikace Signal nyní podporuje bezpečné video hovory. Začněte hovor jako obvykle, klepněte na tlačítko kamery a zamávejte na pozdrav.";
@ -2382,13 +2400,10 @@
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Ahoj, bezpečné videohovory!";
/* Message for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_MESSAGE" = "Signal requires iOS 9 or later. Please use the Software Update feature in the iOS Settings app.";
"UPGRADE_IOS_ALERT_MESSAGE" = "Signal vyžaduje iOS 9 nebo novější. Použijte prosím funkci aktualizace softwaru v nastavení iOS.";
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Aktualizujte iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
"UPGRADE_IOS_ALERT_TITLE" = "Upgradujte iOS";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Zpět";

View File

@ -243,7 +243,7 @@
"BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error";
/* An explanation of the consequences of blocking a group. */
"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "You will no longer receive messages or updates from this group.";
"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "Du vil ikke længere modtage beskeder eller opdateringer fra gruppen";
/* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "Bloker";
@ -264,7 +264,7 @@
"BLOCK_LIST_UNBLOCK_BUTTON" = "Ophæv Blokade";
/* Action sheet body when confirming you want to unblock a group */
"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Existing members will be able to add you to the group again.";
"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Eksisterende medlemmer vil kunne tilføje dig til gruppen igen";
/* Action sheet title when confirming you want to unblock a group. */
"BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Unblock This Group?";
@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Udført";
/* Label for redo button. */
"BUTTON_REDO" = "Gentag";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Vælg";
/* Label for undo button. */
"BUTTON_UNDO" = "Fortryd";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -513,10 +519,10 @@
"CONTACT_FIELD_MIDDLE_NAME" = "Mellemnavn";
/* Label for the 'name prefix' field of a contact. */
"CONTACT_FIELD_NAME_PREFIX" = "Prefix";
"CONTACT_FIELD_NAME_PREFIX" = "Fornavn";
/* Label for the 'name suffix' field of a contact. */
"CONTACT_FIELD_NAME_SUFFIX" = "Suffix";
"CONTACT_FIELD_NAME_SUFFIX" = "Efternavn";
/* Label for the 'organization' field of a contact. */
"CONTACT_FIELD_ORGANIZATION" = "Organistation";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Forbinder...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Find kontakter efter telefonnummer";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Du har muligvis fået beskeder, mens din %@ blev genstartet.";
@ -2160,7 +2178,7 @@
"SETTINGS_UNIDENTIFIED_DELIVERY_LEARN_MORE" = "Lær Mere";
/* table section label */
"SETTINGS_UNIDENTIFIED_DELIVERY_SECTION_TITLE" = "Sealed Sender";
"SETTINGS_UNIDENTIFIED_DELIVERY_SECTION_TITLE" = "Sikker afsender";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Display Indicators";
@ -2172,7 +2190,7 @@
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Allow from Anyone";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Enable sealed sender for incoming messages from non-contacts and people with whom you have not shared your profile.";
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Aktiver ´Sikker afsender´ for indgående beskeder fra personer som ikke er kontakter, og som hvem du ikke har delt din profil med";
/* No comment provided by engineer. */
"SETTINGS_VERSION" = "Version";
@ -2370,7 +2388,7 @@
"UPGRADE_EXPERIENCE_INTRODUCING_READ_RECEIPTS_TITLE" = "Introducing Read Receipts";
/* Body text for upgrading users */
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_DESCRIPTION" = "Now you can optionally see and share when messages are being typed.";
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_DESCRIPTION" = "Nu kan du vælge at se og vise, når beskeder skrives";
/* Header for upgrading users */
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_TITLE" = "Introducing Typing Indicators";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Opgrader iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Tilbage";

View File

@ -99,7 +99,7 @@
"ATTACHMENT" = "Anhang";
/* One-line label indicating the user can add no more text to the attachment caption. */
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Beschriftungsgrenze erreicht.";
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Beschriftungslimit erreicht.";
/* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Beschriftung hinzufügen …";
@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Fertig";
/* Label for redo button. */
"BUTTON_REDO" = "Wiederherstellen";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Auswählen";
/* Label for undo button. */
"BUTTON_UNDO" = "Rückgängig";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Erneut anrufen";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Verbinden …";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Kontakte über Rufnummer suchen";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Du hast eventuell Nachrichten erhalten, während dein %@ neu gestartet wurde.";
@ -2304,7 +2322,7 @@
"UNLINK_ACTION" = "Entkoppeln";
/* Alert message to confirm unlinking a device */
"UNLINK_CONFIRMATION_ALERT_BODY" = "Dieses Gerät wird keine Nachrichten mehr versenden oder empfangen können sobald es entkoppelt wird.";
"UNLINK_CONFIRMATION_ALERT_BODY" = "Dieses Gerät wird keine Nachrichten mehr versenden oder empfangen können sobald es entkoppelt ist.";
/* Alert title for confirming device deletion */
"UNLINK_CONFIRMATION_ALERT_TITLE" = "»%@« entkoppeln?";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "iOS aktualisieren";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Signal wird aktualisiert …";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Zurück";

View File

@ -1,5 +1,5 @@
/* Button text to dismiss missing contacts permission alert */
"AB_PERMISSION_MISSING_ACTION_NOT_NOW" = "Όχι Τώρα";
"AB_PERMISSION_MISSING_ACTION_NOT_NOW" = "Όχι τώρα";
/* Action sheet item */
"ACCEPT_NEW_IDENTITY_ACTION" = "Αποδοχή νέου αριθμού ασφαλείας";
@ -102,7 +102,7 @@
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached.";
/* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Add a caption…";
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Προσθήκη λεζάντας...";
/* Format string for file extension label in call interstitial view */
"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Τύπος αρχείου: %@";
@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Τέλος";
/* Label for redo button. */
"BUTTON_REDO" = "Επαναφορά";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Επιλογή";
/* Label for undo button. */
"BUTTON_UNDO" = "Αναίρεση";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Επανάκληση";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Συνδέεται...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Εύρεση επαφών μέσω αριθμού τηλεφώνου";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Μπορεί να έχετε λάβει μηνύματα κατά την επανεκκίνηση του %@ σας.";
@ -2151,7 +2169,7 @@
"SETTINGS_TWO_FACTOR_AUTH_TITLE" = "Κλείδωμα Εγγραφής";
/* Label for the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS" = "Typing Indicators";
"SETTINGS_TYPING_INDICATORS" = "Δείκτες πληκτρολόγησης";
/* An explanation of the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS_FOOTER" = "See and share when messages are being typed. This setting is optional and applies to all conversations.";
@ -2163,7 +2181,7 @@
"SETTINGS_UNIDENTIFIED_DELIVERY_SECTION_TITLE" = "Προστατευμένος Αποστολέας";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Δείκτες Οθόνης";
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Προβολή δεικτών";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Εμφάνιση εικονιδίου κατάστασης όταν επιλέξετε \"Περισσότερες πληροφορίες\" σε μηνύματα που έχουν παραδοθεί με προστατευμένο αποστολέα.";
@ -2340,7 +2358,7 @@
"UPGRADE_EXPERIENCE_CALLKIT_TITLE" = "Σύρετε για Απάντηση";
/* button label shown one time, after upgrade */
"UPGRADE_EXPERIENCE_ENABLE_TYPING_INDICATOR_BUTTON" = "Turn On Typing Indicators";
"UPGRADE_EXPERIENCE_ENABLE_TYPING_INDICATOR_BUTTON" = "Ενεργοποίηση δεικτών πληκτρολόγησης";
/* Description for notification audio customization */
"UPGRADE_EXPERIENCE_INTRODUCING_NOTIFICATION_AUDIO_DESCRIPTION" = "Μπορείτε τώρα να επιλέξετε προεπιλεγμένους και ανά-συνομιλία ήχους ειδοποίησης, και οι κλήσεις θα σεβαστούν το ringtone που έχετε επιλέξει για κάθε επαφή του συστήματος.";
@ -2370,10 +2388,10 @@
"UPGRADE_EXPERIENCE_INTRODUCING_READ_RECEIPTS_TITLE" = "Ήρθαν τα αποδεικτικά ανάγνωσης";
/* Body text for upgrading users */
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_DESCRIPTION" = "Now you can optionally see and share when messages are being typed.";
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_DESCRIPTION" = "Τώρα, μπορείτε προαιρετικά να βλέπετε και να μοιράζεστε το πότε πληκτρολογούνται μηνύματα.";
/* Header for upgrading users */
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_TITLE" = "Introducing Typing Indicators";
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_TITLE" = "Καλωσορίζουμε τους δείκτες πληκτρολόγησης.";
/* Description of video calling to upgrading (existing) users */
"UPGRADE_EXPERIENCE_VIDEO_DESCRIPTION" = "Το Signal υποστηρίζει πλέον ασφαλείς βιντεοκλήσεις. Απλά ξεκινήστε μια κλήση όπως συνήθως, πατήστε το κουμπί για το βίντεο, και χαμογελάστε.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Ενημέρωση Λογισμικού iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Το Signal ενημερώνεται...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Πίσω";

View File

@ -1086,6 +1086,9 @@
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connecting…";
@ -2402,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Back";

View File

@ -5,7 +5,7 @@
"ACCEPT_NEW_IDENTITY_ACTION" = "Aceptar nuevas cifras de seguridad";
/* Label for 'audio call' button in contact view. */
"ACTION_AUDIO_CALL" = "Llamada de audio";
"ACTION_AUDIO_CALL" = "Llamada de Signal";
/* Label for 'invite' button in contact view. */
"ACTION_INVITE" = "Invitar a Signal";
@ -36,7 +36,7 @@
"ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "¿Deseas compartir tu perfil con este grupo?";
/* Message shown in conversation view that offers to add an unknown user to your phone's contacts. */
"ADD_TO_CONTACTS_OFFER" = "¿Deseas añadir este usuario a tus contactos del iPhone? Toca aquí.";
"ADD_TO_CONTACTS_OFFER" = "¿Deseas añadir este usuario a tus contactos del iPhone?";
/* Message shown in conversation view that offers to share your profile with a user. */
"ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "¿Deseas compartir tu perfil con este usuario?";
@ -69,7 +69,7 @@
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ en el grupo %@: %@";
/* Message for the 'app launch failed' alert. */
"APP_LAUNCH_FAILURE_ALERT_MESSAGE" = "Signal no puede arrancar. Manda un registro de depuración a support@signal.org para que nos podamos ocupar del problema.";
"APP_LAUNCH_FAILURE_ALERT_MESSAGE" = "Signal no puede iniciarse. Manda un registro de depuración a support@signal.org para que nos podamos ocupar del problema.";
/* Title for the 'app launch failed' alert. */
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Fallo";
@ -123,7 +123,7 @@
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Fallo al descargar. Toca para reintentar.";
/* Status label when an attachment is currently downloading */
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Descargando...";
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Descargando ...";
/* Status label when an attachment is enqueued, but hasn't yet started downloading */
"ATTACHMENT_DOWNLOADING_STATUS_QUEUED" = "En la cola";
@ -174,7 +174,7 @@
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Crea un archivo comprimido de este fichero o carpeta y prueba a enviar la versión comprimida.";
/* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Archivo no soportado";
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Archivo no admitido";
/* Short text label for a voice message attachment, used for thread preview and on the lock screen */
"ATTACHMENT_TYPE_VOICE_MESSAGE" = "Nota de voz";
@ -249,7 +249,7 @@
"BLOCK_LIST_BLOCK_BUTTON" = "Bloquear";
/* A format for the 'block group' action sheet title. Embeds the {{group name}}. */
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "¿Bloquear y abandonar el grupo \"%@\"?";
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "¿Bloquear y abandonar el grupo «%@»?";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "¿Bloquear %@?";
@ -276,7 +276,7 @@
"BLOCK_LIST_VIEW_BLOCK_BUTTON" = "Bloquear";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "Has bloqueado %@";
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ ha sido bloqueado.";
/* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Contacto bloqueado";
@ -288,10 +288,10 @@
"BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_MESSAGE" = "No te puedes bloquear a ti mismo.";
/* The title of the 'You can't block yourself' alert. */
"BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_TITLE" = "Error";
"BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_TITLE" = "Fallo";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "Has desbloqueado %@.";
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ ha sido desbloqueado.";
/* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Los miembros pueden añadirte de nuevo al grupo.";
@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Hecho";
/* Label for redo button. */
"BUTTON_REDO" = "Rehacer";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Seleccionar";
/* Label for undo button. */
"BUTTON_UNDO" = "Deshacer";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Llamar de nuevo";
@ -327,7 +333,7 @@
"CALL_LABEL" = "Llamada";
/* Call setup status label after outgoing call times out */
"CALL_SCREEN_STATUS_NO_ANSWER" = "Sin respuesta.";
"CALL_SCREEN_STATUS_NO_ANSWER" = "Sin respuesta";
/* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */
"CALL_STATUS_FORMAT" = "Signal %@";
@ -360,7 +366,7 @@
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "Al activar la integración de llamadas en iOS en los ajustes de Signal puedes responder llamadas desde la pantalla bloqueada.";
/* Reminder to the user of the benefits of disabling CallKit privacy. */
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "Al activar la integración de llamadas en iOS en los ajustes de Signal puedes ver el nombre y número de teléfono de las llamadas recibidas.";
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "Al activar la integración de llamadas en iOS en los ajustes de Signal puedes ver el nombre y número de teléfono en las llamadas recibidas.";
/* Label for button that dismiss the call view's settings nag. */
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Ahora no";
@ -408,19 +414,19 @@
"CHECK_FOR_BACKUP_RESTORE" = "Recuperar";
/* Error indicating that the app could not determine that user's iCloud account status */
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal no ha podido determinar el estado de tu cuenta de iCloud. Inicia sesión en tu cuenta de iCloud desde los ajustes de iOS para poder hacer la copia de seguridad de tus datos de Signal.";
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal no ha podido determinar el estado de tu cuenta de iCloud. Inicia sesión en tu cuenta de iCloud desde «Ajustes» de iOS para poder hacer la copia de seguridad de tus datos de Signal.";
/* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "Cuenta de iCloud inactiva. Inicia sesión en tu cuenta de iCloud desde los ajustes de iOS para hacer una copia de seguridad de tus datos de Signal.";
"CLOUDKIT_STATUS_NO_ACCOUNT" = "Cuenta de iCloud inactiva. Inicia sesión en tu cuenta de iCloud desde «Ajustes» de iOS para hacer una copia de seguridad de tus datos de Signal.";
/* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Signal no ha podido acceder a tu cuenta de iCloud para gestionar las copias de seguridad. Activa el acceso de Signal a tu cuenta de iCloud desde los ajustes de iOS: [tu nombre] > iCloud > Apps que usan iCloud.";
"CLOUDKIT_STATUS_RESTRICTED" = "Signal no ha podido acceder a tu cuenta de iCloud para gestionar las copias de seguridad. Activa el acceso de Signal a tu cuenta de iCloud desde «Ajustes» de iOS: [tu nombre] > iCloud > Apps que usan iCloud.";
/* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_1" = "Selecciona el color de tus mensajes en este chat.";
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_2" = "Sólo tú verás el color que selecciones.";
"COLOR_PICKER_DEMO_MESSAGE_2" = "Sólo tú verás el color seleccionado.";
/* Modal Sheet title when picking a conversation color. */
"COLOR_PICKER_SHEET_TITLE" = "Color de chat";
@ -438,10 +444,10 @@
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Invitar";
/* Multi-line label explaining why compose-screen contact picker is empty. */
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Al activar el acceso a los contactos en los Ajustes de iOS puedes saber quién de tus contactos utiliza Signal. ";
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Al activar el acceso a los contactos en «Ajustes» de iOS puedes saber quién de tus contactos utiliza Signal. ";
/* No comment provided by engineer. */
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Esta acción restablece la aplicación, borra todos los mensajes y da de baja el número del servidor. Signal se cerrará después de completarse el proceso.";
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Esta acción restablece la aplicación, elimina todos los mensajes y da de baja el número del servidor. Signal se cerrará después de completarse el proceso.";
/* No comment provided by engineer. */
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "¿Estás seguro de querer eliminar tu cuenta?";
@ -450,13 +456,13 @@
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "No podrás enviar o recibir más mensajes en este grupo.";
/* Alert title */
"CONFIRM_LEAVE_GROUP_TITLE" = "¿Estás seguro que deseas abandonar el grupo?";
"CONFIRM_LEAVE_GROUP_TITLE" = "¿De verdad deseas abandonar el grupo?";
/* Button text */
"CONFIRM_LINK_NEW_DEVICE_ACTION" = "Enlazar nuevo dispositivo";
/* Action sheet body presented when a user's SN has recently changed. Embeds {{contact's name or phone number}} */
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_BODY_FORMAT" = "%@ puede haber reinstalado Signal o tener un dispositivo nuevo. Verifica las cifras de seguridad para asegurar la privacidad de vuestro chat.";
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_BODY_FORMAT" = "%@ puede haber reinstalado Signal o tener un dispositivo nuevo. Verifica las cifras de seguridad de nuevo para asegurar la privacidad de vuestro chat.";
/* Action sheet title presented when a user's SN has recently changed. Embeds {{contact's name or phone number}} */
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_TITLE_FORMAT" = "Las cifras de seguridad con %@ han cambiado";
@ -480,7 +486,7 @@
"CONTACT_EDIT_NAME_BUTTON" = "Editar";
/* Label for a contact's email address. */
"CONTACT_EMAIL" = "Email";
"CONTACT_EMAIL" = "Correo";
/* Label for the 'city' field of a contact's address. */
"CONTACT_FIELD_ADDRESS_CITY" = "Población";
@ -525,7 +531,7 @@
"CONTACT_PHONE" = "Teléfono";
/* table cell subtitle when contact card has no email */
"CONTACT_PICKER_NO_EMAILS_AVAILABLE" = "Email no disponible";
"CONTACT_PICKER_NO_EMAILS_AVAILABLE" = "Correo no disponible.";
/* table cell subtitle when contact card has no known phone number */
"CONTACT_PICKER_NO_PHONE_NUMBERS_AVAILABLE" = "Teléfono no disponible";
@ -549,7 +555,7 @@
"CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Abrir en Mapas";
/* Label for 'open email in email app' button in contact view. */
"CONTACT_VIEW_OPEN_EMAIL_IN_EMAIL_APP" = "Enviar email";
"CONTACT_VIEW_OPEN_EMAIL_IN_EMAIL_APP" = "Enviar correo";
/* Indicates that a contact has no name. */
"CONTACT_WITHOUT_NAME" = "Contacto sin nombre";
@ -558,7 +564,7 @@
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Este paso no se puede deshacer.";
/* Title for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "¿Borrar chat?";
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "¿Eliminar chat?";
/* title for conversation settings screen */
"CONVERSATION_SETTINGS" = "Ajustes del chat";
@ -591,19 +597,19 @@
"CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "No silenciado";
/* Label for button to mute a thread for a day. */
"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Silenciar un día";
"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Silenciar por un día";
/* Label for button to mute a thread for a hour. */
"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Silenciar una hora";
"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Silenciar por una hora";
/* Label for button to mute a thread for a minute. */
"CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "Silenciar un minuto";
"CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "Silenciar por un minuto";
/* Label for button to mute a thread for a week. */
"CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "Silenciar una semana";
"CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "Silenciar por una semana";
/* Label for button to mute a thread for a year. */
"CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "Silenciar un año";
"CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "Silenciar por un año";
/* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */
"CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "hasta %@";
@ -705,7 +711,7 @@
"DEBUG_LOG_ALERT_OPTION_COPY_LINK" = "Copiar el enlace";
/* Label for the 'email debug log' option of the debug log alert. */
"DEBUG_LOG_ALERT_OPTION_EMAIL" = "Enviar un email al soporte";
"DEBUG_LOG_ALERT_OPTION_EMAIL" = "Enviar correo al soporte técnico";
/* Label for the 'send to last thread' option of the debug log alert. */
"DEBUG_LOG_ALERT_OPTION_SEND_TO_LAST_THREAD" = "Enviar al último chat";
@ -745,7 +751,7 @@
"DEVICE_LIST_UPDATE_FAILED_TITLE" = "Fallo al actualizar la lista de dispositivos";
/* table cell label in conversation settings */
"DISAPPEARING_MESSAGES" = "Mensajes con caducidad";
"DISAPPEARING_MESSAGES" = "Desaparición de mensajes";
/* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */
"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Los mensajes de este chat desaparecerán tras %@.";
@ -754,10 +760,10 @@
"DISAPPEARING_MESSAGES_DESCRIPTION" = "Al activar, los mensajes en este chat desaparecerán tras cumplirse el tiempo seleccionado.";
/* Accessibility hint that contains current timeout information */
"DISAPPEARING_MESSAGES_HINT" = "Los mensajes caducarán tras %@";
"DISAPPEARING_MESSAGES_HINT" = "Los mensajes desaparecerán tras %@";
/* Accessibility label for disappearing messages */
"DISAPPEARING_MESSAGES_LABEL" = "Ajustes de mensajes con caducidad";
"DISAPPEARING_MESSAGES_LABEL" = "Ajustes de desaparición de mensajes";
/* Short text to dismiss current modal / actionsheet / screen */
"DISMISS_BUTTON_TEXT" = "Ignorar";
@ -766,7 +772,7 @@
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "País en el que evitar censura";
/* Alert body for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "Puedes dar acceso desde la aplicación de Ajustes de iOS.";
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "Puedes dar acceso desde la aplicación «Ajustes» de iOS.";
/* Alert title for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_TITLE" = "Signal necesita acceso a los contactos para que puedas modificarlos.";
@ -781,13 +787,13 @@
"EDIT_GROUP_DEFAULT_TITLE" = "Editar grupo";
/* Label for the cell that lets you add a new member to a group. */
"EDIT_GROUP_MEMBERS_ADD_MEMBER" = "Añadir...";
"EDIT_GROUP_MEMBERS_ADD_MEMBER" = "Añadir ...";
/* a title for the members section of the 'new/update group' view. */
"EDIT_GROUP_MEMBERS_SECTION_TITLE" = "Miembros";
/* An indicator that a user is a new member of the group. */
"EDIT_GROUP_NEW_MEMBER_LABEL" = "Nuevo";
"EDIT_GROUP_NEW_MEMBER_LABEL" = "Añadido";
/* The title for the 'update group' button. */
"EDIT_GROUP_UPDATE_BUTTON" = "Actualizar";
@ -805,7 +811,7 @@
"EDIT_TXT" = "Modificar";
/* body of email sent to contacts when inviting to install Signal. Embeds {{link to install Signal}} and {{link to the Signal home page}} */
"EMAIL_INVITE_BODY" = "Hola:\n\nÚltimamente uso Signal para tener chats privados desde mi iPhone. Me gustaría que también lo instalases y así estar seguros que solo tú y yo podemos leer nuestros mensajes.\n\nSignal está disponible para iPhone y Android. Consíguelo aquí: %@\n\nSignal funciona como tu aplicación de mensajes de toda la vida. Podemos enviarnos fotos y videos, hacer llamadas y crear chats de grupo. Lo mejor es que nadie puede ver el contenido de nuestra conversación ¡ni siquiera los desarrolladores de Signal!\n\nPuedes leer más sobre Open Whisper Systems (los desarrolladores de Signal) aquí: %@";
"EMAIL_INVITE_BODY" = "Hola:\n\nÚltimamente uso Signal para tener chats privados desde mi iPhone. Me gustaría que también lo instalases y así estar seguros que solo tú y yo podemos leer nuestros mensajes.\n\nSignal está disponible para iPhone y Android. Consíguelo aquí: %@\n\nSignal funciona como tu aplicación de mensajes de toda la vida. Podemos enviarnos fotos y videos, hacer llamadas y crear chats de grupo. Lo mejor es que nadie puede ver el contenido de nuestro chat ¡ni siquiera los desarrolladores de Signal!\n\nPuedes leer más sobre Open Whisper Systems (los desarrolladores de Signal) aquí: %@";
/* subject of email sent to contacts when inviting to install Signal */
"EMAIL_INVITE_SUBJECT" = "¿Usamos Signal para chatear de forma segura?";
@ -853,13 +859,13 @@
"ENABLE_2FA_VIEW_NEXT_BUTTON" = "Siguiente";
/* Error indicating that the entered 'two-factor auth PINs' do not match. */
"ENABLE_2FA_VIEW_PIN_DOES_NOT_MATCH" = "El PIN no concuerda.";
"ENABLE_2FA_VIEW_PIN_DOES_NOT_MATCH" = "Los PINs no coinciden.";
/* Indicates that user should select a 'two factor auth pin'. */
"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Introduce un número PIN para activar el bloqueo de registro en tu número de teléfono. Te preguntaremos este PIN la próxima vez que registres el mismo número de teléfono con Signal.";
"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Introduce un número PIN para activar el bloqueo de registro de tu número de teléfono. Solicitaremos este PIN la próxima vez que alguien registre el mismo número de teléfono con Signal.";
/* Indicates that user has 'two factor auth pin' disabled. */
"ENABLE_2FA_VIEW_STATUS_DISABLED_INSTRUCTIONS" = "Para mayor seguridad, activa el bloqueo de registro para tu número de teléfono con un número PIN. Te solicitaremos el PIN la próxima vez que actives este mismo número de teléfono con Signal.";
"ENABLE_2FA_VIEW_STATUS_DISABLED_INSTRUCTIONS" = "Para una mayor seguridad, activa el bloqueo de registro para tu número de teléfono con un número PIN. Solicitaremos el PIN la próxima vez que alguien active este mismo número de teléfono con Signal.";
/* Indicates that user has 'two factor auth pin' enabled. */
"ENABLE_2FA_VIEW_STATUS_ENABLED_INSTRUCTIONS" = "El bloqueo de registro está activo. Necesitarás introducir el número PIN seleccionado la próxima vez que registres este número con Signal.";
@ -883,7 +889,7 @@
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Fallo al enviar: Claves de cifrado obsoletas.";
/* Error message indicating that message send failed due to block list */
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Fallo al enviar mensaje: Contactos bloqueados.";
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Fallo al enviar mensaje: Contacto bloqueado.";
/* Error message indicating that message send failed due to failed attachment write */
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Fallo al enviar por problemas con el adjunto.";
@ -955,7 +961,7 @@
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Demasiados fallos con este contacto. Vuelve a intentarlo más tarde.";
/* action sheet header when re-sending message which failed because of untrusted identity keys */
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Tus cifras de seguridad con %@ han cambiado recientemente. Tal vez desees verificarlas antes de reenviar el mensaje.";
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Tus cifras de seguridad con %@ han cambiado. Tal vez desees verificarlas antes de reenviar el mensaje.";
/* alert title */
"FAILED_VERIFICATION_TITLE" = "¡Fallo al verificar las cifras de seguridad!";
@ -973,10 +979,10 @@
"GALLERY_TILES_EMPTY_GALLERY" = "No hay ningún adjunto en este chat.";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Cargando adjuntos recientes...";
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Cargando adjuntos recientes ...";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Cargando adjuntos antiguos...";
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Cargando adjuntos previos ...";
/* A label for generic attachments. */
"GENERIC_ATTACHMENT_LABEL" = "Adjunto";
@ -1018,10 +1024,10 @@
"GROUP_MANAGEMENT_SECTION" = "Gestión del grupo";
/* No comment provided by engineer. */
"GROUP_MEMBER_JOINED" = "%@ se unió al grupo.";
"GROUP_MEMBER_JOINED" = "%@ se ha unido al grupo.";
/* No comment provided by engineer. */
"GROUP_MEMBER_LEFT" = "%@ abandonó el grupo.";
"GROUP_MEMBER_LEFT" = "%@ ha abandonado el grupo.";
/* Button label to add information to an unknown contact */
"GROUP_MEMBERS_ADD_CONTACT_INFO" = "Añadir contacto";
@ -1033,7 +1039,7 @@
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Retirar verificación a todos";
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Esta acción retira la marca de verificación a todos los miembros del grupo cuyas cifras de seguridad han cambiado tras haberlas verificado previamente.";
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Esta acción retira la marca de verificación a todos los miembros del grupo cuyas cifras de seguridad han cambiado.";
/* Title for the 'members' section of the 'group members' view. */
"GROUP_MEMBERS_SECTION_TITLE_MEMBERS" = "Miembros";
@ -1048,7 +1054,7 @@
"GROUP_MEMBERS_VIEW_CONTACT_INFO" = "Información de contacto";
/* No comment provided by engineer. */
"GROUP_TITLE_CHANGED" = "El grupo se llama ahora '%@'.";
"GROUP_TITLE_CHANGED" = "El grupo se llama ahora «%@».";
/* No comment provided by engineer. */
"GROUP_UPDATED" = "Grupo actualizado.";
@ -1066,7 +1072,7 @@
"HOME_VIEW_CONVERSATION_SEARCHBAR_PLACEHOLDER" = "Buscar";
/* Format string when search returns no results. Embeds {{search term}} */
"HOME_VIEW_SEARCH_NO_RESULTS_FORMAT" = "No se encontraron resultados para '%@'";
"HOME_VIEW_SEARCH_NO_RESULTS_FORMAT" = "No se encontraron resultados para «%@»";
/* Title for the home view's 'archive' mode. */
"HOME_VIEW_TITLE_ARCHIVE" = "Archivo";
@ -1074,26 +1080,35 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "conectando...";
"IN_CALL_CONNECTING" = "Conectando ...";
/* Call setup status label */
"IN_CALL_RECONNECTING" = "Reconectando ...";
/* Call setup status label */
"IN_CALL_RINGING" = "sonando...";
"IN_CALL_RINGING" = "Sonando ...";
/* Call setup status label */
"IN_CALL_SECURING" = "respondida. Asegurando...";
"IN_CALL_SECURING" = "Respondida. Asegurando ...";
/* Call setup status label */
"IN_CALL_TERMINATED" = "llamada finalizada.";
"IN_CALL_TERMINATED" = "Llamada finalizada.";
/* Label reminding the user that they are in archive mode. */
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "Estos chats están archivados y sólo aparecerán en el buzón de entrada si recibes nuevos mensajes.";
/* Multi-line label explaining how to show names instead of phone numbers in your inbox */
"INBOX_VIEW_MISSING_CONTACTS_PERMISSION" = "Al activar el acceso a contactos en los Ajustes de iOS puedes ver los nombres de tus contactos en la lista de chats en Signal.";
"INBOX_VIEW_MISSING_CONTACTS_PERMISSION" = "Al activar el acceso a contactos en «Ajustes» de iOS puedes ver los nombres de tus contactos en la lista de chats en Signal.";
/* notification body */
"INCOMING_CALL" = "Llamada recibida";
@ -1105,16 +1120,16 @@
"INCOMING_DECLINED_CALL" = "Has rechazado una llamada";
/* No comment provided by engineer. */
"INCOMING_INCOMPLETE_CALL" = "Recibiendo llamada";
"INCOMING_INCOMPLETE_CALL" = "Llamada entrante";
/* info message text shown in conversation view */
"INFO_MESSAGE_MISSED_CALL_DUE_TO_CHANGED_IDENITY" = "Llamada rechazada debido a cifras de seguridad nuevas sin verificar.";
"INFO_MESSAGE_MISSED_CALL_DUE_TO_CHANGED_IDENITY" = "Llamada perdida debido a cifras de seguridad nuevas sin verificar.";
/* Message for the alert indicating that an audio file is invalid. */
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Archivo de audio inválido.";
/* Alert body when contacts disabled while trying to invite contacts to signal */
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_BODY" = "Al activar el acceso a contactos en los Ajustes de iOS puedes invitar amig@s a usar Signal.";
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_BODY" = "Al activar el acceso a contactos en «Ajustes» de iOS puedes invitar amig@s a usar Signal.";
/* Alert title when contacts disabled while trying to invite contacts to signal */
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Permitir acesso a contactos";
@ -1129,13 +1144,13 @@
"INVITE_FRIENDS_PICKER_TITLE" = "Invitar contactos";
/* Alert warning that sending an invite to multiple users will create a group message whose recipients will be able to see each other. */
"INVITE_WARNING_MULTIPLE_INVITES_BY_TEXT" = "Al invitar a varios contactos al mismo tiempo, se enviará un mensaje de grupo donde los receptores pueden verse entre ellos.";
"INVITE_WARNING_MULTIPLE_INVITES_BY_TEXT" = "Al invitar a varios contactos al mismo tiempo, se enviará un mensaje de grupo donde los destinatarios pueden verse entre ellos.";
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
"KEEP_MESSAGES_DURATION" = "Los mensajes caducarán tras %@.";
"KEEP_MESSAGES_DURATION" = "Los mensajes desaparecerán tras %@.";
/* Slider label when disappearing messages is off */
"KEEP_MESSAGES_FOREVER" = "Los mensajes no caducarán.";
"KEEP_MESSAGES_FOREVER" = "Los mensajes no desaparecerán.";
/* Confirmation button within contextual alert */
"LEAVE_BUTTON_TITLE" = "Abandonar";
@ -1144,7 +1159,7 @@
"LEAVE_GROUP_ACTION" = "Abandonar grupo";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_BODY" = "Este código QR no es válido. Asegúrate de estar escaneando el código QR en el dispositivo que quieres enlazar.";
"LINK_DEVICE_INVALID_CODE_BODY" = "Este código QR no es válido. Asegúrate de estar escaneando el código QR de Signal Desktop en el dispositivo que quieres enlazar.";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_TITLE" = "Fallo al enlazar dispositivo";
@ -1195,10 +1210,10 @@
"MEDIA_FROM_LIBRARY_BUTTON" = "Fototeca";
/* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */
"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Borrar %d mensajes";
"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Eliminar %d mensajes";
/* Confirmation button text to delete selected media message from the gallery */
"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Borrar mensajes";
"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Eliminar mensajes";
/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ el %@";
@ -1213,7 +1228,7 @@
"MEDIA_GALLERY_THIS_MONTH_HEADER" = "Este mes";
/* Action sheet button title */
"MESSAGE_ACTION_COPY_MEDIA" = "Copiar fichero";
"MESSAGE_ACTION_COPY_MEDIA" = "Copiar archivo";
/* Action sheet button title */
"MESSAGE_ACTION_COPY_TEXT" = "Copiar mensaje";
@ -1231,7 +1246,7 @@
"MESSAGE_ACTION_REPLY" = "Responder a este mensaje";
/* Action sheet button title */
"MESSAGE_ACTION_SAVE_MEDIA" = "Guardar fichero";
"MESSAGE_ACTION_SAVE_MEDIA" = "Guardar archivo";
/* Title for the 'message approval' dialog. */
"MESSAGE_APPROVAL_DIALOG_TITLE" = "Mensaje";
@ -1312,19 +1327,19 @@
"MESSAGE_STATUS_SENT" = "Enviado";
/* status message while attachment is uploading */
"MESSAGE_STATUS_UPLOADING" = "Cargando...";
"MESSAGE_STATUS_UPLOADING" = "Cargando ...";
/* placeholder text for the editable message field */
"MESSAGE_TEXT_FIELD_PLACEHOLDER" = "Mensaje nuevo";
/* Indicates that one member of this group conversation is no longer verified. Embeds {{user's name or phone number}}. */
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "Las cifras de seguridad con %@ han cambiado y no han sido verificadas. Toca para ver opciones.";
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "El estado de %@ ha cambiado a no verificado. Toca para ver opciones.";
/* Indicates that this 1:1 conversation has been blocked. */
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Has bloqueado a este contacto";
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "Las cifras de seguridad con %@ han cambiado y no han sido verificadas. Toca para ver opciones.";
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "El estado de %@ ha cambiado a no verificado. Toca para ver opciones.";
/* Indicates that a single member of this group has been blocked. */
"MESSAGES_VIEW_GROUP_1_MEMBER_BLOCKED" = "Has bloqueado a 1 miembro de este grupo";
@ -1339,13 +1354,13 @@
"MESSAGES_VIEW_GROUP_PROFILE_WHITELIST_BANNER" = "¿Compartir perfil con este grupo?";
/* Indicates that more than one member of this group conversation is no longer verified. */
"MESSAGES_VIEW_N_MEMBERS_NO_LONGER_VERIFIED" = "Las cifras de seguridad con más de un miembro de este grupo han cambiado y no han sido verificadas. Toca para ver opciones.";
"MESSAGES_VIEW_N_MEMBERS_NO_LONGER_VERIFIED" = "El estado de más de un miembro de este grupo ha cambiado a no verificado. Toca para ver opciones.";
/* The subtitle for the messages view title indicates that the title can be tapped to access settings for this conversation. */
"MESSAGES_VIEW_TITLE_SUBTITLE" = "Toca aquí para ajustes del chat";
/* Indicator that separates read from unread messages. */
"MESSAGES_VIEW_UNREAD_INDICATOR" = "Mensajes no leídos";
"MESSAGES_VIEW_UNREAD_INDICATOR" = "Mensajes nuevos";
/* Messages that indicates that there are more unseen messages. */
"MESSAGES_VIEW_UNREAD_INDICATOR_HAS_MORE_UNSEEN_MESSAGES" = "Más mensajes sin leer.";
@ -1357,21 +1372,21 @@
"MISSED_CALL" = "Llamada perdida";
/* notification title. Embeds {{caller's name or phone number}} */
"MISSED_CALL_WITH_CHANGED_IDENTITY_BODY_WITH_CALLER_NAME" = "Llamada de %@ rechazada por cifras de seguridad nuevas sin verificar.";
"MISSED_CALL_WITH_CHANGED_IDENTITY_BODY_WITH_CALLER_NAME" = "Llamada de %@ perdida por cifras de seguridad nuevas sin verificar.";
/* notification title */
"MISSED_CALL_WITH_CHANGED_IDENTITY_BODY_WITHOUT_CALLER_NAME" = "Llamada de contacto rechazada por cifras de seguridad nuevas sin verificar.";
"MISSED_CALL_WITH_CHANGED_IDENTITY_BODY_WITHOUT_CALLER_NAME" = "Llamada perdida por cifras de seguridad nuevas.";
/* Alert body
Alert body when camera is not authorized */
"MISSING_CAMERA_PERMISSION_MESSAGE" = "Puedes activar el acceso a la cámara en los Ajustes de iOS para hacer videollamadas desde Signal.";
"MISSING_CAMERA_PERMISSION_MESSAGE" = "Puedes activar el acceso a la cámara en «Ajustes» de iOS para hacer vídeollamadas desde Signal.";
/* Alert title
Alert title when camera is not authorized */
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal necesita acceder a la cámara.";
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal necesita acceso a la cámara.";
/* Alert body when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Puedes dar acceso desde los Ajustes de iOS.";
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Puedes dar acceso desde «Ajustes» de iOS.";
/* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Signal necesita acceder a tu fototeca para usar esta función.";
@ -1454,14 +1469,17 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Encontrar por núm. de teléfono";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Has recibido mensajes mientras tu %@ estaba apagado.";
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Has recibido mensajes mientras tu %@ estaba reiniciándose.";
/* No comment provided by engineer. */
"NOTIFICATION_SEND_FAILED" = "Fallo al enviar mensaje a %@.";
/* No comment provided by engineer. */
"NOTIFICATIONS_FOOTER_WARNING" = "Debido a fallos del sistema de notificationes de Apple, la previsualización de mensajes sólo ocurre si el mensaje se recupera 30 segundos después de haberse enviado. Como resultado, el número mostrado en el globo junto al icono de Signal puede ser incorrecto.";
"NOTIFICATIONS_FOOTER_WARNING" = "Debido a fallos del sistema de notificaciones de Apple, la previsualización de mensajes sólo ocurre si el mensaje se recupera 30 segundos después de haberse enviado. Como resultado, el número mostrado en el globo junto al icono de Signal puede ser incorrecto.";
/* No comment provided by engineer. */
"NOTIFICATIONS_NONE" = "Ni remitente ni contenido";
@ -1488,10 +1506,10 @@
"OPEN_SETTINGS_BUTTON" = "Ajustes";
/* Info Message when {{other user}} disables or doesn't support disappearing messages */
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ ha desactivado los mensajes con caducidad.";
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ ha desactivado la desaparición de mensajes.";
/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ ha fijado la caducidad de mensajes a %@.";
"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ ha fijado la desaparición de mensajes en %@.";
/* Label warning the user that the Signal service may be down. */
"OUTAGE_WARNING" = "Signal tiene problemas técnicos. Estamos trabajando para restaurar el servicio lo antes posible.";
@ -1506,7 +1524,7 @@
"OUTGOING_MISSED_CALL" = "Llamada realizada sin respuesta";
/* A display format for oversize text messages. */
"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@...";
"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@ ...";
/* A format for a label showing an example phone number. Embeds {{the example phone number}}. */
"PHONE_NUMBER_EXAMPLE_FORMAT" = "Ejemplo: %@";
@ -1515,10 +1533,10 @@
"PHONE_NUMBER_TYPE_AND_INDEX_NAME_FORMAT" = "%@%@";
/* Label for 'Home' phone numbers. */
"PHONE_NUMBER_TYPE_HOME" = "casa";
"PHONE_NUMBER_TYPE_HOME" = "domicilio";
/* Label for 'HomeFAX' phone numbers. */
"PHONE_NUMBER_TYPE_HOME_FAX" = "fax casa";
"PHONE_NUMBER_TYPE_HOME_FAX" = "fax domicilio";
/* Label for 'iPhone' phone numbers. */
"PHONE_NUMBER_TYPE_IPHONE" = "iPhone";
@ -1533,7 +1551,7 @@
"PHONE_NUMBER_TYPE_OTHER" = "otro";
/* Label for 'Other FAX' phone numbers. */
"PHONE_NUMBER_TYPE_OTHER_FAX" = "fax";
"PHONE_NUMBER_TYPE_OTHER_FAX" = "fax adicional";
/* Label for 'Pager' phone numbers. */
"PHONE_NUMBER_TYPE_PAGER" = "pager";
@ -1551,16 +1569,16 @@
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Álbum sin nombre";
/* Accessibility label for button to start media playback */
"PLAY_BUTTON_ACCESSABILITY_LABEL" = "Reproducir adjuntos";
"PLAY_BUTTON_ACCESSABILITY_LABEL" = "Reproducir adjunto multimedia";
/* Label indicating that the user is not verified. Embeds {{the user's name or phone number}}. */
"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "No has verificado las cifras de seguridad con %@.";
"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "No has marcado a %@ como verificado.";
/* Badge indicating that the user is verified. */
"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Verificado";
/* Label indicating that the user is verified. Embeds {{the user's name or phone number}}. */
"PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "Has verificado las cifras de seguridad con %@.";
"PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "%@ está verificado.";
/* Label for a link to more information about safety numbers and verification. */
"PRIVACY_SAFETY_NUMBERS_LEARN_MORE" = "Saber más";
@ -1572,7 +1590,7 @@
"PRIVACY_UNVERIFY_BUTTON" = "Retirar marca de verificación";
/* Alert body when verifying with {{contact name}} */
"PRIVACY_VERIFICATION_FAILED_I_HAVE_WRONG_KEY_FOR_THEM" = "Esas no son las cifras de seguridad del chat con %@. ¿Estás identificando el contacto correcto?";
"PRIVACY_VERIFICATION_FAILED_I_HAVE_WRONG_KEY_FOR_THEM" = "Esas no son las cifras de seguridad del chat con %@. ¿Estás identificando al contacto correcto?";
/* Alert body */
"PRIVACY_VERIFICATION_FAILED_MISMATCHED_SAFETY_NUMBERS_IN_CLIPBOARD" = "Las cifras en el portapapeles no son las cifras de seguridad correctas para este chat.";
@ -1614,7 +1632,7 @@
"PROFILE_VIEW_AVATAR_ACTIONSHEET_TITLE" = "Seleccionar foto para perfil";
/* Label for action that clear's the user's profile avatar */
"PROFILE_VIEW_CLEAR_AVATAR" = "Borrar foto";
"PROFILE_VIEW_CLEAR_AVATAR" = "Eliminar foto";
/* Error message shown when user tries to update profile with a profile name that is too long. */
"PROFILE_VIEW_ERROR_PROFILE_NAME_TOO_LONG" = "Tu nombre de perfil es demasiado largo.";
@ -1668,13 +1686,13 @@
"QUOTED_REPLY_AUTHOR_INDICATOR_YOURSELF" = "Respuesta a ti mismo";
/* Footer label that appears below quoted messages when the quoted content was not derived locally. When the local user doesn't have a copy of the message being quoted, e.g. if it had since been deleted, we instead show the content specified by the sender. */
"QUOTED_REPLY_CONTENT_FROM_REMOTE_SOURCE" = "Fallo al encontrar el mensaje original.";
"QUOTED_REPLY_CONTENT_FROM_REMOTE_SOURCE" = "No se encontró el mensaje original.";
/* Toast alert text shown when tapping on a quoted message which we cannot scroll to because the local copy of the message was since deleted. */
"QUOTED_REPLY_ORIGINAL_MESSAGE_DELETED" = "El mensaje original ya no está disponible.";
/* Toast alert text shown when tapping on a quoted message which we cannot scroll to because the local copy of the message didn't exist when the quote was received. */
"QUOTED_REPLY_ORIGINAL_MESSAGE_REMOTELY_SOURCED" = "Fallo al encontrar el mensaje original.";
"QUOTED_REPLY_ORIGINAL_MESSAGE_REMOTELY_SOURCED" = "No se encontró el mensaje original.";
/* Indicates this message is a quoted reply to an attachment of unknown type. */
"QUOTED_REPLY_TYPE_ATTACHMENT" = "Adjunto";
@ -1854,13 +1872,13 @@
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_LOCKOUT" = "Demasiados intentos fallidos. Prueda de nuevo más tarde.";
/* Indicates that Touch ID/Face ID/Phone Passcode are not available on this device. */
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_AVAILABLE" = "Necesitas configurar un código en Ajustes de iOS para poder usar el bloqueo de acceso.";
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_AVAILABLE" = "Necesitas configurar un código en «Ajustes» de iOS para poder usar el bloqueo de acceso.";
/* Indicates that Touch ID/Face ID/Phone Passcode is not configured on this device. */
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_ENROLLED" = "Necesitas configurar un código en Ajustes de iOS para poder usar el bloqueo de acceso.";
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_ENROLLED" = "Necesitas configurar un código en «Ajustes» de iOS para poder usar el bloqueo de acceso.";
/* Indicates that Touch ID/Face ID/Phone Passcode passcode is not set. */
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_PASSCODE_NOT_SET" = "Necesitas configurar un código en Ajustes de iOS para poder usar el bloqueo de acceso.";
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_PASSCODE_NOT_SET" = "Necesitas configurar un código en «Ajustes» de iOS para poder usar el bloqueo de acceso.";
/* Description of how and why Signal iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */
"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Identifícate para acceder a Signal.";
@ -1884,7 +1902,7 @@
"SEARCH_SECTION_MESSAGES" = "Mensajes";
/* No comment provided by engineer. */
"SECURE_SESSION_RESET" = "Reinicializada sesión segura";
"SECURE_SESSION_RESET" = "Sesión segura reinicializada.";
/* Label for 'select GIF to attach' action sheet button */
"SELECT_GIF_BUTTON" = "GIF";
@ -1911,7 +1929,7 @@
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "Invitar por SMS: %@";
/* No comment provided by engineer. */
"SEND_SMS_CONFIRM_TITLE" = "¿Invitar a un contacto vía SMS inseguro? ";
"SEND_SMS_CONFIRM_TITLE" = "¿Invitar a un contacto vía SMS no cifrado? ";
/* No comment provided by engineer. */
"SEND_SMS_INVITE_TITLE" = "¿Deseas invitar este número a usar Signal:";
@ -1932,10 +1950,10 @@
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION" = "Evitar censura";
/* Label for the 'manual censorship circumvention' country. Embeds {{the manual censorship circumvention country}}. */
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_COUNTRY_FORMAT" = "Ubicación: %@";
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_COUNTRY_FORMAT" = "Posición: %@";
/* Table footer for the 'censorship circumvention' section when censorship circumvention can be manually enabled. */
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_FOOTER" = "Al activar la opción, Signal intentará enviar mensajes evitando la censura. No activar esta opción a no ser que el país en el que te encuentres bloquee Signal.";
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_FOOTER" = "Al activar la opción, Signal intentará enviar mensajes evitando la censura. No actives esta opción a no ser que el país en el que te encuentres bloquee Signal.";
/* Table footer for the 'censorship circumvention' section shown when censorship circumvention has been auto-enabled based on local phone number. */
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_FOOTER_AUTO_ENABLED" = "La opción para evitar censura se ha activado automáticamente basándose en el número de teléfono de tu cuenta de Signal.";
@ -2007,7 +2025,7 @@
"SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Guardando";
/* Indicates that the last backup succeeded. */
"SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Copia realizada";
"SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Copia realizada con éxito";
/* A label for the 'add phone number' button in the block list table. */
"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Añadir contacto bloqueado";
@ -2019,37 +2037,37 @@
"SETTINGS_BLOCK_LIST_NO_SEARCH_RESULTS" = "Sin resultados";
/* Label for the block list section of the settings view */
"SETTINGS_BLOCK_LIST_TITLE" = "Bloquear contactos";
"SETTINGS_BLOCK_LIST_TITLE" = "Contactos bloqueados";
/* Table cell label */
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Redirigir llamadas";
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Redirigir llamadas siempre";
/* User settings section footer, a detailed explanation */
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "Redirigire todas las llamadas a través del servidor de Signal para evitar revelar tu dirección IP al contacto. Activar la opción reducirá la calidad de las llamadas.";
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "Redirige todas las llamadas a través del servidor de Signal para evitar revelar tu dirección IP al contacto. Activar la opción reducirá la calidad de las llamadas.";
/* No comment provided by engineer. */
"SETTINGS_CLEAR_HISTORY" = "Borrar historial de chats";
"SETTINGS_CLEAR_HISTORY" = "Limpiar historial de chats";
/* No comment provided by engineer. */
"SETTINGS_COPYRIGHT" = "Derechos de Signal Messenger\nLiberado bajo GPLv3";
/* No comment provided by engineer. */
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Borrar cuenta";
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Eliminar cuenta";
/* Label for 'delete data' button. */
"SETTINGS_DELETE_DATA_BUTTON" = "Borrar todos los datos";
"SETTINGS_DELETE_DATA_BUTTON" = "Eliminar todos los datos";
/* Alert message before user confirms clearing history */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "¿Estás segur@ de querer borrar todo el historial (mensajes, adjuntos, lista de llamadas...)? Esta acción es irreversible.";
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "¿Deseas eliminar todo el historial (mensajes, adjuntos, lista de llamadas ...)? Esta acción es irreversible.";
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Borrar todo";
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Eliminar todo";
/* No comment provided by engineer. */
"SETTINGS_HELP_HEADER" = "Ayuda";
/* Section header */
"SETTINGS_HISTORYLOG_TITLE" = "Borrar chats";
"SETTINGS_HISTORYLOG_TITLE" = "Limpiar historial de chats";
/* No comment provided by engineer. */
"SETTINGS_INFORMATION_HEADER" = "Información";
@ -2082,7 +2100,7 @@
"SETTINGS_PRIVACY_CALLKIT_PRIVACY_TITLE" = "Mostrar nombre y número";
/* Settings table section footer. */
"SETTINGS_PRIVACY_CALLKIT_SYSTEM_CALL_LOG_PREFERENCE_DESCRIPTION" = "Mostrar las llamadas de Signal en la lista de 'Recientes' de la aplicación 'Teléfono' de iOS.";
"SETTINGS_PRIVACY_CALLKIT_SYSTEM_CALL_LOG_PREFERENCE_DESCRIPTION" = "Mostrar las llamadas de Signal en la lista de «Recientes» de la aplicación «Teléfono» de iOS.";
/* Short table cell label */
"SETTINGS_PRIVACY_CALLKIT_SYSTEM_CALL_LOG_PREFERENCE_TITLE" = "Llamadas en Recientes";
@ -2136,7 +2154,7 @@
"SETTINGS_SECURITY_TITLE" = "Protección de pantalla";
/* No comment provided by engineer. */
"SETTINGS_SUPPORT" = "Soporte";
"SETTINGS_SUPPORT" = "Soporte técnico";
/* Indicates that 'two factor auth' is disabled in the privacy settings. */
"SETTINGS_TWO_FACTOR_AUTH_DISABLED" = "Desactivado";
@ -2166,10 +2184,10 @@
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Mostrar indicador";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Muestra un icono de estado en la sección 'Más detalles' de los mensajes entregados con remitente sellado.";
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Muestra un icono de estado en la sección «Más detalles» de los mensajes entregados con remitente sellado.";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Permitir cualquiera";
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Permitir de cualquiera";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Al activar la opción, usuarios de Signal que no estén entre tus contactos y con los que no has compartido tu perfil pueden enviarte mensajes con remitente sellado.";
@ -2178,7 +2196,7 @@
"SETTINGS_VERSION" = "Versión";
/* action sheet item to open native mail app */
"SHARE_ACTION_MAIL" = "Email";
"SHARE_ACTION_MAIL" = "Correo";
/* action sheet item to open native messages app */
"SHARE_ACTION_MESSAGE" = "Mensaje de texto";
@ -2202,16 +2220,16 @@
"SHARE_EXTENSION_NOT_YET_MIGRATED_MESSAGE" = "Inicia Signal para actualizar o registrarte.";
/* Title indicating that the share extension cannot be used until the main app has been launched at least once. */
"SHARE_EXTENSION_NOT_YET_MIGRATED_TITLE" = "Atención";
"SHARE_EXTENSION_NOT_YET_MIGRATED_TITLE" = "No registrado";
/* Alert title */
"SHARE_EXTENSION_SENDING_FAILURE_TITLE" = "Fallo al enviar adjunto";
/* Alert title */
"SHARE_EXTENSION_SENDING_IN_PROGRESS_TITLE" = "Enviando...";
"SHARE_EXTENSION_SENDING_IN_PROGRESS_TITLE" = "Enviando ...";
/* Shown when trying to share content to a Signal user for the share extension. Followed by failure details. */
"SHARE_EXTENSION_UNABLE_TO_BUILD_ATTACHMENT_ALERT_TITLE" = "No ha sido posible preparar el adjunto";
"SHARE_EXTENSION_UNABLE_TO_BUILD_ATTACHMENT_ALERT_TITLE" = "Imposible preparar el adjunto";
/* Title for the 'share extension' view. */
"SHARE_EXTENSION_VIEW_TITLE" = "Compartir en Signal";
@ -2229,7 +2247,7 @@
"SOUNDS_NONE" = "Sin sonido";
/* Alert body after verifying privacy with {{other user's name}} */
"SUCCESSFUL_VERIFICATION_DESCRIPTION" = "Tus cifras de seguridad con %@ coinciden, Puedes marcar este contacto como verificado.";
"SUCCESSFUL_VERIFICATION_DESCRIPTION" = "Tus cifras de seguridad con %@ coinciden. Puedes marcar este contacto como verificado.";
/* No comment provided by engineer. */
"SUCCESSFUL_VERIFICATION_TITLE" = "¡Coinciden!";
@ -2241,25 +2259,25 @@
"TIME_AMOUNT_DAYS" = "%@ días";
/* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d";
"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@ d";
/* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS" = "%@ horas";
/* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h";
"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@ h";
/* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_MINUTES" = "%@ minutos";
/* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@m";
"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@ m";
/* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SECONDS" = "%@ segundos";
/* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@s";
"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@ s";
/* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SINGLE_DAY" = "%@ día";
@ -2277,22 +2295,22 @@
"TIME_AMOUNT_WEEKS" = "%@ semanas";
/* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@sem";
"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@ sem";
/* Label for the cancel button in an alert or action sheet. */
"TXT_CANCEL_TITLE" = "Cancelar";
/* No comment provided by engineer. */
"TXT_DELETE_TITLE" = "Borrar";
"TXT_DELETE_TITLE" = "Eliminar";
/* Pressing this button moves an archived thread from the archive back to the inbox */
"UNARCHIVE_ACTION" = "Desarchivar";
/* In Inbox view, last message label for thread with corrupted attachment. */
"UNKNOWN_ATTACHMENT_LABEL" = "Archivo adjunto de tipo desconocido";
"UNKNOWN_ATTACHMENT_LABEL" = "Adjunto de tipo desconocido";
/* Message shown in conversation view that offers to block an unknown user. */
"UNKNOWN_CONTACT_BLOCK_OFFER" = "Este número no está en tus contactos. ¿Deseas bloquearlo? Toca aquí.";
"UNKNOWN_CONTACT_BLOCK_OFFER" = "Este número no está en tus contactos. ¿Deseas bloquearlo?";
/* Displayed if for some reason we can't determine a contacts phone number *or* name */
"UNKNOWN_CONTACT_NAME" = "Contacto desconocido";
@ -2307,7 +2325,7 @@
"UNLINK_CONFIRMATION_ALERT_BODY" = "Este dispositivo dejará de enviar o recibir mensajes tras desenlazarlo.";
/* Alert title for confirming device deletion */
"UNLINK_CONFIRMATION_ALERT_TITLE" = "¿Desenlazar \"%@\"?";
"UNLINK_CONFIRMATION_ALERT_TITLE" = "¿Desenlazar «%@»?";
/* Alert title when unlinking device fails */
"UNLINKING_FAILED_ALERT_TITLE" = "Signal no ha podido desenlazar tu dispositivo.";
@ -2382,14 +2400,11 @@
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "¡Saluda a las vídeollamadas seguras!";
/* Message for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_MESSAGE" = "Signal requiere iOS 9 o posterior. Por favor, actualiza iOS en la aplicación de Ajustes.";
"UPGRADE_IOS_ALERT_MESSAGE" = "Signal requiere iOS 9 o posterior. Por favor, actualiza iOS en «Ajustes».";
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Actualizar iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Actualizando Signal ...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Atrás";
@ -2400,7 +2415,7 @@
"VERIFICATION_CHALLENGE_SEND_VIA_VOICE" = "Recibir llamada con código";
/* button text during registration to request another SMS code be sent */
"VERIFICATION_CHALLENGE_SUBMIT_AGAIN" = "Solicitar código de nuevo";
"VERIFICATION_CHALLENGE_SUBMIT_AGAIN" = "Solicitar código de nuevo como SMS";
/* button text during registration to submit your SMS verification code. */
"VERIFICATION_CHALLENGE_SUBMIT_CODE" = "Comprobar";
@ -2409,10 +2424,10 @@
"VERIFICATION_PHONE_NUMBER_FORMAT" = "Introduce el código que hemos enviado a %@.";
/* Format for info message indicating that the verification state was unverified on this device. Embeds {{user's name or phone number}}. */
"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_LOCAL" = "Has marcado a %@ como no verificado.";
"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_LOCAL" = "Has retirado la marca de verificación a %@.";
/* Format for info message indicating that the verification state was unverified on another device. Embeds {{user's name or phone number}}. */
"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_OTHER_DEVICE" = "Has marcado a %@ como no verificado en otro dispositivo.";
"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_OTHER_DEVICE" = "Has retirado la marca de verificación a %@ en otro dispositivo.";
/* Format for info message indicating that the verification state was verified on this device. Embeds {{user's name or phone number}}. */
"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_LOCAL" = "Has marcado a %@ como verificado.";
@ -2421,7 +2436,7 @@
"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_OTHER_DEVICE" = "Has marcado a %@ como verificado en otro dispositivo.";
/* Generic message indicating that verification state changed for a given user. */
"VERIFICATION_STATE_CHANGE_GENERIC" = "Cambio en estado de verificación de cifras de seguridad.";
"VERIFICATION_STATE_CHANGE_GENERIC" = "Cambio en estado de verificación.";
/* Label for button or row which allows users to verify the safety number of another user. */
"VERIFY_PRIVACY" = "Ver cifras de seguridad";
@ -2442,10 +2457,10 @@
"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "Nota de voz";
/* Activity indicator title, shown upon returning to the device manager, until you complete the provisioning process on desktop */
"WAITING_TO_COMPLETE_DEVICE_LINK_TEXT" = "Completa la configuración en la aplicación de escritorio.";
"WAITING_TO_COMPLETE_DEVICE_LINK_TEXT" = "Completa la configuración en la aplicación de escritorio Signal Desktop.";
/* Info Message when you disable disappearing messages */
"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Has desactivado los mensajes con caducidad.";
"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Has desactivado la desaparición de mensajes.";
/* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Has fijado la caducidad de mensajes a %@.";
"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Has fijado la desaparición de mensajes en %@.";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Tehtud";
/* Label for redo button. */
"BUTTON_REDO" = "Tee uuesti";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Vali";
/* Label for undo button. */
"BUTTON_UNDO" = "Võta tagasi";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Helista uuesti";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Ühendumine...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Leia kontaktid numbri järgi";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Sa võisid %@'i taaskäivitamise ajal saada sõnumeid.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Uuenda iOSi";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Signali uuendamine...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Tagasi";

View File

@ -69,7 +69,7 @@
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ از گروه %@: %@";
/* Message for the 'app launch failed' alert. */
"APP_LAUNCH_FAILURE_ALERT_MESSAGE" = "Signal can't launch. Please send a debug log to support@signal.org so that we can troubleshoot this issue.";
"APP_LAUNCH_FAILURE_ALERT_MESSAGE" = "Signal قادر به راه‌اندازی نیست. لطفا گزارش اشکال‌زدایی خود را به support@signal.org ارسال کنید تا این مشکل را حل کنیم.";
/* Title for the 'app launch failed' alert. */
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "خطاء";
@ -171,7 +171,7 @@
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "خطا در انتخاب سند.";
/* Alert body when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Please create a compressed archive of this file or directory and try sending that instead.";
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "لطفا یک آرشیو فشرده از این فایل یا دایرکتوری را ساخته و ارسال آن را امتحان کنید.";
/* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "این نوع فایل پشتیبانی نمی‌شود.";
@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "انجام شد";
/* Label for redo button. */
"BUTTON_REDO" = "انجام دوباره";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "انتخاب";
/* Label for undo button. */
"BUTTON_UNDO" = "لغو";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "تماس دوباره";
@ -357,10 +363,10 @@
"CALL_VIEW_MUTE_LABEL" = "ساکت‌ کردن";
/* Reminder to the user of the benefits of enabling CallKit and disabling CallKit privacy. */
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "You can enable iOS Call Integration in your Signal privacy settings to answer incoming calls from your lock screen.";
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "یک‌پارچگی تماس iOS را در تنظیمات حریم خصوصی Signal فعال کنید تا تماس‌های دریافتی را از صفحه‌ی قفل پاسخ دهید.";
/* Reminder to the user of the benefits of disabling CallKit privacy. */
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "You can enable iOS Call Integration in your Signal privacy settings to see the name and phone number for incoming calls.";
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "یک‌‌پارچگی تماس iOS را در تنظیمات حریم خصوصی Signal فعال کنید تا نام و شماره تلفن تماس‌های دریافتی را مشاهده کنید.";
/* Label for button that dismiss the call view's settings nag. */
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "الان نه";
@ -396,7 +402,7 @@
"CENSORSHIP_CIRCUMVENTION_COUNTRY_VIEW_TITLE" = "انتخاب کشود";
/* The label for the 'do not restore backup' button. */
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Do Not Restore";
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "بازیابی نکن";
/* Message for alert shown when the app failed to check for an existing backup. */
"CHECK_FOR_BACKUP_FAILED_MESSAGE" = "Could not determine whether there is a backup that can be restored.";
@ -814,7 +820,7 @@
"EMPTY_ARCHIVE_TEXT" = "شما میتوانید مکالمات غیر فعال را بایگانی کنید.";
/* Header text an existing user sees when viewing an empty archive */
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
"EMPTY_ARCHIVE_TITLE" = "لیست گفتگوهای خود را پاک کنید";
/* Full width label displayed when attempting to compose message */
"EMPTY_CONTACTS_LABEL_LINE1" = "هیچ کدام از مخاطبین شما Signal را نصب نکرده‌اند.";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "در حال اتصال…";
@ -1159,7 +1174,7 @@
"LINK_DEVICE_RESTART" = "تلاش مجدد";
/* QR Scanning screen instructions, placed alongside a camera view for scanning QR Codes */
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Scan the QR code that is displayed on the device you want to link.";
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "کد QR نمایش یافته بر روی دستگاهی که می‌خواهید متصل شوید، اسکن کنید.";
/* Subheading for 'Link New Device' navigation */
"LINK_NEW_DEVICE_SUBTITLE" = "کد QR را اسکن کنید";
@ -1201,7 +1216,7 @@
"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "حذف پیام";
/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ on %@";
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ در %@";
/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */
"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@";
@ -1333,7 +1348,7 @@
"MESSAGES_VIEW_GROUP_BLOCKED" = "شما این گروه را مسدود کردید";
/* Indicates that some members of this group has been blocked. Embeds {{the number of blocked users in this group}}. */
"MESSAGES_VIEW_GROUP_N_MEMBERS_BLOCKED_FORMAT" = "You Blocked %@ Members of This Group";
"MESSAGES_VIEW_GROUP_N_MEMBERS_BLOCKED_FORMAT" = "شما %@ عضو از این گروه را مسدود کرده‌اید";
/* Text for banner in group conversation view that offers to share your profile with this group. */
"MESSAGES_VIEW_GROUP_PROFILE_WHITELIST_BANNER" = "آیا مایل به اشتراک پروفایل‌تان با این گروه هستید؟";
@ -1364,14 +1379,14 @@
/* Alert body
Alert body when camera is not authorized */
"MISSING_CAMERA_PERMISSION_MESSAGE" = "You can enable camera access in the iOS Settings app to make video calls in Signal.";
"MISSING_CAMERA_PERMISSION_MESSAGE" = "شما می‌توانید دسترسی به دوربین را در تنظیمات اپ iOS فعال کنید تا در Signal تماس تصویری برقرار سازید.";
/* Alert title
Alert title when camera is not authorized */
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal نیاز به دسترسی به دوربین شما دارد.";
/* Alert body when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "You can enable this permission in the iOS Settings app.";
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "شما می‌توانید این اجازه را از تنظیمات اپ iOS فعال کنید.";
/* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "signal برای این قابلیت نیاز به دسترسی به عکس های شما دارد.";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "جستجو مخاطبین از طریق شماره تلفن";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "ممکن است شما زمانی که %@ در حال ری استارت بود پیام هایی دریافت کرده باشید.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "به‌روزرسانی iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "در حال ارتقاء Signal ...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "بازگشت";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Valmis";
/* Label for redo button. */
"BUTTON_REDO" = "Tee uudelleen";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Valitse";
/* Label for undo button. */
"BUTTON_UNDO" = "Kumoa";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Soita uudelleen";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Yhdistetään...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Etsi yhteystietoja puhelinnumerolla";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Olet saattanut saada uusia viestejä sillä aikaa, kun %@:si uudelleenkäynnistyi.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Päivitä iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Päivitetään Signalia...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Takaisin";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Done";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Select";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connecting…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Find Contacts by Phone Number";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Back";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Terminé";
/* Label for redo button. */
"BUTTON_REDO" = "Rétablir";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Sélectionner";
/* Label for undo button. */
"BUTTON_UNDO" = "Annuler";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Rappeler";
@ -612,7 +618,7 @@
"CONVERSATION_SETTINGS_NEW_CONTACT" = "Créer un nouveau contact";
/* Label for button that opens conversation settings. */
"CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Touchez pour modifier";
"CONVERSATION_SETTINGS_TAP_TO_CHANGE" = "Toucher pour modifier";
/* Label for button to unmute a thread. */
"CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Rétablir les notifications";
@ -675,7 +681,7 @@
"DATE_MINUTES_AGO_FORMAT" = "Il y a %@ min";
/* The present; the current time. */
"DATE_NOW" = "Maintenant";
"DATE_NOW" = "À linstant";
/* The current day. */
"DATE_TODAY" = "Aujourdhui";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connexion…";
@ -1144,7 +1159,7 @@
"LEAVE_GROUP_ACTION" = "Quitter le groupe ";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_BODY" = "Ce code QR nest pas valide. Veuillez vous assurer de lire le code QR affiché sur lappareil que vous souhaitez relier.";
"LINK_DEVICE_INVALID_CODE_BODY" = "Ce code QR nest pas valide. Veuillez vous assurer de balayer le code QR affiché sur lappareil que vous souhaitez relier.";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_TITLE" = "Échec de liaison de lappareil";
@ -1159,10 +1174,10 @@
"LINK_DEVICE_RESTART" = "Ressayer";
/* QR Scanning screen instructions, placed alongside a camera view for scanning QR Codes */
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Lisez le code QR affiché sur lappareil que vous souhaitez relier.";
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Balayez le code QR affiché sur lappareil que vous souhaitez relier.";
/* Subheading for 'Link New Device' navigation */
"LINK_NEW_DEVICE_SUBTITLE" = "Lire le code QR";
"LINK_NEW_DEVICE_SUBTITLE" = "Balayer le code QR";
/* Navigation title when scanning QR code to add new device. */
"LINK_NEW_DEVICE_TITLE" = "Relier un nouvel appareil";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Trouver des contacts par numéro de téléphone";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Vous avez peut-être reçu des messages alors que votre %@ redémarrait.";
@ -1566,7 +1584,7 @@
"PRIVACY_SAFETY_NUMBERS_LEARN_MORE" = "En apprendre davantage";
/* Button that shows the 'scan with camera' view. */
"PRIVACY_TAP_TO_SCAN" = "Touchez pour lire";
"PRIVACY_TAP_TO_SCAN" = "Toucher pour balayer";
/* Button that lets user mark another user's identity as unverified. */
"PRIVACY_UNVERIFY_BUTTON" = "Annuler la vérification";
@ -1590,10 +1608,10 @@
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Votre partenaire utilise une ancienne version de Signal. Il doit la mettre à jour avant que vous puissiez vérifier son numéro de sécurité. ";
/* alert body */
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "Le code lu ne semble pas être un numéro de sécurité. Utilisez-vous tous les deux une version à jour de Signal?";
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "Le code balayé ne semble pas être un numéro de sécurité. Utilisez-vous tous les deux une version à jour de Signal?";
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Si vous souhaitez vérifier la sécurité du chiffrement de bout en bout avec %@, comparez les numéros ci-dessus avec ceux sur son appareil.\n\nVous pouvez aussi lire le code sur son appareil ou lui demander de lire le vôtre.";
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Si vous souhaitez vérifier la sécurité du chiffrement de bout en bout avec %@, comparez les numéros ci-dessus avec ceux sur son appareil.\n\nVous pouvez aussi balayé le code sur son appareil ou lui demander de balayer le vôtre.";
/* Navbar title */
"PRIVACY_VERIFICATION_TITLE" = "Vérifier le numéro de sécurité";
@ -1836,10 +1854,10 @@
"SAFETY_NUMBERS_ACTIONSHEET_TITLE" = "Votre numéro de sécurité avec %@ a changé. Vous devriez peut-être le vérifier.";
/* label presented once scanning (camera) view is visible. */
"SCAN_CODE_INSTRUCTIONS" = "Lisez le code QR sur lappareil de votre contact.";
"SCAN_CODE_INSTRUCTIONS" = "Balayez le code QR sur lappareil de votre contact.";
/* Title for the 'scan QR code' view. */
"SCAN_QR_CODE_VIEW_TITLE" = "Lire le code QR";
"SCAN_QR_CODE_VIEW_TITLE" = "Balayer le code QR";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
"SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "Instantané";
@ -1956,7 +1974,7 @@
"SETTINGS_ADVANCED_SUBMIT_DEBUGLOG" = "Envoyer le journal de débogage";
/* No comment provided by engineer. */
"SETTINGS_ADVANCED_TITLE" = "Avancé";
"SETTINGS_ADVANCED_TITLE" = "Avancés";
/* Format string for the default 'Note' sound. Embeds the system {{sound name}}. */
"SETTINGS_AUDIO_DEFAULT_TONE_LABEL_FORMAT" = "%@ (default)";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Mettez iOS à niveau";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Mise à niveau de Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Retour";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Feito";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Seleccionar";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Conectando...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Atopar contactos por número de teléfono";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Actualizar iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Volver";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "סיים";
/* Label for redo button. */
"BUTTON_REDO" = "עשה מחדש";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "בחר";
/* Label for undo button. */
"BUTTON_UNDO" = "בטל עשייה";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "חייג שוב";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "מתחבר...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "מצא אנשי קשר לפי מספר טלפון";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "ייתכן שקיבלת הודעות בזמן שה־%@ שלך הופעל מחדש.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "שדרג את iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "משדרג את Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "הקודם";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Uredu";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Odaberi";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Nazovi ponovo";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Povezivanje...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Pronađi kontakt po telefonskom broju";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Ažuriraj iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Signal se nadograđuje...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Nazad";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Kész";
/* Label for redo button. */
"BUTTON_REDO" = "Újra";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Kiválasztás";
/* Label for undo button. */
"BUTTON_UNDO" = "Visszavonás";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Csatlakozás...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Kontaktok keresése telefonszám alapján";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "iOS frissítése";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Vissza";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Selesai";
/* Label for redo button. */
"BUTTON_REDO" = "mengulang";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Pilih";
/* Label for undo button. */
"BUTTON_UNDO" = "Kembali";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Telepon lagi";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Terhubung...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Temukan Kontak dengan Nomor Telepon";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Anda mungkin telah menerima pesan ketika %@ Anda sedang memulai ulang.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Perbarui iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Kembali";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Fatto";
/* Label for redo button. */
"BUTTON_REDO" = "Ripeti";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Seleziona";
/* Label for undo button. */
"BUTTON_UNDO" = "Annulla";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Richiama";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connessione...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Trova contatti tramite numero di telefono";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Puoi aver ricevuto messaggi mentre il tuo %@ si riavviava.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Aggiornare iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Aggiornamento di Signal in corso...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Indietro";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "完了";
/* Label for redo button. */
"BUTTON_REDO" = "やり直す";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "選択";
/* Label for undo button. */
"BUTTON_UNDO" = "元に戻す";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "再通話";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "接続しています...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "連絡先を電話番号で検索";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "%@の再起動中にメッセージが届いたかもしれません";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "iOSを更新する";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Signalを更新しています...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "戻る";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "បញ្ចប់";
/* Label for redo button. */
"BUTTON_REDO" = "ធ្វើឡើងវិញ";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "ជ្រើសរើស";
/* Label for undo button. */
"BUTTON_UNDO" = "មិនធ្វើវិញ";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "ហៅម្តងទៀត";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "កំពុងតភ្ជាប់...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "ស្វែងរកបញ្ជីទំនាក់ទំនងតាមលេខទូរសព្ទ";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "អ្នកប្រហែលបានទទួលសារ នៅពេល %@ របស់អ្នក កំពុងបើកឡើងវិញ។";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "ធ្វើបច្ចុប្បន្នភាព iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "ត្រលប់ក្រោយ";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "확인";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "선택";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "다시 걸기";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connecting…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Find Contacts by Phone Number";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "뒤로가기";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Atlikta";
/* Label for redo button. */
"BUTTON_REDO" = "Grąžinti";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Pasirinkti";
/* Label for undo button. */
"BUTTON_UNDO" = "Atšaukti";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Skambinti vėl";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Jungiamasi…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Rasti kontaktus pagal telefono numerį";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Gali būti, kad kol jūsų %@ buvo paleidžiamas iš naujo, jūs gavote žinutes.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Atnaujinkite iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Naujinama Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Atgal";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Done";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Select";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connecting…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Find Contacts by Phone Number";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Back";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Готово";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Select";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Connecting…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Најди Контакти преку телефонски број";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Upgrade iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Назад";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "ပြီးပြီ ";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "ရွေးမည်";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "ချိတ်ဆက်နေသည်...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "လူများကို ဖုန်းနံပါတ်အရရှာမည်";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "သင်၏ %@ ကို ပြန်လည်စတင်နေသည့်အချိန်အတွင်း စာများ လက်ခံရယူနိုင်ပါသည်။";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "iOS ကို မြှင့်ပါ";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "နောက်သို့";

View File

@ -99,10 +99,10 @@
"ATTACHMENT" = "Vedlegg";
/* One-line label indicating the user can add no more text to the attachment caption. */
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Max tekstlengde nådd.";
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Maksimal lengde er nådd.";
/* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Legg til tekst...";
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Legg til tekst";
/* Format string for file extension label in call interstitial view */
"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Filtype: %@";
@ -150,7 +150,7 @@
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Vedlegget er for stort.";
/* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Vedlegg inneholder ugyldig materiale.";
"ATTACHMENT_ERROR_INVALID_DATA" = "Vedlegg har ugyldig innhold.";
/* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Vedlegg har ugyldig filformat.";
@ -171,7 +171,7 @@
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Kunne ikke velge dokument.";
/* Alert body when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Vennligst lag en komprimert utgave av denne filen eller katalogen og forsøk å sende den istedenfor.";
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Prøv å komprimere vedlegg før du sender.";
/* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Usupportert fil";
@ -231,7 +231,7 @@
"BACKUP_RESTORE_DECISION_TITLE" = "Sikkerhetskopi tilgjengelig";
/* Label for the backup restore description. */
"BACKUP_RESTORE_DESCRIPTION" = "Tilbakefører sikkerhetskopi";
"BACKUP_RESTORE_DESCRIPTION" = "Gjenoppretter sikkerhetskopi";
/* Label for the backup restore progress. */
"BACKUP_RESTORE_PROGRESS" = "Framdrift";
@ -311,14 +311,20 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Ferdig";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Velg";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Ring på nytt";
/* Alert message when calling and permissions for microphone are missing */
"CALL_AUDIO_PERMISSION_MESSAGE" = "Du kan skru på mikrofontilgang i iOS Innstillinger appen for å kunne ringe og gjøre opptak av lydmeldinger i Signal.";
"CALL_AUDIO_PERMISSION_MESSAGE" = "Du kan slå på mikrofontilgang i iOS-innstillingene for å ringe eller lage lydmeldinger i Signal.";
/* Alert title when calling and permissions for microphone are missing */
"CALL_AUDIO_PERMISSION_TITLE" = "Krever tilgang til mikrofon";
@ -327,7 +333,7 @@
"CALL_LABEL" = "Ring";
/* Call setup status label after outgoing call times out */
"CALL_SCREEN_STATUS_NO_ANSWER" = "Ikke noe svar";
"CALL_SCREEN_STATUS_NO_ANSWER" = "Ingen svar";
/* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */
"CALL_STATUS_FORMAT" = "Signal %@";
@ -357,10 +363,10 @@
"CALL_VIEW_MUTE_LABEL" = "Demp";
/* Reminder to the user of the benefits of enabling CallKit and disabling CallKit privacy. */
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "Du kan tillate iOS telefonintegrasjon i dine Signal personvern innstillinger for å besvare innkommende samtaler fra din låseskjerm.";
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "Du kan slå på iOS-samtaleintegrasjon i Signals personverninnstillinger for å besvare innkommende samtaler fra låseskjermen.";
/* Reminder to the user of the benefits of disabling CallKit privacy. */
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "Du kan skru på iOS samtaleintegrasjon i dine Signal personvern innstillinger for å se navn og telefonnummer på de som ringer.";
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_PRIVACY" = "Du kan slå på iOS-samtaleintegrasjon i Signals personverninnstillinger for å se navn og telefonnummer for de som ringer.";
/* Label for button that dismiss the call view's settings nag. */
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Ikke nå";
@ -396,10 +402,10 @@
"CENSORSHIP_CIRCUMVENTION_COUNTRY_VIEW_TITLE" = "Velg land";
/* The label for the 'do not restore backup' button. */
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Ikke tilbakefør sikkerhetskopi";
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Ikke gjenopprett";
/* Message for alert shown when the app failed to check for an existing backup. */
"CHECK_FOR_BACKUP_FAILED_MESSAGE" = "Kunne ikke se om det er en sikkerhetskopi tilgjengelig for gjenoppretting.";
"CHECK_FOR_BACKUP_FAILED_MESSAGE" = "Kunne ikke finne ut om det er en sikkerhetskopi tilgjengelig for gjenoppretting.";
/* Title for alert shown when the app failed to check for an existing backup. */
"CHECK_FOR_BACKUP_FAILED_TITLE" = "Feil";
@ -408,16 +414,16 @@
"CHECK_FOR_BACKUP_RESTORE" = "Gjenopprett";
/* Error indicating that the app could not determine that user's iCloud account status */
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal kunne ikke avgjøre din iCloud konto status. Logg inn på din iCloud konto i iOS innstillingene for å ta sikkerhetskopi av dine Signal data.";
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal kunne ikke avgjøre din iCloud-kontostatus. Logg inn på din iCloud-konto i iOS-innstillingene for å ta sikkerhetskopi av dine Signal-data.";
/* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "Ingen iCloud konto. Logg inn på din iCloud konto i iOS innstillingene for å ta backup av dine Signal data.";
"CLOUDKIT_STATUS_NO_ACCOUNT" = "Ingen iCloud-konto. Logg inn på din iCloud-konto i iOS-innstillingene for å ta backup av dine Signal-data.";
/* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was denied access your iCloud account for backups. Grant Signal access to your iCloud Account in the iOS settings app to backup your Signal data.";
"CLOUDKIT_STATUS_RESTRICTED" = "Signal ble nektet tilgang til din iCloud-konto for sikkerhetskopiering. Gi Signal tilgang til iCloud-kontoen din i iOS-innstillingene for å ta sikkerhetskopi av dine Signal-data.";
/* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_1" = "Velg fargen for utgående meldinger i denne samtalen.";
"COLOR_PICKER_DEMO_MESSAGE_1" = "Velg farge for utgående meldinger i denne samtalen.";
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_2" = "Bare du vil se fargen du velger.";
@ -438,10 +444,10 @@
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Inviter";
/* Multi-line label explaining why compose-screen contact picker is empty. */
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users.";
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Du kan slå på kontakttilgang i iOS-innstillingene for å se hvilke av kontaktene dine som er Signal-brukere.";
/* No comment provided by engineer. */
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Dette vil resette Signal ved å slette meldingene dine og avregistrere deg fra serveren. Appen vil avslutte når dette er gjort.";
/* No comment provided by engineer. */
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Er du sikker på at du vil slette kontoen din?";
@ -636,13 +642,13 @@
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Legg til i kontakter";
/* Message shown in conversation view that offers to share your profile with a user. */
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Del din profil med denne brukeren";
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Del profilen din med denne brukeren";
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Denne brukeren er ikke i kontaktene dine.";
/* Indicates that the app is loading more messages in this conversation. */
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Laster flere meldinger...";
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Laster flere meldinger";
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Trykk for mer";
@ -721,7 +727,7 @@
"DEBUG_LOG_ALERT_TITLE" = "Et steg til";
/* Error indicating that the app could not launch the Email app. */
"DEBUG_LOG_COULD_NOT_EMAIL" = "Kunne ikke åpne epost app.";
"DEBUG_LOG_COULD_NOT_EMAIL" = "Kunne ikke åpne epost-app.";
/* Message of the alert before redirecting to GitHub Issues. */
"DEBUG_LOG_GITHUB_ISSUE_ALERT_MESSAGE" = "Gist-lenken ble kopiert til din utklippstavle. Du blir nå videresendt til listen over innmeldte feil på Github.";
@ -766,7 +772,7 @@
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Sensur-unngåelse plassering ";
/* Alert body for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "Du kan tillate tilgang i iOS Innstillinger.";
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "Du kan tillate tilgang i iOS-innstillingene.";
/* Alert title for when the user has just tried to edit a contacts after declining to give Signal contacts permissions */
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_TITLE" = "Signal trenger tilgang til kontakter for å redigere kontaktinformasjon";
@ -814,7 +820,7 @@
"EMPTY_ARCHIVE_TEXT" = "Du kan arkivere inaktive samtaler fra din innboks.";
/* Header text an existing user sees when viewing an empty archive */
"EMPTY_ARCHIVE_TITLE" = "Rydd opp samtalelisten din";
"EMPTY_ARCHIVE_TITLE" = "Rydd i samtalelisten din";
/* Full width label displayed when attempting to compose message */
"EMPTY_CONTACTS_LABEL_LINE1" = "Ingen av kontaktene dine har Signal.";
@ -829,10 +835,10 @@
"EMPTY_INBOX_NEW_USER_TITLE" = "Start din første Signal-samtale!";
/* Body text an existing user sees when viewing an empty inbox */
"EMPTY_INBOX_TEXT" = "Ingenting. Tomt. Null. Nix.";
"EMPTY_INBOX_TEXT" = "Ingenting. Tomt. Null. Niks.";
/* Header text an existing user sees when viewing an empty inbox */
"EMPTY_INBOX_TITLE" = "Inbox Zero";
"EMPTY_INBOX_TITLE" = "Tom innboks";
/* Indicates that user should confirm their 'two factor auth pin'. */
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Bekreft din PIN.";
@ -889,7 +895,7 @@
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Feil ved lagring og sending av vedlegg.";
/* Generic error used whenever Signal can't contact the server */
"ERROR_DESCRIPTION_NO_INTERNET" = "Signal kunne ikke koble til Internett. Vennligst prøv på nytt.";
"ERROR_DESCRIPTION_NO_INTERNET" = "Signal kunne ikke koble til Internett. Prøv igjen.";
/* Error indicating that an outgoing message had no valid recipients. */
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Meldingen kunne ikke sendes fordi den mangler gyldige mottakere.";
@ -904,7 +910,7 @@
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Ugyldig svar fra tjenesten.";
/* Error message when attempting to send message */
"ERROR_DESCRIPTION_SENDING_UNAUTHORIZED" = "Denne enheten er ikke lengre registrert med ditt telefonnummer. Vennligst reinstaller Signal.";
"ERROR_DESCRIPTION_SENDING_UNAUTHORIZED" = "Denne enheten er ikke lengre registrert med ditt telefonnummer. Reinstaller Signal.";
/* Generic server error */
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Serverfeil. Vennligst forsøk igjen senere.";
@ -916,10 +922,10 @@
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Kontakten er ikke bruker av Signal.";
/* Error message when unable to receive an attachment because the sending client is too old. */
"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal.";
"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Vedleggsfeil: Spør om kontakten din kan sende meldingen på nytt etter å ha oppgradert til siste versjon av Signal.";
/* No comment provided by engineer. */
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Mottok en duplikat melding";
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Mottok en duplikatmelding";
/* No comment provided by engineer. */
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Mottakers identitetsnøkkel er ikke gyldig.";
@ -955,7 +961,7 @@
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "For mange feil med denne kontakten. Forsøk igjen senere.";
/* action sheet header when re-sending message which failed because of untrusted identity keys */
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Your safety number with %@ has recently changed. You may wish to verify before sending this message again.";
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Ditt sikkerhetsnummer med %@ har endret seg. Du kan ha lyst til å verifisere før du sender meldingen igjen.";
/* alert title */
"FAILED_VERIFICATION_TITLE" = "Verifisering av sikkerhetsnummer mislyktes!";
@ -973,10 +979,10 @@
"GALLERY_TILES_EMPTY_GALLERY" = "Du har ingen mediefiler i denne samtalen.";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Laster nyere media...";
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Laster nyere media";
/* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Laster eldre media...";
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Laster eldre media";
/* A label for generic attachments. */
"GENERIC_ATTACHMENT_LABEL" = "Vedlegg";
@ -1030,7 +1036,7 @@
"GROUP_MEMBERS_CALL" = "Ring";
/* Label for the button that clears all verification errors in the 'group members' view. */
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Fjern verifisering for all";
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Fjern verifisering for alle";
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Dette vil slette verifisering for alle gruppemedlemmer med sikkerhetsnumre som har blitt endret siden siste verifisering.";
@ -1074,11 +1080,20 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Kobler til…";
/* Call setup status label */
"IN_CALL_RECONNECTING" = "Kobler til på nytt...";
"IN_CALL_RECONNECTING" = "Kobler til på nytt";
/* Call setup status label */
"IN_CALL_RINGING" = "Ringer...";
@ -1090,10 +1105,10 @@
"IN_CALL_TERMINATED" = "Samtalen er over.";
/* Label reminding the user that they are in archive mode. */
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "These conversations are archived and will only appear in the Inbox if new messages are received.";
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "Disse samtalene er arkiverte og vil dukke opp igjen i innboksen om de får nye meldinger.";
/* Multi-line label explaining how to show names instead of phone numbers in your inbox */
"INBOX_VIEW_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see contact names in your Signal conversation list.";
"INBOX_VIEW_MISSING_CONTACTS_PERMISSION" = "Du kan slå på tilgang til kontakter i iOS-innstillingene for å få opp navn i samtalelisten i Signal.";
/* notification body */
"INCOMING_CALL" = "Innkommende anrop";
@ -1114,7 +1129,7 @@
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Ugyldig lydfil.";
/* Alert body when contacts disabled while trying to invite contacts to signal */
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_BODY" = "You can enable contacts access in the iOS Settings app to invite your friends to join Signal.";
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_BODY" = "Du kan slå på tilgang til kontakter i iOS-innstillingene for å invitere venner til å bruke Signal.";
/* Alert title when contacts disabled while trying to invite contacts to signal */
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Tillat kontakttilgang";
@ -1129,7 +1144,7 @@
"INVITE_FRIENDS_PICKER_TITLE" = "Inviter venner";
/* Alert warning that sending an invite to multiple users will create a group message whose recipients will be able to see each other. */
"INVITE_WARNING_MULTIPLE_INVITES_BY_TEXT" = "Inviting multiple users at the same time will start a group message and the recipients will be able to see each other.";
"INVITE_WARNING_MULTIPLE_INVITES_BY_TEXT" = "Ved å invitere flere brukere på én gang, vil det blir laget en gruppemelding der alle mottakerne kan se hverandre.";
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
"KEEP_MESSAGES_DURATION" = "Meldinger forsvinner etter %@.";
@ -1144,13 +1159,13 @@
"LEAVE_GROUP_ACTION" = "Forlat gruppe";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_BODY" = "This QR code is not valid. Please make sure you are scanning the QR code that is displayed on the device you want to link.";
"LINK_DEVICE_INVALID_CODE_BODY" = "Denne QR-koden er ikke gyldig. Du må skanne QR-koden som vises på enheten du vil godkjenne.";
/* report an invalid linking code */
"LINK_DEVICE_INVALID_CODE_TITLE" = "Kobling av enhet feilet";
/* confirm the users intent to link a new device */
"LINK_DEVICE_PERMISSION_ALERT_BODY" = "This device will be able to see your groups and contacts, access your conversations, and send messages in your name.";
"LINK_DEVICE_PERMISSION_ALERT_BODY" = "Denne enheten vil kunne se dine grupper, kontakter og samtaler, og sende meldinger som deg.";
/* confirm the users intent to link a new device */
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Godkjenn denne enheten?";
@ -1159,7 +1174,7 @@
"LINK_DEVICE_RESTART" = "Prøv på nytt";
/* QR Scanning screen instructions, placed alongside a camera view for scanning QR Codes */
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Scan the QR code that is displayed on the device you want to link.";
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Skann QR-koden som vises på enheten du vil godkjenne.";
/* Subheading for 'Link New Device' navigation */
"LINK_NEW_DEVICE_SUBTITLE" = "Skann QR-kode";
@ -1201,7 +1216,7 @@
"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Slett melding";
/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ on %@";
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@, %@";
/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */
"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@";
@ -1306,7 +1321,7 @@
"MESSAGE_STATUS_SEND_FAILED" = "Sending feilet";
/* message status while message is sending. */
"MESSAGE_STATUS_SENDING" = "Sender...";
"MESSAGE_STATUS_SENDING" = "Sender";
/* status message for sent messages */
"MESSAGE_STATUS_SENT" = "Sendt";
@ -1364,17 +1379,17 @@
/* Alert body
Alert body when camera is not authorized */
"MISSING_CAMERA_PERMISSION_MESSAGE" = "Du kan tillate tilgang til kamera i iOS innstillingene for å gjøre videosamtaler i Signal.";
"MISSING_CAMERA_PERMISSION_MESSAGE" = "Du kan slå på kameratilgang i iOS-innstillingene for å gjøre videosamtaler i Signal.";
/* Alert title
Alert title when camera is not authorized */
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal trenger tilgang til ditt kamera.";
/* Alert body when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Du kan tillate denne tilgangen i iOS innstillingene.";
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Du kan endre denne tilgangen i iOS-innstillingene.";
/* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Signal krever tilgang til dine foto for denne funksjonen.";
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Signal trenger tilgang til bildene dine for denne funksjonen.";
/* notification title. Embeds {{caller's name or phone number}} */
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Tapt anrop fra %@.";
@ -1383,7 +1398,7 @@
"MULTIDEVICE_PAIRING_MAX_DESC" = "Du kan ikke koble til flere enheter.";
/* alert body: cannot link - reached max linked devices */
"MULTIDEVICE_PAIRING_MAX_RECOVERY" = "Du har nådd det maksimale antall enheter du kan koble til din konto. Vennligst fjern en enhet og forsøk på nytt.";
"MULTIDEVICE_PAIRING_MAX_RECOVERY" = "Du har nådd det maksimale antallet enheter du kan koble til din konto. Fjern en enhet og prøv igjen.";
/* An explanation of the consequences of muting a thread. */
"MUTE_BEHAVIOR_EXPLANATION" = "Du vil ikke motta varsler for samtaler som er satt i stillemodus";
@ -1392,7 +1407,7 @@
"NAVIGATION_ITEM_SKIP_BUTTON" = "Hopp over";
/* No comment provided by engineer. */
"NETWORK_ERROR_RECOVERY" = "Vennligst sjekk om du er på nett og forsøk igjen.";
"NETWORK_ERROR_RECOVERY" = "Sjekk om du er på nett og prøv igjen.";
/* Indicates to the user that censorship circumvention has been activated. */
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Sensur-unngåelse: På";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Finn kontakter ved å søke på telefonnummer";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Det kan hende du mottok meldinger mens din %@ restartet.";
@ -1590,7 +1608,7 @@
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Din samtalepartner bruker en gammel versjon av Signal. Vedkommende må oppdatere før du kan verifisere.";
/* alert body */
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "Den scannede koden ser ikke ut som et sikkerhetsnummer. Bruker du en oppdatert utgave av Signal?";
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "Den skannede koden ser ikke ut som et sikkerhetsnummer. Bruker du en oppdatert utgave av Signal?";
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Dersom du ønsker å verifisere sikkerheten i din krypterte kommunikasjon med %@, sammenlign tallene over med tallene på deres enhet.\n\nAlternativt kan du skanne koden på vedkommendes telefon, eller be vedkommende om å skanne din kode.";
@ -1716,7 +1734,7 @@
"REGISTER_RATE_LIMITING_BODY" = "Du har forsøkt for mange ganger. Vent et minutt før du forsøker igjen.";
/* No comment provided by engineer. */
"REGISTER_RATE_LIMITING_ERROR" = "Du har forsøkt for mange ganger. Vent et minutt før du forsøker igjen.";
"REGISTER_RATE_LIMITING_ERROR" = "Du har prøvd for mange ganger. Vent et minutt før du prøver igjen.";
/* Title of alert shown when push tokens sync job fails. */
"REGISTRATION_BODY" = "Klarte ikke å omregistrere for push-varslinger.";
@ -1905,7 +1923,7 @@
"SEND_INVITE_FAILURE" = "Sending av invitasjon mislyktes, vennligst prøv igjen senere.";
/* Alert body after invite succeeded */
"SEND_INVITE_SUCCESS" = "Du inviterte din venn til å bruke Signal!";
"SEND_INVITE_SUCCESS" = "Du inviterte din venn til å bruke Signal";
/* Text for button to send a Signal invite via SMS. %@ is placeholder for the recipient's phone number. */
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "Inviter via SMS: %@";
@ -1974,19 +1992,19 @@
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Sikkerhetskopiering påslått";
/* Label for iCloud status row in the in the backup settings view. */
"SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud Status";
"SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud-status";
/* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Sikkerhetskopiering tilbakeføring feilet";
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Gjenoppretting av sikkerhetskopi feilet";
/* Indicates that app is not restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Backup Restore Idle";
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Gjenoppretting av sikkerhetskopi på vent";
/* Indicates that app is restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Backup Restore In Progress";
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Gjenoppretter sikkerhetskopi";
/* Indicates that the last backup restore succeeded. */
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Backup Restore Succeeded";
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Gjenoppretting av sikkerhetskopi er fullført";
/* Label for phase row in the in the backup settings view. */
"SETTINGS_BACKUP_PHASE" = "Fase";
@ -2025,13 +2043,13 @@
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Alltid omdiriger samtaler";
/* User settings section footer, a detailed explanation */
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "Relay all calls through a Signal server to avoid revealing your IP address to your contact. Enabling will reduce call quality.";
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "La oppringingene dine gå gjennom en Signal-server for å unngå å avdekke IP-adressen din til den du ringer til. Om du slår på dette, blir samtalekvaliteten dårligere.";
/* No comment provided by engineer. */
"SETTINGS_CLEAR_HISTORY" = "Slett samtalehistorikk";
/* No comment provided by engineer. */
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger";
"SETTINGS_COPYRIGHT" = "Opphavsrett: Signal Messenger \n Lisensiert med GPLv3";
/* No comment provided by engineer. */
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Slett konto";
@ -2040,7 +2058,7 @@
"SETTINGS_DELETE_DATA_BUTTON" = "Slett alle data";
/* Alert message before user confirms clearing history */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Are you sure you want to delete all history (messages, attachments, calls, etc.)? This action cannot be reverted.";
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Er du sikker på at du vil slette all historikk (meldinger, vedlegg, oppringinger, osv.)? Dette kan ikke reverseres.";
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Slett alt";
@ -2154,7 +2172,7 @@
"SETTINGS_TYPING_INDICATORS" = "Tasteindikatorer";
/* An explanation of the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS_FOOTER" = "See and share when messages are being typed. This setting is optional and applies to all conversations.";
"SETTINGS_TYPING_INDICATORS_FOOTER" = "Se og del at meldinger holder på å bli skrevet. Dette er valgfritt og gjelder for alle samtaler.";
/* Label for a link to more info about unidentified delivery. */
"SETTINGS_UNIDENTIFIED_DELIVERY_LEARN_MORE" = "Lær mer";
@ -2163,16 +2181,16 @@
"SETTINGS_UNIDENTIFIED_DELIVERY_SECTION_TITLE" = "Forseglet sender";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Display indikatorer";
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Visningsindikatorer";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Show a status icon when you select \"More Info\" on messages that were delivered using sealed sender.";
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Vis et statusikon når du velger «Mer info» på meldinger som ble levert med tildekket avsender.";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Tillatt fra alle";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Enable sealed sender for incoming messages from non-contacts and people with whom you have not shared your profile.";
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Slå på tildekket avsender for innkommende meldinger fra ikke-kontakter og folk som du ikke har delt profilen din med.";
/* No comment provided by engineer. */
"SETTINGS_VERSION" = "Versjon";
@ -2190,7 +2208,7 @@
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Sikkerhetsnummeret ditt med %@ har nylig endret seg. Vurder om du ønsker å verifisere det på nytt i hovedappen før du sender på nytt.";
/* Indicates that the share extension is still loading. */
"SHARE_EXTENSION_LOADING" = "Laster...";
"SHARE_EXTENSION_LOADING" = "Laster";
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Åpne Signal-appen for å registrere.";
@ -2304,7 +2322,7 @@
"UNLINK_ACTION" = "Trekk tilbake godkjenning";
/* Alert message to confirm unlinking a device */
"UNLINK_CONFIRMATION_ALERT_BODY" = "This device will no longer be able to send or receive messages if it is unlinked.";
"UNLINK_CONFIRMATION_ALERT_BODY" = "Denne enheten kan ikke lengre sende eller motta meldinger hvis den er koblet fra.";
/* Alert title for confirming device deletion */
"UNLINK_CONFIRMATION_ALERT_TITLE" = "Trekk tilbake godkjenning for \"%@\"?";
@ -2340,7 +2358,7 @@
"UPGRADE_EXPERIENCE_CALLKIT_TITLE" = "Skyv for å besvare";
/* button label shown one time, after upgrade */
"UPGRADE_EXPERIENCE_ENABLE_TYPING_INDICATOR_BUTTON" = "Skru på tasteindikatorer";
"UPGRADE_EXPERIENCE_ENABLE_TYPING_INDICATOR_BUTTON" = "S på tasteindikatorer";
/* Description for notification audio customization */
"UPGRADE_EXPERIENCE_INTRODUCING_NOTIFICATION_AUDIO_DESCRIPTION" = "Du kan nå velge standard varslingslyd og per samtale. Ringetoner vil følge det du har valgt for kontakten på systemet ellers.";
@ -2370,7 +2388,7 @@
"UPGRADE_EXPERIENCE_INTRODUCING_READ_RECEIPTS_TITLE" = "Vi introduserer lesebekreftelser";
/* Body text for upgrading users */
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_DESCRIPTION" = "Nå kan du velge å se og dele når meldinger blir skrevet.";
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_DESCRIPTION" = "Du kan nå velge om du vil se og dele at meldinger blir skrevet.";
/* Header for upgrading users */
"UPGRADE_EXPERIENCE_INTRODUCING_TYPING_INDICATORS_TITLE" = "Introduksjon av tasteinidikatorer";
@ -2382,14 +2400,11 @@
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Velkommen til sikre videosamtaler!";
/* Message for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_MESSAGE" = "Signal trenger iOS 9 eller nyere. Vennlist bruker Oppdateringsfunksjonen i iOS.";
"UPGRADE_IOS_ALERT_MESSAGE" = "Signal trenger iOS 9 eller nyere. Bruk oppdateringsfunksjonen i iOS.";
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Oppgrader iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Oppgraderer Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Tilbake";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Klaar";
/* Label for redo button. */
"BUTTON_REDO" = "Opnieuw doen";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Selecteren";
/* Label for undo button. */
"BUTTON_UNDO" = "Ongedaan maken";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Opnieuw bellen";
@ -745,19 +751,19 @@
"DEVICE_LIST_UPDATE_FAILED_TITLE" = "Het bijwerken van de lijst met apparaten is mislukt.";
/* table cell label in conversation settings */
"DISAPPEARING_MESSAGES" = "Verdwijnende berichten";
"DISAPPEARING_MESSAGES" = "Zelf-wissende berichten";
/* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */
"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Berichten in dit gesprek zullen na %@ verdwijnen.";
/* subheading in conversation settings */
"DISAPPEARING_MESSAGES_DESCRIPTION" = "Indien ingeschakeld zullen verzonden en ontvangen berichten in dit gesprek verdwijnen nadat ze zijn gelezen.";
"DISAPPEARING_MESSAGES_DESCRIPTION" = "Indien ingeschakeld zullen nieuwe verzonden en ontvangen berichten in dit gesprek zich zelf wissen nadat ze zijn gelezen.";
/* Accessibility hint that contains current timeout information */
"DISAPPEARING_MESSAGES_HINT" = "Momenteel verdwijnen berichten na %@";
/* Accessibility label for disappearing messages */
"DISAPPEARING_MESSAGES_LABEL" = "Instellingen voor verdwijnende berichten";
"DISAPPEARING_MESSAGES_LABEL" = "Instellingen voor zelf-wissende berichten";
/* Short text to dismiss current modal / actionsheet / screen */
"DISMISS_BUTTON_TEXT" = "Sluiten";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Verbinden…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Zoek contacten op telefoonnummer";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "U heeft misschien berichten ontvangen terwijl uw %@ aan het herstarten was.";
@ -1488,10 +1506,10 @@
"OPEN_SETTINGS_BUTTON" = "Instellingen";
/* Info Message when {{other user}} disables or doesn't support disappearing messages */
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ heeft verdwijnende berichten uitgeschakeld.";
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ heeft zelf-wissende berichten uitgeschakeld.";
/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ heeft de berichtverdwijntijd ingesteld op %@.";
"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ heeft de timer voor zelf-wissende berichten ingesteld op %@.";
/* Label warning the user that the Signal service may be down. */
"OUTAGE_WARNING" = "Signal ondervindt momenteel technische problemen. We zijn hard aan het werk de service zo snel mogelijk te herstellen.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Werk iOS bij";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Signal wordt bijgewerkt...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Terug";
@ -2445,7 +2460,7 @@
"WAITING_TO_COMPLETE_DEVICE_LINK_TEXT" = "Vervolledig de installatie op Signal Desktop.";
/* Info Message when you disable disappearing messages */
"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Je hebt verdwijnende berichten uitgeschakeld.";
"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Je hebt zelf-wissende berichten uitgeschakeld.";
/* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Je hebt de berichtverdwijntijd ingesteld op %@.";
"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Je hebt de timer voor zelf-wissende berichten ingesteld op %@.";

View File

@ -81,7 +81,7 @@
"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Nie teraz";
/* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Wersja %@ jest już dostępna.";
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Wersja %@ jest już dostępna w App Store.";
/* Title for the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_TITLE" = "Dostępna jest nowa wersja aplikacji Signal";
@ -135,19 +135,19 @@
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Nie można przekonwertować obrazu.";
/* Attachment error message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Nie udało się przetworzyć video";
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Nie można przetworzyć wideo.";
/* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Nie można przetworzyć załączonej grafiki.";
/* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Nie udało się usunąć metadanych z grafiki";
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Nie można usunąć metadanych z obrazu.";
/* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Nie można zmienić rozmiaru obrazu.";
/* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Załącznik zbyt duży.";
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Załącznik jest za duży.";
/* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Załącznik zawiera nieprawidłową zawartość.";
@ -183,7 +183,7 @@
"AUDIO_ROUTE_BUILT_IN_SPEAKER" = "Głośnik";
/* button text for back button */
"BACK_BUTTON" = "Cofnij";
"BACK_BUTTON" = "Wróć";
/* Error indicating the backup export could not export the user's data. */
"BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Nie udało się eksportować kopii zapasowej.";
@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Gotowe";
/* Label for redo button. */
"BUTTON_REDO" = "Przywróć";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Zaznacz";
/* Label for undo button. */
"BUTTON_UNDO" = "Cofnij";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Zadzwoń ponownie";
@ -555,7 +561,7 @@
"CONTACT_WITHOUT_NAME" = "Kontakt bez nazwy";
/* Message for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Tego nie da się cofnąć.";
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Tego nie można cofnąć.";
/* Title for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Usunąć konwersację?";
@ -636,7 +642,7 @@
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Dodaj do kontaktów";
/* Message shown in conversation view that offers to share your profile with a user. */
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile with This User";
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Udostępnij swój profil temu użytkownikowi";
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Ten użytkownik nie jest zapisany w Twoich kontaktach.";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Łączenie...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Odszukaj kontakty po numerze telefonu";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Możliwe, że otrzymałeś wiadomości podczas restartowania %@.";
@ -1506,7 +1524,7 @@
"OUTGOING_MISSED_CALL" = "Nieodebrane połączenie wychodzące";
/* A display format for oversize text messages. */
"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@ ...";
"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@...";
/* A format for a label showing an example phone number. Embeds {{the example phone number}}. */
"PHONE_NUMBER_EXAMPLE_FORMAT" = "Przykład: %@";
@ -1557,16 +1575,16 @@
"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "%@ nie jest oznaczony(a) jako zweryfikowany.";
/* Badge indicating that the user is verified. */
"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Zweryfikowany";
"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Zweryfikowano";
/* Label indicating that the user is verified. Embeds {{the user's name or phone number}}. */
"PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "%@ jest zweryfikowany.";
"PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "%@ jest zweryfikowany(a).";
/* Label for a link to more information about safety numbers and verification. */
"PRIVACY_SAFETY_NUMBERS_LEARN_MORE" = "Dowiedz się więcej";
/* Button that shows the 'scan with camera' view. */
"PRIVACY_TAP_TO_SCAN" = "Dotknij by zeskanować";
"PRIVACY_TAP_TO_SCAN" = "Dotknij, aby zeskanować";
/* Button that lets user mark another user's identity as unverified. */
"PRIVACY_UNVERIFY_BUTTON" = "Wycofaj weryfikację";
@ -1623,7 +1641,7 @@
"PROFILE_VIEW_ERROR_UPDATE_FAILED" = "Aktualizacja profilu nie powiodła się.";
/* Default text for the profile name field of the profile view. */
"PROFILE_VIEW_NAME_DEFAULT_TEXT" = "Podaj swoją nazwę";
"PROFILE_VIEW_NAME_DEFAULT_TEXT" = "Podaj swoje imię";
/* Label for the profile avatar field of the profile view. */
"PROFILE_VIEW_PROFILE_AVATAR_FIELD" = "Awatar";
@ -1668,7 +1686,7 @@
"QUOTED_REPLY_AUTHOR_INDICATOR_YOURSELF" = "Cytuje siebie";
/* Footer label that appears below quoted messages when the quoted content was not derived locally. When the local user doesn't have a copy of the message being quoted, e.g. if it had since been deleted, we instead show the content specified by the sender. */
"QUOTED_REPLY_CONTENT_FROM_REMOTE_SOURCE" = "Oryginalna wiadomość nie odnaleziona.";
"QUOTED_REPLY_CONTENT_FROM_REMOTE_SOURCE" = "Nie znaleziono oryginalnej wiadomości.";
/* Toast alert text shown when tapping on a quoted message which we cannot scroll to because the local copy of the message was since deleted. */
"QUOTED_REPLY_ORIGINAL_MESSAGE_DELETED" = "Oryginalna wiadomość nie jest już dostępna.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Uaktualnij iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Aktualizuję Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Wróć";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Pronto";
/* Label for redo button. */
"BUTTON_REDO" = "Refazer";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Selecionar";
/* Label for undo button. */
"BUTTON_UNDO" = "Desfazer";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Ligar novamente";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "conectando...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Encontrar Contatos pelo Número do Telefone";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Pode ser que você tenha recebido mensagens enquanto seu %@ reiniciava.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Atualize o iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Atualizando Signal para versão mais recente...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Voltar";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Concluído";
/* Label for redo button. */
"BUTTON_REDO" = "Refazer";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Seleccionar";
/* Label for undo button. */
"BUTTON_UNDO" = "Desfazer";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Chamar novamente";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "A ligar...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Procurar contactos por número de telefone";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Poderá receber mensagens enquanto %@ estiver a reiniciar.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Actualizar iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "A actualizar o Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Atrás";

View File

@ -2,7 +2,7 @@
"AB_PERMISSION_MISSING_ACTION_NOT_NOW" = "Nu acum";
/* Action sheet item */
"ACCEPT_NEW_IDENTITY_ACTION" = "Acceptă noul număr de siguranță";
"ACCEPT_NEW_IDENTITY_ACTION" = "Acceptați noul număr de siguranță";
/* Label for 'audio call' button in contact view. */
"ACTION_AUDIO_CALL" = "Apel Signal";
@ -75,7 +75,7 @@
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Eroare";
/* Text prompting user to edit their profile name. */
"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Introdu numele tău";
"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Introduceți numele dvs.";
/* Label for the 'dismiss' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Nu acum";
@ -138,13 +138,13 @@
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Nu s-a putut procesa video-ul.";
/* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Imagine nu a putut fi procesată.";
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Imaginea nu a putut fi procesată.";
/* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Nu s-au putut elimina metadatele din imagine.";
/* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Imagine nu a putut fi redimensionată.";
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Imaginea nu a putut fi redimensionată.";
/* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Atașamentul este prea mare.";
@ -171,7 +171,7 @@
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Eroare la selectarea documentului.";
/* Alert body when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Te rugăm să creezi o arhivă comprimată cu acest fișier sau director și să încerci să o trimiți pe aceasta.";
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Vă rugăm să creați o arhivă comprimată cu acest fișier sau director și să încerci să o trimiteți pe aceasta.";
/* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Fișier nesuportat";
@ -192,34 +192,34 @@
"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Răspuns pentru serviciu invalid";
/* Indicates that the cloud is being cleaned up. */
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Se curăță copia de rezervă";
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Se curăță backup-ul";
/* Indicates that the backup export is being configured. */
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Se inițializează copia de rezervă";
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Se inițializează backup-ul";
/* Indicates that the database data is being exported. */
"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Se exportă datele";
/* Indicates that the backup export data is being exported. */
"BACKUP_EXPORT_PHASE_EXPORT" = "Se exportă copia de rezervă";
"BACKUP_EXPORT_PHASE_EXPORT" = "Se exportă backup-ul";
/* Indicates that the backup export data is being uploaded. */
"BACKUP_EXPORT_PHASE_UPLOAD" = "Se încarcă copia de rezervă";
"BACKUP_EXPORT_PHASE_UPLOAD" = "Se încarcă backup-ul";
/* Error indicating the backup import could not import the user's data. */
"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Copia de rezervă nu a putut fi importată.";
"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Backup-ul nu a putut fi importat.";
/* Indicates that the backup import is being configured. */
"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Se configurează copia de rezervă";
"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Se configurează backup-ul";
/* Indicates that the backup import data is being downloaded. */
"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Se descarcă datele din copia de rezervă";
"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Se descarcă datele din backup";
/* Indicates that the backup import data is being finalized. */
"BACKUP_IMPORT_PHASE_FINALIZING" = "Se finalizează copia de rezervă";
"BACKUP_IMPORT_PHASE_FINALIZING" = "Se finalizează backup-ul";
/* Indicates that the backup import data is being imported. */
"BACKUP_IMPORT_PHASE_IMPORT" = "Se importă copia de rezervă.";
"BACKUP_IMPORT_PHASE_IMPORT" = "Se importă backup-ul.";
/* Indicates that the backup database is being restored. */
"BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Se restaurează baza de date";
@ -243,13 +243,13 @@
"BACKUP_UNEXPECTED_ERROR" = "Eroare neașteptată la backup";
/* An explanation of the consequences of blocking a group. */
"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "Nu vei mai putea primi mesaje sau actualizări de la acest grup.";
"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "Nu veți mai putea primi mesaje sau actualizări de la acest grup.";
/* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "Blochează";
/* A format for the 'block group' action sheet title. Embeds the {{group name}}. */
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Blochezi și părăsești grupul \"%@\" ?";
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Blocați și părăsiți grupul \"%@\" ?";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Blochez pe %@?";
@ -264,7 +264,7 @@
"BLOCK_LIST_UNBLOCK_BUTTON" = "Deblochează";
/* Action sheet body when confirming you want to unblock a group */
"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Membrii existenți vor putea să te adauge la grup din nou.";
"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Membrii existenți vor putea să adauge la grup din nou.";
/* Action sheet title when confirming you want to unblock a group. */
"BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Deblochez acest grup?";
@ -294,7 +294,7 @@
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ a fost deblocat.";
/* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Membrii existenți pot acum să te adauge la grup din nou.";
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Membrii existenți pot acum să adauge la grup din nou.";
/* Action sheet that will block an unknown user. */
"BLOCK_OFFER_ACTIONSHEET_BLOCK_ACTION" = "Blochează";
@ -303,17 +303,23 @@
"BLOCK_OFFER_ACTIONSHEET_TITLE_FORMAT" = "Blochez pe %@?";
/* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Utilizatorii blocați nu vor putea să te sune sau să-ți trimită mesaje.";
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Utilizatorii blocați nu vor putea să vă sune sau să vă trimită mesaje.";
/* Label for 'continue' button. */
"BUTTON_CONTINUE" = "Continuă";
"BUTTON_CONTINUE" = "Continuați";
/* Label for generic done button. */
"BUTTON_DONE" = "Gata";
/* Label for redo button. */
"BUTTON_REDO" = "Refă";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Selectează";
/* Label for undo button. */
"BUTTON_UNDO" = "Anulează";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Sună încă o dată";
@ -336,22 +342,22 @@
"CALL_USER_ALERT_CALL_BUTTON" = "Apelează";
/* Message format for alert offering to call a user. Embeds {{the user's display name or phone number}}. */
"CALL_USER_ALERT_MESSAGE_FORMAT" = "Vrei să suni pe %@?";
"CALL_USER_ALERT_MESSAGE_FORMAT" = "Doriți să sunați pe %@?";
/* Title for alert offering to call a user. */
"CALL_USER_ALERT_TITLE" = "Apelez?";
/* Accessibility label for accepting incoming calls */
"CALL_VIEW_ACCEPT_INCOMING_CALL_LABEL" = "Acceptă apelul de intrare";
"CALL_VIEW_ACCEPT_INCOMING_CALL_LABEL" = "Acceptați apelul de intrare";
/* Accessibility label for selection the audio source */
"CALL_VIEW_AUDIO_SOURCE_LABEL" = "Audio";
/* Accessibility label for declining incoming calls */
"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "Refuză apelul de intrare";
"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "Respingeți apelul de intrare";
/* Accessibility label for hang up call */
"CALL_VIEW_HANGUP_LABEL" = "Închidere apel";
"CALL_VIEW_HANGUP_LABEL" = "Închideți apelul";
/* Accessibility label for muting the microphone */
"CALL_VIEW_MUTE_LABEL" = "Mut";
@ -378,7 +384,7 @@
"CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "Treceți la apel video";
/* Label for the 'return to call' banner. */
"CALL_WINDOW_RETURN_TO_CALL" = "Apasă pentru a te putea întoarce la apel";
"CALL_WINDOW_RETURN_TO_CALL" = "Apăsați pentru a vă putea întoarce la apel";
/* notification action */
"CALLBACK_BUTTON_TITLE" = "Apelează înapoi";
@ -393,7 +399,7 @@
"CANT_VERIFY_IDENTITY_ALERT_TITLE" = "Eroare";
/* Title for the 'censorship circumvention country' view. */
"CENSORSHIP_CIRCUMVENTION_COUNTRY_VIEW_TITLE" = "Selectează țara";
"CENSORSHIP_CIRCUMVENTION_COUNTRY_VIEW_TITLE" = "Selectați țara";
/* The label for the 'do not restore backup' button. */
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Nu restaura";
@ -408,7 +414,7 @@
"CHECK_FOR_BACKUP_RESTORE" = "Restaurează";
/* Error indicating that the app could not determine that user's iCloud account status */
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal nu a putut determina starea contului tău iCloud. Conectează-te la contul tău iCloud în aplicația iOS Setări pentru a putea face backup la datele Signal.";
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal nu a putut determina starea contului dvs. iCloud. Conectați-vă la contul dvs. iCloud în aplicația iOS Setări pentru a putea face backup la datele Signal.";
/* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "Nu există un cont iCloud. Conectează-te la contul tău iCloud în aplicația iOS Setări pentru a putea face backup la datele tale Signal.";
@ -444,25 +450,25 @@
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Această acțiune va reseta aplicația prin șteregerea mesajelor tale și prin anularea înregistrării la server. Această aplicație se va închide după ce procesul s-a încheiat.";
/* No comment provided by engineer. */
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Ești sigur că vrei sa ștergi contul?";
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Sunteți sigur că vreți să ștergeți contul dvs.?";
/* Alert body */
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Nu vei mai putea trimite sau primi mesaje in acest grup.";
/* Alert title */
"CONFIRM_LEAVE_GROUP_TITLE" = "Ești sigur că vrei să părăsești grupul?";
"CONFIRM_LEAVE_GROUP_TITLE" = "Sunteți sigur că doriți să părăsiți grupul?";
/* Button text */
"CONFIRM_LINK_NEW_DEVICE_ACTION" = "Asocia un dispozitiv nou";
"CONFIRM_LINK_NEW_DEVICE_ACTION" = "Asociați un dispozitiv nou";
/* Action sheet body presented when a user's SN has recently changed. Embeds {{contact's name or phone number}} */
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_BODY_FORMAT" = "%@ și-a reinstalat aplicația sau a schimbat dispozitivul. Verifică numărul tău de siguranță cu el/ea pentru a asigura confidențialitatea.";
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_BODY_FORMAT" = "%@ și-a reinstalat aplicația sau a schimbat dispozitivul. Verificați numărul dvs. de siguranță cu el/ea pentru a asigura confidențialitatea.";
/* Action sheet title presented when a user's SN has recently changed. Embeds {{contact's name or phone number}} */
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_TITLE_FORMAT" = "Numărul de siguranță pentru %@ s-a schimbat";
/* Generic button text to proceed with an action */
"CONFIRMATION_TITLE" = "Confirmă";
"CONFIRMATION_TITLE" = "Confirmați";
/* Label for a contact's postal address. */
"CONTACT_ADDRESS" = "Adresă";
@ -474,7 +480,7 @@
"CONTACT_CELL_IS_NO_LONGER_VERIFIED" = "Neverificat";
/* No comment provided by engineer. */
"CONTACT_DETAIL_COMM_TYPE_INSECURE" = "Număr Necunoscut";
"CONTACT_DETAIL_COMM_TYPE_INSECURE" = "Număr neînregistrat";
/* Label for the 'edit name' button in the contact share approval view. */
"CONTACT_EDIT_NAME_BUTTON" = "Editează";
@ -531,10 +537,10 @@
"CONTACT_PICKER_NO_PHONE_NUMBERS_AVAILABLE" = "Nici un număr de telefon disponibil.";
/* navbar title for contact picker when sharing a contact */
"CONTACT_PICKER_TITLE" = "Selectează contactul";
"CONTACT_PICKER_TITLE" = "Selectați contactul";
/* Title for the 'Approve contact share' view. */
"CONTACT_SHARE_APPROVAL_VIEW_TITLE" = "Partajează contactul";
"CONTACT_SHARE_APPROVAL_VIEW_TITLE" = "Partajați contactul";
/* Title for the 'edit contact share name' view. */
"CONTACT_SHARE_EDIT_NAME_VIEW_TITLE" = "Editează numele";
@ -546,10 +552,10 @@
"CONTACT_SHARE_NO_FIELDS_SELECTED" = "Nici un câmp al contactului nu a fost selectat.";
/* Label for 'open address in maps app' button in contact view. */
"CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Deschide în Hărți";
"CONTACT_VIEW_OPEN_ADDRESS_IN_MAPS_APP" = "Deschideți în Hărți";
/* Label for 'open email in email app' button in contact view. */
"CONTACT_VIEW_OPEN_EMAIL_IN_EMAIL_APP" = "Trimite email";
"CONTACT_VIEW_OPEN_EMAIL_IN_EMAIL_APP" = "Trimiteți email";
/* Indicates that a contact has no name. */
"CONTACT_WITHOUT_NAME" = "Contact fără nume";
@ -567,10 +573,10 @@
"CONVERSATION_SETTINGS_ADD_TO_EXISTING_CONTACT" = "Adaugă la contactul existent";
/* table cell label in conversation settings */
"CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Blochează acest grup";
"CONVERSATION_SETTINGS_BLOCK_THIS_GROUP" = "Blocați acest grup";
/* table cell label in conversation settings */
"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Blochează acest utilizator";
"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Blocați acest utilizator";
/* Navbar title when viewing settings for a 1-on-1 thread */
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informații contact";
@ -618,13 +624,13 @@
"CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Activează notificările";
/* Indicates that user's profile has been shared with a group. */
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_GROUP" = "Acest grup poate vedea profilul tău.";
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_GROUP" = "Acest grup poate vedea profilul dvs.";
/* Indicates that user's profile has been shared with a user. */
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_USER" = "Acest utilizator poate vedea profilul tău.";
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_USER" = "Acest utilizator poate vedea profilul dvs.";
/* Button to confirm that user wants to share their profile with a user or group. */
"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE" = "Partajează profilul";
"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE" = "Partajați profilul";
/* Action that shares user profile with a group. */
"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE_WITH_GROUP" = "Partajează-ți profilul";
@ -636,10 +642,10 @@
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Adaugă la contacte";
/* Message shown in conversation view that offers to share your profile with a user. */
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Partajează profilul tău cu acest utilizator";
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Partajați profilul dvs. cu acest utilizator";
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Acest utilizator nu se află în lista ta de contacte.";
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Acest utilizator nu se află în lista dvs. de contacte.";
/* Indicates that the app is loading more messages in this conversation. */
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Se încarcă mai multe mesaje...";
@ -648,7 +654,7 @@
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Apasă pentru detalii";
/* Message shown in conversation view that offers to block an unknown user. */
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Blochează acest utilizator";
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Blocați acest utilizator";
/* ActionSheet title */
"CORRUPTED_SESSION_DESCRIPTION" = "Resetarea sesiunii tale v-a permite să primești în viitor mesaje de la %@, însă nu v-a putea recupera mesajele deja corupte.";
@ -684,16 +690,16 @@
"DATE_YESTERDAY" = "Ieri";
/* Error indicating that the debug logs could not be copied. */
"DEBUG_LOG_ALERT_COULD_NOT_COPY_LOGS" = "Nu s-au putut copia jurnelele.";
"DEBUG_LOG_ALERT_COULD_NOT_COPY_LOGS" = "Nu s-au putut copia jurnalele.";
/* Error indicating that the debug logs could not be packaged. */
"DEBUG_LOG_ALERT_COULD_NOT_PACKAGE_LOGS" = "Nu s-au putut împacheta jurnalele.";
"DEBUG_LOG_ALERT_COULD_NOT_PACKAGE_LOGS" = "Nu s-au putut arhiva jurnalele.";
/* Error indicating that a debug log could not be uploaded. */
"DEBUG_LOG_ALERT_ERROR_UPLOADING_LOG" = "Nu s-au putut încarca jurnalele.";
"DEBUG_LOG_ALERT_ERROR_UPLOADING_LOG" = "Nu s-au putut încărca jurnalele.";
/* Message of the debug log alert. */
"DEBUG_LOG_ALERT_MESSAGE" = "Ce ai vrea să faci cu link-ul la jurnalul de depanare?";
"DEBUG_LOG_ALERT_MESSAGE" = "Ce ați vrea să faci cu link-ul la jurnalul de depanare?";
/* Error indicating that no debug logs could be found. */
"DEBUG_LOG_ALERT_NO_LOGS" = "Nu s-a gasit nici un jurnal.";
@ -705,7 +711,7 @@
"DEBUG_LOG_ALERT_OPTION_COPY_LINK" = "Copiază Link-ul";
/* Label for the 'email debug log' option of the debug log alert. */
"DEBUG_LOG_ALERT_OPTION_EMAIL" = "Suport Email";
"DEBUG_LOG_ALERT_OPTION_EMAIL" = "Email Suport";
/* Label for the 'send to last thread' option of the debug log alert. */
"DEBUG_LOG_ALERT_OPTION_SEND_TO_LAST_THREAD" = "Trimite la ultimul Thread";
@ -714,7 +720,7 @@
"DEBUG_LOG_ALERT_OPTION_SEND_TO_SELF" = "Trimite la sine";
/* Label for the 'Share' option of the debug log alert. */
"DEBUG_LOG_ALERT_OPTION_SHARE" = "Partajează";
"DEBUG_LOG_ALERT_OPTION_SHARE" = "Partajați";
/* Title of the alert shown for failures while uploading debug logs.
Title of the debug log alert. */
@ -733,7 +739,7 @@
"DEREGISTRATION_REREGISTER_WITH_SAME_PHONE_NUMBER" = "Înregistrează din nou acest număr de telefon";
/* Label warning the user that they have been de-registered. */
"DEREGISTRATION_WARNING" = "Dispozitivul nu mai este înregistrat. Numărul tău de telefon este posibil să fie înregistrat la Signal pe un alt dispozitiv. Apasă pentru re-înregistrare.";
"DEREGISTRATION_WARNING" = "Dispozitivul nu mai este înregistrat. Numărul dvs. de telefon este posibil să fie înregistrat la Signal pe un alt dispozitiv. Apasați pentru re-înregistrare.";
/* {{Short Date}} when device last communicated with Signal Server. */
"DEVICE_LAST_ACTIVE_AT_LABEL" = "Activ ultima oară: %@";
@ -793,7 +799,7 @@
"EDIT_GROUP_UPDATE_BUTTON" = "Actualizează";
/* The alert message if user tries to exit update group view without saving changes. */
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Vrei să salvezi schimbările făcute pentru acest grup?";
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Vreți să salvați schimbările făcute pentru acest grup?";
/* The alert title if user tries to exit update group view without saving changes. */
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Schimbări nesalvate";
@ -835,7 +841,7 @@
"EMPTY_INBOX_TITLE" = "Inbox gol";
/* Indicates that user should confirm their 'two factor auth pin'. */
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Confirmă PIN-ul tău.";
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Confirmați PIN-ul dvs.";
/* Error indicating that attempt to disable 'two-factor auth' failed. */
"ENABLE_2FA_VIEW_COULD_NOT_DISABLE_2FA" = "Blocarea înregistrării nu a putut fi dezactivată.";
@ -856,7 +862,7 @@
"ENABLE_2FA_VIEW_PIN_DOES_NOT_MATCH" = "PIN-ul nu se potrivește.";
/* Indicates that user should select a 'two factor auth pin'. */
"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Introdu un PIN de blocare a înregistrării. Vei fi rugat să introduci acest PIN data viitoare când vei înregistra acest număr de telefon la Signal.";
"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Introduceți un PIN de blocare a înregistrării. Veți fi rugat să introduci acest PIN data viitoare când vă veți înregistra acest număr de telefon la Signal.";
/* Indicates that user has 'two factor auth pin' disabled. */
"ENABLE_2FA_VIEW_STATUS_DISABLED_INSTRUCTIONS" = "Pentru o securitate sporită, activează un PIN de blocare a înregistrării, care va fi necesar pentru a înregistra din nou acest număr de telefon la Signal.";
@ -997,7 +1003,7 @@
"GIF_PICKER_VIEW_TITLE" = "Căutare GIF";
/* Indicates that an error occurred while searching. */
"GIF_VIEW_SEARCH_ERROR" = "Eșec. Apasă pentru a încerca din nou.";
"GIF_VIEW_SEARCH_ERROR" = "Eroare. Apasă pentru a încerca din nou.";
/* Indicates that the user's search had no results. */
"GIF_VIEW_SEARCH_NO_RESULTS" = "Niciun rezultat.";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Se conectează...";
@ -1159,10 +1174,10 @@
"LINK_DEVICE_RESTART" = "Re-încearcă";
/* QR Scanning screen instructions, placed alongside a camera view for scanning QR Codes */
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Scanează codul QR care este afișat pe dispozitivul care vrei sa-l asociezi.";
"LINK_DEVICE_SCANNING_INSTRUCTIONS" = "Scanează codul QR care este afișat pe dispozitivul care vrei să-l asociezi.";
/* Subheading for 'Link New Device' navigation */
"LINK_NEW_DEVICE_SUBTITLE" = "Scanează cod QR";
"LINK_NEW_DEVICE_SUBTITLE" = "Scanează codul QR";
/* Navigation title when scanning QR code to add new device. */
"LINK_NEW_DEVICE_TITLE" = "Asociază un dispozitiv nou";
@ -1267,7 +1282,7 @@
"MESSAGE_METADATA_VIEW_MESSAGE_STATUS_SKIPPED" = "Omis";
/* Status label for messages which are uploading. */
"MESSAGE_METADATA_VIEW_MESSAGE_STATUS_UPLOADING" = "Se încarcă ...";
"MESSAGE_METADATA_VIEW_MESSAGE_STATUS_UPLOADING" = "Se încarcă";
/* Label for messages without a body or attachment in the 'message metadata' view. */
"MESSAGE_METADATA_VIEW_NO_ATTACHMENT_OR_BODY" = "Mesajul nu are conținut sau atașament.";
@ -1383,7 +1398,7 @@
"MULTIDEVICE_PAIRING_MAX_DESC" = "Nu mai poți asocia alte dispozitive.";
/* alert body: cannot link - reached max linked devices */
"MULTIDEVICE_PAIRING_MAX_RECOVERY" = "Ai ajuns la numărul maxim de dispozitive pe care le poți conecta la contul tău. Te rog elimină un dispozitiv și încearcă din nou.";
"MULTIDEVICE_PAIRING_MAX_RECOVERY" = "Ai ajuns la numărul maxim de dispozitive pe care le poți asocia la contul tău. Te rog elimină un dispozitiv și încearcă din nou.";
/* An explanation of the consequences of muting a thread. */
"MUTE_BEHAVIOR_EXPLANATION" = "Nu vei primi notificări pentru conversațiile silențioase.";
@ -1407,7 +1422,7 @@
"NETWORK_STATUS_DEREGISTERED" = "Nu mai este înregistrat";
/* No comment provided by engineer. */
"NETWORK_STATUS_HEADER" = "Statutul Rețelei";
"NETWORK_STATUS_HEADER" = "Starea rețelei";
/* No comment provided by engineer. */
"NETWORK_STATUS_OFFLINE" = "Offline";
@ -1446,7 +1461,7 @@
"new_message" = "Mesaj Nou";
/* A label for the 'add by phone number' button in the 'new non-contact conversation' view */
"NEW_NONCONTACT_CONVERSATION_VIEW_BUTTON" = "Căutare";
"NEW_NONCONTACT_CONVERSATION_VIEW_BUTTON" = "Căutați";
/* Title for the 'new non-contact conversation' view. */
"NEW_NONCONTACT_CONVERSATION_VIEW_TITLE" = "Caută utilizator";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Găsește contacte după numărul de telefon";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "S-ar putea să fi primit mesaje în timpul repornirii %@.";
@ -1461,7 +1479,7 @@
"NOTIFICATION_SEND_FAILED" = "Mesajul tău nu a fost transmis către %@.";
/* No comment provided by engineer. */
"NOTIFICATIONS_FOOTER_WARNING" = "Din cauza bug-uri cunoscute în Apple push framework,previzionarea mesajelor vor fi afișate numai în cazul în care mesajul este preluat în termen de 30 de secunde după ce a fost trimis.Banerul de notificare a aplicației poate fi inexactă ca rezultat .";
"NOTIFICATIONS_FOOTER_WARNING" = "Din cauza bug-uri cunoscute în Apple push framework, previzualizarea mesajelor va fi afișată numai în cazul în care mesajul este preluat în termen de 30 de secunde după ce a fost trimis. Banerul de notificare a aplicației poate fi inexactă ca rezultat .";
/* No comment provided by engineer. */
"NOTIFICATIONS_NONE" = "Fără nume sau conținut";
@ -1479,7 +1497,7 @@
"NOTIFICATIONS_SENDER_ONLY" = "Doar numele";
/* No comment provided by engineer. */
"NOTIFICATIONS_SHOW" = "Arată";
"NOTIFICATIONS_SHOW" = "Afișează";
/* No comment provided by engineer. */
"OK" = "OK";
@ -1623,7 +1641,7 @@
"PROFILE_VIEW_ERROR_UPDATE_FAILED" = "Actualizarea profilului a eșuat.";
/* Default text for the profile name field of the profile view. */
"PROFILE_VIEW_NAME_DEFAULT_TEXT" = "Introdu numele tău";
"PROFILE_VIEW_NAME_DEFAULT_TEXT" = "Introduceți numele dvs.";
/* Label for the profile avatar field of the profile view. */
"PROFILE_VIEW_PROFILE_AVATAR_FIELD" = "Avatar";
@ -1710,13 +1728,13 @@
"REGISTER_CONTACTS_WELCOME" = "Bine ați venit!";
/* No comment provided by engineer. */
"REGISTER_FAILED_TRY_AGAIN" = "Încearcă din nou";
"REGISTER_FAILED_TRY_AGAIN" = "Încercați din nou";
/* No comment provided by engineer. */
"REGISTER_RATE_LIMITING_BODY" = "Ai încercat de prea multe ori. Te rog așteaptă un minut înainte să încerci din nou.";
"REGISTER_RATE_LIMITING_BODY" = "Ați încercat de prea multe ori. Vă rog așteptați un minut înainte să încercați din nou.";
/* No comment provided by engineer. */
"REGISTER_RATE_LIMITING_ERROR" = "Ai încercat de prea multe ori. Te rog așteaptă un minut înainte să încerci din nou.";
"REGISTER_RATE_LIMITING_ERROR" = "Ați încercat de prea multe ori. Vă rog așteptați un minut înainte să încercați din nou.";
/* Title of alert shown when push tokens sync job fails. */
"REGISTRATION_BODY" = "Eroare la re-înregistrare pentru notificările push.";
@ -1731,7 +1749,7 @@
"REGISTRATION_ENTERNUMBER_DEFAULT_TEXT" = "Introduceți Numărul";
/* No comment provided by engineer. */
"REGISTRATION_ERROR" = "Inregistrare Eronată";
"REGISTRATION_ERROR" = "Eroare la înregistrare";
/* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Nu putem activa contul tău până nu verifici codul pe care ți l-am trimis.";
@ -1818,7 +1836,7 @@
"REREGISTER_FOR_PUSH" = "Reînregistrează-te pentru a primi notificarile push";
/* Generic text for button that retries whatever the last action was. */
"RETRY_BUTTON_TEXT" = "Reîncearcă";
"RETRY_BUTTON_TEXT" = "Încearcă din nou";
/* button title to confirm adding a recipient to a group when their safety number has recently changed */
"SAFETY_NUMBER_CHANGED_CONFIRM_ADD_TO_GROUP_ACTION" = "Adaugă la grup oricum";
@ -1962,28 +1980,28 @@
"SETTINGS_AUDIO_DEFAULT_TONE_LABEL_FORMAT" = "%@ (implicit)";
/* Label for the backup view in app settings. */
"SETTINGS_BACKUP" = "Copie de rezervă";
"SETTINGS_BACKUP" = "Backup";
/* Label for 'backup now' button in the backup settings view. */
"SETTINGS_BACKUP_BACKUP_NOW" = "Fă acum o copie de rezervă";
"SETTINGS_BACKUP_BACKUP_NOW" = "Faceți un backup acum";
/* Label for 'cancel backup' button in the backup settings view. */
"SETTINGS_BACKUP_CANCEL_BACKUP" = "Anulează copia de rezervă";
"SETTINGS_BACKUP_CANCEL_BACKUP" = "Anulează backup-ul";
/* Label for switch in settings that controls whether or not backup is enabled. */
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Copie de rezervă activă";
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Backup activat";
/* Label for iCloud status row in the in the backup settings view. */
"SETTINGS_BACKUP_ICLOUD_STATUS" = "Stare iCloud";
/* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Restaurarea backp-ului a eșuat";
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Restaurarea backup-ului a eșuat";
/* Indicates that app is not restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Restaurare backup în repaus";
/* Indicates that app is restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Restaurarea backp-ului este în progres";
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Restaurarea backup-ului este în progres";
/* Indicates that the last backup restore succeeded. */
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Backup restaurat cu succes";
@ -1998,16 +2016,16 @@
"SETTINGS_BACKUP_STATUS" = "Stare";
/* Indicates that the last backup failed. */
"SETTINGS_BACKUP_STATUS_FAILED" = "Copia de rezervă a eșuat";
"SETTINGS_BACKUP_STATUS_FAILED" = "Backup-ul a eșuat";
/* Indicates that app is not backing up. */
"SETTINGS_BACKUP_STATUS_IDLE" = "În așteptare";
/* Indicates that app is backing up. */
"SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Se realizează copia de rezervă";
"SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Se realizează backup-ul";
/* Indicates that the last backup succeeded. */
"SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Copia de rezervă a fost realizată cu succes.";
"SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Backup-ul a fost făcut cu succes.";
/* A label for the 'add phone number' button in the block list table. */
"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Adaugă un utilizator blocat";
@ -2058,7 +2076,7 @@
"SETTINGS_INVITE_TITLE" = "Invită-ți prietenii";
/* content of tweet when inviting via twitter - please do not translate URL */
"SETTINGS_INVITE_TWITTER_TEXT" = "Poți să mă pe contactezi folosind @signalapp. Obține-l acum: https://signal.org/download/";
"SETTINGS_INVITE_TWITTER_TEXT" = "Poți să mă contactezi prin @signalapp. Obține-l acum: https://signal.org/download/";
/* Label for settings view that allows user to change the notification sound. */
"SETTINGS_ITEM_NOTIFICATION_SOUND" = "Sunet mesaj";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Actualizează-ți iOS-ul";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Se actualizează Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Înapoi";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Готово";
/* Label for redo button. */
"BUTTON_REDO" = "Вернуть";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Выбор";
/* Label for undo button. */
"BUTTON_UNDO" = "Вернуть";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Вызвать снова";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Соединение...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Поиск по номеру телефона";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Возможно, вы получили сообщения во время перезапуска вашего %@.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Обновите IOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Обновляем Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Назад";
@ -2430,7 +2445,7 @@
"VERIFY_PRIVACY_MULTIPLE" = "Просмотр кодов безопасности";
/* Indicates how to cancel a voice message. */
"VOICE_MESSAGE_CANCEL_INSTRUCTIONS" = "Проведите в сторону для отмены";
"VOICE_MESSAGE_CANCEL_INSTRUCTIONS" = "Проведите для отмены";
/* Filename for voice messages. */
"VOICE_MESSAGE_FILE_NAME" = "Голосовое сообщение";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Opravljeno";
/* Label for redo button. */
"BUTTON_REDO" = "Ponovno uveljavi";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Izberi";
/* Label for undo button. */
"BUTTON_UNDO" = "Razveljavi";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Ponovni klic";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Povezujem...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Poišči stike z vnosom telefonske številke";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Možno je, da ste med ponovnim zagonom naprave %@ prejeli kakšno sporočilo.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Nadrgradnja iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Nazaj";

View File

@ -69,7 +69,7 @@
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ muboka %@: %@";
/* Message for the 'app launch failed' alert. */
"APP_LAUNCH_FAILURE_ALERT_MESSAGE" = "Signal can't launch. Please send a debug log to support@signal.org so that we can troubleshoot this issue.";
"APP_LAUNCH_FAILURE_ALERT_MESSAGE" = "Signal haisi kusimuka.Tapota tumira debug log ku support@signal.org kuti tironde dambudziko iri.";
/* Title for the 'app launch failed' alert. */
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Pakanganiswa";
@ -171,7 +171,7 @@
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Yatadza kusarudza gwaro";
/* Alert body when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Please create a compressed archive of this file or directory and try sending that instead.";
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Tapota gadzira dura rakadzvanywa re faira rino kana dhairektori wozori tumira. ";
/* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Faira haritsigirwe";
@ -186,40 +186,40 @@
"BACK_BUTTON" = "Dzoka";
/* Error indicating the backup export could not export the user's data. */
"BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Backup data could not be exported.";
"BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Data rakapfimbikwa ratadza kutumirwa.";
/* Error indicating that the app received an invalid response from CloudKit. */
"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Invalid Service Response";
/* Indicates that the cloud is being cleaned up. */
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Cleaning Up Backup";
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Dura riri kucheneswa";
/* Indicates that the backup export is being configured. */
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Initializing Backup";
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Kutanga kugadzirira kupfimbika";
/* Indicates that the database data is being exported. */
"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Exporting Data";
"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Data riri kutumirwa";
/* Indicates that the backup export data is being exported. */
"BACKUP_EXPORT_PHASE_EXPORT" = "Exporting Backup";
"BACKUP_EXPORT_PHASE_EXPORT" = "Dura riri kutumirwa";
/* Indicates that the backup export data is being uploaded. */
"BACKUP_EXPORT_PHASE_UPLOAD" = "Uploading Backup";
"BACKUP_EXPORT_PHASE_UPLOAD" = "Dura riri kutumirwa";
/* Error indicating the backup import could not import the user's data. */
"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Backup could not be imported.";
"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Dura ratadza kutorwa.";
/* Indicates that the backup import is being configured. */
"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Configuring Backup";
"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Kunhadziridza Dura ";
/* Indicates that the backup import data is being downloaded. */
"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Data rakachengetedzwa riri kutorwa";
/* Indicates that the backup import data is being finalized. */
"BACKUP_IMPORT_PHASE_FINALIZING" = "Finalizing Backup";
"BACKUP_IMPORT_PHASE_FINALIZING" = "Kupedzisa kupfimbika";
/* Indicates that the backup import data is being imported. */
"BACKUP_IMPORT_PHASE_IMPORT" = "Importing backup.";
"BACKUP_IMPORT_PHASE_IMPORT" = "Iri kutora dura";
/* Indicates that the backup database is being restored. */
"BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Database riri kudzoreredzwa";
@ -228,10 +228,10 @@
"BACKUP_IMPORT_PHASE_RESTORING_FILES" = "Mafaira ari kudzoreredzwa.";
/* Label for the backup restore decision section. */
"BACKUP_RESTORE_DECISION_TITLE" = "Backup Available";
"BACKUP_RESTORE_DECISION_TITLE" = "Dura riripo";
/* Label for the backup restore description. */
"BACKUP_RESTORE_DESCRIPTION" = "Restoring Backup";
"BACKUP_RESTORE_DESCRIPTION" = "Kudzoreredza dura";
/* Label for the backup restore progress. */
"BACKUP_RESTORE_PROGRESS" = "Mamiriro";
@ -243,13 +243,13 @@
"BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error";
/* An explanation of the consequences of blocking a group. */
"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "You will no longer receive messages or updates from this group.";
"BLOCK_GROUP_BEHAVIOR_EXPLANATION" = "Hauchawane tsamba kubva kuboka rino.";
/* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "Vharisa";
/* A format for the 'block group' action sheet title. Embeds the {{group name}}. */
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Block and Leave the \"%@\" Group?";
"BLOCK_LIST_BLOCK_GROUP_TITLE_FORMAT" = "Vharira wobva wasiya \"%@\" Boka?";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Vharira %@?";
@ -264,7 +264,7 @@
"BLOCK_LIST_UNBLOCK_BUTTON" = "Vhurisa";
/* Action sheet body when confirming you want to unblock a group */
"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Existing members will be able to add you to the group again.";
"BLOCK_LIST_UNBLOCK_GROUP_BODY" = "Nhengo dzemuboka rino dzinogona kukuwedzera kuboka zvakare.";
/* Action sheet title when confirming you want to unblock a group. */
"BLOCK_LIST_UNBLOCK_GROUP_TITLE" = "Vhurira Boka rino?";
@ -311,14 +311,20 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Zvaita";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Sarudza";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Chaya zvakare";
/* Alert message when calling and permissions for microphone are missing */
"CALL_AUDIO_PERMISSION_MESSAGE" = "You can enable microphone access in the iOS Settings app to make calls and record voice messages in Signal.";
"CALL_AUDIO_PERMISSION_MESSAGE" = "Unogona kubatidza chitauriso mu app ye iOS Seting kuti uchaye nhare uye kurekodha tsamba dzemazwi mu Signal.";
/* Alert title when calling and permissions for microphone are missing */
"CALL_AUDIO_PERMISSION_TITLE" = "Mvumo yekushandisa chitauriso irikudiwa";
@ -408,16 +414,16 @@
"CHECK_FOR_BACKUP_RESTORE" = "Dzoreredza";
/* Error indicating that the app could not determine that user's iCloud account status */
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal could not determine your iCloud account status. Sign in to your iCloud Account in the iOS settings app to backup your Signal data.";
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Signal yatadza kutarira mamiriro e account yako yeiCloud.Pinda mu iCloud Account yako pa iOS Seting app kuti upfimbike data re Signal.";
/* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "No iCloud Account. Sign in to your iCloud Account in the iOS settings app to backup your Signal data.";
"CLOUDKIT_STATUS_NO_ACCOUNT" = "Hapana iCloud Account.Pinda mu iCloud Account muma iOS setting app kuti upfimbike data re Signal.";
/* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was denied access your iCloud account for backups. Grant Signal access to your iCloud Account in the iOS settings app to backup your Signal data.";
/* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_1" = "Choose the color of outgoing messages in this conversation.";
"COLOR_PICKER_DEMO_MESSAGE_1" = "Sarudza ruvara rwe tsamba dzinobuda munhaurwa ino.";
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
@ -793,7 +799,7 @@
"EDIT_GROUP_UPDATE_BUTTON" = "Wedzera";
/* The alert message if user tries to exit update group view without saving changes. */
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Would you like to save the changes that you made to this group?";
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Uri kuda kuchengeta shanduko yawaita kuboka rino here?";
/* The alert title if user tries to exit update group view without saving changes. */
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Shanduko isina kuchengetwa";
@ -889,7 +895,7 @@
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Yatadza kunyora ne kutumira chibatanidzwa.";
/* Generic error used whenever Signal can't contact the server */
"ERROR_DESCRIPTION_NO_INTERNET" = "Signal was unable to connect to the internet. Please try again.";
"ERROR_DESCRIPTION_NO_INTERNET" = "Signal yatadza kubata internet.Tapota edza zvakare.";
/* Error indicating that an outgoing message had no valid recipients. */
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Tsamba yatadza kuendeswa nekuti hapana vagamichiri vakati tsikiti.";
@ -928,7 +934,7 @@
"ERROR_MESSAGE_INVALID_MESSAGE" = "Received message was out of sync.";
/* No comment provided by engineer. */
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
"ERROR_MESSAGE_INVALID_VERSION" = "Yagamuchira tsamba isinga enderane ne vhezheni ino.";
/* No comment provided by engineer. */
"ERROR_MESSAGE_NO_SESSION" = "Hapana chikamu chiripo chezita iri.";
@ -955,7 +961,7 @@
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "Too many failures with this contact. Please try again later.";
/* action sheet header when re-sending message which failed because of untrusted identity keys */
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Your safety number with %@ has recently changed. You may wish to verify before sending this message again.";
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "Nhamba yekuchengetedzwa ina %@ yashanduka.Unogona kuicherechedza usati watumira tsamba iyi zvakare.";
/* alert title */
"FAILED_VERIFICATION_TITLE" = "Nhamba yekuchengetedza yatadza kupngororwa!";
@ -964,7 +970,7 @@
"FINGERPRINT_SCAN_VERIFY_BUTTON" = "Tara seyaka ongororwa";
/* No comment provided by engineer. */
"FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Reset Session";
"FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Tangidza sesheni";
/* Accessibility label for finishing new group */
"FINISH_GROUP_CREATION_LABEL" = "Pedzisa kuita chikwata";
@ -1074,11 +1080,20 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Yava kubata...";
/* Call setup status label */
"IN_CALL_RECONNECTING" = "Reconnecting…";
"IN_CALL_RECONNECTING" = "Iri kubatazve...";
/* Call setup status label */
"IN_CALL_RINGING" = "Iri kurira...";
@ -1090,7 +1105,7 @@
"IN_CALL_TERMINATED" = "Runhare rwadzimwa.";
/* Label reminding the user that they are in archive mode. */
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "These conversations are archived and will only appear in the Inbox if new messages are received.";
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "Nhaurwa idzi dzaka pfimbikwa uye dzino onekwa chete wagamuchira tsamba itsva.";
/* Multi-line label explaining how to show names instead of phone numbers in your inbox */
"INBOX_VIEW_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see contact names in your Signal conversation list.";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Tsvaga makontakt nenhamba yerunhare";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Unogona kunge wagamuchira mashoko %@ apo watangidza.";
@ -1590,7 +1608,7 @@
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Mumwe wako ari kushandisa Signal yekare.Anofanirwa kuiwedzera usati waongorora.";
/* alert body */
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "The scanned code doesn't look like a safety number. Are you both on an up-to-date version of Signal?";
"PRIVACY_VERIFICATION_FAILURE_INVALID_QRCODE" = "Nhamba yawa skana hairatidze kunge nhamba yekuchengetedzwa.Mese mune vhezheni itsva here ye Signal?";
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Kana uchida kuongorora kuchengetedza kweku hwandisa mativi ose na %@,enzanisa manhamba ari pamusoro nenhamba iri pamudziyo wavo.\n\nZvakare,unogona kuskana kodhi iri panhare yake,kana kumuti askane kodhi iri pamudziyo wako";
@ -1803,7 +1821,7 @@
"REMINDER_2FA_BODY_HEADER" = "Yeuchidzo:";
/* Alert message explaining what happens if you forget your 'two-factor auth pin' */
"REMINDER_2FA_FORGOT_PIN_ALERT_MESSAGE" = "Registration Lock helps protect your phone number from unauthorized registration attempts. This feature can be disabled at any time in your Signal privacy settings.";
"REMINDER_2FA_FORGOT_PIN_ALERT_MESSAGE" = "Registration Lock inobatsira kuti nhamba dzenhare dzisanyorwe zvausina kubvumira.Ficha iyi inogona kudzimwa pawada muma Seting e Signal.";
/* Navbar title for when user is periodically prompted to enter their registration lock PIN */
"REMINDER_2FA_NAV_TITLE" = "Enter Your Registration Lock PIN";
@ -1854,13 +1872,13 @@
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_LOCKOUT" = "Too many failed authentication attempts. Please try again later.";
/* Indicates that Touch ID/Face ID/Phone Passcode are not available on this device. */
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_AVAILABLE" = "You must enable a passcode in your iOS Settings in order to use Screen Lock.";
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_AVAILABLE" = "Unofanirwa kubatidza passcode muma Seting eiOS kuti ushandise Screen Lock.";
/* Indicates that Touch ID/Face ID/Phone Passcode is not configured on this device. */
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_ENROLLED" = "You must enable a passcode in your iOS Settings in order to use Screen Lock.";
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_ENROLLED" = "Unofanirwa kubatidza passcode muma Seting eiOS kuti ushandise Screen Lock.";
/* Indicates that Touch ID/Face ID/Phone Passcode passcode is not set. */
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_PASSCODE_NOT_SET" = "You must enable a passcode in your iOS Settings in order to use Screen Lock.";
"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_PASSCODE_NOT_SET" = "Unofanirwa kubatidza passcode muma Seting eiOS kuti ushandise Screen Lock.";
/* Description of how and why Signal iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */
"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Authenticate to open Signal.";
@ -2025,13 +2043,13 @@
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Nzvengesa nhare nguva dzese";
/* User settings section footer, a detailed explanation */
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "Relay all calls through a Signal server to avoid revealing your IP address to your contact. Enabling will reduce call quality.";
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE_DETAIL" = "Pfuudza nhare dzese mu Signal server kuti usafumure IP adhiresi yako kukontakt yako.Kubatidza kunodzora kwaliti yenhare.";
/* No comment provided by engineer. */
"SETTINGS_CLEAR_HISTORY" = "Dzima nhoroondo yenhaurwa";
/* No comment provided by engineer. */
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger ine rezinesi pasi pe GPLv3";
/* No comment provided by engineer. */
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Dzima homwe";
@ -2040,7 +2058,7 @@
"SETTINGS_DELETE_DATA_BUTTON" = "Dzima Data rese";
/* Alert message before user confirms clearing history */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Are you sure you want to delete all history (messages, attachments, calls, etc.)? This action cannot be reverted.";
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION" = "Unoda kudzima nhoroondo yese here(tsamba,zvibatanidzwa,nhare,etc.)?Kuita uku hakudzokere kumashure.";
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Dzima zvese";
@ -2070,7 +2088,7 @@
"SETTINGS_NAV_BAR_TITLE" = "Gadziro";
/* table section footer */
"SETTINGS_NOTIFICATION_CONTENT_DESCRIPTION" = "Call and Message notifications can appear while your phone is locked. You may wish to limit what is shown in these notifications.";
"SETTINGS_NOTIFICATION_CONTENT_DESCRIPTION" = "Zviziviso zve nhare ne tsamba zvinoonekwa apo runhare rwakavharwa.Unogona kudzora zvinoratidzwa mu zviziviso izvi.";
/* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notification Content";
@ -2166,13 +2184,13 @@
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Ratidza Zviratidzo";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Show a status icon when you select \"More Info\" on messages that were delivered using sealed sender.";
"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Ratidza aikon apo unosarudza \"Zvakawanda\" pa tsamba dzakatumirwa ne mutumiri akahwandiswa.";
/* switch label */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Bvumidza kubva kumunhu wese wese";
/* table section footer */
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Enable sealed sender for incoming messages from non-contacts and people with whom you have not shared your profile.";
"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Bvumidza mutumiri akahwandiswa pane tsamba dzinouya kubva kune vasiri makontakt ako ne vanhu vausina kugovera profile yako.";
/* No comment provided by engineer. */
"SETTINGS_VERSION" = "Vhezheni";
@ -2343,7 +2361,7 @@
"UPGRADE_EXPERIENCE_ENABLE_TYPING_INDICATOR_BUTTON" = "Batidza zviratidza kunyora";
/* Description for notification audio customization */
"UPGRADE_EXPERIENCE_INTRODUCING_NOTIFICATION_AUDIO_DESCRIPTION" = "You can now choose default and per-conversation notification sounds, and calls will respect the ringtone you've chosen for each system contact.";
"UPGRADE_EXPERIENCE_INTRODUCING_NOTIFICATION_AUDIO_DESCRIPTION" = "Wave kukwanisa kusarudza toni kana toni pa nhaurwa yega yega,uye nhare inoteedzera toni yawasarudza pa kontakt yega yega.";
/* button label shown one time, after upgrade */
"UPGRADE_EXPERIENCE_INTRODUCING_NOTIFICATION_AUDIO_SETTINGS_BUTTON" = "Ongorora maSeting eKuziviswa";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Wedzera iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Signal iri kuwedzerwa...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Dzoka";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "U bë";
/* Label for redo button. */
"BUTTON_REDO" = "Ribëje";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Përzgjidhni";
/* Label for undo button. */
"BUTTON_UNDO" = "Zhbëje";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Rithirre";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Po lidhet…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Gjeni Kontakte sipas Numri Telefoni";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Mund të keni marrë mesazhe teksa %@ po rinisej.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Përmirësoni iOS-in";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Po përmirësohet Signal-i…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Mbrapsht";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Klar";
/* Label for redo button. */
"BUTTON_REDO" = "Gör om";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Välj";
/* Label for undo button. */
"BUTTON_UNDO" = "Ångra";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Ring igen";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Ansluter...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Hitta kontakter via telefonnummer";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Du kan ha fått nya meddelanden medan din %@ startades om.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Uppgradera iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Uppgraderar Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Tillbaka";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "เสร็จสิ้น";
/* Label for redo button. */
"BUTTON_REDO" = "ทำซ้ำ";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "เลือก";
/* Label for undo button. */
"BUTTON_UNDO" = "เลิกทำ";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Call Again";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "กำลังเชื่อมต่อ…";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "ค้นหาผู้ติดต่อด้วยหมายเลขโทรศัพท์";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "อัพเกรด iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Upgrading Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "ย้อนกลับ";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Tamam";
/* Label for redo button. */
"BUTTON_REDO" = "Yinele";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Seç";
/* Label for undo button. */
"BUTTON_UNDO" = "Geri al";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Tekrar Ara";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "Bağlanıyor...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Kişileri Telefon Numarası ile Bul";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "%@ cihazınız yeniden başlarken mesaj almış olabilirsiniz.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "iOS'u Güncelle";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Signal yükseltiliyor…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Geri";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "Готово";
/* Label for redo button. */
"BUTTON_REDO" = "Redo";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Вибрати";
/* Label for undo button. */
"BUTTON_UNDO" = "Undo";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "Перетелефонувати";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "З’єднання...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "Знайти контакти за номером телефону";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Поки ваш %@ перезапускався, ви могли одержати повідомлення.";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "Оновити iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "Оновлення Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "Назад";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "完成";
/* Label for redo button. */
"BUTTON_REDO" = "重做";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "选择";
/* Label for undo button. */
"BUTTON_UNDO" = "撤销";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "重拨";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "链接中...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "用手机号码搜索联系人";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "您可能在%@重启时收到了新消息。";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "升级 iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "正在升级 Signal…";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "退后";

View File

@ -311,9 +311,15 @@
/* Label for generic done button. */
"BUTTON_DONE" = "完成";
/* Label for redo button. */
"BUTTON_REDO" = "重做";
/* Button text to enable batch selection mode */
"BUTTON_SELECT" = "選擇";
/* Label for undo button. */
"BUTTON_UNDO" = "復原";
/* Label for button that lets users call a contact again. */
"CALL_AGAIN_BUTTON_TITLE" = "重撥電話";
@ -1074,6 +1080,15 @@
/* Title for the home view's default mode. */
"HOME_VIEW_TITLE_INBOX" = "Signal";
/* Label for brush button in image editor. */
"IMAGE_EDITOR_BRUSH_BUTTON" = "Brush";
/* Label for crop button in image editor. */
"IMAGE_EDITOR_CROP_BUTTON" = "Crop";
/* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment.";
/* Call setup status label */
"IN_CALL_CONNECTING" = "連接中...";
@ -1454,6 +1469,9 @@
/* Label for a button that lets users search for contacts by phone number */
"NO_CONTACTS_SEARCH_BY_PHONE_NUMBER" = "透過手機號碼搜尋聯絡人";
/* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "當你的%@重新起動時,你還是可以接收訊息。";
@ -2115,7 +2133,7 @@
"SETTINGS_SCREEN_LOCK_SWITCH_LABEL" = "螢幕鎖定";
/* No comment provided by engineer. */
"SETTINGS_SCREEN_SECURITY" = "開啟螢幕鎖定功能";
"SETTINGS_SCREEN_SECURITY" = "開啟程式切換時隱藏畫面功能";
/* No comment provided by engineer. */
"SETTINGS_SCREEN_SECURITY_DETAIL" = "避免Signal預覽畫面在應用軟體切換時顯示。";
@ -2387,9 +2405,6 @@
/* Title for the alert indicating that user should upgrade iOS. */
"UPGRADE_IOS_ALERT_TITLE" = "更新 iOS";
/* No comment provided by engineer. */
"Upgrading Signal ..." = "正在升級 Signal...";
/* button text for back button on verification view */
"VERIFICATION_BACK_BUTTON" = "退後";

View File

@ -224,6 +224,9 @@ public class AttachmentApprovalViewController: UIPageViewController, UIPageViewC
self.setCurrentItem(firstItem, direction: .forward, animated: false)
// layout immediately to avoid animating the layout process during the transition
self.currentPageViewController.view.layoutIfNeeded()
// As a refresher, the _Information Architecture_ here is:
//
// You are approving an "Album", which has multiple "Attachments"
@ -533,6 +536,10 @@ public class AttachmentApprovalViewController: UIPageViewController, UIPageViewC
return
}
page.loadViewIfNeeded()
let keyboardScenario: KeyboardScenario = bottomToolView.isEditingMediaMessage ? .editingMessage : .hidden
page.updateCaptionViewBottomInset(keyboardScenario: keyboardScenario)
self.setViewControllers([page], direction: direction, animated: isAnimated, completion: nil)
updateMediaRail()
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -366,7 +366,8 @@ public class ContactShareApprovalViewController: OWSViewController, EditContactS
scrollView.preservesSuperviewLayoutMargins = false
self.view.addSubview(scrollView)
scrollView.layoutMargins = .zero
scrollView.autoPinWidthToSuperview()
scrollView.autoPinEdge(toSuperviewSafeArea: .leading)
scrollView.autoPinEdge(toSuperviewSafeArea: .trailing)
scrollView.autoPin(toTopLayoutGuideOf: self, withInset: 0)
scrollView.autoPinEdge(toSuperviewEdge: .bottom)

View File

@ -28,7 +28,7 @@
[super loadView];
self.shouldUseTheme = NO;
self.interfaceOrientationMask = UIInterfaceOrientationMaskAllButUpsideDown;
self.interfaceOrientationMask = DefaultUIInterfaceOrientationMask();
self.view.backgroundColor = [UIColor whiteColor];
self.title = NSLocalizedString(@"COUNTRYCODE_SELECT_TITLE", @"");

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -78,7 +78,8 @@ public class MessageApprovalViewController: OWSViewController, UITextViewDelegat
// Recipient Row
let recipientRow = createRecipientRow()
view.addSubview(recipientRow)
recipientRow.autoPinWidthToSuperview()
recipientRow.autoPinEdge(toSuperviewSafeArea: .leading)
recipientRow.autoPinEdge(toSuperviewSafeArea: .trailing)
recipientRow.autoPin(toTopLayoutGuideOf: self, withInset: 0)
// Text View
@ -91,7 +92,8 @@ public class MessageApprovalViewController: OWSViewController, UITextViewDelegat
textView.contentInset = UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)
textView.textContainerInset = UIEdgeInsets(top: 10.0, left: 10.0, bottom: 10.0, right: 10.0)
view.addSubview(textView)
textView.autoPinWidthToSuperview()
textView.autoPinEdge(toSuperviewSafeArea: .leading)
textView.autoPinEdge(toSuperviewSafeArea: .trailing)
textView.autoPinEdge(.top, to: .bottom, of: recipientRow)
textView.autoPin(toBottomLayoutGuideOf: self, withInset: 0)
}

View File

@ -1,11 +1,15 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
BOOL IsLandscapeOrientationEnabled(void);
UIInterfaceOrientationMask DefaultUIInterfaceOrientationMask(void);
@interface OWSViewController : UIViewController
@property (nonatomic) BOOL shouldIgnoreKeyboardChanges;

View File

@ -8,6 +8,17 @@
NS_ASSUME_NONNULL_BEGIN
BOOL IsLandscapeOrientationEnabled(void)
{
return NO;
}
UIInterfaceOrientationMask DefaultUIInterfaceOrientationMask(void)
{
return (IsLandscapeOrientationEnabled() ? UIInterfaceOrientationMaskAllButUpsideDown
: UIInterfaceOrientationMaskPortrait);
}
@interface OWSViewController ()
@property (nonatomic, weak) UIView *bottomLayoutView;
@ -185,7 +196,7 @@ NS_ASSUME_NONNULL_BEGIN
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
return DefaultUIInterfaceOrientationMask();
}
@end

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import "ContactCellView.h"
@ -140,7 +140,7 @@ const CGFloat kContactCellAvatarTextMargin = 12;
self.thread = [TSContactThread getThreadWithContactId:recipientId transaction:transaction];
}];
BOOL isNoteToSelf = [recipientId isEqualToString:self.tsAccountManager.localNumber];
BOOL isNoteToSelf = (IsNoteToSelfEnabled() && [recipientId isEqualToString:self.tsAccountManager.localNumber]);
if (isNoteToSelf) {
self.nameLabel.attributedText = [[NSAttributedString alloc]
initWithString:NSLocalizedString(@"NOTE_TO_SELF", @"Label for 1:1 conversation with yourself.")

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -156,11 +156,13 @@ public class OWSNavigationBar: UINavigationBar {
}
public override func layoutSubviews() {
if CurrentAppContext().isMainApp {
guard OWSWindowManager.shared().hasCall() else {
super.layoutSubviews()
return
}
guard CurrentAppContext().isMainApp else {
super.layoutSubviews()
return
}
guard OWSWindowManager.shared().hasCall() else {
super.layoutSubviews()
return
}
guard #available(iOS 11, *) else {

View File

@ -49,8 +49,13 @@ public class OWS110SortIdMigration: OWSDatabaseMigration {
let totalCount: UInt = legacySorting.numberOfItemsInAllGroups()
var completedCount: UInt = 0
var seenGroups: Set<String> = Set()
var allGroups = [String]()
legacySorting.enumerateGroups { group, _ in
allGroups.append(group)
}
var seenGroups: Set<String> = Set()
for group in allGroups {
autoreleasepool {
// Sanity Check #1
// Make sure our enumeration is monotonically increasing.
@ -69,24 +74,30 @@ public class OWS110SortIdMigration: OWSDatabaseMigration {
}
seenGroups.insert(group)
legacySorting.enumerateKeysAndObjects(inGroup: group) { (_, _, object, _, _) in
var groupKeys = [String]()
legacySorting.enumerateKeys(inGroup: group, using: { (_, key, _, _) in
groupKeys.append(key)
})
let groupKeyBatchSize: Int = 1024
for batch in groupKeys.chunked(by: groupKeyBatchSize) {
autoreleasepool {
guard let interaction = object as? TSInteraction else {
owsFailDebug("unexpected object: \(type(of: object))")
return
}
for uniqueId in batch {
guard let interaction = TSInteraction.fetch(uniqueId: uniqueId, transaction: transaction) else {
owsFailDebug("Could not load interaction: \(uniqueId)")
return
}
if interaction.timestampForLegacySorting() < previousTimestampForLegacySorting {
owsFailDebug("unexpected object ordering previousTimestampForLegacySorting: \(previousTimestampForLegacySorting) interaction.timestampForLegacySorting: \(interaction.timestampForLegacySorting())")
}
previousTimestampForLegacySorting = interaction.timestampForLegacySorting()
guard interaction.timestampForLegacySorting() >= previousTimestampForLegacySorting else {
owsFail("unexpected object ordering previousTimestampForLegacySorting: \(previousTimestampForLegacySorting) interaction.timestampForLegacySorting: \(interaction.timestampForLegacySorting)")
}
previousTimestampForLegacySorting = interaction.timestampForLegacySorting()
interaction.saveNextSortId(transaction: transaction)
interaction.saveNextSortId(transaction: transaction)
completedCount += 1
if completedCount % 100 == 0 {
// Legit usage of legacy sorting for migration to new sorting
Logger.info("thread: \(interaction.uniqueThreadId), timestampForLegacySorting:\(interaction.timestampForLegacySorting()), sortId: \(interaction.sortId) totalCount: \(totalCount), completedcount: \(completedCount)")
completedCount += 1
if completedCount % 100 == 0 {
// Legit usage of legacy sorting for migration to new sorting
Logger.info("thread: \(interaction.uniqueThreadId), timestampForLegacySorting:\(interaction.timestampForLegacySorting()), sortId: \(interaction.sortId) totalCount: \(totalCount), completedcount: \(completedCount)")
}
}
}
}

View File

@ -344,11 +344,11 @@ public class ConversationSearcher: NSObject {
private func conversationIndexingString(recipientId: String) -> String {
var result = self.indexingString(recipientId: recipientId)
if let localNumber = tsAccountManager.localNumber() {
if localNumber == recipientId {
let noteToSelfLabel = NSLocalizedString("NOTE_TO_SELF", comment: "Label for 1:1 conversation with yourself.")
result += " \(noteToSelfLabel)"
}
if IsNoteToSelfEnabled(),
let localNumber = tsAccountManager.localNumber(),
localNumber == recipientId {
let noteToSelfLabel = NSLocalizedString("NOTE_TO_SELF", comment: "Label for 1:1 conversation with yourself.")
result += " \(noteToSelfLabel)"
}
return result

View File

@ -6,6 +6,8 @@
NS_ASSUME_NONNULL_BEGIN
BOOL IsNoteToSelfEnabled(void);
@class OWSDisappearingMessagesConfiguration;
@class TSInteraction;
@class TSInvalidIdentityKeyReceivingErrorMessage;

View File

@ -22,6 +22,11 @@
NS_ASSUME_NONNULL_BEGIN
BOOL IsNoteToSelfEnabled(void)
{
return NO;
}
ConversationColorName const ConversationColorNameCrimson = @"red";
ConversationColorName const ConversationColorNameVermilion = @"orange";
ConversationColorName const ConversationColorNameBurlap = @"brown";
@ -194,6 +199,9 @@ ConversationColorName const kConversationColorName_Default = ConversationColorNa
- (BOOL)isNoteToSelf
{
if (!IsNoteToSelfEnabled()) {
return NO;
}
return (!self.isGroupThread && self.contactIdentifier != nil &&
[self.contactIdentifier isEqualToString:self.tsAccountManager.localNumber]);
}

View File

@ -171,11 +171,12 @@ public class FullTextSearchFinder: NSObject {
let recipientId = contactThread.contactIdentifier()
var result = recipientIndexer.index(recipientId, transaction: transaction)
if let localNumber = tsAccountManager.storedOrCachedLocalNumber(transaction) {
if localNumber == recipientId {
let noteToSelfLabel = NSLocalizedString("NOTE_TO_SELF", comment: "Label for 1:1 conversation with yourself.")
result += " \(noteToSelfLabel)"
}
if IsNoteToSelfEnabled(),
let localNumber = tsAccountManager.storedOrCachedLocalNumber(transaction),
localNumber == recipientId {
let noteToSelfLabel = NSLocalizedString("NOTE_TO_SELF", comment: "Label for 1:1 conversation with yourself.")
result += " \(noteToSelfLabel)"
}
return result

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
NS_ASSUME_NONNULL_BEGIN

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import "NSTimer+OWS.h"

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
#import "OWSOperation.h"
@ -18,8 +18,9 @@ NSString *const OWSOperationKeyIsFinished = @"isFinished";
@property (nullable) NSError *failingError;
@property (atomic) OWSOperationState operationState;
@property (nonatomic) OWSBackgroundTask *backgroundTask;
// This property should only be accessed on the main queue.
@property (nonatomic) NSTimer *_Nullable retryTimer;
@property (nonatomic, readonly) dispatch_queue_t retryTimerSerialQueue;
@end
@ -34,7 +35,6 @@ NSString *const OWSOperationKeyIsFinished = @"isFinished";
_operationState = OWSOperationStateNew;
_backgroundTask = [OWSBackgroundTask backgroundTaskWithLabel:self.logTag];
_retryTimerSerialQueue = dispatch_queue_create("SignalServiceKit.OWSOperation.retryTimer", DISPATCH_QUEUE_SERIAL);
// Operations are not retryable by default.
_remainingRetries = 0;
@ -131,18 +131,19 @@ NSString *const OWSOperationKeyIsFinished = @"isFinished";
- (void)runAnyQueuedRetry
{
__block NSTimer *_Nullable retryTimer;
dispatch_sync(self.retryTimerSerialQueue, ^{
retryTimer = self.retryTimer;
dispatch_async(dispatch_get_main_queue(), ^{
NSTimer *_Nullable retryTimer = self.retryTimer;
self.retryTimer = nil;
[retryTimer invalidate];
});
if (retryTimer != nil) {
[self run];
} else {
OWSLogVerbose(@"not re-running since operation is already running.");
}
if (retryTimer != nil) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self run];
});
} else {
OWSLogVerbose(@"not re-running since operation is already running.");
}
});
}
#pragma mark - Public Methods
@ -190,9 +191,17 @@ NSString *const OWSOperationKeyIsFinished = @"isFinished";
self.remainingRetries--;
dispatch_sync(self.retryTimerSerialQueue, ^{
dispatch_async(dispatch_get_main_queue(), ^{
OWSAssertDebug(self.retryTimer == nil);
[self.retryTimer invalidate];
// The `scheduledTimerWith*` methods add the timer to the current thread's RunLoop.
// Since Operations typically run on a background thread, that would mean the background
// thread's RunLoop. However, the OS can spin down background threads if there's no work
// being done, so we run the risk of the timer's RunLoop being deallocated before it's
// fired.
//
// To ensure the timer's thread sticks around, we schedule it while on the main RunLoop.
self.retryTimer = [NSTimer weakScheduledTimerWithTimeInterval:self.retryInterval
target:self
selector:@selector(runAnyQueuedRetry)

View File

@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key>
<string>2.34.0</string>
<key>CFBundleVersion</key>
<string>2.34.0.14</string>
<string>2.34.0.25</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>NSAppTransportSecurity</key>