Merge remote-tracking branch 'origin/release/2.30.2'
|
@ -1 +1 @@
|
|||
2.4.1
|
||||
2.5.0
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "color-palette-24@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "color-palette-24@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "color-palette-24@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 371 B |
After Width: | Height: | Size: 716 B |
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "dark-theme-off-24@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "dark-theme-off-24@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "dark-theme-off-24@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 472 B |
After Width: | Height: | Size: 994 B |
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "dark-theme-on-24@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "dark-theme-on-24@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "dark-theme-on-24@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 390 B |
After Width: | Height: | Size: 704 B |
After Width: | Height: | Size: 1.0 KiB |
|
@ -60,6 +60,13 @@
|
|||
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>api.directory.signal.org</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>signal.org</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
|
|
|
@ -195,15 +195,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
}
|
||||
[contents addSection:censorshipSection];
|
||||
|
||||
OWSTableSection *themeSection = [OWSTableSection new];
|
||||
themeSection.headerTitle = NSLocalizedString(@"THEME_SECTION", nil);
|
||||
[themeSection addItem:[OWSTableItem switchItemWithText:NSLocalizedString(@"SETTINGS_ADVANCED_DARK_THEME",
|
||||
@"Label for setting that enables dark theme.")
|
||||
isOn:[Theme isDarkThemeEnabled]
|
||||
target:weakSelf
|
||||
selector:@selector(didToggleThemeSwitch:)]];
|
||||
[contents addSection:themeSection];
|
||||
|
||||
self.contents = contents;
|
||||
}
|
||||
|
||||
|
@ -285,13 +276,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
[self updateTableContents];
|
||||
}
|
||||
|
||||
- (void)didToggleThemeSwitch:(UISwitch *)sender
|
||||
{
|
||||
[Theme setIsDarkThemeEnabled:sender.isOn];
|
||||
|
||||
[self updateTableContents];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemStop
|
||||
target:self
|
||||
action:@selector(dismissWasPressed:)];
|
||||
|
||||
[self updateRightBarButtonForTheme];
|
||||
[self observeNotifications];
|
||||
|
||||
self.title = NSLocalizedString(@"SETTINGS_NAV_BAR_TITLE", @"Title for settings activity");
|
||||
|
@ -467,6 +467,44 @@
|
|||
[RegistrationUtils showReregistrationUIFromViewController:self];
|
||||
}
|
||||
|
||||
#pragma mark - Dark Theme
|
||||
|
||||
- (UIBarButtonItem *)darkThemeBarButton
|
||||
{
|
||||
UIBarButtonItem *barButtonItem;
|
||||
if (Theme.isDarkThemeEnabled) {
|
||||
barButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_dark_theme_on"]
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:self
|
||||
action:@selector(didPressDisableDarkTheme:)];
|
||||
} else {
|
||||
barButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_dark_theme_off"]
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:self
|
||||
action:@selector(didPressEnableDarkTheme:)];
|
||||
}
|
||||
return barButtonItem;
|
||||
}
|
||||
|
||||
- (void)didPressEnableDarkTheme:(id)sender
|
||||
{
|
||||
[Theme setIsDarkThemeEnabled:YES];
|
||||
[self updateRightBarButtonForTheme];
|
||||
[self updateTableContents];
|
||||
}
|
||||
|
||||
- (void)didPressDisableDarkTheme:(id)sender
|
||||
{
|
||||
[Theme setIsDarkThemeEnabled:NO];
|
||||
[self updateRightBarButtonForTheme];
|
||||
[self updateTableContents];
|
||||
}
|
||||
|
||||
- (void)updateRightBarButtonForTheme
|
||||
{
|
||||
self.navigationItem.rightBarButtonItem = [self darkThemeBarButton];
|
||||
}
|
||||
|
||||
#pragma mark - Socket Status Notifications
|
||||
|
||||
- (void)observeNotifications
|
||||
|
|
|
@ -4,6 +4,43 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
@objc
|
||||
class OWSColorPickerAccessoryView: NeverClearView {
|
||||
override var intrinsicContentSize: CGSize {
|
||||
return CGSize(width: kSwatchSize, height: kSwatchSize)
|
||||
}
|
||||
|
||||
override func sizeThatFits(_ size: CGSize) -> CGSize {
|
||||
return self.intrinsicContentSize
|
||||
}
|
||||
|
||||
let kSwatchSize: CGFloat = 24
|
||||
|
||||
@objc
|
||||
required init(color: UIColor) {
|
||||
super.init(frame: .zero)
|
||||
|
||||
let circleView = CircleView()
|
||||
circleView.backgroundColor = color
|
||||
addSubview(circleView)
|
||||
circleView.autoSetDimensions(to: CGSize(width: kSwatchSize, height: kSwatchSize))
|
||||
circleView.autoPinEdgesToSuperviewEdges()
|
||||
}
|
||||
|
||||
required init?(coder aDecoder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
}
|
||||
|
||||
@objc (OWSCircleView)
|
||||
class CircleView: UIView {
|
||||
override var bounds: CGRect {
|
||||
didSet {
|
||||
self.layer.cornerRadius = self.bounds.size.height / 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protocol ColorViewDelegate: class {
|
||||
func colorViewWasTapped(_ colorView: ColorView)
|
||||
}
|
||||
|
@ -12,8 +49,8 @@ class ColorView: UIView {
|
|||
public weak var delegate: ColorViewDelegate?
|
||||
public let conversationColor: OWSConversationColor
|
||||
|
||||
private let swatchView: UIView
|
||||
private let selectedRing: UIView
|
||||
private let swatchView: CircleView
|
||||
private let selectedRing: CircleView
|
||||
public var isSelected: Bool = false {
|
||||
didSet {
|
||||
self.selectedRing.isHidden = !isSelected
|
||||
|
@ -22,26 +59,28 @@ class ColorView: UIView {
|
|||
|
||||
required init(conversationColor: OWSConversationColor) {
|
||||
self.conversationColor = conversationColor
|
||||
self.swatchView = UIView()
|
||||
self.selectedRing = UIView()
|
||||
self.swatchView = CircleView()
|
||||
self.selectedRing = CircleView()
|
||||
|
||||
super.init(frame: .zero)
|
||||
self.addSubview(selectedRing)
|
||||
self.addSubview(swatchView)
|
||||
|
||||
let cellHeight: CGFloat = 64
|
||||
|
||||
// Selected Ring
|
||||
let cellHeight: CGFloat = ScaleFromIPhone5(60)
|
||||
selectedRing.autoSetDimensions(to: CGSize(width: cellHeight, height: cellHeight))
|
||||
selectedRing.layer.cornerRadius = cellHeight / 2
|
||||
|
||||
selectedRing.layer.borderColor = Theme.secondaryColor.cgColor
|
||||
selectedRing.layer.borderWidth = 2
|
||||
selectedRing.autoPinEdgesToSuperviewEdges()
|
||||
selectedRing.isHidden = true
|
||||
|
||||
// Color Swatch
|
||||
swatchView.backgroundColor = conversationColor.primaryColor
|
||||
let swatchSize: CGFloat = 48
|
||||
self.swatchView.layer.cornerRadius = swatchSize / 2
|
||||
|
||||
let swatchSize: CGFloat = ScaleFromIPhone5(46)
|
||||
swatchView.autoSetDimensions(to: CGSize(width: swatchSize, height: swatchSize))
|
||||
|
||||
swatchView.autoCenterInSuperview()
|
||||
|
||||
// gestures
|
||||
|
@ -240,7 +279,8 @@ class ColorPickerView: UIView, ColorViewDelegate {
|
|||
|
||||
private func buildPaletteView(colorViews: [ColorView]) -> UIView {
|
||||
let paletteView = UIView()
|
||||
paletteView.layoutMargins = UIEdgeInsets(top: 16, left: 16, bottom: 0, right: 16)
|
||||
let paletteMargin = ScaleFromIPhone5(12)
|
||||
paletteView.layoutMargins = UIEdgeInsets(top: paletteMargin, left: paletteMargin, bottom: 0, right: paletteMargin)
|
||||
|
||||
let kRowLength = 4
|
||||
let rows: [UIView] = colorViews.chunked(by: kRowLength).map { colorViewsInRow in
|
||||
|
@ -250,7 +290,7 @@ class ColorPickerView: UIView, ColorViewDelegate {
|
|||
}
|
||||
let rowsStackView = UIStackView(arrangedSubviews: rows)
|
||||
rowsStackView.axis = .vertical
|
||||
rowsStackView.spacing = ScaleFromIPhone5To7Plus(12, 50)
|
||||
rowsStackView.spacing = ScaleFromIPhone5To7Plus(12, 30)
|
||||
|
||||
paletteView.addSubview(rowsStackView)
|
||||
rowsStackView.ows_autoPinToSuperviewMargins()
|
||||
|
|
|
@ -3239,17 +3239,7 @@ typedef enum : NSUInteger {
|
|||
|
||||
if (self.isGroupConversation) {
|
||||
[self.uiDatabaseConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
|
||||
TSGroupThread *gThread = (TSGroupThread *)self.thread;
|
||||
|
||||
if (gThread.groupModel) {
|
||||
TSGroupThread *_Nullable updatedThread =
|
||||
[TSGroupThread threadWithGroupId:gThread.groupModel.groupId transaction:transaction];
|
||||
if (updatedThread) {
|
||||
self.thread = updatedThread;
|
||||
} else {
|
||||
OWSFailDebug(@"Could not reload thread.");
|
||||
}
|
||||
}
|
||||
[self.thread reloadWithTransaction:transaction];
|
||||
}];
|
||||
[self updateNavigationTitle];
|
||||
}
|
||||
|
@ -3617,7 +3607,7 @@ typedef enum : NSUInteger {
|
|||
[self.audioAttachmentPlayer stop];
|
||||
self.audioAttachmentPlayer = nil;
|
||||
|
||||
NSString *temporaryDirectory = NSTemporaryDirectory();
|
||||
NSString *temporaryDirectory = OWSTemporaryDirectory();
|
||||
NSString *filename = [NSString stringWithFormat:@"%lld.m4a", [NSDate ows_millisecondTimeStamp]];
|
||||
NSString *filepath = [temporaryDirectory stringByAppendingPathComponent:filename];
|
||||
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
let titleLabel = UILabel()
|
||||
titleLabel.text = "\(fileURL)"
|
||||
titleLabel.sizeToFit()
|
||||
titleLabel.textColor = UIColor.white
|
||||
titleLabel.textColor = Theme.primaryColor
|
||||
titleLabel.lineBreakMode = .byTruncatingHead
|
||||
self.navigationItem.titleView = titleLabel
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
}
|
||||
|
||||
// Use a predictable file path so that we reuse the cache between app launches.
|
||||
NSString *temporaryDirectory = NSTemporaryDirectory();
|
||||
NSString *temporaryDirectory = OWSTemporaryDirectory();
|
||||
NSString *cacheDirectory = [temporaryDirectory stringByAppendingPathComponent:@"cached_random_files"];
|
||||
[OWSFileSystem ensureDirectoryExists:cacheDirectory];
|
||||
NSString *filePath = [cacheDirectory stringByAppendingPathComponent:self.filename];
|
||||
|
|
|
@ -105,7 +105,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
OWSTableItem *documentsFileBrowserItem = [OWSTableItem
|
||||
disclosureItemWithText:@"📁 App Container"
|
||||
actionBlock:^{
|
||||
NSURL *baseURL = [NSURL URLWithString:[OWSFileSystem appLibraryDirectoryPath]];
|
||||
NSString *libraryPath = [OWSFileSystem appLibraryDirectoryPath];
|
||||
NSString *containerPath = [libraryPath stringByDeletingLastPathComponent];
|
||||
NSURL *baseURL = [NSURL fileURLWithPath:containerPath];
|
||||
DebugUIFileBrowser *fileBrowser = [[DebugUIFileBrowser alloc] initWithFileURL:baseURL];
|
||||
[viewController.navigationController pushViewController:fileBrowser animated:YES];
|
||||
}];
|
||||
|
|
|
@ -498,7 +498,7 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations
|
|||
|
||||
// Settings button.
|
||||
UIBarButtonItem *settingsButton;
|
||||
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(10, 0)) {
|
||||
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(11, 0)) {
|
||||
const NSUInteger kAvatarSize = 28;
|
||||
UIImage *_Nullable localProfileAvatarImage = [OWSProfileManager.sharedManager localProfileAvatarImage];
|
||||
UIImage *avatarImage = (localProfileAvatarImage
|
||||
|
@ -1208,13 +1208,16 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations
|
|||
return;
|
||||
}
|
||||
|
||||
// We do this synchronously if we're already on the main thread.
|
||||
DispatchMainThreadSafe(^{
|
||||
ConversationViewController *conversationVC = [ConversationViewController new];
|
||||
[conversationVC configureForThread:thread action:action focusMessageId:focusMessageId];
|
||||
self.lastThread = thread;
|
||||
|
||||
[self.navigationController setViewControllers:@[ self, conversationVC ] animated:isAnimated];
|
||||
if (self.homeViewMode == HomeViewMode_Archive) {
|
||||
[self.navigationController pushViewController:conversationVC animated:isAnimated];
|
||||
} else {
|
||||
[self.navigationController setViewControllers:@[ self, conversationVC ] animated:isAnimated];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1512,7 +1515,12 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations
|
|||
// In Debug this pops up *every* time, which is helpful, but annoying.
|
||||
// In Production this will pop up at most 3 times per 365 days.
|
||||
#ifndef DEBUG
|
||||
[SKStoreReviewController requestReview];
|
||||
static dispatch_once_t onceToken;
|
||||
// Despite `SKStoreReviewController` docs, some people have reported seeing the "request review" prompt
|
||||
// repeatedly after first installation. Let's make sure it only happens at most once per launch.
|
||||
dispatch_once(&onceToken, ^{
|
||||
[SKStoreReviewController requestReview];
|
||||
});
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -38,11 +38,15 @@
|
|||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
//#define SHOW_COLOR_PICKER
|
||||
|
||||
const CGFloat kIconViewLength = 24;
|
||||
|
||||
@interface OWSConversationSettingsViewController () <ContactEditingDelegate,
|
||||
ContactsViewHelperDelegate,
|
||||
#ifdef SHOW_COLOR_PICKER
|
||||
ColorPickerDelegate,
|
||||
#endif
|
||||
OWSSheetViewControllerDelegate>
|
||||
|
||||
@property (nonatomic) TSThread *thread;
|
||||
|
@ -59,7 +63,9 @@ const CGFloat kIconViewLength = 24;
|
|||
@property (nonatomic, readonly) ContactsViewHelper *contactsViewHelper;
|
||||
@property (nonatomic, readonly) UIImageView *avatarView;
|
||||
@property (nonatomic, readonly) UILabel *disappearingMessagesDurationLabel;
|
||||
#ifdef SHOW_COLOR_PICKER
|
||||
@property (nonatomic) OWSColorPicker *colorPicker;
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
||||
|
@ -250,8 +256,10 @@ const CGFloat kIconViewLength = 24;
|
|||
[[OWSDisappearingMessagesConfiguration alloc] initDefaultWithThreadId:self.thread.uniqueId];
|
||||
}
|
||||
|
||||
#ifdef SHOW_COLOR_PICKER
|
||||
self.colorPicker = [[OWSColorPicker alloc] initWithThread:self.thread];
|
||||
self.colorPicker.delegate = self;
|
||||
#endif
|
||||
|
||||
[self updateTableContents];
|
||||
}
|
||||
|
@ -291,19 +299,6 @@ const CGFloat kIconViewLength = 24;
|
|||
[weakSelf showMediaGallery];
|
||||
}]];
|
||||
|
||||
[mainSection addItem:[OWSTableItem
|
||||
itemWithCustomCellBlock:^{
|
||||
NSString *colorName = self.thread.conversationColorName;
|
||||
UIColor *currentColor =
|
||||
[OWSConversationColor conversationColorOrDefaultForColorName:colorName].themeColor;
|
||||
NSString *title = NSLocalizedString(@"CONVERSATION_SETTINGS_CONVERSATION_COLOR",
|
||||
@"Label for table cell which leads to picking a new conversation color");
|
||||
return [weakSelf disclosureCellWithName:title iconColor:currentColor];
|
||||
}
|
||||
actionBlock:^{
|
||||
[weakSelf showColorPicker];
|
||||
}]];
|
||||
|
||||
if ([self.thread isKindOfClass:[TSContactThread class]] && self.contactsManager.supportsContactEditing
|
||||
&& !self.hasExistingContact) {
|
||||
[mainSection addItem:[OWSTableItem itemWithCustomCellBlock:^{
|
||||
|
@ -478,6 +473,22 @@ const CGFloat kIconViewLength = 24;
|
|||
customRowHeight:UITableViewAutomaticDimension
|
||||
actionBlock:nil]];
|
||||
}
|
||||
#ifdef SHOW_COLOR_PICKER
|
||||
[mainSection
|
||||
addItem:[OWSTableItem
|
||||
itemWithCustomCellBlock:^{
|
||||
ConversationColorName colorName = self.thread.conversationColorName;
|
||||
UIColor *currentColor =
|
||||
[OWSConversationColor conversationColorOrDefaultForColorName:colorName].themeColor;
|
||||
NSString *title = NSLocalizedString(@"CONVERSATION_SETTINGS_CONVERSATION_COLOR",
|
||||
@"Label for table cell which leads to picking a new conversation color");
|
||||
return
|
||||
[weakSelf cellWithName:title iconName:@"ic_color_palette" disclosureIconColor:currentColor];
|
||||
}
|
||||
actionBlock:^{
|
||||
[weakSelf showColorPicker];
|
||||
}]];
|
||||
#endif
|
||||
|
||||
[contents addSection:mainSection];
|
||||
|
||||
|
@ -693,22 +704,17 @@ const CGFloat kIconViewLength = 24;
|
|||
return 12.f;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)disclosureCellWithName:(NSString *)name iconColor:(UIColor *)iconColor
|
||||
- (UITableViewCell *)cellWithName:(NSString *)name
|
||||
iconName:(NSString *)iconName
|
||||
disclosureIconColor:(UIColor *)disclosureIconColor
|
||||
{
|
||||
OWSAssertDebug(name.length > 0);
|
||||
UITableViewCell *cell = [self cellWithName:name iconName:iconName];
|
||||
OWSColorPickerAccessoryView *accessoryView =
|
||||
[[OWSColorPickerAccessoryView alloc] initWithColor:disclosureIconColor];
|
||||
[accessoryView sizeToFit];
|
||||
cell.accessoryView = accessoryView;
|
||||
|
||||
UIView *iconView = [UIView containerView];
|
||||
[iconView autoSetDimensionsToSize:CGSizeMake(kIconViewLength, kIconViewLength)];
|
||||
|
||||
UIView *swatchView = [NeverClearView new];
|
||||
const CGFloat kSwatchWidth = 20;
|
||||
[swatchView autoSetDimensionsToSize:CGSizeMake(kSwatchWidth, kSwatchWidth)];
|
||||
swatchView.layer.cornerRadius = kSwatchWidth / 2;
|
||||
swatchView.backgroundColor = iconColor;
|
||||
[iconView addSubview:swatchView];
|
||||
[swatchView autoCenterInSuperview];
|
||||
|
||||
return [self cellWithName:name iconView:iconView];
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)cellWithName:(NSString *)name iconName:(NSString *)iconName
|
||||
|
@ -1301,6 +1307,8 @@ const CGFloat kIconViewLength = 24;
|
|||
|
||||
#pragma mark - ColorPickerDelegate
|
||||
|
||||
#ifdef SHOW_COLOR_PICKER
|
||||
|
||||
- (void)showColorPicker
|
||||
{
|
||||
OWSSheetViewController *sheetViewController = self.colorPicker.sheetViewController;
|
||||
|
@ -1333,6 +1341,8 @@ const CGFloat kIconViewLength = 24;
|
|||
});
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#pragma mark - OWSSheetViewController
|
||||
|
||||
- (void)sheetViewControllerRequestedDismiss:(OWSSheetViewController *)sheetViewController
|
||||
|
|
|
@ -780,7 +780,7 @@ extension URLSessionTask {
|
|||
// We write assets to the temporary directory so that iOS can clean them up.
|
||||
// We try to eagerly clean up these assets when they are no longer in use.
|
||||
|
||||
let tempDirPath = NSTemporaryDirectory()
|
||||
let tempDirPath = OWSTemporaryDirectory()
|
||||
let dirPath = (tempDirPath as NSString).appendingPathComponent("GIFs")
|
||||
do {
|
||||
let fileManager = FileManager.default
|
||||
|
|
|
@ -79,7 +79,7 @@ NSString *const kOWSBackup_KeychainService = @"kOWSBackup_KeychainService";
|
|||
// TODO: Exports should use a new directory each time, but imports
|
||||
// might want to use a predictable directory so that repeated
|
||||
// import attempts can reuse downloads from previous attempts.
|
||||
NSString *temporaryDirectory = NSTemporaryDirectory();
|
||||
NSString *temporaryDirectory = OWSTemporaryDirectory();
|
||||
self.jobTempDirPath = [temporaryDirectory stringByAppendingPathComponent:[NSUUID UUID].UUIDString];
|
||||
|
||||
if (![OWSFileSystem ensureDirectoryExists:self.jobTempDirPath]) {
|
||||
|
|
|
@ -39,7 +39,7 @@ public class OWSBackupLazyRestoreJob: NSObject {
|
|||
}
|
||||
|
||||
private func restoreAttachments() {
|
||||
let temporaryDirectory = NSTemporaryDirectory()
|
||||
let temporaryDirectory = OWSTemporaryDirectory()
|
||||
let jobTempDirPath = (temporaryDirectory as NSString).appendingPathComponent(NSUUID().uuidString)
|
||||
|
||||
guard OWSFileSystem.ensureDirectoryExists(jobTempDirPath) else {
|
||||
|
|
|
@ -214,8 +214,7 @@ typedef void (^OrphanDataBlock)(OWSOrphanData *);
|
|||
// a single launch of the app. Since our "date threshold"
|
||||
// for deletion is relative to the current launch time,
|
||||
// all temp files currently in use should be safe.
|
||||
NSString *temporaryDirectory = NSTemporaryDirectory();
|
||||
NSArray<NSString *> *_Nullable tempFilePaths = [self filePathsInDirectorySafe:temporaryDirectory].allObjects;
|
||||
NSArray<NSString *> *_Nullable tempFilePaths = [self getTempFilePaths];
|
||||
if (!tempFilePaths || !self.isMainAppAndActive) {
|
||||
return nil;
|
||||
}
|
||||
|
@ -718,6 +717,21 @@ typedef void (^OrphanDataBlock)(OWSOrphanData *);
|
|||
return YES;
|
||||
}
|
||||
|
||||
+ (nullable NSArray<NSString *> *)getTempFilePaths
|
||||
{
|
||||
NSString *dir1 = OWSTemporaryDirectory();
|
||||
NSArray<NSString *> *_Nullable paths1 = [[self filePathsInDirectorySafe:dir1].allObjects mutableCopy];
|
||||
|
||||
NSString *dir2 = OWSTemporaryDirectoryAccessibleAfterFirstAuth();
|
||||
NSArray<NSString *> *_Nullable paths2 = [[self filePathsInDirectorySafe:dir2].allObjects mutableCopy];
|
||||
|
||||
if (paths1 && paths2) {
|
||||
return [paths1 arrayByAddingObjectsFromArray:paths2];
|
||||
} else {
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
|
|
@ -392,7 +392,7 @@ typedef void (^DebugLogUploadFailure)(DebugLogUploader *uploader, NSError *error
|
|||
[dateFormatter setDateFormat:@"yyyy.MM.dd hh.mm.ss"];
|
||||
NSString *dateString = [dateFormatter stringFromDate:[NSDate new]];
|
||||
NSString *logsName = [[dateString stringByAppendingString:@" "] stringByAppendingString:NSUUID.UUID.UUIDString];
|
||||
NSString *tempDirectory = NSTemporaryDirectory();
|
||||
NSString *tempDirectory = OWSTemporaryDirectory();
|
||||
NSString *zipFilePath =
|
||||
[tempDirectory stringByAppendingPathComponent:[logsName stringByAppendingPathExtension:@"zip"]];
|
||||
NSString *zipDirPath = [tempDirectory stringByAppendingPathComponent:logsName];
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "لم يتم السماح للتطبيق بالدخول على 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "المقارنة مع الحافظة";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "معلومات عن جهة الاتصال";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "معلومات المجموعة";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Clipboard-la müqayisə et";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contact Info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Group Info";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal няма достъп до вашия 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Сравнете с копираното";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Информация за контакта";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Информация за групата";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Uporedi sa međuspremnikom";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informacije o kontaktu";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informacije o grupi";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal no ha pogut accedir al teu compte iCloud per la còpia de seguretat";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Compara'l amb el porta-retalls";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informació del contacte";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informació del grup";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Aplikace Signal nemá povolení přistupovat k zálohám účtu 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Porovnat se schránkou";
|
||||
|
||||
|
@ -531,7 +540,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" = "Barva";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informace o skupině";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal fik ikke adgang til din iCloud-konto til sikkerhedskopiering.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Sammenlign med Udklipsholder";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kontaktinformation";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Farve";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Gruppeinformation";
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ in Gruppe %@: %@";
|
||||
|
||||
/* 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 kann nicht starten. Bitte sende ein Diagnoseprotokoll an support@signal.org, damit wir dieses Problem beheben können.";
|
||||
|
||||
/* Title for the 'app launch failed' alert. */
|
||||
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Fehler";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ ist nun im App Store verfügbar.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "Neue Signal-Version verfügbar";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Aktualisieren";
|
||||
|
@ -114,10 +114,10 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "Anhang";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Herunterladen gescheitert. Für erneuten Versuch antippen.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Wird heruntergeladen …";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Wird heruntergeladen …";
|
||||
|
||||
/* Status label when an attachment is enqueued, but hasn't yet started downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_QUEUED" = "In Wartereihe";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Fehler beim Senden des Anhangs";
|
||||
|
||||
/* 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" = "Bild kann nicht konvertiert werden.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Verarbeiten des Videos nicht möglich.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Video kann nicht verarbeitet werden.";
|
||||
|
||||
/* 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" = "Bild kann nicht geparst werden.";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Metadaten konnten nicht aus dem Bild entfernt werden.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Metadaten können nicht aus dem Bild entfernt werden.";
|
||||
|
||||
/* 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" = "Bildgröße kann nicht geändert werden.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Anhang ist zu groß.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Anhang besitzt ungültigen Inhalt.";
|
||||
|
||||
/* 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" = "Anhang besitzt ein ungültiges Dateiformat.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "Anhang ist leer.";
|
||||
|
@ -165,7 +165,7 @@
|
|||
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Auswählen des Dokuments gescheitert.";
|
||||
|
||||
/* 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" = "Bitte erstelle ein komprimiertes Archiv von dieser Datei oder diesem Ordner und versuche stattdessen dieses zu versenden.";
|
||||
|
||||
/* Alert title when picking a document fails because user picked a directory/bundle */
|
||||
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Datei nicht unterstützt";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "Erneut anrufen";
|
||||
|
||||
/* 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" = "Du kannst den Zugriff auf das Mikrofon in der iOS-App »Einstellungen« aktivieren, um Anrufe zu machen und Sprachnachrichten aufzuzeichnen.";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "Zugriff auf Mikrofon erforderlich";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Anrufen";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Keine Antwort";
|
||||
|
||||
/* 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 %@";
|
||||
|
@ -339,10 +339,10 @@
|
|||
"CALL_VIEW_MUTE_LABEL" = "Stummschalten";
|
||||
|
||||
/* 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" = "Du kannst die iOS-Anrufintegration in Signals Datenschutzeinstellungen aktivieren, um eingehende Anrufe vom Sperrbildschirm aus anzunehmen.";
|
||||
|
||||
/* 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" = "Du kannst die iOS-Anrufintegration in Signals Datenschutzeinstellungen aktivieren, um für eingehende Anrufe Name und Rufnummer zu sehen.";
|
||||
|
||||
/* Label for button that dismiss the call view's settings nag. */
|
||||
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Nicht jetzt";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal wurde kein Zugriff auf dein iCloud-Benutzerkonto für Sicherungen gewährt.";
|
||||
|
||||
/* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_1" = "Wähle die Farbe ausgehender Nachrichten für diese Unterhaltung.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Nur du wirst die gewählte Farbe sehen.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Unterhaltungsfarbe";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Mit Zwischenablage vergleichen";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Einladen";
|
||||
|
||||
/* 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 kannst den Zugriff auf deine Kontakte in der iOS-App »Einstellungen« aktivieren, um zu sehen, welche deiner Kontakte Signal verwenden.";
|
||||
|
||||
/* 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" = "Dies setzt die App in ihren Ursprungszustand zurück. Dabei werden alle deine Nachrichten und dein Benutzerkonto auf dem Server gelöscht. Nach Abschluss des Vorgangs beendet sich die App automatisch.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Möchtest du dein Benutzerkonto wirklich löschen?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kontaktinformationen";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Farbe";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Unterhaltungsfarbe";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Gruppeninformationen";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Zu Kontakten hinzufügen";
|
||||
|
||||
/* 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" = "Dein Profil mit diesem Benutzer teilen";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Dieser Benutzer befindet sich nicht in deinen Kontakten.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Mehr Nachrichten werden geladen …";
|
||||
|
||||
/* 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" = "Antippen für mehr";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Diesen Benutzer blockieren";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Ort für Zensurumgehung";
|
||||
|
||||
/* 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" = "Du kannst den Zugriff in der App »Einstellungen« aktivieren.";
|
||||
|
||||
/* 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 benötigt Zugriff auf die Kontakte, um Kontaktinformationen bearbeiten zu können";
|
||||
|
@ -733,7 +742,7 @@
|
|||
"EDIT_GROUP_DEFAULT_TITLE" = "Gruppe bearbeiten";
|
||||
|
||||
/* Label for the cell that lets you add a new member to a group. */
|
||||
"EDIT_GROUP_MEMBERS_ADD_MEMBER" = "Hinzufügen …";
|
||||
"EDIT_GROUP_MEMBERS_ADD_MEMBER" = "Hinzufügen …";
|
||||
|
||||
/* a title for the members section of the 'new/update group' view. */
|
||||
"EDIT_GROUP_MEMBERS_SECTION_TITLE" = "Mitglieder";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "Aktualisieren";
|
||||
|
||||
/* 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" = "Möchtest du deine Änderungen an dieser Gruppe speichern?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Ungespeicherte Änderungen";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "Lass uns zu Signal wechseln";
|
||||
|
||||
/* 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" = "Du kannst inaktive Unterhaltungen aus dem Eingang archivieren.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty archive */
|
||||
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
|
||||
"EMPTY_ARCHIVE_TITLE" = "Räume deine Unterhaltungsliste auf";
|
||||
|
||||
/* Full width label displayed when attempting to compose message */
|
||||
"EMPTY_CONTACTS_LABEL_LINE1" = "Keiner deiner Kontakte verwendet Signal.";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "Starte deine erste Signal-Unterhaltung!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "Nichts. Null. Nada. Niente.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "Leerer Eingang";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Bestätige deine PIN.";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Senden der Nachricht gescheitert.";
|
||||
|
||||
/* 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" = "Senden nicht möglich aufgrund veralteter Sicherheitsdaten.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Nachrichtenversand gescheitert, da du den Benutzer blockiert hast.";
|
||||
|
||||
/* 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" = "Speichern und Senden des Anhangs gescheitert.";
|
||||
|
||||
/* 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 konnte keine Verbindung zum Internet herstellen. Bitte erneut versuchen.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Nachrichtenversand gescheitert, da keine gültigen Empfänger vorhanden.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Ungültige Antwort des Dienstes.";
|
||||
|
||||
/* 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" = "Dieses Gerät ist für deine Rufnummer nicht mehr registriert. Bitte installiere Signal erneut.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Serverfehler. Bitte versuche es später erneut.";
|
||||
|
@ -868,10 +877,10 @@
|
|||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Kontakt ist kein Signal-Nutzer.";
|
||||
|
||||
/* 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" = "Anhangsfehler: Bitte diesen Kontakt, Signal zu aktualisieren und danach die Nachricht erneut zu senden.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Nachrichtenduplikat erhalten.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Empfängerschlüssel ist ungültig.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "Empfangene Nachricht war fehlerhaft verschlüsselt.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Mit dieser Signal-Version inkompatible Nachricht erhalten.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "Kein Schlüssel für diesen Kontakt vorhanden.";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "Unregistrierter Benutzer: %@";
|
||||
|
||||
/* 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" = "Zu viele Fehler mit diesem Kontakt. Bitte später erneut versuchen.";
|
||||
|
||||
/* 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" = "Deine Sicherheitsnummer mit %@ hat sich kürzlich geändert. Vielleicht möchtest du vor dem erneuten Senden deinen Kontakt verifizieren.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "Verifizieren der Sicherheitsnummer gescheitert!";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "Diese Unterhaltung enthält keine Medieninhalte.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Neuere Medieninhalte werden geladen …";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Ältere Medieninhalte werden geladen …";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Anhang";
|
||||
|
@ -979,7 +988,7 @@
|
|||
"GROUP_MEMBERS_CALL" = "Anrufen";
|
||||
|
||||
/* 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" = "Verifikation für alle entfernen";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Dies wird die Verifikation für alle Gruppenmitglieder entfernen, deren Sicherheitsnummern sich seit dem jeweils letzten Verifizieren geändert haben.";
|
||||
|
@ -1030,25 +1039,25 @@
|
|||
"HOME_VIEW_TITLE_INBOX" = "Signal";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_CONNECTING" = "Verbinden …";
|
||||
"IN_CALL_CONNECTING" = "Verbinden …";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Verbindung wird wiederhergestellt …";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Klingeln …";
|
||||
"IN_CALL_RINGING" = "Klingeln …";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_SECURING" = "Angenommen. Absichern …";
|
||||
"IN_CALL_SECURING" = "Angenommen. Absichern …";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_TERMINATED" = "Anruf beendet.";
|
||||
|
||||
/* 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" = "Diese Unterhaltungen sind archiviert und werden nur dann im Eingang erscheinen, falls neue Nachrichten empfangen werden.";
|
||||
|
||||
/* 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 kannst den Zugriff auf deine Kontakte in der iOS-App »Einstellungen« aktivieren, um Kontaktnamen in Signals Unterhaltungsliste zu sehen.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "Eingehender Anruf";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Ungültige Audiodatei.";
|
||||
|
||||
/* 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 kannst den Zugriff auf deine Kontakte in der iOS-App »Einstellungen« aktivieren, um deine Freunde zu Signal einzuladen.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Zugriff auf Kontakte erlauben";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "Freunde einladen";
|
||||
|
||||
/* 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" = "Gleichzeitiges Einladen mehrerer Benutzer beginnt eine Gruppennachricht, deren Empfänger sich gegenseitig sehen können.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "Nachrichten verschwinden nach %@.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "Gruppe verlassen";
|
||||
|
||||
/* 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" = "Dieser QR-Code ist ungültig. Stelle bitte sicher, dass du den QR-Code einscannst, der auf dem zu koppelnden Gerät angezeigt wird.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "Koppeln des Geräts gescheitert";
|
||||
|
||||
/* 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" = "Dieses Gerät wird in der Lage sein, deine Gruppen und Kontakte zu sehen, auf deine Unterhaltungen zuzugreifen und Nachrichten in deinem Namen zu versenden.";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Gerät koppeln?";
|
||||
|
@ -1114,7 +1123,7 @@
|
|||
"LINK_DEVICE_RESTART" = "Erneut versuchen";
|
||||
|
||||
/* 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" = "Scanne den auf dem zu koppelnden Gerät angezeigten QR-Code ein.";
|
||||
|
||||
/* Subheading for 'Link New Device' navigation */
|
||||
"LINK_NEW_DEVICE_SUBTITLE" = "QR-Code einscannen";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "Nachrichtentext kopieren";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Diese Nachricht löschen";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Sie wird nur auf diesem Gerät gelöscht";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Mehr Details";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Auf diese Nachricht antworten";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Medieninhalte speichern";
|
||||
|
@ -1258,19 +1267,19 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Versand gescheitert";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Wird gesendet …";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Gesendet";
|
||||
|
||||
/* status message while attachment is uploading */
|
||||
"MESSAGE_STATUS_UPLOADING" = "Wird hochgeladen …";
|
||||
"MESSAGE_STATUS_UPLOADING" = "Wird hochgeladen …";
|
||||
|
||||
/* 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" = "%@ ist nicht mehr als verifiziert markiert. Für Optionen antippen.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Du hast diesen Benutzer blockiert";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ ist nicht mehr als verifiziert markiert. Für Optionen antippen.";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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" = "Du kannst den Zugriff auf die Kamera in der iOS-App »Einstellungen« aktivieren, um in Signal Videoanrufe zu machen.";
|
||||
|
||||
/* Alert title
|
||||
Alert title when camera is not authorized */
|
||||
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal benötigt Zugriff auf deine Kamera.";
|
||||
|
||||
/* 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" = "Du kannst diese Berechtigung in der iOS-App »Einstellungen« aktivieren.";
|
||||
|
||||
/* 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" = "Signal benötigt für diese Funktion Zugriff auf deine Fotos.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Entgangener Anruf von %@.";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "Du kannst keine weiteren Geräte koppeln.";
|
||||
|
||||
/* 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" = "Du hast die maximale Anzahl an Geräten erreicht, die du derzeit mit deinem Benutzerkonto koppeln kannst. Bitte entferne ein Gerät und versuche es erneut.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Du wirst keine Mitteilungen über stummgeschaltete Unterhaltungen erhalten.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Überspringen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Bitte überprüfe, ob du online bist, und versuche es erneut.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Zensurumgehung: An";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Via Rufnummer suchen";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Via Rufnummer hinzufügen";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Gruppenbild festlegen";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Dein Kontakt verwendet eine alte Version von Signal. Um den Kontakt verifizieren zu können, muss dieser die Signal-App aktualisieren.";
|
||||
|
||||
/* 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" = "Der eingescannte Code sieht nicht wie eine Sicherheitsnummer aus. Verwendet ihr beide die aktuelle Version von Signal?";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Falls du die Sicherheit deiner Ende-zu-Ende-Verschlüsselung mit %@ verifizieren möchtest, vergleiche bitte die oben dargestellten Nummern mit den Nummern auf dem Gerät deines Kontakts.\n\nAlternativ kannst du den Code deines Kontakts einscannen oder ihn deinen eigenen Code einscannen lassen.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Speichern";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Wird gespeichert …";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profil";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Rufnummer";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Du musst dich registrieren, bevor du eine Nachricht senden kannst.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Deine Rufnummer";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Versenden der Einladung gescheitert. Bitte später erneut versuchen.";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Du hast deinen Freund eingeladen, Signal zu verwenden!";
|
||||
|
||||
/* Text for button to send a Signal invite via SMS. %@ is placeholder for the recipient's phone number. */
|
||||
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "Via SMS einladen: %@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Anrufe immer umleiten";
|
||||
|
||||
/* 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" = "Alle Anrufe über einen Signal-Server leiten, um deine IP-Adresse gegenüber Kontakten nicht offenzulegen. Bei Aktivierung wird sich die Anrufqualität verringern.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Unterhaltungsverlauf löschen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Urheberrecht Signal Messenger \nLizensiert unter GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Benutzerkonto löschen";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Alle Daten löschen";
|
||||
|
||||
/* 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" = "Möchtest du den gesamten Verlauf (Nachrichten, Anhänge, Anrufe usw.) wirklich löschen? Dieser Vorgang ist unwiderruflich.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Alles löschen";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Deine Sicherheitsnummer mit %@ hat sich kürzlich geändert. Vielleicht möchtest du sie vor dem erneuten Senden in der Haupt-App verifizieren.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Wird geladen …";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Starte zum Registrieren die Signal-App.";
|
||||
|
@ -2115,10 +2124,10 @@
|
|||
"SHARE_EXTENSION_NOT_YET_MIGRATED_TITLE" = "Nicht bereit";
|
||||
|
||||
/* Alert title */
|
||||
"SHARE_EXTENSION_SENDING_FAILURE_TITLE" = "Senden des Anhangs nicht möglich";
|
||||
"SHARE_EXTENSION_SENDING_FAILURE_TITLE" = "Anhang kann nicht versendet werden";
|
||||
|
||||
/* Alert title */
|
||||
"SHARE_EXTENSION_SENDING_IN_PROGRESS_TITLE" = "Wird hochgeladen …";
|
||||
"SHARE_EXTENSION_SENDING_IN_PROGRESS_TITLE" = "Wird hochgeladen …";
|
||||
|
||||
/* 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" = "Anhang kann nicht vorbereitet werden";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "Entkoppeln";
|
||||
|
||||
/* 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" = "Dieses Gerät wird keine Nachrichten mehr versenden oder empfangen können sobald es entkoppelt wird.";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "»%@« entkoppeln?";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Gruppenmitglieder können nicht entfernt werden. Entweder müssen diese die Gruppe selbst verlassen oder du kannst eine neue Gruppe ohne sie erstellen.";
|
||||
|
||||
/* 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" = "Nicht unterstützt";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Die iOS-Anrufintegration macht die Anrufannahme vom Sperrbildschirm aus einfach. Weiterhin ist sie vertraulich, denn mit der Standardeinstellung werden deine Anrufer anonymisiert.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Hallo, sichere Videoanrufe!";
|
||||
|
||||
/* 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 erfordert iOS 9 oder neuer. Bitte benutze die Softwareaktualisierung in der iOS-App »Einstellungen«.";
|
||||
|
||||
/* Title for the alert indicating that user should upgrade iOS. */
|
||||
"UPGRADE_IOS_ALERT_TITLE" = "iOS aktualisieren";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Signal wird aktualisiert …";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Zurück";
|
||||
|
|
|
@ -33,13 +33,13 @@
|
|||
"ADD_GROUP_MEMBER_VIEW_TITLE" = "Προσθήκη Μέλους";
|
||||
|
||||
/* Message shown in conversation view that offers to share your profile with a group. */
|
||||
"ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Θα θέλατε να μοιραστείτε το προφίλ σας με αυτή την ομάδα;";
|
||||
"ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" = "Θέλετε να μοιραστείτε το προφίλ σας με αυτή την ομάδα;";
|
||||
|
||||
/* Message shown in conversation view that offers to add an unknown user to your phone's contacts. */
|
||||
"ADD_TO_CONTACTS_OFFER" = "Θα θέλατε να προσθέσετε αυτόν τον χρήστη στις επαφές σας;";
|
||||
"ADD_TO_CONTACTS_OFFER" = "Θέλετε να προσθέσετε αυτόν τον χρήστη στις επαφές σας;";
|
||||
|
||||
/* Message shown in conversation view that offers to share your profile with a user. */
|
||||
"ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Θα θέλατε να μοιραστείτε το προφίλ σας με αυτόν τον χρήστη;";
|
||||
"ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Θέλετε να μοιραστείτε το προφίλ σας με αυτόν τον χρήστη;";
|
||||
|
||||
/* The label for the 'discard' button in alerts and action sheets. */
|
||||
"ALERT_DISCARD_BUTTON" = "Απόρριψη";
|
||||
|
@ -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" = "Σφάλμα";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Η έκδοση %@ είναι τώρα διαθέσιμη στο App Store.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "Μια νέα έκδοση του Signal είναι διαθέσιμη";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Αναβάθμιση";
|
||||
|
@ -114,40 +114,40 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "Συνημμένο";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Η λήψη απέτυχε. Πατήστε για επανάληψη.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Λήψη...";
|
||||
|
||||
/* Status label when an attachment is enqueued, but hasn't yet started downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_QUEUED" = "Σε σειρά προτεραιότητας";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_QUEUED" = "Σε αναμονή";
|
||||
|
||||
/* The title of the 'attachment error' alert. */
|
||||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Σφάλμα αποστολής συννημένου";
|
||||
|
||||
/* Attachment error message for image attachments which could not be converted to JPEG */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Unable to convert image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Αδυναμία μετατροπής της εικόνας.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Αδυναμία επεξεργασίας βίντεο.";
|
||||
|
||||
/* Attachment error message for image attachments which cannot be parsed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Unable to parse image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Αδυναμία ανάλυσης της εικόνας.";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Αδυναμία κατάργησης μεταδεδομένων από την εικόνα.";
|
||||
|
||||
/* Attachment error message for image attachments which could not be resized */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Unable to resize image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Αδυναμία αλλαγής μεγέθους της εικόνας.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Το συνημμένο είναι πολύ μεγάλο.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Το συνημμένο περιλαμβάνει μη έγκυρο περιεχόμενο.";
|
||||
|
||||
/* Attachment error message for attachments with an invalid file format */
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Attachment has an invalid file format.";
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Το συνημμένο έχει μη έγκυρη μορφή αρχείου.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "Το συννημένο είναι κενό.";
|
||||
|
@ -165,7 +165,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" = "Μη υποστηριζόμενο αρχείο";
|
||||
|
@ -186,7 +186,7 @@
|
|||
"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Μη έγκυρη απόκριση υπηρεσίας";
|
||||
|
||||
/* Error indicating the backup export failed to save a file to the cloud. */
|
||||
"BACKUP_EXPORT_ERROR_SAVE_FILE_TO_CLOUD_FAILED" = "Δεν ήταν δυνατή η μεταφόρτωση των δεδομένων του αντιγράφου ασφαλείας .";
|
||||
"BACKUP_EXPORT_ERROR_SAVE_FILE_TO_CLOUD_FAILED" = "Δεν ήταν δυνατή η μεταφόρτωση των δεδομένων του αντιγράφου ασφαλείας.";
|
||||
|
||||
/* Indicates that the cloud is being cleaned up. */
|
||||
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Εκκαθάριση Αντιγράφου Ασφαλείας";
|
||||
|
@ -216,7 +216,7 @@
|
|||
"BACKUP_IMPORT_PHASE_FINALIZING" = "Ολοκλήρωση δημιουργίας αντιγράφου ασφαλείας";
|
||||
|
||||
/* Indicates that the backup import data is being imported. */
|
||||
"BACKUP_IMPORT_PHASE_IMPORT" = "Εισαγωγή Αντιγράφου Ασφαλείας.";
|
||||
"BACKUP_IMPORT_PHASE_IMPORT" = "Εισαγωγή αντιγράφου ασφαλείας.";
|
||||
|
||||
/* Indicates that the backup database is being restored. */
|
||||
"BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Επαναφορά βάσης δεδομένων";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "Επανάκληση";
|
||||
|
||||
/* Alert message when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "You can enable microphone access in the iOS Settings app to make calls and record voice messages in Signal.";
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "Μπορείτε να ενεργοποιήσετε την πρόσβαση στο μικρόφωνο στην εφαρμογή Ρυθμίσεις του iOS για να πραγματοποιείτε κλήσεις και να εγγράφετε φωνητικά μηνύματα στο Signal.";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "Απαιτείται πρόσβαση στο μικρόφωνο";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Κλήση";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Δεν απαντάει";
|
||||
|
||||
/* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */
|
||||
"CALL_STATUS_FORMAT" = "Το Signal %@";
|
||||
|
@ -339,10 +339,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" = "Όχι Τώρα";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Δεν επετράπη στο Signal η πρόσβαση στο λογαριασμό σας 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" = "Επιλέξτε το χρώμα των εξερχόμενων μηνυμάτων σε αυτήν τη συνομιλία.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Μόνο εσείς θα βλέπετε το χρώμα που θα επιλέξετε.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Χρώμα Συνομιλίας";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Σύγκριση με Πρόχειρο";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Πρόσκληση";
|
||||
|
||||
/* Multi-line label explaining why compose-screen contact picker is empty. */
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users.";
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Μπορείτε να ενεργοποιήσετε την πρόσβαση στις επαφές στην εφαρμογή Ρυθμίσεις του iOS για να δείτε ποιοι από τις επαφές σας είναι χρήστες του Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Αυτό θα επαναφέρει την εφαρμογή στην αρχική κατάσταση, διαγράφοντας τα μηνύματα και το λογαριασμό σας από τον διακομιστή. Η εφαρμογή θα κλείσει μετά την ολοκλήρωση αυτής της διαδικασίας.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Είστε σίγουρος/η ότι θέλετε να διαγράψετε το λογαριασμό σας;";
|
||||
|
@ -411,7 +420,7 @@
|
|||
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Δε θα έχετε πια τη δυνατότητα αποστολής ή λήψης μηνυμάτων σε αυτήν την ομάδα.";
|
||||
|
||||
/* Alert title */
|
||||
"CONFIRM_LEAVE_GROUP_TITLE" = "Θέλετε πραγματικά να φύγετε;";
|
||||
"CONFIRM_LEAVE_GROUP_TITLE" = "Θέλετε πραγματικά να αποχωρήσετε;";
|
||||
|
||||
/* Button text */
|
||||
"CONFIRM_LINK_NEW_DEVICE_ACTION" = "Σύνδεση Νέας Συσκευής";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Πληροφορίες Επαφής";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Χρώμα";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Χρώμα Συνομιλίας";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Πληροφορίες Ομάδας";
|
||||
|
@ -591,22 +600,22 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Προσθήκη στις Επαφές";
|
||||
|
||||
/* Message shown in conversation view that offers to share your profile with a user. */
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile with This User";
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Κοινή χρήση του προφίλ σας με αυτόν τον χρήστη";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Αυτός ο χρήστης δεν βρίσκεται στις επαφές σας.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Φόρτωση Περισσότερων Μηνυμάτων...";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Tap for More";
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Πατήστε για περισσότερα";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Αποκλεισμός του χρήστη";
|
||||
|
||||
/* ActionSheet title */
|
||||
"CORRUPTED_SESSION_DESCRIPTION" = "Η επαναφορά της συνεδρίας θα επιτρέψει τη λήψη μελλοντικών μηνυμάτων από τον/την %@, αλλά θα ανακτήσει τα ήδη κατεστραμμένα μηνύματα.";
|
||||
"CORRUPTED_SESSION_DESCRIPTION" = "Η επαναφορά της συνεδρίας θα επιτρέψει τη λήψη μελλοντικών μηνυμάτων από τον/την %@, αλλά δεν θα ανακτήσει τα ήδη κατεστραμμένα μηνύματα.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"COUNTRYCODE_SELECT_TITLE" = "Επιλογή Κωδικού Χώρας";
|
||||
|
@ -624,10 +633,10 @@
|
|||
"DATABASE_VIEW_OVERLAY_TITLE" = "Βελτιστοποίηση βάσης δεδομένων";
|
||||
|
||||
/* Format string for a relative time, expressed as a certain number of hours in the past. Embeds {{The number of hours}}. */
|
||||
"DATE_HOURS_AGO_FORMAT" = "%@ Ώρες Πρίν";
|
||||
"DATE_HOURS_AGO_FORMAT" = "%@ Ώρ. Πρίν";
|
||||
|
||||
/* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */
|
||||
"DATE_MINUTES_AGO_FORMAT" = "%@ Λεπτά Πρίν";
|
||||
"DATE_MINUTES_AGO_FORMAT" = "%@ Λεπ. Πρίν";
|
||||
|
||||
/* The present; the current time. */
|
||||
"DATE_NOW" = "Τώρα";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Τοποθεσία παράκαμψης λογοκρισίας";
|
||||
|
||||
/* 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" = "Μπορείτε να ενεργοποιήσετε την πρόσβαση στην εφαρμογή \"Ρυθμίσεις\" του 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 χρειάζεται πρόσβαση στις επαφές για να επεξεργαστεί πληροφορίες επαφών";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "Ενημέρωση";
|
||||
|
||||
/* 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" = "Θέλετε να αποθηκεύσετε τις αλλαγές που κάνατε σε αυτήν την ομάδα;";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Μη αποθηκευμένες αλλαγές";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "Ας χρησιμοποιήσουμε το 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" = "Μπορείτε να αρχειοθετήσετε τις ανενεργές συνομιλίες από τα εισερχόμενα σας.";
|
||||
|
||||
/* 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.";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "Αρχίστε την πρώτη συνομιλία σας στο Signal!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "Κανένα. Τίποτα. Μηδέν.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "Κανένα Εισερχόμενο";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Επιβεβαιώστε το PIN σας.";
|
||||
|
@ -808,13 +817,13 @@
|
|||
"ENABLE_2FA_VIEW_PIN_DOES_NOT_MATCH" = "Τα PIN δεν ταιριάζουν.";
|
||||
|
||||
/* Indicates that user should select a 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Πληκτρολογήστε ένα PIN κλειδώματος εγγραφής. Θα σας ζητηθεί να εισάγετε αυτό το ΡΙΝ την επόμενη φορά που θα καταχωρήσετε τον αριθμό του τηλεφώνου σας στο Signal.";
|
||||
"ENABLE_2FA_VIEW_SELECT_PIN_INSTRUCTIONS" = "Πληκτρολογήστε ένα PIN κλειδώματος εγγραφής. Θα σας ζητηθεί να εισάγετε αυτό το ΡΙΝ την επόμενη φορά που θα καταχωρήσετε αυτον τον αριθμό τηλεφώνου στο Signal.";
|
||||
|
||||
/* Indicates that user has 'two factor auth pin' disabled. */
|
||||
"ENABLE_2FA_VIEW_STATUS_DISABLED_INSTRUCTIONS" = "Για αυξημένη ασφάλεια, ενεργοποιήστε το PIN κλείδωματος εγγραφής που θα απαιτείται για να επανεγγράψετε αυτόν τον αριθμό τηλεφώνου στο Signal.";
|
||||
|
||||
/* Indicates that user has 'two factor auth pin' enabled. */
|
||||
"ENABLE_2FA_VIEW_STATUS_ENABLED_INSTRUCTIONS" = "Το κλείδωμα εγγραφής είναι ενεργοποιημένο. Θα χρειαστεί να εισάγετε το PIN σας κατά την επανεγγραφή τού αριθμού τηλεφώνου σας με το Signal.";
|
||||
"ENABLE_2FA_VIEW_STATUS_ENABLED_INSTRUCTIONS" = "Το κλείδωμα εγγραφής είναι ενεργοποιημένο. Θα χρειαστεί να εισάγετε το PIN σας κατά την επανεγγραφή τού αριθμού τηλεφώνου σας στο Signal.";
|
||||
|
||||
/* Title for the 'enable two factor auth PIN' views. */
|
||||
"ENABLE_2FA_VIEW_TITLE" = "Κλείδωμα εγγραφής";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Η αποστολή του μηνύματος απέτυχε.";
|
||||
|
||||
/* Error message indicating that message send is disabled due to prekey update failures */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Unable to send due to stale prekey data.";
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Αδυναμία αποστολής λόγω μη ενημερωμένων prekey δεδομένων.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Αποτυχία αποστολής μηνύματος στον χρήστη επειδή τον έχετε αποκλείσει.";
|
||||
|
||||
/* 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" = "Αποτυχία εγγραφής και αποστολής συνημμένου.";
|
||||
|
||||
/* 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 δεν μπόρεσε να συνδεθεί στο ίντερνετ. Παρακαλώ δοκιμάστε ξανά.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Αποτυχία αποστολής μηνύματος λόγω απουσίας έγκυρων παραληπτών.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Μη έγκυρη απάντηση από την υπηρεσία.";
|
||||
|
||||
/* 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" = "Αυτή η συσκευή δεν είναι πλέον εγγεγραμμένη με τον αριθμό τηλεφώνου σας. Παρακαλώ εγκαταστήστε ξανά το Signal.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Σφάλμα διακομιστή. Παρακαλώ δοκιμάστε αργότερα.";
|
||||
|
@ -868,10 +877,10 @@
|
|||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Η επαφή δεν χρησιμοποιεί 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" = "Αποτυχία συνημμένου: Ζητήστε από την επαφή να ξανά στείλει το μήνυμα αφού ενημερώσει το Signal στην τελευταία έκδοση.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Λάβατε διπλότυπο μήνυμα.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Το κλειδί του παραλήπτη δεν είναι έγκυρο.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "Το μήνυμα που λάβατε ήταν εκτός συγχρονισμού.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Λήψη μηνύματος που δεν είναι συμβατό με αυτή την έκδοση.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "Δεν υπάρχει διαθέσιμή συνεδρία για αυτή την επαφή.";
|
||||
|
@ -901,16 +910,16 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "Μη Εγγεγραμμένος Χρήστης: %@";
|
||||
|
||||
/* 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" = "Πάρα πολλές αποτυχίες με αυτή την επαφή. Παρακαλώ δοκιμάστε ξανά αργότερα.";
|
||||
|
||||
/* 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" = "Ο αριθμός ασφαλείας με τον/την %@ άλλαξε πρόσφατα. Ίσως θέλετε να τον επιβεβαιώσετε πριν στείλετε ξανά αυτό το μήνυμα..";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "Αποτυχία επιβεβαίωσης αριθμού ασφαλείας!";
|
||||
|
||||
/* Button that marks user as verified after a successful fingerprint scan. */
|
||||
"FINGERPRINT_SCAN_VERIFY_BUTTON" = "Σημείωση ως επιβεβαιωμένο";
|
||||
"FINGERPRINT_SCAN_VERIFY_BUTTON" = "Σημείωση ως Επιβεβαιωμένος/η";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Επαναφορά συνεδρίας";
|
||||
|
@ -919,13 +928,13 @@
|
|||
"FINISH_GROUP_CREATION_LABEL" = "Ολοκλήρωση δημιουργίας ομάδας";
|
||||
|
||||
/* Label indicating media gallery is empty */
|
||||
"GALLERY_TILES_EMPTY_GALLERY" = "Δεν έχετε μέσα σε αυτή τη συνομιλία.";
|
||||
"GALLERY_TILES_EMPTY_GALLERY" = "Δεν έχετε πολυμέσα σε αυτή τη συνομιλία.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Φόρτωση Νεώτερων Πολυμέσων...";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Φόρτωση Παλαιότερων Πολυμέσων...";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Συνημμένο";
|
||||
|
@ -940,7 +949,7 @@
|
|||
"GIF_PICKER_FAILURE_ALERT_TITLE" = "Αδυναμία επιλογής GIF";
|
||||
|
||||
/* Alert message shown when user tries to search for GIFs without entering any search terms. */
|
||||
"GIF_PICKER_VIEW_MISSING_QUERY" = "Παρακαλώ εισάγετε την αναζήτησή σας.";
|
||||
"GIF_PICKER_VIEW_MISSING_QUERY" = "Παρακαλώ εισάγετε την αναζήτηση σας.";
|
||||
|
||||
/* Title for the 'GIF picker' dialog. */
|
||||
"GIF_PICKER_VIEW_TITLE" = "Αναζήτηση GIF";
|
||||
|
@ -952,7 +961,7 @@
|
|||
"GIF_VIEW_SEARCH_NO_RESULTS" = "Δεν υπάρχουν αποτελέσματα.";
|
||||
|
||||
/* Placeholder text for the search field in GIF view */
|
||||
"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Παρακαλώ εισάγετε την αναζήτησή σας.";
|
||||
"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Εισάγετε την αναζήτηση σας";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"GROUP_AVATAR_CHANGED" = "Η εικόνα προφίλ άλλαξε.";
|
||||
|
@ -979,7 +988,7 @@
|
|||
"GROUP_MEMBERS_CALL" = "Κλήση";
|
||||
|
||||
/* 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" = "Εκκαθάριση επιβεβαίωσης για όλους";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Αυτό θα αφαιρέσει την επιβεβαίωση όλων των μελών της ομάδας των οποίων οι αριθμοί ασφαλείας άλλαξαν από την τελευταία επιβεβαίωσή τους.";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "Συνδέεται...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Επανασύνδεση...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Καλεί...";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "Η Κλήση Τερματίστηκε.";
|
||||
|
||||
/* 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" = "Αυτές οι συνομιλίες είναι αρχειοθετημένες και θα εμφανιστούν στα εισερχόμενα μόνο αν ληφθούν νέα μηνύματα.";
|
||||
|
||||
/* 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" = "Μπορείτε να ενεργοποιήσετε την πρόσβαση στις επαφές στην εφαρμογή Ρυθμίσεις του iOS για να βλέπετε τα ονόματα των επαφών στη λίστα συνομιλιών του Signal.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "Εισερχόμενη κλήση";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Μη έγκυρο αρχείο ήχου.";
|
||||
|
||||
/* 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" = "Μπορείτε να ενεργοποιήσετε την πρόσβαση στις επαφές στην εφαρμογή Ρυθμίσεις του iOS για να προσκαλέσετε τους φίλους σας στο Signal.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Να Επιτρέπεται η Πρόσβαση στις Επαφές";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "Πρόσκληση Φίλων";
|
||||
|
||||
/* 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" = "Προσκαλώντας πολλαπλούς χρήστες την ίδια στιγμή θα ξεκινήσει ένα ομαδικό μήνυμα του οποίου οι παραλήπτες θα μπορούν να δουν ο ένας τον άλλον.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "Εξαφάνιση μηνυμάτων μετά από %@.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "Αποχώρηση από την Ομάδα";
|
||||
|
||||
/* 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" = "Αυτός ο κωδικός QR δεν είναι έγκυρος. Παρακαλώ βεβαιωθείτε ότι σαρώνετε τον κωδικό QR που εμφανίζεται στη συσκευή που θέλετε να συνδέσετε.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "Αποτυχία Σύνδεσης Συσκευής";
|
||||
|
||||
/* 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" = "Αυτή η συσκευή θα μπορεί να βλέπει τις ομάδες και τις επαφές σας, να έχει πρόσβαση στις συνομιλίες σας και να στέλνει μηνύματα σαν να είναι εσείς.";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Σύνδεση της συσκευής αυτής;";
|
||||
|
@ -1114,7 +1123,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";
|
||||
|
@ -1138,7 +1147,7 @@
|
|||
"LONG_TEXT_VIEW_TITLE" = "Μήνυμα";
|
||||
|
||||
/* nav bar button item */
|
||||
"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "Όλα τα Μέσα";
|
||||
"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "Όλα τα Πολυμέσα";
|
||||
|
||||
/* media picker option to take photo or video */
|
||||
"MEDIA_FROM_CAMERA_BUTTON" = "Κάμερα";
|
||||
|
@ -1162,25 +1171,25 @@
|
|||
"MEDIA_GALLERY_THIS_MONTH_HEADER" = "Αυτόν τον Μήνα";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_COPY_MEDIA" = "Αντιγραφή Μέσων ";
|
||||
"MESSAGE_ACTION_COPY_MEDIA" = "Αντιγραφή Πολυμέσων ";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_COPY_TEXT" = "Αντιγραφή Κειμένου Μηνύματος";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Διαγραφή αυτού του Mηνύματος";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Θα διαγραφεί μόνο από αυτήν τη συσκευή";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Περισσότερες Πληροφορίες";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Απάντηση σε αυτό το Μήνυμα";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Αποθήκευση Μέσων";
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Αποθήκευση Πολυμέσων";
|
||||
|
||||
/* Title for the 'message approval' dialog. */
|
||||
"MESSAGE_APPROVAL_DIALOG_TITLE" = "Μήνυμα";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Η Αποστολή Απέτυχε";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Αποστέλλεται...";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Στάλθηκε";
|
||||
|
@ -1267,13 +1276,13 @@
|
|||
"MESSAGE_STATUS_UPLOADING" = "Ανεβαίνει...";
|
||||
|
||||
/* 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" = "Ο/Η %@ δεν είναι πλέον σημειωμένος/η ως επιβεβαιωμένος. Πατήστε για επιλογές.";
|
||||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "Ο/Η %@ δεν είναι πλέον σημειωμένος/η ως επιβεβαιωμένος/η. Πατήστε για επιλογές.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Έχετε αποκλείσει τον χρήστη";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "Ο/Η %@ δεν είναι πλέον σημειωμένος/η ως επιβεβαιωμένος. Πατήστε για επιλογές.";
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "Ο/Η %@ δεν είναι πλέον σημειωμένος/η ως επιβεβαιωμένος/η. Πατήστε για επιλογές.";
|
||||
|
||||
/* Indicates that a single member of this group has been blocked. */
|
||||
"MESSAGES_VIEW_GROUP_1_MEMBER_BLOCKED" = "Έχετε αποκλείσει 1 μέλος της ομάδας";
|
||||
|
@ -1309,21 +1318,21 @@
|
|||
"MISSED_CALL_WITH_CHANGED_IDENTITY_BODY_WITH_CALLER_NAME" = "Αναπάντητη κλήση από τον/την %@ επειδή ο αριθμός ασφαλείας του χρήστη άλλαξε.";
|
||||
|
||||
/* notification title */
|
||||
"MISSED_CALL_WITH_CHANGED_IDENTITY_BODY_WITHOUT_CALLER_NAME" = "Αναπάντητη κλήση επειδή ο αριθμός ασφαλείας του καλούντα άλλαξε.";
|
||||
"MISSED_CALL_WITH_CHANGED_IDENTITY_BODY_WITHOUT_CALLER_NAME" = "Αναπάντητη κλήση επειδή ο αριθμός ασφαλείας του καλούντος άλλαξε.";
|
||||
|
||||
/* 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 requires access to your photos for this feature.";
|
||||
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Το Signal χρειάζεται πρόσβαση στις φωτογραφίες σας για αυτήν τη λειτουργία.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Αναπάντητη κλήση απο τον/την %@.";
|
||||
|
@ -1332,16 +1341,16 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "Δεν μπορείτε να συνδέσετε περισσότερες συσκευές.";
|
||||
|
||||
/* 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" = "Έχετε φτάσει το μέγιστο αριθμό συσκευών που μπορείτε να συνδέσετε στο λογαριασμό σας. Καταργήστε μια συσκευή και δοκιμάστε ξανά.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Δεν θα λαμβάνετε ειδοποιήσεις για συνομιλίες με σίγαση.";
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Δεν θα λαμβάνετε ειδοποιήσεις για συνομιλίες σε σίγαση.";
|
||||
|
||||
/* A button to skip a view. */
|
||||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Παράλειψη";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Παρακαλώ επιβεβαιώστε πως είστε συνδεδεμένος/η στο ίντερνετ και δοκιμάστε ξανά.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Παράκαμψη Λογοκρισίας: Ενεργή";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Εύρεση με αριθμό τηλεφώνου";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Προσθήκη με Αριθμό Τηλεφώνου";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Επιλογή Φωτογραφίας Ομάδας";
|
||||
|
@ -1428,7 +1437,7 @@
|
|||
"NOTIFICATIONS_SENDER_ONLY" = "Μόνο Όνομα";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NOTIFICATIONS_SHOW" = "Εμφάνιση";
|
||||
"NOTIFICATIONS_SHOW" = "Προβολή";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"OK" = "ΟΚ";
|
||||
|
@ -1497,7 +1506,7 @@
|
|||
"PHONE_NUMBER_TYPE_WORK_FAX" = "Φαξ Εργασίας";
|
||||
|
||||
/* Accessibility label for button to start media playback */
|
||||
"PLAY_BUTTON_ACCESSABILITY_LABEL" = "Αναπαραγωγή πολυμέσων";
|
||||
"PLAY_BUTTON_ACCESSABILITY_LABEL" = "Αναπαραγωγή Πολυμέσων";
|
||||
|
||||
/* Label indicating that the user is not verified. Embeds {{the user's name or phone number}}. */
|
||||
"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "Δεν έχεις σημειώσει τον/την %@ ως επιβεβαιωμένο/η.";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Ο συνομιλητής σας χρησιμοποιεί μια παλιά έκδοση του Signal. Πρέπει να το αναβαθμίσει προτού να μπορέσετε να επιβεβαιώσετε.";
|
||||
|
||||
/* 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" = "Ο σαρωμένος κωδικός δεν μοιάζει με αριθμό ασφαλείας. Είστε και οι δύο σε μια ενημερωμένη έκδοση του Signal;";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Αν επιθυμείτε να επιβεβαιώσετε την ασφάλεια της κρυπτογράφησης από άκρο σε άκρο με τον/την %@, συγκρίνετε τους παραπάνω αριθμούς με τους αριθμούς στην συσκευή τους.\n\nΕναλλακτικά, μπορείτε να σαρώσετε τον κωδικό στο τηλέφωνό τους ή να τους ζητήσετε να σαρώσουν τον δικό σας.";
|
||||
|
@ -1575,7 +1584,7 @@
|
|||
"PROFILE_VIEW_PROFILE_AVATAR_FIELD" = "Εικόνα Προφίλ";
|
||||
|
||||
/* Description of the user profile. */
|
||||
"PROFILE_VIEW_PROFILE_DESCRIPTION" = "Το Προφίλ σας στο Signal θα είναι ορατό στις επαφές σας, όταν ξεκινάτε νέες συνομιλίες και όταν το μοιράζεστε με άλλους χρήστες και ομάδες.";
|
||||
"PROFILE_VIEW_PROFILE_DESCRIPTION" = "Το προφίλ σας στο Signal θα είναι ορατό στις επαφές σας, όταν ξεκινάτε νέες συνομιλίες και όταν το μοιράζεστε με άλλους χρήστες και ομάδες.";
|
||||
|
||||
/* Link to more information about the user profile. */
|
||||
"PROFILE_VIEW_PROFILE_DESCRIPTION_LINK" = "Πατήστε εδώ για να μάθετε περισσότερα.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Αποθήκευση";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Αποθηκεύεται...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Προφίλ";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Αριθμός Τηλεφώνου";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Θα πρέπει να εγγραφείτε πρώτα για να μπορέσετε στείλετε ένα μήνυμα.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Ο Αριθμός Σας";
|
||||
|
@ -1740,7 +1749,7 @@
|
|||
"REJECT_CALL_BUTTON_TITLE" = "Απόρριψη";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"RELAY_REGISTERED_ERROR_RECOVERY" = "Ο αριθμός που προσπαθείτε να καταχωρήσετε έχει ήδη καταχωρηθεί σε κάποιον άλλον server. παρακαλώ απεγγραφείτε από εκει και δοκιμάστε ξανά. ";
|
||||
"RELAY_REGISTERED_ERROR_RECOVERY" = "Ο αριθμός που προσπαθείτε να καταχωρήσετε έχει ήδη καταχωρηθεί σε κάποιον άλλον διακομιστή. παρακαλώ απεγγραφείτε από εκει και δοκιμάστε ξανά. ";
|
||||
|
||||
/* Body text for when user is periodically prompted to enter their registration lock PIN */
|
||||
"REMINDER_2FA_BODY" = "Το κλείδωμα εγγραφής είναι ενεργοποιημένο για τον αριθμό τηλεφώνου σας. Για να σας βοηθήσουμε να απομνημονεύσετε το PIN κλειδώματος εγγραφής, το Signal θα σας ζητάει περιοδικά να το επιβεβαιώσετε.";
|
||||
|
@ -1752,13 +1761,13 @@
|
|||
"REMINDER_2FA_FORGOT_PIN_ALERT_MESSAGE" = "Το κλείδωμα εγγραφής βοηθά στην προστασία του αριθμού τηλεφώνου σας από μη εξουσιοδοτημένες προσπάθειες εγγραφής. Αυτή η λειτουργία μπορεί να απενεργοποιηθεί ανά πάσα στιγμή μεσα απο τις ρυθμίσεις απορρήτου του Signal.";
|
||||
|
||||
/* Navbar title for when user is periodically prompted to enter their registration lock PIN */
|
||||
"REMINDER_2FA_NAV_TITLE" = "Εισαγάγετε το PIN κλειδώματος εγγραφής";
|
||||
"REMINDER_2FA_NAV_TITLE" = "Εισάγετε το PIN κλειδώματος εγγραφής";
|
||||
|
||||
/* Alert body after wrong guess for 'two-factor auth pin' reminder activity */
|
||||
"REMINDER_2FA_WRONG_PIN_ALERT_BODY" = "Μπορείτε να ορίσετε ενα νέο ΡΙΝ μέσα απο τις ρυθμίσεις απορρήτου.";
|
||||
|
||||
/* Alert title after wrong guess for 'two-factor auth pin' reminder activity */
|
||||
"REMINDER_2FA_WRONG_PIN_ALERT_TITLE" = "Αυτό το ΡΙΝ δεν είναι σωστό.";
|
||||
"REMINDER_2FA_WRONG_PIN_ALERT_TITLE" = "Αυτό δεν είναι το σωστό ΡΙΝ.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REREGISTER_FOR_PUSH" = "Επανεγγραφή για λήψη ειδοποιήσεων";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Η αποστολή της πρόσκλησης απέτυχε, παρακαλώ δοκιμάστε ξανά αργότερα.";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Προσκαλέσατε τον/την φίλο/η σας στο 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" = "Πρόσκληση μέσω SMS: %@";
|
||||
|
@ -1860,7 +1869,7 @@
|
|||
"SEND_SMS_CONFIRM_TITLE" = "Πρόσκληση φίλου μέσω μη-ασφαλούς SMS;";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SEND_SMS_INVITE_TITLE" = "Θέλεις να προσκαλέσεις τον ακόλουθο αριθμό στο Signal:";
|
||||
"SEND_SMS_INVITE_TITLE" = "Θέλετε να προσκαλέσετε τον ακόλουθο αριθμό στο Signal:";
|
||||
|
||||
/* Navbar title */
|
||||
"SETTINGS_ABOUT" = "Σχετικά";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Αναμετάδοση Όλων των Κλήσεων ";
|
||||
|
||||
/* 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" = "Αναμετάδοση όλων των κλήσεων μέσω ενός διακομιστή Signal για να αποφύγετε την αποκάλυψη της IP διεύθυνσής σας στην επαφή σας. Η ενεργοποίηση θα μειώσει την ποιότητα των κλήσεων.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Εκκαθάριση Ιστορικού Συνομιλιών";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Πνευματική Ιδιοκτησία του Signal Messenger\nΥπό την άδεια GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Διαγραφή Λογαριασμού";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Διαγραφή Όλων των Δεδομένων";
|
||||
|
||||
/* 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" = "Σίγουρα θέλετε να διαγράψετε όλο το ιστορικό (μηνύματα, συνημμένα, κλήσεις, κτλ); Αυτή η ενέργεια είναι μη αναστρέψιμη.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Διαγραφή Όλων";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Ο αριθμός ασφαλείας με τον/την %@ άλλαξε πρόσφατα. Ίσως θέλετε να τον επιβεβαιώσετε πριν κάνετε επαναποστολή.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Φόρτωση...";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Εκκινήστε την εφαρμογή Signal για να εγγραφείτε";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "Αποσύνδεση";
|
||||
|
||||
/* 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" = "Αυτή η συσκευή δεν θα είναι πλέον σε θέση να στέλνει ή να λαμβάνει μηνύματα αν είναι αποσυνδεδεμένη.";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "Αποσύνδεση του/της \"%@\";";
|
||||
|
@ -2226,7 +2235,7 @@
|
|||
"UNLINKING_FAILED_ALERT_TITLE" = "Το Signal δεν μπόρεσε να αποσυνδέσει τη συσκευή σας.";
|
||||
|
||||
/* Label text in device manager for a device with no name */
|
||||
"UNNAMED_DEVICE" = "Ανώνυμη συσκευή";
|
||||
"UNNAMED_DEVICE" = "Ανώνυμη Συσκευή";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"UNREGISTER_SIGNAL_FAIL" = "Αποτυχία απεγγραφής από το Signal.";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Δεν μπορείτε να καταργήσετε μέλη της ομάδας. Θα πρέπει είτε να αποχωρήσουν από μόνοι τους, είτε μπορείτε να δημιουργήσετε μια νέα ομάδα χωρίς αυτό το μέλος.";
|
||||
|
||||
/* 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" = "Δεν υποστηρίζεται";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Η απάντηση στις κλήσεις από την οθόνη κλειδώματος είναι εύκολη με την ενσωμάτωση κλήσεων iOS. Ως προεπιλογή ανωνυμοποιούμε αυτόν που καλεί, οπότε είναι και ασφαλές για την ιδιωτικότητα.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Καλωσορίσατε, Ασφαλείς βιντεοκλησεις!";
|
||||
|
||||
/* 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 χρειάζεται το iOS 9 ή μια νεότερη έκδοση. Χρησιμοποιήστε την επιλογή \"Ενημέρωση λογισμικού\" στην εφαρμογή \"Ρυθμίσεις\" του iOS.";
|
||||
|
||||
/* Title for the alert indicating that user should upgrade iOS. */
|
||||
"UPGRADE_IOS_ALERT_TITLE" = "Ενημέρωση Λογισμικού iOS";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Το Signal ενημερώνεται...";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Πίσω";
|
||||
|
@ -2313,16 +2322,16 @@
|
|||
"VERIFICATION_PHONE_NUMBER_FORMAT" = "Εισάγετε τον κωδικό επαλήθευσης που στείλαμε στο %@.";
|
||||
|
||||
/* 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" = "Σημειώσατε τον/την %@ ως μη επιβεβαιωμένο.";
|
||||
"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_LOCAL" = "Σημειώσατε τον/την %@ ως μη επιβεβαιωμένο/η.";
|
||||
|
||||
/* 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" = "Σημειώσατε τον/την %@ ως μη επιβεβαιωμένο σε μία άλλη συσκευή.";
|
||||
"VERIFICATION_STATE_CHANGE_FORMAT_NOT_VERIFIED_OTHER_DEVICE" = "Σημειώσατε τον/την %@ ως μη επιβεβαιωμένο/η σε μία άλλη συσκευή.";
|
||||
|
||||
/* 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" = "Σημειώσατε τον/την %@ ως επιβεβαιωμένο.";
|
||||
"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_LOCAL" = "Σημειώσατε τον/την %@ ως επιβεβαιωμένο/η.";
|
||||
|
||||
/* Format for info message indicating that the verification state was verified on another device. Embeds {{user's name or phone number}}. */
|
||||
"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_OTHER_DEVICE" = "Σημειώσατε τον/την %@ ως επιβεβαιωμένο σε μία άλλη συσκευή.";
|
||||
"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_OTHER_DEVICE" = "Σημειώσατε τον/την %@ ως επιβεβαιωμένο/η σε μία άλλη συσκευή.";
|
||||
|
||||
/* Generic message indicating that verification state changed for a given user. */
|
||||
"VERIFICATION_STATE_CHANGE_GENERIC" = "Η κατάσταση επαλήθευσης άλλαξε.";
|
||||
|
@ -2340,7 +2349,7 @@
|
|||
"VOICE_MESSAGE_FILE_NAME" = "Ηχητικό Μήνυμα";
|
||||
|
||||
/* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */
|
||||
"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Πατήστε παρατεταμένα για να ηχογραφήσετε ένα ηχητικό μήνυμα";
|
||||
"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Πατήστε παρατεταμένα για να ηχογραφήσετε ένα ηχητικό μήνυμα.";
|
||||
|
||||
/* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */
|
||||
"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "Ηχητικό Μήνυμα";
|
||||
|
|
|
@ -540,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contact Info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Group Info";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal no puede acceder a tu cuenta de iCloud para manejar las copias de seguridad.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Comparar con portapapeles";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Detalles de contacto";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Detalles de grupo";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signalile ei antud ligipääsu iCloudi kontole varukoopiate tegemiseks.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Võrdle lõikepuhvriga";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kontakti info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Värv";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Grupi info";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "سیگنال اجازهی دسترسی به حساب 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "مقایسه با کلیپبورد";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "اطلاعات مخاطب";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "رنگ";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "اطلاعات گروه";
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ ryhmässä %@: %@";
|
||||
|
||||
/* 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 ei avaudu. Lähetä virheenkorjausloki osoitteeseen support@signal.org, jotta voimme selvittää tämä ongelma.";
|
||||
|
||||
/* Title for the 'app launch failed' alert. */
|
||||
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Virhe";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Versio %@ on nyt saatavilla App Storesta.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "Uusi versio Signalista on saatavilla";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Päivitä";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "Liitetiedosto";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Lataaminen epäonnistui. Yritä uudelleen napauttamalla.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Ladataan...";
|
||||
|
@ -138,16 +138,16 @@
|
|||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Metatietojen poistaminen kuvasta ei onnistunut.";
|
||||
|
||||
/* 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" = "Kuvan kokoa ei voitu muuttaa.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Liitetiedosto on liian suuri.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Liitetiedoston sisältö on virheellinen.";
|
||||
|
||||
/* 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" = "Liitetiedoston muoto on virheellinen.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "Liitetiedosto on tyhjä.";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Soita";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Ei vastausta";
|
||||
|
||||
/* 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 %@";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signalilta on evätty käyttöoikeus iCloudiin varmuuskopioita varten.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Vertaa leikepöytään";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Yhteystiedot";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Väri";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Ryhmän tiedot";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Lisää yhteystietoihin";
|
||||
|
||||
/* 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" = "Jaa profiilisi tämän käyttäjän kanssa";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Tämä käyttäjä ei ole yhteystiedoissasi";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Ladataan lisää viestejä...";
|
||||
|
||||
/* 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" = "Näytä lisää napauttamalla";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Estä tämä käyttäjä";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "Aloita ensimmäinen Signal-keskustelusi!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "Postilaatikkosi on tyhjä. Hyvää päivänjatkoa!";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "Postilaatikko tyhjä";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Vahvista PIN-koodisi.";
|
||||
|
@ -871,7 +880,7 @@
|
|||
"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Vastaanotettiin viestin kaksoiskappale.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Vastaanottajan avain ei ole kelvollinen.";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "Tässä keskustelussa ei ole vielä yhtään mediatiedostoa.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Ladataan uudempaa sisältöä...";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Ladataan vanhempaa sisältöä...";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Liitetiedosto";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "Yhdistetään...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Yhdistetään uudelleen...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Soi...";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "Kopioi viestin teksti";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Poista tämä viesti";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Se poistetaan vain tältä laitteelta";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Lisätietoja";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Vastaa tähän viestiin";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Tallenna media";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Lähettäminen epäonnistui.";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Lähetetään...";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Lähetetty";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ ei ole enää merkitty varmennetuksi. Lisätietoja napauttamalla.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Olet estänyt tämän käyttäjän";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ ei ole enää merkitty varmennetuksi. Lisätietoja napauttamalla.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Ohita";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Tarkista että verkkoyhteytesi on päällä ja yritä uudelleen.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Sensuurin kiertäminen: päällä";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Etsi puhelinnumerolla";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Lisää puhelinnumerolla";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Aseta ryhmän kuva";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Vastapuolella on käytössä vanha versio Signalista. Hänen tulee ensin päivittää, jotta voit varmentaa.";
|
||||
|
||||
/* 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" = "Skannattu koodi ei näytä olevan turvanumero. Onko teillä kummallakin viimeisin versio Signalista käytössä?";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Jos haluat varmentaa sinun ja yhteystiedon %@ välisen salauksen tietoturvan, vertaa ylläolevia numeroita hänen laitteessaan näkyviin vastaaviin numeroihin.\n\nVaihtoehtoisesti voit skannata koodin hänen puhelimestaan, tai pyytää häntä skannaamaan sinun koodisi.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Tallenna";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Tallennetaan...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profiili";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Puhelinnumero";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Sinun täytyy rekisteröityä, ennen kuin voit lähettää viestin.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Sinun puhelinnumerosi";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Kutsun lähettäminen epäonnistui. Yritä myöhemmin uudelleen.";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Olet kutsunut ystäväsi käyttämään Signalia!";
|
||||
|
||||
/* Text for button to send a Signal invite via SMS. %@ is placeholder for the recipient's phone number. */
|
||||
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "Kutsu tekstiviestillä: %@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Välitä aina puhelut";
|
||||
|
||||
/* 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" = "Välitä kaikki puhelut Signal-palvelimen kautta välttääksesi IP-osoitteesi paljastumista yhteystiedollesi. Tämä toiminto heikentää puhelun laatua.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Tyhjennä keskusteluhistoria";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Tekijänoikeus Signal Messenger\nLisensoitu GPLv3 -lisenssillä";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Poista tili";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Tuhoa kaikki tiedot";
|
||||
|
||||
/* 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" = "Haluatko varmasti tuhota koko historiasi (viestit, liitteet, puhelut, jne.)? Tätä toimintoa ei voi jälkikäteen kumota.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Poista kaikki";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Turvanumerosi yhteystiedon %@ kanssa on vaihtunut hiljattain. Saatat halua varmentaa sen ohjelmassa ennen uudelleenlähettämistä.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Ladataan...";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Avaa Signal ohjelma rekisteröityäksesi.";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Et voi poistaa ryhmän jäseniä. Heidän tulee joko poistua tai sitten voit luoda uuden ryhmän ilman näitä henkilöitä.";
|
||||
|
||||
/* 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" = "Ei tuettu";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Puheluihin vastaaminen lukitusruudultasi on helppoa iOS-puheluintegraation avulla. Muutamme soittajan tiedot nimettömiksi oletuksena, joten se on myös yksityistä.";
|
||||
|
@ -2292,7 +2301,7 @@
|
|||
"UPGRADE_IOS_ALERT_TITLE" = "Päivitä iOS";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Päivitetään Signalia...";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Takaisin";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Compare with Clipboard";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contact Info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Group Info";
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ dans le groupe %@ : %@";
|
||||
|
||||
/* 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 ne peut pas démarrer. Veuillez envoyer un journal de débogage à support@signal.org afin que nous puissions résoudre ce problème.";
|
||||
|
||||
/* Title for the 'app launch failed' alert. */
|
||||
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Erreur";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "La version %@ est maintenant proposée dans la logithèque App Store.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "Une nouvelle version de Signal est disponible";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Mise à jour";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "Pièce jointe";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Le téléchargement a échoué. Appuyez pour réessayer.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Téléchargement…";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Erreur d’envoi de la pièce jointe";
|
||||
|
||||
/* 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" = "Impossible de convertir l’image.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Impossible de traiter la vidéo.";
|
||||
|
||||
/* 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" = "Impossible d’analyser l’image.";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Impossible de supprimer les métadonnées de l’image.";
|
||||
|
||||
/* 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" = "Impossible de redimensionner l’image.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "La pièce jointe est trop volumineuse.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "La pièce jointe comporte du contenu non valide.";
|
||||
|
||||
/* 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" = "La pièce jointe présente un format de fichier invalide.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "La pièce jointe est vide.";
|
||||
|
@ -165,7 +165,7 @@
|
|||
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Échec de sélection du document.";
|
||||
|
||||
/* 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" = "Veuillez créer un archive compressée de ce fichier ou dossier et essayez de l’envoyer à la place.";
|
||||
|
||||
/* Alert title when picking a document fails because user picked a directory/bundle */
|
||||
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Fichier non pris en charge";
|
||||
|
@ -273,10 +273,10 @@
|
|||
"BLOCK_LIST_VIEW_CANT_BLOCK_SELF_ALERT_TITLE" = "Erreur";
|
||||
|
||||
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
|
||||
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ a été débloqué";
|
||||
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ a été débloqué.";
|
||||
|
||||
/* 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" = "Les membres actuels peuvent désormais vous rajouter au groupe.";
|
||||
|
||||
/* Action sheet that will block an unknown user. */
|
||||
"BLOCK_OFFER_ACTIONSHEET_BLOCK_ACTION" = "Bloquer";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "Rappeler";
|
||||
|
||||
/* 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" = "Vous pouvez autoriser l’accès à l’appareil photo dans l’application Réglages d’iOS pour passer des appels et enregistrer des messages vocaux avec Signal.";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "L’accès au microphone est exigé";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Appeller";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Pas de réponse";
|
||||
|
||||
/* 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 %@";
|
||||
|
@ -339,10 +339,10 @@
|
|||
"CALL_VIEW_MUTE_LABEL" = "Couper le microphone";
|
||||
|
||||
/* 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" = "Vous pouvez autoriser l’intégration des appels iOS dans vos paramètres de confidentialité Signal afin de répondre aux appels entrants depuis votre écran verrouillé.";
|
||||
|
||||
/* 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" = "Vous pouvez autoriser l’intégration des appels iOS dans vos paramètres de confidentialité Signal afin de voir le nom et le numéro de téléphone pour les appels entrants.";
|
||||
|
||||
/* Label for button that dismiss the call view's settings nag. */
|
||||
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Pas maintenant";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal n’a pas été autorisé à accéder à votre compte iCloud pour les sauvegardes.";
|
||||
|
||||
/* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_1" = "Choisissez la couleur des messages sortants de cette conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Vous seul(e) verrez la couleur que vous avez choisie.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Couleur de la conversation";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Comparer avec le presse-papiers";
|
||||
|
||||
|
@ -399,10 +408,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" = "Vous pouvez autoriser l’accès aux contacts dans l’application Réglages d’iOS pour voir qui dans vos contacts utilise Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Ceci va réinitialiser l’application en supprimant vos messages et en vous désinscrivant du serveur. L’application se fermera une fois le processus terminé.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Voulez-vous vraiment supprimer votre compte ?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "À propos du contact";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Couleur";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Couleur de la conversation";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Renseignements du groupe";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Ajouter aux contacts";
|
||||
|
||||
/* 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" = "Partager votre profil avec cet utilisateur.";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Cet utilisateur n’est pas dans vos contacts.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Chargement de plus de messages…";
|
||||
|
||||
/* 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" = "Appuyez pour plus d’informations";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Bloquer cet utilisateur";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Lieu pour le contournement de la censure";
|
||||
|
||||
/* 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" = "Vous pouvez autoriser l’accès dans l’application Réglages d’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 a besoin d’accéder aux contacts pour modifier les renseignements des contacts";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "Mise à jour";
|
||||
|
||||
/* 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" = "Souhaitez-vous enregistrer les changements apportés à ce groupe ?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Changements non enregistrés";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "Passons à 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" = "Vous pouvez archiver les conversations inactives depuis votre boîte de réception.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty archive */
|
||||
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
|
||||
"EMPTY_ARCHIVE_TITLE" = "Nettoyer votre liste de conversations";
|
||||
|
||||
/* Full width label displayed when attempting to compose message */
|
||||
"EMPTY_CONTACTS_LABEL_LINE1" = "Aucun de vos contacts n’utilise Signal.";
|
||||
|
@ -781,7 +790,7 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "Lancez votre première conversation avec Signal !";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "Rien. Zéro. Que dalle.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
|
@ -832,7 +841,7 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Échec d’envoi du message.";
|
||||
|
||||
/* 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" = "Envoi impossible en raison de données de pré-clés obsolètes.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Échec d’envoi du message, car vous avez bloqué cet utilisateur.";
|
||||
|
@ -841,7 +850,7 @@
|
|||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Failed to write and send attachment.";
|
||||
|
||||
/* 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 n’a pas pu se connecter à Internet. Veuillez réessayer ultérieurement.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Échec d’envoi du message en raison d’absence de destinataires valides.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Réponse invalide du service";
|
||||
|
||||
/* 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" = "Cet appareil n’est plus enregistré avec votre numéro de téléphone. Vous devez réinstaller Signal.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Erreur serveur. Veuillez ressayer plus tard.";
|
||||
|
@ -871,7 +880,7 @@
|
|||
"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Réception d’un message en double.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "La clé du destinataire est invalide.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "Le message reçu était désynchronisé";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Réception d’un message qui n’est pas compatible avec cette version.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "Aucune session pour ce contact.";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "Utilisateur non inscrit : %@";
|
||||
|
||||
/* 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" = "Trop d’échecs avec ce contacts. Veuillez réessayer plus 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" = "Votre numéro de sécurité avec %@ a récemment changé. Vous pourriez peut-être le vérifier avant de renvoyer ce message.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "Échec de vérification du numéro de sécurité !";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "Vous n’avez aucun média dans cette conversation.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Chargement de médias plus récents…";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Chargement de médias plus anciens…";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Pièce jointe";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "Connexion…";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Reconnexion…";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Sonnerie…";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "Appel terminé";
|
||||
|
||||
/* 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" = "Ces conversations sont archivées et apparaîtront dans la boîte de réception seulement si de nouveaux messages sont reçus.";
|
||||
|
||||
/* 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" = "Vous pouvez autoriser l’accès aux contacts dans l’application Réglages d’iOS pour voir le nom de vos contacts dans la liste des conversations de Signal.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "Appel entrant";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Le fichier audio est invalide";
|
||||
|
||||
/* 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" = "Vous pouvez autoriser l’accès aux contacts dans l’application Réglages d’iOS pour inviter vos amis à rejoindre Signal.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Autoriser l’accès aux contacts";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "Inviter des amis";
|
||||
|
||||
/* 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" = "L’invitation simultanée de plusieurs utilisateurs enverra un message de groupe dont les destinataires se verront les uns les autres.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "Les messages disparaîtront après %@.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "Quitter le groupe ";
|
||||
|
||||
/* 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" = "Ce code QR n’est pas valide. Veillez à analyser le code QR affiché sur l’appareil que vous voulez relier.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "Échec de liaison de l’appareil";
|
||||
|
||||
/* 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" = "Cet appareil pourra voir vos groupes et contacts, accéder à vos conversations et envoyer des messages en votre nom.";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Relier cet appareil ?";
|
||||
|
@ -1114,7 +1123,7 @@
|
|||
"LINK_DEVICE_RESTART" = "Ressayer";
|
||||
|
||||
/* 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" = "Analysez le code QR affiché sur l’appareil que vous voulez relier.";
|
||||
|
||||
/* Subheading for 'Link New Device' navigation */
|
||||
"LINK_NEW_DEVICE_SUBTITLE" = "Lire le code QR";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "Copier le texto";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Supprimer ce message.";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Il sera seulement supprimé sur cet appareil.";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Plus d’infos";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Répondre à ce message";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Enregistrer le média";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Échec d’envoi";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Envoi…";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Envoyé";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ n’est plus marqué comme vérifié. Touchez pour plus d’options.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Vous avez bloqué cet utilisateur.";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ n’est plus marqué comme vérifié. Touchez pour plus d’options.";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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" = "Vous pouvez autoriser l’accès à l’appareil photo dans l’application Réglages d’iOS pour passer des appels vidéo avec Signal.";
|
||||
|
||||
/* Alert title
|
||||
Alert title when camera is not authorized */
|
||||
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal a besoin d’accéder à votre appareil photo.";
|
||||
|
||||
/* 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" = "Vous pouvez accorder cette permission dans l’application Réglages d’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" = "Signal a besoin d’accéder à vos photos pour cette fonctionnalité.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Appel manqué de %@";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "Impossible de lier d’autres appareils.";
|
||||
|
||||
/* 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" = "Vous avez atteint le nombre maximal d’appareils que vous pouvez actuellement relier à votre compte. Veuillez supprimer un appareil et réessayer.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Vous ne recevrez pas de notifications pour les conversations en sourdine.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Ignorer";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Veuillez vous assurer que vous êtes en ligne et réessayez.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Contournement de la censure : Activé";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Trouver par numéro de téléphone";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Ajouter par numéro de téléphone";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Définir la photo du groupe";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"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" = "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" = "Le code analysé ne ressemble pas à un numéro de sécurité. Avez-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.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Enregistrer";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Enregistrement…";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profil";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Numéro de téléphone";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Vous devez être inscrit(e) avant de pouvoir envoyer un message.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Votre numéro de téléphone";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Échec d’envoi de l’invitation. Veuillez ressayer plus tard. ";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Vous avez invité votre ami à utiliser 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 par texto : %@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Toujours relayer les appels";
|
||||
|
||||
/* 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" = "Relayer tous les appels à travers le serveur de Signal pour éviter de révéler votre adresse IP à votre contact. L’activation réduit la qualité de l’appel.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Effacer l’historique des conversations";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger\nSous licence GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Supprimer le compte";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Supprimer toutes les données";
|
||||
|
||||
/* 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" = "Êtes-vous sûr(e) de vouloir supprimer tout l’historique (messages, fichiers joints, appels, etc.) ? Cette action est irréversible.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Tout supprimer";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Votre numéro de sécurité avec %@ a changé récemment. Vous devriez peut-être le vérifier dans l’appli principale avant d’effectuer de nouveaux envois.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Chargement…";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Lancez l’appli Signal pour vous inscrire.";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "Annuler le lien";
|
||||
|
||||
/* 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" = "Cet appareil ne pourra plus envoyer ni recevoir de messages s’il n’est plus relié.";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "Annuler le lien avec « %@ » ?";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Vous ne pouvez pas supprimer les membres d’un groupe. Il devra quitter le groupe. Vous pouvez aussi créer un nouveau groupe sans ce membre.";
|
||||
|
||||
/* 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" = "Non compatible";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Il est facile de répondre aux appels à partir de votre écran de verrouillage grâce à l’intégration des appels dans iOS. Par défaut, nous anonymisons l’appelant, donc cette information est aussi confidentielle.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Bienvenue aux appels vidéo sécurisés !";
|
||||
|
||||
/* 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 nécessite iOS 9 ou une version ultérieure. Veuillez utiliser la fonctionnalité Mise à jour logicielle située dans les Réglages d’iOS.";
|
||||
|
||||
/* Title for the alert indicating that user should upgrade iOS. */
|
||||
"UPGRADE_IOS_ALERT_TITLE" = "Mettez iOS à niveau";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Mise à jour de Signal…";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Retour";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "A Signal non se lle permitiu acceder a iCloud para realizar copias de seguranza.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Comparar co Portapapeis";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Información do contacto";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Información do grupo";
|
||||
|
|
|
@ -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" = "שגיאה";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "גרסה %@ זמינה כעת להורדה מחנות האפליקציות";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "גרסה חדשה של Signal זמינה";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "עדכן";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "צרופה";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "ההורדה נכשלה. הקש כדי לנסות מחדש.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "מוריד...";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "שגיאה בשליחת צרופה";
|
||||
|
||||
/* Attachment error message for image attachments which could not be converted to JPEG */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Unable to convert image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "לא היה ניתן להמיר תמונה.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "לא היה ניתן לעבד וידיאו.";
|
||||
|
||||
/* Attachment error message for image attachments which cannot be parsed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Unable to parse image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "לא היה ניתן לעבד תמונה.";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "לא היה ניתן להסיר מטא־נתונים מהתמונה.";
|
||||
|
||||
/* Attachment error message for image attachments which could not be resized */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Unable to resize image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "לא היה ניתן לשנות גודל תמונה.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "הצרופה גדולה מדי.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "הצרופה מכילה תוכן בלתי תקף.";
|
||||
|
||||
/* Attachment error message for attachments with an invalid file format */
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Attachment has an invalid file format.";
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "לצרופה יש תסדיר בלתי תקף של קובץ.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "הצרופה ריקה.";
|
||||
|
@ -165,7 +165,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" = "קובץ בלתי נתמך";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "חייג שוב";
|
||||
|
||||
/* Alert message when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "You can enable microphone access in the iOS Settings app to make calls and record voice messages in Signal.";
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "אתה יכול לאפשר גישה אל מיקרופון ביישום הגדרות של iOS כדי לבצע שיחות ולהקליט הודעות קוליות ב־Signal.";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "נדרשת גישה למיקרופון";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "חייג";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "אין מענה";
|
||||
|
||||
/* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */
|
||||
"CALL_STATUS_FORMAT" = "Signal %@";
|
||||
|
@ -339,10 +339,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" = "לא עכשיו";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal לא הותר לקבל גישה אל חשבון 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" = "בחר את הצבע של הודעות יוצאות בשיחה זו.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "רק אתה תראה את הצבע שאתה בוחר.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "צבע שיחה";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "השווה עם לוח עריכה";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "הזמן";
|
||||
|
||||
/* Multi-line label explaining why compose-screen contact picker is empty. */
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users.";
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "אתה יכול לאפשר גישה אל אנשי קשר ביישום הגדרות של iOS כדי לראות אילו מאנשי הקשר שלך הם משתמשי Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "זה יאפס את היישום ע\"י מחיקת ההודעות שלך וביטול הרישום שלך עם השרת. היישום ייסגר לאחר שתהליך זה יושלם.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "האם אתה בטוח שאתה רוצה למחוק את החשבון שלך?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "פרטי איש קשר";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "צבע";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "צבע שיחה";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "פרטי קבוצה";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "הוסף לאנשי קשר";
|
||||
|
||||
/* Message shown in conversation view that offers to share your profile with a user. */
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile with This User";
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "שתף את הפרופיל שלך עם משתמש זה";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "משתמש זה אינו באנשי הקשר שלך.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "טוען עוד הודעות...";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Tap for More";
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "הקש לעוד";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "חסום משתמש זה";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "מיקום עקיפת צנזורה";
|
||||
|
||||
/* 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" = "אתה יכול לאפשר גישה ביישום הגדרות של 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 צריך גישה לאנשי הקשר כדי לערוך מידע איש קשר";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "עדכן";
|
||||
|
||||
/* 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" = "האם תרצה לשמור את השינויים שעשית לקבוצה זו?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "שינויים בלתי שמורים";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "בוא נחליף אל 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" = "אתה יכול לארכב שיחות בלתי־פעילות מהתיבה הנכנסת שלך.";
|
||||
|
||||
/* 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.";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "התחל את שיחת Signal הראשונה שלך!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "כלום. אפס. שום דבר.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "תיבה נכנסת אפס";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "אמת את ה־PIN שלך.";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "נכשל בשליחת הודעה.";
|
||||
|
||||
/* Error message indicating that message send is disabled due to prekey update failures */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Unable to send due to stale prekey data.";
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "לא היה ניתן לשלוח עקב נתונים מיושנים.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "לא ניתן לשלוח הודעה מכיוון שהמשתמש חסום על ידך";
|
||||
|
||||
/* 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" = "נכשל בכתיבה ובשליחה של צרופה.";
|
||||
|
||||
/* 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 לא היה יכול להתחבר לאינטרנט. אנא נסה שוב.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "שליחת ההודעה נכשלה עקב העדר מקבלים תקפים.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "תגובה בלתי תקפה משירות.";
|
||||
|
||||
/* 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" = "מכשיר זה אינו רשום יותר עם מספר הטלפון שלך. אנא התקן מחדש את Signal.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "שגיאת שרת. נסה שוב מאוחר יותר.";
|
||||
|
@ -868,10 +877,10 @@
|
|||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "איש הקשר הוא אינו משתמש 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" = "כישלון צרופה: בקש מאיש קשר זה לשלוח את הודעתו שוב לאחר עדכון אל הגרסה האחרונה של Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "התקבלה הודעה כפולה.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "המפתח של המקבל אינו תקין.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "ההודעה שהתקבלה לא הייתה מסונכרנת.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "התקבלה הודעה שאינה תואמת אל גרסה זו.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "אין שיח זמין עבור איש קשר.";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "משתמש בלתי רשום: %@";
|
||||
|
||||
/* 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" = "יותר מדי כישלונות עם איש קשר זה. אנא נסה שוב מאוחר יותר.";
|
||||
|
||||
/* 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" = "מספר הביטחון שלך עם %@ השתנה לאחרונה. מומלץ לוודא לפני שליחת הודעה זו שוב.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "נכשל בוידוא מספר ביטחון!";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "אין לך מדיה כלשהי בשיחה זו.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "טוען מדיה חדשה יותר...";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "טוען מדיה ישנה יותר...";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "צרופה";
|
||||
|
@ -979,7 +988,7 @@
|
|||
"GROUP_MEMBERS_CALL" = "חייג";
|
||||
|
||||
/* 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" = "נקה וידואים עבור כולם";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "זה ינקה את הוידוא של כל חברי הקבוצה שמספרי הביטחון שלהם השתנו מאז שוודאו בפעם האחרונה.";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "מתחבר...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "מתחבר מחדש...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "מצלצל...";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "השיחה הסתיימה.";
|
||||
|
||||
/* 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" = "שיחות אלו מאורכבות ויופיעו בתיבה הנכנסת רק אם מתקבלות הודעות חדשות.";
|
||||
|
||||
/* 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" = "אתה יכול לאפשר גישה אל אנשי קשר ביישום הגדרות של iOS כדי לראות שמות אנשי קשר ברשימת שיחות Signal שלך.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "שיחה נכנסת";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "קובץ שמע בלתי תקף.";
|
||||
|
||||
/* 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" = "אתה יכול לאפשר גישה אל אנשי קשר ביישום הגדרות של iOS כדי להזמין את חבריך להצטרף אל Signal.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "אפשר גישה לאנשי קשר";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "הזמן חברים";
|
||||
|
||||
/* 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" = "הַזְמָנָת משתמשים רבים באותו הזמן תתחיל הודעת קבוצה והמקבלים יוכלו לראות אחד את השני.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "הודעות יעלמו לאחר %@.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "עזוב קבוצה";
|
||||
|
||||
/* 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" = "קוד QR זה אינו תקף. אנא וודא שאתה סורק את קוד ה-QR המוצג על המכשיר שאתה רוצה לקשר.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "קישור מכשיר נכשל";
|
||||
|
||||
/* 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" = "מכשיר זה יוכל לראות את הקבוצות ואנשי הקשר שלך, לקבל גישה אל השיחות שלך ולשלוח הודעות בשמך.";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "לקשר מכשיר זה?";
|
||||
|
@ -1114,7 +1123,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";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "העתק מלל הודעה";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "מחק הודעה זו";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "זה יימחק רק במכשיר זה.";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "עוד מידע";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "השב להודעה זו";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "שמור מדיה";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "שליחה נכשלה";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "שולח...";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "נשלח";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ אינו מסומן יותר כמוודא. הקשי לאפשרויות.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "חסמת משתמש זה";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ אינו מסומן יותר כמוודא. הקש לאפשרויות.";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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 requires access to your photos for this feature.";
|
||||
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Signal דורש גישה אל התצלומים שלך עבור מאפיין זה.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "שיחה לא נענתה מאת %@.";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "אינך יכול לקשר עוד מכשירים כלשהם.";
|
||||
|
||||
/* 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" = "הגעת למספר המרבי של מכשירים שאתה יכול כרגע לקשר אל החשבון שלך. אנא הסר מכשיר ונסה שוב.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "לא תקבל התראות עבור שיחות מושתקות.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "דלג";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "אנא בדוק אם אתה מקוון ונסה שוב.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "עקיפת צנזורה: פעילה";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "מצא לפי מספר טלפון";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "הוסף לפי מספר טלפון";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "הגדר תמונת קבוצה";
|
||||
|
@ -1380,7 +1389,7 @@
|
|||
"NEW_GROUP_MEMBER_LABEL" = "חבר קבוצה";
|
||||
|
||||
/* Placeholder text for group name field */
|
||||
"NEW_GROUP_NAMEGROUP_REQUEST_DEFAULT" = "תן שם לשיחה קבוצתית זו";
|
||||
"NEW_GROUP_NAMEGROUP_REQUEST_DEFAULT" = "תן שם לשיחת קבוצה זו";
|
||||
|
||||
/* a title for the non-contacts section of the 'new group' view. */
|
||||
"NEW_GROUP_NON_CONTACTS_SECTION_TITLE" = "משתמשים אחרים";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "השותף שלך מריץ גרסה ישנה של Signal. הוא צריך לעדכן גרסה לפני שתוכל לוודא.";
|
||||
|
||||
/* 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" = "הקוד הסרוק לא נראה כמו מספר ביטחון. האם שניכם על גרסה מעודכנת של Signal?";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "אם אתה רוצה לוודא את האבטחה של הצפנת קצה-אל-הקצה שלך עם %@, השווה את המספרים למעלה עם המספרים במכשיר שלו.\n\nלחלופין, אתה יכול לסרוק את הקוד בטלפון שלו, או לבקש ממנו לסרוק את הקוד שלך.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "שמור";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "שומר...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "פרופיל";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "מספר טלפון";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "אתה צריך להירשם לפני שתוכל לשלוח הודעה.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "מספר הטלפון שלך";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "שליחת ההזמנה נכשלה, אנא נסה שוב מאוחר יותר.";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "הזמנת את חברך להשתמש ב־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" = "הזמן דרך מסרון: %@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "שדר מחדש שיחות תמיד";
|
||||
|
||||
/* 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" = "שדר מחדש את כל השיחות דרך שרת Signal כדי למנוע את חשיפת כתובת ה־IP שלך אל איש הקשר שלך. אפשור יפחית איכות שיחות.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "נקה היסטורית שיחות";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "זכויות יוצרים Signal Messenger \n ברשיון תחת GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "מחק חשבון";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "מחק את כל הנתונים";
|
||||
|
||||
/* 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" = "האם אתה בטוח שאתה רוצה למחוק את ההיסטוריה (הודעות, צרופות, שיחות וכד')? פעולה זו אינה ניתנת לביטול.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "מחק הכל";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "מספר הביטחון שלך עם %@ השתנה לאחרונה. מומלץ לוודא אותו ביישום הראשי לפני שליחה מחדש.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "טוען...";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "הפעל את היישום Signal כדי להירשם.";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "בטל קישור";
|
||||
|
||||
/* 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" = "מכשיר זה לא יוכל יותר לשלוח או לקבל הודעות אם הוא בלתי מקושר.";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "לבטל קישור \"%@\"?";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "אינך יכול להסיר חברי קבוצה. הוא יצטרך לעזוב, או שאתה יכול ליצור קבוצה חדשה ללא משתמש זה.";
|
||||
|
||||
/* 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" = "בלתי נתמך";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "מענה לשיחות ממסך הנעילה שלך הוא קל באמצעות מיזוג שיחות iOS. אנחנו הופכים לאלמוני כברירת מחדל את המתקשר שלך, כך שזה גם פרטי.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "שלום שיחות וידיאו מאובטחות!";
|
||||
|
||||
/* 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 דורש iOS 9 ומעלה. אנא השתמש במאפיין עדכוני תוכנה ביישום הגדרות של iOS.";
|
||||
|
||||
/* Title for the alert indicating that user should upgrade iOS. */
|
||||
"UPGRADE_IOS_ALERT_TITLE" = "שדרג את iOS";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "משדרג את Signal...";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "הקודם";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signalu nije dopušten pristupi vašem iCloud računu za sigurnosne kopije.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Uporedi sa međuspremnikom";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Detalji kontakta";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informacije o grupi";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "A Signal-nak nincs hozzáférése az iCloud fiókodhoz biztonsági mentések készítéséhez.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Összehasonlítás vágólappal";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kontakt részletek";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Csoport részletek";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal tidak diperbolehkan untuk mengakses akun iCloud Anda untuk membuat cadangan.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Bandingkan dengan papan klip";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Info Kontak ";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Warna";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Info Kontak ";
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ in gruppo %@: %@";
|
||||
|
||||
/* 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 non riesce ad avviarsi. Invia il log di debug a support@signal.org così da permetterci di risolvere il problema.";
|
||||
|
||||
/* Title for the 'app launch failed' alert. */
|
||||
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Errore";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "La versione %@ è ora disponibile nell'App Store.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "È disponibile una nuova versione di Signal";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Aggiorna";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "Allegato";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download fallito. Premi per riprovare.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Download in corso...";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Errore invio allegato";
|
||||
|
||||
/* 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" = "Impossibile convertire l'immagine.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Impossibile elaborare il video.";
|
||||
|
||||
/* 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" = "Impossibile analizzare l'immagine.";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Impossibile rimuovere i metadati dall'immagine.";
|
||||
|
||||
/* 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" = "Impossibile ridimensionare l'immagine.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "L'allegato è troppo grande.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "L'allegato contiene un contenuto non valido.";
|
||||
|
||||
/* 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" = "Il formato dell'allegato non è valido.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "L'allegato è vuoto.";
|
||||
|
@ -165,7 +165,7 @@
|
|||
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Scelta del documento fallita.";
|
||||
|
||||
/* 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" = "Crea un archivio compresso di questo file o cartella e quindi prova a inviarlo.";
|
||||
|
||||
/* Alert title when picking a document fails because user picked a directory/bundle */
|
||||
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Documento non supportato";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "Richiama";
|
||||
|
||||
/* 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" = "Puoi abilitare l'accesso al microfono nelle impostazioni di iOS per effettuare chiamate e registrare messaggi vocali in Signal.";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "Accesso microfono richiesto";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Chiama";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Nessuna risposta";
|
||||
|
||||
/* 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 %@";
|
||||
|
@ -339,10 +339,10 @@
|
|||
"CALL_VIEW_MUTE_LABEL" = "Muto";
|
||||
|
||||
/* 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" = "Puoi abilitare le chiamate integrate iOS nelle impostazioni della privacy di Signal per rispondere alle chiamate in arrivo mentre il telefono è bloccato.";
|
||||
|
||||
/* 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" = "Puoi abilitare le chiamate integrate iOS nelle impostazioni della privacy di Signal per vedere il nome e il numero di telefono di chi ti sta chiamando.";
|
||||
|
||||
/* Label for button that dismiss the call view's settings nag. */
|
||||
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Non ora";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal non ha l'accesso al tuo account iCloud per i backup.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Confronta con gli appunti";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Invita";
|
||||
|
||||
/* 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" = "Puoi abilitare l'accesso ai contatti nelle impostazioni di iOS per vedere quali dei tuoi contatti è un utente Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "Questo azzererà l'applicazione cancellando i messaggi e rimuovendo la tua registrazione dal server. L'applicazione si chiuderà una volta completato il processo.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Se sicuro di voler cancellare il tuo account?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Info contatto";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Colore";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Info gruppo";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Aggiungi nei contatti";
|
||||
|
||||
/* 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" = "Condividi il tuo profilo con questo utente";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Questo utente non è presente nei tuoi contatti.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Caricamento di altri messaggi...";
|
||||
|
||||
/* 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" = "Mostra tutto";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Blocca questo utente";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Raggiro Luogo 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" = "You can enable access in the iOS Settings app.";
|
||||
"EDIT_CONTACT_WITHOUT_CONTACTS_PERMISSION_ALERT_BODY" = "Puoi abilitare l'accesso nelle impostazioni di 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 richiede l'accesso ai contatti per modificarne il contenuto.";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "Aggiorna";
|
||||
|
||||
/* 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" = "Vuoi salvare le modifiche apportate a questo gruppo?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Modifiche non salvate";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "Passiamo a 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" = "Puoi archiviare le conversazioni inattive dalla lista chat.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty archive */
|
||||
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
|
||||
"EMPTY_ARCHIVE_TITLE" = "Pulisci le tue conversazioni";
|
||||
|
||||
/* Full width label displayed when attempting to compose message */
|
||||
"EMPTY_CONTACTS_LABEL_LINE1" = "Nessuno dei tuoi contatti ha Signal.";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "Inizia la tua prima conversazione su Signal!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "Nessun messaggio. Niente. Zero. Nada.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "Nessun messaggio";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Conferma il tuo PIN";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Invio messaggio fallito.";
|
||||
|
||||
/* 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" = "Impossibile inviare a causa di dati prekey non aggiornati.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Impossibile inviare un messaggio ad un utente bloccato.";
|
||||
|
||||
/* 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" = "Creazione e invio dell'allegato non riusciti.";
|
||||
|
||||
/* 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 non è in grado di connettersi ad Internet. Riprovare.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Invio messaggio fallito per mancanza di un valido destinatario.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Risposta del servizio non valida.";
|
||||
|
||||
/* 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" = "Il dispositivo non è più registrato con il tuo numero di telefono. Si pregad i reinstallare Signal.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Errore del server. Si prega di riprovare.";
|
||||
|
@ -868,10 +877,10 @@
|
|||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Il contatto non è un utente 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" = "Errore con l'allegato: chiedi al tuo contatto di inviare nuovamente il messaggio dopo aver aggiornato Signal all'ultima versione.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Ricevuto un messaggio duplicato.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "La chiave del destinatario non è valida.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "Il messaggio ricevuto è disallineato.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Ricevuto un messaggio non compatibile con questa versione.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "Nessuna sessione disponibile per il contatto";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "Utente non registrato: %@";
|
||||
|
||||
/* 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" = "Troppi tentativi falliti con questo contatto. Riprovare più tardi.";
|
||||
|
||||
/* 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" = "Il tuo codice di sicurezza con %@ è cambiato di recente. Ti consigliamo di fare una verifica prima di inviare nuovamente.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "Verifica del codice di sicurezza fallita!";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "Non hai alcun contenuto multimediale in questa conversazione.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Caricamento media più recenti...";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Caricamento media più vecchi...";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Allegato";
|
||||
|
@ -979,7 +988,7 @@
|
|||
"GROUP_MEMBERS_CALL" = "Chiama";
|
||||
|
||||
/* 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" = "Rimuovi verifica per tutti";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Questo rimuoverà la verifica a tutti i membri del gruppo ai quali è cambiato il codice di sicurezza dall'ultima verifica.";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "Connessione...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Riconnessione...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Squilla...";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "Chiamata terminata.";
|
||||
|
||||
/* 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" = "Queste conversazioni sono archiviate e compariranno nella lista di chat solo se verranno ricevuti nuovi messaggi.";
|
||||
|
||||
/* 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" = "Puoi abilitare l'accesso ai contatti tramite le impostazioni iOS per vedere i nomi dei contatti nell'elenco delle chat.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "Chiamata in entrata";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Audio file non valido.";
|
||||
|
||||
/* 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" = "Puoi abilitare l'accesso ai contatti nelle impostazioni iOS per invitare i tuoi amici ad unirsi a Signal.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Abilita accesso contatti";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "Invita i tuoi amici";
|
||||
|
||||
/* 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" = "L'invito simultaneo di più utenti invierà un messaggio di gruppo e i destinatari potranno vedere tutti gli altri.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "I messaggi scompariranno dopo %@.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "Abbandona il gruppo";
|
||||
|
||||
/* 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" = "Questo codice QR non è valido. Assicurarati che stai effettuando la scansione del codice QR visualizzato sul dispositivo che desideri collegare.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "Collegamento con dispositivo fallito";
|
||||
|
||||
/* 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" = "Questo dispositivo sarà in grado di vedere i tuoi gruppi e contatti, accedere alle conversazioni e inviare messaggi a tuo nome. ";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Associa questo dispositivo?";
|
||||
|
@ -1114,7 +1123,7 @@
|
|||
"LINK_DEVICE_RESTART" = "Riprova";
|
||||
|
||||
/* 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" = "Scansiona il codice QR visualizzato sul dispositivo che vuoi associare.";
|
||||
|
||||
/* Subheading for 'Link New Device' navigation */
|
||||
"LINK_NEW_DEVICE_SUBTITLE" = "Scansiona il codice QR";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "Copia testo del messaggio";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Elimina questo messaggio";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Verrà eliminato solo da questo dispositivo.";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Altre informazioni";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Rispondi a questo messaggio";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Salva media";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Invio fallito";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Invio in corso...";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Inviato";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ non è più segnato come verificato. Tocca per le opzioni.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Hai bloccato questo utente";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ non è più segnato come verificato. Tocca per le opzioni.";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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" = "Puoi abilitare l'accesso alla fotocamera nelle impostazioni iOS per effettuare videochiamate con Signal.";
|
||||
|
||||
/* Alert title
|
||||
Alert title when camera is not authorized */
|
||||
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal ha bisogno di accedere alla tua fotocamera.";
|
||||
|
||||
/* 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" = "Puoi abilitare questo permesso nelle impostazioni 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" = "Signal necessita dell'accesso alla tua libreria multimediale per questa funzione.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Chiamata persa da %@.";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "Non è possibile associare ulteriori dispositivi.";
|
||||
|
||||
/* 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" = "Hai raggiunto il numero massimo di dispositivi attualmente associabili a questo account. Rimuovi un dispositivo e riprova l'associazione.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Non riceverai alcuna notifica dalle conversazioni silenziose.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Salta";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Verifica di essere online e riprova.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Raggiro censura: attivo";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Cerca per numero";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Aggiungi da numero di telefono";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Imposta foto del gruppo";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "I tuoi compagni stanno usando una vecchia versione di Signal. Devono aggiornarla prima di poter verificare.";
|
||||
|
||||
/* 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" = "Il codice scansionato non sembra quello di un codice di sicurezza. State usando entrambi un versione aggiornata di Signal?";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Se desideri verificare la sicurezza della tua codifica end-to-end con %@, confronta i numeri precedenti con quelli del suo dispositivo.\n\nIn alternativa puoi fare uno scan del codice sul suo telefono o chiedergli di fare una scansione del tuo.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Salva";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Salvataggio...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profilo";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Numero di telefono";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Devi iscriverti prima di poter inviare un messaggio.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Il tuo numero di telefono";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Invio dell'invito fallito, riprova più tardi";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Hai invitato il tuo amico ad usare 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" = "Invita %@ via SMS";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Inoltra sempre le chiamate";
|
||||
|
||||
/* 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" = "Inoltra tutte le chiamate tramite il server Signal per evitare di rivelare il tuo indirizzo IP al tuo contatto. L'attivazione riduce la qualità delle chiamate.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Cancella storico conversazioni";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger\nLicenza secondo direttive GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Cancella account";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Cancella tutti i dati";
|
||||
|
||||
/* 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" = "Sei sicuro di voler cancellare tutta la tua cronologia (messaggi, allegati, chiamate, ecc.)? Questa azione non può essere annullata.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Elimina tutto";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Il tuo codice di sicurezza con %@ è cambiato di recente. Potresti verificare nell'app principale prima di inviare nuovamente. ";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Caricamento...";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Apri l'app Signal per la registrazione";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "Dissocia";
|
||||
|
||||
/* 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" = "Questo dispositivo non sarà più in grado di inviare o ricevere messaggi una volta dissociato.";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "Dissociare \"%@\"?";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Non puoi rimuovere membri del gruppo. Devono lasciare loro il gruppo, oppure devi creare un nuovo gruppo senza questo membro.";
|
||||
|
||||
/* 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" = "Non consentito";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Rispondere alle chiamate dalla schermata di blocco è semplice con l'integrazione chiamate iOS. Il chiamante sarà reso anonimo e quindi privato di default.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Videochiamate sicure!";
|
||||
|
||||
/* 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 richiede iOS 9 o successivo. Usa la funzione di aggiornamento sofware presente nelle impostazioni iOS.";
|
||||
|
||||
/* Title for the alert indicating that user should upgrade iOS. */
|
||||
"UPGRADE_IOS_ALERT_TITLE" = "Aggiornare iOS";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Aggiornamento di Signal in corso...";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Indietro";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signalに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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "クリップボードと比較する";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "連絡先情報";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "色";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "グループ情報";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "ស៊ីហ្គណលមិនត្រូវបានអនុញ្ញាតឲ្យចូលប្រើប្រាស់គណនី 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "ប្រៀបធៀបជាមួយ ក្តាចុច";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "ព័ត៌មានលេខទំនាក់ទំនង";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "ពណ៌";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "ព័ត៌មានក្រុម";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "클립 보드와 비교하세요.";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contact Info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Group Info";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal nebuvo leista gauti prieigą prie jūsų iCloud paskyros, skirtos atsarginėms kopijoms.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Palyginti su iškarpine";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kontaktinė informacija";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Spalva";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Grupės informacija";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Compare with Clipboard";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contact Info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Group Info";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Споредете со Таблата со исечоци";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contact Info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Group Info";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "အရံသိမ်းဆည်းမှုများပြုလုပ်ရန်အတွက် iCloud အကောင့်ကို ဝင်ရောက်ရန် Signal ကို ခွင့်မပြုထားပါ။";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "ကလစ်ဘုတ်နှင့် နှိုင်းယှဉ်ပါ ";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "ဆက်သွယ်သူအချက်အလက် ";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "အရောင်";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "အဖွဲ့အချက်အလက် ";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal fikk ikke lov til å koble seg til iCloud-kontoen din for sikkerhetskopiering.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Sammenlign med utklippstavlen";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kontaktinfo";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Farge";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Gruppeinfo";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal kon geen toegang verkrijgen tot je iCloud-account voor back-ups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Vergelijken met klembord";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contactinfo";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Kleur";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Groepsinfo";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal nie uzyskał dostępu do twojego konta iCloud w celu utworzenia kopii zapasowych.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Porównaj ze schowkiem";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informacje o kontakcie";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Kolor";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informacje o grupie";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "O Signal não tem permissão para acessar sua conta iCloud e guardar cópias de segurança.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Comparar com Área de Transferência";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informações do contato";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Cor";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informações do grupo";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "O Signal não tem autorização para aceder ao iCloud para efectuar backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Comparar com o copiado";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Info. Contacto";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Cor";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Grupo";
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ în grupul %@: %@";
|
||||
|
||||
/* 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 nu poate fi lansat. Te rog trimite jurnalul tău de depanare la support@signal.org ca să investigăm problema.";
|
||||
|
||||
/* Title for the 'app launch failed' alert. */
|
||||
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Eroare";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Versiunea %@ este disponibilă acum în App Store.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "O nouă versiune de Signal este disponibilă";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Actualizează";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "Atașament";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Descărcarea a eșuat. Apasă pentru a reîncerca.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Se descarcă...";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Eroare la trimiterea atașamentului";
|
||||
|
||||
/* 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" = "Imagine nu a putut fi convertită.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"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" = "Unable to parse image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Imagine 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" = "Unable to resize image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Imagine 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.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Atașamentul include conținut invalid.";
|
||||
|
||||
/* 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" = "Atașamentul are un format de fișier invalid.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "Atașamentul este gol.";
|
||||
|
@ -165,7 +165,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" = "Please create a compressed archive of this file or directory and try sending that instead.";
|
||||
"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.";
|
||||
|
||||
/* Alert title when picking a document fails because user picked a directory/bundle */
|
||||
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Fișier nesuportat";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "Sună încă o dată";
|
||||
|
||||
/* 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" = "Poți activa accesul microfonului din aplicația iOS Setări pentru a putea realiza apeluri și a înregistra mesaje vocale în Signal. ";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "Accesul la microfon este necesar";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Sună";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Nici un răspuns";
|
||||
|
||||
/* 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 %@";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal nu a primit accesul la contul tău iCloud pentru copiile de rezervă.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Compară cu Clipboard";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Invită";
|
||||
|
||||
/* 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" = "Poți activa accesul la contacte din aplicația iOS Setări pentru a putea vedea care dintre contactele tale sunt utilizatori Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "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?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informații contact";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Culoare";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informații grup";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"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" = "Share Your Profile with This User";
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Partajează profilul tău 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.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Se încarcă mai multe mesaje...";
|
||||
|
||||
/* 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" = "Apasă pentru detalii";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Blochează acest utilizator";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Locație ocolire cenzură";
|
||||
|
||||
/* 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" = "Poți permite accesul din aplicația iOS Setări.";
|
||||
|
||||
/* 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 are nevoie de acces la contacte pentru a edita informațiile despre contact";
|
||||
|
@ -745,7 +754,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" = "Would you like to save the changes that you made to this group?";
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_MESSAGE" = "Vrei să salvezi 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";
|
||||
|
@ -763,7 +772,7 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "Hai să folosim 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" = "Poți arhiva conversațiile inactive din Inbox-ul tău.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty archive */
|
||||
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "Începe prima ta conversație în Signal!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "Nimic. Zero. Nul. Gol.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"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.";
|
||||
|
@ -832,7 +841,7 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Trimiterea mesajului a eșuat.";
|
||||
|
||||
/* 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" = "Trimiterea a eșuat din cauza datelor vechi.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Mesajul nu a fost trimis deoarece ai blocat acest utilizator.";
|
||||
|
@ -841,7 +850,7 @@
|
|||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Failed to write and send attachment.";
|
||||
|
||||
/* 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 nu s-a putut conecta la internet. Te rugăm să încerci din nou.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Mesajul nu a putut fi trimis deoarece nu există o listă validă de destinatari.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Răspuns invalid de la serviciu.";
|
||||
|
||||
/* 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" = "Acest dispozitiv nu mai este înregistrat pentru numărul tău de telefon. Te rugăm să reinstalezi Signal.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Eroare de server. Te rog încearcă mai târziu.";
|
||||
|
@ -871,7 +880,7 @@
|
|||
"ERROR_MESSAGE_ATTACHMENT_FROM_OLD_CLIENT" = "Attachment failure: Ask this contact to send their message again after updating to the latest version of Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "A fost primit un mesaj duplicat.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Cheia destinatarului nu este validă.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "Mesajul primit nu a fost sincronizat.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "A fost primit un mesaj care nu este compatibil cu această versiune.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "Nu există nici o sesiune pentru contact.";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "Utilizator neînregistrat: %@";
|
||||
|
||||
/* 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" = "Prea multe erori pentru acest contact. Te rog încearcă din nou mai târziu.";
|
||||
|
||||
/* 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" = "Numărul tău de siguranță pentru %@ s-a schimbat recent. S-ar putea să dorești să-l verifici înainte de trimite acest mesaj din nou.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "Verificarea Numărului de Siguranță a eșuat!";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "Nu ai nici un fișier media în această conversație.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Se încarcă fișiere media recente…";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Se încarcă fișiere media mai vechi…";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Atașament";
|
||||
|
@ -979,7 +988,7 @@
|
|||
"GROUP_MEMBERS_CALL" = "Apel";
|
||||
|
||||
/* 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" = "Șterge verificarea pentru toți";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Această opțiune va șterge verificarea pentru toți membrii grupului a căror numere de siguranță s-au schimbat de când au fost verificați ultima oară.";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "Se conectează...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Se reconectează…";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Sună...";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "Apelul a fost terminat.";
|
||||
|
||||
/* 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" = "Conversațiile sunt arhivate și vor apărea doar în Inbox dacă sunt primite mesaje noi.";
|
||||
|
||||
/* 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" = "Poți activa accesul la contacte din aplicația iOS Setări pentru a putea vedea numele contactelor în lista de conversații Signal.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "Apel de intrare";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Fișier audio invalid.";
|
||||
|
||||
/* 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" = "Poți activa accesul la contacte din aplicația iOS Setări pentru a putea invita prietenii tăi la Signal.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Permite accesul la contacte";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "Invită prieteni";
|
||||
|
||||
/* 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" = "Invitarea mai multor utilizatori în același timp va porni un mesaj de grup și destinatarii se vor putea vedea reciproc.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "Mesajele dispar după %@.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "Părăsește grupul";
|
||||
|
||||
/* 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" = "Acest cod QR nu este valid. Te rugăm să te asiguri că scanezi codul QR afișat pe dispozitivul pe care vrei să-l conectezi.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "Conectarea dispozitivului a eșuat";
|
||||
|
||||
/* 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" = "Acest dispozitiv va putea vedea grupurile și contactele tale, accesa conversațiile și să trimită mesaje în numele tău.";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Asociez acest dispozitiv?";
|
||||
|
@ -1114,7 +1123,7 @@
|
|||
"LINK_DEVICE_RESTART" = "Re-încearcă";
|
||||
|
||||
/* 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" = "Scanează codul QR care este afișat pe dispozitivul care vrei sa-l asociezi.";
|
||||
|
||||
/* Subheading for 'Link New Device' navigation */
|
||||
"LINK_NEW_DEVICE_SUBTITLE" = "Scanează cod QR";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "Copiază textul mesajului";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Șterge acest mesaj";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Se va șterge numai de pe acest dispozitiv.";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Mai multe informații";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Răspunde la acest mesaj";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Salvează fișierele media";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Trimitere eșuata.";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Se trimite...";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Trimis";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ nu mai este marcat ca fiind verificat. Apasă pentru opțiuni.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Ai blocat acest utilizator";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ nu mai este marcat ca fiind verificat. Apasă pentru opțiuni.";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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" = "Poți activa accesul camerei din aplicația iOS Setări pentru a putea realiza apeluri video în Signal. ";
|
||||
|
||||
/* Alert title
|
||||
Alert title when camera is not authorized */
|
||||
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal are nevoie de acces la camera ta.";
|
||||
|
||||
/* 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" = "Poți activa această permisiune din aplicația iOS Setări. ";
|
||||
|
||||
/* 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" = "Signal are nevoie de acces la pozele tale pentru această funcționalitate.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Apel ratat de la %@.";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "Nu mai poți asocia alte dispozitive.";
|
||||
|
||||
/* 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" = "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.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Nu vei primi notificări pentru conversațiile silențioase.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Omite";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Te rog verifică dacă ești online și încearcă din nou.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Ocolire Cenzură: Activat";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Găsește după numărul de telefon";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Adaugă după numărul de telefon";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Setează Poza de Grup";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Partenerul tău folosește o versiune veche de Signal. Trebuie sa-și actualizeze aplicația pentru a realiza verificarea.";
|
||||
|
||||
/* 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" = "Codul scanat nu pare a fi un număr de siguranță. Folosiți amândoi o versiune actualizată de Signal?";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Dacă dorești să verifici securitatea criptării integrale cu %@, compară numerele de deasupra cu numerele de pe dispozitivul lor.\n\nAlternativ, poți scana codul de pe telefonul lor sau îi poți ruga să scaneze codul tău.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Salvează";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Se salvează...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profil";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Număr de Telefon";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Trebuie să te înregistrezi înainte de a trimite un mesaj.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Numărul Tău de Telefon";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Invitația trimisă a eșuat, te rog încearcă din nou mai târziu.";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Ai invitat prietenul tău să folosească 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" = "Invită prin SMS: %@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Redirecționează întotdeauna apelurile";
|
||||
|
||||
/* 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" = "Redirecționează toate apelurile către un server Signal pentru a evita aflarea adresei IP de către contact tău. Activarea va reduce calitatea apelului.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Șterge istoricul conversației";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Drepturi de autor Signal Messenger \n Sub licenţa GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Șterge Contul";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Șterge toate datele";
|
||||
|
||||
/* 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" = "Ești sigur că vrei să ștergi tot istoricul (mesaje, atașamente, istoric apeluri,etc.) ? Această acțiune este ireversibilă.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Șterge tot";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Numărul tău de siguranță pentru %@ s-a schimbat recent. S-ar putea să dorești să-l verifici în aplicație înainte de a retrimite.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Se încarcă...";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Lansează aplicația Signal pentru a te înregistra.";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Nu poți elimina membrii grupului. Vor trebui fie să plece, sau poți crea un grup nou fără acest membru.";
|
||||
|
||||
/* 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" = "Funcționalitatea nu este suportată";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Preluarea apelurilor din ecranul de blocare este ușoară prin integrarea de apel iOS. Anonimizăm apelantul în mod implicit, asigurând confidențialitatea.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Bun venit la apeluri video securizate!";
|
||||
|
||||
/* 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 necesită iOS 9 sau o versiune mai nouă. Te rog folosește funționalitatea Actualizări Software din aplicația iOS Setări.";
|
||||
|
||||
/* 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 ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Se actualizează Signal...";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Înapoi";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal не разрешен доступ к вашей учетной записи 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Сравнить с буфером";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Информация о контакте";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Цвет";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Информация о группе";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Aplikacija Signal ni dobila dovoljenja za dostop do strežnika 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Primerjaj z odložiščem";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Informacije o stiku";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Barva";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Informacije o skupini";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Enzanisa nezvakachengetwa mundangariro";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Ruzivo rwezve Kontakt";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Ruvara";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Ruzivo rwezve Chikwata";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal was not allowed to access your iCloud account for backups.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Krahaso me Memorien";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Contact Info";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Group Info";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal-i s’u lejua të hyjë në llogarinë tuaj iCloud për kopjeruajtje.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Krahasojeni me Të papastrën";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Të dhëna kontakti";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Ngjyrë";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Të dhëna Grupi";
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ i grupp %@: %@";
|
||||
|
||||
/* 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 kan inte startas. Skicka en felsökningslogg till support@signal.org så att vi kan felsöka problemet.";
|
||||
|
||||
/* Title for the 'app launch failed' alert. */
|
||||
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Fel";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ finns nu tillgänglig i App Store.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "En ny version av Signal är tillgänglig";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Uppdatera";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "Bilaga";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Nedladdning misslyckad. Tryck för att försöka igen.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "Hämtar hem...";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Fel vid sändning av bifogad fil";
|
||||
|
||||
/* 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" = "Kunde inte konvertera bilden.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Kunde inte använda videon.";
|
||||
|
||||
/* 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" = "Kunde inte tolka bilden.";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Kunde inte ta bort metadata från bild.";
|
||||
|
||||
/* 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" = "Kunde inte ändra storlek på bilden.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Den bifogade filen är för stor.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Bilagan innehåller ogiltigt innehåll.";
|
||||
|
||||
/* 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" = "Bilagan har ett ogiltigt filformat.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "Den bifogade filen är tom.";
|
||||
|
@ -165,7 +165,7 @@
|
|||
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Kunde inte välja 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" = "Vänligen skapa ett komprimerat arkiv av den här filen eller katalogen och försök att skicka den istället.";
|
||||
|
||||
/* Alert title when picking a document fails because user picked a directory/bundle */
|
||||
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Filtypen stöds ej";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "Ring igen";
|
||||
|
||||
/* 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" = "Du kan aktivera mikrofonåtkomst i appen Inställningar för att ringa och spela in röstmeddelanden i Signal.";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "Åtkomst till mikrofon krävs";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Ring";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Inget 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 %@";
|
||||
|
@ -339,10 +339,10 @@
|
|||
"CALL_VIEW_MUTE_LABEL" = "Mikrofon av";
|
||||
|
||||
/* 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" = "Du kan aktivera iOS Call Integration i dina Signal integritetsskydd inställningar för att svara inkommande samtal från din låsskärm.";
|
||||
|
||||
/* 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" = "Du kan aktivera iOS Call Integration i dina Signal integritetsskydd inställningar för att se namn och telefonnummer för inkommande samtal.";
|
||||
|
||||
/* Label for button that dismiss the call view's settings nag. */
|
||||
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Inte nu";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal hade inte tillåtelse att komma åt ditt iCloud-konto för säkerhetskopior.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* 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.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Jämför med urklipp";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Bjud in";
|
||||
|
||||
/* 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 aktivera kontaktåtkomst i appen Inställningar för att se vilka av dina kontakter som är Signalanvändare.";
|
||||
|
||||
/* 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" = "Det här kommer återställa appen, radera dina meddelanden och avregistrera dig från servern. Appen kommer stängas när allt är klart.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Är du säker på att du vill radera ditt konto?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kontaktinfo";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Färg";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Gruppinfo";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Lägg till i kontakter";
|
||||
|
||||
/* 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" = "Dela din profil med användaren";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Användaren finns inte bland dina kontakter.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Hämtar fler meddelanden...";
|
||||
|
||||
/* 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" = "Tryck för mer";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Blockera användaren";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Kringgå censur för platsen";
|
||||
|
||||
/* 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" = "Du kan ge åtkomst i appen för iOS-inställningar.";
|
||||
|
||||
/* 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 behöver åtkomst för att ändra kontaktinformation";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "Uppdatera";
|
||||
|
||||
/* 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" = "Vill du spara ändringarna som du gjort för denna grupp?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Osparade förändringar";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "Låt oss byta till 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" = "Du kan arkivera inaktiva konversationer från din inbox.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty archive */
|
||||
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
|
||||
"EMPTY_ARCHIVE_TITLE" = "Rensa bland konversationerna";
|
||||
|
||||
/* Full width label displayed when attempting to compose message */
|
||||
"EMPTY_CONTACTS_LABEL_LINE1" = "Inga av dina kontakter har Signal.";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "Starta din första konversation i Signal!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "Ingenting. Noll. Tomt. Nada.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "Inkorgen är tom";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "Bekräfta din PIN-kod.";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Kunde inte skicka meddelande.";
|
||||
|
||||
/* 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" = "Kunde inte skicka på grund av unken prekey-data.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Kunde inte skicka meddelande eftersom du blockerat användaren";
|
||||
|
||||
/* 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" = "Kunde inte skriva och skicka bifogad fil.";
|
||||
|
||||
/* 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 kunde inte ansluta till internet. Var god försök igen.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Kunde inte skicka meddelandet, det saknas giltig mottagare.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Ogiltigt svar från tjänsten.";
|
||||
|
||||
/* 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" = "Den här enheten är inte längre registrerad med ditt telefonnummer. Installera om Signal igen.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Serverfel. Försök igen senare.";
|
||||
|
@ -868,10 +877,10 @@
|
|||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Kontakten är inte en Signal-användare.";
|
||||
|
||||
/* 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" = "Bilag misslyckades: Be den här kontakten om att skicka sitt meddelande igen efter uppdatering till den senaste versionen av Signal.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Fick ett duplicerat meddelande.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Mottagarens nyckel är ogiltig.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "Mottaget meddelande var ur sync.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Fick ett meddelande som inte är kompatibelt med den här versionen.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "Ingen tillgänglig session för kontakten.";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "Oregistrerad kontakt: %@";
|
||||
|
||||
/* 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" = "Får för många fel med den här kontakten. Försök igen senare.";
|
||||
|
||||
/* 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 säkerhetsnummer med %@ har nyligen ändrats. Du vill nog verifiera innan du skickar det här meddelandet igen.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "Misslyckades med att bekräfta säkerhetsnumret!";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "Du har inga medier i denna konversation.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Hämtar nyare media...";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Hämtar äldre media...";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Bilaga";
|
||||
|
@ -979,7 +988,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" = "Clear Verification for All";
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "Rensa verifiering för alla";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Det här kommer rensa verifieringen av alla gruppmedlemmarna vars säkerhetsnummer har ändrats sen förra verifieringen.";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "Ansluter...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Kopplar upp igen...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Ringer...";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "Samtalet avslutades.";
|
||||
|
||||
/* 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" = "Konversationerna här är arkiverade och kommer bara visas i inkorgen ifall nya meddelanden tas emot.";
|
||||
|
||||
/* 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 aktivera kontaktåtkomst i appen Inställningar för att se kontaktnamn i din Signal konversationslista.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "Inkommande samtal";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Ogiltig ljudfil.";
|
||||
|
||||
/* 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 aktivera kontaktåtkomst i appen Inställningar för att bjuda in dina vänner till Signal.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Tillåt åtkomst till kontakter";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "Bjud in vänner";
|
||||
|
||||
/* 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" = "Inbjudan till flera användare på en gång kommer att starta ett gruppmeddelande och mottagarna kommer att kunna se varandra.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "Meddelanden försvinner efter %@.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "Lämna grupp";
|
||||
|
||||
/* 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" = "QR-koden stämmer inte. Se till att du läser av den QR-kod som visas på enheten som du vill länka.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "Kunde inte länka enheten";
|
||||
|
||||
/* 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" = "Den här enheten kommer att se dina grupper och kontakter, få tillgång till dina konversationer och skicka meddelanden i ditt namn.";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Länka den här enheten?";
|
||||
|
@ -1114,7 +1123,7 @@
|
|||
"LINK_DEVICE_RESTART" = "Försök igen";
|
||||
|
||||
/* 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" = "Skanna QR-koden som visas på enheten som du vill länka.";
|
||||
|
||||
/* Subheading for 'Link New Device' navigation */
|
||||
"LINK_NEW_DEVICE_SUBTITLE" = "Läs av QR-kod";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "Kopiera meddelandetext";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Ta bort detta meddelande ";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Det kommer enbart tas bort från denna enhet.";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Mer information";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Svara på detta meddelande";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Spara media";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Kunde inte skicka";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Skickar...";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Skickat";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ är inte markerad som verifierad längre. Tryck för alternativ.";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Du blockerade denna användare";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ är inte markerad som verifierad längre. Tryck för alternativ.";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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" = "Du kan aktivera kameratillgänglighet i appen Inställningar för att ringa videosamtal i Signal.";
|
||||
|
||||
/* Alert title
|
||||
Alert title when camera is not authorized */
|
||||
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal behöver åtkomst till din kamera.";
|
||||
|
||||
/* 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" = "Du kan aktivera den här behörigheten i appen för iOS-inställningar.";
|
||||
|
||||
/* 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" = "För den här funktionen behöver Signal åtkomst till dina foton.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "Missat samtal från %@";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "Du kan inte lägga till fler länkade enheter.";
|
||||
|
||||
/* 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" = "Du har nått max antal enheter som du just nu kan länka ihop med ditt konto. Ta bort en enhet och försök igen.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Du kommer inte få notiser för tystade konversationer.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Hoppa över";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Kontrollera att du är online och försök igen.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Kringgå censur: På";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Hitta via telefonnummer";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Lägg till med telefonnummer";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Välj gruppbild";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Din partner kör en gammal version av Signal. De behöver uppdatera innan du kan bekräfta.";
|
||||
|
||||
/* 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" = "Koden som lästes in verkar inte vara ett säkerhetsnummer. Har ni båda två en uppdaterad version av Signal?";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "Om du vill vara säker på att din kommunikation med %@ är krypterad hela vägen, jämför numren ovan med numren på den andra enheten.\n\nEtt alternativ är att du läser av koden på deras telefon eller be dem läsa av din kod.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Spara";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Sparar...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profil";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Telefonnummer";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Du behöver registrera dig innan du kan skicka ett meddelande.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Ditt telefonnummer";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Kunde inte skicka inbjudan, vänligen försök senare.";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Du bjöd din vän att använda 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" = "Bjud in via SMS: %@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Vidarebefordra alltid samtal";
|
||||
|
||||
/* 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" = "Vidarebefordra alla samtal genom en Signal-server för att undvika att avslöja ditt IP-nummer till din kontakt. Detta kommer att reducera samtalskvaliteten.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Rensa konversationshistorik";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \nLicenserad under GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Radera konto";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Radera all 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" = "Är du säker på att du vill radera all historik (meddelanden, bifogade filer, samtal, etc.)? Du kan inte ångra dig.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Radera allt";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "Ditt säkerhetsnummer med %@ har nyligen ändrats. Du vill nog verifiera det i appen innan du skickar igen.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Hämtar in...";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Starta appen Signal för att registrera.";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "Avlänka";
|
||||
|
||||
/* 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" = "Denna enhet kommer inte längre att kunna skicka eller ta emot meddelanden om den är frånkopplad.";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "Avlänka \"%@\"?";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Du kan inte ta bort gruppmedlemmar. De får antingen lämna gruppen, eller så får du skapa en ny grupp utan denna medlem.";
|
||||
|
||||
/* 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" = "Stöds inte";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "Svara på samtal från din låsskärm är enkelt med iOS call integration. Vi anonymiserar alltid uppringaren, så det är privat också.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Hallå säkra videosamtal!";
|
||||
|
||||
/* 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 kräver iOS 9 eller senare. Använd funktionen Programuppdatering i appen för iOS-inställningar.";
|
||||
|
||||
/* Title for the alert indicating that user should upgrade iOS. */
|
||||
"UPGRADE_IOS_ALERT_TITLE" = "Uppgradera iOS";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Uppgraderar Signal...";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Tillbaka";
|
||||
|
|
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal ไม่ได้รับอนุญาตให้เข้าถึงบัญชี 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" = "Choose the color of outgoing messages in this conversation.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Only you will see the color you choose.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Conversation Color";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "เปรียบเทียบกับคลิปบอร์ด";
|
||||
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "ข้อมูลผู้ติดต่อ";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Color";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Conversation Color";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "ข้อมูลกลุ่ม";
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@, şu grupta %@: %@";
|
||||
|
||||
/* 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 başlatılamıyor. Lütfen bu sorunu çözmemiz için hata ayıklama günlüğünüzü support@signal.org adresine gönderin.";
|
||||
|
||||
/* Title for the 'app launch failed' alert. */
|
||||
"APP_LAUNCH_FAILURE_ALERT_TITLE" = "Hata";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Sürüm %@ şimdi App Store'dan edinilebilir.";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "Signal'in Yeni Bir Sürümü Mevcut";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Güncelle";
|
||||
|
@ -96,7 +96,7 @@
|
|||
"ARCHIVE_ACTION" = "Arşivle";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ATTACHMENT" = "Ek";
|
||||
"ATTACHMENT" = "Eklenti";
|
||||
|
||||
/* One-line label indicating the user can add no more text to the attachment caption. */
|
||||
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Mesaj limitine ulaşıldı.";
|
||||
|
@ -111,10 +111,10 @@
|
|||
"ATTACHMENT_APPROVAL_SEND_BUTTON" = "Gönder";
|
||||
|
||||
/* Generic filename for an attachment with no known name */
|
||||
"ATTACHMENT_DEFAULT_FILENAME" = "Ek";
|
||||
"ATTACHMENT_DEFAULT_FILENAME" = "Eklenti";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "İndirme başarısız. Yeniden denemek için dokunun.";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "İndiriliyor...";
|
||||
|
@ -123,40 +123,40 @@
|
|||
"ATTACHMENT_DOWNLOADING_STATUS_QUEUED" = "Sıraya eklendi";
|
||||
|
||||
/* The title of the 'attachment error' alert. */
|
||||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Ek Gönderilirken Hata";
|
||||
"ATTACHMENT_ERROR_ALERT_TITLE" = "Eklenti Gönderilirken Hata";
|
||||
|
||||
/* 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" = "Resim dönüştürülemedi.";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Video işlenemedi.";
|
||||
|
||||
/* 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" = "Resim işlenemedi.";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Bu görüntüdeki metaveriler kaldırılamadı.";
|
||||
|
||||
/* 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" = "Resim yeniden bouytlandırılamadı.";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Ek çok büyük.";
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Eklenti çok büyük.";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Eklenti geçersiz içerik bulundurmakta.";
|
||||
|
||||
/* 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" = "Eklenti geçersiz bir dosya biçimine sahip.";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "Ek boş.";
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "Eklenti boş.";
|
||||
|
||||
/* Accessibility hint describing what you can do with the attachment button */
|
||||
"ATTACHMENT_HINT" = "Resim seçin ya da fotoğraf çekin, sonra gönderin";
|
||||
|
||||
/* Accessibility label for attaching photos */
|
||||
"ATTACHMENT_LABEL" = "Ek";
|
||||
"ATTACHMENT_LABEL" = "Eklenti";
|
||||
|
||||
/* attachment menu option to send contact */
|
||||
"ATTACHMENT_MENU_CONTACT_BUTTON" = "Kişi";
|
||||
|
@ -165,7 +165,7 @@
|
|||
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Doküman seçimi başarısız.";
|
||||
|
||||
/* 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" = "Bu dosyanın veya dizinin sıkıştırılmış arşivini oluşturun ve onu göndermeyi deneyin.";
|
||||
|
||||
/* Alert title when picking a document fails because user picked a directory/bundle */
|
||||
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Desteklenmeyen dosya";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "Tekrar Ara";
|
||||
|
||||
/* 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" = "Signal'de sesli mesajlar kaydetmek ve aramalar yapmak için iOS Ayarlar uygulamasından mikrofon erişimini etkinleştirebilirsiniz.";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "Mikrofon Erişimi Gerekiyor";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "Ara";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "Yanıt Yok";
|
||||
|
||||
/* 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 %@";
|
||||
|
@ -339,10 +339,10 @@
|
|||
"CALL_VIEW_MUTE_LABEL" = "Sessize al";
|
||||
|
||||
/* 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" = "Gelen aramaları kilit ekranınızdan yanıtlamak için Signal'in gizlilik ayarlarından iOS Çağrı Entegrasyonu'nu etkinleştirebilirsiniz.";
|
||||
|
||||
/* 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" = "Gelen aramalarda isim ve telefon numarası görmek için Signal'in gizlilik ayarlarından iOS Çağrı Entegrasyonu'nu etkinleştirebilirsiniz.";
|
||||
|
||||
/* Label for button that dismiss the call view's settings nag. */
|
||||
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "Şimdi Değil";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Yedekler için Signal'in iCloud hesabınıza erişmesine izin verilmedi.";
|
||||
|
||||
/* The first of two messages demonstrating the chosen conversation color, by rendering this message in an outgoing message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_1" = "Bu sohbete gönderilen mesajarın rengini seçin.";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "Seçtiğiniz rengi sadece siz göreceksiniz.";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "Sohbet Rengi";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "Panodaki ile Karşılaştır";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Davet et";
|
||||
|
||||
/* 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" = "Hangi kişilerinizin Signal kullandığını görmek için iOS Ayarlar uygulamasından kişiler erişimini etkinleştirebilirsiniz.";
|
||||
|
||||
/* 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" = "Bu işlem mesajlarınızı silerek ve sunucu kaydınızı silerek uygulamayı sıfırlayacaktır. İşlem tamamlandıktan sonra uygulama kapanacaktır.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "Hesabınızı silmek istediğinizden emin misiniz?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "Kişi Bilgisi";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Renk";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "Sohbet Rengi";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "Grup Bilgisi";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Kişilere Ekle";
|
||||
|
||||
/* 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" = "Profilinizi Bu Kullanıcı ile Paylaşın";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Bu kullanıcı rehberinizde değil.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Daha Fazla Mesaj Yükleniyor…";
|
||||
|
||||
/* 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" = "Dahası için Dokunun";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "Bu Kullanıcıyı Engelle";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "Sansür Atlatma Lokasyonu";
|
||||
|
||||
/* 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" = "iOS Ayarlar uygulamasından erişimini etkinleştirebilirsiniz.";
|
||||
|
||||
/* 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 Kişi Bilgilerini Düzenlemek İçin Kişi Erişimine İhtiyacı Var";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "Güncelle";
|
||||
|
||||
/* 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" = "Bu gruba yaptığınız değişiklikleri kaydetmek ister misiniz?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "Kaydedilmemiş Değişiklikler";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "Haydi Signal'e geçelim";
|
||||
|
||||
/* 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" = "Eski sohbetlerinizi gelen kutunuzdan arşivleyebilirsiniz.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty archive */
|
||||
"EMPTY_ARCHIVE_TITLE" = "Clean Up Your Conversation List";
|
||||
"EMPTY_ARCHIVE_TITLE" = "Sohbet Listenizi Temizleyin.";
|
||||
|
||||
/* Full width label displayed when attempting to compose message */
|
||||
"EMPTY_CONTACTS_LABEL_LINE1" = "Kişilerinizin hiçbirinde Signal yok.";
|
||||
|
@ -784,7 +793,7 @@
|
|||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "Gelen Kutusu Bomboş";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "PIN kodunuzu doğrulayın.";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "Mesaj gönderilemedi.";
|
||||
|
||||
/* 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" = "Eski anahtar verilerinden dolayı gönderilemedi.";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "Engellediğiniz için kullanıcıya mesaj gönderilemedi.";
|
||||
|
||||
/* 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" = "Eklenti yazımı ve gönderimi başarısız oldu.";
|
||||
|
||||
/* 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 internete bağlanamadı. Lütfen tekrar deneyin.";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "Mesaj gönderimi geçerli alıcı olmadığından başarısız oldu.";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "Hizmetten geçersiz yanıt alındı.";
|
||||
|
||||
/* 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" = "Bu cihaz artık telefon numaranıza kayıtlı değil. Lütfen Signal'i yeniden başlatın.";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "Sunucu hatası. Lütfen daha sonra tekrar deneyiniz.";
|
||||
|
@ -868,10 +877,10 @@
|
|||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "Kişi bir Signal kullanıcısı değil.";
|
||||
|
||||
/* 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" = "Eklenti hatası: Bu kullanıcıdan Signal'in en son sürümüne güncelledikten sonra mesajı tekrar göndermelerini isteyin.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Tekrarlanan bir ileti alındı.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "Alıcının anahtarı geçerli değil.";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "Alınan mesaj senkronize edilemedi.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Bu sürümle uyumsuz bir ileti alındı.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "Kişi için oturum mevcut değil.";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "Kayıtlı Olmayan Kullanıcı: %@";
|
||||
|
||||
/* 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" = "Bu kullanıcıya çok fazla hatalı deneme yaptınız. Lütfen daha sonra tekrar deneyin.";
|
||||
|
||||
/* 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" = "%@ ile olan güvenlik numaranız yakın zamanda değişti. Bu mesajı tekrar göndermeden önce doğrulamak isteyebilirsiniz.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "Güvenlik Numarası Doğrulanamadı!";
|
||||
|
@ -922,13 +931,13 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "Bu konuşmada hiç medyanız yok.";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Daha Yeni Medyalar Yükleniyor…";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Daha Eski Medyalar Yükleniyor…";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Ek";
|
||||
"GENERIC_ATTACHMENT_LABEL" = "Eklenti";
|
||||
|
||||
/* Error displayed when there is a failure fetching a GIF from the remote service. */
|
||||
"GIF_PICKER_ERROR_FETCH_FAILURE" = "İstenen GIF alınamadı. Lütfen çevrimiçi olduğunuzu doğrulayın.";
|
||||
|
@ -979,7 +988,7 @@
|
|||
"GROUP_MEMBERS_CALL" = "Ara";
|
||||
|
||||
/* 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" = "Tüm Doğrulamaları Temizle";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "Bu seçenek son doğrulanmasından bu yana güvenlik numarası değişmiş olan grup üyelerinin doğrulanmasını kaldırır.";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "Bağlanıyor...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "Yeniden bağlanıyor…";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Çalıyor...";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "Çağrı Sonlandı.";
|
||||
|
||||
/* 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" = "Bu sohbetler arşivlendi ve sadece yeni mesajlar alınırsa gelen kutusunda görünecekler.";
|
||||
|
||||
/* 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" = "Signal sohbet listesinde kişilerinizin adını görmek için iOS Ayarlar uygulamasından kişiler erişimini etkinleştirebilirsiniz.";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "Gelen çağrı";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Geçersiz ses dosyası.";
|
||||
|
||||
/* 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" = "Arkadaşlarınızı Signal'e davet etmek için iOS Ayarlar uygulamasından kişiler erişimini etkinleştirebilirsiniz.";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "Kişi Erişimine İzin Ver";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "Arkadaş Davet Et";
|
||||
|
||||
/* 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" = "Aynı anda birden fazla kullanıcıyı davet etmek bir grup mesajı gönderir ve alıcılar birbirini görebilir.";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "Mesajlar %@ geçtikten sonra kayboluyor.";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "Grupdan ayrıl";
|
||||
|
||||
/* 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" = "Bu karekod geçerli değil. Lütfen bağlamak istediğiniz cihazda görüntülenen karekodu taradığınızdan emin olun.";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "Cihaz Bağlanması Başarısız Oldu";
|
||||
|
||||
/* 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" = "Bu cihaz, gruplarınızı ve kişilerinizi görebilecek, tüm iletilerinize erişebilecek ve adınıza mesaj gönderebilecektir.";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "Bu cihazı bağla?";
|
||||
|
@ -1114,7 +1123,7 @@
|
|||
"LINK_DEVICE_RESTART" = "Yeniden dene";
|
||||
|
||||
/* 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" = "Bağlamak istediğiniz cihazda görüntülenen karekodu taratın.";
|
||||
|
||||
/* Subheading for 'Link New Device' navigation */
|
||||
"LINK_NEW_DEVICE_SUBTITLE" = "Karekod taratın";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "Mesaj Metnini kopyala";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Bu Mesajı Sil";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "Yalnızca bu cihazdan silinecektir.";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "Daha Fazla Bilgi";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "Bu Mesajı Yanıtla";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "Medyayı Kaydet";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "Gönderme Başarısız";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "Gönderiliyor…";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "Gönderildi";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@ artık doğrulanmış olarak işaretlenmiyor. Seçenekler için dokunun. ";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "Bu Kullanıcıyı Engellediniz";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@ artık doğrulanmış olarak işaretlenmiyor. Seçenekler için dokunun. ";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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" = "Signal'de görüntülü aramalar yapmak için iOS Ayarlar uygulamasından kamera erişimini etkinleştirebilirsiniz.";
|
||||
|
||||
/* Alert title
|
||||
Alert title when camera is not authorized */
|
||||
"MISSING_CAMERA_PERMISSION_TITLE" = "Signal'in kamera erişimine ihtiyacı var.";
|
||||
|
||||
/* 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" = "Bu izni Ayarlar uygulamasından etkinleştirebilirsiniz.";
|
||||
|
||||
/* 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" = "Bu özellik için Signal'in fotoğraflarınıza erişmeye ihtiyacı var.";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "%@ tarafından cevapsız arama.";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "Daha fazla cihaz bağlayamazsınız.";
|
||||
|
||||
/* 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" = "Hesabınıza bağlayabileceğiniz azami cihaz sayısına ulaştınız. Lütfen bir cihazı kaldırın ve tekrar deneyin.";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "Sessize alınmış görüşmeler için bildirim almayacaksınız.";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Atla";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "Çevrimiçi olduğunuzu kontrol edip tekrar deneyin.";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "Sansür Atlatma: Açık";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "Telefon Numarası ile Bul";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Telefon Numarası ile ekle";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "Grup Fotoğrafını Ayarla";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "Karşıdaki kişi Signal'in eski bir sürümünü kullanıyor. Doğrulamadan önce güncelleme yapmaları gerekiyor.";
|
||||
|
||||
/* 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" = "Taranan kod güvenlik numarası gibi gözükmüyor. Signal'in güncel sürümünde olduğunuzdan emin misiniz?";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "%@ ile olan uçtan uca şifrelemenizin güvenliğini doğrulamak isterseniz, yukarıdaki numaraları cihazlarındaki numaralarla karşılaştırın.\n\nAlternatif olarak, telefonlarından kodu taratabilir, ya da kodunuzu taratmalarını rica edebilirsiniz.";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "Kaydet";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "Kaydediliyor…";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Profil";
|
||||
|
@ -1626,7 +1635,7 @@
|
|||
"QUOTED_REPLY_ORIGINAL_MESSAGE_REMOTELY_SOURCED" = "Mesajın aslı bulunamadı.";
|
||||
|
||||
/* Indicates this message is a quoted reply to an attachment of unknown type. */
|
||||
"QUOTED_REPLY_TYPE_ATTACHMENT" = "Ek";
|
||||
"QUOTED_REPLY_TYPE_ATTACHMENT" = "Eklenti";
|
||||
|
||||
/* Indicates this message is a quoted reply to an audio file. */
|
||||
"QUOTED_REPLY_TYPE_AUDIO" = "Ses";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "Telefon Numarası";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "Mesaj göndermeden önce kaydolmanız gerekiyor.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "Telefon Numaranız";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "Davetiye gönderilemedi, lütfen daha sonra tekrar deneyin.";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "Arkadaşınızı Signal kullanmaya davet ettiniz!";
|
||||
|
||||
/* Text for button to send a Signal invite via SMS. %@ is placeholder for the recipient's phone number. */
|
||||
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "SMS ile davet et: %@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "Çağrıları Daima Aktar";
|
||||
|
||||
/* 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" = "IP adresinizi kişinize göstermekten kaçınmak için tüm aramaları Signal sunucusundan aktarın. Etkinleştirildiğinde arama kalitesi düşecektir.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "Sohbet Geçmişini Temizle";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Signal Mesajlaşma Uygulaması Telif Hakkı\nGPLv3'e göre lisanslıdır";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "Hesabı Sil";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "Tüm Verileri Sil";
|
||||
|
||||
/* 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" = "Tüm geçmişi silmek istediğinizden emin misiniz (mesajlar, eklentiler, aramalar, vb.)? Bu eylem geri alınamaz.";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Her Şeyi Sil";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "%@ ile olan güvenlik numaranız yakın zamanda değişti. Yeniden göndermeden önce ana uygulamadan doğrulamak isteyebilirsiniz.";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "Yükleniyor…";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "Kaydolmak için Signal uygulamasını başlatın";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "Bağlantısını kaldır";
|
||||
|
||||
/* 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" = "Bu cihazın bağlantısı kesildiğinde artık mesaj gönderemeyecek ve alamayacak.";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "\"%@\" bağlantısını kaldır?";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "Grup üyelerini gruptan çıkaramazsınız. Çıkmalarını bekleyebilir veya yeni bir grup açabilirsiniz.";
|
||||
|
||||
/* 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" = "Desteklenmiyor";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "IOS çağrı entegrasyonu ile kilit ekranınızdan gelen aramaları cevaplamak kolaydır. Varsayılan olarak arayan bilgilerini saklarız.";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "Merhaba Güvenli Görüntülü Aramalar!";
|
||||
|
||||
/* 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 iOS 9 veya daha sonrasını gerektirir. Lütfen iOS Ayarlar uygulamasından Yazılım Güncelleştirme özeliğini kullanın.";
|
||||
|
||||
/* 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 ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "Signal yükseltiliyor…";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "Geri";
|
||||
|
|
|
@ -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" = "错误";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "%@ 版已在 App Store 上线。";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "Signal 有新版本啦";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "更新";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "附件";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "下载失败,点击重试。";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "下载中...";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "附件发送错误";
|
||||
|
||||
/* Attachment error message for image attachments which could not be converted to JPEG */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Unable to convert image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "无法转换图片。";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "无法解析该视频。";
|
||||
|
||||
/* Attachment error message for image attachments which cannot be parsed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Unable to parse image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "无法识别图片。";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "无法清除图片的元数据。";
|
||||
|
||||
/* Attachment error message for image attachments which could not be resized */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Unable to resize image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "无法调整图像大小。";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "附件过大。";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "附件中存在无效内容。";
|
||||
|
||||
/* Attachment error message for attachments with an invalid file format */
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Attachment has an invalid file format.";
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "附件的文件格式无效。";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "无附件。";
|
||||
|
@ -165,7 +165,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" = "不支持的文件";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "重拨";
|
||||
|
||||
/* Alert message when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "You can enable microphone access in the iOS Settings app to make calls and record voice messages in Signal.";
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "您可在 iOS 设置中启用麦克风权限,以允许 Signal 拨打电话或录制语音消息。";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "请求访问麦克风";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "打电话";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "无应答";
|
||||
|
||||
/* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */
|
||||
"CALL_STATUS_FORMAT" = "Signal %@";
|
||||
|
@ -339,10 +339,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" = "您可在 Signal 隐私设置中启用 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" = "您可在 Signal 隐私设置中启用 iOS 呼叫整合,以便查看 Signal 来电人的名称和号码。";
|
||||
|
||||
/* Label for button that dismiss the call view's settings nag. */
|
||||
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "以后";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal 没有访问您 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" = "选择此对话中发出消息的颜色。";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "只有您才能看到所选的颜色。";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "对话颜色";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "和剪切版比较";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "邀请";
|
||||
|
||||
/* Multi-line label explaining why compose-screen contact picker is empty. */
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users.";
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "您可在 iOS 设置中启用联系人读取权限,以便查看哪些联系人使用了 Signal。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "这个重置操作将删除您的消息,并从服务器上注销您的账户。应用将在操作完成后自动关闭。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "您确定要删除您的账号吗?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "联系人信息";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "颜色";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "对话颜色";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "组信息";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "添加到联系人";
|
||||
|
||||
/* Message shown in conversation view that offers to share your profile with a user. */
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile with This User";
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "分享您的资料给该用户";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "该用户不在您的联系人列表中。";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "正在载入更多消息...";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Tap for More";
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "点击查看更多";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "屏蔽该用户";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "执行审查规避的地点";
|
||||
|
||||
/* 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" = "您可在 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 需要联系人访问权限来修改联系人信息";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "更新";
|
||||
|
||||
/* 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" = "需要保留对此群组的修改吗?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "未保存的修改";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "切换到 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" = "您可以将收件箱中不活跃的会话移至存档。";
|
||||
|
||||
/* 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.";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "开始您的第一个 Signal 对话吧!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "空空如也。";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "收件箱空空如也";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "确认您的PIN码。";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "未能发送消息。";
|
||||
|
||||
/* Error message indicating that message send is disabled due to prekey update failures */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Unable to send due to stale prekey data.";
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Prekey 更新失败,无法发送消息。";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "无法向黑名单用户发送消息";
|
||||
|
||||
/* 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" = "附件写入、发送失败。";
|
||||
|
||||
/* 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 无法连接网络,请重试。";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "缺少有效接收人,消息发送失败。";
|
||||
|
|
|
@ -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" = "錯誤";
|
||||
|
@ -84,7 +84,7 @@
|
|||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "第%@版已經在App Store 上架";
|
||||
|
||||
/* Title for the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Signal Is Available";
|
||||
"APP_UPDATE_NAG_ALERT_TITLE" = "有新版本的 Signal 提供下載";
|
||||
|
||||
/* Label for the 'update' button in the 'new app version available' alert. */
|
||||
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "更新";
|
||||
|
@ -114,7 +114,7 @@
|
|||
"ATTACHMENT_DEFAULT_FILENAME" = "附件";
|
||||
|
||||
/* Status label when an attachment download has failed. */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "Download failed. Tap to retry.";
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_FAILED" = "下載失敗。請點擊再試一次。";
|
||||
|
||||
/* Status label when an attachment is currently downloading */
|
||||
"ATTACHMENT_DOWNLOADING_STATUS_IN_PROGRESS" = "下載中...";
|
||||
|
@ -126,28 +126,28 @@
|
|||
"ATTACHMENT_ERROR_ALERT_TITLE" = "附件傳送錯誤";
|
||||
|
||||
/* Attachment error message for image attachments which could not be converted to JPEG */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Unable to convert image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "無法轉換照片。";
|
||||
|
||||
/* Attachment error message for video attachments which could not be converted to MP4 */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "無法處理此影片。";
|
||||
|
||||
/* Attachment error message for image attachments which cannot be parsed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Unable to parse image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "無法解析照片。";
|
||||
|
||||
/* Attachment error message for image attachments in which metadata could not be removed */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "無法從影像檔中移除數據資料。";
|
||||
|
||||
/* Attachment error message for image attachments which could not be resized */
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Unable to resize image.";
|
||||
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "無法調整照片尺寸。";
|
||||
|
||||
/* Attachment error message for attachments whose data exceed file size limits */
|
||||
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "附件太大。";
|
||||
|
||||
/* Attachment error message for attachments with invalid data */
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "Attachment includes invalid content.";
|
||||
"ATTACHMENT_ERROR_INVALID_DATA" = "附檔包含了無效的內容。";
|
||||
|
||||
/* Attachment error message for attachments with an invalid file format */
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Attachment has an invalid file format.";
|
||||
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "附檔含有一個無效的檔案格式。";
|
||||
|
||||
/* Attachment error message for attachments without any data */
|
||||
"ATTACHMENT_ERROR_MISSING_DATA" = "附件是空白的。";
|
||||
|
@ -165,7 +165,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" = "不支援的檔案類型。";
|
||||
|
@ -300,7 +300,7 @@
|
|||
"CALL_AGAIN_BUTTON_TITLE" = "重撥電話";
|
||||
|
||||
/* Alert message when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "You can enable microphone access in the iOS Settings app to make calls and record voice messages in Signal.";
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "你可以在iOS 設定中允許取用麥克風,以便在 Signal 中撥打電話及錄製語音訊息。";
|
||||
|
||||
/* Alert title when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_TITLE" = "須要使用麥克風";
|
||||
|
@ -309,7 +309,7 @@
|
|||
"CALL_LABEL" = "撥出";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "No Answer";
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "沒有回應";
|
||||
|
||||
/* embeds {{Call Status}} in call screen label. For ongoing calls, {{Call Status}} is a seconds timer like 01:23, otherwise {{Call Status}} is a short text like 'Ringing', 'Busy', or 'Failed Call' */
|
||||
"CALL_STATUS_FORMAT" = "Signal %@";
|
||||
|
@ -339,10 +339,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" = "你可以在 Signal 隱私權設定中啟動 iOS 通話整合,以便從鎖定螢幕中回覆來電。";
|
||||
|
||||
/* 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" = "你可以在 Signal 隱私權設定中啟動 iOS 電話整合,以顯示來電者的名字與電話號碼。";
|
||||
|
||||
/* Label for button that dismiss the call view's settings nag. */
|
||||
"CALL_VIEW_SETTINGS_NAG_NOT_NOW_BUTTON" = "稍後";
|
||||
|
@ -386,6 +386,15 @@
|
|||
/* Error indicating that the app was prevented from accessing the user's CloudKit account. */
|
||||
"CLOUDKIT_STATUS_RESTRICTED" = "Signal 並不被允許連結你的 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" = "選擇在此對話中要發出訊息的顏色。";
|
||||
|
||||
/* The second of two messages demonstrating the chosen conversation color, by rendering this message in an incoming message bubble. */
|
||||
"COLOR_PICKER_DEMO_MESSAGE_2" = "只有你可看到你所選的顏色。";
|
||||
|
||||
/* Modal Sheet title when picking a conversation color. */
|
||||
"COLOR_PICKER_SHEET_TITLE" = "對話的顏色";
|
||||
|
||||
/* Activity Sheet label */
|
||||
"COMPARE_SAFETY_NUMBER_ACTION" = "和剪貼簿比對";
|
||||
|
||||
|
@ -399,10 +408,10 @@
|
|||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "邀請";
|
||||
|
||||
/* Multi-line label explaining why compose-screen contact picker is empty. */
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "You can enable contacts access in the iOS Settings app to see which of your contacts are Signal users.";
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "你可以在 iOS 設定中允許取用聯絡資訊,以確認哪位聯絡人是 Signal 的使用者。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "This will reset the application by deleting your messages and unregistering you with the server. The app will close after this process is complete.";
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TEXT" = "這將會透過刪除你的訊息及自伺服器取消註冊來重置應用程式。在這個過程完成後,本應用程式將關閉。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"CONFIRM_ACCOUNT_DESTRUCTION_TITLE" = "你確定要刪除你的帳號嗎?";
|
||||
|
@ -531,7 +540,7 @@
|
|||
"CONVERSATION_SETTINGS_CONTACT_INFO_TITLE" = "使用者資訊";
|
||||
|
||||
/* Label for table cell which leads to picking a new conversation color */
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "顏色";
|
||||
"CONVERSATION_SETTINGS_CONVERSATION_COLOR" = "對話顏色";
|
||||
|
||||
/* Navbar title when viewing settings for a group thread */
|
||||
"CONVERSATION_SETTINGS_GROUP_INFO_TITLE" = "群組資訊";
|
||||
|
@ -591,16 +600,16 @@
|
|||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "新增到聯絡資訊";
|
||||
|
||||
/* Message shown in conversation view that offers to share your profile with a user. */
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile with This User";
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "與這個使用者分享你的個人資訊";
|
||||
|
||||
/* Title for the group of buttons show for unknown contacts offering to add them to contacts, etc. */
|
||||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "此使用者不在聯絡資訊中";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages…";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "讀取更多的訊息中...";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Tap for More";
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "點擊已獲得更多資訊";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "封鎖此使用者";
|
||||
|
@ -718,7 +727,7 @@
|
|||
"DOMAIN_FRONTING_COUNTRY_VIEW_SECTION_HEADER" = "審查規避";
|
||||
|
||||
/* 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" = "你可以在 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 須要存取聯絡資訊以編輯聯絡人資訊";
|
||||
|
@ -745,7 +754,7 @@
|
|||
"EDIT_GROUP_UPDATE_BUTTON" = "更新";
|
||||
|
||||
/* 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" = "你要儲存對這個群組的變更嗎?";
|
||||
|
||||
/* The alert title if user tries to exit update group view without saving changes. */
|
||||
"EDIT_GROUP_VIEW_UNSAVED_CHANGES_TITLE" = "未儲存的變更";
|
||||
|
@ -763,10 +772,10 @@
|
|||
"EMAIL_INVITE_SUBJECT" = "讓我們改用 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" = "您可以從收件箱中歸檔不再活動的對話。";
|
||||
|
||||
/* 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。";
|
||||
|
@ -781,10 +790,10 @@
|
|||
"EMPTY_INBOX_NEW_USER_TITLE" = "開始你的第一個Signal 對話!";
|
||||
|
||||
/* Body text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TEXT" = "None. Zip. Zilch. Nada.";
|
||||
"EMPTY_INBOX_TEXT" = "所有訊息已清除。";
|
||||
|
||||
/* Header text an existing user sees when viewing an empty inbox */
|
||||
"EMPTY_INBOX_TITLE" = "Inbox Zero";
|
||||
"EMPTY_INBOX_TITLE" = "沒有任何訊息!";
|
||||
|
||||
/* Indicates that user should confirm their 'two factor auth pin'. */
|
||||
"ENABLE_2FA_VIEW_CONFIRM_PIN_INSTRUCTIONS" = "確認你的 PIN 碼。";
|
||||
|
@ -832,16 +841,16 @@
|
|||
"ERROR_DESCRIPTION_CLIENT_SENDING_FAILURE" = "訊息傳送失敗。";
|
||||
|
||||
/* Error message indicating that message send is disabled due to prekey update failures */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "Unable to send due to stale prekey data.";
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_DISABLED_PREKEY_UPDATE_FAILURES" = "因過舊的密鑰資料而無法傳送。";
|
||||
|
||||
/* Error message indicating that message send failed due to block list */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "無法傳送訊息給此人,因為被你封鎖了。";
|
||||
|
||||
/* 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" = "無法撰寫及傳送附檔。";
|
||||
|
||||
/* 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 無法連接網際網路,請再重試一遍。";
|
||||
|
||||
/* Error indicating that an outgoing message had no valid recipients. */
|
||||
"ERROR_DESCRIPTION_NO_VALID_RECIPIENTS" = "訊息無法傳送,因為沒有有效的傳送對象。";
|
||||
|
@ -856,7 +865,7 @@
|
|||
"ERROR_DESCRIPTION_RESPONSE_FAILED" = "服務的無效回應。";
|
||||
|
||||
/* 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" = "你的電話號碼不再註冊於本裝置。請重新安裝 Signal。";
|
||||
|
||||
/* Generic server error */
|
||||
"ERROR_DESCRIPTION_SERVER_FAILURE" = "伺服器錯誤。請稍候再試。";
|
||||
|
@ -868,10 +877,10 @@
|
|||
"ERROR_DESCRIPTION_UNREGISTERED_RECIPIENT" = "此聯絡人不是 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" = "附檔失敗:請要求此聯絡人更新到Signal最新版本,並再重傳一次。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "Received a duplicate message.";
|
||||
"ERROR_MESSAGE_DUPLICATE_MESSAGE" = "接收到重複的訊息。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_KEY_EXCEPTION" = "接收者的金鑰無效。";
|
||||
|
@ -880,7 +889,7 @@
|
|||
"ERROR_MESSAGE_INVALID_MESSAGE" = "收到的訊息沒有被同步。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "Received a message that is not compatible with this version.";
|
||||
"ERROR_MESSAGE_INVALID_VERSION" = "接收到的訊息並不相容於此版本。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_NO_SESSION" = "沒有對象的會話。";
|
||||
|
@ -901,10 +910,10 @@
|
|||
"ERROR_UNREGISTERED_USER_FORMAT" = "未註冊的使用者: %@";
|
||||
|
||||
/* 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" = "此聯繫人失敗太多次,請稍後再試。";
|
||||
|
||||
/* 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" = "你與%@的安全碼最近已改變。請與對方驗證後再重傳一次訊息。";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "驗證安全碼失敗!";
|
||||
|
@ -922,10 +931,10 @@
|
|||
"GALLERY_TILES_EMPTY_GALLERY" = "你在此對話中沒有任何多媒體檔案。";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Media…";
|
||||
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "讀取較新的媒體檔中...";
|
||||
|
||||
/* Label indicating loading is in progress */
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Loading Older Media…";
|
||||
"GALLERY_TILES_LOADING_OLDER_LABEL" = "讀取較舊的媒體檔中...";
|
||||
|
||||
/* A label for generic attachments. */
|
||||
"GENERIC_ATTACHMENT_LABEL" = "附件";
|
||||
|
@ -979,7 +988,7 @@
|
|||
"GROUP_MEMBERS_CALL" = "撥打";
|
||||
|
||||
/* 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" = "清除所有人的驗證";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "這會清除群組中所有自最後一次驗證以來安全碼改變的組員的驗證。";
|
||||
|
@ -1033,7 +1042,7 @@
|
|||
"IN_CALL_CONNECTING" = "連接中...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Reconnecting…";
|
||||
"IN_CALL_RECONNECTING" = "重新連接中...";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "響鈴中...";
|
||||
|
@ -1045,10 +1054,10 @@
|
|||
"IN_CALL_TERMINATED" = "結束通話。";
|
||||
|
||||
/* 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" = "這些對話已經歸檔,並只有在收到新訊息時才會顯示在收件箱中。";
|
||||
|
||||
/* 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" = "你可以在 iOS設定中允許取用聯絡資訊,以在你的 Signal 對話清單中見到聯絡人名稱。";
|
||||
|
||||
/* notification body */
|
||||
"INCOMING_CALL" = "來電...";
|
||||
|
@ -1069,7 +1078,7 @@
|
|||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "無效的音訊檔。";
|
||||
|
||||
/* 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" = "你可以在 iOS設定中允許取用聯絡資訊來邀請你的朋友加入 Signal。";
|
||||
|
||||
/* Alert title when contacts disabled while trying to invite contacts to signal */
|
||||
"INVITE_FLOW_REQUIRES_CONTACT_ACCESS_TITLE" = "允許聯絡資訊存取";
|
||||
|
@ -1084,7 +1093,7 @@
|
|||
"INVITE_FRIENDS_PICKER_TITLE" = "邀請朋友";
|
||||
|
||||
/* 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" = "同時邀請多個使用者降啟動群組訊息功能,接收者將因此可以見到對方。";
|
||||
|
||||
/* Slider label embeds {{TIME_AMOUNT}}, e.g. '2 hours'. See *_TIME_AMOUNT strings for examples. */
|
||||
"KEEP_MESSAGES_DURATION" = "訊息在%@後消毀。";
|
||||
|
@ -1099,13 +1108,13 @@
|
|||
"LEAVE_GROUP_ACTION" = "離開群組";
|
||||
|
||||
/* 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" = "這個 QR 碼無效。請確定您正在掃描要連接的裝置上顯示的QR碼。";
|
||||
|
||||
/* report an invalid linking code */
|
||||
"LINK_DEVICE_INVALID_CODE_TITLE" = "裝置連結失敗";
|
||||
|
||||
/* 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" = "本裝置將可見到你的群組、聯絡人、連接你的對話及以你的名字傳送訊息。";
|
||||
|
||||
/* confirm the users intent to link a new device */
|
||||
"LINK_DEVICE_PERMISSION_ALERT_TITLE" = "連結裝置?";
|
||||
|
@ -1114,7 +1123,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 code";
|
||||
|
@ -1168,16 +1177,16 @@
|
|||
"MESSAGE_ACTION_COPY_TEXT" = "複製訊息文字";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "Delete This Message";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE" = "刪除此訊息";
|
||||
|
||||
/* Action sheet button subtitle */
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "It will only be deleted on this device.";
|
||||
"MESSAGE_ACTION_DELETE_MESSAGE_SUBTITLE" = "這將只在本裝置上刪除。";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_DETAILS" = "更多資訊";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_REPLY" = "Reply to This Message";
|
||||
"MESSAGE_ACTION_REPLY" = "回覆這個訊息";
|
||||
|
||||
/* Action sheet button title */
|
||||
"MESSAGE_ACTION_SAVE_MEDIA" = "儲存媒體檔案";
|
||||
|
@ -1258,7 +1267,7 @@
|
|||
"MESSAGE_STATUS_SEND_FAILED" = "傳送失敗";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending…";
|
||||
"MESSAGE_STATUS_SENDING" = "傳送中...";
|
||||
|
||||
/* status message for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "已傳送";
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
"MESSAGES_VIEW_1_MEMBER_NO_LONGER_VERIFIED_FORMAT" = "%@已不再標記為已驗證。點擊開啟選項。";
|
||||
|
||||
/* Indicates that this 1:1 conversation has been blocked. */
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "You Blocked This User";
|
||||
"MESSAGES_VIEW_CONTACT_BLOCKED" = "你封鎖了此使用者";
|
||||
|
||||
/* Indicates that this 1:1 conversation is no longer verified. Embeds {{user's name or phone number}}. */
|
||||
"MESSAGES_VIEW_CONTACT_NO_LONGER_VERIFIED_FORMAT" = "%@已不再標記為已驗證。點擊開啟選項。";
|
||||
|
@ -1313,17 +1322,17 @@
|
|||
|
||||
/* 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 requires access to your photos for this feature.";
|
||||
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Signal 要求取用你的照片才能使用此功能。";
|
||||
|
||||
/* notification title. Embeds {{caller's name or phone number}} */
|
||||
"MSGVIEW_MISSED_CALL_WITH_NAME" = "來自%@的未接來電。";
|
||||
|
@ -1332,7 +1341,7 @@
|
|||
"MULTIDEVICE_PAIRING_MAX_DESC" = "你無法連結更多的裝置。";
|
||||
|
||||
/* 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" = "你已達到目前可以與本帳戶連結的裝置最大數量。 請刪除一個裝置,然後重試。";
|
||||
|
||||
/* An explanation of the consequences of muting a thread. */
|
||||
"MUTE_BEHAVIOR_EXPLANATION" = "你將無法自禁言的對話收到通知。";
|
||||
|
@ -1341,7 +1350,7 @@
|
|||
"NAVIGATION_ITEM_SKIP_BUTTON" = "跳過";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Please check if you are online and try again.";
|
||||
"NETWORK_ERROR_RECOVERY" = "請確認是否在線上,並再重試。";
|
||||
|
||||
/* Indicates to the user that censorship circumvention has been activated. */
|
||||
"NETWORK_STATUS_CENSORSHIP_CIRCUMVENTION_ACTIVE" = "審查規避:開啟";
|
||||
|
@ -1365,7 +1374,7 @@
|
|||
"NEW_CONVERSATION_FIND_BY_PHONE_NUMBER" = "以電話號碼搜尋";
|
||||
|
||||
/* A label for the cell that lets you add a new non-contact member to a group. */
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "Add by Phone Number";
|
||||
"NEW_GROUP_ADD_NON_CONTACT" = "以電話號碼新增";
|
||||
|
||||
/* Action Sheet title prompting the user for a group avatar */
|
||||
"NEW_GROUP_ADD_PHOTO_ACTION" = "設定群組照片";
|
||||
|
@ -1536,7 +1545,7 @@
|
|||
"PRIVACY_VERIFICATION_FAILED_WITH_OLD_REMOTE_VERSION" = "你朋友使用的 Signal版本太舊。他們必須升級後才能驗證。";
|
||||
|
||||
/* 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" = "你所掃描的碼似乎不是安全碼。請確認雙方都使用最新的版本。";
|
||||
|
||||
/* Paragraph(s) shown alongside the safety number when verifying privacy with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "如須確認你和 %@點對點加密的安全性,請在雙方裝置上比較上述數字。\n\n或者可以透過掃描雙方的QR code進行驗證。";
|
||||
|
@ -1587,7 +1596,7 @@
|
|||
"PROFILE_VIEW_SAVE_BUTTON" = "儲存";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving…";
|
||||
"PROFILE_VIEW_SAVING" = "儲存中...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "個人資訊";
|
||||
|
@ -1707,7 +1716,7 @@
|
|||
"REGISTRATION_PHONENUMBER_BUTTON" = "電話號碼";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "You need to register before you can send a message.";
|
||||
"REGISTRATION_RESTRICTED_MESSAGE" = "你必須先註冊才能傳送訊息。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"REGISTRATION_TITLE_LABEL" = "你的電話號碼";
|
||||
|
@ -1851,7 +1860,7 @@
|
|||
"SEND_INVITE_FAILURE" = "邀請寄出失敗,稍後再試一次。";
|
||||
|
||||
/* Alert body after invite succeeded */
|
||||
"SEND_INVITE_SUCCESS" = "You invited your friend to use Signal!";
|
||||
"SEND_INVITE_SUCCESS" = "你已邀請你的朋友來使用 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" = "透過簡訊邀請:%@";
|
||||
|
@ -1959,13 +1968,13 @@
|
|||
"SETTINGS_CALLING_HIDES_IP_ADDRESS_PREFERENCE_TITLE" = "永遠轉發通話";
|
||||
|
||||
/* 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" = "透過 Signal 伺服器轉發通話,來避免透露你的 IP 位址給你的聯絡人。啟用時,會降低通話品質。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_CLEAR_HISTORY" = "清除對話紀錄";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger \n Licensed under the GPLv3";
|
||||
"SETTINGS_COPYRIGHT" = "Copyright Signal Messenger\n Licensed under the GPLv3";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SETTINGS_DELETE_ACCOUNT_BUTTON" = "刪除帳戶";
|
||||
|
@ -1974,7 +1983,7 @@
|
|||
"SETTINGS_DELETE_DATA_BUTTON" = "刪除所有資料";
|
||||
|
||||
/* 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" = "你確定要刪除所有的歷史紀錄(包括訊息、附檔、電話等等?)此操作將無法被還原。";
|
||||
|
||||
/* Confirmation text for button which deletes all message, calling, attachments, etc. */
|
||||
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "刪除所有內容記錄";
|
||||
|
@ -2100,7 +2109,7 @@
|
|||
"SHARE_EXTENSION_FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_FORMAT" = "您與 %@的安全碼已改變。建議您重新寄送前,在主程式中驗證新的安全碼。";
|
||||
|
||||
/* Indicates that the share extension is still loading. */
|
||||
"SHARE_EXTENSION_LOADING" = "Loading…";
|
||||
"SHARE_EXTENSION_LOADING" = "讀取中...";
|
||||
|
||||
/* Message indicating that the share extension cannot be used until the user has registered in the main app. */
|
||||
"SHARE_EXTENSION_NOT_REGISTERED_MESSAGE" = "啟動 Signal 應用程式來註冊。";
|
||||
|
@ -2217,7 +2226,7 @@
|
|||
"UNLINK_ACTION" = "取消連結";
|
||||
|
||||
/* 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" = "如果取消連結,本裝置將無法傳送或接收訊息了。";
|
||||
|
||||
/* Alert title for confirming device deletion */
|
||||
"UNLINK_CONFIRMATION_ALERT_TITLE" = "取消和「%@」的連結?";
|
||||
|
@ -2241,7 +2250,7 @@
|
|||
"UPDATE_GROUP_CANT_REMOVE_MEMBERS_ALERT_MESSAGE" = "你無法移除群組組員。只能讓他們自行退出,或者你可以建立一個不含該組員的新群組。";
|
||||
|
||||
/* 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" = "不支援";
|
||||
|
||||
/* Description of CallKit to upgrading (existing) users */
|
||||
"UPGRADE_EXPERIENCE_CALLKIT_DESCRIPTION" = "iOS通話整合可以幫助你簡單的從鎖定螢幕回應來電。預設會隱藏來電者的訊息,所以訊息也會保密。";
|
||||
|
@ -2286,13 +2295,13 @@
|
|||
"UPGRADE_EXPERIENCE_VIDEO_TITLE" = "現推出安全的視訊通話!";
|
||||
|
||||
/* 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 要求 iOS 9 或以後的版本。請在 iOS 設定中執行軟體更新。";
|
||||
|
||||
/* Title for the alert indicating that user should upgrade iOS. */
|
||||
"UPGRADE_IOS_ALERT_TITLE" = "更新 iOS";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Upgrading Signal ..." = "Upgrading Signal…";
|
||||
"Upgrading Signal ..." = "正在升級 Signal...";
|
||||
|
||||
/* button text for back button on verification view */
|
||||
"VERIFICATION_BACK_BUTTON" = "退後";
|
||||
|
|
|
@ -55,7 +55,7 @@ public class SheetViewController: UIViewController {
|
|||
sheetView.setCompressionResistanceHigh()
|
||||
self.sheetViewVerticalConstraint = sheetView.autoPinEdge(.top, to: .bottom, of: self.view)
|
||||
|
||||
handleView.backgroundColor = Theme.backgroundColor
|
||||
handleView.backgroundColor = Theme.isDarkThemeEnabled ? UIColor.ows_white : UIColor.ows_gray05
|
||||
let kHandleViewHeight: CGFloat = 5
|
||||
handleView.autoSetDimensions(to: CGSize(width: 40, height: kHandleViewHeight))
|
||||
handleView.layer.cornerRadius = kHandleViewHeight / 2
|
||||
|
@ -66,6 +66,10 @@ public class SheetViewController: UIViewController {
|
|||
// Gestures
|
||||
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(didTapBackground))
|
||||
self.view.addGestureRecognizer(tapGesture)
|
||||
|
||||
let swipeDownGesture = UISwipeGestureRecognizer(target: self, action: #selector(didSwipeDown))
|
||||
swipeDownGesture.direction = .down
|
||||
self.view.addGestureRecognizer(swipeDownGesture)
|
||||
}
|
||||
|
||||
// MARK: Present / Dismiss animations
|
||||
|
@ -123,6 +127,12 @@ public class SheetViewController: UIViewController {
|
|||
// inform delegate to
|
||||
delegate?.sheetViewControllerRequestedDismiss(self)
|
||||
}
|
||||
|
||||
@objc
|
||||
func didSwipeDown() {
|
||||
// inform delegate to
|
||||
delegate?.sheetViewControllerRequestedDismiss(self)
|
||||
}
|
||||
}
|
||||
|
||||
extension SheetViewController: UIViewControllerTransitioningDelegate {
|
||||
|
|
|
@ -183,12 +183,12 @@ const CGFloat kContactCellAvatarTextMargin = 12;
|
|||
return;
|
||||
}
|
||||
|
||||
NSString *colorName = ^{
|
||||
ConversationColorName colorName = ^{
|
||||
if (self.thread) {
|
||||
return self.thread.conversationColorName;
|
||||
} else {
|
||||
OWSAssertDebug(self.recipientId);
|
||||
return [TSThread stableConversationColorNameForString:self.recipientId];
|
||||
return [TSThread stableColorNameForNewConversationWithString:self.recipientId];
|
||||
}
|
||||
}();
|
||||
|
||||
|
|
|
@ -2,20 +2,21 @@
|
|||
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import <SignalServiceKit/TSThread.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface OWSConversationColor : NSObject
|
||||
|
||||
@property (nonatomic, readonly) NSString *name;
|
||||
@property (nonatomic, readonly) ConversationColorName name;
|
||||
@property (nonatomic, readonly) UIColor *primaryColor;
|
||||
@property (nonatomic, readonly) UIColor *shadeColor;
|
||||
@property (nonatomic, readonly) UIColor *tintColor;
|
||||
|
||||
@property (nonatomic, readonly) UIColor *themeColor;
|
||||
|
||||
+ (OWSConversationColor *)conversationColorWithName:(NSString *)name
|
||||
+ (OWSConversationColor *)conversationColorWithName:(ConversationColorName)name
|
||||
primaryColor:(UIColor *)primaryColor
|
||||
shadeColor:(UIColor *)shadeColor
|
||||
tintColor:(UIColor *)tintColor;
|
||||
|
@ -66,18 +67,15 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
#pragma mark - Conversation Colors
|
||||
|
||||
+ (nullable OWSConversationColor *)conversationColorForColorName:(NSString *)colorName
|
||||
+ (nullable OWSConversationColor *)conversationColorForColorName:(ConversationColorName)colorName
|
||||
NS_SWIFT_NAME(conversationColor(colorName:));
|
||||
|
||||
// If the conversation color name is valid, return its colors.
|
||||
// Otherwise return the "default" conversation colors.
|
||||
+ (OWSConversationColor *)conversationColorOrDefaultForColorName:(NSString *)conversationColorName
|
||||
+ (OWSConversationColor *)conversationColorOrDefaultForColorName:(ConversationColorName)conversationColorName
|
||||
NS_SWIFT_NAME(conversationColorOrDefault(colorName:));
|
||||
|
||||
@property (class, readonly, nonatomic) NSArray<NSString *> *conversationColorNames;
|
||||
|
||||
+ (NSString *)defaultConversationColorName;
|
||||
+ (OWSConversationColor *)defaultConversationColor;
|
||||
@property (class, readonly, nonatomic) NSArray<ConversationColorName> *conversationColorNames;
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -5,12 +5,13 @@
|
|||
#import "OWSConversationColor.h"
|
||||
#import "Theme.h"
|
||||
#import "UIColor+OWS.h"
|
||||
#import <SignalServiceKit/TSThread.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface OWSConversationColor ()
|
||||
|
||||
@property (nonatomic) NSString *name;
|
||||
@property (nonatomic) ConversationColorName name;
|
||||
@property (nonatomic) UIColor *primaryColor;
|
||||
@property (nonatomic) UIColor *shadeColor;
|
||||
@property (nonatomic) UIColor *tintColor;
|
||||
|
@ -21,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
@implementation OWSConversationColor
|
||||
|
||||
+ (OWSConversationColor *)conversationColorWithName:(NSString *)name
|
||||
+ (OWSConversationColor *)conversationColorWithName:(ConversationColorName)name
|
||||
primaryColor:(UIColor *)primaryColor
|
||||
shadeColor:(UIColor *)shadeColor
|
||||
tintColor:(UIColor *)tintColor
|
||||
|
@ -245,51 +246,51 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
dispatch_once(&onceToken, ^{
|
||||
// Order here affects the order in the conversation color picker.
|
||||
allConversationColors = @[
|
||||
[OWSConversationColor conversationColorWithName:@"crimson"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameCrimson
|
||||
primaryColor:self.ows_crimsonColor
|
||||
shadeColor:self.ows_crimsonShadeColor
|
||||
tintColor:self.ows_crimsonTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"vermilion"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameVermilion
|
||||
primaryColor:self.ows_vermilionColor
|
||||
shadeColor:self.ows_vermilionShadeColor
|
||||
tintColor:self.ows_vermilionTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"burlap"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameBurlap
|
||||
primaryColor:self.ows_burlapColor
|
||||
shadeColor:self.ows_burlapShadeColor
|
||||
tintColor:self.ows_burlapTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"forest"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameForest
|
||||
primaryColor:self.ows_forestColor
|
||||
shadeColor:self.ows_forestShadeColor
|
||||
tintColor:self.ows_forestTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"wintergreen"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameWintergreen
|
||||
primaryColor:self.ows_wintergreenColor
|
||||
shadeColor:self.ows_wintergreenShadeColor
|
||||
tintColor:self.ows_wintergreenTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"teal"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameTeal
|
||||
primaryColor:self.ows_tealColor
|
||||
shadeColor:self.ows_tealShadeColor
|
||||
tintColor:self.ows_tealTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"blue"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameBlue
|
||||
primaryColor:self.ows_blueColor
|
||||
shadeColor:self.ows_blueShadeColor
|
||||
tintColor:self.ows_blueTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"indigo"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameIndigo
|
||||
primaryColor:self.ows_indigoColor
|
||||
shadeColor:self.ows_indigoShadeColor
|
||||
tintColor:self.ows_indigoTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"violet"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameViolet
|
||||
primaryColor:self.ows_violetColor
|
||||
shadeColor:self.ows_violetShadeColor
|
||||
tintColor:self.ows_violetTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"plum"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNamePlum
|
||||
primaryColor:self.ows_plumColor
|
||||
shadeColor:self.ows_plumShadeColor
|
||||
tintColor:self.ows_plumTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"taupe"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameTaupe
|
||||
primaryColor:self.ows_taupeColor
|
||||
shadeColor:self.ows_taupeShadeColor
|
||||
tintColor:self.ows_taupeTintColor],
|
||||
[OWSConversationColor conversationColorWithName:@"steel"
|
||||
[OWSConversationColor conversationColorWithName:ConversationColorNameSteel
|
||||
primaryColor:self.ows_steelColor
|
||||
shadeColor:self.ows_steelShadeColor
|
||||
tintColor:self.ows_steelTintColor],
|
||||
|
@ -299,12 +300,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
return allConversationColors;
|
||||
}
|
||||
|
||||
+ (NSDictionary<NSString *, OWSConversationColor *> *)conversationColorMap
|
||||
+ (NSDictionary<ConversationColorName, OWSConversationColor *> *)conversationColorMap
|
||||
{
|
||||
static NSDictionary<NSString *, OWSConversationColor *> *colorMap;
|
||||
static NSDictionary<ConversationColorName, OWSConversationColor *> *colorMap;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
NSMutableDictionary<NSString *, OWSConversationColor *> *mutableColorMap = [NSMutableDictionary new];
|
||||
NSMutableDictionary<ConversationColorName, OWSConversationColor *> *mutableColorMap = [NSMutableDictionary new];
|
||||
for (OWSConversationColor *conversationColor in self.allConversationColors) {
|
||||
mutableColorMap[conversationColor.name] = conversationColor;
|
||||
}
|
||||
|
@ -314,59 +315,32 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
return colorMap;
|
||||
}
|
||||
|
||||
+ (NSDictionary<NSString *, NSString *> *)ows_legacyConversationColorMap
|
||||
+ (NSArray<ConversationColorName> *)conversationColorNames
|
||||
{
|
||||
static NSDictionary<NSString *, NSString *> *colorMap;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
colorMap = @{
|
||||
@"red" : @"crimson",
|
||||
@"deep_orange" : @"crimson",
|
||||
@"orange" : @"vermilion",
|
||||
@"amber" : @"vermilion",
|
||||
@"brown" : @"burlap",
|
||||
@"yellow" : @"burlap",
|
||||
@"pink" : @"plum",
|
||||
@"purple" : @"violet",
|
||||
@"deep_purple" : @"violet",
|
||||
@"indigo" : @"indigo",
|
||||
@"blue" : @"blue",
|
||||
@"light_blue" : @"blue",
|
||||
@"cyan" : @"teal",
|
||||
@"teal" : @"teal",
|
||||
@"green" : @"forest",
|
||||
@"light_green" : @"wintergreen",
|
||||
@"lime" : @"wintergreen",
|
||||
@"blue_grey" : @"taupe",
|
||||
@"grey" : @"steel",
|
||||
};
|
||||
});
|
||||
|
||||
return colorMap;
|
||||
}
|
||||
|
||||
+ (NSArray<NSString *> *)conversationColorNames
|
||||
{
|
||||
NSMutableArray<NSString *> *names = [NSMutableArray new];
|
||||
NSMutableArray<ConversationColorName> *names = [NSMutableArray new];
|
||||
for (OWSConversationColor *conversationColor in self.allConversationColors) {
|
||||
[names addObject:conversationColor.name];
|
||||
}
|
||||
#ifdef DEBUG
|
||||
NSSet<ConversationColorName> *colorNameSet = [NSSet setWithArray:names];
|
||||
// These constants are duplicated in two places. So this canary exists to make sure they stay in sync.
|
||||
NSSet<ConversationColorName> *threadColorNameSet = [NSSet setWithArray:TSThread.conversationColorNames];
|
||||
OWSAssertDebug([colorNameSet isEqual:threadColorNameSet]);
|
||||
#endif
|
||||
return [names copy];
|
||||
}
|
||||
|
||||
+ (nullable OWSConversationColor *)conversationColorForColorName:(NSString *)conversationColorName
|
||||
+ (nullable OWSConversationColor *)conversationColorForColorName:(ConversationColorName)conversationColorName
|
||||
{
|
||||
NSString *_Nullable mappedColorName = self.ows_legacyConversationColorMap[conversationColorName.lowercaseString];
|
||||
if (mappedColorName) {
|
||||
conversationColorName = mappedColorName;
|
||||
} else {
|
||||
OWSAssertDebug(self.conversationColorMap[conversationColorName] != nil);
|
||||
}
|
||||
OWSConversationColor *_Nullable result = self.conversationColorMap[conversationColorName];
|
||||
|
||||
return self.conversationColorMap[conversationColorName];
|
||||
// Any mapping to colorNames should be done in TSThread before this method is called.
|
||||
OWSAssertDebug(result != nil);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (OWSConversationColor *)conversationColorOrDefaultForColorName:(NSString *)conversationColorName
|
||||
+ (OWSConversationColor *)conversationColorOrDefaultForColorName:(ConversationColorName)conversationColorName
|
||||
{
|
||||
OWSConversationColor *_Nullable conversationColor = [self conversationColorForColorName:conversationColorName];
|
||||
if (conversationColor) {
|
||||
|
@ -375,16 +349,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
return [self defaultConversationColor];
|
||||
}
|
||||
|
||||
+ (NSString *)defaultConversationColorName
|
||||
{
|
||||
NSString *conversationColorName = @"steel";
|
||||
OWSAssert([self.conversationColorNames containsObject:conversationColorName]);
|
||||
return conversationColorName;
|
||||
}
|
||||
|
||||
+ (OWSConversationColor *)defaultConversationColor
|
||||
{
|
||||
return [self conversationColorForColorName:self.defaultConversationColorName];
|
||||
return [self conversationColorForColorName:kConversationColorName_Default];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -943,7 +943,7 @@ public class SignalAttachment: NSObject {
|
|||
}
|
||||
|
||||
private class var videoTempPath: URL {
|
||||
let videoDir = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("video")
|
||||
let videoDir = URL(fileURLWithPath: OWSTemporaryDirectory()).appendingPathComponent("video")
|
||||
OWSFileSystem.ensureDirectoryExists(videoDir.path)
|
||||
return videoDir
|
||||
}
|
||||
|
|
|
@ -197,6 +197,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
// TODO: Remove
|
||||
+ (UIColor *)ows_darkSkyBlueColor
|
||||
{
|
||||
// HEX 0xc2090EA
|
||||
return [UIColor colorWithRed:32.f / 255.f green:144.f / 255.f blue:234.f / 255.f alpha:1.f];
|
||||
}
|
||||
|
||||
|
|
|
@ -49,6 +49,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
OWSPrimaryStorage *primaryStorage = [[OWSPrimaryStorage alloc] initStorage];
|
||||
[OWSPrimaryStorage protectFiles];
|
||||
|
||||
// AFNetworking (via CFNetworking) spools it's attachments to NSTemporaryDirectory().
|
||||
// If you receive a media message while the device is locked, the download will fail if the temporary directory
|
||||
// is NSFileProtectionComplete
|
||||
BOOL success = [OWSFileSystem protectFileOrFolderAtPath:NSTemporaryDirectory()
|
||||
fileProtectionType:NSFileProtectionCompleteUntilFirstUserAuthentication];
|
||||
OWSAssert(success);
|
||||
|
||||
OWSPreferences *preferences = [OWSPreferences new];
|
||||
|
||||
TSNetworkManager *networkManager = [[TSNetworkManager alloc] initDefault];
|
||||
|
|
|
@ -64,7 +64,7 @@ public class OWS106EnsureProfileComplete: OWSDatabaseMigration {
|
|||
self.completionHandler(true)
|
||||
}.catch { error in
|
||||
let nserror = error as NSError
|
||||
if nserror.domain == TSNetworkManagerDomain {
|
||||
if nserror.domain == TSNetworkManagerErrorDomain {
|
||||
// Don't retry if we had an unrecoverable error.
|
||||
// In particular, 401 (invalid auth) is unrecoverable.
|
||||
let isUnrecoverableError = nserror.code == 401
|
||||
|
|
|
@ -1054,7 +1054,7 @@ typedef void (^ProfileManagerFailureBlock)(NSError *error);
|
|||
|
||||
OWSLogVerbose(@"downloading profile avatar: %@", userProfile.uniqueId);
|
||||
|
||||
NSString *tempDirectory = NSTemporaryDirectory();
|
||||
NSString *tempDirectory = OWSTemporaryDirectory();
|
||||
NSString *tempFilePath = [tempDirectory stringByAppendingPathComponent:fileName];
|
||||
|
||||
void (^completionHandler)(NSURLResponse *_Nonnull, NSURL *_Nullable, NSError *_Nullable) = ^(
|
||||
|
|
|
@ -145,15 +145,34 @@ public class ConversationStyle: NSObject {
|
|||
return Theme.isDarkThemeEnabled ? UIColor.ows_gray75 : UIColor.ows_messageBubbleLightGray
|
||||
}
|
||||
|
||||
@objc
|
||||
public let bubbleColorOutgoingFailed = UIColor.ows_darkSkyBlue
|
||||
|
||||
@objc
|
||||
public let bubbleColorOutgoingSending = UIColor.ows_darkSkyBlue
|
||||
|
||||
@objc
|
||||
public let bubbleColorOutgoingSent = UIColor.ows_darkSkyBlue
|
||||
|
||||
@objc
|
||||
public let dateBreakTextColor = UIColor.ows_gray60
|
||||
|
||||
@objc
|
||||
public func bubbleColor(message: TSMessage) -> UIColor {
|
||||
if message is TSIncomingMessage {
|
||||
return bubbleColor(isIncoming: true)
|
||||
return ConversationStyle.defaultBubbleColorIncoming
|
||||
} else if let outgoingMessage = message as? TSOutgoingMessage {
|
||||
switch outgoingMessage.messageState {
|
||||
case .failed:
|
||||
return bubbleColorOutgoingFailed
|
||||
case .sending:
|
||||
return bubbleColorOutgoingSending
|
||||
default:
|
||||
return bubbleColorOutgoingSent
|
||||
}
|
||||
} else {
|
||||
return bubbleColor(isIncoming: false)
|
||||
owsFailDebug("Unexpected message type: \(message)")
|
||||
return bubbleColorOutgoingSent
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -162,7 +181,7 @@ public class ConversationStyle: NSObject {
|
|||
if isIncoming {
|
||||
return ConversationStyle.defaultBubbleColorIncoming
|
||||
} else {
|
||||
return conversationColor.primaryColor
|
||||
return self.bubbleColorOutgoingSent
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -197,37 +216,38 @@ public class ConversationStyle: NSObject {
|
|||
}
|
||||
}
|
||||
|
||||
// Note that the exception for outgoing text only applies
|
||||
// to secondary text within bubbles.
|
||||
@objc
|
||||
public func bubbleSecondaryTextColor(isIncoming: Bool) -> UIColor {
|
||||
if !isIncoming {
|
||||
// All Outgoing
|
||||
return UIColor.ows_white.withAlphaComponent(0.8)
|
||||
} else if Theme.isDarkThemeEnabled {
|
||||
// Incoming, dark.
|
||||
return UIColor.ows_gray25
|
||||
} else {
|
||||
// Incoming, light.
|
||||
return UIColor.ows_gray60
|
||||
}
|
||||
return bubbleTextColor(isIncoming: isIncoming).withAlphaComponent(0.7)
|
||||
}
|
||||
|
||||
@objc
|
||||
public func quotedReplyBubbleColor(isIncoming: Bool) -> UIColor {
|
||||
if Theme.isDarkThemeEnabled {
|
||||
return conversationColor.shadeColor
|
||||
if isIncoming {
|
||||
return UIColor(rgbHex: 0x1976D2).withAlphaComponent(0.75)
|
||||
} else {
|
||||
return UIColor.ows_black.withAlphaComponent(0.4)
|
||||
}
|
||||
} else if isIncoming {
|
||||
return bubbleColorOutgoingSent.withAlphaComponent(0.25)
|
||||
} else {
|
||||
return conversationColor.tintColor
|
||||
return ConversationStyle.defaultBubbleColorIncoming.withAlphaComponent(0.75)
|
||||
}
|
||||
}
|
||||
|
||||
@objc
|
||||
public func quotedReplyStripeColor(isIncoming: Bool) -> UIColor {
|
||||
if isIncoming {
|
||||
return conversationColor.primaryColor
|
||||
if Theme.isDarkThemeEnabled {
|
||||
if isIncoming {
|
||||
return UIColor(rgbHex: 0x1976D2)
|
||||
} else {
|
||||
return UIColor.ows_black
|
||||
}
|
||||
} else if isIncoming {
|
||||
return bubbleColorOutgoingSent
|
||||
} else {
|
||||
return Theme.backgroundColor
|
||||
return UIColor.white
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ typedef void (^OWSAvatarDrawBlock)(CGContextRef context);
|
|||
OWSAvatarBuilder *avatarBuilder;
|
||||
if ([thread isKindOfClass:[TSContactThread class]]) {
|
||||
TSContactThread *contactThread = (TSContactThread *)thread;
|
||||
NSString *colorName = thread.conversationColorName;
|
||||
ConversationColorName colorName = thread.conversationColorName;
|
||||
avatarBuilder = [[OWSContactAvatarBuilder alloc] initWithSignalId:contactThread.contactIdentifier
|
||||
colorName:colorName
|
||||
diameter:diameter];
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
#import "OWSAvatarBuilder.h"
|
||||
#import <SignalServiceKit/TSThread.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
@ -13,7 +14,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
/**
|
||||
* Build an avatar for a Signal recipient
|
||||
*/
|
||||
- (instancetype)initWithSignalId:(NSString *)signalId colorName:(NSString *)colorName diameter:(NSUInteger)diameter;
|
||||
- (instancetype)initWithSignalId:(NSString *)signalId
|
||||
colorName:(ConversationColorName)colorName
|
||||
diameter:(NSUInteger)diameter;
|
||||
|
||||
/**
|
||||
* Build an avatar for a non-Signal recipient
|
||||
|
|
|
@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
@property (nonatomic, readonly) NSString *signalId;
|
||||
@property (nonatomic, readonly) NSString *contactName;
|
||||
@property (nonatomic, readonly) NSString *colorName;
|
||||
@property (nonatomic, readonly) ConversationColorName colorName;
|
||||
@property (nonatomic, readonly) NSUInteger diameter;
|
||||
|
||||
@end
|
||||
|
@ -29,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
- (instancetype)initWithContactId:(NSString *)contactId
|
||||
name:(NSString *)name
|
||||
colorName:(NSString *)colorName
|
||||
colorName:(ConversationColorName)colorName
|
||||
diameter:(NSUInteger)diameter
|
||||
{
|
||||
self = [super init];
|
||||
|
@ -48,7 +48,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
}
|
||||
|
||||
- (instancetype)initWithSignalId:(NSString *)signalId
|
||||
colorName:(NSString *)colorName
|
||||
colorName:(ConversationColorName)colorName
|
||||
diameter:(NSUInteger)diameter
|
||||
{
|
||||
// Name for avatar initials.
|
||||
|
@ -66,7 +66,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
colorSeed:(NSString *)colorSeed
|
||||
diameter:(NSUInteger)diameter
|
||||
{
|
||||
NSString *colorName = [TSThread stableConversationColorNameForString:colorSeed];
|
||||
ConversationColorName colorName = [TSThread stableColorNameForNewConversationWithString:colorSeed];
|
||||
return [self initWithContactId:colorSeed name:nonSignalName colorName:(NSString *)colorName diameter:diameter];
|
||||
}
|
||||
|
||||
|
@ -76,9 +76,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
OWSAssertDebug(localNumber.length > 0);
|
||||
OWSAssertDebug(diameter > 0);
|
||||
|
||||
NSString *colorName = [OWSConversationColor defaultConversationColorName];
|
||||
|
||||
return [self initWithSignalId:localNumber colorName:colorName diameter:diameter];
|
||||
return [self initWithSignalId:localNumber colorName:kConversationColorName_Default diameter:diameter];
|
||||
}
|
||||
|
||||
#pragma mark - Dependencies
|
||||
|
|
|
@ -67,8 +67,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
return cachedAvatar;
|
||||
}
|
||||
|
||||
#ifdef SHOW_COLOR_PICKER
|
||||
UIColor *backgroundColor =
|
||||
[OWSConversationColor conversationColorOrDefaultForColorName:conversationColorName].themeColor;
|
||||
#else
|
||||
UIColor *backgroundColor = UIColor.ows_darkSkyBlueColor;
|
||||
#endif
|
||||
UIImage *_Nullable image =
|
||||
[OWSGroupAvatarBuilder groupAvatarImageWithBackgroundColor:backgroundColor diameter:diameter];
|
||||
if (!image) {
|
||||
|
|
|
@ -371,7 +371,7 @@ NSString *const TSAccountManager_ManualMessageFetchKey = @"TSAccountManager_Manu
|
|||
if (!IsNSErrorNetworkFailure(error)) {
|
||||
OWSProdError([OWSAnalyticsEvents accountsErrorVerifyAccountRequestFailed]);
|
||||
}
|
||||
OWSAssertDebug([error.domain isEqualToString:TSNetworkManagerDomain]);
|
||||
OWSAssertDebug([error.domain isEqualToString:TSNetworkManagerErrorDomain]);
|
||||
|
||||
OWSLogWarn(@"Error verifying code: %@", error.debugDescription);
|
||||
|
||||
|
|
|
@ -4,6 +4,11 @@
|
|||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
extern NSErrorDomain const ContactDiscoveryServiceErrorDomain;
|
||||
typedef NS_ERROR_ENUM(ContactDiscoveryServiceErrorDomain, ContactDiscoveryServiceError){
|
||||
ContactDiscoveryServiceErrorAttestationFailed = 100,
|
||||
};
|
||||
|
||||
@class ECKeyPair;
|
||||
@class OWSAES256Key;
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#import "ContactDiscoveryService.h"
|
||||
#import "CDSQuote.h"
|
||||
#import "CDSSigningCertificate.h"
|
||||
#import "NSError+MessageSending.h"
|
||||
#import "OWSError.h"
|
||||
#import "OWSRequestFactory.h"
|
||||
#import "SSKEnvironment.h"
|
||||
|
@ -17,6 +18,8 @@
|
|||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
NSErrorDomain const ContactDiscoveryServiceErrorDomain = @"SignalServiceKit.ContactDiscoveryService";
|
||||
|
||||
@interface RemoteAttestationAuth ()
|
||||
|
||||
@property (nonatomic) NSString *username;
|
||||
|
@ -354,7 +357,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
auth:auth];
|
||||
|
||||
if (!attestation) {
|
||||
NSError *error = OWSErrorMakeUnableToProcessServerResponseError();
|
||||
NSError *error = [NSError errorWithDomain:ContactDiscoveryServiceErrorDomain
|
||||
code:ContactDiscoveryServiceErrorAttestationFailed
|
||||
userInfo:nil];
|
||||
error.isRetryable = NO;
|
||||
failureHandler(error);
|
||||
return;
|
||||
}
|
||||
|
@ -363,8 +369,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
});
|
||||
}
|
||||
failure:^(NSURLSessionDataTask *task, NSError *error) {
|
||||
NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
|
||||
OWSLogVerbose(@"remote attestation failure: %lu", (unsigned long)response.statusCode);
|
||||
failureHandler(error);
|
||||
}];
|
||||
}
|
||||
|
|
|
@ -139,7 +139,6 @@ class LegacyContactDiscoveryBatchOperation: OWSOperation {
|
|||
enum ContactDiscoveryError: Error {
|
||||
case parseError(description: String)
|
||||
case assertionError(description: String)
|
||||
case attestationError(underlyingError: Error)
|
||||
case clientError(underlyingError: Error)
|
||||
case serverError(underlyingError: Error)
|
||||
}
|
||||
|
@ -234,13 +233,7 @@ class CDSBatchOperation: OWSOperation {
|
|||
contactDiscoveryService.performRemoteAttestation(success: { (remoteAttestation: RemoteAttestation) in
|
||||
self.makeContactDiscoveryRequest(remoteAttestation: remoteAttestation)
|
||||
},
|
||||
failure: self.attestationFailure)
|
||||
}
|
||||
|
||||
private func attestationFailure(error: Error) {
|
||||
let attestationError: NSError = ContactDiscoveryError.attestationError(underlyingError: error) as NSError
|
||||
attestationError.isRetryable = false
|
||||
self.reportError(attestationError)
|
||||
failure: self.reportError)
|
||||
}
|
||||
|
||||
private func makeContactDiscoveryRequest(remoteAttestation: RemoteAttestation) {
|
||||
|
@ -456,10 +449,13 @@ class CDSFeedbackOperation: OWSOperation {
|
|||
|
||||
if let error = cdsOperation.failingError {
|
||||
switch error {
|
||||
case ContactDiscoveryError.serverError, ContactDiscoveryError.clientError:
|
||||
// Server already has this information, no need to report.
|
||||
case TSNetworkManagerError.failedConnection:
|
||||
// Don't submit feedback for connectivity errors
|
||||
self.reportSuccess()
|
||||
case ContactDiscoveryError.attestationError:
|
||||
case ContactDiscoveryError.serverError, ContactDiscoveryError.clientError:
|
||||
// Server already has this information, no need submit feedback
|
||||
self.reportSuccess()
|
||||
case ContactDiscoveryServiceError.attestationFailed:
|
||||
self.makeRequest(result: .attestationError)
|
||||
default:
|
||||
self.makeRequest(result: .unexpectedError)
|
||||
|
|
|
@ -10,10 +10,25 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
@class TSInteraction;
|
||||
@class TSInvalidIdentityKeyReceivingErrorMessage;
|
||||
|
||||
typedef NSString *ConversationColorName NS_STRING_ENUM;
|
||||
extern ConversationColorName const ConversationColorNameCrimson;
|
||||
extern ConversationColorName const ConversationColorNameVermilion;
|
||||
extern ConversationColorName const ConversationColorNameBurlap;
|
||||
extern ConversationColorName const ConversationColorNameForest;
|
||||
extern ConversationColorName const ConversationColorNameWintergreen;
|
||||
extern ConversationColorName const ConversationColorNameTeal;
|
||||
extern ConversationColorName const ConversationColorNameBlue;
|
||||
extern ConversationColorName const ConversationColorNameIndigo;
|
||||
extern ConversationColorName const ConversationColorNameViolet;
|
||||
extern ConversationColorName const ConversationColorNamePlum;
|
||||
extern ConversationColorName const ConversationColorNameTaupe;
|
||||
extern ConversationColorName const ConversationColorNameSteel;
|
||||
|
||||
extern ConversationColorName const kConversationColorName_Default;
|
||||
|
||||
/**
|
||||
* TSThread is the superclass of TSContactThread and TSGroupThread
|
||||
*/
|
||||
|
||||
@interface TSThread : TSYapDatabaseObject
|
||||
|
||||
// YES IFF this thread has ever had a message.
|
||||
|
@ -33,10 +48,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
*/
|
||||
- (NSString *)name;
|
||||
|
||||
@property (nonatomic, readonly) NSString *conversationColorName;
|
||||
@property (nonatomic, readonly) ConversationColorName conversationColorName;
|
||||
|
||||
- (void)updateConversationColorName:(NSString *)colorName transaction:(YapDatabaseReadWriteTransaction *)transaction;
|
||||
+ (NSString *)stableConversationColorNameForString:(NSString *)colorSeed;
|
||||
- (void)updateConversationColorName:(ConversationColorName)colorName
|
||||
transaction:(YapDatabaseReadWriteTransaction *)transaction;
|
||||
+ (ConversationColorName)stableColorNameForNewConversationWithString:(NSString *)colorSeed;
|
||||
@property (class, nonatomic, readonly) NSArray<ConversationColorName> *conversationColorNames;
|
||||
|
||||
/**
|
||||
* @returns
|
||||
|
|
|
@ -19,6 +19,21 @@
|
|||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
ConversationColorName const ConversationColorNameCrimson = @"red";
|
||||
ConversationColorName const ConversationColorNameVermilion = @"orange";
|
||||
ConversationColorName const ConversationColorNameBurlap = @"brown";
|
||||
ConversationColorName const ConversationColorNameForest = @"green";
|
||||
ConversationColorName const ConversationColorNameWintergreen = @"light_green";
|
||||
ConversationColorName const ConversationColorNameTeal = @"teal";
|
||||
ConversationColorName const ConversationColorNameBlue = @"blue";
|
||||
ConversationColorName const ConversationColorNameIndigo = @"indigo";
|
||||
ConversationColorName const ConversationColorNameViolet = @"purple";
|
||||
ConversationColorName const ConversationColorNamePlum = @"pink";
|
||||
ConversationColorName const ConversationColorNameTaupe = @"blue_grey";
|
||||
ConversationColorName const ConversationColorNameSteel = @"grey";
|
||||
|
||||
ConversationColorName const kConversationColorName_Default = ConversationColorNameSteel;
|
||||
|
||||
@interface TSThread ()
|
||||
|
||||
@property (nonatomic) NSDate *creationDate;
|
||||
|
@ -52,9 +67,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
NSString *_Nullable contactId = self.contactIdentifier;
|
||||
if (contactId.length > 0) {
|
||||
// To be consistent with colors synced to desktop
|
||||
_conversationColorName = [self.class stableConversationColorNameForString:contactId];
|
||||
_conversationColorName = [self.class stableColorNameForNewConversationWithString:contactId];
|
||||
} else {
|
||||
_conversationColorName = [self.class stableConversationColorNameForString:self.uniqueId];
|
||||
_conversationColorName = [self.class stableColorNameForNewConversationWithString:self.uniqueId];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -69,15 +84,35 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
}
|
||||
|
||||
if (_conversationColorName.length == 0) {
|
||||
NSString *_Nullable contactId = self.contactIdentifier;
|
||||
if (contactId.length > 0) {
|
||||
// To be consistent with colors synced to desktop
|
||||
_conversationColorName = [self.class stableConversationColorNameForString:contactId];
|
||||
} else {
|
||||
_conversationColorName = [self.class stableConversationColorNameForString:self.uniqueId];
|
||||
NSString *_Nullable colorSeed = self.contactIdentifier;
|
||||
if (colorSeed.length > 0) {
|
||||
// group threads
|
||||
colorSeed = self.uniqueId;
|
||||
}
|
||||
|
||||
// To be consistent with colors synced to desktop
|
||||
ConversationColorName colorName = [self.class stableColorNameForLegacyConversationWithString:colorSeed];
|
||||
OWSAssertDebug(colorName);
|
||||
|
||||
_conversationColorName = colorName;
|
||||
} else if (![[[self class] conversationColorNames] containsObject:_conversationColorName]) {
|
||||
// If we'd persisted a non-mapped color name
|
||||
ConversationColorName _Nullable mappedColorName = self.class.legacyConversationColorMap[_conversationColorName];
|
||||
|
||||
if (!mappedColorName) {
|
||||
// We previously used the wrong values for the new colors, it's possible we persited them.
|
||||
// map them to the proper value
|
||||
mappedColorName = self.class.legacyFixupConversationColorMap[_conversationColorName];
|
||||
}
|
||||
|
||||
if (!mappedColorName) {
|
||||
OWSFailDebug(@"failure: unexpected unmappable conversationColorName: %@", _conversationColorName);
|
||||
mappedColorName = kConversationColorName_Default;
|
||||
}
|
||||
|
||||
_conversationColorName = mappedColorName;
|
||||
}
|
||||
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -441,14 +476,37 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
#pragma mark - Conversation Color
|
||||
|
||||
+ (NSString *)randomConversationColorName
|
||||
- (ConversationColorName)conversationColorName
|
||||
{
|
||||
NSUInteger count = self.conversationColorNames.count;
|
||||
NSUInteger index = arc4random_uniform((uint32_t)count);
|
||||
return [self.conversationColorNames objectAtIndex:index];
|
||||
OWSAssertDebug([self.class.conversationColorNames containsObject:_conversationColorName]);
|
||||
return _conversationColorName;
|
||||
}
|
||||
|
||||
+ (NSString *)stableConversationColorNameForString:(NSString *)colorSeed
|
||||
+ (NSArray<ConversationColorName> *)colorNamesForNewConversation
|
||||
{
|
||||
// all conversation colors except "steel"
|
||||
return @[
|
||||
ConversationColorNameCrimson,
|
||||
ConversationColorNameVermilion,
|
||||
ConversationColorNameBurlap,
|
||||
ConversationColorNameForest,
|
||||
ConversationColorNameWintergreen,
|
||||
ConversationColorNameTeal,
|
||||
ConversationColorNameBlue,
|
||||
ConversationColorNameIndigo,
|
||||
ConversationColorNameViolet,
|
||||
ConversationColorNamePlum,
|
||||
ConversationColorNameTaupe,
|
||||
];
|
||||
}
|
||||
|
||||
+ (NSArray<ConversationColorName> *)conversationColorNames
|
||||
{
|
||||
return [self.colorNamesForNewConversation arrayByAddingObject:kConversationColorName_Default];
|
||||
}
|
||||
|
||||
+ (ConversationColorName)stableConversationColorNameForString:(NSString *)colorSeed
|
||||
colorNames:(NSArray<ConversationColorName> *)colorNames
|
||||
{
|
||||
NSData *contactData = [colorSeed dataUsingEncoding:NSUTF8StringEncoding];
|
||||
|
||||
|
@ -461,11 +519,32 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
OWSFailDebug(@"could not compute hash for color seed.");
|
||||
}
|
||||
|
||||
NSUInteger index = (hash % [self.conversationColorNames count]);
|
||||
return [self.conversationColorNames objectAtIndex:index];
|
||||
NSUInteger index = (hash % colorNames.count);
|
||||
return [colorNames objectAtIndex:index];
|
||||
}
|
||||
|
||||
+ (NSArray<NSString *> *)conversationColorNames
|
||||
+ (ConversationColorName)stableColorNameForNewConversationWithString:(NSString *)colorSeed
|
||||
{
|
||||
return [self stableConversationColorNameForString:colorSeed colorNames:self.colorNamesForNewConversation];
|
||||
}
|
||||
|
||||
// After introducing new conversation colors, we want to try to maintain as close as possible to the old color for an
|
||||
// existing thread.
|
||||
+ (ConversationColorName)stableColorNameForLegacyConversationWithString:(NSString *)colorSeed
|
||||
{
|
||||
NSString *legacyColorName =
|
||||
[self stableConversationColorNameForString:colorSeed colorNames:self.legacyConversationColorNames];
|
||||
ConversationColorName _Nullable mappedColorName = self.class.legacyConversationColorMap[legacyColorName];
|
||||
|
||||
if (!mappedColorName) {
|
||||
OWSFailDebug(@"failure: unexpected unmappable legacyColorName: %@", legacyColorName);
|
||||
return kConversationColorName_Default;
|
||||
}
|
||||
|
||||
return mappedColorName;
|
||||
}
|
||||
|
||||
+ (NSArray<NSString *> *)legacyConversationColorNames
|
||||
{
|
||||
return @[
|
||||
@"red",
|
||||
|
@ -481,7 +560,64 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
];
|
||||
}
|
||||
|
||||
- (void)updateConversationColorName:(NSString *)colorName transaction:(YapDatabaseReadWriteTransaction *)transaction
|
||||
+ (NSDictionary<NSString *, ConversationColorName> *)legacyConversationColorMap
|
||||
{
|
||||
static NSDictionary<NSString *, ConversationColorName> *colorMap;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
colorMap = @{
|
||||
@"red" : ConversationColorNameCrimson,
|
||||
@"deep_orange" : ConversationColorNameCrimson,
|
||||
@"orange" : ConversationColorNameVermilion,
|
||||
@"amber" : ConversationColorNameVermilion,
|
||||
@"brown" : ConversationColorNameBurlap,
|
||||
@"yellow" : ConversationColorNameBurlap,
|
||||
@"pink" : ConversationColorNamePlum,
|
||||
@"purple" : ConversationColorNameViolet,
|
||||
@"deep_purple" : ConversationColorNameViolet,
|
||||
@"indigo" : ConversationColorNameIndigo,
|
||||
@"blue" : ConversationColorNameBlue,
|
||||
@"light_blue" : ConversationColorNameBlue,
|
||||
@"cyan" : ConversationColorNameTeal,
|
||||
@"teal" : ConversationColorNameTeal,
|
||||
@"green" : ConversationColorNameForest,
|
||||
@"light_green" : ConversationColorNameWintergreen,
|
||||
@"lime" : ConversationColorNameWintergreen,
|
||||
@"blue_grey" : ConversationColorNameTaupe,
|
||||
@"grey" : ConversationColorNameSteel,
|
||||
};
|
||||
});
|
||||
|
||||
return colorMap;
|
||||
}
|
||||
|
||||
// we temporarily used the wrong value for the new color names.
|
||||
+ (NSDictionary<NSString *, ConversationColorName> *)legacyFixupConversationColorMap
|
||||
{
|
||||
static NSDictionary<NSString *, ConversationColorName> *colorMap;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
colorMap = @{
|
||||
@"crimson" : ConversationColorNameCrimson,
|
||||
@"vermilion" : ConversationColorNameVermilion,
|
||||
@"burlap" : ConversationColorNameBurlap,
|
||||
@"forest" : ConversationColorNameForest,
|
||||
@"wintergreen" : ConversationColorNameWintergreen,
|
||||
@"teal" : ConversationColorNameTeal,
|
||||
@"blue" : ConversationColorNameBlue,
|
||||
@"indigo" : ConversationColorNameIndigo,
|
||||
@"violet" : ConversationColorNameViolet,
|
||||
@"plum" : ConversationColorNamePlum,
|
||||
@"taupe" : ConversationColorNameTaupe,
|
||||
@"steel" : ConversationColorNameSteel,
|
||||
};
|
||||
});
|
||||
|
||||
return colorMap;
|
||||
}
|
||||
|
||||
- (void)updateConversationColorName:(ConversationColorName)colorName
|
||||
transaction:(YapDatabaseReadWriteTransaction *)transaction
|
||||
{
|
||||
[self applyChangeToSelfAndLatestCopy:transaction
|
||||
changeBlock:^(TSThread *thread) {
|
||||
|
|
|
@ -101,7 +101,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
if (contactThread) {
|
||||
return contactThread.conversationColorName;
|
||||
}
|
||||
return [self stableConversationColorNameForString:recipientId];
|
||||
return [self stableColorNameForNewConversationWithString:recipientId];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -44,7 +44,7 @@ extern NSString *const TSGroupThread_NotificationKey_UniqueId;
|
|||
|
||||
- (void)fireAvatarChangedNotification;
|
||||
|
||||
+ (NSString *)defaultConversationColorNameForGroupId:(NSData *)groupId;
|
||||
+ (ConversationColorName)defaultConversationColorNameForGroupId:(NSData *)groupId;
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -242,11 +242,11 @@ NSString *const TSGroupThread_NotificationKey_UniqueId = @"TSGroupThread_Notific
|
|||
userInfo:userInfo];
|
||||
}
|
||||
|
||||
+ (NSString *)defaultConversationColorNameForGroupId:(NSData *)groupId
|
||||
+ (ConversationColorName)defaultConversationColorNameForGroupId:(NSData *)groupId
|
||||
{
|
||||
OWSAssertDebug(groupId.length > 0);
|
||||
|
||||
return [self.class stableConversationColorNameForString:[self threadIdFromGroupId:groupId]];
|
||||
return [self.class stableColorNameForNewConversationWithString:[self threadIdFromGroupId:groupId]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -312,37 +312,21 @@ static const CGFloat kAttachmentDownloadProgressTheta = 0.001f;
|
|||
const long kMaxDownloadSize = 150 * 1024 * 1024;
|
||||
__block BOOL hasCheckedContentLength = NO;
|
||||
|
||||
NSString *tempSubdirPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSUUID UUID].UUIDString];
|
||||
NSString *tempFilePath1 = [tempSubdirPath stringByAppendingPathComponent:[NSUUID UUID].UUIDString];
|
||||
NSString *tempFilePath2 = [tempSubdirPath stringByAppendingPathComponent:[NSUUID UUID].UUIDString];
|
||||
NSURL *tempFileURL1 = [NSURL fileURLWithPath:tempFilePath1];
|
||||
NSString *tempFilePath =
|
||||
[OWSTemporaryDirectoryAccessibleAfterFirstAuth() stringByAppendingPathComponent:[NSUUID UUID].UUIDString];
|
||||
NSURL *tempFileURL = [NSURL fileURLWithPath:tempFilePath];
|
||||
|
||||
__block NSURLSessionDownloadTask *task;
|
||||
void (^failureHandler)(NSError *) = ^(NSError *error) {
|
||||
OWSLogError(@"Failed to download attachment with error: %@", error.description);
|
||||
|
||||
if (![OWSFileSystem deleteFileIfExists:tempFilePath1]) {
|
||||
if (![OWSFileSystem deleteFileIfExists:tempFilePath]) {
|
||||
OWSLogError(@"Could not delete temporary file #1.");
|
||||
}
|
||||
if (![OWSFileSystem deleteFileIfExists:tempFilePath2]) {
|
||||
OWSLogError(@"Could not delete temporary file #2.");
|
||||
}
|
||||
|
||||
failureHandlerParam(task, error);
|
||||
};
|
||||
|
||||
// downloadTaskWithRequest's destination callback needs to
|
||||
// return a path to a non-existent file path, and we can't apply
|
||||
// file protection to a non-existent file path.
|
||||
// By creating the temporary file inside a temporary subdirectory,
|
||||
// we can apply file protection to that subdirectory.
|
||||
if (![OWSFileSystem ensureDirectoryExists:tempSubdirPath]) {
|
||||
OWSLogError(@"Could not create temporary subdirectory for attachment download.");
|
||||
NSError *error = OWSErrorWithCodeDescription(
|
||||
OWSErrorCodeInvalidMessage, NSLocalizedString(@"ERROR_MESSAGE_INVALID_MESSAGE", @""));
|
||||
return failureHandler(error);
|
||||
}
|
||||
|
||||
NSString *method = @"GET";
|
||||
NSError *serializationError = nil;
|
||||
NSMutableURLRequest *request = [manager.requestSerializer requestWithMethod:method
|
||||
|
@ -428,29 +412,21 @@ static const CGFloat kAttachmentDownloadProgressTheta = 0.001f;
|
|||
hasCheckedContentLength = YES;
|
||||
}
|
||||
destination:^(NSURL *targetPath, NSURLResponse *response) {
|
||||
return tempFileURL1;
|
||||
return tempFileURL;
|
||||
}
|
||||
completionHandler:^(NSURLResponse *response, NSURL *_Nullable filePath, NSError *_Nullable error) {
|
||||
if (error) {
|
||||
failureHandler(error);
|
||||
return;
|
||||
}
|
||||
if (![tempFileURL1 isEqual:filePath]) {
|
||||
if (![tempFileURL isEqual:filePath]) {
|
||||
OWSLogError(@"Unexpected temp file path.");
|
||||
NSError *error = OWSErrorWithCodeDescription(
|
||||
OWSErrorCodeInvalidMessage, NSLocalizedString(@"ERROR_MESSAGE_INVALID_MESSAGE", @""));
|
||||
return failureHandler(error);
|
||||
}
|
||||
|
||||
// Move the temporary file to a second temporary location
|
||||
// to ensure that it isn't deleted before we're done with it.
|
||||
NSError *moveError;
|
||||
if (![NSFileManager.defaultManager moveItemAtPath:tempFilePath1 toPath:tempFilePath2 error:&moveError]) {
|
||||
OWSLogError(@"Could not move temporary file.");
|
||||
return failureHandler(moveError);
|
||||
}
|
||||
|
||||
NSNumber *_Nullable fileSize = [OWSFileSystem fileSizeOfPath:tempFilePath2];
|
||||
NSNumber *_Nullable fileSize = [OWSFileSystem fileSizeOfPath:tempFilePath];
|
||||
if (!fileSize) {
|
||||
OWSLogError(@"Could not determine attachment file size.");
|
||||
NSError *error = OWSErrorWithCodeDescription(
|
||||
|
@ -463,7 +439,7 @@ static const CGFloat kAttachmentDownloadProgressTheta = 0.001f;
|
|||
OWSErrorCodeInvalidMessage, NSLocalizedString(@"ERROR_MESSAGE_INVALID_MESSAGE", @""));
|
||||
return failureHandler(error);
|
||||
}
|
||||
successHandler(tempFilePath2);
|
||||
successHandler(tempFilePath);
|
||||
}];
|
||||
[task resume];
|
||||
}
|
||||
|
|
|
@ -132,7 +132,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
conversationColorName = contactThread.conversationColorName;
|
||||
disappearingMessagesConfiguration = [contactThread disappearingMessagesConfigurationWithTransaction:transaction];
|
||||
} else {
|
||||
conversationColorName = [TSThread stableConversationColorNameForString:signalAccount.recipientId];
|
||||
conversationColorName = [TSThread stableColorNameForNewConversationWithString:signalAccount.recipientId];
|
||||
}
|
||||
|
||||
[contactsOutputStream writeSignalAccount:signalAccount
|
||||
|
|
|
@ -6,7 +6,15 @@
|
|||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
extern NSString *const TSNetworkManagerDomain;
|
||||
extern NSErrorDomain const TSNetworkManagerErrorDomain;
|
||||
typedef NS_ERROR_ENUM(TSNetworkManagerErrorDomain, TSNetworkManagerError){
|
||||
// It's a shame to use 0 as an enum value for anything other than something like default or unknown, because it's
|
||||
// indistinguishable from "not set" in Objc.
|
||||
// However this value was existing behavior for connectivity errors, and since we might be using this in other
|
||||
// places I didn't want to change it out of hand
|
||||
TSNetworkManagerErrorFailedConnection = 0,
|
||||
// Other TSNetworkManagerError's use HTTP status codes (e.g. 404, etc)
|
||||
};
|
||||
|
||||
BOOL IsNSErrorNetworkFailure(NSError *_Nullable error);
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#import "AppContext.h"
|
||||
#import "NSError+messageSending.h"
|
||||
#import "NSURLSessionDataTask+StatusCode.h"
|
||||
#import "OWSError.h"
|
||||
#import "OWSSignalService.h"
|
||||
#import "SSKEnvironment.h"
|
||||
#import "TSAccountManager.h"
|
||||
|
@ -14,11 +15,12 @@
|
|||
#import <SignalCoreKit/NSData+OWS.h>
|
||||
#import <SignalServiceKit/SignalServiceKit-Swift.h>
|
||||
|
||||
NSString *const TSNetworkManagerDomain = @"org.whispersystems.signal.networkManager";
|
||||
NSErrorDomain const TSNetworkManagerErrorDomain = @"SignalServiceKit.TSNetworkManager";
|
||||
|
||||
BOOL IsNSErrorNetworkFailure(NSError *_Nullable error)
|
||||
{
|
||||
return ([error.domain isEqualToString:TSNetworkManagerDomain] && error.code == 0);
|
||||
return ([error.domain isEqualToString:TSNetworkManagerErrorDomain]
|
||||
&& error.code == TSNetworkManagerErrorFailedConnection);
|
||||
}
|
||||
|
||||
@interface TSNetworkManager ()
|
||||
|
@ -205,16 +207,17 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
|
|||
|
||||
switch (statusCode) {
|
||||
case 0: {
|
||||
error.isRetryable = YES;
|
||||
|
||||
OWSLogWarn(@"The network request failed because of a connectivity error: %@", request);
|
||||
failureBlock(task,
|
||||
[self errorWithHTTPCode:statusCode
|
||||
NSError *connectivityError =
|
||||
[self errorWithHTTPCode:TSNetworkManagerErrorFailedConnection
|
||||
description:NSLocalizedString(@"ERROR_DESCRIPTION_NO_INTERNET",
|
||||
@"Generic error used whenever Signal can't contact the server")
|
||||
failureReason:networkError.localizedFailureReason
|
||||
recoverySuggestion:NSLocalizedString(@"NETWORK_ERROR_RECOVERY", nil)
|
||||
fallbackError:networkError]);
|
||||
fallbackError:networkError];
|
||||
connectivityError.isRetryable = YES;
|
||||
|
||||
OWSLogWarn(@"The network request failed because of a connectivity error: %@", request);
|
||||
failureBlock(task, connectivityError);
|
||||
break;
|
||||
}
|
||||
case 400: {
|
||||
|
@ -314,7 +317,10 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
|
|||
description:(NSString *)description
|
||||
failureReason:(NSString *)failureReason
|
||||
recoverySuggestion:(NSString *)recoverySuggestion
|
||||
fallbackError:(NSError *_Nonnull)fallbackError {
|
||||
fallbackError:(NSError *)fallbackError
|
||||
{
|
||||
OWSAssertDebug(fallbackError);
|
||||
|
||||
if (!description) {
|
||||
description = fallbackError.localizedDescription;
|
||||
}
|
||||
|
@ -343,7 +349,9 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
|
|||
[dict setObject:failureData forKey:AFNetworkingOperationFailingURLResponseDataErrorKey];
|
||||
}
|
||||
|
||||
return [NSError errorWithDomain:TSNetworkManagerDomain code:code userInfo:dict];
|
||||
dict[NSUnderlyingErrorKey] = fallbackError;
|
||||
|
||||
return [NSError errorWithDomain:TSNetworkManagerErrorDomain code:code userInfo:dict];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|